Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1285

TLS ハンドシェイク

監修Cybersecurity entrepreneur & security researcher

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

TLS ハンドシェイクTransport Layer Security の初期プロトコル交換で、サーバ(必要に応じてクライアント)を認証し、それ以降のセッションを暗号化する対称鍵を導出する。


TLS ハンドシェイクは、アプリケーションデータを送る前にプロトコルバージョン、暗号スイート、サーバの身元、セッション鍵を交渉します。TLS 1.2(RFC 5246)ではハンドシェイクは 2 ラウンドトリップを要し、ClientHello、ServerHello、Certificate、ServerKeyExchange に加え、交渉されたトランスクリプトを確認する Finished のペアを使います。TLS 1.3(RFC 8446、2018 年)はこれを 1 ラウンドトリップに短縮し、ServerHello 以降のすべてを暗号化し、旧来のプリミティブ(RC4、AEAD なしの CBC モード、静的 RSA 鍵交換、圧縮)を排除し、0-RTT 再開をサポートします。これは高速ですがリプレイに対して脆弱なため、冪等なリクエストのみを運ぶべきです。

どちらの現代バージョンも前方秘匿性のためにエフェメラルな (EC)DHE を必須とし、信頼チェーンをたどって検証される X.509 証明書によってサーバを認証します。ハンドシェイクのトランスクリプトハッシュと Finished の MAC は、歴史的にダウングレード攻撃や再ネゴシエーション攻撃を破ってきた要素です。POODLE(2014 年)は被害者を SSL 3.0 の CBC パディングへ強制的に引き下げました。FREAK と Logjam(2015 年)はエクスポートグレードの RSA/DH を強要し、BEAST は TLS 1.0 の CBC IV を悪用しました。TLS 1.3 ではサーバのランダム値に組み込まれたダウングレード保護のセンチネルが、改ざんを知らせるようになりました。運用上重要なその他の障害モードには、弱いまたは非推奨の暗号スイート、期限切れや誤発行の証明書、OCSP ステープリングの欠如、共有基盤における SNI と証明書の不一致などがあります。

sequenceDiagram
  participant C as クライアント
  participant S as サーバ
  C->>S: ClientHello バージョン 暗号スイート 鍵共有
  S->>C: ServerHello 選択スイート 鍵共有
  S->>C: Certificate + CertificateVerify
  S->>C: Finished
  Note over C,S: 両者が (EC)DHE で対称鍵を導出
  C->>S: Finished
  C->>S: 暗号化されたアプリケーションデータ

  1. 01

    ブラウザが https://example.com に対し 1 ラウンドトリップで TLS 1.3 ハンドシェイクを行い、x25519 と AES-GCM を交渉する。

  2. 02

    古いクライアントは同じサーバに対して TLS 1.2 にフォールバックし、ECDHE-RSA-AES256-GCM-SHA384 を選択する。

よくある質問

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

Transport Layer Security の初期プロトコル交換で、サーバ(必要に応じてクライアント)を認証し、それ以降のセッションを暗号化する対称鍵を導出する。 サイバーセキュリティの ネットワークセキュリティ カテゴリに属します。

TLS ハンドシェイク とはどういう意味ですか?

Transport Layer Security の初期プロトコル交換で、サーバ(必要に応じてクライアント)を認証し、それ以降のセッションを暗号化する対称鍵を導出する。

TLS ハンドシェイク からどのように防御しますか?

TLS ハンドシェイク に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

TLS ハンドシェイク の別名は何ですか?

一般的な別名: TLS ハンドシェイクプロトコル。

関連用語

関連項目