本文へスキップ
ecdsa.com

ECDHE(一時的な楕円曲線ディフィー・ヘルマン)

ハンドシェイクごとに新しい鍵ペアを使う楕円曲線ディフィー・ヘルマンで、TLS に前方秘匿性をもたらす鍵交換です。TLS 1.3 では x25519、secp256r1 などのグループ上で実行されます。
別表記ECDHEephemeral ECDHECDHE key exchange

双方は接続ごとに新しい秘密スカラーを生成し、公開値(X25519 では 32 バイト、非圧縮形式の P-256 では 65 バイト)を交換して共有秘密を導出したあと、スカラーを破棄します。TLS 1.2 では ECDHE が暗号スイート名(TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)に現れ、サーバーは自身のパラメーターに署名します。TLS 1.3 では、PSK を使わないすべてのハンドシェイクで ECDHE かハイブリッド方式が使われます。

実装によっては、性能のために「一時鍵」をしばらく使い回すことがあります。これは前方秘匿性を弱め、点を検証していない場合は無効曲線攻撃を招きます。Apple M4 Max の 1 コアで、OpenSSL 3.6.5 は 1 秒あたり X25519 で約 52,000 回、P-256 で約 40,000 回の演算を行うため、接続ごとに本当に新しい鍵を使ってもコストはわずかです。

規格と参考文献

すべての用語