Internet DRAFT - draft-ymbk-ta-publication

draft-ymbk-ta-publication






Network Working Group                                        S. Bellovin
Internet-Draft                                       Columbia University
Intended status: Informational                                   R. Bush
Expires: January 31, 2013                      Internet Initiative Japan
                                                              R. Housley
                                                     Vigil Security, LLC
                                                                 S. Kent
                                                        BBN Technologies
                                                               S. Turner
                                                              IECA, Inc.
                                                             August 2012


                    Trust Anchor Publication Advice
                      draft-ymbk-ta-publication-00

Abstract

   Many Internet protocols and services rely on credentials which use
   asymmetric keys.  Many of these are hierarchic structures having
   certification authorities (CAs) that act as trust anchors (TAs).
   There is little general guidance on procedures for how these trust
   anchors can be distributed or otherwise published with prudence.  To
   quote a well known security expert, "It's a matter of oral tradition
   in security circles."  This document attempts to capture some of that
   lore.

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 31, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Bellovin, et al.        Expires January 31, 2013                [Page 1]

Internet-Draft      Trust Anchor Publication Advice          August 2012


   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.

   This document may not be modified, and derivative works of it may not
   be created, and it may not be published except as an Internet-Draft.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Trust in the Conveyance  . . . . . . . . . . . . . . . . . . .  3
     2.1.  TLS / https  . . . . . . . . . . . . . . . . . . . . . . .  3
     2.2.  In Packaged Software . . . . . . . . . . . . . . . . . . .  3
   3.  Trust in the Conveyor  . . . . . . . . . . . . . . . . . . . .  4
     3.1.  PGP  . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.2.  Physical Proximity . . . . . . . . . . . . . . . . . . . .  4
   4.  Advice yet to be Organized . . . . . . . . . . . . . . . . . .  5
     4.1.  Public Transport Plus Verification . . . . . . . . . . . .  5
     4.2.  TAMP . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     4.3.  SSH  . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     4.4.  DNSSEC . . . . . . . . . . . . . . . . . . . . . . . . . .  6
     4.5.  RPKI . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
       4.5.1.  Hardware Security Module . . . . . . . . . . . . . . .  6
   5.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  7
   6.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  7
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  8

1.  Introduction

   Many Internet protocols and services make use of asymmetric keys
   distributed via certificates (e.g., X.509 or OPGP) or analogous
   formats (e.g., DNSSEC records).  Many of these certificates are
   organized into hierarchic structures having one or more trust anchors
   (TAs).  In any hierarchical structure, the choice of root is
   important.  In PKIs, it is quite critical, since an untrustworthy or
   incompentent TA can issue credentials to imposters, vitiating the
   security guarantees for the entire structure.  This in turn implies
   that anyone relying on a PKI must have accurate knowledge of the root
   of the tree.  However, there is little general guidance on procedures
   for how these trust anchors can be distributed in a fashion that
   ensures their integrity and authenticity.  To quote a well known
   security expert, "It's a matter of oral tradition in security
   circles."  This document attempts to capture some of that lore.

   In particular, the issue of publication of root TA(s) for the




Bellovin, et al.        Expires January 31, 2013                [Page 2]

Internet-Draft      Trust Anchor Publication Advice          August 2012

   Resource Public Key Infrastructure (RPKI) incited this document.  We
   recommend it be handled similarly to the DNSSEC root keys, see
   Section 4.5.

   We do not address the complex matter of generating key pairs for
   trust anchors.  They range from exceedingly formal and complex, e.g.
   [icann-dnssec] for DNSSEC, to the exceedingly informal, e.g.  [pgp-
   gen].  We assume the public key material and associated date have
   been created, and address the problem of distribution and/or
   publication of the TA materiel in a secure fashion.

   The distribution/publication problem is how to give relying parties
   (RPs) who will use the TA confidence that the trust anchor is
   authentic.  In this context authentic means that the public key and
   associated data has not been modified in an unauthorized fashion, and
   the data associated with the TA accurately identifies the principle
   that it represents.  There is usually no external trust environment
   which is the same as that of the TA; after all this is a TA.  So the
   problem often devolves to issues of identity and trust in the
   conveyance or conveyor of the TA.  This is often referred to as 'Out
   Of Band' (OOB) verification of the TA.

   Fundamentally, one can trust information if it came via a trusted
   path and/or was delivered by a trustworthy source.  We refer to these
   as "conveyance" and "conveyor".  In addition, one can build up trust
   by suitable conbination of information from many different sources;
   this gives rise to a variety of hybrid schemes.

   Note carefully that there is no one solution for all situations.  The
   proper answer depends on the operational needs, and often on the
   particular hardware and software involved.

