カテゴリー 暗号・セキュリティ

暗号化と認証⑩ ― 証明書の検証と、C#・IPsecから見る接続

⑧ではOpenSSLで接続を観察し、前回⑨では鍵の作り分けと証明書・署名による認証を追いました。今回は、証明書の名前や信頼の起点が違うと、どこで接続が止まるのかを確かめます。続いて、C#から見えるTLSの境目と、以前のIPsecのログに並んでいた方式を追います。道具やプロトコルが変わっても、方式を合わせ、秘密を共有し、相手を確かめる仕事を分けて考えられます。

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

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

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

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

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

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