SSL/TLSセッション確立手順
スポンサードリンク
以下にセッションが確立されるまでの手順について示す。
セッション確立までの処理は、SSL/TLSのプロトコル構造で紹介したHandshakeプロトコルが行う。
※クライアント認証は行わないものとする。
@ ClientHello
クライアント(ブラウザなど)が利用可能な暗号化/圧縮アルゴリズムの一覧をサーバに送信する。
A ServerHello
クライアントから送られてきた一覧から暗号化/圧縮アルゴリズムを決定しクライアントに通知する。
B Certificate
サーバのディジタル証明書をルートCAまでの証明書リストを含めてクライアントに送信する。
→ディジタル証明書の詳細を見る
C ServerKeyExchange
Bでディジタル証明書を送信しない場合、一時的にRSA鍵かDiffie-Hellman鍵を生成してクライアントに送信する。
D ServerHelloDone
サーバ側の一連の処理の終了をクライアントに通知する。
E ClientKeyExchange
セッション鍵の元となる情報(プリマスターシークレット)をクライアントが生成し、ディジタル証明書に含まれるサーバの公開鍵で暗号化しサーバへ送信する。
→マスターシークレットの詳細を見る
F ChangeChiperSpec
今までの情報から、Handshakeプロトコルがマスターシークレットを生成し、RecordプロトコルがHandshakeプロトコルから受け取ったマスターシークレットからMAC鍵、暗号鍵、初期ベクトル(IV)を生成し、Change
Chipher Specプロトコルが暗号化アルゴリズムの準備完了をサーバに通知する。
G Finished
鍵交換と認証処理の完了をサーバに通知する。
H ChangeChiperSpec
サーバが、クライアントから受信したプリプライマリーシークレットを自身の秘密鍵で複合化し、クライアント同様にマスターシークレット生成した後、MAC鍵、暗号鍵、初期ベクトル(IV)を生成する。最後にChangeChiperSpecが暗号化準備完了をクライアントに通知する。
I Finished
鍵交換と認証処理が成功したことをクライアントに通知する。
> SSL/TLSのプロトコル構造
> SSL-VPN
|
|
|