İd_rsa.pub ve id_dsa.pub arasındaki fark nedir?


Yanıtlar:


64

id_rsa.pubve id_dsa.pubkamu anahtarları id_rsave id_dsa.

Eğer ilgili olarak soruyorsan SSH, id_rsabir olan RSA , oysa anahtar ve SSH protokolü 1 veya 2 ile kullanılabilir id_dsabir olan DSA anahtar ve sadece 2. SSH protokolü ile kullanılabilen ikisi de çok güvenli, ancak DSA olarak görünüyor bugünlerde standart (tüm istemcilerinizin / sunucularınızın SSH 2'yi desteklediğini varsayarak)

Güncelleme: Bu yazıldığı için DSA'nın güvenli olmadığı görüldü. Aşağıdaki cevapta daha fazla bilgi mevcuttur.


Buna katılmamalıyım. Bugün (ve daha az bir ölçüde, bunun yayınlandığı 2010'da da), 1024 bit (DSA için mevcut olan en büyük anahtar boyutu) çok zayıf kabul ediliyor. Bu nedenle, RSA daha iyi bir seçenektir. SSH v1'e gelince: Bunu on yıl önce güvenli bulmamıştım.
Adam Katz

3
@AdamKatz DSA, 2009'dan beri 2048 bit ve 3072 bit anahtarları desteklemektedir ( FIPS 186-3 uyarınca ). Çoğu ssh istemcisi / sunucusu, OpenSSH ve PuTTY dahil olmak üzere daha büyük DSA anahtarlarını destekler. Çoğu anahtar oluşturucu daha büyük DSA anahtarlarını da destekler, ancak OpenSSH'den ssh-keygen hala desteklemez (hem ssh hem de sshd yapsa bile). Linux için, bu blog gönderisinde açıklandığı gibi OpenSSL kullanarak daha büyük DSA anahtarları oluşturabilirsiniz .
Mike Pelley

1
İlginç! Bunu bilmiyordum ve bu kesinlikle ikisi arasındaki alanı dengelemeye yardımcı oluyor (OpenSSH desteğinin olmaması oldukça acı verici olsa da). Yine de, DSA'nın standart olduğunu söyleyemem (şimdi veya 2010'da), oysa RSA kesinlikle öyle (ve Ed25519 gibi eliptik eğri sistemlerine geçiyoruz).
Adam Katz

46

SSH kullanan kamu / özel anahtar çiftleri böylece, id_rsasenin olan RSA (asal sayılar göre) özel anahtar, daha güvenlidir sizin daha id_dsa DSA (üstleri baz) özel anahtar. Özel anahtarlarınızı güvende tutun ve sizin id_rsa.pubve id_dsa.pubgenel anahtarlarınızı geniş bir şekilde paylaşın .

DSA güvenli değil

Bilgisayarınızın rasgele sayı oluşturucusu alt parsa, DSA'nın tahmin edilebilir bir parametresi vardır ve bu, gizli anahtarınızı ortaya çıkarır. ECDSA ( DSA'nın eliptik eğri yükseltmesi) benzer şekilde savunmasızdır . İyi rastgele sayılarla bile, DSA'nın başka güçlü endişeleri vardırPDF (bunlar Diffie-Hellman'da da bulunur ).

OpenSSH, güvenli olmayan 1024 bit anahtarlar ( geçici çözüm ) oluşturur ve artık varsayılan olarak DSA'yı devre dışı bırakır .

Mümkünse Ed25519'u kullanın

