[要約] RFC 9287は、QUICパケットの2番目に重要なビットの任意の値を送信する能力を交渉する方法を説明しています。その目的は、QUICの実装をより堅牢にし、互換性を向上させることです。

Internet Engineering Task Force (IETF)                        M. Thomson
Request for Comments: 9287                                       Mozilla
Category: Standards Track                                    August 2022
ISSN: 2070-1721
        

Greasing the QUIC Bit

quicビットのグリース

Abstract

概要

This document describes a method for negotiating the ability to send an arbitrary value for the second-most significant bit in QUIC packets.

このドキュメントでは、QUICパケットで2番目に重要なビットに対して任意の価値を送信する能力を交渉する方法について説明します。

Status of This Memo

本文書の位置付け

This is an Internet Standards Track document.

これは、インターネット標準トラックドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.

このドキュメントは、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表しています。公開レビューを受けており、インターネットエンジニアリングステアリンググループ(IESG)からの出版が承認されています。インターネット標準の詳細については、RFC 7841のセクション2で入手できます。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9287.

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、https://www.rfc-editor.org/info/rfc9287で取得できます。

Copyright Notice

著作権表示

Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(c)2022 IETF Trustおよび文書著者として特定された人。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.

このドキュメントは、BCP 78およびIETFドキュメント(https://trustee.ietf.org/license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、セクション4.Eで説明されている法的規定のセクション4.Eで説明されており、修正されたBSDライセンスで説明されているように保証なしで提供される修正されたBSDライセンステキストを含める必要があります。

Table of Contents

目次

   1.  Introduction
   2.  Conventions and Definitions
   3.  The Grease QUIC Bit Transport Parameter
     3.1.  Clearing the QUIC Bit
     3.2.  Using the QUIC Bit
   4.  Security Considerations
   5.  IANA Considerations
   6.  References
     6.1.  Normative References
     6.2.  Informative References
   Author's Address
        
1. Introduction
1. はじめに

The version-independent definition of QUIC [QUIC-INVARIANTS] intentionally describes a very narrow set of fields that are visible to entities other than endpoints. Beyond those characteristics that are invariant, very little about the "wire image" [RFC8546] of QUIC is visible.

QUIC [Quic-Invariants]のバージョンに依存しない定義は、エンドポイント以外のエンティティに見える非常に狭いフィールドセットを意図的に説明しています。不変の特性を超えて、QUICの「ワイヤーイメージ」[RFC8546]についてはほとんど見えません。

The second-most significant bit of the first byte in every QUIC packet is defined as having a fixed value in QUIC version 1 [QUIC]. The purpose of having a fixed value is to allow endpoints to efficiently distinguish QUIC from other protocols; see [DEMUX] for a description of a system that might use this property. As this bit can identify a packet as QUIC, it is sometimes referred to as the "QUIC Bit".

すべてのQUICパケットの最初のバイトの2番目に重要なビットは、QUICバージョン1 [QUIC]に固定値を持つと定義されます。固定値を持つ目的は、エンドポイントが他のプロトコルとQUIを効率的に区別できるようにすることです。このプロパティを使用する可能性のあるシステムの説明については、[Demux]を参照してください。このビットはパケットをquicと識別できるため、「quic bit」と呼ばれることもあります。

Where endpoints and the intermediaries that support them do not depend on the QUIC Bit having a fixed value, sending the same value in every packet is more of a liability than an asset. If systems come to depend on a fixed value, then it might become infeasible to define a version of QUIC that attributes semantics to this bit.

エンドポイントとそれらをサポートする仲介者が固定値を持っているQUICビットに依存しない場合、すべてのパケットで同じ値を送信することは、資産よりも責任があります。システムが固定値に依存するようになった場合、このビットにセマンティクスを属性するQUICのバージョンを定義することが不可能になる可能性があります。

In order to safeguard future use of this bit, this document defines a QUIC transport parameter that indicates that an endpoint is willing to receive QUIC packets containing any value for this bit. By sending different values for this bit, the hope is that the value will remain available for future use [USE-IT].

このビットの将来の使用を保護するために、このドキュメントは、エンドポイントがこのビットの任意の価値を含むQUICパケットを受け取ることをいとわないことを示すQUIC輸送パラメーターを定義します。このビットの異なる値を送信することにより、希望は、将来の使用のために値が引き続き利用可能であることを希望します[use-it]。

2. Conventions and Definitions
2. 慣習と定義

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

この文書のキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" はBCP 14 [RFC2119] [RFC8174]で説明されているように、すべて大文字の場合にのみ解釈されます。

This document uses terms and notational conventions from [QUIC].

このドキュメントでは、[QUIC]の用語と表記規則を使用しています。

3. The Grease QUIC Bit Transport Parameter
3. グリースQUICビット輸送パラメーター

The grease_quic_bit transport parameter (0x2ab2) is defined for QUIC version 1 [QUIC]. This transport parameter can be sent by both client and server. The transport parameter is sent with an empty value; an endpoint that understands this transport parameter MUST treat receipt of a non-empty value of the transport parameter as a connection error of type TRANSPORT_PARAMETER_ERROR.

Grease_Quic_bit Transport Parameter(0x2AB2)は、QUICバージョン1 [QUIC]で定義されています。このトランスポートパラメーターは、クライアントとサーバーの両方で送信できます。輸送パラメーターは空の値で送信されます。このトランスポートパラメーターを理解しているエンドポイントは、トランスポートパラメーターの空でない値の受領を型denconement_parameter_errorの接続エラーとして扱う必要があります。

An endpoint that advertises the grease_quic_bit transport parameter MUST accept packets with the QUIC Bit set to a value of 0. The QUIC Bit is defined as the second-most significant bit of the first byte of QUIC packets (that is, the value 0x40).

Grease_Quic_bit Transportパラメーターを宣伝するエンドポイントは、QUICビットを0の値に設定してパケットを受け入れる必要があります。QUICビットは、QUICパケットの最初のバイトの2番目に重要なビット(つまり、値0x40)として定義されます。

3.1. Clearing the QUIC Bit
3.1. quicビットのクリア

Endpoints that receive the grease_quic_bit transport parameter from a peer SHOULD set the QUIC Bit to an unpredictable value unless another extension assigns specific meaning to the value of the bit.

ピアからGrease_Quic_bit Transportパラメーターを受信するエンドポイントは、別の拡張機能がビットの値に特定の意味を割り当てない限り、QUICビットを予測不可能な値に設定する必要があります。

Endpoints can set the QUIC Bit to 0 on all packets that are sent after receiving and processing transport parameters. This could include Initial, Handshake, and Retry packets.

エンドポイントは、輸送パラメーターを受信および処理した後に送信されるすべてのパケットで、QUICビットを0に設定できます。これには、初期、握手、再試行パケットが含まれます。

A client MAY also set the QUIC Bit to 0 in Initial, Handshake, or 0-RTT packets that are sent prior to receiving transport parameters from the server. However, a client MUST NOT set the QUIC Bit to 0 unless the Initial packets it sends include a token provided by the server in a NEW_TOKEN frame (Section 19.7 of [QUIC]), received less than 604800 seconds (7 days) prior on a connection where the server also included the grease_quic_bit transport parameter.

クライアントは、サーバーから輸送パラメーターを受信する前に送信される初期、ハンドシェイク、または0-RTTパケットでQUICビットを0に設定することもできます。ただし、送信する初期パケットにnew_tokenフレーム([quic]のセクション19.7)にサーバーが提供するトークンが含まれていない場合を除き、クライアントはquicビットを0に設定してはなりません。接続サーバーには、Grease_Quic_bit Transportパラメーターも含まれています。

This 7-day limit allows for changes in server configuration. If server configuration changes and a client does not set the QUIC Bit, then it is possible that a server will drop packets, resulting in connection failures.

この7日間の制限により、サーバー構成の変更が可能になります。サーバーの構成が変更され、クライアントがQUICビットを設定しない場合、サーバーがパケットをドロップして障害を引き起こす可能性があります。

A server MUST set the QUIC Bit to 0 only after processing transport parameters from a client. A server MUST NOT remember that a client negotiated the extension in a previous connection and set the QUIC Bit to 0 based on that information.

サーバーは、クライアントからの輸送パラメーターを処理した後にのみ、QUICビットを0に設定する必要があります。サーバーは、クライアントが以前の接続で拡張機能を交渉したことを覚えてはなりません。その情報に基づいて、QUICビットを0に設定してはなりません。

An endpoint MUST NOT set the QUIC Bit to 0 without knowing whether the peer supports the extension. As Stateless Reset packets (Section 10.3 of [QUIC]) are only used after a loss of connection state, endpoints are unlikely to be able to set the QUIC Bit to 0 on Stateless Reset packets.

エンドポイントは、ピアが拡張機能をサポートするかどうかを知らずに、QUICビットを0に設定してはなりません。ステートレスリセットパケット([QUIC]のセクション10.3)は、接続状態が失われた後にのみ使用されるため、エンドポイントは、ステートレスリセットパケットでQUICビットを0に設定できる可能性は低いです。

3.2. Using the QUIC Bit
3.2. quicビットを使用します

The purpose of this extension is to allow for the use of the QUIC Bit by later extensions.

この拡張機能の目的は、後の拡張機能でQUICビットを使用できるようにすることです。

Extensions to QUIC that define semantics for the QUIC Bit can be negotiated at the same time as the grease_quic_bit transport parameter. In this case, a recipient needs to be able to distinguish a randomized value from a value carrying information according to the extension. Extensions that use the QUIC Bit MUST negotiate their use prior to acting on any semantic.

QUICビットのセマンティクスを定義するQUICへの拡張は、Grease_Quic_bit Transportパラメーターと同時にネゴシエートできます。この場合、受信者は、拡張機能に応じて、ランダム化された値と情報を伝達する値と区別できる必要があります。QUICビットを使用するエクステンションは、セマンティックに基づいて行動する前に使用を交渉する必要があります。

For example, an extension might define a transport parameter that is sent in addition to the grease_quic_bit transport parameter. Though the value of the QUIC Bit in packets received by a peer might be set according to rules defined by the extension, they might also be randomized as specified in this document.

たとえば、拡張機能は、Grease_Quic_bit Transportパラメーターに加えて送信されるトランスポートパラメーターを定義する場合があります。ピアが受信したパケットのQUICビットの値は、拡張機能によって定義されたルールに従って設定される場合がありますが、このドキュメントで指定されているようにランダム化される場合があります。

The receipt of a transport parameter for an extension that uses the QUIC Bit could be used to confirm that a peer supports the semantic defined in the extension. To avoid acting on a randomized signal, the extension can require that endpoints set the QUIC Bit according to the rules of the extension but defer acting on the information conveyed until the transport parameter for the extension is received.

QUICビットを使用する拡張機能の輸送パラメーターの受領は、ピアが拡張機能で定義されているセマンティックをサポートすることを確認するために使用できます。ランダム化信号に作用することを避けるために、拡張機能は、拡張機能のルールに従ってエンドポイントをQUICビットを設定する必要がありますが、拡張機能の輸送パラメーターが受信されるまで伝えられる情報に作用する情報を延期する必要があります。

Extensions that define semantics for the QUIC Bit can be negotiated without using the grease_quic_bit transport parameter. However, including both extensions allows for the QUIC Bit to be greased even if the alternative use is not supported.

QUICビットのセマンティクスを定義する拡張機能は、Grease_Quic_bit Transportパラメーターを使用せずにネゴシエートできます。ただし、両方の拡張機能を含むことで、代替の使用がサポートされていなくても、QUICビットを油を塗ることができます。

4. Security Considerations
4. セキュリティに関する考慮事項

This document introduces no new security considerations for endpoints or entities that can rely on endpoint cooperation. However, this change makes the task of identifying QUIC more difficult without cooperation of endpoints. This sometimes works counter to the security goals of network operators who rely on network classification to identify threats; see Section 3.1 of [MANAGEABILITY] for a more comprehensive treatment of this topic.

このドキュメントでは、エンドポイントの協力に依存できるエンドポイントまたはエンティティに関する新しいセキュリティ上の考慮事項を紹介しません。ただし、この変更により、エンドポイントの協力なしに、QUICを識別するタスクがより困難になります。これは、脅威を特定するためにネットワーク分類に依存しているネットワークオペレーターのセキュリティ目標に対抗することがあります。このトピックのより包括的な扱いについては、[管理可能性]のセクション3.1を参照してください。

5. IANA Considerations
5. IANAの考慮事項

This document registers the grease_quic_bit transport parameter in the "QUIC Transport Parameters" registry established in Section 22.3 of [QUIC]. The following fields are registered:

このドキュメントは、[QUIC]のセクション22.3で確立された「QUIC Transportパラメーター」レジストリのGrease_Quic_bit Transportパラメーターを登録します。次のフィールドが登録されています。

Value: 0x2ab2

値:0x2AB2

Parameter Name: grease_quic_bit

パラメーター名:grease_quic_bit

Status: Permanent

ステータス:永続的

Specification: RFC 9287

仕様:RFC 9287

Date: 2022-07-13

日付:2022-07-13

Change Controller: IETF (iesg@ietf.org)

Change Controller:ietf(iesg@ietf.org)

Contact: QUIC Working Group (quic@ietf.org)

連絡先:quicワーキンググループ(quic@ietf.org)

Notes: (none)

メモ:(なし)

6. References
6. 参考文献
6.1. Normative References
6.1. 引用文献

[QUIC] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May 2021, <https://www.rfc-editor.org/info/rfc9000>.

[Quic] Iyengar、J.、ed。and M. Thomson、ed。、「Quic:UDPベースの多重化および安全な輸送」、RFC 9000、DOI 10.17487/RFC9000、2021年5月、<https://www.rfc-editor.org/info/rfc9000>

[QUIC-INVARIANTS] Thomson, M., "Version-Independent Properties of QUIC", RFC 8999, DOI 10.17487/RFC8999, May 2021, <https://www.rfc-editor.org/info/rfc8999>.

[Quic-Invariants] Thomson、M。、「Quicのバージョンに依存しないプロパティ」、RFC 8999、DOI 10.17487/RFC8999、2021年5月、<https://www.rfc-editor.org/info/rfc8999>。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、DOI 10.17487/RFC2119、1997年3月、<https://www.rfc-editor.org/info/RFC2119>。

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.

[RFC8174] Leiba、B。、「RFC 2119キーワードの大文字と小文字のあいまいさ」、BCP 14、RFC 8174、DOI 10.17487/RFC8174、2017年5月、<https://www.rfc-editor.org/info/RFC8174>。

6.2. Informative References
6.2. 参考引用

[DEMUX] Aboba, B., Salgueiro, G., and C. Perkins, "Multiplexing Scheme Updates for QUIC", Work in Progress, Internet-Draft, draft-ietf-avtcore-rfc7983bis-06, 5 August 2022, <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rfc7983bis-06>.

[Demux] Aboba、B.、Salgueiro、G。、およびC. Perkins、「QUICの多重化スキームの更新」、進行中の作業、インターネットドラフト、ドラフト-ITF-AVTCORE-RFC7983BIS-06、2022年8月5日、<https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rfc7983bis-06>。

[MANAGEABILITY] Kuehlewind, M. and B. Trammell, "Manageability of the QUIC Transport Protocol", Work in Progress, Internet-Draft, draft-ietf-quic-manageability-18, 15 July 2022, <https://datatracker.ietf.org/doc/html/draft-ietf-quic-manageability-18>.

[管理可能性] Kuehlewind、M。and B. Trammell、「QUIC Transport Protocolの管理可能性」、進行中の作業、インターネットドラフト、ドラフト-IITF-QUIC-MANAGEABILITY-18、2022年7月15日、<https:// datatracker。ietf.org/doc/html/draft-ietf-quic-manageability-18>。

[RFC8546] Trammell, B. and M. Kuehlewind, "The Wire Image of a Network Protocol", RFC 8546, DOI 10.17487/RFC8546, April 2019, <https://www.rfc-editor.org/info/rfc8546>.

[RFC8546] Trammell、B。およびM. Kuehlewind、「ネットワークプロトコルのワイヤーイメージ」、RFC 8546、DOI 10.17487/RFC8546、2019年4月、<https://www.rfc-editor.org/info/RFC8546>。

[USE-IT] Thomson, M. and T. Pauly, "Long-Term Viability of Protocol Extension Mechanisms", RFC 9170, DOI 10.17487/RFC9170, December 2021, <https://www.rfc-editor.org/info/rfc9170>.

[USE-IT] Thomson、M。およびT. Pauly、「プロトコル拡張メカニズムの長期実行可能性」、RFC 9170、DOI 10.17487/RFC9170、2021年12月、<https://www.rfc-editor.org/info/rfc9170>。

Author's Address

著者の連絡先

Martin Thomson Mozilla Email: mt@lowentropy.net

Martin Thomson Mozillaメール:mt@lowentropy.net