見えるセキュリティ

TLSハンドシェイクの基本

TLS HANDSHAKE BASICS

この概念とは?

TLSハンドシェイクは、Client(接続する側)とServer(接続先)が、安全にデータをやり取りするための準備です。通信に使う方式をそろえ、接続先を確かめ、通信を守る鍵を準備します。

ここでは、細かなメッセージ名を覚える前に、接続準備の役割を見ていきます。その後で、フルハンドシェイク・セッション再開・バージョン・RTTの関係を整理します。

THEME
crypto
KIND
protocol
REVIEW
self-reviewed ·

方式の合意・接続先の確認・鍵の準備を役割ごとに示し、フル/再開・バージョン・RTTを比較する見取り図

この6 STEPは理解するための学習順です。実際の通信順序は、バージョンや接続方法によって異なります。

  • Client

    接続する側。この教材ではブラウザ

  • Server

    接続先。この教材ではWebサイト側のサーバー

使える方式

ClientからServerへ

選んだ方式

ServerからClientへ

通信を暗号化するなど、保護のための計算に使う値
RTT
情報を送り、その返事が戻るまでの往復時間

STEP 01 / 6

通信で使う方式をそろえる

STEP 1 / 6: 通信で使う方式をそろえる

現在のSTEP 1STEP 2STEP 3STEP 4STEP 5STEP 6

ClientとServerが、両方で使える方式をそろえます。Clientが候補を伝え、Serverがその中から使うものを選びます。

技術的な詳細を見る

そろえるのは、TLSのバージョンや暗号方式などの接続条件です。必要な条件を満たす組み合わせが見つからなければ、TLS接続は成立しません。候補の伝え方や調整の手順は、バージョンによって異なります。

パネルの開閉ではSTEPは変わりません。

この概念の要点

  • 防御

    安全な通信のための準備

    TLSハンドシェイクは、安全なデータ通信のための準備です。方式をそろえ、接続先を確かめ、鍵を準備します。

  • 要点

    フルと再開の違い

    フルと再開の違いは、前回の再開情報を使うかどうかです。再開でも新しい接続の準備が必要です。

  • 要点

    バージョンとRTTは別の観点

    バージョンとRTTは別の観点です。セッション再開と0-RTTも同じ意味ではありません。

理解確認

次の説明のうち、正しいものはどれでしょう?

参考資料

RELATED CONCEPTS