暗号化と認証⑨ ― 共有秘密から鍵を作り、証明書と署名で相手を確かめる

前回⑧では、OpenSSLで実際の接続を見ました。ブラウザー側のClientHelloにサーバーがServerHelloで返答し、その後に証明書や署名、Finishedという確認のメッセージが続きました。今回は、その順序の意味を掘り下げます。共有秘密から用途と方向ごとの鍵を作る理由と、証明書・署名で接続相手を確かめる手順を追います。

暗号化と認証⑧ ― OpenSSLで、TLSの接続と鍵交換を追いかける

⑥では古典的なSSLのRSA鍵輸送を、⑦ではTLSの歴史と、使い捨ての鍵で共有秘密を作る仕組みを追いました。今回は、そのやり取りを実際の接続から見てみます。自宅ラボの検証用サーバーへOpenSSLで接続し、メッセージの名前と順序、選ばれた方式を確かめます。同じRSA証明書を使い、TLS 1.2のRSA鍵輸送とECDHEの違いも比べます。

暗号化と認証⑦ ― SSL・TLSの歴史と、使い捨ての鍵共有

⑥では、公開鍵で秘密の材料を送り、その後は共通鍵で通信する、古典的なSSLの説明を追いました。ところが、現在のTLSでは、そのままの手順は使われていません。今回は、SSL・TLSが何を改善してきたのかを整理します。DH方式の二つの軸と、複数の方式が長く併存してきた歴史を見た上で、使い捨ての鍵から双方が同じ秘密を作る流れへ進みます。