NETWORK WORKING GROUP                                             L. Zhu
Internet-Draft                                     Microsoft Corporation
Updates: 4120 (if approved)                                July 27, 2008
Intended status: Standards Track
Expires: January 28, 2009


                 Additional Kerberos Naming Constraints
                      draft-ietf-krb-wg-naming-05

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on January 28, 2009.

Abstract

   This document defines new naming constraints for well-known Kerberos
   principal name and well-known Kerberos realm names.












Zhu                     Expires January 28, 2009                [Page 1]


Internet-Draft               Kerberos Naming                   July 2008


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Conventions Used in This Document . . . . . . . . . . . . . . . 3
   3.  Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 3
     3.1.  Well-known Kerberos Principal Names . . . . . . . . . . . . 3
     3.2.  Well-known Kerberos Realm Names . . . . . . . . . . . . . . 4
   4.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 6
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     7.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6
     7.2.  Informative References  . . . . . . . . . . . . . . . . . . 6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 6
   Intellectual Property and Copyright Statements  . . . . . . . . . . 8




































Zhu                     Expires January 28, 2009                [Page 2]


Internet-Draft               Kerberos Naming                   July 2008


1.  Introduction

   Occasionally protocol designers need to designate a Kerberos
   principal name or a Kerberos realm name to have special meanings,
   other than identifying a particular instance.  An example is that the
   the anonymous principal name and the anonymous realm name are defined
   for the Kerberos anonymity support [ANON].  This anonymity name pair
   conveys no more meaning than that the client's identity is not
   disclosed.  In the case of the anonymity support, it is critical that
   deployed Kerberos implementations that do not support anonymity MUST
   fail the authentication if the anonymity name pair is used, therefore
   no access is granted accidentally to a principal who's name happens
   to match with that of the anonymous identity.

   However Kerberos as defined in [RFC4120] does not have such reserved
   names.  As such, protocol designers have resolved to use exceedingly-
   unlikely-to-have-been-used names to avoid collision.  Even if a
   registry were setup to avoid collision for new implementations, there
   is no guarantee for deployed implementations to prevent accidental
   reuse of names that can lead to access being granted unexpectedly.

   The Kerberos realm name in [RFC4120] has a reserved name space
   although no specific name is defined and the criticality of unknown
   reserved realm names is not specified.

   This document is to remedy these issues by defining well-known
   Kerberos names and the protocol behavior when a well-known name is
   used but not supported.


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 [RFC2119].


3.  Definitions

   In this section, well-known names are defined for both the Kerberos
   principal name and the Kerberos realm name.

3.1.  Well-known Kerberos Principal Names

   A new name type KRB_NT_WELLKNOWN is defined for well-known principal
   names.  The Kerberos principal name is defined in Section 6.2 of
   [RFC4120].




Zhu                     Expires January 28, 2009                [Page 3]


Internet-Draft               Kerberos Naming                   July 2008


            KRB_NT_WELLKNOWN                  11

   A well-known principal name MUST have at least two or more
   KerberosString components, and the first component must be the string
   literal "WELLKNOWN".

   If a well-known principal name is used as the client principal name
   or the server principal name but not supported, the Authentication
   Service (AS) [RFC4120] and the application server MUST reject the
   authentication attempt.  Similarly, the Ticket Granting Service (TGS)
   [RFC4120] MAY reject the authentication attempt if a well-known
   principal name is used as the client principal name but not
   supported, and SHOULD reject the authentication attempt if a well-
   known principal name is used as the server principal name but not
   supported.  Unless otherwise specified, if a well-known principal
   name is used but not supported in any other places of Kerberos
   messages, authentication MUST fail.  The error code is
   KRB_AP_ERR_PRINCIPAL_UNKNOWN, and there is no accompanying error data
   defined in this document for this error.

            KRB_AP_ERR_PRINCIPAL_UNKNOWN      82
                 -- A well-known Kerberos principal name is used but not
                 -- supported.

3.2.  Well-known Kerberos Realm Names

   Section 6.1 of [RFC4120] defines the "other" style realm name, a new
   realm type WELLKNOWN is defined as a name of type "other", with the
   NAMETYPE part filled in with the string literal "WELLKNOWN".

            other: WELLKNOWN:realm-name

   This name type is designated for well-known Kerberos realms.

   The AS and the application server MUST reject the authentication
   attempt if a well-known realm name is used as the client realm or the
   server realm but not supported.  The TGS [RFC4120] MAY reject the
   authentication attempt if a well-known realm name is used as the
   client realm but not supported, and SHOULD reject the authentication
   attempt if a well-known realm name is used as the server realm but
   not supported.  Unless otherwise specified, if a well-known realm
   name is used but not supported in any other places of Kerberos
   messages, authentication MUST fail.  The error code is
   KRB_AP_ERR_REALM_UNKNOWN, and there is no accompanying error data
   defined in this document for this error.

            KRB_AP_ERR_REALM_UNKNOWN          83
                 -- A well-known Kerberos realm name is used but not



