| rfc9045.original | rfc9045.txt | |||
|---|---|---|---|---|
| Network Working Group R. Housley | Internet Engineering Task Force (IETF) R. Housley | |||
| Internet-Draft Vigil Security | Request for Comments: 9045 Vigil Security | |||
| Updates: 4211 (if approved) 8 April 2021 | Updates: 4211 June 2021 | |||
| Intended status: Standards Track | Category: Standards Track | |||
| Expires: 10 October 2021 | ISSN: 2070-1721 | |||
| Algorithm Requirements Update to the Internet X.509 Public Key | Algorithm Requirements Update to the Internet X.509 Public Key | |||
| Infrastructure Certificate Request Message Format (CRMF) | Infrastructure Certificate Request Message Format (CRMF) | |||
| draft-ietf-lamps-crmf-update-algs-07 | ||||
| Abstract | Abstract | |||
| This document updates the cryptographic algorithm requirements for | This document updates the cryptographic algorithm requirements for | |||
| the Password-Based Message Authentication Code in the Internet X.509 | the Password-Based Message Authentication Code in the Internet X.509 | |||
| Public Key Infrastructure Certificate Request Message Format (CRMF) | Public Key Infrastructure Certificate Request Message Format (CRMF) | |||
| specified in RFC 4211. | specified in RFC 4211. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
| provisions of BCP 78 and BCP 79. | ||||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
| and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
| time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
| material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on 10 October 2021. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9045. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Simplified BSD License text | to this document. Code Components extracted from this document must | |||
| as described in Section 4.e of the Trust Legal Provisions and are | include Simplified BSD License text as described in Section 4.e of | |||
| provided without warranty as described in the Simplified BSD License. | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | ||||
| This document may contain material from IETF Documents or IETF | This document may contain material from IETF Documents or IETF | |||
| Contributions published or made publicly available before November | Contributions published or made publicly available before November | |||
| 10, 2008. The person(s) controlling the copyright in some of this | 10, 2008. The person(s) controlling the copyright in some of this | |||
| material may not have granted the IETF Trust the right to allow | material may not have granted the IETF Trust the right to allow | |||
| modifications of such material outside the IETF Standards Process. | modifications of such material outside the IETF Standards Process. | |||
| Without obtaining an adequate license from the person(s) controlling | Without obtaining an adequate license from the person(s) controlling | |||
| the copyright in such materials, this document may not be modified | the copyright in such materials, this document may not be modified | |||
| outside the IETF Standards Process, and derivative works of it may | outside the IETF Standards Process, and derivative works of it may | |||
| not be created outside the IETF Standards Process, except to format | not be created outside the IETF Standards Process, except to format | |||
| it for publication as an RFC or to translate it into languages other | it for publication as an RFC or to translate it into languages other | |||
| than English. | than English. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology | |||
| 3. Signature Key POP . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Signature Key POP | |||
| 4. Password-Based Message Authentication Code . . . . . . . . . 3 | 4. Password-Based Message Authentication Code | |||
| 4.1. Introduction Paragraph . . . . . . . . . . . . . . . . . 3 | 4.1. Introduction Paragraph | |||
| 4.2. One-Way Function . . . . . . . . . . . . . . . . . . . . 4 | 4.2. One-Way Function | |||
| 4.3. Iteration Count . . . . . . . . . . . . . . . . . . . . . 4 | 4.3. Iteration Count | |||
| 4.4. MAC Algorithm . . . . . . . . . . . . . . . . . . . . . . 5 | 4.4. MAC Algorithm | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 5. IANA Considerations | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 6. Security Considerations | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 | 7. References | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 7.1. Normative References | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 7.2. Informative References | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 8 | Acknowledgements | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 9 | Author's Address | |||
| 1. Introduction | 1. Introduction | |||
| This document updates the cryptographic algorithm requirements for | This document updates the cryptographic algorithm requirements for | |||
| the Password-Based Message Authentication Code (MAC) in the Internet | the Password-Based Message Authentication Code (MAC) in the Internet | |||
| X.509 Public Key Infrastructure Certificate Request Message Format | X.509 Public Key Infrastructure Certificate Request Message Format | |||
| (CRMF) [RFC4211]. The algorithms specified in [RFC4211] were | (CRMF) [RFC4211]. The algorithms specified in [RFC4211] were | |||
| appropriate in 2005; however, these algorithms are no longer | appropriate in 2005; however, these algorithms are no longer | |||
| considered the best choices: | considered the best choices: | |||
| * HMAC-SHA1 [HMAC][SHS] is not broken yet, but there are much | * HMAC-SHA1 [HMAC] [SHS] is not broken yet, but there are much | |||
| stronger alternatives [RFC6194]. | stronger alternatives [RFC6194]. | |||
| * DES-MAC [PKCS11] provides 56 bits of security, which is no longer | * DES-MAC [PKCS11] provides 56 bits of security, which is no longer | |||
| considered secure [WITHDRAW]. | considered secure [WITHDRAW]. | |||
| * Triple-DES-MAC [PKCS11] provides 112 bits of security, which is | * Triple-DES-MAC [PKCS11] provides 112 bits of security, which is | |||
| now deprecated [TRANSIT]. | now deprecated [TRANSIT]. | |||
| This update specifies algorithms that are more appropriate today. | This update specifies algorithms that are more appropriate today. | |||
| skipping to change at page 3, line 19 ¶ | skipping to change at line 109 ¶ | |||
| 2. Terminology | 2. Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
| BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 3. Signature Key POP | 3. Signature Key POP | |||
| Section 4.1 of [RFC4211] specifies the Proof-of-Possession (POP) | Section 4.1 of [RFC4211] specifies the proof-of-possession (POP) | |||
| processing. This section is updated to explicitly allow the use of | processing. This section is updated to explicitly allow the use of | |||
| the PBMAC1 algorithm presented in Section 7.1 of [RFC8018]. | the PBMAC1 algorithm presented in Section 7.1 of [RFC8018]. | |||
| OLD: | OLD: | |||
| algId identifies the algorithm used to compute the MAC value. All | | algId identifies the algorithm used to compute the MAC value. All | |||
| implementations MUST support id-PasswordBasedMAC. The details on | | implementations MUST support id-PasswordBasedMAC. The details on | |||
| this algorithm are presented in section 4.4 | | this algorithm are presented in section 4.4. | |||
| NEW: | NEW: | |||
| algId identifies the algorithm used to compute the MAC value. All | | algId identifies the algorithm used to compute the MAC value. All | |||
| implementations MUST support id-PasswordBasedMAC as presented in | | implementations MUST support id-PasswordBasedMAC as presented in | |||
| Section 4.4 of [RFC4211]. Implementations MAY also support PBMAC1 | | Section 4.4 of [RFC4211]. Implementations MAY also support PBMAC1 | |||
| as presented in Section 7.1 of [RFC8018]. | | as presented in Section 7.1 of [RFC8018]. | |||
| 4. Password-Based Message Authentication Code | 4. Password-Based Message Authentication Code | |||
| Section 4.4 of [RFC4211] specifies a Password-Based MAC that relies | Section 4.4 of [RFC4211] specifies a Password-Based MAC that relies | |||
| on a one-way function to compute a symmetric key from the password | on a one-way function to compute a symmetric key from the password | |||
| and a MAC algorithm. This section specifies algorithm requirements | and a MAC algorithm. This section specifies algorithm requirements | |||
| for the one-way function and the MAC algorithm. | for the one-way function and the MAC algorithm. | |||
| 4.1. Introduction Paragraph | 4.1. Introduction Paragraph | |||
| Add guidance about limiting the use of the password. | Add guidance about limiting the use of the password as follows: | |||
| OLD: | OLD: | |||
| This MAC algorithm was designed to take a shared secret (a | | This MAC algorithm was designed to take a shared secret (a | |||
| password) and use it to compute a check value over a piece of | | password) and use it to compute a check value over a piece of | |||
| information. The assumption is that, without the password, the | | information. The assumption is that, without the password, the | |||
| correct check value cannot be computed. The algorithm computes | | correct check value cannot be computed. The algorithm computes | |||
| the one-way function multiple times in order to slow down any | | the one-way function multiple times in order to slow down any | |||
| dictionary attacks against the password value. | | dictionary attacks against the password value. | |||
| NEW: | NEW: | |||
| This MAC algorithm was designed to take a shared secret (a | | This MAC algorithm was designed to take a shared secret (a | |||
| password) and use it to compute a check value over a piece of | | password) and use it to compute a check value over a piece of | |||
| information. The assumption is that, without the password, the | | information. The assumption is that, without the password, the | |||
| correct check value cannot be computed. The algorithm computes | | correct check value cannot be computed. The algorithm computes | |||
| the one-way function multiple times in order to slow down any | | the one-way function multiple times in order to slow down any | |||
| dictionary attacks against the password value. The password used | | dictionary attacks against the password value. The password used | |||
| to compute this MAC SHOULD NOT be used for any other purpose. | | to compute this MAC SHOULD NOT be used for any other purpose. | |||
| 4.2. One-Way Function | 4.2. One-Way Function | |||
| Change the paragraph describing the "owf" as follows: | Change the paragraph describing the "owf" as follows: | |||
| OLD: | OLD: | |||
| owf identifies the algorithm and associated parameters used to | | owf identifies the algorithm and associated parameters used to | |||
| compute the key used in the MAC process. All implementations MUST | | compute the key used in the MAC process. All implementations MUST | |||
| support SHA-1. | | support SHA-1. | |||
| NEW: | NEW: | |||
| owf identifies the algorithm and associated parameters used to | | owf identifies the algorithm and associated parameters used to | |||
| compute the key used in the MAC process. All implementations MUST | | compute the key used in the MAC process. All implementations MUST | |||
| support SHA-256 [SHS]. | | support SHA-256 [SHS]. | |||
| 4.3. Iteration Count | 4.3. Iteration Count | |||
| Update the guidance on appropriate iteration count values. | Update the guidance on appropriate iteration count values as follows: | |||
| OLD: | OLD: | |||
| iterationCount identifies the number of times the hash is applied | | iterationCount identifies the number of times the hash is applied | |||
| during the key computation process. The iterationCount MUST be a | | during the key computation process. The iterationCount MUST be a | |||
| minimum of 100. Many people suggest using values as high as 1000 | | minimum of 100. Many people suggest using values as high as 1000 | |||
| iterations as the minimum value. The trade off here is between | | iterations as the minimum value. The trade off here is between | |||
| protection of the password from attacks and the time spent by the | | protection of the password from attacks and the time spent by the | |||
| server processing all of the different iterations in deriving | | server processing all of the different iterations in deriving | |||
| passwords. Hashing is generally considered a cheap operation but | | passwords. Hashing is generally considered a cheap operation but | |||
| this may not be true with all hash functions in the future. | | this may not be true with all hash functions in the future. | |||
| NEW: | NEW: | |||
| iterationCount identifies the number of times the hash is applied | | iterationCount identifies the number of times the hash is applied | |||
| during the key computation process. The iterationCount MUST be a | | during the key computation process. The iterationCount MUST be a | |||
| minimum of 100; however, the iterationCount SHOULD be as large as | | minimum of 100; however, the iterationCount SHOULD be as large as | |||
| server performance will allow, typically at least 10,000 [DIGALM]. | | server performance will allow, typically at least 10,000 [DIGALM]. | |||
| There is a trade off between protection of the password from | | There is a trade-off between protection of the password from | |||
| attacks and the time spent by the server processing the | | attacks and the time spent by the server processing the | |||
| iterations. As part of that tradeoff, an iteration count smaller | | iterations. As part of that trade-off, an iteration count smaller | |||
| than 10,000 can be used when automated generation produces shared | | than 10,000 can be used when automated generation produces shared | |||
| secrets with high entropy. | | secrets with high entropy. | |||
| 4.4. MAC Algorithm | 4.4. MAC Algorithm | |||
| Change the paragraph describing the "mac" as follows: | Change the paragraph describing the "mac" as follows: | |||
| OLD: | OLD: | |||
| mac identifies the algorithm and associated parameters of the MAC | | mac identifies the algorithm and associated parameters of the MAC | |||
| function to be used. All implementations MUST support HMAC-SHA1 | | function to be used. All implementations MUST support HMAC-SHA1 | |||
| [HMAC]. All implementations SHOULD support DES-MAC and Triple- | | [HMAC]. All implementations SHOULD support DES-MAC and Triple- | |||
| DES-MAC [PKCS11]. | | DES-MAC [PKCS11]. | |||
| NEW: | NEW: | |||
| mac identifies the algorithm and associated parameters of the MAC | | mac identifies the algorithm and associated parameters of the MAC | |||
| function to be used. All implementations MUST support HMAC-SHA256 | | function to be used. All implementations MUST support HMAC-SHA256 | |||
| [HMAC]. All implementations SHOULD support AES-GMAC [AES][GMAC] | | [HMAC]. All implementations SHOULD support AES-GMAC [AES] [GMAC] | |||
| with a 128-bit key. | | with a 128-bit key. | |||
| For convenience, the identifiers for these two algorithms are | For convenience, the identifiers for these two algorithms are | |||
| repeated here. | repeated here. | |||
| The ASN.1 algorithm identifier for HMAC-SHA256 is defined in | The ASN.1 algorithm identifier for HMAC-SHA256 is defined in | |||
| [RFC4231]: | [RFC4231]: | |||
| id-hmacWithSHA256 OBJECT IDENTIFIER ::= { iso(1) member-body(2) | id-hmacWithSHA256 OBJECT IDENTIFIER ::= { iso(1) member-body(2) | |||
| us(840) rsadsi(113549) digestAlgorithm(2) 9 } | us(840) rsadsi(113549) digestAlgorithm(2) 9 } | |||
| When this object identifier is used in the ASN.1 algorithm | When this object identifier is used in the ASN.1 algorithm | |||
| identifier, the parameters SHOULD be present. When present, the | identifier, the parameters SHOULD be present. When present, the | |||
| parameters MUST contain a type of NULL as specified in [RFC4231]. | parameters MUST contain a type of NULL as specified in [RFC4231]. | |||
| The ASN.1 algorithm identifier for AES-GMAC [AES][GMAC] with a | The ASN.1 algorithm identifier for AES-GMAC [AES] [GMAC] with a | |||
| 128-bit key is defined in [I-D.ietf-lamps-cms-aes-gmac-alg]: | 128-bit key is defined in [RFC9044]: | |||
| id-aes128-GMAC OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) | id-aes128-GMAC OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) | |||
| country(16) us(840) organization(1) gov(101) csor(3) | country(16) us(840) organization(1) gov(101) csor(3) | |||
| nistAlgorithm(4) aes(1) 9 } | nistAlgorithm(4) aes(1) 9 } | |||
| When this object identifier is used in the ASN.1 algorithm | When this object identifier is used in the ASN.1 algorithm | |||
| identifier, the parameters MUST be present, and the parameters MUST | identifier, the parameters MUST be present, and the parameters MUST | |||
| contain the GMACParameters structure as follows: | contain the GMACParameters structure as follows: | |||
| GMACParameters ::= SEQUENCE { | GMACParameters ::= SEQUENCE { | |||
| skipping to change at page 6, line 33 ¶ | skipping to change at line 261 ¶ | |||
| processed more efficiently, so that length for the nonce value is | processed more efficiently, so that length for the nonce value is | |||
| RECOMMENDED. | RECOMMENDED. | |||
| The GMACParameters length parameter field tells the size of the | The GMACParameters length parameter field tells the size of the | |||
| message authentication code in octets. GMAC supports lengths between | message authentication code in octets. GMAC supports lengths between | |||
| 12 and 16 octets, inclusive. However, for use with CRMF, the maximum | 12 and 16 octets, inclusive. However, for use with CRMF, the maximum | |||
| length of 16 octets MUST be used. | length of 16 octets MUST be used. | |||
| 5. IANA Considerations | 5. IANA Considerations | |||
| This document makes no requests of the IANA. | This document has no IANA actions. | |||
| 6. Security Considerations | 6. Security Considerations | |||
| The security of the password-based MAC relies on the number of times | The security of the Password-Based MAC relies on the number of times | |||
| the hash function is applied as well as the entropy of the shared | the hash function is applied as well as the entropy of the shared | |||
| secret (the password). Hardware support for hash calculation is | secret (the password). Hardware support for hash calculation is | |||
| available at very low cost [PHS], which reduces the protection | available at very low cost [PHS], which reduces the protection | |||
| provided by a high iterationCount value. Therefore, the entropy of | provided by a high iterationCount value. Therefore, the entropy of | |||
| the password is crucial for the security of the password-based MAC | the password is crucial for the security of the Password-Based MAC | |||
| function. In 2010, researchers showed that about half of the real- | function. In 2010, researchers showed that about half of the real- | |||
| world passwords in a leaked corpus can be broken with less than 150 | world passwords in a leaked corpus can be broken with less than 150 | |||
| million trials, indicating a median entropy of only 27 bits [DMR]. | million trials, indicating a median entropy of only 27 bits [DMR]. | |||
| Higher entropy can be achieved by using randomly generated strings. | Higher entropy can be achieved by using randomly generated strings. | |||
| For example, assuming an alphabet of 60 characters a randomly chosen | For example, assuming an alphabet of 60 characters, a randomly chosen | |||
| password with 10 characters offers 59 bits of entropy, and 20 | password with 10 characters offers 59 bits of entropy, and 20 | |||
| characters offers 118 bits of entropy. Using a one-time password | characters offers 118 bits of entropy. Using a one-time password | |||
| also increases the security of the MAC, assuming that the integrity- | also increases the security of the MAC, assuming that the integrity- | |||
| protected transaction will complete before the attacker is able to | protected transaction will complete before the attacker is able to | |||
| learn the password with an offline attack. | learn the password with an offline attack. | |||
| Please see [RFC8018] for security considerations related to PBMAC1. | Please see [RFC8018] for security considerations related to PBMAC1. | |||
| Please see [HMAC] and [SHS] for security considerations related to | Please see [HMAC] and [SHS] for security considerations related to | |||
| HMAC-SHA256. | HMAC-SHA256. | |||
| Please see [AES] and [GMAC] for security considerations related to | Please see [AES] and [GMAC] for security considerations related to | |||
| AES-GMAC. | AES-GMAC. | |||
| Cryptographic algorithms age; they become weaker with time. As new | Cryptographic algorithms age; they become weaker with time. As new | |||
| cryptanalysis techniques are developed and computing capabilities | cryptanalysis techniques are developed and computing capabilities | |||
| improve, the work required to break a particular cryptographic | improve, the work required to break a particular cryptographic | |||
| algorithm will reduce, making an attack on the algorithm more | algorithm will reduce, making an attack on the algorithm more | |||
| feasible for more attackers. While it is unknown how cryptoanalytic | feasible for more attackers. While it is unknown how cryptanalytic | |||
| attacks will evolve, it is certain that they will get better. It is | attacks will evolve, it is certain that they will get better. It is | |||
| unknown how much better they will become or when the advances will | unknown how much better they will become or when the advances will | |||
| happen. For this reason, the algorithm requirements for CRMF are | happen. For this reason, the algorithm requirements for CRMF are | |||
| updated by this specification. | updated by this specification. | |||
| When a Password-Based MAC is used, implementations must protect the | When a Password-Based MAC is used, implementations must protect the | |||
| password and the MAC key. Compromise of either the password or the | password and the MAC key. Compromise of either the password or the | |||
| MAC key may result in the ability of an attacker to undermine | MAC key may result in the ability of an attacker to undermine | |||
| authentication. | authentication. | |||
| 7. Acknowledgements | 7. References | |||
| Many thanks to Hans Aschauer, Hendrik Brockhaus, Quynh Dang, Roman | ||||
| Danyliw, Lars Eggert, Tomas Gustavsson, Jonathan Hammell, Tim | ||||
| Hollebeek, Ben Kaduk, Erik Kline, Lijun Liao, Mike Ounsworth, | ||||
| Francesca Palombini, Tim Polk, Ines Robles, Mike StJohns, and Sean | ||||
| Turner for their careful review and improvements. | ||||
| 8. References | ||||
| 8.1. Normative References | 7.1. Normative References | |||
| [AES] National Institute of Standards and Technology, "Advanced | [AES] National Institute of Standards and Technology, "Advanced | |||
| encryption standard (AES)", DOI 10.6028/nist.fips.197, | Encryption Standard (AES)", FIPS PUB 197, | |||
| November 2001, <https://doi.org/10.6028/nist.fips.197>. | DOI 10.6028/NIST.FIPS.197, November 2001, | |||
| <https://doi.org/10.6028/NIST.FIPS.197>. | ||||
| [GMAC] National Institute of Standards and Technology, | [GMAC] Dworkin, M., "Recommendation for Block Cipher Modes of | |||
| "Recommendation for block cipher modes of operation: | Operation: Galois/Counter Mode (GCM) and GMAC", NIST | |||
| Galois Counter Mode (GCM) and GMAC", | Special Publication 800-38D, DOI 10.6028/NIST.SP.800-38D, | |||
| DOI 10.6028/nist.sp.800-38d, 2007, | November 2007, <https://doi.org/10.6028/NIST.SP.800-38D>. | |||
| <https://doi.org/10.6028/nist.sp.800-38d>. | ||||
| [HMAC] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- | [HMAC] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- | |||
| Hashing for Message Authentication", RFC 2104, | Hashing for Message Authentication", RFC 2104, | |||
| DOI 10.17487/RFC2104, February 1997, | DOI 10.17487/RFC2104, February 1997, | |||
| <https://www.rfc-editor.org/rfc/rfc2104>. | <https://www.rfc-editor.org/info/rfc2104>. | |||
| [I-D.ietf-lamps-cms-aes-gmac-alg] | ||||
| Housley, R., "Using the AES-GMAC Algorithm with the | ||||
| Cryptographic Message Syntax (CMS)", Work in Progress, | ||||
| Internet-Draft, draft-ietf-lamps-cms-aes-gmac-alg-02, 30 | ||||
| December 2020, <http://www.ietf.org/internet-drafts/draft- | ||||
| ietf-lamps-cms-aes-gmac-alg-02.txt>. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure | [RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure | |||
| Certificate Request Message Format (CRMF)", RFC 4211, | Certificate Request Message Format (CRMF)", RFC 4211, | |||
| DOI 10.17487/RFC4211, September 2005, | DOI 10.17487/RFC4211, September 2005, | |||
| <https://www.rfc-editor.org/info/rfc4211>. | <https://www.rfc-editor.org/info/rfc4211>. | |||
| [RFC8018] Moriarty, K., Ed., Kaliski, B., and A. Rusch, "PKCS #5: | [RFC8018] Moriarty, K., Ed., Kaliski, B., and A. Rusch, "PKCS #5: | |||
| Password-Based Cryptography Specification Version 2.1", | Password-Based Cryptography Specification Version 2.1", | |||
| RFC 8018, DOI 10.17487/RFC8018, January 2017, | RFC 8018, DOI 10.17487/RFC8018, January 2017, | |||
| <https://www.rfc-editor.org/info/rfc8018>. | <https://www.rfc-editor.org/info/rfc8018>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| [RFC9044] Housley, R., "Using the AES-GMAC Algorithm with the | ||||
| Cryptographic Message Syntax (CMS)", RFC 9044, | ||||
| DOI 10.17487/RFC9044, May 2021, | ||||
| <https://www.rfc-editor.org/info/rfc9044>. | ||||
| [SHS] National Institute of Standards and Technology, "Secure | [SHS] National Institute of Standards and Technology, "Secure | |||
| Hash Standard", DOI 10.6028/nist.fips.180-4, July 2015, | Hash Standard (SHS)", FIPS PUB 180-4, | |||
| <https://doi.org/10.6028/nist.fips.180-4>. | DOI 10.6028/NIST.FIPS.180-4, August 2015, | |||
| <https://doi.org/10.6028/NIST.FIPS.180-4>. | ||||
| [X680] ITU-T, "Information technology -- Abstract Syntax Notation | [X680] ITU-T, "Information technology -- Abstract Syntax Notation | |||
| One (ASN.1): Specification of basic notation", | One (ASN.1): Specification of basic notation", ITU-T | |||
| Recommendation X.680, 2015. | Recommendation X.680, August 2015. | |||
| 8.2. Informative References | 7.2. Informative References | |||
| [DIGALM] National Institute of Standards and Technology, "Digital | [DIGALM] National Institute of Standards and Technology, "Digital | |||
| identity guidelines: authentication and lifecycle | Identity Guidelines: Authentication and Lifecycle | |||
| management", DOI 10.6028/nist.sp.800-63b, June 2017, | Management", NIST Special Publication 800-63B, | |||
| <https://doi.org/10.6028/nist.sp.800-63b>. | DOI 10.6028/NIST.SP.800-63B, June 2017, | |||
| <https://doi.org/10.6028/NIST.SP.800-63B>. | ||||
| [DMR] Dell'Amico, M., Michiardi, P., and Y. Roudier, "Password | [DMR] Dell'Amico, M., Michiardi, P., and Y. Roudier, "Password | |||
| Strength: An Empirical Analysis", | Strength: An Empirical Analysis", | |||
| DOI 10.1109/INFCOM.2010.5461951, March 2010, | DOI 10.1109/INFCOM.2010.5461951, March 2010, | |||
| <https://doi.org/10.1109/INFCOM.2010.5461951>. | <https://doi.org/10.1109/INFCOM.2010.5461951>. | |||
| [PHS] Pathirana, A., Halgamuge, M., and A. Syed, "Energy | [PHS] Pathirana, A., Halgamuge, M., and A. Syed, "Energy | |||
| efficient bitcoin mining to maximize the mining profit: | Efficient Bitcoin Mining to Maximize the Mining Profit: | |||
| Using data from 119 bitcoin mining hardware setups", | Using Data from 119 Bitcoin Mining Hardware Setups", | |||
| International Conference on Advances in Business | International Conference on Advances in Business | |||
| Management and Information Technology, pp 1-14, November | Management and Information Technology, pp. 1-14, November | |||
| 2019. | 2019. | |||
| [PKCS11] RSA Laboratories, "The Public-Key Cryptography Standards - | [PKCS11] RSA Laboratories, "PKCS #11 v2.11: Cryptographic Token | |||
| PKCS #11 v2.11: Cryptographic Token Interface Standard", | Interface Standard", November 2001. | |||
| June 2001. | ||||
| [RFC4231] Nystrom, M., "Identifiers and Test Vectors for HMAC-SHA- | [RFC4231] Nystrom, M., "Identifiers and Test Vectors for HMAC-SHA- | |||
| 224, HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512", | 224, HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512", | |||
| RFC 4231, DOI 10.17487/RFC4231, December 2005, | RFC 4231, DOI 10.17487/RFC4231, December 2005, | |||
| <https://www.rfc-editor.org/info/rfc4231>. | <https://www.rfc-editor.org/info/rfc4231>. | |||
| [RFC6194] Polk, T., Chen, L., Turner, S., and P. Hoffman, "Security | [RFC6194] Polk, T., Chen, L., Turner, S., and P. Hoffman, "Security | |||
| Considerations for the SHA-0 and SHA-1 Message-Digest | Considerations for the SHA-0 and SHA-1 Message-Digest | |||
| Algorithms", RFC 6194, DOI 10.17487/RFC6194, March 2011, | Algorithms", RFC 6194, DOI 10.17487/RFC6194, March 2011, | |||
| <https://www.rfc-editor.org/info/rfc6194>. | <https://www.rfc-editor.org/info/rfc6194>. | |||
| [TRANSIT] National Institute of Standards and Technology, | [TRANSIT] National Institute of Standards and Technology, | |||
| "Transitioning the use of cryptographic algorithms and key | "Transitioning the Use of Cryptographic Algorithms and Key | |||
| lengths", NIST SP 800-131Ar2, March 2019. | Lengths", NIST Special Publication 800-131Ar2, | |||
| DOI 10.6028/NIST.SP.800-131Ar2, March 2019, | ||||
| <https://doi.org/10.6028/NIST.SP.800-131Ar2>. | ||||
| [WITHDRAW] National Institute of Standards and Technology, "NIST | [WITHDRAW] National Institute of Standards and Technology, "NIST | |||
| Withdraws Outdated Data Encryption Standard", 2 June 2005. | Withdraws Outdated Data Encryption Standard", June 2005, | |||
| <https://www.nist.gov/news-events/news/2005/06/nist- | ||||
| withdraws-outdated-data-encryption-standard>. | ||||
| Acknowledgements | ||||
| Many thanks to Hans Aschauer, Hendrik Brockhaus, Quynh Dang, Roman | ||||
| Danyliw, Lars Eggert, Tomas Gustavsson, Jonathan Hammell, Tim | ||||
| Hollebeek, Ben Kaduk, Erik Kline, Lijun Liao, Mike Ounsworth, | ||||
| Francesca Palombini, Tim Polk, Ines Robles, Mike StJohns, and Sean | ||||
| Turner for their careful review and improvements. | ||||
| Author's Address | Author's Address | |||
| Russ Housley | Russ Housley | |||
| Vigil Security, LLC | Vigil Security, LLC | |||
| 516 Dranesville Road | 516 Dranesville Road | |||
| Herndon, VA, 20170 | Herndon, VA 20170 | |||
| United States of America | United States of America | |||
| Email: housley@vigilsec.com | Email: housley@vigilsec.com | |||
| End of changes. 43 change blocks. | ||||
| 145 lines changed or deleted | 145 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/ | ||||