メインコンテンツまでスキップ

4.1. Record Expansion Limits (レコード拡張の制限)

4.1. Record Expansion Limits (レコード拡張の制限)

record_size_limit 拡張で示されるサイズ制限は, 圧縮またはレコード保護による拡張を勘定に入れていない. 制約の強いデバイスはレコードサイズの予測不能な増加を避けるために圧縮を無効にすることが想定される. ストリーム暗号と既存の AEAD 暗号は可変の拡張を許さないが, ブロック暗号は可変の拡張を許す.

TLS 1.2 では, ブロック暗号は 1 から 256 オクテットのパディングを許す. プロトコルで定義された上限より低い制限が通告された場合, ブロック暗号を用いるレコードの長さに第二の制限が適用される. エンドポイントは, 保護されたレコードが, 最大量の平文と許容最小量のパディングを含む保護されたレコードのサイズを超えるようなパディングをレコードに加えてはならない.

例えば, TLS_RSA_WITH_AES_128_CBC_SHA は 16 オクテットのブロックと 20 オクテットの MAC を持つ. レコードサイズの制限が 256 のとき, その長さのレコードには少なくとも 11 オクテットのパディングが必要である ([RFC5246] では MAC が暗号化で覆われる), または encrypt_then_mac 拡張 [RFC7366] が交渉されていれば 15 オクテットである. この制限では, 250 オクテットの平文を持つレコードは, 多くても 17 オクテットのパディングを含めて同じ長さにパディングでき, encrypt_then_mac では 21 オクテットである.

常に最小量のパディングだけを加える実装は, 常にこの要件を満たす.