ページの先頭です
前述のように推奨される鍵交換の方法は、RSAから使い捨てDiffie Hellman系に変わりました。理由は、RSAが持たない前方秘匿性(forward secrecy)を使い捨てDiffie Hellman系が持つからです。前方秘匿性とは、将来に渡ってデータの秘匿性が守られることです。
鍵交換にRSAを用いると、前方秘匿性がない理由を考えましょう。クライアントがサーバにTLSで接続すると、サーバはクライアントに証明書を送ります。証明書とは、認証局の署名が付いたサーバの公開鍵のことです。クライアントは、サーバと共有すべき秘密を生成し、サーバのRSA公開鍵で暗号化してサーバに送ります。この暗号文を復号できるのは、RSA秘密鍵をもっているサーバのみです。これで、クライアントとサーバは秘密が共有できましたので、この秘密から生成される鍵を使い、共通鍵暗号で通信路を保護します。
この時点では、この暗号路は安全です。第三者が中身を盗聴することはほとんど不可能です。しかし、次のようなことが現実に起こると、盗聴されてしまいます。
ある広域監視が、この暗号路を流れるデータをすべて保存しています。そして、サーバの入れ替えに伴い、サーバを破棄する際に誤ってディスクの内容を消去しませんでした。広域監視がこのディスクを手に入れれば、秘密鍵が取り出せるので、保存していた暗号路のデータを順に復号できます。
一方、使い捨てDiffie Hellman系では、クライアントとサーバが、お互いに使い捨ての公開鍵と秘密鍵を生成します。これらの秘密鍵はディスクに保存されることはないので、前述のようなことは起こりません。使い捨てDiffie Hellman系では、オリジナルのDHE(DiffieHellman, Ephemeral)よりも楕円暗号で実現したECDHE(RFC4492)の方が普及しそうです。その理由は、次のとおりです。
前方秘匿性については、「IIR Vol.22、1.4.2 Forward Secrecy」も参考にしてください。
ページの終わりです