SSH'nin kullandığı RSA, DSA ve ECDSA anahtarları arasındaki fark nedir?


13

Benim içinde /etc/ssh/dizine, ben ssh anahtarları üç farklı türde olduğunu üçünü görebilirsiniz:

-rw------- 1 root root    607 Oct  4 22:43 ssh_host_dsa_key
-rw-r--r-- 1 root root    623 Oct  4 22:43 ssh_host_dsa_key.pub
-rw------- 1 root root    241 Oct  4 22:43 ssh_host_ecdsa_key
-rw-r--r-- 1 root root    194 Oct  4 22:43 ssh_host_ecdsa_key.pub
-rw------- 1 root root   1602 Oct  4 22:43 ssh_host_rsa_key
-rw-r--r-- 1 root root    378 Oct  4 22:43 ssh_host_rsa_key.pub

Ssh'ın RSA, DSA ve ECDSA anahtarları arasındaki farklar nelerdir ve üçüne de ihtiyacım var mı?

Yanıtlar:


9

Bunlar farklı şifreleme algoritmaları kullanılarak oluşturulan anahtarlardır. SSH kullanırken, WiFi için farklı şifreleme yöntemleri (WPA2, WPA, WEP, vb.) Seçme yeteneğine benzer şekilde farklı şifreleme biçimleri kullanmayı seçebilirsiniz.

SSH ortak anahtar şifrelemesi kullanır, yani bir SSH sunucusuna bağlandığınızda, o sunucuya gönderilecek daha fazla trafiği şifrelemek için kullanabileceğiniz bir ortak anahtar yayınlar. Sunucu RSA kullanacak şekilde yapılandırılmışsa, RSA algoritması tarafından oluşturulan bir anahtar olacaktır.

Bilgisayarınız, sorunuzda listelediğiniz anahtar dosyasından kendi genel RSA anahtarını geri gönderir. Sunucunun size tekrar bağlanmak ve yanıtlamak için bu anahtara ihtiyacı vardır.

Bağlandığınız belirli bir SSH sunucusu bu algoritmalardan herhangi birini kullanacak şekilde yapılandırılmış olabileceği için üç anahtarın tümü bilgisayarınızda bulunmaktadır. Bilgisayarınız, sunucunuzun kullandığı türle eşleşen benzersiz bir anahtar gönderir; anahtarınız bilgisayarınızda aynı algoritma tarafından oluşturulmuştur.

İşte bazı diğer kaynaklar:

/security/5096/rsa-vs-dsa-for-ssh-authentication-keys

http://en.wikipedia.org/wiki/Public-key_cryptography

http://en.wikipedia.org/wiki/RSA_(algorithm)

http://en.wikipedia.org/wiki/Digital_Signature_Algorithm

http://en.wikipedia.org/wiki/Elliptic_Curve_DSA


2
Kısaca neden üçünün orada olduğunu, bir ssh anahtarının amacını ve anahtarların ortak yönlerini kısaca anlattınız: anahtarlar şifreleme algoritmaları kullanır. RSA, DSA ve ECDSA anahtarları arasındaki fark nedir hakkında konuşmadınız.
Enkouyami

6

Hepsine ihtiyacınız var mı?
Hayır, ssh sunucunuzun yalnızca bir tanesine ihtiyacı vardır ve istemcinin ssh bağlantıları için yalnızca bir tür anahtarı desteklemesi gerekir.


RSA, DSA, ECDSA, EdDSA ve Ed25519 dijital imzalama için kullanılır, ancak şifreleme için yalnızca RSA da kullanılabilir.

RSA ( Rivest – Shamir – Adleman ) ilk ortak anahtarlı şifreleme sistemlerinden biridir ve güvenli veri iletimi için yaygın olarak kullanılmaktadır. Güvenliği tamsayı çarpanlarına ayırmaya dayanır , bu nedenle güvenli bir RNG'ye (Rastgele Sayı Üreteci) asla ihtiyaç duyulmaz. DSA ile karşılaştırıldığında, RSA imza doğrulaması için daha hızlı ancak üretimi için daha yavaştır.

DSA ( Dijital İmza Algoritması ), dijital imzalar için bir Federal Bilgi İşleme Standardıdır. Güvenliği ayrı bir logaritmik soruna dayanır . RSA ile karşılaştırıldığında, DSA imza üretimi için daha hızlı ancak doğrulama için daha yavaştır. Kötü sayı üreteçleri kullanılırsa güvenlik bozulabilir .

ECDSA ( Eliptik Eğri Dijital İmza Algoritması ) DSA'nın ( Dijital İmza Algoritması ) Eliptik Eğri uygulamasıdır. Eliptik eğri şifrelemesi, daha küçük bir anahtarla RSA ile nispeten aynı güvenlik seviyesini sağlayabilir. Ayrıca DSA'nın kötü RNG'lere duyarlı olmasının dezavantajını da paylaşmaktadır.

EdDSA ( Edwards-eğrisi Dijital İmza Algoritması ) Twisted Edwards eğrilerine dayanan bir Schnorr imzası varyantı kullanan bir dijital imza şemasıdır . İmza oluşturma EdDSA'da belirleyicidir ve güvenliği belirli ayrık logaritma sorunlarının sürdürülemezliğine dayanmaktadır, bu nedenle her imza için yüksek kaliteli rasgelelik gerektiren DSA ve ECDSA'dan daha güvenlidir.

Ed25519 olduğu EdDSA imza şeması, ancak kullanılarak SHA-512/256 ve Curve25519 ; Bir var güvenli eliptik eğri olduğunu teklifler daha iyi güvenlik DSA, ECDSA, & EdDSA daha artı iyi performans (insanca belli olmaz) sahiptir.


Diğer notlar
RSA anahtarları en yaygın kullanılanıdır ve bu nedenle en iyi desteklenen gibi görünmektedir.

ECDSA, ( OpenSSH v5.7'de tanıtıldı ), DSA'dan hesaplamaya göre daha hafiftir, ancak çok düşük işleme gücüne sahip bir makineniz olmadığı sürece fark göze çarpmaz .

İtibariyle OpenSSH 7.0 , SSH artık varsayılan olarak DSA tuşları (ssh-dss) destekler. SSH standardına göre her yerde çalışmak için kullanılan bir DSA anahtarı (RFC 4251 ve sonraki sürümler).

Ed25519, openSSH 6.5'te tanıtıldı .


1
Bu EdDSA veya ECDSA mı?
muru

@muru Bu ECDSA. Cevabı her ikisiyle de bilgi ile güncelleyeceğim ve bağlantıyı düzelteceğim.
Enkouyami

Bulamadığım şey, EdDSA'nın OpenSSH'de tanıtılmasıydı.
Enkouyami

Bir kuantum bilgisayarı hepsini kırabilir mi?
Kjeld Flarup

@KjeldFlarup, Evet; security.stackexchange.com/questions/211587/… adresindeki cevaplara ve yorumlara dayanarak , bir kuantum bilgisayarı hepsini kırabilir.
Enkouyami
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.