2.  Trust in the Conveyance

2.1.  TLS / https

   For some applications, an HTTP GET authenticated with TLS [RFC5785]
   may be sufficient.  Given the number of certificates in the normal
   browser, many consider this imprudent and suggest that the user
   should ensure that the certification path validates to a particular
   TA that they trust for introducing other TAs.  This may be beyond the
   average user

   Use of further authenticity such as DANE, see [I-D.ietf-dane-
   protocol] is another approach.

   Microsoft distributes new browser TAs in the same manner as software
   updates, which rely on certificate path validation.  Thus the entropy
   of the browser's certificate store can only increase.






Bellovin, et al.        Expires January 31, 2013                [Page 3]

Internet-Draft      Trust Anchor Publication Advice          August 2012

2.2.  In Packaged Software

   Embedding a TA in software is a common method of distribution in many
   contexts.  In an enterprise context this may suffice, e.g., if
   software distribution is tightly controlled by the enterprise.  Most
   operating systems and browsers use this method, as the vendors of
   these products are dealing with a set of RPs that is large,
   geographically dispersed, and unknown to the TA management.  But,
   this approach is not without risks.

   For example, an RP who receives an OS copy on a DVD in conjunction
   with the purchase of a laptop is probably confident that the TA(s)
   embedded in that OS have not been modified and that the vendor has
   vouched for the accuracy of the TA material.  In contrast, if a copy
   of a browser is downloaded via the Internet, the set of TAs embedded
   in it may or may not be what the browser vendor intended.  Attacks on
   the DNS (absent DNSSEC), or on the server from which the browser
   image was acquired could have resulted in bogus TA material.

3.  Trust in the Conveyor

   For applications where the credential is that of an identity,
   authentication of the conveyor might be appropriate.

3.1.  PGP

   Pretty Good Privacy (PGP) [RFC4880] is based on personal identity,
   and "Uses a combination of strong public-key and symmetric
   cryptography to provide security services for electronic
   communications and data storage."

   PGP itself actually has no root of trust, but rather is a web of
   trust sans root.  It would not be of extreme interest here except it
   has some of the few well-documented rituals of authenticating
   exchange of credentials involving fingerprints (hashes) of keys [pgp-
   party].  There is also a system of coordinated key servers [REF
   NEEDED].

3.2.  Physical Proximity

   In some environments it is possible to provide good physical,
   personnel, and procedural security for TA distribution.  This is
   especially easy if the set of RPs is small, geographically local, and
   known to the TA management.

   For example, in an organization an employee might receive a smart









Bellovin, et al.        Expires January 31, 2013                [Page 4]

Internet-Draft      Trust Anchor Publication Advice          August 2012

   card loaded with a personal certificate and private key, and the TA
   for the organization.  If the organization distributes this card to
   the employee in person, e.g., as a side effect of employee (or
   student) orientation, the employee can probably rely on the
   authenticity of the TA.  The DoD Common Access Card (CAC) delivers TA
   material in this fashion, through a network of verification officers
   and associated work stations.

4.  Advice yet to be Organized

