Internet DRAFT - draft-hallambaker-certhash

draft-hallambaker-certhash






Internet Engineering Task Force                          P. Hallam-Baker
Internet-Draft                                               Comodo Inc.
Intended status: Informational                        September 10, 2010
Expires: March 14, 2011


               Use of DNS CERT Records for Key Assurance
                     draft-hallambaker-certhash-00

Abstract

   Deployment of DNSSEC opens up the possibility of new mechanisms for
   assuring application keys.  This document extends the use of the DNS
   CERT resource record and defines X.509v3 extensuions to support key
   assurance mechanisms for use with TLS and other X.509 protocols and
   provides a comprehensive assessment of the security thus achieved.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.  This document may not be modified,
   and derivative works of it may not be created, except to format it
   for publication as an RFC or to translate it into languages other
   than English.

   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 March 14, 2011.

Copyright Notice

   Copyright (c) 2010 IETF Trust and the persons identified as the
   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



Hallam-Baker             Expires March 14, 2011                 [Page 1]

Internet-Draft     DNS CERT Records for Key Assurance     September 2010


   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 Language  . . . . . . . . . . . . . . . . . . . .  4
   2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.1.  DNS  . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
       2.1.1.  DNSSEC . . . . . . . . . . . . . . . . . . . . . . . .  4
       2.1.2.  DNS CERT Resource Record . . . . . . . . . . . . . . .  4
     2.2.  Public Key Infrastructure  . . . . . . . . . . . . . . . .  4
       2.2.1.  Public Key Infrastructure X.509  . . . . . . . . . . .  4
     2.3.  Public Key Security Protocols  . . . . . . . . . . . . . .  4
       2.3.1.  Transport Layer Security . . . . . . . . . . . . . . .  4
       2.3.2.  IP Security  . . . . . . . . . . . . . . . . . . . . .  4
       2.3.3.  Use in Applications  . . . . . . . . . . . . . . . . .  4
   3.  Mechanism  . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.1.  CERT Resource Record Parameters  . . . . . . . . . . . . .  4
       3.1.1.  DPKIX  . . . . . . . . . . . . . . . . . . . . . . . .  5
       3.1.2.  DPTR . . . . . . . . . . . . . . . . . . . . . . . . .  6
     3.2.  X.509v3 Extension  . . . . . . . . . . . . . . . . . . . .  7
     3.3.  Processing Rules . . . . . . . . . . . . . . . . . . . . .  7
       3.3.1.  General  . . . . . . . . . . . . . . . . . . . . . . .  7
       3.3.2.  Transport layer Security . . . . . . . . . . . . . . .  7
       3.3.3.  Service Discovery (SRV, NAPTR) . . . . . . . . . . . .  7
   4.  Security Considerations  . . . . . . . . . . . . . . . . . . .  7
     4.1.  Trust Chain Assurance  . . . . . . . . . . . . . . . . . .  8
       4.1.1.  Root of Trust  . . . . . . . . . . . . . . . . . . . .  8
       4.1.2.  Non Repudiation  . . . . . . . . . . . . . . . . . . .  8
       4.1.3.  Key Revocation . . . . . . . . . . . . . . . . . . . .  8
     4.2.  DNSSEC Operations  . . . . . . . . . . . . . . . . . . . .  8
       4.2.1.  Signature Time To Live . . . . . . . . . . . . . . . .  8
       4.2.2.  Zone Signing Key Compromise  . . . . . . . . . . . . .  8
       4.2.3.  Key Signing Key Compromise . . . . . . . . . . . . . .  8
     4.3.  Attacks  . . . . . . . . . . . . . . . . . . . . . . . . .  8
       4.3.1.  Suppressed DNSSEC records  . . . . . . . . . . . . . .  8
       4.3.2.  Replay Attack of DNSSEC records  . . . . . . . . . . .  8
       4.3.3.  Zone Hijack  . . . . . . . . . . . . . . . . . . . . .  8
       4.3.4.  Disclosure of End Entity Key . . . . . . . . . . . . .  8
       4.3.5.  Disclosure of DNSSEC Key . . . . . . . . . . . . . . .  8
       4.3.6.  Malicious Domain Name Holder . . . . . . . . . . . . .  8
       4.3.7.  Protocol Substitution Attack . . . . . . . . . . . . .  9
       4.3.8.  Protocol Downgrade Attack  . . . . . . . . . . . . . .  9
     4.4.  User Notification  . . . . . . . . . . . . . . . . . . . .  9
       4.4.1.  Certificate Data . . . . . . . . . . . . . . . . . . .  9
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10



