draft-ietf-kitten-gssapi-domain-based-names-02.txt   draft-ietf-kitten-gssapi-domain-based-names-03.txt 
NETWORK WORKING GROUP N. Williams NETWORK WORKING GROUP N. Williams
Internet-Draft Sun Internet-Draft Sun
Expires: December 28, 2006 June 26, 2006 Intended status: Informational September 12, 2006
Expires: March 16, 2007
GSS-API Domain-Based Service Names and Name Type GSS-API Domain-Based Service Names and Name Type
draft-ietf-kitten-gssapi-domain-based-names-02.txt draft-ietf-kitten-gssapi-domain-based-names-03.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 33 skipping to change at page 1, line 34
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 28, 2006. This Internet-Draft will expire on March 16, 2007.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2006). Copyright (C) The Internet Society (2006).
Abstract Abstract
This document describes domainname-based service principal names and This document describes domainname-based service principal names and
the corresponding name type for the Generic Security Service the corresponding name type for the Generic Security Service
Application Programming Interface (GSS-API). Application Programming Interface (GSS-API).
Domain-based service names are similar to host-based service names, Domain-based service names are similar to host-based service names,
but using a domain name (not necessarily an Internet domain name) but using a domain name (not necessarily an Internet domain name) in
instead of or in addition to a hostname. The primary purpose of addition to a hostname. The primary purpose of domain-based names is
domain-based service names is to provide a way to name clustered to provide a measure of protection to applications that utilize
services after the domain which they service, thereby allowing their insecure service discovery protocols. This is achieved by providing
clients to authorize the service's servers based on authentication of a way to name clustered services after the "domain" which they
their names. service, thereby allowing their clients to authorize the service's
servers based on authentication of their service names.
Table of Contents Table of Contents
1. Conventions used in this document . . . . . . . . . . . . . 3 1. Conventions used in this document . . . . . . . . . . . . . 3
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Name Type OID and Symbolic Name . . . . . . . . . . . . . . 5 3. Name Type OID and Symbolic Name . . . . . . . . . . . . . . 5
4. Query and Display Syntaxes . . . . . . . . . . . . . . . . . 6 4. Query and Display Syntaxes . . . . . . . . . . . . . . . . . 6
5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1. Examples of domain-based names . . . . . . . . . . . . . . . 6
5. Application protocol examples . . . . . . . . . . . . . . . 7
5.1. NFSv4 domain-wide namespace root server discovery . . . . . 7
5.2. LDAP server discovery . . . . . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . 8 6. Security Considerations . . . . . . . . . . . . . . . . . . 8
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . . 9 7.1. Normative References . . . . . . . . . . . . . . . . . . . . 9
7.2. Informative . . . . . . . . . . . . . . . . . . . . . . . . 9 7.2. Informative References . . . . . . . . . . . . . . . . . . . 9
Author's Address . . . . . . . . . . . . . . . . . . . . . . 10 Author's Address . . . . . . . . . . . . . . . . . . . . . . 10
Intellectual Property and Copyright Statements . . . . . . . 11 Intellectual Property and Copyright Statements . . . . . . . 11
1. Conventions used in this document 1. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
2. Introduction 2. Introduction
The use of hostbased principal names for domain-wide services Some applications need to discover the names of servers for a
presents the problem of how to distinguish between an instance of a specific resource. Some common methods for server discovery are
hostbased service that is authorized to respond for a domain and one insecure, e.g., queries for DNS [RFC1035] SRV resource records
that isn't. [RFC2782] without using DNSSEC [RFC4033] and subject to attacks
whereby a client can be re-directed to incorrect and possibly
Consider LDAP. LDAP [RFC3377] with SASL [RFC2222] and the Kerberos V malicious servers. A client may even be re-directed to a server that
mechanism [RFC1964] for the GSS-API [RFC2743] uses a hostbased has credentials for itself and may thus authenticate itself to the
principal with a service name of "ldap", a reasonable approach, client, and yet it could be incorrect or malicious (because it has
provided there is only one logical LDAP directory in a Kerberos been compromised, say).
realm's domain, and that all ldap servers in that realm serve that
one LDAP directory. An network might have multiple, distinct LDAP
services, but only one LDAP "name service"; if so then clients could
not tell which LDAP service principals are authorized to serve which
directory, not without assuming a secure method for finding LDAP
servers (e.g., DNSSEC). This is a significant, and oft-unstated
restriction on users of LDAP.
Domain based names can eliminate this problem: the use of domain-
based names should imply that the given host is a server for the
official LDAP name service of the given domain.
Notwithstanding the LDAP example the use of domain-based principal Domain-based names allow for GSS-API [RFC2743] initiator applications
names for LDAP is not actually specified here and will be specified (clients) to authorize acceptor principals (servers) to serve the
in a separate document. resource for which the client used insecure server discovery without
either securing the server discovery method nor requiring an
additional protocol for server authorization -- either a discovered
server has credentials for authenticating the domain-based service
names that it is intended to respond to, or it does not.
Availability of valid credentials for authenticating domain-based
names embodies the authorization of a given server to a domain-wide
service.
A domain-based name consists of three required elements: A domain-based name consists of three required elements:
o a service name o a service name
o a domain name o a domain name
o a hostname o a hostname
For the purposes of domain-based names a "domain" is defined by the
applications that use domain-based names. An application protocol
might use a simple DNS domainname, such as "example.com" for naming,
while another it might use the DNS domainname of the SRV RRs it
queries (e.g., "_tcp._foo.example.com"), and yet another may use
something that does not resemble a DNS domainname. Application
protocol specifications that provide for use of domain-based service
names MUST define the domain-portion of their domain-based names.
Note that domain-based naming isn't new. According to a report to
the KITTEN WG mailing list there exists at least one implementation
of LDAP which uses domain-based service naming, and the DIGEST-MD5
HTTP/SASL mechanism [RFC2831] describes a similar notion (see section
2.1.2, description of the "serv-name" field of the digest-response).
3. Name Type OID and Symbolic Name 3. Name Type OID and Symbolic Name
The new name type has an OID of The new name type has an OID of
[NOTE: OID assignment to be made with IANA.] [NOTE: OID assignment to be made with IANA.]
{iso(1) org(3) dod(6) internet(1) security(5) nametypes(6) gss- {iso(1) org(3) dod(6) internet(1) security(5) nametypes(6) gss-
domain-based(5)} domain-based(5)}
The recommended symbolic name for this GSS-API name type is The recommended symbolic name for this GSS-API name type is
"GSS_C_NT_DOMAINBASED_SERVICE". "GSS_C_NT_DOMAINBASED_SERVICE".
4. Query and Display Syntaxes 4. Query and Display Syntaxes
There is a single name syntax for domain-based names. There is a single name syntax for domain-based names.
The syntax is: The syntax is:
domain-based-name := domain-based-name :=
| <service> '@' <domain> '@' <hostname> <service> '@' <domain> '@' <hostname>
Note that for Internet domain names the trailing '.' is not and MUST Note that for Internet domain names the trailing '.' MUST NOT be
NOT be included in the domain name (or hostname) parts of the display included in the hostname part of the display form GSS-API domain-
form GSS-API domain-based MNs. based MNs; hostnames MUST NOT contain '@'.
5. Examples 4.1. Examples of domain-based names
These examples are not normative:
o ldap@example.tld@ds1.example.tld o ldap@example.tld@ds1.example.tld
o kadmin@example.tld@kdc1.example.tld o nfs@example.tld@nfsroot1.example.tld
5. Application protocol examples
The following examples are not normative. They describe how the
author envisions two applications' use of domain-based names.
5.1. NFSv4 domain-wide namespace root server discovery
Work is ongoing to provide a method for constructing domain-wide
NFSv4 [RFC3530] filesystem namespaces where there is a single "root"
with one or more servers (replicas) and multiple filesystems glued
into the namespace through use of "referrals." Clients could then
construct a "global" namespace through use of the DNS domain
hierarchy.
Here clients would always know, from context, when they need to find
the root servers for a given DNS domain. Root server discovery would
be performed using DNS SRV RR lookups, without using DNSSEC where
DNSSEC has not been deployed.
When using RPCSEC_GSS [RFC2203] for security NFSv4 clients would then
use domain-based names to ensure that that the servers named in the
SRV RRs are in fact authorized to be the NFSv4 root servers for the
target domain.
5.2. LDAP server discovery
LDAP clients using the GSS-API through SASL too would benefit from
use of domain-based names to protect server discovery through
insecure DNS SRV RR lookups, much as described above.
Unlike NFSv4 clients, not all LDAP clients may always know from
context when they should use domain-based names. That's because
existing clients may use host-based naming to authenticate servers
discovered through SRV RR lookups. Changing such clients to use
domain-based naming when domain-based acceptor credentials have not
been deployed to LDAP servers, or when LDAP servers have not been
modified to allow use of domain-based naming, would break
interoperability. That is, there is a legacy server interoperability
issue here. Therefore LDAP clients may require additional
configuration at deployment time to enable (or disable) use of
domain-based naming.
Note: whether SASL [RFC4422] or its GSS-API bridges
[I-D.ietf-sasl-gssapi] [I-D.josefsson-sasl-gs2] require updates in
order allow use of domain-based names is not relevant to the theory
of how domain-based naming would protect LDAP clients' server
discovery.
6. Security Considerations 6. Security Considerations
Use of GSS-API domain-based names may not be negotiable by some GSS- Use of GSS-API domain-based names may not be negotiable by some GSS-
API mechanisms, and some acceptors may not support GSS-API domain- API mechanisms, and some acceptors may not support GSS-API domain-
based names. In such cases initiators are left to fallback on the based names. In such cases initiators are left to fallback on the
use of hostbased names, in which case the initiators MUST also verify use of hostbased names, in which case the initiators MUST also verify
that the acceptor's hostbased name is authorized to provide the given that the acceptor's hostbased name is authorized to provide the given
service for the domain that the initiator had wanted. service for the domain that the initiator had wanted.
The above security consideration also applies to all GSS-API The above security consideration also applies to all GSS-API
initiators who lack support for domain-based service names. initiators who lack support for domain-based service names.
7. References 7. References
7.1. Normative 7.1. Normative References
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2743] Linn, J., "Generic Security Service Application Program [RFC2743] Linn, J., "Generic Security Service Application Program
Interface Version 2, Update 1", RFC 2743, January 2000. Interface Version 2, Update 1", RFC 2743, January 2000.
7.2. Informative [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
specifying the location of services (DNS SRV)", RFC 2782,
February 2000.
[RFC1964] Linn, J., "The Kerberos Version 5 GSS-API Mechanism", [RFC2831] Leach, P. and C. Newman, "Using Digest Authentication as a
RFC 1964, June 1996. SASL Mechanism", RFC 2831, May 2000.
[RFC2222] Myers, J., "Simple Authentication and Security Layer [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
(SASL)", RFC 2222, October 1997. Rose, "DNS Security Introduction and Requirements",
RFC 4033, March 2005.
[RFC3377] Hodges, J. and R. Morgan, "Lightweight Directory Access 7.2. Informative References
Protocol (v3): Technical Specification", RFC 3377,
September 2002. [I-D.ietf-sasl-gssapi]
Melnikov, A., "The Kerberos V5 ("GSSAPI") SASL mechanism",
draft-ietf-sasl-gssapi-06 (work in progress), June 2006.
[I-D.josefsson-sasl-gs2]
Josefsson, S., "Using GSS-API Mechanisms in SASL: The GS2
Mechanism Family", draft-josefsson-sasl-gs2-00 (work in
progress), November 2005.
[RFC2203] Eisler, M., Chiu, A., and L. Ling, "RPCSEC_GSS Protocol
Specification", RFC 2203, September 1997.
[RFC3530] Shepler, S., Callaghan, B., Robinson, D., Thurlow, R.,
Beame, C., Eisler, M., and D. Noveck, "Network File System
(NFS) version 4 Protocol", RFC 3530, April 2003.
[RFC4422] Melnikov, A. and K. Zeilenga, "Simple Authentication and
Security Layer (SASL)", RFC 4422, June 2006.
Author's Address Author's Address
Nicolas Williams Nicolas Williams
Sun Microsystems Sun Microsystems
5300 Riata Trace Ct 5300 Riata Trace Ct
Austin, TX 78727 Austin, TX 78727
US US
Email: Nicolas.Williams@sun.com Email: Nicolas.Williams@sun.com
Intellectual Property Statement Full Copyright Statement
Copyright (C) The Internet Society (2006).
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 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 The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights 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 might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 11, line 29 skipping to change at page 11, line 45
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Disclaimer of Validity
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 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.
Copyright Statement
Copyright (C) The Internet Society (2006). 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.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is provided by the IETF
Internet Society. Administrative Support Activity (IASA).
 End of changes. 21 change blocks. 
67 lines changed or deleted 156 lines changed or added

This html diff was produced by rfcdiff 1.32. The latest version is available from http://www.levkowetz.com/ietf/tools/rfcdiff/