Internet DRAFT - draft-pala-rea-ocsp-over-dns

draft-pala-rea-ocsp-over-dns






PKIX Working Group                                               M. Pala
Internet-Draft                              Polythecnic Institute of NYU
Intended status: Standards Track                                  S. Rea
Expires: January 10, 2013                                  DigiCert, Inc
                                                            July 9, 2012


                             OCSP over DNS
                    draft-pala-rea-ocsp-over-dns-00

Abstract

   One of the most strategic problems for Internet Certification
   Authorities (ICAs) is the provisioning of revocation information in
   an efficient way.  Current approaches for the distribution of OCSP
   responses over HTTP do not provide efficient solutions for the high
   volume of traffic that Internet CAs face when providing services for
   highly utilized websites.  This document describes a new transport
   protocol for OCSP responses to efficiently provide revocation
   information about digital certificates.

   In particular, this specification defines how to distribute OCSP
   responses over DNS and how to define OCSP-over-DNS URLs in
   certificates.  The use of the DNS system to distribute such
   information is meant to lower the costs of providing revocation
   services and increase the availability of revocation information by
   using the distributed nature of the DNS infrastructure.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

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

   This Internet-Draft will expire on January 10, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the



Pala & Rea              Expires January 10, 2013                [Page 1]

Internet-Draft                     OOD                         July 2012


   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Requirements notation . . . . . . . . . . . . . . . . . . . . . 3
   2.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  Protocol Overview . . . . . . . . . . . . . . . . . . . . . . . 3
   4.  OCSP-Related DNS URLs in Certificates . . . . . . . . . . . . . 4
     4.1.  URL Definition  . . . . . . . . . . . . . . . . . . . . . . 4
     4.2.  URL Processing  . . . . . . . . . . . . . . . . . . . . . . 6
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
   6.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
   7.  Time Validity . . . . . . . . . . . . . . . . . . . . . . . . . 6
   8.  Normative References  . . . . . . . . . . . . . . . . . . . . . 7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 7

























Pala & Rea              Expires January 10, 2013                [Page 2]

Internet-Draft                     OOD                         July 2012


1.  Requirements notation

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


2.  Introduction

   With the increasing number of highly available and highly utilized
   websites that require secure communications to protect the flow of
   information from the server to the client, the need for a low-cost
   efficient approach to revocation information availability is crucial.
   The OCSP-over-DNS approach allows clients to determine the status of
   digital certificates specifically for high-traffic Internet secure
   servers (i.e., SSL/TLS) by optimizing the delivery mechanism for
   revocation information distribution to the client.  This transport
   protocol can be used in lieu of or in addition to other PKIX endorsed
   transport mechanisms such as HTTP.  This specification addresses the
   problem of providing a low-latency highly-available distributed
   system for OCSP responses availability.  In particular, OCSP-over-DNS
   is meant to be used in conjunction with pre-computed OCSP responses.

   This document defines the DNS records to be used for OCSP data
   publication and the definition of additional URLs for the
   AuthorityInfoAccess (AIA) extension in certificates.


3.  Protocol Overview

   In order to validate a certificate using OCSP-over-DNS, the client
   should check the certificate for a DNS-based OCSP base URI, construct
   the URI for the specific certificate, and then retrieve the OCSP
   response from the DNS.  After this point, all procedures are to be
   performed according to the OCSP protocol as defined in [RFC5019].  In
   particular, clients using OCSP-over-DNS, SHOULD:

   1.  Lookup the OCSP URI provided in the AIA of the certificate to be
       checked.  The format of the URI comprises the id-ad-ocsp
       identifier and a base URL where the scheme is dns://.  The format
       of the full URI is discussed in the next section.

   2.  Build the OCSP query for the certificate to be checked.  This is
       done by pre-pending the hex representation of the digest of the
       certificate to the base domain provided in the OCSP DNS URI.

   3.  Retrieve the DNS record carrying the required OCSP response.  The
       Client SHOULD retrieve the revocation information directly



Pala & Rea              Expires January 10, 2013                [Page 3]

Internet-Draft                     OOD                         July 2012


       through the DNS system.  The distributed nature of DNS will allow
       for automatic load distribution.

   References to the suggested configurations for the transport and
   distribution protocols and servers is provided in the Appendix of
   this document.


4.  OCSP-Related DNS URLs in Certificates

   As described in [RFC2560], in order to convey to OCSP clients a well-
   known point of information access, CAs SHALL provide the capability
   to include the AuthorityInfoAccess extension in certificates that can
   be checked using OCSP.

   In addition to the HTTP transport protocol defined in [RFC2560], this
   document defines an additional transport protocol for OCSP Responses,
   i.e.  DNS records.  This transport mechanism is useful only in
   environments where OCSP responses are pre-computed (common in
   Internet CAs).  The accessMethod in the AccessDescription SEQUENCE of
   the URI should use id-ad-ocsp as its value as usual.  However, if DNS
   records are used for distributing pre-computed OCSP responses
   [RFC5019], the value of the accessLocation field in the subject
   certificate SHOULD define 'dns' or 'dnssec' as the transport used to
   access the OCSP response data.

   Additionally the URL can optionally contain parameters to specify the
   digest algorithms to be used by clients to calculate the DNS query.
   The default digest algoritm is "SHA256".

