Generic Security Service Application Program Interface (GSS-API) Domain-Based Service Names Mapping for the Kerberos V GSS Mechanism
How a domain-based GSS-API service name becomes a three-part Kerberos V principal name.
Williams, N., "Generic Security Service Application Program Interface (GSS-API) Domain-Based Service Names Mapping for the Kerberos V GSS Mechanism", RFC 5179, DOI 10.17487/RFC5179, May 2008, <https://www.rfc-editor.org/info/rfc5179>.
@misc{rfc5179,
series = {Request for Comments},
number = 5179,
howpublished = {RFC 5179},
publisher = {RFC Editor},
doi = {10.17487/RFC5179},
url = {https://www.rfc-editor.org/info/rfc5179},
author = {N. Williams},
title = {{Generic Security Service Application Program Interface (GSS-API) Domain-Based Service Names Mapping for the Kerberos V GSS Mechanism}},
pagetotal = 5,
year = 2008,
month = may,
} RFC text
Contents
Network Working Group N. Williams
Request for Comments: 5179 Sun
Category: Standards Track May 2008
Generic Security Service Application Program Interface (GSS-API)
Domain-Based Service Names Mapping for the Kerberos V GSS Mechanism
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.
Abstract
This document describes the mapping of Generic Security Service
Application Program Interface (GSS-API) domain-name-based service
principal names onto Kerberos V principal names.
Table of Contents
1. Domain-Based Names for the Kerberos V GSS-API Mechanism . . . . 2
2. Conventions Used in This Document . . . . . . . . . . . . . . . 2
3. Internationalization Considerations . . . . . . . . . . . . . . 2
4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 3
6. Normative References . . . . . . . . . . . . . . . . . . . . . 3
1. Domain-Based Names for the Kerberos V GSS-API Mechanism
In accordance with [RFC5178], this document provides the mechanism-
specific details needed to implement GSS-API [RFC2743] domain-based
service names with the Kerberos V GSS-API mechanism [RFC4121].
GSS_C_NT_DOMAINBASED_SERVICE name SHOULD be mapped to Kerberos V
principal names as follows:
o the <service> name becomes the first (0th) component of the
Kerberos V principal name;
o the <hostname> becomes the second component of the Kerberos V
principal name;
o the <domain> name becomes the third component of the Kerberos V
principal name;
o the realm of the resulting principal name is that which
corresponds to the domain name, treated as a hostname.
The same name canonicalization considerations and methods as used
elsewhere in the Kerberos V GSS-API mechanism [RFC4121] and Kerberos
V [RFC4120] in general apply here.
Implementations SHOULD use a Kerberos V name-type of
NTT-SRVT-HST-DOMAIN (which has the value 12) but MAY use NT-UNKNOWN
instead.
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. Internationalization Considerations
It is unclear, at this time, how best to address internationalization
of Kerberos V domain-based principal names. This is because the
Kerberos V core protocol internationalization project is incomplete.
However, clearly the best way to interoperate when using Kerberos V
domain-based principal names is to use ACE-encoded internationalized
domain names [RFC3490] for the hostname and domain name slots of a
Kerberos V domain-based principal name. Therefore Kerberos V GSS-API
mechanism implementations MUST do just that.
4. Examples
o The domain-based name, of generic form,
"ldap@foo.example@ds1.foo.example" may map to a Kerberos V
principal name like: "ldap/ds1.foo.example/
foo.example@FOO.EXAMPLE"
o The domain-based name, of generic form,
"kadmin@foo.example@kdc1.foo.example" may map to a Kerberos V
principal name like: "kadmin/kdc1.foo.example/
foo.example@FOO.EXAMPLE"
5. Security Considerations
See [RFC5178].
It is important for the security of protocols using the Kerberos V
GSS-API mechanism and domain-based names, that the realm of domain-
based principal names be derived from the hostname, rather than the
domain name slots of the input domain-based name string.
6. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2743] Linn, J., "Generic Security Service Application Program
Interface Version 2, Update 1", RFC 2743, January 2000.
[RFC3490] Faltstrom, P., Hoffman, P., and A. Costello,
"Internationalizing Domain Names in Applications (IDNA)",
RFC 3490, March 2003.
[RFC4120] Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
Kerberos Network Authentication Service (V5)", RFC 4120,
July 2005.
[RFC4121] Zhu, L., Jaganathan, K., and S. Hartman, "The Kerberos
Version 5 Generic Security Service Application Program
Interface (GSS-API) Mechanism: Version 2", RFC 4121,
July 2005.
[RFC5178] Williams, N. and A. Melnikov, "Generic Security Service
Application Program Interface (GSS-API)
Internationalization and Domain-Based Service Names and
Name Type", RFC 5178, May 2008.
Author's Address
Nicolas Williams
Sun Microsystems
5300 Riata Trace Ct.
Austin, TX 78727
US
EMail: Nicolas.Williams@sun.com
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.
AI ELI5
On this page
§1Mapping Domain-Based Names
Following RFC 5178, this document gives the Kerberos V specifics for GSS-API domain-based service names (name type GSS_C_NT_DOMAINBASED_SERVICE). Such names SHOULD be mapped to Kerberos V principal names as follows:
- the service becomes the first (0th) component;
- the hostname becomes the second component;
- the domain name becomes the third component;
- the realm is the one that corresponds to the domain name, treated as a hostname.
The same name canonicalization considerations apply as elsewhere in the Kerberos V GSS-API mechanism and in Kerberos V generally.
The three pieces of the nickname are lined up in order: service first, then host, then domain.
§2Name Type
Implementations SHOULD use the Kerberos V name type NTT-SRVT-HST-DOMAIN, which has the value 12. They MAY use NT-UNKNOWN instead.
The name gets a label saying what kind of name it is. There is a preferred label and a fallback.
§3Examples and Internationalization
The RFC gives two examples. The domain-based name ldap@foo.example@ds1.foo.example may map to ldap/ds1.foo.example/foo.example@FOO.EXAMPLE, and kadmin@foo.example@kdc1.foo.example may map to kadmin/kdc1.foo.example/foo.example@FOO.EXAMPLE.
The RFC says it is unclear how best to handle internationalization because the Kerberos V core internationalization work was incomplete. It requires implementations to use ACE-encoded internationalized domain names for the hostname and domain slots.
Names with accents or other alphabets are written in a plain-letter code so everyone can read them the same way.
§4Security Considerations
The RFC refers to RFC 5178 for security considerations. It adds that, for security, the realm of a domain-based principal name must be derived from the hostname slot rather than the domain name slot of the input string.
Pick the right piece of the name to decide which realm to trust, or you could end up trusting the wrong one.