RFC 4386 EXPERIMENTAL PKI · DNS · DISCOVERY

PKIX Repository Locator: Internet X.509 Public Key Infrastructure Repository Locator Service

How a certificate-using program can find a domain's PKI repository by asking DNS for an SRV record.

On rfc-editor.org ↗
PUBLISHED
February 2006
AUTHORS
S. Boeyen, P. Hallam-Baker
STREAM
IETF
UPDATED BY
RFC 8553 — DNS Attrleaf Fixes
SRV RECORD TYPE CODE
33
SERVICE LABEL
PKIXREP, used as _PKIXREP
PROTOCOLS COVERED
LDAP, HTTP, OCSP
QUERY CLASS AND TYPE
QCLASS=IN, QTYPE=SRV
DOI
10.17487/RFC4386

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                          S. Boeyen
Request for Comments: 4386                                  Entrust Inc.
Category: Experimental                                   P. Hallam-Baker
                                                           VeriSign Inc.
                                                           February 2006


               Internet X.509 Public Key Infrastructure
                      Repository Locator Service

Status of This Memo

   This memo defines an Experimental Protocol for the Internet
   community.  It does not specify an Internet standard of any kind.
   Discussion and suggestions for improvement are requested.
   Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This document defines a Public Key Infrastructure (PKI) repository
   locator service.  The service makes use of DNS SRV records defined in
   accordance with RFC 2782.  The service enables certificate-using
   systems to locate PKI repositories.

Table of Contents

   1. Overview ........................................................2
      1.1. Conventions Used in This Document ..........................2
   2. SRV RR Definition ...............................................2
      2.1. Assignment of New Protocol Prefixes ........................3
      2.2. Use of Multiple Repositories ...............................3
      2.3. SRV RR Example .............................................3
   3. Security Considerations .........................................4
   4. IANA Considerations .............................................4
   5. Informative References ..........................................4

1.  Overview

   A number of RFCs (including [RFC2559], [RFC2560], and [RFC2585]) have
   specified operational protocols for retrieval of PKI data, including
   public-key certificates and revocation information, from PKI
   repositories.  These RFCs assume that a certificate-using system has
   the information necessary to identify, locate, and connect to the PKI
   repository with a specific protocol.  Although some tools are
   available in protocol-specific environments for this purpose, such as
   knowledge references in directory systems, these are restricted for
   use with a single protocol and do not share a common means of
   publication.  This document provides a solution to this problem
   through the use of Service Record (SRV) Resource Records (RRs) in
   DNS.  This solution is expected to be particularly useful in
   environments where only a domain name is available.  In other
   situations (e.g., where a certificate is available that contains the
   required information), such a DNS lookup is not needed.

   [RFC2782] defines a DNS RR for specifying the location of services
   (SRV).  This document defines SRV records for a PKI repository
   locator service to enable PKI clients to obtain the necessary
   information to connect to a domain's PKI repository, including
   information about each protocol that is supported by that domain for
   access to its repository.  This document includes the definition of
   an SRV RR format for this service and an example of its potential use
   in an email environment.

1.1.  Conventions Used in This Document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT",
   "RECOMMENDED", "MAY", and "OPTIONAL" in this document (in uppercase,
   as shown) are to be interpreted as described in [RFC2119].

   In examples, "C:" and "S:" indicate lines sent by the client and
   server, respectively.

2.  SRV RR Definition

   The format of the SRV RR, whose DNS type code is 33, is:

    _Service._Proto.Name TTL Class SRV Priority Weight Port Target

   For the PKI repository locator service, this document uses the
   symbolic name "PKIXREP".  Note that when used in an SRV RR, this name
   MUST be prepended with an "_" character.

   The protocols that can be included in PKIXREP SRV RRs are:

      Protocol     SRV Prefix

      LDAP         _LDAP
      HTTP         _HTTP
      OCSP         _OCSP

2.1.  Assignment of New Protocol Prefixes

   Protocol prefix assignments for new PKIX repository protocols SHOULD
   be defined in the document that specifies the protocol.

2.2.  Use of Multiple Repositories

   The existence of multiple repositories MAY be determined by making
   separate DNS queries for each of the protocols supported by the
   client.

   If this approach is found to be unacceptably inefficient due to a
   proliferation of repository protocols at a future date, the service
   discovery protocol could be extended to allow the repository to
   advertise the protocols supported.

