web-dev-qa-db-ja.com

sshが使用するRSA、DSA、およびECDSAキーの違いは何ですか?

/etc/ssh/ディレクトリには、3つの異なるタイプのsshキーがあることがわかります。

-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のRSA、DSA、およびECDSAキーの違いは何ですか?3つすべてが必要ですか?

12
fouric

それらは、異なる暗号化アルゴリズムを使用して生成されたキーです。 SSHを使用する場合、WiFiのさまざまな暗号化方法(WPA2、WPA、WEPなど)を選択する機能にいくらか似た、さまざまな形式の暗号化を使用することを選択できます。

SSHは公開鍵暗号化を使用します。つまり、SSHサーバーに接続すると、公開鍵がブロードキャストされ、そのサーバーに送信されるトラフィックをさらに暗号化できます。サーバーがRSAを使用するように構成されている場合、RSAアルゴリズムによって生成されたキーになります。

コンピュータは、質問にリストしたキーファイルから独自の公開RSAキーを送り返します。サーバーは、あなたに接続して返信するためにこのキーを必要とします。

接続している特定のSSHサーバーがこれらのアルゴリズムのいずれかを使用するように構成されている可能性があるため、3つのキーはすべてコンピューターに存在します。コンピューターは、サーバーが使用するタイプに一致する一意のキーを送り返します。キーは同じアルゴリズムによってコンピューター上で生成されています。

その他のリソースは次のとおりです。

https://security.stackexchange.com/questions/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

8
Zoasterboy

それらすべてが必要ですか?


RSA、DSA、ECDSA、EdDSA、およびEd25519はすべてデジタル署名に使用されますが、暗号化に使用できるのはRSAのみです。

RSARivest–Shamir–Adleman )は最初の公開鍵暗号システムの1つであり、安全なデータに広く使用されています。トランスミッション。セキュリティは integer factorization に依存しているため、安全なRNGは必要ありません。 DSAと比較して、RSAは署名の検証は高速ですが、生成は低速です。

DSAデジタル署名アルゴリズム )は、デジタル署名用の連邦情報処理標準です。セキュリティは、 離散対数 問題に依存しています。 RSAと比較して、DSAは署名の生成は高速ですが、検証は低速です。セキュリティが壊れる可能性があります 不正な番号ジェネレータが使用されている場合

ECDSA楕円曲線デジタル署名アルゴリズム )は、DSA(デジタル署名アルゴリズム)の楕円曲線実装です。楕円曲線暗号化は、より小さなキーでRSAと比較的同じレベルのセキュリティレベルを提供できます。また、悪いRNGに敏感であるというDSAの欠点も共有しています。

EdDSAEdwards-curve Digital Signature Algorithm )は、 Schnorr signature のバリアントを使用したデジタル署名スキームです。 Twisted Edwards curve に基づいています。署名の作成はEdDSAで決定的であり、そのセキュリティは特定の離散対数問題の難治性に基づいているため、すべての署名に高品質のランダム性を必要とするDSA&ECDSAよりも安全です。

Ed25519EdDSA署名スキーム、ただしSHA-512/256 および Curve25519 ; 安全な楕円曲線 は、DSA、ECDSA、およびEdDSAよりも より優れたセキュリティを提供します であり、さらに優れたパフォーマンスを備えています(人間には認識できません)。


その他の注意事項
RSAキーは最も広く使用されているため、最もよくサポートされているようです。

ECDSA( OpenSSH v5.7 で導入)は、DSAよりも計算上軽いですが、処理能力が非常に低いマシンを使用している場合を除き、違いは目立ちません。

OpenSSH 7. 現在、SSHはデフォルトでDSAキー(ssh-dss)をサポートしていません。 SSH標準(RFC 4251以降)に従って、どこでも機能するために使用されるDSAキー。

Ed25519は oepnSSH 6.5 で導入されました。

5
Enkouyami