Network Working Group L. Daigle Internet-Draft VeriSign, Inc. Expires: August 23, 2003 February 22, 2003 IRIS Certificate and Key Registry draft-daigle-iris-credreg-00.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 August 23, 2003. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. Abstract This document defines a credentials registry (credreg) and provides a specification in terms of an IRIS (draft-ietf-crisp-iris-core) registry schema. This registry enables location of certificates and public keys -- credential metadata can be searched to yield (pointers to) credentials. The schema extends the necessary query and result operations of IRIS to provide the functional information service needs for syntaxes and results used by credential registry administrators. Daigle Expires August 23, 2003 [Page 1] Internet-Draft iris-credreg February 2003 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Document Terminology . . . . . . . . . . . . . . . . . . . . 4 3. Credentials Registry . . . . . . . . . . . . . . . . . . . . 5 3.1 Data Model . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 Interaction Model . . . . . . . . . . . . . . . . . . . . . 5 3.2.1 Location of User Certificates and Keys . . . . . . . . . . . 5 3.2.2 Location of Application Keys . . . . . . . . . . . . . . . . 6 3.3 Data Currency . . . . . . . . . . . . . . . . . . . . . . . 6 3.4 Registry Server Independence . . . . . . . . . . . . . . . . 6 4. Schema Description . . . . . . . . . . . . . . . . . . . . . 7 4.1 IRIS Result Derivatives . . . . . . . . . . . . . . . . . . 7 4.1.1 . . . . . . . . . . . . . . . . . . . 7 4.1.2 . . . . . . . . . . . . . . . . . . . . . 8 4.1.3 . . . . . . . . . . . . . . . . . . . . . 8 4.2 IRIS Query Derivatives . . . . . . . . . . . . . . . . . . . 8 4.2.1 query . . . . . . . . . . . . . . . . . 8 4.2.2 query . . . . . . . . . . . . . . . . 9 4.2.3 query . . . . . . . . . . . . . . . . . . 11 4.2.4 Support for . . . . . . . . . . . . . . 11 5. Formal XML Syntax . . . . . . . . . . . . . . . . . . . . . 13 6. credreg and IRIS-lw . . . . . . . . . . . . . . . . . . . . 19 7. credreg Server Location Convention . . . . . . . . . . . . . 20 8. Internationalization Considerations . . . . . . . . . . . . 21 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 22 10. Security Considerations . . . . . . . . . . . . . . . . . . 23 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 24 References . . . . . . . . . . . . . . . . . . . . . . . . . 25 Author's Address . . . . . . . . . . . . . . . . . . . . . . 26 A. Complete Example Request and Response . . . . . . . . . . . 27 Full Copyright Statement . . . . . . . . . . . . . . . . . . 29 Daigle Expires August 23, 2003 [Page 2] Internet-Draft iris-credreg February 2003 1. Introduction This document defines a credential (certificate and public key) registry (credreg), and describes an IRIS registry schema for the service using an XML Schema [4] derived from and using the IRIS [5] schema. The schema given is this document is specified using the Extensible Markup Language (XML) 1.0 as described in XML [1], XML Schema notation as described in XML_SD [3] and XML_SS [4], and XML Namespaces as described in XML_NS [2]. It is important to note that XML is case sensitive. XML specifications and examples provided in this document MUST be interpreted in the exact character case presented to develop a conforming implementation. Daigle Expires August 23, 2003 [Page 3] Internet-Draft iris-credreg February 2003 2. Document Terminology 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 [11]. Daigle Expires August 23, 2003 [Page 4] Internet-Draft iris-credreg February 2003 3. Credentials Registry The intent of the IRIS-based credentials registry is to provide a simple, public system to facilitate the location of certificates and public keys for particular users, roles and applications. This is not a replacement for trust service protocols such as XKMS [12], and is independent of any particular public key infrastructure. Results may include certificates and public keys directly, or pointers to access them using trust service protocols. 3.1 Data Model The descriptive data included in the registry definition is based on the information a client is expected to have (in a query) and require (in a response) in order to locate actual credential information. The registry record is not a replacement for (or a super/subset of) a certificate format. While the rest of this document describes various parts of the data model used, the IRIS-based XML schema specified in Section 4 is definitive for acceptable descriptive information and result record formats. 3.2 Interaction Model The basic interaction is for the client to provide descriptive information about the entity (individual or application) for which the credential is sought, and the credreg server returns 0, one or more records that match the descriptive information. Those records contain the credentials, or pointers to them. While the primary motive for this registry is to provide access to public credentials, it does inherit the basic access control mechanisms of IRIS. 3.2.1 Location of User Certificates and Keys Applications such as encrypted e-mail require that an initiator have the (public) credentials of the recipient. If the initiator has not previously interacted with the recipient, their client software may not have a copy of the necessary credential. It is expected that the initiator would have the e-mail address and/or name of the intended recipient. The credentials registry provides a mechanism for using the information the initiator does have to locate the information they are not likely to have (the credential). Daigle Expires August 23, 2003 [Page 5] Internet-Draft iris-credreg February 2003 3.2.2 Location of Application Keys As indirection becomes more common in application server and service provision, it becomes important to have a mechanism to look up the credentials of any given application. It has been suggested that a new DNS RR could be defined to hold such information. The credreg approach is to provide one single server (the credreg server) which holds the information necessary to lookup and retrieve application credentials. 3.3 Data Currency The purpose of the registry is to provide information on the location of current credentials for individuals or applications. There is no provision to provide historical data or pointers. 3.4 Registry Server Independence This document defines the behaviour of individual credentials registries. While there is no specific requirement that this be so, the driving model at the basis the specification is that each server will act as a registry for users and application servers in one or more (DNS) domains. Section 7 describes a service location convention that provides clients with a strategy for finding authoritative credreg server(s) for a given domain. Daigle Expires August 23, 2003 [Page 6] Internet-Draft iris-credreg February 2003 4. Schema Description IRIS requires the derivation of both query and result elements by a registry schemas. These descriptions follow. References to XML elements with no namespace qualifier are from the schema defined in Section 5. References to elements with the "iris" XML namespace qualifier are from the schema defined in IRIS [5]. 4.1 IRIS Result Derivatives 4.1.1 The result type must contain o -- a server-specified identifier for this specific credential o -- the specific application for which the credential is intended (e.g., e-mail, instant messaging, etc). A special value of "any" is used if there is no particular application. o one of * -- public key * -- public part of certificate * -- a URI of any type referring to the credential material and may contain any or all of o -- personal name of the individual. o -- individual's role. In some cases, the credential may be associated with a role (e.g., "administrator") rather than a specific person. o -- the ID associated with the individual. This is application-specific (e.g., an e-mail address for e-mail credentials). o -- the domain name of association for the credential. Daigle Expires August 23, 2003 [Page 7] Internet-Draft iris-credreg February 2003 4.1.2 The result must contain o -- a server-specified identifier for this particular credential o -- the name of the server itself (as a domain or host name) o -- an identifier for the application in question (e.g., "www"). Several applications may be operated on the same server, and it is necessary to be able to distinguish between them in order to provide the right credentials. o one of * * * -- any URI referencing the required credential material. and may contain any or all of o -- the domain name of operation of the server o -- the name of the organization responsible for the server. 4.1.3 The contains an IRIS entity reference that can be used to retreive the credential result in the server. The client may request that results be returned as a set of so that a more compact reply is returned (though further dereferencing will be needed to get the credential material itself). 4.2 IRIS Query Derivatives 4.2.1 query finds an individual's credentials by the ID associated with the credential. For example, this might be an e-mail or instant messaging (IM) address. The search may be constrained by specifying the identifier of the application for which the credential Daigle Expires August 23, 2003 [Page 8] Internet-Draft iris-credreg February 2003 is used. E-mail and IM addresses may be the same string; the application qualifier can be used to distinguish them. The client may request that the results be returned as entity references only (). The or of if the client requested entity references only. These are defined in Section 4.1. Query fragment: leslie@thinkingcat.com e-mail Response fragment: leslie.thinkingcat.com.001 Leslie L. Daigle leslie@thinkingcat.com thinkingcat.com Thinking Cat Enterprises any ssh-dss AAAAB3NzaC1kc3MAAABBAJMPauNLsiZOpsp2bWEzXrP/TDeOPuVTuK/xzXYPGNpw2gU/6DDwP9Ulb64KfG3aV3L8mxbquRiCIMQ04EbR0/EAAAAVAJP8mw55riJWZfr13aoFjE9mMuRzAAAAQQCNQ7r994sofueXgVequqBCgHPWBtJm5wX1VUvy4mBLwwaEut7algsl8nnGtESKdKAGSXS5ZbMvpxNPYNbIHNDQAAAAQGvxFyD1s5ojbCLln6sz7KG8Lgtw2uUlJZ7yzkGXTtt0Ud06pdFR2gz19rpWE1JN/TG1mql3nH8Y2HJKkQaqO/4= leslie@thinkingcat.com 4.2.2 query finds an individual credential entity by the name of the individual. Optional search constraints include: to specify the results should be in domains within the domain specified by its content; to specify the target organization; and to specify the target application of the credential. The query may also specify that the results should be presented as entity references only (). Daigle Expires August 23, 2003 [Page 9] Internet-Draft iris-credreg February 2003 The or of if the client requested entity references only. These are defined in Section 4.1. Query fragment Daigle thinkingcat.com Response fragment leslie.thinkingcat.com.001 Leslie L. Daigle leslie@thinkingcat.com thinkingcat.com Thinking Cat Enterprises any ssh-dss AAAAB3NzaC1kc3MAAABBAJMPauNLsiZOpsp2bWEzXrP/TDeOPuVTuK/xzXYPGNpw2gU/6DDwP9Ulb64KfG3aV3L8mxbquRiCIMQ04EbR0/EAAAAVAJP8mw55riJWZfr13aoFjE9mMuRzAAAAQQCNQ7r994sofueXgVequqBCgHPWBtJm5wX1VUvy4mBLwwaEut7algsl8nnGtESKdKAGSXS5ZbMvpxNPYNbIHNDQAAAAQGvxFyD1s5ojbCLln6sz7KG8Lgtw2uUlJZ7yzkGXTtt0Ud06pdFR2gz19rpWE1JN/TG1mql3nH8Y2HJKkQaqO/4= leslie@thinkingcat.com leslie.thinkingcat.com.003 Leslie L. Daigle leslie@thinkingcat.com jabber.thinkingcat.com Thinking Cat Enterprises IM http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x5C568519 Daigle Expires August 23, 2003 [Page 10] Internet-Draft iris-credreg February 2003 4.2.3 query The is used for finding credentials of servers (e.g., web servers). An optional search constraint of can be used to indicate the particular application for which the credential is sought. A single machine (name) may host several different application servers, with different credentials. The client may request that the results contain entity references only (). The or of if the client requested entity references only. These are defined in Section 4.1. Query fragment thinkingcat.com Response fragment thinkingcat.com.010 www.thinkingcat.com thinkingcat.com Thinking Cat Enterprises www 4.2.4 Support for Two types of named entities are supported for the query: o for looking up credentials for individuals. A result of is returned. o for looking up credentials for servers. A result of Daigle Expires August 23, 2003 [Page 11] Internet-Draft iris-credreg February 2003 is returned. Daigle Expires August 23, 2003 [Page 12] Internet-Draft iris-credreg February 2003 5. Formal XML Syntax This registry schema is specified in the XML Schema notation. The formal syntax presented here is a complete schema representation suitable for automated validation of an XML instance when combined with the formal schema syntax of IRIS. (Security) Credentials Registry schema derived from IRIS schema Entity classes These are split up as: individual/server. Another cut would be to make it one per application type (per individual/server). The disadvantage to the latter is having to set the list of applications in the actual schema spec. The disadvantage to this way is that the individual identifier is not a (database) key, so one must be generated, and the fact that mayhem may ensue (since there is no standard set of credential application types). Supported result types: individualCredential individualCredentialHandle (required) Name (optional) Role (optional) individualID (optional) domainName (optional) credentialApplication (required) One of publicKey (optional), publicCert (optional), credentialURI (optional) Daigle Expires August 23, 2003 [Page 13] Internet-Draft iris-credreg February 2003 serverCredential serverCredentialHandle (required) serverName (required) domainName (optional) organizationName (optional) credentialApplication (required) One of: publicKey (optional), publicCert (optional) credentialURI (optional) entityRefResult thisEntityURI (required) Supported query types: findIndividualByID Input (now): Required: ID (exact or beginning) Optional: credential application Optional: request entity references only Considered refinements: Organization name (Individual) name findIndividualByName Input (now): Required: Name (exact, beginning, or ending) Optional: DomainName (ending) Optional: Organization (beginning) Optional: credential application Optional: request entity references only Considered refinements: findServerByName Input (now): Required: server name (ID) Optional: credential application Optional: request entity references only Considered refinements: Domain Name (name of the domain this server serves) Organization name Daigle Expires August 23, 2003 [Page 14] Internet-Draft iris-credreg February 2003 Daigle Expires August 23, 2003 [Page 15] Internet-Draft iris-credreg February 2003 type="token" /> type="normalizedString" /> Daigle Expires August 23, 2003 [Page 16] Internet-Draft iris-credreg February 2003 Daigle Expires August 23, 2003 [Page 18] Internet-Draft iris-credreg February 2003 6. credreg and IRIS-lw The credreg service may be supported using the lightweight UDP IRIS service, IRIS-lw ([7]). In this case, only the and searches with set to "true" are supported via IRIS-lw. Daigle Expires August 23, 2003 [Page 19] Internet-Draft iris-credreg February 2003 7. credreg Server Location Convention Although individual credreg servers are operated independently, there is a convention for locating authoritative servers for credential material. This convention uses the specific application of NAPTR DNS resource records defined in [6]. This document defines the "credreg" application service. Clients seeking authoritative credreg servers for credential materials should look up the credreg service in the domain of application of the credential material (the domain of the named server, the domain in the e-mail address, etc). For example, to find the credentials associated with the e-mail address "someone@example.com", the NAPTR records for the credreg application service in the "example.com" domain are looked up. example.com. ;; order pref flags service regexp replacement IN NAPTR 100 10 "s" "credreg+iris" "" _iris._tcp.someisp.com. and then the administrators at someisp.com can manage the preference rankings of the servers they use to support the prim service: _credreg._tcp.someisp.com. ;; Pref Weight Port Target IN SRV 10 0 10001 bigiron.example.com IN SRV 20 0 10001 backup.im.example.com IN SRV 30 0 10001 nuclearfallout.example.com.au Daigle Expires August 23, 2003 [Page 20] Internet-Draft iris-credreg February 2003 8. Internationalization Considerations Implementers should be aware of considerations for internationalization in IRIS [5]. Daigle Expires August 23, 2003 [Page 21] Internet-Draft iris-credreg February 2003 9. IANA Considerations The following URN will need to be registered with IANA according to the IANA considerations defined in IRIS [5]: urn:ietf:params:xml:ns:credreg1 Will also need to register the "credreg" service type for the NAPSTR server location scheme. Daigle Expires August 23, 2003 [Page 22] Internet-Draft iris-credreg February 2003 10. Security Considerations This document lays out no new considerations for security precautions beyond that specified in IRIS [5]. Daigle Expires August 23, 2003 [Page 23] Internet-Draft iris-credreg February 2003 11. Acknowledgements The author would like to thank Andy Newton for his input and many spirited discussions on the topic. As I set down my virtual pen and declare this rev complete, it is with anticipation of many more spirited discussions, to the benefit of future revisions :-) Daigle Expires August 23, 2003 [Page 24] Internet-Draft iris-credreg February 2003 References [1] World Wide Web Consortium, "Extensible Markup Language (XML) 1.0", W3C XML, February 1998, . [2] World Wide Web Consortium, "Namespaces in XML", W3C XML Namespaces, January 1999, . [3] World Wide Web Consortium, "XML Schema Part 2: Datatypes", W3C XML Schema, October 2000, . [4] World Wide Web Consortium, "XML Schema Part 1: Structures", W3C XML Schema, October 2000, . [5] Newton, A., "Internet Registry Information Service", draft- ietf-crisp-iris-core-01 (work in progress), November 2002. [6] Daigle, L. and A. Newton, "Domain-based Application Service Location Using SRV RRs and the Dynamic Delegation Discovery Service (DDDS)", draft-daigle-napstr-01 (work in progress), November 2002. [7] Newton, A. and L. Daigle, "Lightweight Internet Registry Information Service", draft-newtion-iris-lightweight-00 (work in progress), February 2003. [8] Reynolds, J. and J. Postel, "ASSIGNED NUMBERS", RFC 1700, STD 2, October 1994. [9] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", RFC 2434, BCP 26, October 1998. [10] Newton, A., "Cross Registry Internet Service Protocol (CRISP) Requirements", draft-ietf-crisp-requirements-00 (work in progress), August 2002. [11] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, BCP 14, March 1997. [12] World Wide Web Consortium, "XML Key Management Specification (XKMS)", W3C XKMS, March 2001, . Daigle Expires August 23, 2003 [Page 25] Internet-Draft iris-credreg February 2003 Author's Address Leslie L. Daigle VeriSign, Inc. 21345 Ridgetop Circle Sterling, VA 20166 USA Phone: +1 703 948 3385 EMail: leslie@verisignlabs.com URI: http://www.verisignlabs.com/ Daigle Expires August 23, 2003 [Page 26] Internet-Draft iris-credreg February 2003 Appendix A. Complete Example Request and Response The following is a complete example of an IRIS request and response using this registry schema. This XML instance is a request to search for an individual by a portion of the individual's ID. leslie Daigle Expires August 23, 2003 [Page 27] Internet-Draft iris-credreg February 2003 This XML instance is a response from Figure 7. leslie.thinkingcat.com.001 Leslie L. Daigle leslie@thinkingcat.com thinkingcat.com Thinking Cat Enterprises any ssh-dss AAAAB3NzaC1kc3MAAABBAJMPauNLsiZOpsp2bWEzXrP/TDeOPuVTuK/xzXYPGNpw2gU/6DDwP9Ulb64KfG3aV3L8mxbquRiCIMQ04EbR0/EAAAAVAJP8mw55riJWZfr13aoFjE9mMuRzAAAAQQCNQ7r994sofueXgVequqBCgHPWBtJm5wX1VUvy4mBLwwaEut7algsl8nnGtESKdKAGSXS5ZbMvpxNPYNbIHNDQAAAAQGvxFyD1s5ojbCLln6sz7KG8Lgtw2uUlJZ7yzkGXTtt0Ud06pdFR2gz19rpWE1JN/TG1mql3nH8Y2HJKkQaqO/4= leslie@thinkingcat.com Daigle Expires August 23, 2003 [Page 28] Internet-Draft iris-credreg February 2003 Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Daigle Expires August 23, 2003 [Page 29]