Hallam-Baker             Expires March 14, 2011                 [Page 2]

Internet-Draft     DNS CERT Records for Key Assurance     September 2010


   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
     7.1.  Normative References . . . . . . . . . . . . . . . . . . . 10
     7.2.  Non-Normative References . . . . . . . . . . . . . . . . . 10
   Appendix A.  Appendix - Design Choices . . . . . . . . . . . . . . 11
     A.1.  Key Digest . . . . . . . . . . . . . . . . . . . . . . . . 11
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 11












































Hallam-Baker             Expires March 14, 2011                 [Page 3]

Internet-Draft     DNS CERT Records for Key Assurance     September 2010


1.  Requirements Language

   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 RFC 2119 [RFC2119].


2.  Introduction

   The DNS CERT resource record defined in RFC 4398 [RFC4398] specifies
   the use of the DNS for discovery of public keys associated with a
   domain.

2.1.  DNS

2.1.1.  DNSSEC

2.1.2.  DNS CERT Resource Record

2.2.  Public Key Infrastructure

2.2.1.  Public Key Infrastructure X.509

2.3.  Public Key Security Protocols

2.3.1.  Transport Layer Security

2.3.2.  IP Security

2.3.3.  Use in Applications


3.  Mechanism

3.1.  CERT Resource Record Parameters

   Two new CERT certificate types are defined:

      DPKIX

      DPTR

   The CERT resource record (RR) has the structure given below.  Its RR
   type code is 37.







Hallam-Baker             Expires March 14, 2011                 [Page 4]

Internet-Draft     DNS CERT Records for Key Assurance     September 2010


                       1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             type              |             key tag           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   algorithm   |                                               /
   +---------------+            certificate data                   /
   /                                                               /
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|

   The type field is the certificate type as defined below.

   The key tag field used for key selection as specified in RFC 4034
   [RFC4034] Section 5.1.1.

   The algorithm field is the algorithm code for the digest algorithm as
   specified in the IANA registry Delegation Signer (DS) Resource Record
   (RR) Type Digest Algorithms.

3.1.1.  DPKIX

   The DPKIX certificate type asserts a binding between the DNS domain
   in which it is published and the subject key specified in a PKIX
   certificate identified by means of a cryptographic digest function.

   The assertion made by means of the DPKIX certificate type is only as
   secure as the trust chain that authenticates it.  Trust chain
   processing rules are specified in Section XXX below.

   In particular the presence of a DPKIX record in a DNS domain that is
   not signed using DNSSEC or other security mechanism SHOULD NOT be
   considered to provide any additional assurance that would not be
   provided by the certificate on its own.

   In the case that a DPKIX record exists and contains a digest value
   that matches the digest value of the certificate and is signed by a
   verified signature, a relying party MAY infer an assertion on the
   part of the domain name holder that the specified key is bound to the
   specified certificate subject key.  No other properties of the
   certificate may be considered to have been assured excepting those
   that limit the use of the certificate which MUST be observed as with
   any other PKIX certificate.  Such properties include the notBefore
   and notAfter fields, the key Usage bits and all X.509v3 extensions
   for which the critical bit is set.

   The CERT record field values are defined for DPKIX as follows:





Hallam-Baker             Expires March 14, 2011                 [Page 5]

Internet-Draft     DNS CERT Records for Key Assurance     September 2010


   Type  is set to the value (TBS IANA)

   Key tag  MUST be set to 1

   Algorithm   contains the algorithm code for the digest algorithm.

   Certificate data  contains the digest value of the certificate for
      which a binding between the subject key and the domain name is
      asserted


   example.com     CERT DPKIX 1 SHA256
                   KR1L0GbocaIOOim1+qdHtOSrDcOsGiI2NCcxuX2/Tqc

