5 INTERNET-DRAFT S. Santesson (Microsoft)
7 Intended Category: Standards track
8 Expires September 2006 March 2006
11 TLS Handshake Message for Supplemental Data
12 <draft-santesson-tls-supp-00.txt>
17 By submitting this Internet-Draft, each author represents that any
18 applicable patent or other IPR claims of which he or she is aware
19 have been or will be disclosed, and any of which he or she becomes
20 aware will be disclosed, in accordance with Section 6 of BCP 79.
22 Internet-Drafts are working documents of the Internet Engineering
23 Task Force (IETF), its areas, and its working groups. Note that
24 other groups may also distribute working documents as Internet-
27 Internet-Drafts are draft documents valid for a maximum of six months
28 and may be updated, replaced, or obsoleted by other documents at any
29 time. It is inappropriate to use Internet-Drafts as reference
30 material or to cite them other than a "work in progress."
32 The list of current Internet-Drafts can be accessed at
33 http://www.ietf.org/1id-abstracts.html
35 The list of Internet-Draft Shadow Directories can be accessed at
36 http://www.ietf.org/shadow.html
41 This specification specifies a TLS handshake message for exchange of
42 supplemental application data. TLS hello message extensions are used
43 to determine which supplemental data types are supported by both the
44 TLS client and the TLS server. Then, the supplemental data handshake
45 message is used to exchange the data. Other documents will define
46 the syntax of these extensions and the syntax of the associated
47 supplemental data types.
58 INTERNET DRAFT TLS Handshake Message for Supplemental Data March 2006
63 Recent standards activities have proposed different mechanisms for
64 transmitting supplemental application data in the TLS handshake
65 message. For example, recent proposals transfer data that is not
66 processed by the TLS protocol itself, but assist the TLS-protected
67 application in the authentication and authorization decisions. One
68 proposal transfers user name hints for locating credentials, and
69 another proposal transfers attribute certificates and SAML assertions
70 for authorization checks.
72 In order to avoid definition of multiple handshake messages, one for
73 each new type of application specific supplemental data, this
74 specification defines a new handshake message type that bundles all
75 such data objects together and sends them in a single handshake
80 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
81 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
82 document are to be interpreted as described in RFC 2119 [STDWORDS].
84 The syntax for the supplemental_data handshake message is defined
85 using the TLS Presentation Language, which is specified in Section 4
88 2 Supplemental Data Handshake Message
90 The new supplemental_data handshake message type is defined to
91 accommodate communication of supplemental data objects as agreed
92 during the exchange of extensions in the client and server hello
93 messages. See RFC 2246 (TLS 1.0) [N2] and RFC 4346 (TLS 1.1) [N3]
94 for other handshake message types.
98 supplemental_data(TBD), (255)
102 HandshakeType msg_type; /* handshake type */
103 uint24 length; /* octets in message */
104 select (HandshakeType) {
105 case supplemental_data: SupplementalData;
114 INTERNET DRAFT TLS Handshake Message for Supplemental Data March 2006
118 SupplementalDataEntry supp_data<1..2^24-1>;
122 SupplementalDataType supp_data_type;
123 select(SupplementalDataType) { }
124 } SupplementalDataEntry;
128 } SupplementalDataType;
131 If present, the SupplementalData handshake message MUST contain a non
132 empty SupplementalDataEntry structure carrying data associated with
133 at least one defined SupplementalDataType. An explicit agreement
134 that governs presence of any associated data MUST be concluded
135 between client and server for each SupplementalDataType. This
136 agreement MUST be concluded through the use of TLS extensions in the
137 client and server hello messages.
139 Other documents will specify specific SupplementalDataType and their
140 associated data syntax and processing. These same specifications
141 must also specify the client and server hello message extensions that
142 are used to negotiate the support for the specified supplemental data
143 type. This document simply specifies the TLS Handshake Protocol
144 message that will carry the supplemental data objects.
146 Different situations require the transfer of supplemental data from
147 the client to the server, require the transfer of supplemental data
148 from server to the client, or require the transfer of supplemental
149 data from the client to the server as well as the transfer from the
150 server to the client. All three situations are fully supported.
170 INTERNET DRAFT TLS Handshake Message for Supplemental Data March 2006
175 The SupplementalData handshake message, if exchanged, MUST be sent as
176 the first handshake message as illustrated in Figure 1 below.
180 ClientHello (with extensions) -------->
182 ServerHello(with extensions)
187 <-------- ServerHelloDone
197 Application Data <-------> Application Data
199 * Indicates optional or situation-dependent messages.
201 Figure 1. Message flow with SupplementalData
226 INTERNET DRAFT TLS Handshake Message for Supplemental Data March 2006
229 5 Security Considerations
231 Each SupplementalDataType included in the handshake message defined
232 in this specification introduces its own unique set of security
233 properties and related considerations. Security considerations must
234 therefore be defined in each document that defines a supplemetal data
282 INTERNET DRAFT TLS Handshake Message for Supplemental Data March 2006
285 6 Normative References
287 [N1] S. Bradner, "Key words for use in RFCs to Indicate
288 Requirement Levels", BCP 14, RFC 2119, March 1997.
290 [N2] T. Dierks, C. Allen, "The TLS Protocol Version 1.0",
291 RFC 2246, January 1999.
293 [N3] T. Dierks, E. Rescorla, "The TLS Protocol Version 1.1",
294 RFC 4346, January 2006.
296 [N4] S. Blake-Wilson, M. Nystrom, D. Hopwood, J. Mikkelsen,
297 T. Wright, "Transport Layer Security (TLS) Extensions",
298 RFC 4366, February 2006.
301 7 IANA Considerations
303 IANA needs to establish a registry for TLS Supplemental Data Formats.
304 TLS Authorization Data Format identifiers with values in the
305 inclusive range 0-16385 (decimal) are assigned via RFC 2434 [IANA]
306 Standards Action. Values from the inclusive range 16385-65279
307 (decimal) are assigned via RFC 2434 Specification Required. Values
308 from the inclusive range 65280-65535 (decimal) are reserved for RFC
338 INTERNET DRAFT TLS Handshake Message for Supplemental Data March 2006
349 EMail: stefans(at)microsoft.com
354 The fundamental architectural idea for the supplemental data
355 handshake message was provided by Russ Housley and Eric Rescorla.
394 INTERNET DRAFT TLS Handshake Message for Supplemental Data March 2006
399 This document and the information contained herein are provided on an
400 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
401 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
402 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
403 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
404 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
405 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
410 Copyright (C) The Internet Society (2006).
412 This document is subject to the rights, licenses and restrictions
413 contained in BCP 78, and except as set forth therein, the authors
414 retain all their rights.
417 Expires September 2006