Network Working Group                                       S. Santesson
Request for Comments: 4680                                     Microsoft
Updates: 4346                                             September 2006
Category: Standards Track
        
              TLS Handshake Message for Supplemental Data
        

Status of This Memo

このメモのステータス

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

この文書は、インターネットコミュニティのためのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (C) The Internet Society (2006).

著作権(C)インターネット協会(2006)。

Abstract

抽象

This specification defines a TLS handshake message for exchange of supplemental application data. TLS hello message extensions are used to determine which supplemental data types are supported by both the TLS client and the TLS server. Then, the supplemental data handshake message is used to exchange the data. Other documents will define the syntax of these extensions and the syntax of the associated supplemental data types.

この仕様は、補助アプリケーションデータを交換するためのTLSハンドシェイクメッセージを定義します。 TLS、helloメッセージの拡張は、補足データ・タイプはTLSクライアントおよびTLSサーバの両方でサポートされているかを決定するために使用されています。次いで、補足データハンドシェークメッセージは、データを交換するために使用されます。他の文書は、これらの拡張機能の構文と関連する補足データ型の構文を定義します。

1. Introduction
1. はじめに

Recent standards activities have proposed different mechanisms for transmitting supplemental application data in the TLS handshake message. For example, recent proposals transfer data that is not processed by the TLS protocol itself, but assist the TLS-protected application in the authentication and authorization decisions. One proposal transfers user name hints for locating credentials, and another proposal transfers attribute certificates and Security Assertions Markup Language (SAML) assertions for authorization checks.

最近の標準化活動は、TLSハンドシェイクメッセージに補足アプリケーションデータを送信するための異なるメカニズムを提案しました。例えば、最近の提案は、TLSプロトコル自体によって処理されていないデータを転送しますが、認証と認可の決定にTLSで保護されたアプリケーションを支援します。一つの資格情報を見つけるための提案を転送ユーザー名のヒントを、別の提案転送は、認証チェックのための証明書およびセキュリティアサーションマークアップ言語(SAML)アサーションを属性。

In order to avoid definition of multiple handshake messages, one for each new type of application-specific supplemental data, this specification defines a new handshake message type that bundles together all data objects that are to be delivered to the TLS-protected application and sends them in a single handshake message.

複数のハンドシェークメッセージ、アプリケーション固有の補足データの新しい各タイプに対して1つの定義を避けるために、この仕様はTLSで保護されたアプリケーションに配信されるすべてのデータオブジェクトを一緒にバンドルし、それらを送信し、新しいハンドシェイクメッセージ・タイプを定義しますシングルハンドシェイクメッセージインチ

1.1. Terminology
1.1. 用語

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [N1].

この文書のキーワード "MUST"、 "MUST NOT"、 "REQUIRED"、、、、 "べきではない" "べきである" "ないもの" "ものとし"、 "推奨"、 "MAY"、および "OPTIONAL" はありますRFC 2119 [N1]に記載されているように解釈されます。

The syntax for the supplemental_data handshake message is defined using the TLS Presentation Language, which is specified in Section 4 of [N2].

supplemental_dataハンドシェークメッセージの構文は[N2]のセクション4で指定されたTLSプレゼンテーション言語を用いて定義されます。

2. Supplemental Data Handshake Message
2.補足データハンドシェイクメッセージ

The new supplemental_data handshake message type is defined to accommodate communication of supplemental data objects as agreed during the exchange of extensions in the client and server hello messages. See RFC 2246 (TLS 1.0) [N2] and RFC 4346 (TLS 1.1) [N3] for other handshake message types.

新しいsupplemental_data握手メッセージタイプは、クライアントとサーバーのhelloメッセージ中の拡張機能の交換時に合意した補足データオブジェクトの通信に対応するために定義されています。他のハンドシェイクメッセージタイプの[N3] RFC 2246(TLS 1.0)[N2]及びRFC 4346(TLS 1.1)を参照してください。

Information provided in a supplemental data object MUST be intended to be used exclusively by applications and protocols above the TLS protocol layer. Any such data MUST NOT need to be processed by the TLS protocol.