Zhu                     Expires January 28, 2009                [Page 4]


Internet-Draft               Kerberos Naming                   July 2008


                 -- supported.

   Unless otherwise specified, all principal names involving a well-
   known realm name are reserved, and if a reserved principal name is
   used but not supported, and if the authentication is rejected, the
   error code MUST be KRB_AP_ERR_PRINCIPAL_RESERVED.

            KRB_AP_ERR_PRINCIPAL_RESERVED     84
                 -- A reserved Kerberos principal name is used but not
                 -- supported.

   There is no accompanying error data defined in this document for this
   error.

   According to Section 3.3.3.2 of [RFC4120], the TGS MUST add the name
   of the previous realm into the transited field of the returned
   ticket.  Typically well-known realms are defined to carry special
   meanings, and they are not used to refer to intermediate realms in
   the client's authentication path.  Consequently, unless otherwise
   specified, a well-known Kerberos realm name MUST NOT be present in
   the transited field [RFC4120] of a ticket.  Aside from the
   hierarchical meaning of a null subfield, the DOMAIN-X500-COMPRESS
   encoding for transited realms [RFC4120] treats realm names as
   strings, although it is optimized for domain style and X.500 realm
   names, hence the DOMAIN-X500-COMPRESS encoding can be used when the
   client realm or the server realm is reserved or when a reserved realm
   is in the transited field.  However, if the client's realm is a well-
   known realm, the abbreviation forms [RFC4120] that build on the
   preceding name cannot be used at the start of the transited encoding.
   The null-subfield form (e.g., encoding ending with ",") [RFC4120]
   could not be used next to a well-known realm, including potentially
   at the beginning and end where the client and server realm names,
   respectively, are filled in.


4.  Security Considerations

   It is possible to have name collision with well-known names because
   Kerberos as defined in [RFC4120] does not reserve names that have
   special meanings, consequently care MUST be taken to avoid accidental
   reuse of names.  If a well-known name is not supported,
   authentication MUST fail as specified in Section 3.  Otherwise,
   access can be granted unintentionally, resulting in a security
   weakness.  Consider for example, a KDC that supports this
   specification but not the anonymous authentication described in
   [ANON].  Assume further that the KDC allows a principal to be created
   named identically to the anonymous principal.  If that principal were
   created and given access to resources, then anonymous users might



Zhu                     Expires January 28, 2009                [Page 5]


Internet-Draft               Kerberos Naming                   July 2008


   inadvertently gain access to those resources if the KDC supports
   anonymous authentication at some future time.  Similar issues may
   occur with other well-known names.  By requiring KDCs reject
   authentication with unknown well-known names, we minimize these
   concerns.

   If a well-known name was created before the KDC is updated to conform
   to this specification, it SHOULD be renamed.  The provisioning code
   that manages account creation MUST be updated to disallow creation of
   principals with unsupported well-known names.


5.  Acknowledgements

   The initial document was mostly based on the author's conversation
   with Clifford Newman and Sam Hartman.

   Jeffery Hutzelman, Ken Raeburn, and Stephen Hanna provided helpful
   suggestions for improvements to early revisions of this document.


6.  IANA Considerations

   This document provides the framework for defining well-known Kerberos
   names and Kerberos realms.  A new IANA registry should be created to
   contain well-known Kerberos names and Kerberos realms that are
   defined based on this document.  The evaluation policy is
   "Specification Required".


7.  References

7.1.  Normative References

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

   [RFC4120]  Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
              Kerberos Network Authentication Service (V5)", RFC 4120,
              July 2005.

7.2.  Informative References

   [ANON]     Zhu, L., Leach, P. and K. Jaganathan, "Kerberos Anonymity
              Support", draft-ietf-krb-wg-anon, work in progress.







Zhu                     Expires January 28, 2009                [Page 6]


Internet-Draft               Kerberos Naming                   July 2008


Author's Address

   Larry Zhu
   Microsoft Corporation
   One Microsoft Way
   Redmond, WA  98052
   US

   Email: lzhu@microsoft.com










































Zhu                     Expires January 28, 2009                [Page 7]


Internet-Draft               Kerberos Naming                   July 2008


Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   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.

   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, THE IETF TRUST 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.


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.

   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.

   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.











Zhu                     Expires January 28, 2009                [Page 8]