idnits 2.17.1 draft-jenkins-cnsa-cmc-profile-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (September 28, 2018) is 2037 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-06) exists of draft-jenkins-cnsa-cert-crl-profile-01 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Jenkins 3 Internet-Draft L. Zieglar 4 Intended status: Informational NSA 5 Expires: April 1, 2019 September 28, 2018 7 Commercial National Security Algorithm (CNSA) Suite Profile of 8 Certificate Management over CMS 9 draft-jenkins-cnsa-cmc-profile-00 11 Abstract 13 The United States government has published the NSA Commercial 14 National Security Algorithm (CNSA) Suite, which defines cryptographic 15 algorithm policy for national security applications. This document 16 specifies a profile of the Certificate Management over CMS (CMC) 17 protocol for managing X.509 public key certificates in applications 18 using the CNSA Suite. This profile is a refinement of RFCs 5272, 19 5273, and 5274. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on April 1, 2019. 38 Copyright Notice 40 Copyright (c) 2018 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (https://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. The Commercial National Security Algorithm Suite . . . . . . 3 57 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 4. Requirements and Assumptions . . . . . . . . . . . . . . . . 4 59 5. Client Requirements: Generating PKI Requests . . . . . . . . 5 60 5.1. Tagged Certification Request . . . . . . . . . . . . . . 6 61 5.2. Certificate Request Message . . . . . . . . . . . . . . . 7 62 6. RA Requirements . . . . . . . . . . . . . . . . . . . . . . . 9 63 6.1. RA Processing of Requests . . . . . . . . . . . . . . . . 9 64 6.2. RA-Generated PKI Requests . . . . . . . . . . . . . . . . 9 65 6.3. RA-Generated Errors . . . . . . . . . . . . . . . . . . . 10 66 7. CA Requirements . . . . . . . . . . . . . . . . . . . . . . . 10 67 7.1. CA Processing of PKI Requests . . . . . . . . . . . . . . 11 68 7.2. CA-Generated PKI Responses . . . . . . . . . . . . . . . 11 69 8. Client Requirements: Processing PKI Responses . . . . . . . . 13 70 9. Shared-Secrets . . . . . . . . . . . . . . . . . . . . . . . 13 71 10. Security Considerations . . . . . . . . . . . . . . . . . . . 14 72 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 73 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 74 12.1. Normative References . . . . . . . . . . . . . . . . . . 14 75 12.2. Informative References . . . . . . . . . . . . . . . . . 17 76 Appendix A. Scenarios . . . . . . . . . . . . . . . . . . . . . 17 77 A.1. Initial Enrollment . . . . . . . . . . . . . . . . . . . 17 78 A.2. Rekey . . . . . . . . . . . . . . . . . . . . . . . . . . 18 79 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 81 1. Introduction 83 This document specifies a profile of the Certificate Management over 84 CMS (CMC) protocol to comply with the United States National Security 85 Agency's Commercial National Security Algorithm (CNSA) Suite 86 [CNSSP15]. CMC is defined in [RFC5272], [RFC5273], and [RFC5274], 87 and is updated by [RFC6402]. This document profiles CMC to manage 88 X.509 public key certificates in compliance with the CNSA Suite 89 Certificate and Certificate Revocation List (CRL) Profile 90 [ID.cnsa-cert-profile]. This document specifically focuses on 91 defining CMC interactions for both initial enrollment and rekey of 92 CNSA Suite public key certificates between a client and a 93 Certification Authority (CA). One or more Registration Authorities 94 (RAs) may act as intermediaries between the client and the CA. This 95 profile may be further tailored by specific communities to meet their 96 needs. Specific communities will also define Certificate Policies 97 that implementations need to comply with. 99 2. The Commercial National Security Algorithm Suite 101 The National Security Agency (NSA) profiles commercial cryptographic 102 algorithms and protocols as part of its mission to support secure, 103 interoperable communications for US Government National Security 104 Systems. To this end, it publishes guidance both to assist with the 105 USG transition to new algorithms, and to provide vendors - and the 106 Internet community in general - with information concerning their 107 proper use and configuration. 109 Recently, cryptographic transition plans have become overshadowed by 110 the prospect of the development of a cryptographically-relevant 111 quantum computer. NSA has established the Commercial National 112 Security Algorithm (CNSA) Suite to provide vendors and IT users near- 113 term flexibility in meeting their IA interoperability requirements. 114 The purpose behind this flexibility is to avoid vendors and customers 115 making two major transitions in a relatively short timeframe, as we 116 anticipate a need to shift to quantum-resistant cryptography in the 117 near future. 119 NSA is publishing a set of RFCs, including this one, to provide 120 updated guidance concerning the use of certain commonly available 121 commercial algorithms in IETF protocols. These RFCs can be used in 122 conjunction with other RFCs and cryptographic guidance (e.g., NIST 123 Special Publications) to properly protect Internet traffic and data- 124 at-rest for US Government National Security Systems. 126 3. Terminology 128 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 129 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 130 "OPTIONAL" in this document are to be interpreted as described in BCP 131 14 [RFC2119] [RFC8174] when, and only when, they appear in all 132 capitals, as shown here. 134 The terminology in [RFC5272] Section 2.1 applies to this profile. 136 The term "Certificate Request" is used to refer to a single PKCS #10 137 or CRMF structure. All PKI Requests are Full PKI Requests, and all 138 PKI Responses are Full PKI Responses; the respective set of terms 139 should be interpreted synonymously in this document. 141 4. Requirements and Assumptions 143 Elliptic Curve Digital Signature Algorithm (ECDSA) and Elliptic Curve 144 Diffie-Hellman (ECDH) key pairs are on the curve P-384. FIPS 186-4 145 [DSS], Appendix B.4, provides useful guidance for elliptic curve key 146 pair generation that SHOULD be followed by systems that conform to 147 this document. 149 RSA key pairs (public, private) are identified by the modulus size 150 expressed in bits; RSA-3072 and RSA-4096 are computed using moduli of 151 3072 bits and 4096 bits, respectively. 153 RSA signature key pairs used in CNSA Suite compliant implementations 154 are either RSA-3072 or RSA-4096. The RSA exponent e MUST satisfy 155 2^16. 657 [DSS] National Institute of Standards and Technology, "Digital 658 Signature Standard (DSS)", July 2013, 659 . 662 [ID.cnsa-cert-profile] 663 Jenkins, M. and L. Zieglar, "Commercial National Security 664 Algorithm (CNSA) Suite Certificate and Certificate 665 Revocation List (CRL) Profile", January 2018, 666 . 669 Work in progress. 671 [ID.cnsa-smime-profile] 672 Jenkins, M., "Using CNSA Suite Algorithms in Secure/ 673 Multipurpose Internet Mail Extensions(S/MIME)", February 674 2018. 676 Work in progress. 678 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 679 Requirement Levels", BCP 14, RFC 2119, 680 DOI 10.17487/RFC2119, March 1997, 681 . 683 [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification 684 Request Syntax Specification Version 1.7", RFC 2986, 685 DOI 10.17487/RFC2986, November 2000, 686 . 688 [RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional 689 Algorithms and Identifiers for RSA Cryptography for use in 690 the Internet X.509 Public Key Infrastructure Certificate 691 and Certificate Revocation List (CRL) Profile", RFC 4055, 692 DOI 10.17487/RFC4055, June 2005, 693 . 695 [RFC4056] Schaad, J., "Use of the RSASSA-PSS Signature Algorithm in 696 Cryptographic Message Syntax (CMS)", RFC 4056, 697 DOI 10.17487/RFC4056, June 2005, 698 . 700 [RFC4086] Eastlake 3rd, D., Schiller, J., and S. Crocker, 701 "Randomness Requirements for Security", BCP 106, RFC 4086, 702 DOI 10.17487/RFC4086, June 2005, 703 . 705 [RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure 706 Certificate Request Message Format (CRMF)", RFC 4211, 707 DOI 10.17487/RFC4211, September 2005, 708 . 710 [RFC4231] Nystrom, M., "Identifiers and Test Vectors for HMAC-SHA- 711 224, HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512", 712 RFC 4231, DOI 10.17487/RFC4231, December 2005, 713 . 715 [RFC5272] Schaad, J. and M. Myers, "Certificate Management over CMS 716 (CMC)", RFC 5272, DOI 10.17487/RFC5272, June 2008, 717 . 719 [RFC5273] Schaad, J. and M. Myers, "Certificate Management over CMS 720 (CMC): Transport Protocols", RFC 5273, 721 DOI 10.17487/RFC5273, June 2008, 722 . 724 [RFC5274] Schaad, J. and M. Myers, "Certificate Management Messages 725 over CMS (CMC): Compliance Requirements", RFC 5274, 726 DOI 10.17487/RFC5274, June 2008, 727 . 729 [RFC5754] Turner, S., "Using SHA2 Algorithms with Cryptographic 730 Message Syntax", RFC 5754, DOI 10.17487/RFC5754, January 731 2010, . 733 [RFC6010] Housley, R., Ashmore, S., and C. Wallace, "Cryptographic 734 Message Syntax (CMS) Content Constraints Extension", 735 RFC 6010, DOI 10.17487/RFC6010, September 2010, 736 . 738 [RFC6402] Schaad, J., "Certificate Management over CMS (CMC) 739 Updates", RFC 6402, DOI 10.17487/RFC6402, November 2011, 740 . 742 [RFC8017] Moriarty, K., Ed., Kaliski, B., Jonsson, J., and A. Rusch, 743 "PKCS #1: RSA Cryptography Specifications Version 2.2", 744 RFC 8017, DOI 10.17487/RFC8017, November 2016, 745 . 747 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 748 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 749 May 2017, . 751 12.2. Informative References 753 [SP80057] National Institute of Standards and Technology, 754 "Recommendation for Key Management, Part 1: General", 755 January 2016, 756 . 758 [SP80090] National Institute of Standards and Technology, 759 "Recommendation for Random Number Generation Using 760 Deterministic Random Bit Generators", June 2015, 761 . 763 Appendix A. Scenarios 765 This section illustrates several potential certificate enrollment and 766 rekey scenarios supported by this profile. This section does not 767 intend to place any limits or restrictions on the use of CMC. 769 A.1. Initial Enrollment 771 This section describes three scenarios for authenticating initial 772 enrollment requests: 774 1. Previously installed signature certificate (e.g., Manufacturer 775 Installed Certificate); 777 2. Shared-secret distributed securely out-of-band; 779 3. RA authentication. 781 A.1.1. Previously Installed Signature Certificate 783 In this scenario, the end-entity has had a signature certificate 784 installed by the cryptographic module manufacturer. As the end- 785 entity already has a signature certificate, it can be used to 786 authenticate a request for a new certificate. The end-entity signs 787 the Full PKI Request with the private key that corresponds to the 788 subject public key of a previously installed signature certificate. 789 The CA will recognize the authorization of the previously installed 790 certificate and issue an appropriate certificate to the end-entity. 792 A.1.2. Shared-Secret Distributed Securely Out-of-Band 794 In this scenario, the CA distributes a shared-secret out-of-band to 795 the end-entity that the end-entity uses to authenticate its 796 certification request. The end-entity signs the Full PKI Request 797 with the private key for which the certification is being requested. 798 The end-entity includes the Identity Proof Version 2 control to 799 authenticate the request using the shared-secret. The CA uses either 800 the Identification control or the Subject in the end-entity's 801 enclosed PKCS #10 [RFC2986] or CRMF [RFC4211] certification request 802 message to identify the request. The end-entity performs either the 803 POP Link Witness Version 2 mechanism as described in [RFC5272], 804 Section 6.3.1.1, or the Shared-Subject/Subject Distinguished Name 805 (DN) linking mechanism as described in [RFC5272], Section 6.3.2. The 806 Subject in the enclosed PKCS #10 [RFC2986] or CRMF [RFC4211] 807 certification request does not necessarily match the issued 808 certificate, as it may be used just to help identify the request (and 809 corresponding shared-secret) to the CA. 811 A.1.3. RA Authentication 813 In this scenario, the end-entity does not automatically authenticate 814 its enrollment request to the CA, either because the end-entity has 815 nothing to authenticate the request with or because organizational 816 policy requires an RA's involvement. The end-entity creates a Full 817 PKI Request and sends it to an RA. The RA verifies the authenticity 818 of the request, then, if approved, encapsulates and signs the request 819 as described in Section 5.2, forwarding the new request on to the CA. 820 The Subject in the PKCS #10 [RFC2986] or CRMF [RFC4211] certification 821 request is not required to match the issued certificate, it may be 822 used just to help identify the request to the RA and/or CA. 824 A.2. Rekey 826 There are two scenarios to support the rekey of certificates that are 827 already enrolled. One addresses the rekey of signature certificates 828 and the other addresses the rekey of key establishment certificates. 829 Typically, organizational policy will require certificates to be 830 currently valid to be rekeyed, and it may require initial enrollment 831 to be repeated when rekey is not possible. However, some 832 organizational policies might allow a grace period during which an 833 expired certificate could be used to rekey. 835 A.2.1. Rekey of Signature Certificates 837 When a signature certificate is rekeyed, the PKCS #10 [RFC2986] or 838 CRMF [RFC4211] certification request message enclosed in the Full PKI 839 Request will include the same Subject as the current signature 840 certificate. The Full PKI Request will be signed by the current 841 private key corresponding to the current signature certificate. 843 A.2.2. Rekey of Key Establishment Certificates 845 When a key establishment certificate is rekeyed, the Full PKI Request 846 will generally be signed by the current private key corresponding to 847 the current signature certificate. If there is no current signature 848 certificate, one of the initial enrollment options in Appendix A.1 849 may be used. 851 Authors' Addresses 853 Michael Jenkins 854 National Security Agency 856 Email: mjjenki@tycho.ncsc.mil 858 Lydia Zieglar 859 National Security Agency 861 Email: llziegl@ntycho.ncsc.mil