補足データオブジェクトで提供される情報は、TLSプロトコル層の上のアプリケーションやプロトコルによって排他的に使用するためのものでなければなりません。任意のそのようなデータは、TLSプロトコルによって処理される必要があるなりません。

      enum {
             supplemental_data(23), (255)
         } HandshakeType;
        
      struct {
             HandshakeType msg_type;    /* handshake type */
             uint24 length;             /* octets in message */
             select (HandshakeType) {
                    case supplemental_data:   SupplementalData;
               } body;
          } Handshake;
        
      struct {
            SupplementalDataEntry supp_data<1..2^24-1>;
         } SupplementalData;
        
      struct {
            SupplementalDataType supp_data_type;
            uint16 supp_data_length;
            select(SupplementalDataType) { }
         } SupplementalDataEntry;
        
      enum {
            (65535)
        } SupplementalDataType;
        

supp_data_length This field is the length (in bytes) of the data selected by SupplementalDataType.

supp_data_lengthこのフィールドはSupplementalDataTypeによって選択されたデータの長さ(バイト単位)です。

The client MUST NOT send more than one SupplementalData handshake message, and the server MUST NOT send more than one SupplementalData handshake message. Receiving more than one SupplementalData handshake message results in a fatal error, and the receiver MUST close the connection with a fatal unexpected_message alert.

クライアントは、複数のSupplementalDataハンドシェイクメッセージを送ってはいけません、そして、サーバは、複数のSupplementalDataハンドシェイクメッセージを送ってはいけません。複数のSupplementalDataハンドシェイクメッセージを受信すると、致命的なエラーが発生し、受信機は、致命的なunexpected_message警報との接続を閉じる必要があります。

If present, the SupplementalData handshake message MUST contain a non-empty SupplementalDataEntry structure carrying data associated with at least one defined SupplementalDataType. An explicit agreement that governs presence of any supplemental data MUST be concluded between client and server for each SupplementalDataType using the TLS extensions [N4] in the client and server hello messages. Receiving an unexpected SupplementalData handshake message results in a fatal error, and the receiver MUST close the connection with a fatal unexpected_message alert.

存在する場合、SupplementalDataハンドシェイクメッセージは、少なくとも一つの定義されたSupplementalDataTypeに関連するデータを搬送する非空SupplementalDataEntry構造を含まなければなりません。任意の補足データの存在を支配する明示的な合意は、クライアントとサーバーのhelloメッセージでTLS拡張[N4]を使用して、各SupplementalDataTypeのために、クライアントとサーバとの間で締結されなければなりません。予期しないSupplementalDataハンドシェイクメッセージを受信すると、致命的なエラーが発生し、受信機は、致命的なunexpected_message警報との接続を閉じる必要があります。

Other documents will define specific SupplementalDataTypes and their associated data syntax and processing. These same specifications must also specify the client and server hello message extensions that are used to negotiate the support for the specified supplemental data type. This document simply specifies the TLS Handshake Protocol message that will carry the supplemental data objects.

他の文書は、特定のSupplementalDataTypesとそれに関連するデータの構文と処理を定義します。これらの同じ仕様にも指定された補足データ・タイプのサポートを交渉するために使用されているクライアントとサーバのhelloメッセージの拡張子を指定する必要があります。この文書では、単に補助的なデータオブジェクトを運ぶでしょうTLSハンドシェイクプロトコルメッセージを指定します。

Different situations require the transfer of supplemental data from the client to the server, require the transfer of supplemental data from the server to the client, or both ways. All three situations are fully supported.

別の状況は、クライアントからサーバーへの補足データの転送を必要とする、サーバからクライアントへの補足データの転送、または両方の方法が必要です。すべての3つの状況が完全にサポートされています。

3. Message Flow
3.メッセージフロー

The SupplementalData handshake message, if exchanged, MUST be sent as the first handshake message as illustrated in Figure 1 below.

以下、図1に示すようにSupplementalDataハンドシェークメッセージは、交換ならば、最初のハンドシェイクメッセージとして送信しなければなりません。

Client Server

クライアントサーバー

     ClientHello (with extensions) -------->
        
                                    ServerHello(with extensions)
                                               SupplementalData*
                                                    Certificate*
                                              ServerKeyExchange*
                                             CertificateRequest*
                                  <--------      ServerHelloDone
        
     SupplementalData*
     Certificate*
     ClientKeyExchange
     CertificateVerify*
     [ChangeCipherSpec]
     Finished                     -------->
                                              [ChangeCipherSpec]
                                  <--------             Finished
     Application Data             <------->     Application Data
        

* Indicates optional or situation-dependent messages.

