1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プロフェッショナルTLS&PKI (Bulletproof TLS and PKI) 改題第2版を読む⑩ 第2章-2 TLS 1.3のサブプトロコル

1
Last updated at Posted at 2026-06-22

TLS 1.3のサブプロトコル(4種類)

TLS 1.3のRecordプロトコルの下で具体的な処理を実装するサブプロトコルとして以下の4つが定義されています。基本的な動作はTLS 1.2以前と共通ですが、細かい部分では様々に違いがあります。

Alertプロトコル

シグナリングおよび例外的な状況で使われるサブプロトコル。例えばハンドシェイクを完遂出来ない場合に接続が切れる事を相手に通知する場合に使われます。

Application Data プロトコル

アプリケーションデータの転送に使われるサブプロトコル。書式の無いバイト列として一方から他方へデータを送るためのサブプロトコル。送信するメッセージだけからなる最も単純なプロトコルです。

Change Cipher Spec プロトコル

TLS 1.3では廃止されたプロトコルです。TLS 1.2以前ではこのプロトコルを使ってネゴシエーション時に決定した暗号方式を変更する事が出来ました。ですが、実際的には安全性を確保して実装する事が難しく結果的に様々な脆弱性を引き起こす原因でした。
TLS 1.3では以前のバージョンとの互換性維持のために残されており、サーバー、クライアントともこのプロトコルを送信できますが、受信側ではメッセージは無視されます。

Handshakeプロトコル

おそらくは最も重要なサブプロトコル。接続時利用することになるセキュリティパラメーターはこのサブプロトコルを使ってネゴシエーションを実行します。

メッセージのフラグメンテーション

Recordプロトコルのペイロードは最大長16,384バイト と定義されていますが、その中に収めるサブプロトコルのデータの形式は指定がありません。
例として以下のような構成はすべて可能です。
・1つのレコードにサブプロトコルのメッセージを複数格納する
・1つのメッセージを分割して複数のレコードにまたがって送信する
・異なるサブプロトコルのメッセージを1つのレコードに格納して送信する

ただし、Handshakeプロトコルで使うメッセージに他のサブプロトコルのメッセージは含められない、後述のAlertプロトコルのメッセージは分割できない、などの個別のルールはあります。

※TLS 1.3関連では以下の説明がこの後続きます。
2.Handshakeプロトコル
3.認証
4.Alertプロトコル
5.暗号に関する計算
6.拡張
7.暗号スイート
8.0-RTT

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?