web-dev-qa-db-ja.com

id_rsa.pubとid_dsa.pubの違いは何ですか?

一方は他方より安全ですか?

84
Andrew

id_rsa.pubおよびid_dsa.pubは、id_rsaおよびid_dsaの公開鍵です。

SSHに関連して尋ねている場合、id_rsa[〜#〜] rsa [〜#〜] キーであり、SSHプロトコル1または2、id_dsa[〜#〜] dsa [〜#〜] キーであり、SSHプロトコル2でのみ使用できます。 どちらも非常に安全ですが、最近ではDSAが標準のようです(すべてのクライアント/サーバーがSSH 2をサポートしていると仮定)。

更新:これが書かれて以来、DSAは安全でないことが示されています。詳細については、以下の回答をご覧ください。

61
Mike Pelley

[〜#〜] ssh [〜#〜]公開/秘密鍵のペア を使用するため、id_rsa[〜#〜] rsa [〜#〜] 秘密鍵(素数に基づく)、より安全ですあなたのid_dsa[〜#〜] dsa [〜#〜] 秘密鍵(指数に基づく)。秘密鍵を安全に保ち、id_rsa.pubおよびid_dsa.pub広く公開鍵。

DSAは安全ではありません

DSAには guessable parameter があります。コンピューターの乱数ジェネレーターがサブパーである場合、秘密鍵が明らかになります。 [〜#〜] ecdsa [〜#〜] (DSAの楕円曲線のアップグレード) 同様に脆弱です 。良い乱数であっても、DSAには その他の強度に関する懸念がありますPDF (これらは Diffie-Hellmanにもあります )です。

OpenSSHは安全でない1024ビットキーを作成します回避策 そして今 デフォルトでDSAを無効にする

可能な場合はEd25519を使用

楕円曲線暗号 は、より小さいキーサイズで複雑度を高めます。 Ed25519平面モデル化された楕円曲線 の複雑さに基づいて)は、干渉がないと想定されるため、推奨される実装です(リークされた文書は、米国 NSA暗号化標準を弱める )。

残念ながら、Ed25519はまだかなり新しく、 OpenSSH 6.5 または GnuPG 2.1 を必要とします( 全リスト を参照)。

Ed25519が使用できない場合、4096ビットのRSAを使用する

4096ビットのRSAキーサイズには、Ed25519と同等の複雑さが必要です。

Ed25519は、RSAがDSAと同じ強度の問題に対して脆弱である可能性があるため、RSAよりも優先されますが、RSAにそのエクスプロイトを適用することはかなり難しいと予想されます。

41
Adam Katz

はい、rsaはより安全であると考えられています。

2014年10月、OpenSSH 7(Ubuntu 16.04LTSのデフォルト)はDSAのデフォルトサポートを無効にしました。これは、DSAがもはや推奨される方法ではないという強力な兆候と考えてください。

https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html

1
RogerS