TLSハンドシェイクとは?
TLSハンドシェイクとは、ウェブ・ブラウザなどのクライアントとウェブサイトなどのサーバーの間でセキュアな通信セッションを開始するプロセスを指します。 その役割は、異なるユーザーを認証し、暗号パラメーターをネゴシエートし、セキュアな接続を確立することです。
TLSハンドシェイクの仕組み
TLSハンドシェイクは、セッション中に使用される暗号化プロトコルと鍵を確立することで、通信を保護するプロセスです。
- 1.Client Hello. セッションは、クライアントがサーバーに"ClientHello"メッセージを送ることから始まります。
- 2.Server Hello. サーバーは「ServerHello」メッセージで応答します。
- 3.サーバー証明書と鍵の交換. サーバーはデジタル証明書をクライアントに送信します。
- 4.クライアント鍵交換. クライアントは「ClientKeyExchange」メッセージで応答し、これは通常、サーバーの公開鍵で暗号化されたプレマスターシークレットを含みます。
- 5.証明書のリクエスト. また、サーバーはクライアントに証明書を要求し、相互認証を確実にすることができます。
- 6.クライアントとサーバーの終了. クライアントは「ChangeCipherSpec」メッセージを送信し、新しい暗号化鍵とアルゴリズムの使用を開始することを通知します。 その後、クライアントは「EncryptedHandshake」メッセージを送信し、鍵交換が成功したことを確認します。 サーバーは、暗号化モードに切り替わったことを確認するため、独自のメッセージを送信します。