*オプションや状況依存のメッセージを示します。

Figure 1. Message Flow with SupplementalData

SupplementalData図1.メッセージフロー

4. Security Considerations
4.セキュリティについての考慮事項

Each SupplementalDataType included in the handshake message defined in this specification introduces its own unique set of security properties and related considerations. Security considerations must therefore be defined in each document that defines a supplemental data type.

SupplementalDataTypeはこの仕様で定義されたハンドシェイクメッセージに含まれる各セキュリティ・プロパティと関連する検討事項の独自のセットを導入しています。セキュリティの考慮事項は、したがって、補足データ型を定義し、各文書に定義する必要があります。

In some cases, the SupplementalData information may be sensitive. The double handshake technique can be used to provide protection for the SupplementalData information. Figure 2 illustrates the double handshake, where the initial handshake does not include any extensions, but it does result in protected communications. Then, a second handshake that includes the SupplementalData information is performed using the protected communications. In Figure 2, the number on the right side indicates the amount of protection for the TLS message on that line. A zero (0) indicates that there is no communication protection; a one (1) indicates that protection is provided by the first TLS session; and a two (2) indicates that protection is provided by both TLS sessions.

いくつかのケースでは、SupplementalData情報は感受性がある可能性があります。ダブルハンドシェイク技術はSupplementalData情報の保護を提供するために使用することができます。図2は、初期ハンドシェイクが任意の拡張子が含まれていないダブルハンドシェイクを示し、それが保護された通信につながるん。次いで、SupplementalData情報を含む第2のハンドシェイクは、保護された通信を使用して実行されます。図2では、右側の数字は、そのライン上のTLSメッセージの保護の量を示します。ゼロ(0)は、通信の保護が存在しないことを示しています。 (1)一つは保護が最初にTLSセッションによって提供されていることを示します。二つ(2)の保護は両方TLSセッションによって提供されることを示しています。

The placement of the SupplementalData message in the TLS Handshake results in the server providing its SupplementalData information before the client is authenticated. In many situations, servers will not want to provide authorization information until the client is authenticated. The double handshake illustrated in Figure 2 provides a technique to ensure that the parties are mutually authenticated before either party provides SupplementalData information.

TLSハンドシェイクでSupplementalDataメッセージの配置は、クライアントが認証される前に、そのSupplementalData情報を提供するサーバになります。多くの状況では、サーバーは、クライアントが認証されるまで、認証情報を提供するとは思わないだろう。図2に示す二重ハンドシェークがいずれかの当事者がSupplementalData情報を提供する前に、当事者が相互に認証されていることを確認するための技術を提供します。

Client Server

クライアントサーバー

   ClientHello (no extensions) -------->                            |0
                                       ServerHello (no extensions)  |0
                                                      Certificate*  |0
                                                ServerKeyExchange*  |0
                                               CertificateRequest*  |0
                               <--------           ServerHelloDone  |0
   Certificate*                                                     |0
   ClientKeyExchange                                                |0
   CertificateVerify*                                               |0
   [ChangeCipherSpec]                                               |0
   Finished                    -------->                            |1
                                                [ChangeCipherSpec]  |0
                               <--------                  Finished  |1
   ClientHello (w/ extensions) -------->                            |1
                                       ServerHello (w/ extensions)  |1
                                                 SupplementalData*  |1
                                                      Certificate*  |1
                                                ServerKeyExchange*  |1
                                               CertificateRequest*  |1
                               <--------           ServerHelloDone  |1
   SupplementalData*                                                |1
   Certificate*                                                     |1
   ClientKeyExchange                                                |1
   CertificateVerify*                                               |1
   [ChangeCipherSpec]                                               |1
   Finished                    -------->                            |2
                                                [ChangeCipherSpec]  |1
                               <--------                  Finished  |2
   Application Data            <------->          Application Data  |2
        

* Indicates optional or situation-dependent messages.

*オプションや状況依存のメッセージを示します。

Figure 2. Double Handshake to Protect Supplemental Data

図2.ダブルハンドシェイクは、補足データを保護するために

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

IANA has taken the following actions:

IANAは、次のアクションをとっています。

1) Created an entry, supplemental_data(23), in the existing registry for HandshakeType (defined in RFC 2246 [N2]).

