idnits 2.17.1 draft-ietf-lamps-documentsigning-eku-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 : ---------------------------------------------------------------------------- ** There is 1 instance of too long lines in the document, the longest one being 1 character in excess of 72. ** The abstract seems to contain references ([RFC5280]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (13 January 2022) is 805 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Downref: Normative reference to an Informational RFC: RFC 7299 ** Downref: Normative reference to an Informational RFC: RFC 8358 Summary: 4 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 LAMPS Working Group T. Ito 3 Internet-Draft SECOM CO., LTD. 4 Intended status: Standards Track T. Okubo 5 Expires: 17 July 2022 DigiCert, Inc. 6 S. Turner 7 sn3rd 8 13 January 2022 10 General Purpose Extended Key Usage (EKU) for Document Signing X.509 11 Certificates 12 draft-ietf-lamps-documentsigning-eku-00 14 Abstract 16 [RFC5280] specifies several extended key usages for X.509 17 certificates. This document defines a general purpose document 18 signing extended key usage for X.509 public key certificates which 19 restricts the usage of the certificates for document signing. 21 About This Document 23 This note is to be removed before publishing as an RFC. 25 Status information for this document may be found at 26 https://datatracker.ietf.org/doc/draft-ietf-lamps-documentsigning- 27 eku/. 29 Discussion of this document takes place on the Limited Additional 30 Mechanisms for PKIX and SMIME (LAMPS) Working Group mailing list 31 (mailto:spasm@ietf.org), which is archived at 32 https://mailarchive.ietf.org/arch/browse/spasm/. 34 Source for this draft and an issue tracker can be found at 35 https://github.com/lamps-wg/documentsigning-eku. 37 Status of This Memo 39 This Internet-Draft is submitted in full conformance with the 40 provisions of BCP 78 and BCP 79. 42 Internet-Drafts are working documents of the Internet Engineering 43 Task Force (IETF). Note that other groups may also distribute 44 working documents as Internet-Drafts. The list of current Internet- 45 Drafts is at https://datatracker.ietf.org/drafts/current/. 47 Internet-Drafts are draft documents valid for a maximum of six months 48 and may be updated, replaced, or obsoleted by other documents at any 49 time. It is inappropriate to use Internet-Drafts as reference 50 material or to cite them other than as "work in progress." 52 This Internet-Draft will expire on 17 July 2022. 54 Copyright Notice 56 Copyright (c) 2022 IETF Trust and the persons identified as the 57 document authors. All rights reserved. 59 This document is subject to BCP 78 and the IETF Trust's Legal 60 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 61 license-info) in effect on the date of publication of this document. 62 Please review these documents carefully, as they describe your rights 63 and restrictions with respect to this document. Code Components 64 extracted from this document must include Revised BSD License text as 65 described in Section 4.e of the Trust Legal Provisions and are 66 provided without warranty as described in the Revised BSD License. 68 Table of Contents 70 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 71 2. Conventions and Definitions . . . . . . . . . . . . . . . . . 3 72 3. Extended Key usage for DocumentSigning . . . . . . . . . . . 3 73 3.1. Extended Key Usage Values for Document Signing . . . . . 4 74 4. Using the Document Signing EKU in a Certificate . . . . . . . 4 75 5. Implications for a Certification Authority . . . . . . . . . 5 76 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 77 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 78 8. Normative References . . . . . . . . . . . . . . . . . . . . 6 79 Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 7 80 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 7 81 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 83 1. Introduction 85 [RFC5280] specifies several extended key usages for X.509 86 certificates. In addition, several extended key usage had been 87 added[RFC7299] as public OID under the IANA repository. While usage 88 of any extended key usage is bad practice for publicly trusted 89 certificates, there are no public and general extended key usage 90 explicitly assigned for Document Signing certificates. The current 91 practice is to use id-kp-emailProtection, id-kp-codeSigning or vendor 92 defined Object ID for general document signing purposes. 94 In circumstances where code signing and S/MIME certificates are also 95 widely used for document signing, the technical or policy changes 96 that are made to code signing and S/MIME certificates may cause 97 unexpected behaviors or have an adverse impact such as decreased 98 cryptographic agility on the document signing ecosystem and vice 99 versa. 101 There is no issue if the vendor defined OIDs are used in a PKI (or a 102 trust program) governed by the vendor. However, if the OID is used 103 outside of the vendor governance, the usage can easily become out of 104 control (e.g. - When the end user encounters vendor defined OIDs, 105 they might want to ask that vendor about use of the certificate, 106 however, the vendor may not know about the particular use. - If the 107 issuance of the cert is not under the control of the OID owner, there 108 is no way for the OID owner to know what the impact will be if any 109 change is made to the OID in question, and it would restrict vendor's 110 choice of OID management. etc.). 112 Therefore, it is not favorable to use a vendor defined EKU for 113 signing a document that is not governed by the vendor. 115 This document defines a general Document Signing extended key usage. 117 2. Conventions and Definitions 119 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 120 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 121 "OPTIONAL" in this document are to be interpreted as described in 122 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all 123 capitals, as shown here. 125 3. Extended Key usage for DocumentSigning 127 This specification defines the KeyPurposeId id-kp-documentSigning. 128 Inclusion of this KeyPurposeId in a certificate indicates that the 129 use of any Subject names in the certificate is restricted to use by a 130 document signing. 132 Term of "Document Sign" in this document is digitally sign contents 133 that are consumed by humans. To be more precise, contents are 134 intended to be shown to human with printable or displayable form by 135 means of services or software, rather than processed by machines. 137 3.1. Extended Key Usage Values for Document Signing 139 [RFC5280] specifies the EKU X.509 certificate extension for use in 140 the Internet. The extension indicates one or more purposes for which 141 the certified public key is valid. The EKU extension can be used in 142 conjunction with the key usage extension, which indicates how the 143 public key in the certificate is used, in a more basic cryptographic 144 way. 146 The EKU extension syntax is repeated here for convenience: 148 ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId 149 KeyPurposeId ::= OBJECT IDENTIFIER 151 This specification defines the KeyPurposeId id-kp-documentSigning. 152 Inclusion of this KeyPurposeId in a certificate indicates that the 153 use of any Subject names in the certificate is restricted to use by a 154 document signing service or a software (along with any usages allowed 155 by other EKU values). 157 id-kp OBJECT IDENTIFIER ::= 158 { iso(1) identified-organization(3) dod(6) internet(1) 159 security(5) mechanisms(5) pkix(7) 3 } 160 id-kp-documentSigning OBJECT IDENTIFIER ::= { id-kp XX } 162 4. Using the Document Signing EKU in a Certificate 164 [RFC8358] specifies the conventions for digital signatures on 165 Internet-Drafts. This is one of the intended use cases for the 166 general document signing EKU described in this document. [RFC8358] 167 uses CMS to digitally sign a wide array of files such as ASCII, PDF, 168 EPUB, HTML etc. Currently, there are no specification regarding EKU 169 for certificates signing those files except those which are defined 170 by the software vendor. 172 The signed contents of Internet-Drafts are primarily intended to be 173 consumed by human. To be more precise, contents are intended to be 174 shown to human in a printable or displayable form by means of 175 services or software, rather than processed by machines. To validate 176 the digital signature which is signed to contents intended to be 177 consumed by human, implementations MAY perform the steps below as a 178 certificate validation: 180 The implementation MAY examine the Extended Key Usage value(s): 182 1. If there are no restrictions set for the relying party and the 183 relying party software, the certificate is acceptable. 185 2. If there are restrictions set for the replying party and relying 186 party software, proceed as following. 188 Each Restriction on the EKUs can be "Excluded EKU" or "Permitted EKU" 189 and handled. 191 The procedure is intended to permit or prohibit presence of a certain 192 EKU or complete absence of EKUs. It is outside the scope of this 193 document, but the relying party can permit or prohibit conbinations 194 of EKU. A consideration on prohibiting combination of EKUs is 195 described in the security consideration section of this document. 197 2.1. Excluded EKUs procedure "Excluded EKU" is an EKU which the 198 relying party or the relying party software prohibits. Examples of 199 "Excluded EKU" are, presence of anyEKU or complete absence of EKU 200 extension on a certificate. If an EKU of the certificate meets the 201 conditions set by the "Excluded EKU" restriction, the relying party 202 or the relying party software rejects the certificate. 204 2.2. Permitted EKU procedure "Permitted EKU" is an EKU which the 205 relying party or the relying party software accepts. Examples of 206 "Permitted EKU" are, presence of this general document signing EKU 207 and/or protocol specific document signing-type EKUs. If an EKU of 208 the certificate meets the condition set by a "Permitted EKU" 209 restriction, the certificate is acceptable. Otherwise, relying party 210 or the relying party software rejects the certificate. 212 When a single software has capability to process various data 213 formats, the software may choose to make the excluded and permitted 214 decisions separately in accordance with the format it is handling 215 (e.g. text, pdf, etc). 217 5. Implications for a Certification Authority 219 The procedures and practices employed by a certification authority 220 MUST ensure that the correct values for the EKU extension are 221 inserted in each certificate that is issued. Unless certificates are 222 governed by a vendor specific PKI (or trust program), certificates 223 that indicate usage for document signing MAY include the id-kp- 224 documentSigning EKU extension. This does not encompass the mandatory 225 usage of the id-kp-documentSigning EKU in conjunction with the vendor 226 specific EKU. However, this does not restrict the CA from including 227 multiple EKUs related to document signing. 229 6. Security Considerations 231 The usage of id-kp-documentSigning EKU intends to prevent id-kp- 232 emailProtection from being used for none-email purposes and id-kp- 233 codeSigning used to sign objects other than binary codes. This EKU 234 does not introduce new security risks but instead reduces existing 235 security risks by providing means to separate other EKUs used for 236 communication protocols namely, TLS or S/MIME etc. in order to 237 minimize the risk of cross protocol attacks. 239 To reduce the risk of specific cross protocol attacks, the relying 240 party or relying party software may additionaly prohibit use of 241 specific combination of EKUs. 243 While a specific protocol or signing scheme may choose to come up 244 with their own EKU, some may not have significant motive or resource 245 to set up and manage thier own EKU. This general document signing 246 EKU may be used as a stop gap for those that intend to set up their 247 own EKU or those who do not intend to set up an EKU but still would 248 like to distinguish from other usage. 250 Introduction of this id-kp-documentSigning EKU value does not 251 introduce any new security or privacy concerns. 253 7. IANA Considerations 255 This document requests that IANA make two assignments. One for the 256 id-kp-documentSigning object identifier (OID), as defined in 257 Section 3.1, for the EKU from the "SMI Security for PKIX Extended Key 258 Purpose" (1.3.6.1.5.5.7.3) registry. Another for the id-mod-docsign- 259 eku, as defined in Appendix A, for the ASN.1 module [X.680] from the 260 in the "SMI Security for PKIX Module Identifier" (1.3.6.1.5.5.7.0) 261 registry. No further action is necessary by IANA. 263 8. Normative References 265 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 266 Requirement Levels", BCP 14, RFC 2119, 267 DOI 10.17487/RFC2119, March 1997, 268 . 270 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 271 Housley, R., and W. Polk, "Internet X.509 Public Key 272 Infrastructure Certificate and Certificate Revocation List 273 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 274 . 276 [RFC7299] Housley, R., "Object Identifier Registry for the PKIX 277 Working Group", RFC 7299, DOI 10.17487/RFC7299, July 2014, 278 . 280 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 281 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 282 May 2017, . 284 [RFC8358] Housley, R., "Update to Digital Signatures on Internet- 285 Draft Documents", RFC 8358, DOI 10.17487/RFC8358, March 286 2018, . 288 [X.680] ITU-T, "Information technology - Abstract Syntax Notation 289 One (ASN.1): Specification of basic notation", ISO/ 290 IEC 8824-1:2015, November 2015. 292 Appendix A. ASN.1 Module 294 The following ASN.1 module provides the complete definition of the 295 Document Signing EKU. 297 DocSignEKU { iso(1) identified-organization(3) dod(6) internet(1) 298 security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-docsign-eku(TBD1) } 300 DEFINITIONS EXPLICIT TAGS ::= 302 BEGIN 304 -- EXPORTS ALL -- 306 -- IMPORTS NOTHING -- 308 -- OID Arc -- 310 id-kp OBJECT IDENTIFIER ::= { 311 iso(1) identified-organization(3) dod(6) internet(1) 312 security(5) mechanisms(5) pkix(7) kp(3) } 314 -- Document Signing Extended Key Usage -- 316 id-kp-documentSigning OBJECT IDENTIFIER ::= { id-kp TBD2 } 318 END 320 Acknowledgments 322 We would like to thank Russ Housley for verifying the ASN.1 module. 324 Authors' Addresses 326 Tadahiko Ito 327 SECOM CO., LTD. 329 Email: tadahiko.ito.public@gmail.com 331 Tomofumi Okubo 332 DigiCert, Inc. 334 Email: tomofumi.okubo+ietf@gmail.com 336 Sean Turner 337 sn3rd 339 Email: sean@sn3rd.com