パブリックトラストと証明書

TLS/SSL ハンドシェイク
とは何ですか?

TLS/SSL ハンドシェイクとは何ですか?

以下に、RSA 鍵交換アルゴリズムが使用されている場合の標準的な TLS/SSL ハンドシェイク手順を示します。

  1. Client Hello - SSL を使用してクライアントと通信するためにサーバーが必要とする情報を送ります。これには SSL のバージョン、暗号化方式、セッション固有のデータが含まれます。
  2. Server Hello - SSL を使用してサーバーと通信するためにクライアントが必要とする情報を送ります。これには SSL のバージョン番号、暗号設定、セッション固有のデータが含まれます。
  3. 認証およびプレマスターシークレット - クライアントがサーバーの証明書を検証します(コモンネーム、日付、発行者など)。クライアントは(暗号化方式に応じて)セッション用のプレマスターシークレットを作成し、サーバーの公開鍵で暗号化し、暗号化したプレマスターシークレットをサーバーに送信します。
  4. 復号化およびマスターシークレット - サーバーは自身の秘密鍵でプレマスターシークレットを復号化します。サーバーとクライアントの双方が、同意した暗号化方式によってマスターシークレットの生成手順を実行します。
  5. セッションキーによる暗号化 - クライアントとサーバーが、今後メッセージが暗号化されることを伝えるメッセージを相互に交換します。