2.3.  SRV RR Example

   This example uses the fictional domain "example.com" as an aid in
   understanding the use of SRV records by a certificate-using system.

   Assume that Alice is an email client that needs a certificate for a
   recipient.  Alice's client system supports LDAP for certificate
   retrieval.  Assume the message recipient is Bob and that Bob's email
   address is bob@example.com.  Assume that example.test maintains a
   "border directory" PKI repository and that Bob's certificate is
   available from that directory, "border.example.com", via LDAP.

   Alice's client system retrieves, via DNS, the SRV record for
   _PKIXREP._LDAP.example.com.

      -  The QNAME of the DNS query is _PKIXREP._LDAP.example.com.

      - The QCLASS of the DNS query is IN.

      -  The QTYPE of the DNS query is SRV.

   The result SHOULD include the host address for example.com's border
   directory system.

   Note that if example.com operated its service on a number of hosts,
   more than one SRV RR would be returned.  In this case, RFC 2782
   defines the procedure to be followed in determining which of these
   should be accessed first.

3.  Security Considerations

   Security issues regarding PKI repositories themselves are outside the
   scope of this document.  For LDAP repositories, for example, specific
   security considerations are addressed in RFC 2559.

   Security issues with respect to the use of SRV records in general are
   addressed in RFC 2782, and these issues apply to the use of SRV
   records in the context of the PKIXREP service defined here.

4.  IANA Considerations

   This document reserves the use of "_PKIXREP" service label.  Since
   this relates to a service that may pass messages over a number of
   different message transports, each message must be associated with a
   specific transport.

   In order to ensure that the association between "_PKIXREP" and their
   respective underlying services is deterministic, the IANA has created
   a new registry: PKIX SRV Protocol Labels.

   For this registry, an entry shall consist of a label name and a
   pointer to a specification describing how the protocol named in the
   label uses SRV.  Specifications should conform to the requirements
   listed in [RFC2434] for "specification required".

