ssh-keygen -t
(dsa | ecdsa | ed25519 | rsa | rsa1)を使用して生成できるさまざまな種類のキーを知りたいです。さまざまなタイプがあるので、各タイプは他のタイプに比べて特定の利点を持っていると思います。本当に?これらは何ですか? RSAが基本型なので(問題 39321)、これは最も安全ですか?一つか最大安全ですか?
答え1
「最も安全な」アルゴリズムはありません。アルゴリズムが膨大な数学的革新や数十億年のコンピューティング性能が必要なポイントに達すると、強度比較は意味をなさなくなります。
RSAは一般的なので一般的です。すべての実装がRSAをサポートすることは長い間存在してきたため、すべての実装は相互運用性のためにRSAを提供し続けます。
RSA十分に大きいキーサイズを選択すると安全です。 1024は壊れませんが、数年以内にNSAレベルの攻撃者がクラックする可能性があります。 2048(現在のOpenSSHバージョンのデフォルトサイズssh-keygen
)は中期的に安全です。の。 (RSA1には弱点があり、これ以上使用しないでくださいSSHプロトコルの以前のバージョンです。とにかくほぼ絶滅しました。)
DSA1024ビットキーに制限されています。通常、異なるアルゴリズムのキーサイズを比較することは不可能ですが、DSAとRSAの利点はほぼ同じです。 OpenSSHは1024ビットキーのみをサポートしています。これは、以前のDSA規格(FIPS 186-2)の最大サイズであり、SSHプロトコルが更新されていないためです。 DSA-1024は弱いとみなされ、ある程度使用されなくなりました。オープンSSH 7.0サーバー構成ではデフォルトで無効になっています(SSHプロトコルで使用されている場合はDSAキーと呼ばれますssh-dss
)。
eCDSA同じレベルのセキュリティでは、RSAまたはDSAよりもはるかに高速でキーが小さい最新のアルゴリズムスイートです。 ECDSA サポートは RSA よりもあまり普及していません。その理由の1つは、それがより新しく、部分的に効率的な実装技術が特許を取得していることです。 OpenSSHでサポートされているすべてのキーサイズは安全です。
Ed25519ECDSAの新しい代替手段です。エンドユーザーの場合、ECDSAに比べて大きな利点はありません(実施者の場合、特許侵害のリスクが少ない)。ただし、最新バージョンなので、まだサポートしていないシステムに接続したい場合があります。 ECDSAの場合はそうではありません。
したがって、デフォルトのRSAは問題ありませんが、パフォーマンスの低いコンピュータ(低コストのスマートフォン、ルーターなど)を使用している場合は、サポートされている場合はECDSA(またはEd25519)をお勧めします。
答え2
オンラインにも同様の答えがあります情報セキュリティ Stackexchange サイト。実際の仕事では、誰もが自分の義務を果たす必要があります。
- RSAは普遍的で、どこでも動作するはずです。
- 最近openssh(7.1)ではDSAが無効になっており、毎週乱数ジェネレータを使用するとパフォーマンスが悪くなる可能性があります。
- ECDSAは計算コストが少なくなりますが、今日のコンピュータでは違いを感じません。欠点は、キーの長さが固定されていることです(DSAと同じ)。
- ED25519はあまり一般的ではありませんが、国家機関のバックドアを含めないでください。ソースの質問
- RSA1は以前のSSHv1プロトコルのRSAキーであり、廃止され、最新のサーバーで許可されてはいけません。
答え3
他の回答に基づいて、2019年現在、ED25519は広く使用されサポートされています。私がフォローしているほとんどの専門家はECDSAよりも良い選択肢だと思います(国家セキュリティ機関のバックドアがないと思われるからです)。
要約すると、ECDSAは完全に信頼できず、RSA 1は廃止されました。 DSA は廃止されました。 RSA(v2)は廃止されました。期待していたら残ったのはED25519だけです。
問題のためにED25519が利用できない場合は、より大きなキーサイズ(4096ビット)を持つRSA v2に置き換えてください。
これは非常に良い議論です。
https://security.stackexchange.com/questions/50878/ecdsa-vs-ecdh-vs-ed25519-vs-curve25519
私は特にこの答えが好きです。
https://security.stackexchange.com/a/53387/37051
~からEd25519について、速度上の利点とセキュリティ上の利点があります。最も興味深いセキュリティの利点の1つは、いくつかのサブチャネル攻撃に免疫されることです。
- シークレット配列インデックスはありません。ソフトウェアはRAMの秘密アドレスからデータを読み書きしません。アドレスパターンは完全に予測可能です。その結果、ソフトウェアは、キャッシュタイミング攻撃、ハイパースレッディング攻撃、およびCPUキャッシュを介したアドレス漏洩に依存する他のサブチャネル攻撃から免疫されます。
- 秘密分岐条件はありません。ソフトウェアは秘密データに基づいて条件付き分岐を実行しません。ジャンプパターンは完全に予測可能です。したがって、このソフトウェアは、分岐予測装置を介した情報漏洩に依存する副チャネル攻撃に対して脆弱ではない。
答えからブライアンミントン