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

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



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

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

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

古典的なSSLのRSA鍵輸送を図でたどり、公開鍵と共通鍵の役割、いまのTLSへつながる疑問を整理します。

公開鍵は誰のものなのか。自己署名証明書、CSR、公開CA、ルート証明書・中間証明書・証明書チェーンを、bricklayer.workの実例とOpenSSL・C#で追います。

OpenSSLで実際のRSA秘密鍵を作り、n・e・d・p・qが本物の鍵にも存在することを確認。さらにDP・DQ・InverseQと中国剰余定理の関係を、小さな数字で追います。

前回は、C#でRSAの鍵ペアを作りました。 たったこれだけです。 …

前回は、「暗号化」と「認証」が安全な通信では別の問題である…

HTTPS、VPN、電子証明書、公開鍵、秘密鍵、電子署名。 こうした…

前回は、ECDHを使ってServerとClientが秘密鍵そのものを交換せ…