3.1.2.  DPTR

   The DPTR certificate type allows an unlimited number of certificates
   to be bound to a single DNS domain name overcomming the limitations
   that the DNS protocol imposes on the number of CERT records that can
   be bound to a single DNS domain name in a practical deployment.

   The CERT record field values are defined for DPTR as follows:

   Type  is set to the value (TBS IANA)

   Key tag  MUST be set to 1

   Algorithm   contains the algorithm code for the digest algorithm to
      be used to calculate Cselector prefixes.

   Certificate data  contains the DNS name to be used as the root node
      to which the calculated selectorn prefix is prepended.

   The PKIX certificate for which the assurance is being saught is
   processed using the specified digest algorithm to produce a digest
   value which is converted to base 64 according to the mechanism
   specified in [] and has an underscore character '_' prepended to form
   a selector label as follows:

   selector = "_" + base64 ( digest ( certificate))

   The key selector label is prepended to the domain name specified to
   form a DNS domain name on which a DNS query for a CERT resource
   record is to be performed.

   query_name = selector + "." + domain_name

   The following example shows the use of the DPTR certificate type to



Hallam-Baker             Expires March 14, 2011                 [Page 6]

Internet-Draft     DNS CERT Records for Key Assurance     September 2010


   provide an assurance for the same certificate specified earlier.

   example.com     CERT DPTR 1 SHA256 "cert.example.com"
   _KR1L0GbocaIOOim1+qdHtOSrDcOsGiI2NCcxuX2/Tqc.cert.example.com DPKIX
                  1 SHA256 KR1L0GbocaIOOim1+qdHtOSrDcOsGiI2NCcxuX2/Tqc

   The DPTR certificate type can only be resolved after the certificate
   for which the assurance is required is known.  It is thus not
   possible to pre-fetch the certificate at the same time that A or AAAA
   record is performed as is the case when the DPKIX certificate type is
   populated at the domain name for which the assurance is being made.

3.2.  X.509v3 Extension

   The X.509v3 certificate extension 'DNS-CERT' MAY be included in an
   X.509v3 certificate to notify relying parties that a DNS key
   assurance MAY or MUST be employed.

   If the DNS-CERT extension is present and the critical flag bit is not
   set, it serves as a notice to a relying party applications that they
   MAY attempt to use the key assurance mechanism specified in this
   document.

   If the DNS-CERT extension critical flag bit is set, a relying party
   application MUST support the key assurance mechanism specified in
   this document and MUST NOT consider the certificate valid unless the
   outcome of the verification procedure is 'verified'.

   Since applications MUST NOT make use of X.509v3 critical extensions
   that are not understood, use of the critical flag bit value 'set' is
   strongly discouraged.  Certificate issuers SHOULD NOT set the
   critical flag bit on a DNS-CERT unless this is the derisred behavior

3.3.  Processing Rules

3.3.1.  General

3.3.2.  Transport layer Security

3.3.3.  Service Discovery (SRV, NAPTR)


4.  Security Considerations








Hallam-Baker             Expires March 14, 2011                 [Page 7]

Internet-Draft     DNS CERT Records for Key Assurance     September 2010


4.1.  Trust Chain Assurance

4.1.1.  Root of Trust

4.1.2.  Non Repudiation

4.1.3.  Key Revocation

4.2.  DNSSEC Operations

4.2.1.  Signature Time To Live

4.2.2.  Zone Signing Key Compromise

4.2.3.  Key Signing Key Compromise

4.3.  Attacks

   We have considered possible protocol attacks by identifying protocol
   assets, the abstract risks to which such assets may be exposed and
   how such risks may be manifest in concrete threats.

   The assets considered are the DNSSEC private keys held by the domain
   name holder, DNS zone in which the resorce records are presented and
   the application public key pair.

   The DNS is a large infrastructure and management of a specific DNS
   zone is never within the unique control of one party.  In addition to
   considering means of preventing compromise we consider the steps
   required to recover from a compromise.

4.3.1.  Suppressed DNSSEC records