Eliptik eğri şifreleme , daha küçük anahtar boyutlarıyla daha fazla karmaşıklık sunar. Ed25519 ( düzlem modelli eliptik eğrilerin karmaşıklığına dayalı olarak ), varsayılan müdahale eksikliği nedeniyle tercih edilen bir uygulamadır (sızdırılan belgeler ABD NSA'nın kripto standartlarını zayıflattığını göstermektedir ).

Ne yazık ki, Ed25519 hala oldukça yenidir ve OpenSSH 6.5 veya GnuPG 2.1 gerektirir ( tam listeye bakın ).

Ed25519 mevcut olmadığında 4096 bit ile RSA kullanın

4096 bitlik RSA anahtar boyutları Ed25519 ile karşılaştırılabilir karmaşıklığa sahip olmalıdır.

Ed25519, RSA'nın DSA ile aynı güç endişelerine karşı savunmasız olabileceği endişesi nedeniyle hala RSA'ya tercih ediliyor, ancak bu istismarın RSA'ya uygulanmasının önemli ölçüde daha zor olması bekleniyor.


2
Tek bir düzeltme: DSA, 2009'dan beri 2048 bit ve 3072 bit anahtarları desteklemektedir ( FIPS 186-3 uyarınca ). Yukarıdaki yorumumda daha fazla bilgi.
Mike Pelley

2
Infosec SE'nin bu soruya daha derinlere inen güzel bir cevabı var . DSA'nın daha büyük anahtar boyutlarında bile artık güvenli olmadığını öne süren bir Black Hat 2013 konuşmasına atıfta bulunuyor .
Adam Katz

2
DSA ile ilgili sorunlar hakkında daha kapsamlı olması için bu yanıtı güncelledim. Şimdi (eşit derecede geçerli) Infosec SE yanıtından daha ayrıntılı. Farenizi bazı bağlantıların üzerine getirdiğinizde daha da fazla ayrıntı var.
Adam Katz

1
Bu gönderi bana çok şey öğretti, çok daha fazla oy gerekiyor.
liljoshu

2

rsa daha güvenli kabul edilir.

Artık değil (Mayıs 2020, on yıl sonra), Julio tarafından bildirildiği gibi OpenSSH 8.2 ile

Gelecekteki kullanımdan kaldırma bildirimi

Artık 1 , SHA-1 karma algoritmasına karşı 50.000 ABD Dolarından daha düşük bir fiyata seçilen ön ek saldırıları gerçekleştirmek mümkündür .
Bu nedenle, yakın gelecekteki bir sürümde varsayılan olarak SHA-1'e bağlı olan "ssh-rsa" genel anahtar imza algoritmasını devre dışı bırakacağız .

(Bkz. " SHA-1 Karmakarışıktır: SHA-1'de İlk Seçilen-Önek Çarpışması ve PGP Güven Webine Uygulama " Leurent, G ve Peyrin, T (2020))

Bu algoritma maalesef daha iyi alternatiflerin varlığına rağmen hala yaygın olarak kullanılmaktadır ve orijinal SSH RFC'ler tarafından belirtilen kalan tek açık anahtar imza algoritmasıdır.

Daha iyi alternatifler şunları içerir:

  • RFC8332 RSA SHA-2 imza algoritmaları rsa-sha2-256 / 512.
    Bu algoritmalar " ssh-rsa" ile aynı anahtar türünü kullanma avantajına sahiptir , ancak güvenli SHA-2 karma algoritmalarını kullanır.
    Bunlar OpenSSH 7.2'den beri desteklenmektedir ve istemci ve sunucu destekliyorsa varsayılan olarak zaten kullanılmaktadır.

  • Ssh-ed25519 imza algoritması.
    OpenSSH'de 6.5 yayımından bu yana desteklenmektedir.

  • RFC5656 ECDSA algoritmaları: ecdsa-sha2-nistp256 / 384/521.
    Bunlar, 5.7 sürümünden beri OpenSSH tarafından desteklenmektedir.

Bir sunucunun ana bilgisayar kimlik doğrulaması için zayıf ssh-rsa genel anahtar algoritmasını kullanıp kullanmadığını kontrol etmek için, ssh-rsaalgoritmayı ssh (1) izin verilenler listesinden kaldırdıktan sonra ona bağlanmayı deneyin :

ssh -oHostKeyAlgorithms=-ssh-rsa user@host

Ana bilgisayar anahtarı doğrulaması başarısız olursa ve desteklenen başka bir ana bilgisayar anahtarı türü yoksa, o ana bilgisayardaki sunucu yazılımı yükseltilmelidir.

OpenSSH'nin gelecekteki bir sürümü UpdateHostKeys, istemcinin otomatik olarak daha iyi algoritmalara geçmesine izin vermek için varsayılan olarak etkinleştirilecektir .
Kullanıcılar bu seçeneği manuel olarak etkinleştirmeyi düşünebilirler .



-8

Bir kullanır DSA ve bir kullanımlarını RSA .


sadece varsayılan isimleri kullandığınızı varsayarak (mantıksal olarak öyle görünüyor), theatrus tam kafasına çarptı.
David Larrabee

Sorunun gerçek kısmına cevap vermediniz: hangisi daha güvenli? Bu en önemli cevap olduğu için olumsuz oylama. Olması gerekmez.
akauppi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.