4 Network Working Group S. Josefsson
6 Updates: 4120 (if approved) April 23, 2006
7 Expires: October 25, 2006
10 Extended Kerberos Version 5 Key Distribution Center (KDC) Exchanges Over
12 draft-josefsson-krb-tcp-expansion-02
16 By submitting this Internet-Draft, each author represents that any
17 applicable patent or other IPR claims of which he or she is aware
18 have been or will be disclosed, and any of which he or she becomes
19 aware will be disclosed, in accordance with Section 6 of BCP 79.
21 Internet-Drafts are working documents of the Internet Engineering
22 Task Force (IETF), its areas, and its working groups. Note that
23 other groups may also distribute working documents as Internet-
26 Internet-Drafts are draft documents valid for a maximum of six months
27 and may be updated, replaced, or obsoleted by other documents at any
28 time. It is inappropriate to use Internet-Drafts as reference
29 material or to cite them other than as "work in progress."
31 The list of current Internet-Drafts can be accessed at
32 http://www.ietf.org/ietf/1id-abstracts.txt.
34 The list of Internet-Draft Shadow Directories can be accessed at
35 http://www.ietf.org/shadow.html.
37 This Internet-Draft will expire on October 25, 2006.
41 Copyright (C) The Internet Society (2006).
45 This document describes an extensibility mechanism for the Kerberos
46 v5 protocol when used over TCP transports.
55 Josefsson Expires October 25, 2006 [Page 1]
57 Internet-Draft Kerberos V5 TCP extension April 2006
62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
63 2. Conventions used in this document . . . . . . . . . . . . . . . 3
64 3. Extension Mechanism for TCP transport . . . . . . . . . . . . . 3
65 4. Interoperability Consideration . . . . . . . . . . . . . . . . 4
66 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 4
67 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4
68 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5
69 8. Normative References . . . . . . . . . . . . . . . . . . . . . 5
70 Appendix A. Copying conditions . . . . . . . . . . . . . . . . . . 5
71 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 6
72 Intellectual Property and Copyright Statements . . . . . . . . . . 7
111 Josefsson Expires October 25, 2006 [Page 2]
113 Internet-Draft Kerberos V5 TCP extension April 2006
118 The Kerberos 5 [3] specification, in section 7.2.2, reserve the high
119 order bit in the initial length field for TCP transport for future
120 expansion. This document update [3] to describe the behaviour when
121 that bit is set. This mechanism is intended for extensions that are
122 specific for the TCP transport.
125 2. Conventions used in this document
127 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
128 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
129 document are to be interpreted as described in RFC 2119 [1].
132 3. Extension Mechanism for TCP transport
134 The reserved high bit of the request length field is used to signal
135 the use of this extension mechanism. When the reserved high bit is
136 set, the remaining 31 bits of the initial 4 octets are interpreted as
137 a bitmap. Each bit in the bitmask can be used to request a
138 particular extension. The 31 bits form the "extension bitmask". It
139 is expected that other documents will describe the details associated
140 with particular bits.
142 A 4-octet value with only the high bit set, and thus the extension
143 bitmask all zeros, is called a PROBE. A client may send a probe to
144 find out which extensions a KDC support. A client may also set
145 particular bits in the extension bitmask directly, if it does not
146 need to query the KDC for available extensions before deciding which
147 extension to request.
149 If a KDC receive a PROBE, or if a KDC does not support all extensions
150 corresponding to set bits in the extension bitmask, the KDC MUST
151 return 4 octets with the high bit set, and with the remaining bitmask
152 indicate which extensions it supports. The KDC MUST NOT close the
153 connection, and MUST wait for the client to then send a second
154 4-octet value, with the high bit set and the remaining bits as the
155 bitmask, to request a particular extension. If the second 4-octet
156 value is a PROBE or an unsupported extension, the KDC MUST close the
157 connection. This is used by the client to shutdown a session when
158 the KDC did not support a, by the client, required extension.
160 The behaviour when more than one non-high bit is set depends on the
161 particular extension mechanisms. If a requested extension (bit X)
162 does not specify how it interact with another requested extensions
163 (bit Y), the KDC MUST treat the request as a PROBE or unsupported
167 Josefsson Expires October 25, 2006 [Page 3]
169 Internet-Draft Kerberos V5 TCP extension April 2006
172 extension, and proceed as above.
174 Each extension MUST describe the structure of protocol data beyond
175 the length field, and the behaviour of the client and KDC. If an
176 extension mechanism reserve multiple bits, it MUST describe how they
180 4. Interoperability Consideration
182 Implementations with support for TCP that do not claim to conform to
183 RFC 4120 may not handle the high bit correctly. Behaviour may
184 include closing the TCP connection without any response, and logging
185 an error message in the KDC log. When this was written, this problem
186 existed in modern versions of popular implementations.
187 Implementations experiencing trouble getting the expected responses
188 from a server SHOULD assume that it does not support this extension
189 mechanism. Clients MAY remember this semi-permanently, to avoid
190 excessive logging in the server. Care should be taken to avoid
191 unexpected behaviour for the user when the KDC is eventually
192 upgraded. How to handle these backwards compatibility quirks are in
193 general left unspecified.
196 5. Security Considerations
198 Because the initial length field is not protected, it is possible for
199 an active attacker (i.e., one that is able to modify traffic between
200 the client and the KDC) to make it appear to the client that the
201 server does not support this extension mechanism. Client and KDC
202 policies can be used to reject connections that does not use any
206 6. IANA Considerations
208 IANA needs to create a new registry for "Kerberos 5 TCP Extensions".
209 The initial contents of this registry should be:
211 [[RFC Editor: Replace xxxx below with the number of this RFC.]]
213 Bit # Meaning Reference
214 ----- ------- ---------
215 0..29 AVAILABLE for registration.
216 30 RESERVED. RFC XXXX
218 IANA will register values 0 to 29 after IESG Approval, as defined in
219 BCP 64 [2]. Assigning value 30 requires a Standards Action.
223 Josefsson Expires October 25, 2006 [Page 4]
225 Internet-Draft Kerberos V5 TCP extension April 2006
230 Thanks to Andrew Bartlett who pointed out that some implementations
231 (MIT Kerberos and Heimdal) did not follow RFC 4120 properly with
232 regards to the high bit, which resulted in an Interoperability
235 Nicolas Williams and Jeffrey Hutzelman provided comments that
236 improved the document.
238 8. Normative References
240 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
241 Levels", BCP 14, RFC 2119, March 1997.
243 [2] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
244 Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
246 [3] Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The Kerberos
247 Network Authentication Service (V5)", RFC 4120, July 2005.
250 Appendix A. Copying conditions
252 Regarding this entire document or any portion of it, the author makes
253 no guarantees and is not responsible for any damage resulting from
254 its use. The author grants irrevocable permission to anyone to use,
255 modify, and distribute it in any way that does not diminish the
256 rights of anyone else to use, modify, and distribute it, provided
257 that redistributed derivative works do not contain misleading author
258 or version information. Derivative works need not be licensed under
279 Josefsson Expires October 25, 2006 [Page 5]
281 Internet-Draft Kerberos V5 TCP extension April 2006
289 Email: simon@josefsson.org
335 Josefsson Expires October 25, 2006 [Page 6]
337 Internet-Draft Kerberos V5 TCP extension April 2006
340 Intellectual Property Statement
342 The IETF takes no position regarding the validity or scope of any
343 Intellectual Property Rights or other rights that might be claimed to
344 pertain to the implementation or use of the technology described in
345 this document or the extent to which any license under such rights
346 might or might not be available; nor does it represent that it has
347 made any independent effort to identify any such rights. Information
348 on the procedures with respect to rights in RFC documents can be
349 found in BCP 78 and BCP 79.
351 Copies of IPR disclosures made to the IETF Secretariat and any
352 assurances of licenses to be made available, or the result of an
353 attempt made to obtain a general license or permission for the use of
354 such proprietary rights by implementers or users of this
355 specification can be obtained from the IETF on-line IPR repository at
356 http://www.ietf.org/ipr.
358 The IETF invites any interested party to bring to its attention any
359 copyrights, patents or patent applications, or other proprietary
360 rights that may cover technology that may be required to implement
361 this standard. Please address the information to the IETF at
365 Disclaimer of Validity
367 This document and the information contained herein are provided on an
368 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
369 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
370 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
371 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
372 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
373 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
378 Copyright (C) The Internet Society (2006). This document is subject
379 to the rights, licenses and restrictions contained in BCP 78, and
380 except as set forth therein, the authors retain all their rights.
385 Funding for the RFC Editor function is currently provided by the
391 Josefsson Expires October 25, 2006 [Page 7]