4.1.  Public Transport Plus Verification

   Less secure TA distribution mechanism are often employed when the RP
   population is very large, or geographically dispersed, or not known
   by TA management a priori.

   For example, a smart card loaded with a TA might be sent to an RP via
   the postal system.  The RP, upon receipt if the card, can't be
   absolutely sure that the TA represents the entity identified on the
   card or in accompanying documentation.  If registered mail is
   employed the likelihood of tampering en route might be considered
   very small, but the identity of the sender still would not be
   assured.  Thus some means of independently verifying that aspect of
   TA security would still be needed.  Depending on the context, such
   verification might be easy, or very difficult.  For example, if the
   card is designed to enable access to a bank account, the RP might try
   to use it and see of the bank balances reported match what the RP
   expects.  If the RP need not provide a password or other secret value
   to gain access to the account this is a reasonable way for the RP to
   verify that the card "works" and that it probably was issued by their
   bank, and thus the TA on the card is likely associated with the bank.

4.2.  TAMP

   The Trust Anchor Management Protocol (TAMP [RFC4255]) is a transport
   independent protocol for the management of trust anchors and
   community identifiers stored in a trust anchor store.

   The core concept is not complex.  Trust one signer to be the one to
   introduce other public keys as trust anchors, and those may have
   constraints (one for signed software, one for TLS, only for IPsec, or
   whatever).  Complexity comes if you want to allow that one signer to
   pass the privilege to another signer.

   More needed here.

4.3.  SSH








Bellovin, et al.        Expires January 31, 2013                [Page 5]

Internet-Draft      Trust Anchor Publication Advice          August 2012


   Secure Shell (SSH [RFC4251]) authenticates [RFC4252] over the SSH
   Transport Layer Protocol, [RFC4253].  The server may authenticate the
   user's identity by a number of means, password, asymmetric key,
   challenge response, etc.  The user authenticates the server by an
   asymmetric key.  That key may have been transmitted out of band, e.g.
   using DNSSEC [RFC4255] or some other credible (to the user) means.
   SSH also offers a 'trust the transport' key conveyance, with manual
   hash verification, for the first connection to the server.

4.4.  DNSSEC

   DNSSEC relies on a diverse public distribution mechanism to
   distribute the TA material for the DNS root, see [icann-dnssec].  The
   DNS root TA material is available in multiple formats (e.g., S/MIME,
   PEM certificate request, XML, and OPGP), and from multiple sites
   (e.g., iana.org, ???). An RP that acquires the DNS TA material from
   multiple sources can verify that the public key values it acquires
   all match.  An adversary would have to spoof replies from all of the
   queried sources to fool an RP.  Moreover, if the RP received bogus
   DNS root TA data, the RP would not be able to validate legitimate
   DNSSEC records.  Thus an adversary would have to insert itself in the
   RPs (DNESEC) communication path on a persistent basis to avoid
   detection.  This is perceived as a difficult task and thus the DNSSEC
   mechanism for distributing TA material is viewed as adequate.

4.5.  RPKI

   Trust Anchor Locators (TALs) are used to distribute TAs in the RPKI.
   A TAL is a URI and a self-signed X.509 certificate.  There is no plan
   to publish TALs in multiple formats, as the TAL format itself is
   quite simple.

   It is anticipated that the root TAL, like the DNSSEC root zone TA
   material, will be published by the IANA similarly to the DNSSEC root
   keys, see [icann-dnssec].  Until the IANA signs the root TAL for the
   RPKI, it is anticipated that the next level in the hierarchy, the
   RIRs, will each publish a TAL using analogous means.

   Unlike the certificates in browsers, the IANA and RIRs are a small
   and static set of TAL publishers.  It should be easier to distribute
   them in a more credible fashion.

4.5.1.  Hardware Security Module











Bellovin, et al.        Expires January 31, 2013                [Page 6]