5.  Informative References

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

   [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
             IANA Considerations Section in RFCs", BCP 26, RFC 2434,
             October 1998.

   [RFC2559] Boeyen, S., Howes, T., and P. Richard, "Internet X.509
             Public Key Infrastructure Operational Protocols - LDAPv2",
             RFC 2559, April 1999.

   [RFC2560] Myers, M., Ankney, R., Malpani, A., Galperin, S., and C.
             Adams, "X.509 Internet Public Key Infrastructure Online
             Certificate Status Protocol - OCSP", RFC 2560, June 1999.

   [RFC2585] Housley, R. and P. Hoffman, "Internet X.509 Public Key
             Infrastructure Operational Protocols: FTP and HTTP", RFC
             2585, May 1999.

   [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
             specifying the location of services (DNS SRV)", RFC 2782,
             February 2000.

Authors' Addresses

   Sharon Boeyen
   Entrust
   1000 Innovation Drive
   Ottawa, Ontario
   Canada K2K 3E7

   EMail: sharon.boeyen@entrust.com


   Phillip M. Hallam-Baker
   VeriSign Inc.
   401 Edgewater Place, Suite 280
   Wakefield MA 01880

   EMail: pbaker@VeriSign.com

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
   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.

Acknowledgement

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).

ISO Plain Language

On this page
PROBLEMThe RFCs that define how to fetch certificates and revocation information all assume the client already knows which repository to use and how to reach it, and the existing ways of publishing that information are tied to one protocol each.
MECHANISMThe memo defines an SRV record for a repository locator service, with the service label _PKIXREP and a protocol label for each access method, so a client asks DNS for _PKIXREP._LDAP.example.com and is told the host and port of the repository to query.
WHY IT MATTERSThe approach is aimed at environments where only a domain name is available; where a certificate already carries the information, no lookup is needed. It is an Experimental specification.

§1Why a Repository Locator Service

A number of RFCs, among them the operational protocols for LDAP, OCSP and for FTP and HTTP, have specified operational protocols for retrieving PKI data, including public-key certificates and revocation information, from PKI repositories. Those documents assume that a certificate-using system already has the information necessary to identify, locate and connect to the PKI repository with a specific protocol.

Some tools are available in protocol-specific environments for this purpose, such as knowledge references in directory systems, but they are restricted to use with a single protocol and do not share a common means of publication. This document provides a solution through the use of Service Record resource records in DNS. The solution is expected to be particularly useful in environments where only a domain name is available; in other situations, for example where a certificate is available that already contains the required information, such a DNS lookup is not needed.

RFC 2782 defines the DNS record for specifying the location of services. This document defines SRV records for a PKI repository locator service, so that PKI clients can obtain the information they need to connect to a domain's PKI repository, including which protocols that domain supports for access to its repository.

The protocols that fetch certificates are already written. What they leave out is how a program finds the server to fetch from. The memo puts that answer in DNS, where a domain name is usually all a client has to go on.

WHAT THE MEMO ADDS TO THE EXISTING PKI PROTOCOLS
  • Retrieval protocols existRFCs already define how to fetch certificates and revocation data over LDAP, HTTP or OCSP.
  • The gap they leaveThose documents assume the client already knows which repository to use and how to reach it.
  • The fixPublish the repository in DNS as an SRV record under a fixed service label.

§2The SRV Record Definition

The format of the SRV record, whose DNS type code is 33, is _Service._Proto.Name TTL Class SRV Priority Weight Port Target. For the PKI repository locator service the symbolic name is PKIXREP, and when it is used in an SRV record this name must be prepended with an underscore character.

The protocols that can be included in PKIXREP SRV records are LDAP with the prefix _LDAP, HTTP with the prefix _HTTP, and OCSP with the prefix _OCSP. Assignments of protocol prefixes for new PKI repository protocols should be defined in the document that specifies the protocol.

The existence of multiple repositories may be determined by making separate DNS queries for each of the protocols supported by the client. If that turns out to be unacceptably inefficient because of a proliferation of repository protocols at some future date, the memo suggests the service discovery protocol could be extended to let a repository advertise the protocols it supports.

The name of the record says two things: that it points at a certificate repository, and which protocol to speak to it. A client that speaks LDAP looks for one name, and a client that speaks HTTP looks for another.

THE SRV RECORD FORMAT AND THE PROTOCOL PREFIXES
PKIXREP SRV records
_Service._Proto.Name TTL Class SRV Priority Weight Port Target

Protocol     SRV Prefix

LDAP         _LDAP
HTTP         _HTTP
OCSP         _OCSP

§2.3A Worked Example

The example uses the fictional domain example.com to show how a certificate-using system uses the records. Alice is an email client that needs a certificate for a recipient, and her client system supports LDAP for certificate retrieval. The recipient is Bob, whose email address is bob@example.com, and example.test maintains a border directory PKI repository from which Bob's certificate is available over LDAP at border.example.com.

Alice's client system retrieves, via DNS, the SRV record for _PKIXREP._LDAP.example.com. The QNAME of the DNS query is _PKIXREP._LDAP.example.com, the QCLASS is IN, and the QTYPE is SRV. The result should include the host address for example.com's border directory system.

If example.com operated its service on a number of hosts, more than one SRV record would be returned, and RFC 2782 defines the procedure for deciding which of them should be accessed first.

The client's mail program needs a certificate for a recipient and knows how to fetch certificates over LDAP but not where they are kept. It asks DNS for the name that combines the two, and DNS answers with the machine that holds them.

FINDING A REPOSITORY AND THEN USING IT
Certificate-using systemDNS serverPKI repository
  1. DNS QUERYFor _PKIXREP._LDAP.example.com, with QCLASS=IN and QTYPE=SRV.
  2. SRV RECORDThe host address of the domain's border directory system.
  3. LDAP RETRIEVALThe certificate is fetched over the protocol named in the record.

§3Security Considerations

Security issues regarding the PKI repositories themselves are outside the scope of this document; for LDAP repositories, for example, the specific security considerations are addressed in RFC 2559. Security issues with respect to the use of SRV records in general are addressed in RFC 2782, and those issues apply to the use of SRV records in the context of the PKIXREP service defined here.

The memo does not add security of its own. It points at the documents that cover the repository and the DNS record, and says their warnings apply here too.

§4IANA Considerations

The document reserves the use of the _PKIXREP service label. Since the service may pass messages over a number of different transports, each message must be associated with a specific transport, and to keep the association between _PKIXREP and the underlying services deterministic, IANA created a new registry, PKIX SRV Protocol Labels. An entry in that registry consists of a label name and a pointer to a specification describing how the protocol named in the label uses SRV. Specifications should conform to the requirements listed in RFC 2434 for specification required.

The label _PKIXREP is reserved, and the protocols that may appear under it are listed in a registry so that each one always means the same thing.

§6References