Appendix A. 誤った仮定 (Incorrect Assumptions)
QUICバージョン1 [QUIC-TRANSPORT] には、観察から保護されていないものの、新しいバージョンが展開される際に変更可能と考えられているいくつかの特性があります。
このセクションでは、QUICバージョン1の知識に基づいてQUICについて行われる可能性のある誤った仮定のいくつかの例を示します。これらの記述の一部は、QUICバージョン1に対してさえ真実ではありません。これは網羅的なリストではありません。説明目的でのみ意図されています。
以下のいずれかまたはすべての記述は、特定のQUICバージョンに対して誤りである可能性があります:
-
QUICはTLS [QUIC-TLS] を使用し、一部のTLSメッセージはワイヤ上で可視です。
-
QUICロングヘッダーは接続確立中にのみ交換されます。
-
特定の5タプル上のすべてのフローには接続確立フェーズが含まれます。
-
フロー上で交換される最初のパケットはロングヘッダーを使用します。
-
長時間の静止の前の最後のパケットは確認 (Acknowledgment) のみを含むと仮定される場合があります。
-
QUICは、接続確立中に交換されるパケットを保護するために認証付き暗号化 (AEAD) 関数 (AEAD_AES_128_GCM; [RFC5116] を参照) を使用します。
-
QUICパケット番号 (Packet Numbers) は暗号化されており、最初の暗号化バイトとして表示されます。
-
QUICパケット番号は送信されるパケットごとに1ずつ増加します。
-
QUICは、クライアントが送信する最初のハンドシェイクパケットの最小サイズ要件を持っています。
-
QUICはクライアントが最初に発言することを規定しています。
-
QUICパケットは常に最初のバイトの第2ビット (0x40) を設定します。
-
QUICバージョンネゴシエーションパケットはサーバーによってのみ送信されます。
-
QUIC接続IDは頻繁には変更されません。
-
QUICエンドポイントは、バージョンネゴシエーションパケットを送信された場合、使用するバージョンを変更します。
-
QUICロングヘッダーのバージョンフィールドは両方向で同じです。
-
バージョンフィールドに特定の値を持つQUICパケットは、対応するバージョンのQUICが使用されていることを意味します。
-
QUICエンドポイントのペア間で一度に確立される接続は1つだけです。