概要

TLS(Transport Layer Security)は、インターネット上の通信を暗号化・認証するプロトコルです。SSL の後継であり、HTTPS・SMTPS・IMAPS など多くのプロトコルの土台になっています。SC試験では午前II・午後ともに頻出の最重要分野です。

仕組みと動作原理

TLSハンドシェイクの流れ(TLS 1.2)

ステップクライアントサーバ
1ClientHello(対応暗号スイート一覧送信)
2ServerHello(暗号スイート選択)+ Certificate(サーバ証明書)+ ServerHelloDone
3証明書検証 → ClientKeyExchange(プリマスタシークレット送信)
4ChangeCipherSpec + Finished
5ChangeCipherSpec + Finished

プリマスタシークレットからマスタシークレットが導出され、そこからセッション鍵(送受信各1本ずつ)が生成されます。

TLS 1.2 vs TLS 1.3 の主な差異

観点TLS 1.2TLS 1.3
ハンドシェイク往復数2-RTT1-RTT(0-RTT 再接続も可能)
鍵交換RSA 鍵交換(静的)も可ECDHE のみ(前方秘匿性を強制)
廃止された暗号RC4・3DES・MD5 などが残存弱い暗号スイートを完全廃止
暗号化開始タイミングFinished からServerHello 直後から

暗号スイートの読み方

例: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

  • ECDHE_RSA:鍵交換アルゴリズム(楕円曲線 Diffie-Hellman Ephemeral + RSA 認証)
  • AES_256_GCM:共通鍵暗号と動作モード
  • SHA384:メッセージ認証(HMAC)

SC試験での頻出ポイント

  • 前方秘匿性(PFS):ECDHE・DHE を使う場合のみ実現。RSA 鍵交換は PFS なし
  • 証明書検証の流れ:ルート CA → 中間 CA → サーバ証明書のチェーン検証
  • HSTS(HTTP Strict Transport Security):初回接続後に HTTPS のみを強制するヘッダ
  • TLS 終端:ロードバランサや CDN で TLS を終端するアーキテクチャと、エンドツーエンド暗号化の違い
  • ダウングレード攻撃:POODLE(SSL 3.0)・DROWN(SSLv2)などの脆弱性事例

よくある誤問・ひっかけパターン

誤り① 「TLS は共通鍵暗号を使わない」→ 。ハンドシェイクで鍵を共有した後、実際のデータ通信は AES などの共通鍵暗号で行います。

誤り② 「デジタル証明書はサーバを暗号化する」→ 。証明書は認証(なりすまし防止)のためのものです。暗号化はセッション鍵が担います。

誤り③ 「TLS 1.3 では 0-RTT で必ず前方秘匿性が確保される」→ 。0-RTT 再接続は過去のセッション鍵を再利用するため、リプレイ攻撃のリスクがあり前方秘匿性を完全には保証しません。

関連用語

重要キーワード

用語説明
プリマスタシークレットハンドシェイク中にクライアントが生成し、サーバの公開鍵で暗号化して送る乱数
マスタシークレットプリマスタシークレットから導出される48バイトの共通秘密値
前方秘匿性(PFS)長期秘密鍵が漏洩しても過去のセッションが解読されない性質
暗号スイート鍵交換・認証・共通鍵暗号・MACアルゴリズムの組み合わせ
HSTSサーバがHTTPS接続のみを要求するセキュリティポリシーヘッダ
証明書チェーンルートCA → 中間CA → サーバ証明書の信頼の連鎖