4.3.2.  Replay Attack of DNSSEC records

4.3.3.  Zone Hijack

4.3.4.  Disclosure of End Entity Key

4.3.5.  Disclosure of DNSSEC Key

4.3.6.  Malicious Domain Name Holder

   A signed CERT record only demonstrates that the party in control of
   the authoritative DNS zerver for the specified zone has authorized
   the use of a particular public key for authenticating communication
   with the server.




Hallam-Baker             Expires March 14, 2011                 [Page 8]

Internet-Draft     DNS CERT Records for Key Assurance     September 2010


   A signed CERT record does not and cannot express any assertion
   concerning the existence, trustworthiness or accountability of either
   the key holder or the domain name holder.

4.3.7.  Protocol Substitution Attack

   for the purposes of establishing a secure connection, an end entity
   certificate assured by means of a signed CERT record MUST meet all
   the requirements that any other end entity certificate is required to
   meed for use with that protocol.

   If protection against a protocol substitution attack is required, the
   signer of the end entity certificate SHOULD ensure that the
   appropriate X.509 Key Usage, Extended Key Usage and/or extensions are
   appropriately configured.

4.3.8.  Protocol Downgrade Attack

   The CERT record only provides notice that a public key is associated
   with a DNS domain name.  The mere presence of a CERT record at a DNS
   node does not imply that its use is supported in conjunction with a
   specific protocol.

   Accordingly, use of CERT records does not and cannot provide
   protection against protocol downgrade attacks.

4.4.  User Notification

   Relying party applciations MAY notify the user that a cryptographic
   security protocol is in use to protect the confidentiality and
   integrity of communication with the domain name holder.

   Key assurance by means of the CERT mechanism only extends to the
   properties of the key itself and the security of the connection
   established to the Internet service provided by the key holder.  Key
   Assurance by means of the CERT mechanism does not and cannot support
   any assertion regarding the trustworthiness of either the key holder
   or the domain name holder.

   A secure connection to an endpoint identified by a domain name alone
   does not imply a secure transaction.  If provided, a user
   notification MUST NOT imply that a user is 'safe' on the basis of
   CERT key assurance alone.

4.4.1.  Certificate Data

   The only data inside a




Hallam-Baker             Expires March 14, 2011                 [Page 9]

Internet-Draft     DNS CERT Records for Key Assurance     September 2010


5.  IANA Considerations

   The IANA maintains theregistry for CERT RR: certificate types.  The
   following additional certificate types should be added to the
   registry at the next available code point:

   Decimal   Type     Meaning                           Reference
   -------   ----     -------                           ---------
         9   DPKIX    Digest value of X.509 as per PKIX [This]
        10   SIHLOK   Indirection Pointer               [This]



6.  Acknowledgements


7.  References

7.1.  Normative References

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

   [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "DNS Security Introduction and Requirements",
              RFC 4033, March 2005.

   [RFC4034]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "Resource Records for the DNS Security Extensions",
              RFC 4034, March 2005.

   [RFC4035]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "Protocol Modifications for the DNS Security
              Extensions", RFC 4035, March 2005.

   [RFC4398]  Josefsson, S., "Storing Certificates in the Domain Name
              System (DNS)", RFC 4398, March 2006.

   [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246, August 2008.

7.2.  Non-Normative References

   [RFC4025]  Richardson, M., "A Method for Storing IPsec Keying
              Material in DNS", RFC 4025, March 2005.

   [RFC4255]  Schlyter, J. and W. Griffin, "Using DNS to Securely
              Publish Secure Shell (SSH) Key Fingerprints", RFC 4255,



Hallam-Baker             Expires March 14, 2011                [Page 10]

Internet-Draft     DNS CERT Records for Key Assurance     September 2010


              January 2006.


Appendix A.  Appendix - Design Choices

   This section provides rationales for design choices adopted in this
   draft.

A.1.  Key Digest

   The use of CERT type for digests of keys as opposed to complete
   certificates was considered and rejected.


Author's Address

   Phillip Hallam-Baker
   Comodo Inc.

   Email: philliph@comodo.com































Hallam-Baker             Expires March 14, 2011                [Page 11]