SSLについて理解したことのまとめ
SSLについて理解したことを、下記サイトから抜粋してまとめてみます。
図解で学ぶネットワークの基礎:SSL編 | 日経 xTECH(クロステック)
Lesson1
- SSLが持つ機能は二つある。
- 「データの暗号化」
- 「通信相手が信頼できることの確認」(認証)
- SSL(SSLクライアント)は,このWebブラウザとTCPの間に位置する。
- SSLとTLSの動作と機能はほぼ同じである。
Lesson2
- SSLは,「共通鍵暗号」と「公開鍵暗号」という二つの暗号方式を組み合わせて利用している。
- 「共通鍵暗号」の特徴は,暗号化と復号の処理が軽いこと。
- 実際にアプリケーション同士でやりとりするデータの暗号化/復号に利用される。
- 暗号通信で使う鍵の共有(前処理)の処理順番
Lesson3
- SSLは,大きく二つの仕様で成り立っている。
- SSLで運ぶメッセージは「レコード」と呼ばれる
- 一般的なSSLのやりとり
- クライアントは、サーバーに暗号通信で使う暗号方式などを提案する
- サーバーは、提案のあった方式から適切なものを一つ選んで返答する
- サーバーは、クライアントにCertificateメッセージを使ってサーバー証明書を送る
- 証明書の情報を送り終えたら,そのことを知らせる
- クライアントは、入手したサーバー証明書からサーバーの公開鍵を取り出し、この公開鍵を使って暗号通信に使う共通鍵の基になる秘密の値(プレマスタ・シークレット)を暗号化して送信する。
- これがClientKeyExchangeメッセージである。
- サーバーは、この暗号化したデータを自身の秘密鍵で復号すると、プレマスタ・シークレットが出てくる。
- この時点で両者は、共通鍵の基となるプレマスタ・シークレットを共有できた。
- クライアントは、これまで決めた暗号方式の採用を宣言し、ハンドシェークの終了をサーバーに知らせる。
- これを受けたサーバーの動作もクライアントと同様。暗号方式の採用を宣言し、ハンドシェークの終了をクライアントに知らせる。
- これ以降クライアントとサーバーは、共有したプレマスタ・シークレットから共通鍵を生成し、その共通鍵を使って暗号通信を実施する。