私はssh.comで、公開鍵と秘密鍵のペアを作成するために使用する必要がある新しいECDSA ssh鍵があることを読みました。それは、楕円曲線に基づいた米国政府の標準です(多分何かふさわしい)。また、使用するビット数が少ないことにも気づいたため、どのようにして安全性を高めることができるのかわかりません。これについて何か聞いたことがありますか?それがより少ないビットを使用する場合、地球上でそれはどのようにより安全になりますか?
ECC鍵はRSA鍵よりもはるかに短くても、攻撃者がこれらの鍵を解読するために必要とするブルートフォースの量に関して、同じ量のセキュリティを提供できます。たとえば、224ビットのECCキーは、2048ビットのRSAキーとほぼ同じ量のブルートフォースをクラックする必要があります。詳細は https://wiki.openssl.org/index.php/Elliptic_Curve_Cryptography を参照してください。
「セキュリティのビット」については、 この比較 のようなものを参照してください。
ECC over Prime Fieldがビットサイズの半分に相当するセキュリティを提供するのはなぜか、RSAとFFDHEはビットあたりのセキュリティがはるかに低いのですが、これは、最もよく知られている攻撃に対するRSAの強さが このように計算される であるためです最もよく知られた攻撃に対するECCの強さは このように計算されます です。
NIST P-256/384/521曲線は安全であり、それらに対するECDHとECDSAアルゴリズムは安全ですが、これらは前世代の曲線とアルゴリズムです。それ以来の進歩は3つの分野にありました:
現在最先端であり、誰もが推奨するECCシステムは、X25519 ECDH(Curve25519 ECDH)およびEd25519デジタル署名/長期鍵です。基本的に誰もが、NIST P-256 ECDHおよびECDSAよりも優れていることに同意します。欠点は、HSMやYubikeysなどのハードウェアトークンではサポートされないことです。
ソフトウェアSSH ホストキー を使用できる場合は、Ed25519 ホストキー を使用する必要があります。
ソフトウェアSSHユーザーキーを使用できる場合は、Ed25519 ユーザーキー を使用する必要があります。
Curve25519 key exchange を使用できる場合は、それを使用する必要があります。
25519のフォールバックはNISP P-256です。 P-256のフォールバックはRSAとFFDHEであり、少なくとも2048ビット(最大4096ビット)で、SHA2とSHA1の両方があります。 SHA1を使用したRSAおよびSHA1を使用したFFDHEは許可されなくなりました。
これらのシステムはすべて、誰かが十分に大きな量子コンピューターを構築した場合に機能しなくなることに注意してください。この問題を解決するために、人々は、敵が量子コンピューターを持っている場合でも安全である「ポスト量子」置換に取り組んでいます。 NISTはPQ Cryptoコンテストの終了、推奨事項と標準の発行、ハードウェア暗号デバイスベンダーによるPQデバイスの販売の開始を待っており、全員がPQアルゴにアップグレードします。
このアップグレードは(NIST時間枠で)差し迫っているため、全員にP-256からCurve25519に、またはRSAからECCにアップグレードするように勧めないことにしました。 NSA基本的に、PQアップグレードの予算を節約すると言われています。
ただし、ハードウェアデバイスに保存されていないSSHキーを使用している人はアップグレードしており、一時的なキーにはハードウェアの安全なストレージが必要ないため、誰もがECDHをアップグレードしています。
Ossified TLSエコシステム(SSHではない)でもX25519 ECDHにアップグレードしましたが、利用可能なHSMがないためEd25519にアップグレードできず、基本的にPQ暗号規格とHSMを待つことにしました。標準/ RFCが利用可能です。誰も使用していません。
長所と短所があります。
「最もよく知られている攻撃を使用して、これを破るのにどれくらい時間がかかるか」を尋ねることにより、アルゴリズムのセキュリティ強度を評価します。 RSAおよび従来の素数ベースのDSAに対する既知の攻撃があり、これはECDSAの最もよく知られているアプローチよりもかなり優れています。したがって、RSSAまたは素数ベースのDSAを使用した場合、ECDSAを使用した場合よりも同等のセキュリティレベルを得るには、はるかに長いキー長が必要です。
ただし、これは実際に使用されているキーの長さで考慮されているため、4096ビットのRSAキーがすぐに壊れると信じる理由はありません。2048ビットでもしばらくはおそらく問題ありません。
残念ながら、基本的なecdsa標準にはいくつかの注意点があります。
ed25519は、「何もない」曲線を使用し、署名アルゴリズムの決定論的バリアントを使用してこれらの問題を修正しますが、「のみ」を選択した曲線は約128ビットのセキュリティを提供します(ほとんどの比較により、RSA2048よりも強力ですが、 RSA4096)。これは2014年からopensshでサポートされているため、128ビットのセキュリティレベルに満足していて、レガシーシステムにログインする必要がない場合は、おそらく悪い選択ではありません。
ed448はed25519と同じアルゴリズムを使用し、曲線は224ビットのセキュリティを提供するため、RSA4096よりも安全です。残念ながらsshにはed448の標準がありますが、主要な実装であるopensshはそれをサポートしていないようです。