Independent Submission S. Turner Request for Comments: 7093 IECA Category: Informational S. Kent ISSN: 2070-1721 BBN J. Manger Telstra December 2013 Additional Methods for Generating Key Identifiers Values
AbstractThis document specifies additional example methods for generating Key Identifier values for use in the AKI (Authority Key Identifier) and SKI (Subject Key Identifier) certificate extensions. Status of This Memo This document is not an Internet Standards Track specification; it is published for informational purposes. This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not a candidate for any level of Internet Standard; see Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7093. Copyright Notice Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.
RFC5280] defines the AKI (Authority Key Identifier) and SKI (Subject Key Identifier) certificate extensions. [RFC5280] describes two example mechanisms for generating AKI and SKI values: a 160-bit SHA-1 (Secure Hash Algorithm) hash of the public key and a four-bit type field with the value 0100 followed by the least significant 60 bits of the SHA-1 hash. Both of these mechanisms were designed to not be critical to security. This document defines three additional mechanisms for generating Key Identifier values using SHA-256, SHA-384, and SHA-512 [SHS] that are similar to those examples defined in [RFC5280] as well as one based on hashing the certificate's Subject Public Key Info field. RFC5280] specifies two examples for generating key identifiers from public keys. Four additional mechanisms are as follows: 1) The keyIdentifier is composed of the leftmost 160-bits of the SHA-256 hash of the value of the BIT STRING subjectPublicKey (excluding the tag, length, and number of unused bits). 2) The keyIdentifier is composed of the leftmost 160-bits of the SHA-384 hash of the value of the BIT STRING subjectPublicKey (excluding the tag, length, and number of unused bits). 3) The keyIdentifier is composed of the leftmost 160-bits of the SHA-512 hash of the value of the BIT STRING subjectPublicKey (excluding the tag, length, and number of unused bits). 4) The keyIdentifier is composed of the hash of the DER encoding of the SubjectPublicKeyInfo value.
Section 2, the subjectKeyIdentifier would be: 30 1D 06 03 551D0E -- id-ce-subjectKeyIdentifier 04 16 04 14 BF37B3E5808FD46D54B28E846311BCCE1CAD2E1A Using method 4 from Section 2 with SHA-256 and no truncation, the subjectKeyIdentifier extensions would be: 30 29 06 03 551D0E -- id-ce-subjectKeyIdentifier 04 22 04 20 6D20896AB8BD833B6B66554BD59B2022 5D8A75A296088148399D7BF763D57405
RFC5280] apply to certificates. The security considerations of [RFC5758] apply to the hash algorithms. While hash algorithms provide preimage resistance, second-preimage resistance, and collision resistance, none of these properties are needed for key identifiers. [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, May 2008. [RFC5758] Dang, Q., Santesson, S., Moriarty, K., Brown, D., and T. Polk, "Internet X.509 Public Key Infrastructure: Additional Algorithms and Identifiers for DSA and ECDSA", RFC 5758, January 2010. [SHS] National Institute of Standards and Technology (NIST), FIPS Publication 180-3: Secure Hash Standard, October 2008.