| < draft-iab-web-pki-problems-02.txt | draft-iab-web-pki-problems-03.txt > | |||
|---|---|---|---|---|
| Internet Architecture Board R. Housley | Internet Architecture Board R. Housley | |||
| Internet-Draft Vigil Security | Internet-Draft Vigil Security | |||
| Intended status: Informational K. O'Donoghue | Intended status: Informational K. O'Donoghue | |||
| Expires: November 13, 2016 Internet Society | Expires: March 26, 2017 Internet Society | |||
| May 12, 2016 | September 22, 2016 | |||
| Problems with the Public Key Infrastructure (PKI) for the World Wide Web | Problems with the Public Key Infrastructure (PKI) for the World Wide Web | |||
| draft-iab-web-pki-problems-02.txt | draft-iab-web-pki-problems-03.txt | |||
| Abstract | Abstract | |||
| This document describes some of the challenges facing the current | The Public Key Infrastructure (PKI) used for the World Wide Web (Web | |||
| Public Key Infrastructure (PKI) used for the World Wide Web (Web PKI) | PKI) is a vital component of trust in the Internet. In recent years, | |||
| and considers promising improvements to address these challenges. | there have been a number of improvements made to this infrastructure, | |||
| Technical, process, and policy improvements to the WebPKI are | including improved certificate status checking, automation, and | |||
| considered. In addition, some technical considerations beyond WebPKI | transparency of governance. However, additional improvements | |||
| itself are considered. Hopefully the content of this document will | necessary. This document identifies continuing areas of concerns and | |||
| help drive the Internet community toward wide spread adoption of some | provides recommendations to the Internet community for additional | |||
| of the highlighted recommendations. | improvements, moving toward a more robust and secure Web PKI. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on November 13, 2016. | This Internet-Draft will expire on March 26, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Very Brief Description of the Web PKI . . . . . . . . . . . . 3 | 2. Very Brief Description of the Web PKI . . . . . . . . . . . . 2 | |||
| 3. Technical Improvements to the Web PKI . . . . . . . . . . . . 4 | 3. Improvements to the Web PKI . . . . . . . . . . . . . . . . . 3 | |||
| 3.1. Weak Cryptographic Algorithms or Short Public Keys . . . 4 | 3.1. Weak Cryptographic Algorithms or Short Public Keys . . . 3 | |||
| 3.2. Certificate Status Checking . . . . . . . . . . . . . . . 5 | 3.2. Support for Enterprise PKIs . . . . . . . . . . . . . . . 4 | |||
| 3.2.1. Short-lived Certificates . . . . . . . . . . . . . . 6 | 3.3. Web PKI in the Home . . . . . . . . . . . . . . . . . . . 6 | |||
| 3.2.2. CRL Distribution Points . . . . . . . . . . . . . . . 6 | 3.4. Browser Error Messages . . . . . . . . . . . . . . . . . 8 | |||
| 3.2.3. Proprietary Revocation Checks . . . . . . . . . . . . 6 | 3.5. Governance Improvements to the Web PKI . . . . . . . . . 8 | |||
| 3.2.4. OCSP Stapling . . . . . . . . . . . . . . . . . . . . 7 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | |||
| 3.3. Surprising Certificates . . . . . . . . . . . . . . . . . 8 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 3.3.1. Certificate Authority Authorization (CAA) . . . . . . 9 | 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 3.3.2. HTTP Public Key Pinning (HPKP) . . . . . . . . . . . 9 | 6.1. Normative References . . . . . . . . . . . . . . . . . . 11 | |||
| 3.3.3. HTTP Strict Transport Security (HSTS) . . . . . . . . 10 | 6.2. Informative References . . . . . . . . . . . . . . . . . 11 | |||
| 3.3.4. DNS-Based Authentication of Named Entities (DANE) . . 10 | Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 13 | |||
| 3.3.5. Certificate Transparency . . . . . . . . . . . . . . 11 | Appendix B. IAB Members at the Time of Approval . . . . . . . . 13 | |||
| 3.4. Automation for Server Administrators . . . . . . . . . . 12 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4. Policy and Process Improvements to the Web PKI . . . . . . . 13 | ||||
| 4.1. Determination of the Trusted Certificate Authorities . . 13 | ||||
| 4.2. Price for Certificates . . . . . . . . . . . . . . . . . 14 | ||||
| 4.3. Governance Structures for the Web PKI . . . . . . . . . . 15 | ||||
| 5. Additional Technical Considerations . . . . . . . . . . . . . 15 | ||||
| 5.1. Browser Error Messages . . . . . . . . . . . . . . . . . 15 | ||||
| 5.2. Time Synchronization . . . . . . . . . . . . . . . . . . 16 | ||||
| 6. Recommendations for Improving the Web PKI . . . . . . . . . . 16 | ||||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 17 | ||||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | ||||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 | ||||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 18 | ||||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 18 | ||||
| Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 22 | ||||
| Appendix B. IAB Members at the Time of Approval . . . . . . . . 22 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | ||||
| 1. Introduction | 1. Introduction | |||
| There are many interrelated problems with the current Public Key | There are many interrelated problems with the current Public Key | |||
| Infrastructure (PKI) used for the World Wide Web (Web PKI). The Web | Infrastructure (PKI) used for the World Wide Web (Web PKI). The Web | |||
| PKI makes use of certificates as described in RFC 5280 [RFC5280]. | PKI makes use of certificates as described in RFC 5280 [RFC5280]. | |||
| These certificates are primarily used with Transport Layer Security | These certificates are primarily used with Transport Layer Security | |||
| (TLS) RFC 5246 [RFC5246]. | (TLS) as described in RFC 5246 [RFC5246]. | |||
| The economics of the Web PKI value chain are discussed in [VFBH], | The economics of the Web PKI value chain are discussed in [VFBH], | |||
| [AV], and [AVAV]. This document does not discuss the economic issues | [AV], and [AVAV]. This document does not discuss the economic issues | |||
| further, but these economic issues provide motivation for correcting | further, but these economic issues provide motivation for correcting | |||
| the other problems that are discussed in this document. | the other problems that are discussed in this document. | |||
| This document describes technical, usability, process, and policy | Over the years, many technical improvements have been made to the Web | |||
| problems, considers some emerging technical improvements, discusses | PKI, but several challenges remain. This document offers a general | |||
| some evoling process and policy improvements, and provides some basic | set of recommendations to the Internet community that might be | |||
| recommendations for the Internet community. | helpful in addressing these remaining challenges. | |||
| 2. Very Brief Description of the Web PKI | 2. Very Brief Description of the Web PKI | |||
| Certificates are specified in RFC 5280 [RFC5280]. Certificates | Certificates are specified in RFC 5280 [RFC5280]. Certificates | |||
| contain, among other things, a subject name, a public key, a limited | contain, among other things, a subject name, a public key, a limited | |||
| valid lifetime, and the digital signature of the Certification | valid lifetime, and the digital signature of the Certification | |||
| Authority (CA). Certificate users require confidence that the | Authority (CA). Certificate users require confidence that the | |||
| private key associated with the certified public key is owned by the | private key associated with the certified public key is owned by the | |||
| named subject. | named subject. | |||
| skipping to change at page 3, line 42 ¶ | skipping to change at page 3, line 25 ¶ | |||
| clients. | clients. | |||
| RA: Registration Authority -- an optional system to which a CA | RA: Registration Authority -- an optional system to which a CA | |||
| delegates some management functions such as identity validation | delegates some management functions such as identity validation | |||
| or physical credential distribution. | or physical credential distribution. | |||
| A valid certificate may be revoked for any number of reasons. CAs | A valid certificate may be revoked for any number of reasons. CAs | |||
| are responsible for indicating the revocation status of the | are responsible for indicating the revocation status of the | |||
| certificates that they issue throughout the lifetime of the | certificates that they issue throughout the lifetime of the | |||
| certificate. Revocation status information may be provided using the | certificate. Revocation status information may be provided using the | |||
| Online Certificate Status Protocol (OCSP) RFC 6960 [RFC6960], | Online Certificate Status Protocol (OCSP) [RFC6960], certificate | |||
| certificate revocation lists (CRLs) RFC 5280 [RFC5280], or some other | revocation lists (CRLs) [RFC5280], or some other mechanism. In | |||
| mechanism. In general, when revocation status information is | general, when revocation status information is provided using CRLs, | |||
| provided using CRLs, the CA is also the CRL issuer. However, a CA | the CA is also the CRL issuer. However, a CA may delegate the | |||
| may delegate the responsibility for issuing CRLs to a different | responsibility for issuing CRLs to a different entity. | |||
| entity. | ||||
| The enrollment process used by a CA makes sure that the subject name | The enrollment process used by a CA makes sure that the subject name | |||
| in the certificate is appropriate and that the subject actually holds | in the certificate is appropriate and that the subject actually holds | |||
| the private key. Proof of possession of the private key is often | the private key. Proof of possession of the private key is often | |||
| accomplished through a challenge-response protocol. | accomplished through a challenge-response protocol. | |||
| 3. Technical Improvements to the Web PKI | 3. Improvements to the Web PKI | |||
| Over the years, many technical improvements have been made to the Web | Over the years, many technical improvements have been made to the Web | |||
| PKI. This section discusses several problems and the technical | PKI. Despite this progress, several challenges remain. This section | |||
| improvements that have been made to address them. This history sets | discusses several unresolved problems, and it suggests general | |||
| the stage for suggestions for additional improvements in other | directions for tackling them. | |||
| sections of this document. | ||||
| 3.1. Weak Cryptographic Algorithms or Short Public Keys | 3.1. Weak Cryptographic Algorithms or Short Public Keys | |||
| Over the years, the digital signature algorithms, one-way hash | Several digital signature algorithms, one-way hash functions, and | |||
| functions, and public key sizes that are considered strong have | public key sizes that were once considered strong are no longer | |||
| changed. This is not a surprise. Cryptographic algorithms age; they | considered adequate. This is not a surprise. Cryptographic | |||
| become weaker with time. As new cryptanalysis techniques are | algorithms age; they become weaker over time. As new cryptanalysis | |||
| developed and computing capabilities improve, the work factor to | techniques are developed and computing capabilities increase, the | |||
| break a particular cryptographic algorithm will reduce. For this | amount of time needed to break a particular cryptographic algorithm | |||
| reason, the algorithms and key sizes used in the Web PKI need to | will decrease. For this reason, the algorithms and key sizes used in | |||
| migrate over time. A reasonable choice of algorithm or key size | the Web PKI need to migrate over time. | |||
| needs to be reevaluated periodically, and a transition may be needed | ||||
| before the expected lifetime expires. | ||||
| The browser vendors have been trying to manage algorithm and key size | ||||
| transitions, but a long-lived trust anchor or intermediate CA | ||||
| certificate can have a huge number of certificates under it. So, | ||||
| removing one certificate because it uses a weak cryptographic | ||||
| algorithm or a short public key can have a significant impact on a | ||||
| large subtree. In addition, if a certificate for a web site with a | ||||
| huge amount of traffic is in that subtree, it will increase the | ||||
| difficulty in removing the certificate with a weak cryptographic | ||||
| algorithm or a short public key. | ||||
| As a result, some valid trust anchors and certificates contain | ||||
| cryptographic algorithms long after weaknesses have been discovered | ||||
| and widely known. Similarly, valid trust anchors and certificates | ||||
| contain public keys after computational resources available to | ||||
| attackers have rendered them too weak. We have seen a very | ||||
| successful migration away from certificates that use the MD2 or MD5 | ||||
| one-way hash functions. However, there are still a number of | ||||
| certificates that use SHA-1 and 1024-bit RSA public keys [MB2015] | ||||
| [MB2016], and these certificates should be replaced. | ||||
| Today, the algorithms and key sizes used by a CA to sign end-entity | Browser vendors have been trying to manage algorithm and key size | |||
| certificates with a traditional lifespan of a year should offer 112 | transitions. It is a significant challenge to maintain a very high | |||
| to 128 bits of security. SHA-256 is a widely studied one-way hash | degree of interoperability across the world wide web while phasing | |||
| function that meets this requirement. RSA with a public key of at | out aged cryptographic algorithm or too small key size. When these | |||
| least 2048 bits or ECDSA with a public key of at least 256 bits are | appear in a long-lived trust anchor or intermediate CA certificate, | |||
| widely studied digital signature algorithms that meet this | refusal to accept them can impact a very large certificate subtree. | |||
| requirement. | In addition, if a certificate for a web site with a huge amount of | |||
| traffic is in that subtree, rejecting that certificate may impact too | ||||
| many users. | ||||
| The algorithms and key sizes used by a CA to sign long-lived | Despite this situation, the MD5 and SHA-1 one-way hash functions have | |||
| intermediate CA certificates that often have a lifespan of several | been almost completely eliminated from the Web PKI, and 1024-bit RSA | |||
| decades should offer even greater security. SHA-384 is a widely | public keys are essentially gone [MB2015] [MB2016]. It took a very | |||
| studied one-way hash function that meets this requirement. RSA with | long time to make this happen, and trust anchors and certificates | |||
| a public key of at least 3072 bits or ECDSA with a public key of at | that used these cryptographic algorithms were considered valid long | |||
| least 384 bits are widely studied digital signature algorithms that | after they were widely known to be too weak. | |||
| meet this requirement. | ||||
| Obviously, additional algorithm transitions will be needed in the | Obviously, additional algorithm transitions will be needed in the | |||
| future as these algorithms age. These algorithms, like the ones that | future. The algorithms and key sizes that are acceptable today will | |||
| were used earlier, will become weaker with time. RFC 7696 [RFC7696] | become weaker with time. [RFC7696] offers some guidelines regarding | |||
| offers some guidelines regarding cryptographic algorithm agility. | cryptographic algorithm agility. | |||
| 3.2. Certificate Status Checking | ||||
| Several years ago, many browsers did not perform certificate status | ||||
| checks by default. That is, browsers did not check whether the | ||||
| issuing CA had revoked the certificate unless the user explicitly | ||||
| adjusted a setting to enable this feature. This check can be made by | ||||
| fetching the most recent certificate revocation list (CRL) RFC 5280 | ||||
| [RFC5280], or this check can use the Online Certificate Status | ||||
| Protocol (OCSP) RFC 6960 [RFC6960]. The location of the CRL or the | ||||
| OCSP responder is usually found in the certificate itself. However, | ||||
| both of these approaches add latency. The desire to provide a | ||||
| responsive user experience is a significant reason that this feature | ||||
| has not been turned on by default. Mobile browsers simply do not | ||||
| bother to check revocation status [IMC2015]. | ||||
| Certificate status checking needs to be used at all times. Several | ||||
| techniques have been tried by CAs and browsers to make certificate | ||||
| status checking more efficient. Many CAs are using Content Delivery | ||||
| Networks (CDNs) to deliver CRLs and OCSP responses, resulting in very | ||||
| high availability and low latency. Yet, browser vendors are still | ||||
| reluctant to perform standard-based status checking by default for | ||||
| every session. | ||||
| Certificate status checking by the browser can reveal the web sites | ||||
| that the browser user is visiting to the OCSP Responder or the server | ||||
| providing the CRL. This privacy concern can be eliminated by having | ||||
| the Web Server include the OCSP Response in the TLS handshake. This | ||||
| is called OCSP Stapling, and it is discussed further in | ||||
| Section 3.2.4. | ||||
| Measurements in 2015 [IMC2015] show that a surprisingly large | ||||
| fraction of Web PKI certicates have been revoked. Note that these | ||||
| measurements were taken around the time of the Heartbleed incident | ||||
| [HEARTBLEED], and the revocation activity may have been unusually | ||||
| high due to this incident. In addition, this incident exacerbates | ||||
| the problem of incomplete Web PKI revocation checking. These | ||||
| measurements show that browsers are not obtaining current certificate | ||||
| revocation information because it is too expensive in terms of | ||||
| latency and bandwidth. Finally, only a small number of CRL and OCSP | ||||
| servers are available over IPv6, and as more of the Web moves to IPv6 | ||||
| [ABLOG] this is expected to become an increasingly significant issue. | ||||
| The following subsections identify some approaches for reducing the | ||||
| perceived and actual cost of revocation status checks. | ||||
| 3.2.1. Short-lived Certificates | ||||
| Short-lived certificates are an excellent way to reduce the need for | The Web PKI can prepare for the next transition by: | |||
| certificate status checking. The shorter the life of the | ||||
| certificate, the less time there is for anything to go wrong. If the | ||||
| lifetime is short enough, policy might allow certificate status | ||||
| checking can be skipped altogether. In practice, implementation of | ||||
| short-lived certificates requires automation to assist web server | ||||
| administrators, which is a topic that is discussed elsewhere in this | ||||
| document. | ||||
| 3.2.2. CRL Distribution Points | 1. Having experts periodically evaluate the current choices of | |||
| algorithm and key size. While it is not possible to predict when | ||||
| a new cryptanalysis technique will be discovered, the end of the | ||||
| useful lifetime of most algorithms and key sizes is known many | ||||
| years in advance. | ||||
| The certificate revocation list distribution point (CRLDP) | 2. Planning for a smooth and orderly transition from a weak | |||
| certificate extension RFC 5280 [RFC5280] allows a CA to control the | algorithm or key size. Experience has shown that many years are | |||
| maximum size of the CRLs that they issue. This helps in two ways. | needed produce to specifications, develop implementations, and | |||
| First, the amount of storage needed by the browser to cache CRLs is | then deploy replacements. | |||
| reduced. Second, and more importantly, the amount of time it takes | ||||
| to download a CRL can be scoped, so that the amount of time needed to | ||||
| fetch any single CRL is reasonable. | ||||
| Few CAs take advantage of the CRLDP certificate extension to limit | 3. Reducing the lifetime of certificates, especially intermediate CA | |||
| the size of CRLs. In fact, there are several CAs that publish | certificates, to create frequent opportunities to change an | |||
| extremely large CRLs. Browsers never want to suffer the latency | algorithm or key size. | |||
| associated with large CRLs, and some ignore the CRLDP extension when | ||||
| it is present. Browsers tend to avoid the use of CRLs altogether. | ||||
| 3.2.3. Proprietary Revocation Checks | 3.2. Support for Enterprise PKIs | |||
| Some browser vendors provide a proprietary mechanism for revocation | Many enterprises operate their own PKI. These enterprises do not | |||
| checking. These mechanisms obtain revocation status information once | want to be part of the traditional Web PKI, but they face many | |||
| per day for the entire Web PKI in a very compact form. No network | challenges in order to achieve a similar user experience and level of | |||
| traffic is generated at the time that a certificate is being | security. | |||
| validated, so there is no latency associated with revocation status | ||||
| checking. The browser vendor infrastructure performs daily checks of | ||||
| the Web PKI, and then the results are assembled in a proprietary | ||||
| format and made available to the browser. These checks only cover | ||||
| the trust anchor store for that browser vendor, so any trust anchors | ||||
| added by the user cannot be checked in this manner. | ||||
| Measurements in 2015 [IMC2015] show that proprietary status checking | Users must install the trust anchor or trust anchors for the | |||
| is not currently providing adequate coverage of the Web PKI. | enterprise PKI in their browser. There is not a standard way to | |||
| accomplish trust anchor installation, and users are often faced with | ||||
| scary warnings in the process of the installation. | ||||
| 3.2.4. OCSP Stapling | Enterprise PKI users often experience greater latency than tradition | |||
| Web PKI users. Some browser vendors provide a proprietary revocation | ||||
| checking mechanism that obtains revocation status for the entire Web | ||||
| PKI in a very compact form. This mechanism eliminates latency since | ||||
| no network traffic is generated at the time that a certificate is | ||||
| being validated. However, these mechanisms cover only the trust | ||||
| anchor store for that browser vendor, excluding all enterprise PKIs. | ||||
| In addition, measurements in 2015 [IMC2015] show that these | ||||
| mechanisms do not currently provide adequate coverage of the Web PKI. | ||||
| Browsers can avoid transmission of CRLs altogether by using the | RFC 6961 [RFC6961] defines the TLS Multiple Certificate Status | |||
| Online Certificate Status Protocol (OCSP) RFC 6960 [RFC6960] to check | Request extension, which allows the web server to provide status | |||
| the validity of web server certificates. The TLS Certificate Status | information about its own certificate and also the status of | |||
| Request extension is defined in Section 8 of RFC 6066 [RFC6066]. In | ||||
| addition, RFC 6961 [RFC6961] defines the TLS Multiple Certificate | ||||
| Status Request extension, which allows the web server to provide | ||||
| status information about its own certificate and also the status of | ||||
| intermediate certificates in the certification path. By including | intermediate certificates in the certification path. By including | |||
| this extension in the TLS handshake, the browser asks the web server | this extension in the TLS handshake, the browser asks the web server | |||
| to provide an OCSP response in addition to its certificate. This | to provide OCSP responses in addition to the server certificate. | |||
| approach greatly reduces the number of round trips by the browser to | This approach greatly reduces the latency since the browser does not | |||
| check the status of each certificate in the path. In addition, the | need to generate any OCSP requests or wait for any OCSP responses. | |||
| web server can cache the OCSP response for a period of time, avoiding | ||||
| additional latency. Even in the cases where the web server needs to | ||||
| contact the OCSP responder, the web server usually has a higher | ||||
| bandwidth connection than the browser to do so. | ||||
| The provision of the time-stamped OCSP response in the TLS handshake | The provision of the time-stamped OCSP response in the TLS handshake | |||
| is referred to as "stapling" the OCSP response to the TLS handshake. | is referred to as "stapling" the OCSP response to the TLS handshake. | |||
| If the browser does not receive a stapled OCSP response, it can | If the browser does not receive a stapled OCSP response, it can | |||
| contact the OCSP responder directly. In addition, the MUST_STAPLE | contact the OCSP responder directly. In addition, the MUST_STAPLE | |||
| feature [TLSFEATURE] can be used to insist that OCSP stapling be | feature [TLSFEATURE] can be used to insist that OCSP stapling be | |||
| used. | used. | |||
| When every browser that connects to a high volume website performs | When every browser that connects to a high volume website performs | |||
| its own OCSP lookup, the OCSP responder must handle a real-time | its own OCSP lookup, the OCSP responder must handle a large volume of | |||
| response to every browser. OCSP stapling can avoid enormous volumes | OCSP requests in real-time. OCSP stapling can avoid enormous volumes | |||
| of OCSP requests for certificates of popular websites, so stapling | of OCSP requests for certificates of popular websites, so stapling | |||
| can significantly reduce the cost of providing an OCSP service. | can significantly reduce the cost of providing an OCSP service. | |||
| OCSP stapling can also improve user privacy, since the web server, | OCSP stapling can also improve user privacy, since the web server, | |||
| not the browser, contacts the OCSP responder. In this way, the OCSP | not the browser, contacts the OCSP responder. In this way, the OCSP | |||
| responder is not able to determine which browsers are checking the | responder is not able to determine which browsers are checking the | |||
| validity of certificate for websites. | validity of certificate for particular websites. | |||
| Many web site are taking advantage of OCSP stapling. At the time of | ||||
| this writing, browser venders report that about 12% the the | ||||
| transactions use OCSP stapling, and the number is on the rise. | ||||
| 3.3. Surprising Certificates | ||||
| All of the CAs in the trust store are equally trusted for the entire | ||||
| domain name space, so any CA can issue for any domain name. In fact, | ||||
| there have been certificates issued by CAs that are surprising to the | ||||
| legitimate owner of a domain. The domain name owner is surprised | ||||
| because they did not request the certificates. They are initially | ||||
| unaware that a CA has issued a certificate that contains their domain | ||||
| name, and once the surprising certificate is discovered, it can be | ||||
| very difficult for the legitimate domain name owner to get it | ||||
| revoked. Further, browsers and other relying parties cannot | ||||
| distinguish a certificate that the legitimate domain name owner | ||||
| requested from a surprising one. | ||||
| Since all of the CAs in the trust store are equally trusted, any CA | ||||
| can issue a certificate for any domain name. There are known cases | ||||
| where attackers have thwarted the CA protections and issued | ||||
| certificates that were then used to mount attacks against the users | ||||
| of that web site [FOXIT]. For this reason, all of the CAs listed in | ||||
| the trust store must be very well protected. | ||||
| The Baseline Requirements produced by the CA/Browser Forum [CAB2014] | ||||
| tell CAs the checks that need to be performed before a certificate is | ||||
| issued. In addition, WebTrust [WEBTRUST] provides the audit | ||||
| requirements for CAs, and browser vendors will remove a CA from the | ||||
| trust anchor store if successful audit reports are not made | ||||
| available. | ||||
| When a CA issues a certificate to a subordinate CA, the inclusion of | ||||
| widely supported certificate extensions can reduce the set of | ||||
| privileges given to the sub-CA. This aligns with the traditional | ||||
| security practice of least privilege, where only the privileges | ||||
| needed to perform the envisioned tasks are provided. However, many | ||||
| sub-CAs have certificates that pass along the full powers of the CA, | ||||
| creating additional high-pay-off targets for attackers, and these | ||||
| sub-CAs may not be held to the same certificate issuance requirements | ||||
| and audit requirement as the parent CA. | ||||
| Some major implementations have not fully implemented the mechanisms | ||||
| necessary to reduce sub-CA privileges. For example, RFC 5280 | ||||
| [RFC5280] includes the specification of name constraints, and the CA/ | ||||
| Browser Forum guidelines [CAB2014] encourage the use of dNSNames in | ||||
| permittedSubtrees within the name constraints extension. Despite | ||||
| this situation, one major browser does not support name constraints, | ||||
| and as a result, CAs are reluctant to use them. When they are used, | ||||
| the name constraints extension in not marked critical so that the | ||||
| browser that does not support this extension is free to ignore the | ||||
| extension. This situation leads to enforcement of the name | ||||
| constraint by some browsers and not others. Further, global CAs are | ||||
| prepared to issue certificates within every top-level domain, | ||||
| including ones that are newly-approved. It is not practical for | ||||
| these global CAs to use name constraints in their sub-CA | ||||
| certificates. | ||||
| As a result of procedural failures or attacks, surprising | ||||
| certificates are being issued. Several mechanisms have been defined | ||||
| to avoid the issuance of surprising certificates or prevent browsers | ||||
| from accepting them. | ||||
| 3.3.1. Certificate Authority Authorization (CAA) | ||||
| The Certificate Authority Authorization (CAA) [RFC6844] DNS resource | ||||
| record allows a domain administrator to specify one or more CAs | ||||
| authorized to issue certificates that include that domain name. | ||||
| Then, a trustworthy CA will refuse to issue a certificate for a | ||||
| domain name that has a CAA resource record that does not explicitly | ||||
| name the CA. | ||||
| To date, only one major CA performs this check, and there is no | ||||
| indication that other CAs are planning to add this check in the near | ||||
| future. | ||||
| 3.3.2. HTTP Public Key Pinning (HPKP) | Several enterprises issue certificates to all of their employees, and | |||
| among other uses, these certificates are used in TLS client | ||||
| authentication. There is not a common way to import the private key | ||||
| and the client certificate into browsers. In fact, the private key | ||||
| can be stored in many different formats depending on the software | ||||
| used to generate the public/private key pair. PKCS#12 [RFC7292] | ||||
| seems to be the most popular format at the moment. A standard way to | ||||
| import the needed keying material and a standard format will make | ||||
| this task much easier, and the World Wide Web might enjoy an increase | ||||
| in mutual authentication. | ||||
| HTTP Public Key Pinning (HPKP) [RFC7469] allows a web server to | Enterprise PKIs can be better supported if: | |||
| instruct browsers to remember the server's public key fingerprints | ||||
| for a period of time. The fingerprint is a one-way hash of the | ||||
| subject public key information in the certificate. The Public-Key- | ||||
| Pins header provides a maximum retention period, fingerprints of the | ||||
| web server certificate, and optionally fingerprints for backup | ||||
| certificates. The act of saving the fingerprints is referred to as | ||||
| "pinning". During the pin lifetime, browsers require that the same | ||||
| web server present a certificate chain that includes a public key | ||||
| that matches one of the retained fingerprints. This prevents | ||||
| impersonation of the website with a surprising certificate. | ||||
| A website can choose to pin the CA certificate so that the browser | 1. Each enterprise PKI offers an OCSP Responder, and web sites with | |||
| will accept only valid certificates for the website domain that are | certificates from the enterprise PKI make use of OCSP Stapling. | |||
| issued by that CA. Alternatively, the website can choose to pin | ||||
| their own certificate and at least one backup certificate in case the | ||||
| current certificate needs to be replaced due to a compromised server. | ||||
| Some browser vendors also pin certificates by hardcoding fingerprints | 2. Browser vendors support a standard way for the trust anchors for | |||
| of very well known websites. | the enterprise PKI to be installed. | |||
| When HPKP is used, browsers may be able to detect a man-in-the- | 3. Browser vendors support a standard way to install private keys | |||
| middle. Sometimes the man-in-the-middle is an attacker, and other | and certificates for use in client authentication. | |||
| times a service provider purposefully terminates the TLS at a | ||||
| location other than the web server. One example became very public | ||||
| in February 2012 when Trustwave admitted that it had issued a | ||||
| subordinate CA certificate for use by a company to inspect corporate | ||||
| network traffic [LC2012]. When HPKP is used, the browser user will | ||||
| be notified if the key-pining is violated, unless the violating | ||||
| certificate can be validated to a locally installed trust anchor. In | ||||
| this situation, the browser is assuming that the user intended to | ||||
| explicitly trust the certificate. | ||||
| 3.3.3. HTTP Strict Transport Security (HSTS) | 4. In the event that browser vendors continue to offer latency-free | |||
| proprietary revocation status checking mechanisms, then these | ||||
| mechanisms need to expand the coverage to all of the Web PKI and | ||||
| offer a means to include enterprise PKIs in the coverage. | ||||
| HTTP Strict Transport Security (HSTS) [RFC6797] is a security policy | 3.3. Web PKI in the Home | |||
| mechanism that protects secure websites against downgrade attacks, | ||||
| and it greatly simplifies protection against cookie hijacking. The | ||||
| presence of the Strict-Transport-Security header tells browsers that | ||||
| all interactions with this web server should never use HTTP without | ||||
| TLS, providing protection against both eavesdropping and active | ||||
| network attacks. The protections can be tied to a domain or a domain | ||||
| and all of its sub-domains. | ||||
| When a web server includes the Strict-Transport-Security header, the | More and more, web protocols are being used to manage devices in the | |||
| browser is expected to do two things. First, the browser | home. For example, homeowners can use a web browser to connect to a | |||
| automatically turns any insecure links into secure ones. For | web site that is embedded in their home router to adjust various | |||
| instance, "http://mysite.example.com/mypage/" will be changed to | settings. The router allows the browser to access web pages to | |||
| "https://mysite.example.com/mypage/". Second, if the TLS Handshake | adjust these setting as long as the connection originates from the | |||
| results in some failure, such as the certificate cannot be validated, | home network and the proper password is provided. However, there is | |||
| then an error message is displayed and the user is denied access to | no way for the browser to authenticate to the embedded web site. | |||
| the web application. Any web server misconfiguration, such as a | Authentication of the web site is normally performed during the TLS | |||
| certificate expiration, will result no one being able to access the | handshake, but the Web PKI is not equipped to issue certificates to | |||
| web site until the configuration is corrected. | home routers or the many other home devices that employ embedded web | |||
| sites for homeowner management. | ||||
| To date, HSTS ha seen very little deployment, and there is no | A solution in this environment must not depend on the homeowner to | |||
| indication that the browser vendors intend to add support for it. | perform duties that are normally associated with a web site | |||
| administrator. However, some straightforward tasks could be done at | ||||
| the time the device is installed in the home. These task cannot be | ||||
| more complex that the initial setup of a new printer in the home, | ||||
| otherwise they will be skipped or done incorrectly. | ||||
| 3.3.4. DNS-Based Authentication of Named Entities (DANE) | There are two very different approaches to certificates for home | |||
| devices that have been discussed over the years. In the first | ||||
| approach, a private key and certificate are installed in the device | ||||
| at the factory. The certificate has an unlimited lifetime. Since it | ||||
| never expires, no homeowner action is needed to renew it. Also, | ||||
| since the certificate never changes, the algorithms are selected by | ||||
| the factory for the lifetime of the device. The subject name in the | ||||
| certificate is quite generic, as it must be comprised of information | ||||
| that is known in the factory. The subject name is often based on | ||||
| some combination of the manufacturer, model, serial number, and MAC | ||||
| address. While these do uniquely identify the device, they have | ||||
| little meaning to the homeowner. | ||||
| The DNS-Based Authentication of Named Entities (DANE) [RFC6698] | In the second approach, like the first one, a private key and a | |||
| allows domain administrators to specify the raw public keys or | certificate that are installed in the device at the factory, but the | |||
| certificates that are used by web servers in their domain. DANE | homeowner is unaware of them. This factory-installed certificate is | |||
| leverages the DNS Security Extensions (DNSSEC) [RFC4034][RFC4035], | used only to authenticate to a CA operated by the manufacturer. At | |||
| which provides digital signatures over DNS zones that are validated | the time the device is installed, the homeowner can provide a portion | |||
| with keys that are bound to the domain name of the signed zone. The | of the subject name for the device, and the manufacturer CA can issue | |||
| keys associated with a domain name can only be signed by a key | a certificate that includes a subject name that the homeowner will | |||
| associated with the parent of that domain name. For example, the | recognize. The certificate can be renewed without any action by the | |||
| DNSSEC keys for "www.example.com" can only be signed by the DNSSEC | homeowner at appropriate intervals. Also, following a software | |||
| keys for "example.com". Therefore, a malicious actor can only | update, the algorithms used in the TLS handshake and the certificate | |||
| compromise the keys of their own subdomains. Like the Web PKI, | can be updated. | |||
| DNSSEC relies on public keys used to validate chains of signatures, | ||||
| but DNSSEC has a single root domain as opposed to a multiplicity of | ||||
| trusted CAs. | ||||
| DANE binds raw public keys or certificates to DNS names. The domain | Section 3.1 of this document calls for the ability to transition from | |||
| administrator is the one that vouches for the binding of the public | weak cryptographic algorithms over time. For this reason, and the | |||
| key or the certificate to the domain name by adding the TSLA records | ability to use a subject name that the homeowner will recognize, the | |||
| to the zone and then signing the zone. In this way, the same | second approach is preferred. | |||
| administrator is responsible for managing the DNS names themselves | ||||
| and associated public keys or certificates with those names. DANE | ||||
| restricts the scope of assertions that can be made, forcing them to | ||||
| be consistent with the DNS naming hierarchy. | ||||
| In addition, DNSSEC reduces opportunities for redirection attacks by | One potential problem with the second approach is continuity of | |||
| binding the domain name to the public key or certificate. | operations of the manufacturer CA. After the device is deployed, the | |||
| manufacturer might go out of business, and then come time for renewal | ||||
| of the certificate, there will not be a CA to issue the new | ||||
| certificate. One possible solution might be modeled on the domain | ||||
| name business, where other parties will continue to provide needed | ||||
| services if the original provider goes out of business. | ||||
| Some Web PKI certificates are being posted in TLSA records, but | The Web PKI can prepare for the vast number of home devices that need | |||
| browsers expect to receive the server certificate in the TLS | certificates by: | |||
| handshake, and there is little incentive for browsers to confirm that | ||||
| the received certificate matches the one posted in the DNS. For this | ||||
| reason, work has begun on a TLS extension that will allow the DNSSEC- | ||||
| protected information to be provided in the handshake, which will | ||||
| eliminate the added latency [TLSCHAIN]. | ||||
| 3.3.5. Certificate Transparency | 1. Building upon the work being done in the IETF ACME Working Group | |||
| [ACMEWG] to facilitate the automatic renewal of certificates for | ||||
| home devices without any actions by the homeowner beyond the | ||||
| initial device setup. | ||||
| Certificate Transparency (CT) [RFC6962] offers a mechanism to detect | 2. Working with device manufacturers to establish scalable CAs that | |||
| surprising certificates, and once detected, administrators and CAs | will continue to issue certificates for the deployed devices even | |||
| can take the necessary actions to revoke the surprising certificates. | if the manufacture goes out of business. | |||
| When requesting a certificate, the administrator can request the CA | 3. Working with device manufacturers to establish OCSP Responders so | |||
| to include an embedded Signed Certificate Timestamp (SCT) in the | that the web sites that are embedded in the devices can provide | |||
| certificate to ensure that their legitimate certificate is logged | robust authentication and OCSP stapling in a manner that is | |||
| with one or more CT logs. | compatible with traditional web sites. | |||
| An administrator, or another party acting on behalf of the | 3.4. Browser Error Messages | |||
| administrator, is able to monitor one or more CT logs to which a pre- | ||||
| certificate or certificate is submitted, and detect the logging of a | ||||
| pre-certificate or certificate that contains their domain name. When | ||||
| such a pre-certificate or certificate is detected, the CA can be | ||||
| contacted to to get the surprising certificate revoked. | ||||
| In the future, a browser may choose to reject certificates that do | Many users find browser error messages related to certificates | |||
| not contain an SCT, and potentially notify the website administrator | confusing. Good man-machine interfaces are always difficult, but in | |||
| or CA when they encounter such a certificate. Such reporting will | this situation users are unable to fully understand the risks that | |||
| help detect mis-issuance of certificates and lead to their | they are accepting, and as a result they do not make informed | |||
| revocation. | decisions about when to proceed and when to stop. This aspect of | |||
| browser usability needs to be improved for users to make better | ||||
| security choices. | ||||
| The IETF Certificate Transparency Working Group is in the process of | Browser users have been trained to ignore warnings, making them | |||
| updating RFC 6962. Many data structures are changing, and CT logs | ineffective. Further, solving the error message situation in | |||
| will have to pick a format, choosing version 1 (v1) that conforms to | isolation is probably not possible; instead, it needs to be | |||
| RFC 6962 or version 2 (v2) that conforms to the new specification. | considered along side the other issues raised in this document. | |||
| Since the data structures are incompatible, a v2 log will not be able | Browser users have been trained to find a way around any error, and | |||
| to issue a valid v1 SCT. A CT client can support both v1 and v2 SCTs | very often, the error is the result of web server misconfiguration, | |||
| for the same certificate, simultaneously, since a v1 SCT will be | and it does not actually present a risk to the browser user. | |||
| carried in different extension than a v2 SCT. | ||||
| 3.4. Automation for Server Administrators | If the risk to the user is high, then the session should be closed | |||
| with a clear description of the problem that was encountered. Doing | ||||
| so will lead to improved management of the overall Web infrastructure | ||||
| over time, especially as the tools that are being developed for web | ||||
| server administrators are rolled out. | ||||
| The IETF has developed several protocols for certificate management, | In some enterprises, avoiding these errors requires the addition of | |||
| including the Certificate Management Protocol (CMP) [RFC4210], | enterprise-specific trust anchors to the browser. Additional tools | |||
| Certificate Management over CMS (CMC) [RFC5272], and Enrollment over | are needed to allow administrations to easily add appropriate trust | |||
| Secure Transport (EST) [RFC7030]. There are also some proprietary | anchors, especially browsers on consumer devices as more and more | |||
| certificate management protocols. None of these protocols enjoys a | enterprises are embracing bring-your-own-device policies. | |||
| dominate position in the market. | ||||
| There have been several attempts to provide automation for routine | The Web PKI can simplify user choice and improve user actions by: | |||
| tasks that are performed by web server administrators, such as | ||||
| certificate renewal. For example, some commercial tools offer | ||||
| automated certificate renewal and installation [DCEI][SSLM]. Also, | ||||
| at least one proposal was brought to the IETF that allows a web | ||||
| server to automate obtaining and renewing certificates [PHBOB]. | ||||
| Without automation, there are many manual steps involved in getting a | ||||
| certificate from a CA, and to date none of these attempts at | ||||
| automation have enjoyed widespread interoperability and adoption. | ||||
| There are at least two ways that this impacts web security. First, | ||||
| many web sites do not have a certificate at all. The cost, time, and | ||||
| effort are too great for the system administrator. This is | ||||
| especially true if the web site is not involved in financial | ||||
| transactions or some other critical activity. Second, once a | ||||
| certificate is obtained, a replacement is not obtained until the | ||||
| current one expires. Automation can reduce the amount of time that | ||||
| an administrator needs to dedicate to certificate management, and it | ||||
| can make certificate renewal timely and automatic. Both of these | ||||
| should lead to more widespread deployment and improved web security. | ||||
| The IETF ACME working group [ACMEWG] is working on protocols that | 1. Browser vendors providing additional intelligence to eliminate | |||
| will provide system administrators with an automated way to enroll | the majority of certificate warnings, only prompting the user | |||
| and renew their certificates. The expectation is that these | when there is likely to be a risk. | |||
| specifications will lead to widely available and interoperable tools | ||||
| for system administrators. The expectation is that these protocols | ||||
| and tools will be supported by all web server environments and CAs, | ||||
| which will greatly reduce complexity and cost. In addition, the | ||||
| easier renewal process provided by automation can be used to reduce | ||||
| certificate lifetimes, which in turn will reduce the time required to | ||||
| flush old algorithms out of the system when it is decided to | ||||
| transition to newer more secure algorithms. | ||||
| 4. Policy and Process Improvements to the Web PKI | 2. Browser vendors improving error messages to clearly indicate the | |||
| risk that the user is accepting if they proceed. | ||||
| As with many technologies, the issues and complexities associated | 3.5. Governance Improvements to the Web PKI | |||
| with Web PKI use and deployment are just as much policy and process | ||||
| as technical. These have evolved over time as well. This section | ||||
| discusses the ways that business models and operational policies and | ||||
| processes impact the Web PKI. | ||||
| 4.1. Determination of the Trusted Certificate Authorities | As with many other technologies, Web PKI technical issues are tangled | |||
| up with policy and process issues. Policy and process issues have | ||||
| evolved over time, sometimes eroding confidence and trust in the Web | ||||
| PKI. Governance structures are needed that increase transparency and | ||||
| trust. | ||||
| A very basic question for users of the Web PKI is "Who do you trust?" | Web PKI users are by definition asked to trust CAs. This includes | |||
| The system for determining which CAs are added to or removed from the | what CAs are trusted to do properly, and what they are trusted not to | |||
| trust store in browsers has been perceived by some as opaque and | do. The system for determining which CAs are added to or removed | |||
| confusing. As mentioned earlier, the CA/Browser Forum has developed | from the trust anchor store in browsers is opaque and confusing to | |||
| baseline requirements for the management and issuance of certificates | most Web PKI users. The CA/Browser Forum has developed baseline | |||
| requirements for the management and issuance of certificates | ||||
| [CAB2014] for individual CAs. However, the process by which an | [CAB2014] for individual CAs. However, the process by which an | |||
| individual CA gets added to the trust store for each of the major | individual CA gets added to the trust anchor store by each of the | |||
| browsers is not straightforward. The individual browser vendors | browsers vendors is not straightforward. The individual browser | |||
| determine what should and should not be trusted by including those | vendors determine what should and should not be trusted by including | |||
| trusted CAs in their trust store. They do this by leveraging the | the CA certificate in their trust anchor store. They do this by | |||
| AICPA/CICA WebTrust Program for Certification Authorities [WEBTRUST]. | leveraging the AICPA/CICA WebTrust Program for Certification | |||
| This program provides auditing requirements and a trust mark for CAs. | Authorities [WEBTRUST]. This program provides auditing requirements | |||
| Failure to pass an audit can result in the CA being removed from the | and a trust mark for CAs that meet them. Failure to pass an audit | |||
| trust store. | can result in the CA being removed from the trust store. | |||
| Once the browser has shipped, how does a user know which CAs are | Once the browser has shipped, how does a user know which CAs are | |||
| trusted or what has changed recently? For an informed user, | trusted or what has changed recently? For an informed user, | |||
| information about which CAs have been added to or deleted from the | information about which CAs have been added to or deleted from the | |||
| browser trust store can be found in the release notes. Users can | browser trust anchor store can be found in the browser release notes. | |||
| also examine the policies of the various CAs which would have been | Users can also examine the policies of the various CAs that have been | |||
| developed and posted for the WebTrust Program. However, this is a | developed and posted for the WebTrust Program. However, this is a | |||
| very high barrier for the average user. There are options to make | very high barrier for the average user. There are options to make | |||
| local modifications by educated users, but there is little | local modifications by educated users, but there is little | |||
| understanding about the implications of these choices. How does an | understanding about the implications of these choices. How does an | |||
| individual, organization, or enterprise really determine if a | individual, organization, or enterprise really determine if a | |||
| particular CA is trustworthy? Do the default choices inherited from | particular CA is trustworthy? Do the default choices inherited from | |||
| the browser vendors truly represent the organization's trust model? | the browser vendors truly represent the organization's trust model? | |||
| What constitutes sufficiently bad behavior by a CA to cause removal | What constitutes sufficiently bad behavior by a CA to cause removal | |||
| from the trust store? | from the trust anchor store? | |||
| In addition, it can be hazardous for users to remove CAs from the | In addition, it can be hazardous for users to remove CAs from the | |||
| browser trust store. If a user removes a CA from the browser trust | browser trust anchor store. If a user removes a CA from the browser | |||
| store, some web sites may become completely inaccessible or require | trust anchor store, some web sites may become completely inaccessible | |||
| the user to take explicit action to accept warnings or bypass browser | or require the user to take explicit action to accept warnings or | |||
| protections related to untrusted certificates. | bypass browser protections related to untrusted certificates. | |||
| One form of bad behavior by CAs is the mis-issuance of certificates. | ||||
| This mis-issuance can be either an honest mistake by the CA, | ||||
| malicious behavior by the CA, or a case where an external party has | ||||
| duped the CA into the mis-issuance. When a CA has delegated | ||||
| authority to a sub-CA, and then the sub-CA issued bad certificates | ||||
| either unintentionally or maliciously, the CA is able to deny | ||||
| responsibility for the actions of the sub-CA. However, the CA may be | ||||
| the only party that can revoke the sub-CA certificate to protect the | ||||
| overall Web PKI. | ||||
| Another complication with CAs and the trust store maintained by the | ||||
| browser vendor is an enterprise managed PKI. For example, the US | ||||
| Department of Defense operates its own PKI. In this case, the | ||||
| enterprise maintains its own PKI for the exclusive use of the | ||||
| enterprise itself. A bridge CA may be used to connect related | ||||
| enterprises. The complication in this approach is that the | ||||
| revocation mechanisms don't work with any additions that have been | ||||
| made by the enterprise. See Section 3.2.3 on proprietary revocation | ||||
| checks. | ||||
| The guidelines provided by the WebTrust program [WEBTRUST] provide a | The guidelines provided by the WebTrust program [WEBTRUST] provide a | |||
| framework for removing a CA from the trust store. However, the | framework for removing a CA from the trust anchor store. There may | |||
| implications of removing a CA can be significant. There may be a few | be a few very large CAs that are critical to significant portions of | |||
| very large CAs that are critical to significant portions of Internet | World Wide Web infrastructure. Removing one of these CAs can have a | |||
| infrastructure. Removing one of these trusted CAs can have a | significant impact on a huge number of websites. As discussed in | |||
| significant impact on a large cross section of Internet users | Section 3.4, users are already struggling to understand the | |||
| resulting in potentially large numbers of websites no longer being | implications of untrusted certificates, so they often ignore warnings | |||
| trusted. Users are already struggling to understand the implications | presented by the browser. | |||
| of untrusted websites and often ignore the current warnings as | ||||
| discussed below. | ||||
| 4.2. Price for Certificates | ||||
| Many CAs charge for each of the certificates that they issue. This | ||||
| business model creates a hurdle for proper deployment. In some | ||||
| cases, the cost causes people to deploy self-signed certificates that | ||||
| cannot be validated against the browser trust store. In other cases, | ||||
| the cost is an incentive to use the same certificate and the | ||||
| associate private key on many different servers within a domain. | ||||
| This leads to greater exposure of the private key, and coordination | ||||
| is needed among the server administrators when it is time to renew | ||||
| the certificate. | ||||
| At least one CA is moving away from the charging-per-certificate | ||||
| business model. The Let's Encrypt CA [LE] is offering free web | ||||
| server certificates. This zero-cost business model will | ||||
| significantly change the Web PKI, removing the cost concerns that | ||||
| leaded to insecure deployment. | ||||
| 4.3. Governance Structures for the Web PKI | ||||
| There are a number of organizations that play significant roles in | There are a number of organizations that play significant roles in | |||
| the operation of the Web PKI, including the CAB Forum, the WebTrust | the operation of the Web PKI, including the CA/Browser Forum, the | |||
| Program, and the browser vendors. These organizations act on behalf | WebTrust Program, and the browser vendors. These organizations act | |||
| of the entire Internet community. Transparency in these operations | on behalf of the entire Internet community; therefore, transparency | |||
| is vital to basic trust in the Web PKI. As one example, in the past | in these operations is fundamental to confidence and trust in the Web | |||
| the CAB Forum was perceived as being a closed forum; however, some | PKI. Recently the CA/Browser Forum made some changes to their | |||
| changes were made to the operational procedures to allow more | operational procedures to make it easier for people to participate | |||
| visibility if not actual participation in the process [CAB1.2]. How | and to improve visibility into their process [CAB1.2]. This is a | |||
| do we ensure that these processes continue to evolve in an open, | significant improvement, but these processes need to continue to | |||
| inclusive, and transparent manner? Currently, as the name implies, | evolve in an open, inclusive, and transparent manner. Currently, as | |||
| the CAB Forum members represent CAs and browser vendors. How do we | the name implies, the CA/Browser Forum members primarily represent | |||
| ensure that relying parties have a voice in this forum? | CAs and browser vendors. It would be better if relying parties also | |||
| have a voice in this forum. | ||||
| Since the Web PKI is widespread, applications beyond the World Wide | Since the Web PKI is widespread, applications beyond the World Wide | |||
| Web are making use of the Web PKI. For example, the Web PKI is used | Web are making use of the Web PKI. For example, the Web PKI is used | |||
| to secure the connections between SMTP servers. In these | to secure connections between SMTP servers. In these environments, | |||
| environments, the browser-centric capabilities are unavailable. For | the browser-centric capabilities are unavailable. The current | |||
| example, see Section 3.2.3 on proprietary revocation checks. The | governance structure does not provide a way for the relying parties | |||
| current governance structure does not provide a way for these other | in these applications to participate. | |||
| applications to participate. How do we ensure that these other | ||||
| applications get a voice in this forum? | ||||
| 5. Additional Technical Considerations | ||||
| Beyond the technical mechanisms that constitute the Web PKI itself, | ||||
| there are additional technical considerations that impact the success | ||||
| of the Web PKI. | ||||
| 5.1. Browser Error Messages | ||||
| Many people find browser error messages related to certificates | ||||
| confusing. Good man-machine interfaces are always difficult, but in | ||||
| this situation users are unable to understand the risks that they | ||||
| being asked to accept. Even experts do not have the time or | ||||
| inclination to make an assessment of the situation that caused the | ||||
| error message. As a result, browser users have learned to largely | ||||
| ignore the warning messages. | ||||
| Many different situations can cause an error message, where blocking | ||||
| the communication would not be in the interest of the browser user. | ||||
| There are many examples, including web sites that use self-signed | ||||
| certificates, captive portals that redirect intercepted HTTPS | ||||
| connections, and certificates that appear expired because the local | ||||
| computer clock is wrong. | ||||
| Too often the warnings are due to web server misconfiguration. | ||||
| Further, solving the error message situation in isolation is probably | ||||
| not possible; instead, it needs to be considered along side the other | ||||
| issues raised in this document. | ||||
| If the risk to the user is high, then the session should be closed | ||||
| with a clear description of the problem that was encountered. Doing | ||||
| so will lead to improved management of the overall infrastructure | ||||
| over time, especially as the tools that are being developed for web | ||||
| server administrators are rolled out. | ||||
| In some enterprises, avoiding these errors requires the addition of | ||||
| enterprise-specific trust anchors to the browser. Additional tools | ||||
| are needed to allow administrations to easily add appropriate trust | ||||
| anchors, especially browsers on consumer-grade devices as more and | ||||
| more enterprises are embracing bring-your-own-device policies. | ||||
| 5.2. Time Synchronization | ||||
| Time synchronization is another factor that impacts the security and | ||||
| reliability of the Web PKI. Reasonably accurate time is needed to | ||||
| check certificate expiration and to determine whether cached | ||||
| revocation status information is fresh. There is ongoing work to | ||||
| improve the security of the time synchronization infrastructure, and | ||||
| it will use certificates to authenticate time servers. Since the | ||||
| certificate infrastructure relies on quality time synchronization, | ||||
| this dependency creates a boot strapping issue. | ||||
| 6. Recommendations for Improving the Web PKI | ||||
| To make the Web PKI more secure and more robust, the following | ||||
| priorities have been identified and are recommended for further | ||||
| development and deployment: | ||||
| Improve certificate status checking. | ||||
| Develop and deploy a standard solution for all relying parties | ||||
| is needed. OCSP stapling seems to be a significant part of | ||||
| this solution. | ||||
| Automation for certificate enrollment and renewal. | ||||
| Develop and deploy standard protocols that provide system | ||||
| administrators with an automated way to enroll and renew their | ||||
| certificates. This work is currently underway in the IETF. | ||||
| In addition, solutions to these procedural and policy challenges are | ||||
| needed: | ||||
| Smooth transition between cryptographic algorithms. | ||||
| Develop best practices for smooth and timely transition between | ||||
| cryptographic algorithms. | ||||
| Eliminate surprising certificates. | ||||
| Develop best practices that use one or more of the several | ||||
| mechanisms that have been defined throughout the Web PKI to | ||||
| eliminate surprising certificates. | ||||
| Confidence in CA actions. | ||||
| Develop best practices for identifying and dealing with bad | ||||
| behavior by a CA that can be followed by all browser vendors. | ||||
| Open and transparent Web PKI governance. | The Web PKI governance structures can be made more open and | |||
| Develop a governance structure that allows relying parties to | transparent by: | |||
| have a voice resulting in open and transparent governance. | ||||
| 7. Security Considerations | 1. Browser vendors providing additional visibility and tools to | |||
| support the management of the trust anchor store. | ||||
| Not just the Web depends on the Web PKI. For example, mail servers | 2. Governance organizations providing a way for all relying parties, | |||
| often use certificates that are validated using the trust store from | including ones associated with non-browser applications, to | |||
| a browser. In addition, applications written in scripting languages | participate. | |||
| that run in the browser environment do not have access to any | ||||
| alternative infrastructures. The Web PKI is being leveraged to avoid | ||||
| the time and expense to establish an independent PKI. | ||||
| More and more Internet applications depend on the Web PKI. For the | 4. Security Considerations | |||
| most part, leveraging the Web PKI is improving the security of the | ||||
| Internet. However, the Web PKI is being used in ways that were not | ||||
| envisaged in its design. Care is needed to ensure that applications | ||||
| are not expecting security properties that cannot be delivered by the | ||||
| Web PKI. | ||||
| This document considers the weaknesses of the current Web PKI system | This document considers the weaknesses of the current Web PKI system | |||
| and provides recommendations for improvements. Some of the risks | and provides recommendations for improvements. Some of the risks | |||
| associated with doing nothing or continuing down the current path are | associated with doing nothing or continuing down the current path are | |||
| articulated. The Web PKI is a vital component of a trusted Internet | articulated. The Web PKI is a vital component of a trusted Internet, | |||
| and as such needs to be improved to sustain continued growth of the | and as such needs to be improved to sustain continued growth of the | |||
| Internet. | Internet. | |||
| 8. IANA Considerations | 5. IANA Considerations | |||
| None. | None. | |||
| {{{ RFC Editor: Please remove this section prior to publication. }}} | {{{ RFC Editor: Please remove this section prior to publication. }}} | |||
| 9. References | 6. References | |||
| 9.1. Normative References | 6.1. Normative References | |||
| [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | |||
| Housley, R., and W. Polk, "Internet X.509 Public Key | Housley, R., and W. Polk, "Internet X.509 Public Key | |||
| Infrastructure Certificate and Certificate Revocation List | Infrastructure Certificate and Certificate Revocation List | |||
| (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, | (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, | |||
| <http://www.rfc-editor.org/info/rfc5280>. | <http://www.rfc-editor.org/info/rfc5280>. | |||
| [RFC6960] Santesson, S., Myers, M., Ankney, R., Malpani, A., | [RFC6960] Santesson, S., Myers, M., Ankney, R., Malpani, A., | |||
| Galperin, S., and C. Adams, "X.509 Internet Public Key | Galperin, S., and C. Adams, "X.509 Internet Public Key | |||
| Infrastructure Online Certificate Status Protocol - OCSP", | Infrastructure Online Certificate Status Protocol - OCSP", | |||
| RFC 6960, DOI 10.17487/RFC6960, June 2013, | RFC 6960, DOI 10.17487/RFC6960, June 2013, | |||
| <http://www.rfc-editor.org/info/rfc6960>. | <http://www.rfc-editor.org/info/rfc6960>. | |||
| 9.2. Informative References | 6.2. Informative References | |||
| [ABLOG] Nygren, E., "Three years since World IPv6 Launch: strong | ||||
| IPv6 growth continues", June 2015, | ||||
| <https://blogs.akamai.com/2015/06/three-years-since-world- | ||||
| ipv6-launch-strong-ipv6-growth-continues.html>. | ||||
| [ACMEWG] IETF, "Charter for Automated Certificate Management | [ACMEWG] IETF, "Charter for Automated Certificate Management | |||
| Environment (acme) Working Group", June 2015, | Environment (acme) Working Group", June 2015, | |||
| <https://datatracker.ietf.org/doc/charter-ietf-acme/>. | <https://datatracker.ietf.org/doc/charter-ietf-acme/>. | |||
| [AV] Arnbak, A. and N. van Eijk, "Certificate Authority | [AV] Arnbak, A. and N. van Eijk, "Certificate Authority | |||
| Collapse: Regulating Systemic Vulnerabilities in the HTTPS | Collapse: Regulating Systemic Vulnerabilities in the HTTPS | |||
| Value Chain", 2012 TRPC , August 2012, | Value Chain", 2012 TRPC , August 2012, | |||
| <http://dx.doi.org/10.2139/ssrn.2031409>. | <http://dx.doi.org/10.2139/ssrn.2031409>. | |||
| skipping to change at page 19, line 5 ¶ | skipping to change at page 11, line 47 ¶ | |||
| [CAB1.2] CA/Browser Forum, "Bylaws of the CA/Browser Forum", | [CAB1.2] CA/Browser Forum, "Bylaws of the CA/Browser Forum", | |||
| October 2014, <https://cabforum.org/wp-content/uploads/CA- | October 2014, <https://cabforum.org/wp-content/uploads/CA- | |||
| Browser-Forum-Bylaws-v.1.2.pdf>. | Browser-Forum-Bylaws-v.1.2.pdf>. | |||
| [CAB2014] CA/Browser Forum, "CA/Browser Forum Baseline Requirements | [CAB2014] CA/Browser Forum, "CA/Browser Forum Baseline Requirements | |||
| for the Issuance and Management of Publicly-Trusted | for the Issuance and Management of Publicly-Trusted | |||
| Certificates, v.1.2.2", October 2014, | Certificates, v.1.2.2", October 2014, | |||
| <https://cabforum.org/wp-content/uploads/BRv1.2.2.pdf>. | <https://cabforum.org/wp-content/uploads/BRv1.2.2.pdf>. | |||
| [DCEI] DigiCert Inc, "Express Install(TM): Automate SSL | ||||
| Certificate Installation and HTTPS Configuration", August | ||||
| 2015, <https://www.digicert.com/express-install/>. | ||||
| [FOXIT] Prins, J., "DigiNotar Certificate Authority breach: | ||||
| "Operation Black Tulip"", September 2011, | ||||
| <http://www.rijksoverheid.nl/bestanden/documenten-en- | ||||
| publicaties/rapporten/2011/09/05/ | ||||
| diginotar-public-report-version-1/ | ||||
| rapport-fox-it-operation-black-tulip-v1-0.pdf>. | ||||
| [HEARTBLEED] | ||||
| Wikipedia, "Heartbleed", 2016, | ||||
| <https://en.wikipedia.org/wiki/Heartbleed>. | ||||
| [IMC2015] Liu, Y., Tome, W., Zhang, L., Choffnes, D., Levin, D., | [IMC2015] Liu, Y., Tome, W., Zhang, L., Choffnes, D., Levin, D., | |||
| Maggs, B., Mislove, A., Schulman, A., and C. Wilson, "An | Maggs, B., Mislove, A., Schulman, A., and C. Wilson, "An | |||
| End-to-End Measurement of Certificate Revocation in the | End-to-End Measurement of Certificate Revocation in the | |||
| Web's PKI", October 2015, | Web's PKI", October 2015, | |||
| <http://conferences2.sigcomm.org/imc/2015/papers/ | <http://conferences2.sigcomm.org/imc/2015/papers/ | |||
| p183.pdf>. | p183.pdf>. | |||
| [LC2012] Constantin, L., "Trustwave admits issuing man-in-the- | ||||
| middle digital certificate; Mozilla debates punishment", | ||||
| February 2012, | ||||
| <http://www.computerworld.com/article/2501291/internet/ | ||||
| trustwave-admits-issuing-man-in-the-middle-digital- | ||||
| certificate--mozilla-debates-punishment.html>. | ||||
| [LE] Internet Security Research Group, "Let's Encrypt", July | ||||
| 2015, <https://letsencrypt.org/>. | ||||
| [MB2015] Wilson, K., "Phase 2: Phasing out Certificates with | [MB2015] Wilson, K., "Phase 2: Phasing out Certificates with | |||
| 1024-bit RSA Keys", January 2015, | 1024-bit RSA Keys", January 2015, | |||
| <https://blog.mozilla.org/security/2015/01/28/phase-2- | <https://blog.mozilla.org/security/2015/01/28/phase-2- | |||
| phasing-out-certificates-with-1024-bit-rsa-keys/>. | phasing-out-certificates-with-1024-bit-rsa-keys/>. | |||
| [MB2016] Barnes, R., "Payment Processors Still Using Weak Crypto", | [MB2016] Barnes, R., "Payment Processors Still Using Weak Crypto", | |||
| February 2016, | February 2016, | |||
| <https://blog.mozilla.org/security/2016/02/24/payment- | <https://blog.mozilla.org/security/2016/02/24/payment- | |||
| processors-still-using-weak-crypto/>. | processors-still-using-weak-crypto/>. | |||
| [PHBOB] Hallam-Baker, P., "OmniBroker Publication Protocol", | ||||
| draft-hallambaker-omnipublish-00 (work in progress), May | ||||
| 2014. | ||||
| [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. | ||||
| Rose, "Resource Records for the DNS Security Extensions", | ||||
| RFC 4034, DOI 10.17487/RFC4034, March 2005, | ||||
| <http://www.rfc-editor.org/info/rfc4034>. | ||||
| [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. | ||||
| Rose, "Protocol Modifications for the DNS Security | ||||
| Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005, | ||||
| <http://www.rfc-editor.org/info/rfc4035>. | ||||
| [RFC4210] Adams, C., Farrell, S., Kause, T., and T. Mononen, | ||||
| "Internet X.509 Public Key Infrastructure Certificate | ||||
| Management Protocol (CMP)", RFC 4210, | ||||
| DOI 10.17487/RFC4210, September 2005, | ||||
| <http://www.rfc-editor.org/info/rfc4210>. | ||||
| [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | |||
| (TLS) Protocol Version 1.2", RFC 5246, | (TLS) Protocol Version 1.2", RFC 5246, | |||
| DOI 10.17487/RFC5246, August 2008, | DOI 10.17487/RFC5246, August 2008, | |||
| <http://www.rfc-editor.org/info/rfc5246>. | <http://www.rfc-editor.org/info/rfc5246>. | |||
| [RFC5272] Schaad, J. and M. Myers, "Certificate Management over CMS | ||||
| (CMC)", RFC 5272, DOI 10.17487/RFC5272, June 2008, | ||||
| <http://www.rfc-editor.org/info/rfc5272>. | ||||
| [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS) | ||||
| Extensions: Extension Definitions", RFC 6066, | ||||
| DOI 10.17487/RFC6066, January 2011, | ||||
| <http://www.rfc-editor.org/info/rfc6066>. | ||||
| [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication | ||||
| of Named Entities (DANE) Transport Layer Security (TLS) | ||||
| Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August | ||||
| 2012, <http://www.rfc-editor.org/info/rfc6698>. | ||||
| [RFC6797] Hodges, J., Jackson, C., and A. Barth, "HTTP Strict | ||||
| Transport Security (HSTS)", RFC 6797, | ||||
| DOI 10.17487/RFC6797, November 2012, | ||||
| <http://www.rfc-editor.org/info/rfc6797>. | ||||
| [RFC6844] Hallam-Baker, P. and R. Stradling, "DNS Certification | ||||
| Authority Authorization (CAA) Resource Record", RFC 6844, | ||||
| DOI 10.17487/RFC6844, January 2013, | ||||
| <http://www.rfc-editor.org/info/rfc6844>. | ||||
| [RFC6961] Pettersen, Y., "The Transport Layer Security (TLS) | [RFC6961] Pettersen, Y., "The Transport Layer Security (TLS) | |||
| Multiple Certificate Status Request Extension", RFC 6961, | Multiple Certificate Status Request Extension", RFC 6961, | |||
| DOI 10.17487/RFC6961, June 2013, | DOI 10.17487/RFC6961, June 2013, | |||
| <http://www.rfc-editor.org/info/rfc6961>. | <http://www.rfc-editor.org/info/rfc6961>. | |||
| [RFC6962] Laurie, B., Langley, A., and E. Kasper, "Certificate | [RFC7292] Moriarty, K., Ed., Nystrom, M., Parkinson, S., Rusch, A., | |||
| Transparency", RFC 6962, DOI 10.17487/RFC6962, June 2013, | and M. Scott, "PKCS #12: Personal Information Exchange | |||
| <http://www.rfc-editor.org/info/rfc6962>. | Syntax v1.1", RFC 7292, DOI 10.17487/RFC7292, July 2014, | |||
| <http://www.rfc-editor.org/info/rfc7292>. | ||||
| [RFC7030] Pritikin, M., Ed., Yee, P., Ed., and D. Harkins, Ed., | ||||
| "Enrollment over Secure Transport", RFC 7030, | ||||
| DOI 10.17487/RFC7030, October 2013, | ||||
| <http://www.rfc-editor.org/info/rfc7030>. | ||||
| [RFC7469] Evans, C., Palmer, C., and R. Sleevi, "Public Key Pinning | ||||
| Extension for HTTP", RFC 7469, DOI 10.17487/RFC7469, April | ||||
| 2015, <http://www.rfc-editor.org/info/rfc7469>. | ||||
| [RFC7696] Housley, R., "Guidelines for Cryptographic Algorithm | [RFC7696] Housley, R., "Guidelines for Cryptographic Algorithm | |||
| Agility and Selecting Mandatory-to-Implement Algorithms", | Agility and Selecting Mandatory-to-Implement Algorithms", | |||
| BCP 201, RFC 7696, DOI 10.17487/RFC7696, November 2015, | BCP 201, RFC 7696, DOI 10.17487/RFC7696, November 2015, | |||
| <http://www.rfc-editor.org/info/rfc7696>. | <http://www.rfc-editor.org/info/rfc7696>. | |||
| [SSLM] Opsmate, Inc., "SSLMate: Secure your website the easy | ||||
| way", August 2015, <https://sslmate.com/>. | ||||
| [TLSCHAIN] | ||||
| Shore, M., Barnes, R., Huque, S., and W. Toorop, "X.509v3 | ||||
| TLS Feature Extension", draft-shore-tls-dnssec-chain- | ||||
| extension-01 (work in progress), July 2015. | ||||
| [TLSFEATURE] | [TLSFEATURE] | |||
| Hallam-Baker, P., "X.509v3 TLS Feature Extension", draft- | Hallam-Baker, P., "X.509v3 TLS Feature Extension", draft- | |||
| hallambaker-tlsfeature-10 (work in progress), July 2015. | hallambaker-tlsfeature-10 (work in progress), July 2015. | |||
| [VFBH] Vratonjic, N., Freudiger, J., Bindschaedler, V., and J. | [VFBH] Vratonjic, N., Freudiger, J., Bindschaedler, V., and J. | |||
| Hubaux, "The Inconvenient Truth About Web Certificates", | Hubaux, "The Inconvenient Truth About Web Certificates", | |||
| Workshop on Economics of Information Security (WEIS) | Workshop on Economics of Information Security (WEIS) | |||
| 2011 , 2011, | 2011 , 2011, | |||
| <http://www.econinfosec.org/archive/weis2011/papers/The%20 | <http://www.econinfosec.org/archive/weis2011/papers/The%20 | |||
| Inconvenient%20Truth%20about%20Web%20Certificates.pdf>. | Inconvenient%20Truth%20about%20Web%20Certificates.pdf>. | |||
| skipping to change at page 22, line 13 ¶ | skipping to change at page 13, line 13 ¶ | |||
| homepage-documents/item27839.aspx>. | homepage-documents/item27839.aspx>. | |||
| Appendix A. Acknowledgements | Appendix A. Acknowledgements | |||
| This document has been developed within the IAB Privacy and Security | This document has been developed within the IAB Privacy and Security | |||
| Program. The authors greatly appreciate the review and suggestions | Program. The authors greatly appreciate the review and suggestions | |||
| provided by Rick Andrews, Mary Barnes, Richard Barnes, Marc Blanchet, | provided by Rick Andrews, Mary Barnes, Richard Barnes, Marc Blanchet, | |||
| Alissa Cooper, Nick Doty, Stephen Farrell, Joe Hall, Ted Hardie, | Alissa Cooper, Nick Doty, Stephen Farrell, Joe Hall, Ted Hardie, | |||
| Ralph Holz, Lee Howard, Christian Huitema, Eliot Lear, Xing Li, Lucy | Ralph Holz, Lee Howard, Christian Huitema, Eliot Lear, Xing Li, Lucy | |||
| Lynch, Gervase Markham, Andrei Robachevsky, Thomas Roessler, Jeremy | Lynch, Gervase Markham, Andrei Robachevsky, Thomas Roessler, Jeremy | |||
| Rowley, Christine Runnegar, Jakob Schlyter, Wendy Seltzer, Martin | Rowley, Christine Runnegar, Jakob Schlyter, Wendy Seltzer, Brian | |||
| Thomson, Brian Trammell, and Juan Carlos Zuniga. | Trammell, and Juan Carlos Zuniga. | |||
| Appendix B. IAB Members at the Time of Approval | Appendix B. IAB Members at the Time of Approval | |||
| {{{ RFC Editor: Please add the names to the IAB members at the time | {{{ RFC Editor: Please add the names to the IAB members at the time | |||
| that this document is put into the RFC Editor queue. }}} | that this document is put into the RFC Editor queue. }}} | |||
| Authors' Addresses | Authors' Addresses | |||
| Russ Housley | Russ Housley | |||
| Vigil Security | Vigil Security | |||
| End of changes. 77 change blocks. | ||||
| 721 lines changed or deleted | 293 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||