Internet-Draft      Trust Anchor Publication Advice          August 2012


   If a TA is used only offline, and one employs a good HSM (e.g., FIPS
   140 level 4) then it is very, very unlikely that the private key will
   be compromised and not detected.  IANA and the RIRs can afford to
   protect their keys this way, so one should rarely have to change
   these TAs.  Thus the principle problem is how an RP can become
   confident that the TAL data it acquires is legitimate.  The same
   principle applies here as for DNSSEC. Each RP should acquire TALs
   from multiple locations and verify that the data are consistent.
   Each RP will be downloading and verifying data from multiple RPKI
   repositories.  If the TAL(s) acquired by an RP are not accurate, then
   legitimate RPKI data acquired from repositories will not validate.
   Thus an adversary would have to insert itself in the RPs RPKI
   repository communication path on a persistent basis to avoid
   detection.  This is perceived as a difficult task and thus the RPKI
   mechanism for distributing TA material is viewed as adequate.

5.  Acknowledgements

   The authors would like to thank Shane Amante for inciting this
   effort.

6.  References

   [I-D.ietf-dane-protocol]
              Hoffman, P. and J. Schlyter, "The DNS-Based Authentication
              of Named Entities (DANE) Transport Layer Security (TLS)
              Protocol: TLSA", Internet-Draft draft-ietf-dane-
              protocol-23, June 2012.

   [RFC4251]  Ylonen, T. and C. Lonvick, "The Secure Shell (SSH)
              Protocol Architecture", RFC 4251, January 2006.

   [RFC4252]  Ylonen, T. and C. Lonvick, "The Secure Shell (SSH)
              Authentication Protocol", RFC 4252, January 2006.

   [RFC4253]  Ylonen, T. and C. Lonvick, "The Secure Shell (SSH)
              Transport Layer Protocol", RFC 4253, January 2006.

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

   [RFC4880]  Callas, J., Donnerhacke, L., Finney, H., Shaw, D. and R.
              Thayer, "OpenPGP Message Format", RFC 4880, November 2007.

   [RFC5785]  Nottingham, M. and E. Hammer-Lahav, "Defining Well-Known
              Uniform Resource Identifiers (URIs)", RFC 5785, April
              2010.

   [RFC5934]  Housley, R., Ashmore, S. and C. Wallace, "Trust Anchor
              Management Protocol (TAMP)", RFC 5934, August 2010.

   [icann-dnssec]

Bellovin, et al.        Expires January 31, 2013                [Page 7]

Internet-Draft      Trust Anchor Publication Advice          August 2012

              Ljunggren, F., Okubo, T., Lamb, R., Schlyter, J., "DNSSEC
              Practice Statement for the Root Zone KSK Operator", 2010,
              <https://www.iana.org/dnssec/icann-dps.txt>.

   [pgp-gen]  cets@seas.upenn.edu, "Generating PGP Keys", , <http://
              www.seas.upenn.edu/cets/answers/pgp_keys.html>.

   [pgp-party]
              Brennen, A. V., "The Keysigning Party HOWTO", 2008, <http:
              //cryptnet.net/fdp/crypto/keysigning_party/en/
              keysigning_party.html>.

Authors' Addresses

   Steven M. Bellovin
   Columbia University
   1214 Amsterdam Avenue, MC 0401
   New York, New York 10027
   US
   
   Phone: +1 212 939 7149
   Email: bellovin@acm.org


   Randy Bush
   Internet Initiative Japan
   5147 Crystal Springs
   Bainbridge Island, Washington 98110
   US
   
   Email: randy@psg.com


   Russell Housley
   Vigil Security, LLC
   918 Spring Knoll Drive
   Herndon, VA 20170
   US
   
   Email: housley@vigilsec.com


   Stephen Kent
   BBN Technologies
   10 Moulton St.
   Cambridge, MA 02138
   US
   
   Email: kent@bbn.com






Bellovin, et al.        Expires January 31, 2013                [Page 8]

Internet-Draft      Trust Anchor Publication Advice          August 2012


   Sean Turner
   IECA, Inc.
   3057 Nutley Street, Suite 106
   Fairfax, Virginia 22031
   US
   
   Email: turners@ieca.com














































Bellovin, et al.        Expires January 31, 2013                [Page 9]