1)RFC 2246 [N2])で定義されHandshakeTypeための既存のレジストリのエントリ、supplemental_data(23)、(作成されました。

2) Established a registry for TLS Supplemental Data Formats (SupplementalDataType). Values in the inclusive range 0-16385 (decimal) are assigned via RFC 2434 [N5] Standards Action. Values from the inclusive range 16386-65279 (decimal) are assigned via RFC 2434 IETF Consensus. Values from the inclusive range 65280-65535 (decimal) are reserved for RFC 2434 Private Use.

2)TLS補足データフォーマット(SupplementalDataType)のレジストリを設立。包含範囲0から16385(10進数)の値は、RFC 2434 [N5]標準アクションを経由して割り当てられます。包含範囲16386から65279(10進数)の値は、RFC 2434 IETFコンセンサスを介して割り当てられています。包含範囲65280から65535(10進数)の値は、RFC 2434のプライベート利用のために予約されています。

6. Normative References
6.引用規格

[N1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[N1]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。

[N2] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", RFC 2246, January 1999.

[N2]ダークス、T.とC.アレン、 "TLSプロトコルバージョン1.0"、RFC 2246、1999年1月。

[N3] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.1", RFC 4346, April 2006.

[N3]ダークス、T.およびE.レスコラ、 "トランスポート層セキュリティ(TLS)プロトコルバージョン1.1"、RFC 4346、2006年4月。

[N4] Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J., and T. Wright, "Transport Layer Security (TLS) Extensions", RFC 4366, April 2006.

[N4]ブレイク・ウィルソン、S.、Nystrom、M.、ホップウッド、D.、ミケルセン、J.、およびT.ライト、 "トランスポート層セキュリティ(TLS)拡張機能"、RFC 4366、2006年4月。

[N5] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

[N5] Narten氏、T.とH. Alvestrand、 "RFCsにIANA問題部に書くためのガイドライン"、BCP 26、RFC 2434、1998年10月。

7. Acknowledgements
7.謝辞

The fundamental architectural idea for the supplemental data handshake message was provided by Russ Housley and Eric Rescorla.

補足データのハンドシェイクメッセージのための基本的なアーキテクチャの考え方は、ラスHousleyとエリックレスコラによって提供されました。

Author's Address

著者のアドレス

Stefan Santesson Microsoft Finlandsgatan 30 164 93 KISTA Sweden

ステファンSantessonマイクロソフトFinlandsgatan 30 164 93シスタスウェーデン

EMail: stefans@microsoft.com

メールアドレス:stefans@microsoft.com

Full Copyright Statement

完全な著作権声明

Copyright (C) The Internet Society (2006).

著作権(C)インターネット協会(2006)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

この文書では、BCP 78に含まれる権利と許可と制限の適用を受けており、その中の記載を除いて、作者は彼らのすべての権利を保有します。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

この文書とここに含まれている情報は、基礎とCONTRIBUTOR「そのまま」、ORGANIZATION HE / SHEが表すまたはインターネットソサエティおよびインターネット・エンジニアリング・タスク・フォース放棄すべての保証、明示または、(もしあれば)後援ISに設けられています。黙示、情報の利用は、特定の目的に対する権利または商品性または適合性の黙示の保証を侵害しない任意の保証含むがこれらに限定されません。

Intellectual Property

知的財産

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETFは、本書またはそのような権限下で、ライセンスがたりないかもしれない程度に記載された技術の実装や使用に関係すると主張される可能性があります任意の知的財産権やその他の権利の有効性または範囲に関していかなる位置を取りません利用可能です。またそれは、それがどのような権利を確認する独自の取り組みを行ったことを示すものでもありません。 RFC文書の権利に関する手続きの情報は、BCP 78およびBCP 79に記載されています。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

IPRの開示のコピーが利用できるようにIETF事務局とライセンスの保証に行われた、または本仕様の実装者または利用者がそのような所有権の使用のための一般的なライセンスまたは許可を取得するために作られた試みの結果を得ることができますhttp://www.ietf.org/iprのIETFのオンラインIPRリポジトリから。

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETFは、その注意にこの標準を実装するために必要とされる技術をカバーすることができる任意の著作権、特許または特許出願、またはその他の所有権を持ってすべての利害関係者を招待します。 ietf-ipr@ietf.orgのIETFに情報を記述してください。

Acknowledgement

謝辞

Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).

RFCエディタ機能のための資金は、IETF管理サポート活動(IASA)によって提供されます。