Network Working Group S. Josefsson Request for Comments: 5021 SJD Updates: 4120 August 2007 Category: Standards TrackExtended Kerberos Version 5 Key Distribution Center (KDC) Exchanges over TCP
Josefsson Standards Track [Page 1]
RFC 5021 Kerberos V5 TCP Extension August 2007 1. IntroductionThe Kerberos V5 [3] specification, in section 7.2.2, reserves the high order bit in the initial length field for TCP transport for future expansion. This document updates [3] to describe the behaviour when that bit is set. This mechanism is intended for extensions that are specific for the TCP transport.
2. Conventions Used in This Document
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 [1].
3. Extension Mechanism for TCP Transport
The reserved high bit of the request length field is used to signal the use of this extension mechanism. When the reserved high bit is set in the length field, the remaining 31 bits of the initial 4 octets are interpreted as a bitmap. Each bit in the bitmask can be used to request a particular extension. The 31 bits form the "extension bitmask". It is expected that other documents will describe the details associated with particular bits.
Josefsson Standards Track [Page 2]
RFC 5021 Kerberos V5 TCP Extension August 2007
The client and KDC SHOULD wait for the other side to respond according to this protocol, and the client and KDC SHOULD NOT close the connection prematurely. Resource availability considerations may influence whether, and for how long, the client and KDC will wait for the other side to respond to a request.
4. Interoperability Consideration
Implementations with support for TCP that do not claim to conform to RFC 4120 may not handle the high bit correctly. The KDC behaviour may include closing the TCP connection without any response, and logging an error message in the KDC log. When this was written, this problem existed in modern versions of popular KDC implementations. Implementations experiencing trouble getting the expected responses from a KDC might assume that the KDC does not support this extension mechanism. A client might remember this semi-permanently, to avoid triggering the same problematic behaviour on the KDC every time. Care should be taken to avoid unexpected behaviour for the user when the KDC is eventually upgraded. Implementations might also provide a way to enable and disable this extension on a per-realm basis. How to handle these backwards compatibility quirks are in general left unspecified.
Josefsson Standards Track [Page 3]
RFC 5021 Kerberos V5 TCP Extension August 2007 5. Security ConsiderationsBecause the initial length field is not protected, it is possible for an active attacker (i.e., one that is able to modify traffic between the client and the KDC) to make it appear to the client that the server does not support this extension mechanism (a downgrade attack). Further, active attackers can also interfere with the negotiation of which extensions are supported, which may also result in a downgrade attack. This problem can be solved by having a policy in the clients and in the KDC to reject connections that do not have the desired properties. The problem can also be mitigated by having the negotiated extension send a cryptographic checksum of the offered extensions.
6. IANA Considerations
IANA has created a new registry for "Kerberos TCP Extensions". The initial contents of this registry are:Bit # Reference ----- --------- 0..29 AVAILABLE for registration.30 RESERVED. RFC 5021
Josefsson Standards Track [Page 4]
RFC 5021 Kerberos V5 TCP Extension August 2007 7. AcknowledgementsNicolas Williams, Jeffrey Hutzelman, Sam Hartman, and Chris Newman provided comments that improved the protocol and document.
8. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Josefsson Standards Track [Page 5]
RFC 5021 Kerberos V5 TCP Extension August 2007 Appendix A. Copying ConditionsRegarding this entire document or any portion of it, the author makes no guarantees and is not responsible for any damage resulting from its use. The author grants irrevocable permission to anyone to use, modify, and distribute it in any way that does not diminish the rights of anyone else to use, modify, and distribute it, provided that redistributed derivative works do not contain misleading author or version information. Derivative works need not be licensed under similar terms.
Josefsson Standards Track [Page 6]
RFC 5021 Kerberos V5 TCP Extension August 2007
Full Copyright Statement