SSLの流れ
- クライアントがサーバに対して接続要求を行う。
- サーバはクライアントに対して公開鍵付きSSLサーバ証明書を送信する。
- クライアントはSSL証明書内の認証局が作成したデジタル署名部(※1)をルート証明書(※2)を用いて検証する(※3)。これによりサーバが認証局公認の信頼できる機関であることを確認することができる。
- クライアントは共通鍵を作成する。
- クライアントはSSL証明書内の公開鍵を用いて作成した共通鍵を暗号化し、サーバへ送信する。
- サーバは秘密鍵を用いて送られてきた情報を復号し共通鍵を取得する。
- それ以降は共通鍵を用いて双方間で暗号化通信を行う。
※1 デジタル署名は認証局が自身の秘密鍵にて証明書のハッシュ値を暗号化したもの。
※2 ルート証明書には認証局の公開鍵が格納されている。
※3 検証では下記のことを確認している。
- デジタル署名がルート証明書内の公開鍵で復号できること。これにより認証局が発行したものであることを確認できる。
- 復号後に得たハッシュ値が実際の証明書のハッシュ値と一致していること。これにより認証局が発行した時点のものと内容に差がないことを確認できる。