自分なりに整理する - SSLの仕組みと証明書について -
なりすましの防止
(開始:クライアント)
使用できる暗号化仕様をクライアントで発生させた乱数(C)と一緒にサーバーへ送信
↓ ・・・暗号化/圧縮仕様
(応答:サーバー)
暗号化仕様を決定しサーバーで発生させた乱数(S)とともに応答し、続けてサーバー証明書を送信する
↓ ・・・暗号化/圧縮仕様
↓ ・・・サーバー証明書
(終了:クライアント)
受け取ったサーバー証明書に含まれているディジタル署名を認証局の公開鍵で複合し、メッセージダイジェストを計算する
またサーバー証明書のメッセージダイジェストを計算した結果が上と一致すると、正当なサーバー証明書であることを認証局が証明したことになる
最後にサーバー証明書を確認して、サーバー公開鍵を取得する
暗号化通信の準備
(開始:クライアント)
プリマスタシークレット(M)を作成し、サーバーの公開鍵で暗号化して送信する
乱数(C)、乱数(S)、プリマスタシークレット(M)をもとにマスターシークレット(S)を作成し、それをもとにクライアント送信用の共通鍵とサーバー送信用の共通鍵を生成する
↓ ・・・暗号化したプリマスタシークレット
(応答:サーバー)
乱数(C)、乱数(S)、プリマスタシークレット(M)をもとにマスターシークレット(S)を作成し、それをもとにクライアント送信用の共通鍵とサーバー送信用の共通鍵を生成する
暗号化通信の送信
(開始:クライアント)
送信内容をクライアント共通鍵で暗号化して送信
↓ ・・・クライアント共通鍵で暗号化した電文
(応答:サーバー)
受信内容をクライアント共通鍵で複合化
暗号化通信の受信
(開始:サーバー)
送信内容をサーバー送信用共通鍵で暗号化して送信
↓ ・・・サーバー送信用共通鍵で暗号化した電文
(応答:クライアント)
受信内容をサーバー送信用共通鍵で複合化
まとめ
忘れてきたので思い出したいなと思いまとめました。