4.1.  URL Definition

   A DNS URL begins with the protocol prefix "dns" or "dnssec" and is
   defined by the following grammar, following the ABNF notation defined
   in [RFC4234].
















Pala & Rea              Expires January 10, 2013                [Page 4]

Internet-Draft                     OOD                         July 2012


     dnsurl = scheme COLON SLASH SLASH [base]
             [QUESTION [ algorithm / oid]
             ; base: is the base hostname for
             ; the lookup operation.
             ; algorithm: is the text representation
             ; of the algorithm to be used to calculate
             ; the hash of the certificate

     scheme  = "dns" / "dnssec"

     algorithm = "SHA1" / "SHA256" / "SHA384" / "SHA512"

     oid = "OID" COLON oidvalue
             ; oidvalue is the string representation of
             ; the oid for the hash algorithm to be used
             ; to calculate the hash of the certificate

     SLASH       = %x2F              ; forward slash ("/")
     COLON       = %x3A              ; colon (":")
     QUESTION    = %x3F              ; question mark ("?")

   The "dns" prefix indicates an entry or entries accessible from the
   configured DNS server.  The "dnssec" prefix indicates, instead, an
   entry or entries accessible via the DNSSEC protocol and verification
   of the returned data SHOULD be performed.  Note that the <base> may
   contain literal IPv6 addresses as specified in Section 3.2.2 of
   [RFC3986].

   The <algorithm> construct is used to specify the digest algorithm
   that MUST be used to construct the final DNS query.  The allowable
   values are "SHA1", "SHA256", "SHA384", or "SHA512".

   Alternatively, if a different hash algorithm is specified in the URL
   that is not covered by <algorithm>, the use of the string
   representation of the algorithm's OID SHOULD be used.  For example,
   if MD5 is specified the resulting URL will look like the following:

     dns://somedomain?OID:1.2.840.113549.2.5

   On the other hand, if one of the listed hash algorithm is to be used
   in the URL, the resulting value will look like the following:

       dns://somedomain?SHA256

   At minimum, a conforming client SHOULD support SHA1 and SHA256
   algorithms and MAY support additional ones.





Pala & Rea              Expires January 10, 2013                [Page 5]

Internet-Draft                     OOD                         July 2012


4.2.  URL Processing

   In order to process the OCSP DNS URLs in a certificate, clients have
   to extract the <base> from the URL and pre-pend it with the hex
   representation of the digest value calculated over the DER
   representation of the certificate to be validated.  The digest and
   the <base> values SHOULD be separated by the dot "." character.  The
   hash algorithm to be used is to be extracted from the AIA extension.
   If no value is specified, the SHA256 algorithm SHOULD be used to
   calculate the hash value.

   The client then constructs the query for the DNS as follows:

     4088439518ed222e9abf7555b954bd549b78325b.somedomain<base>

   At this point, the client has all the information to query the DNS
   for the OCSP response it is searching for.  The client proceeds by
   querying the DNS for TXT records from the constructed query.  The
   returned value SHOULD contain the value of the base64 encoded value
   of the OCSP response related to the certificate that needs to be
   validated.


5.  IANA Considerations

   No special considerations are required for IANA.


6.  Security Considerations

   It is only possible to provide pre-computed responses in the case
   where the NONCE is not provided by the client.  This allows the
   Validation Authority (VA) or CA to generate off-line signatures for
   responses, an optimization used in OCSP.

   Moreover if an authenticated secure channel is used at the transport
   level between the client and the VA (e.g.  HTTPS or SFTP) signatures
   in requests and responses can be safely omitted.


7.  Time Validity

   The time validity should reflect the frequency of updates in
   revocation information.  An interesting aspect to be considered is
   how often would users execute the protocol for a given set of data.






Pala & Rea              Expires January 10, 2013                [Page 6]

Internet-Draft                     OOD                         July 2012


8.  Normative References

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

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

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66,
              RFC 3986, January 2005.

   [RFC4234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", RFC 4234, October 2005.

   [RFC5019]  Deacon, A. and R. Hurst, "The Lightweight Online
              Certificate Status Protocol (OCSP) Profile for High-Volume
              Environments", RFC 5019, September 2007.


Authors' Addresses

   Massimiliano Pala
   Polythecnic Institute of NYU
   2 Metrotech Center
   Brooklyn, NY  10211
   US

   Email: pala@nyu.edu
   URI:   http://www.poly.edu/user/pala


   Scott A. Rea
   DigiCert, Inc
   355 South 520 West
   Lindon, UT  84042
   US

   Email: scott@DigiCert.com
   URI:   http://www.digicert.com/news/bios-scott-rea.htm










Pala & Rea              Expires January 10, 2013                [Page 7]