見えるセキュリティ

TLSのバージョン比較(1.2/1.3)

TLS 1.2 VS TLS 1.3

この概念とは?

TLS 1.2とTLS 1.3は、通信を保護するTLSのバージョン違いです。接続先を確かめ、通信の鍵を準備する目的は共通しています。ここでは、準備の進め方やデータを送れるまでの待ち方を、同じ観点で比べます。

「1.2なら2往復、1.3なら0往復」と決まるわけではありません。初めて接続する場合と、前回の情報を使って接続する場合を分けて見ていきましょう。

THEME
crypto
KIND
protocol
REVIEW
self-reviewed ·

2つのバージョンを並べて、接続準備の違いを比べます。

各STEPは比較する観点です。1つの接続の時系列ではありません。Clientは接続する側、Serverは接続先を表します。

目的は共通、進め方が違う:TLS 1.2/1.3の比較

この教材では、既存のフルハンドシェイク・セッション再開教材と同じ条件を使います。TLS 1.2のフルハンドシェイクは、ECDHEとAES-GCMを使う例です。

比較する場面:新しい接続でのフルハンドシェイク

TLS 1.2

  • 通信に使う方式を決める
  • Serverを確認する
  • 通信の鍵を準備する

TLS 1.3

  • 通信に使う方式を決める
  • Serverを確認する
  • 通信の鍵を準備する

役割の整理です。この3項目の並びは通信の順序を表しません。

STEP 01 / 7

目的は共通、進め方が違う

STEP 1 / 7: 目的は共通、進め方が違う

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

TLS 1.2もTLS 1.3も、接続先を確かめ、通信を保護する鍵を準備します。違いは、そのための情報をいつ交換し、どの鍵で保護するかです。まずは共通する目的を押さえましょう。

技術的な詳細を見る

主な比較は、Server証明書で接続先を確認するフルハンドシェイクです。TLS 1.2側ではECDHE・AES-GCM・EMS、TLS 1.3側でも新しいECDHEを使います。両方の例で、鍵共有用の公開値と端点内の秘密値を使って鍵を準備します。秘密値そのものは送りません。 TLS 1.3では暗号スイートがAEAD方式と鍵導出用のハッシュを指定し、鍵共有方式・署名方式の合意を分けて扱います。TLS 1.2側のECDHE_RSAのRSAは署名の役割です。TLS 1.3でRSA鍵輸送が使われないことと、証明書や署名にRSAを使えないことは同じ意味ではありません。 TLS 1.2側の具体例はTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256です。主な比較にClient証明書は含めません。方式の合意と必要な検証が成功する例を扱います。バージョンだけで個別システムの安全性を格付けしたり、両バージョンの安全性が同一だと評価したりする比較ではありません。

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

この概念の要点

  • 要点

    同じ目的を、違う手順で実現する

    TLS 1.2とTLS 1.3は同じTLSのバージョン違いです。接続先の確認や鍵の準備という役割を、どのタイミングで行うかに注目しましょう。

  • 要点

    暗号化する範囲と、鍵の用途を分けて見る

    TLS 1.3ではServerHelloの後の証明書や署名も暗号化し、接続準備用とデータ通信用の鍵を分けます。通信の方向ごとに鍵が違うことは、今回の両バージョンに共通します。

  • 要点

    往復数には比較条件がある

    今回のフルハンドシェイクはTLS 1.2で2-RTT、1.3で1-RTTです。通常の再開は両方1-RTTです。TCP接続の時間や、追加のやり直しはこの数に含めていません。

  • 要点

    再開と早期送信は分けて考える

    セッション再開でも応答を待ってから通常データを送れます。0-RTTは条件が整った場合の早期送信で、受け入れやリプレイへの注意が必要です。

理解確認

この教材の比較条件で、Clientが通常のデータを送れるまでの待ち方について、正しい説明はどれでしょう?

参考資料

RELATED CONCEPTS