Security SSL/TLS

SSL/TLSハンドシェイクの手順

2018年12月13日


サーバ認証によるSSL/TLSセッション確立の流れと、その通信フローを解説します。ここで記載するのは「共通鍵と公開鍵のハイブリット方式」の場合です。

参考:【SSL/TLS】サーバ認証の仕組み

Ⅰ.事前の取り決め

❶クライアントからサーバに接続要求・使用できる暗号スイートの通知 (ClientHello)
❷サーバからクライアントへ使用する暗号スイートの通知 (ServerHello)

Ⅱ.サーバ証明書の真正性(改ざんの有無)チェック

❶サーバは、サーバ証明書をクライアントに送信する (Certificate)
❷クライアントは、証明書上の認証局に問い合わせる
❸CAは、クライアントにCAの公開鍵を送信する
❹クライアントは、CAの公開鍵でデジタル署名を復号する⇨復号できれば証明書の真正性が担保される
❺(ServerKeyExchange)省略

Ⅲ.共通鍵交換

❶クライアントは共通鍵を作成する
❷クライアントは、サーバの公開鍵で自分の共通鍵を暗号化する
❸クライアントは、暗号化した共通鍵をサーバに送信する (ClientKeyExchange)
❹サーバは、サーバの秘密鍵で復号して、共通鍵を取得する

Ⅳ.共通鍵暗号によるデータのやり取り

❶クライアントは、データを共通鍵で暗号化する
❷クライアントは、暗号化したデータをサーバに送信する
❸サーバは、共通鍵でデータを復号して、データを取得する

詳細なセッションフローは下記を参照
参考:SSL/TLSセッション確立手順

CATEGORIES & TAGS

Security, SSL/TLS,

Author:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

むるし

インフラ系エンジニア。備忘録で色々書いていきます。
現在テックキャンプでフルコミット中。

年収訴求

CodeCamp

縛りなしWiFi

%d人のブロガーが「いいね」をつけました。