| < draft-ietf-lamps-cms-aes-gmac-alg-02.txt | draft-ietf-lamps-cms-aes-gmac-alg-03.txt > | |||
|---|---|---|---|---|
| Network Working Group R. Housley | Network Working Group R. Housley | |||
| Internet-Draft Vigil Security | Internet-Draft Vigil Security | |||
| Intended status: Standards Track 30 December 2020 | Intended status: Standards Track 27 January 2021 | |||
| Expires: 3 July 2021 | Expires: 31 July 2021 | |||
| Using the AES-GMAC Algorithm with the Cryptographic Message Syntax (CMS) | Using the AES-GMAC Algorithm with the Cryptographic Message Syntax (CMS) | |||
| draft-ietf-lamps-cms-aes-gmac-alg-02 | draft-ietf-lamps-cms-aes-gmac-alg-03 | |||
| Abstract | Abstract | |||
| This document specifies the conventions for using the AES-GMAC | This document specifies the conventions for using the AES-GMAC | |||
| Message Authentication Code algorithms with the Cryptographic Message | Message Authentication Code algorithms with the Cryptographic Message | |||
| Syntax (CMS) as specified in RFC 5652. | Syntax (CMS) as specified in RFC 5652. | |||
| 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 | |||
| skipping to change at page 1, line 32 ¶ | skipping to change at page 1, line 32 ¶ | |||
| 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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 3 July 2021. | This Internet-Draft will expire on 31 July 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 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 (https://trustee.ietf.org/ | |||
| license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
| Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
| and restrictions with respect to this document. Code Components | and restrictions with respect to this document. Code Components | |||
| extracted from this document must include Simplified BSD License text | extracted from this document must include Simplified BSD License text | |||
| as described in Section 4.e of the Trust Legal Provisions and are | as described in Section 4.e of the Trust Legal Provisions and are | |||
| provided without warranty as described in the Simplified BSD License. | provided without warranty as described in the Simplified BSD License. | |||
| skipping to change at page 2, line 48 ¶ | skipping to change at page 2, line 48 ¶ | |||
| Authentication Code (MAC) algorithm. | Authentication Code (MAC) algorithm. | |||
| MAC algorithm identifiers are located in the AuthenticatedData | MAC algorithm identifiers are located in the AuthenticatedData | |||
| macAlgorithm field. | macAlgorithm field. | |||
| MAC values are located in the AuthenticatedData mac field. | MAC values are located in the AuthenticatedData mac field. | |||
| 3.1. AES-GMAC | 3.1. AES-GMAC | |||
| The AES-GMAC [AES][GCM] Message Authentication Code (MAC) algorithm | The AES-GMAC [AES][GCM] Message Authentication Code (MAC) algorithm | |||
| uses one of the following algorithm identifiers; the choice depends | uses one of the following algorithm identifiers in the | |||
| on the size of the AES key, which is either 128 bits, 192 bits, or | AuthenticatedData macAlgorithm field; the choice depends on the size | |||
| 256 bits: | of the AES key, which is either 128 bits, 192 bits, or 256 bits: | |||
| aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) | aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) | |||
| organization(1) gov(101) csor(3) nistAlgorithm(4) 1 } | organization(1) gov(101) csor(3) nistAlgorithm(4) 1 } | |||
| id-aes128-GMAC OBJECT IDENTIFIER ::= { aes 9 } | id-aes128-GMAC OBJECT IDENTIFIER ::= { aes 9 } | |||
| id-aes192-GMAC OBJECT IDENTIFIER ::= { aes 29 } | id-aes192-GMAC OBJECT IDENTIFIER ::= { aes 29 } | |||
| id-aes256-GMAC OBJECT IDENTIFIER ::= { aes 49 } | id-aes256-GMAC OBJECT IDENTIFIER ::= { aes 49 } | |||
| skipping to change at page 3, line 25 ¶ | skipping to change at page 3, line 25 ¶ | |||
| AlgorithmIdentifier parameters field MUST be present, and the | AlgorithmIdentifier parameters field MUST be present, and the | |||
| parameters MUST contain GMACParameters: | parameters MUST contain GMACParameters: | |||
| GMACParameters ::= SEQUENCE { | GMACParameters ::= SEQUENCE { | |||
| nonce OCTET STRING, -- recommended size is 12 octets | nonce OCTET STRING, -- recommended size is 12 octets | |||
| length MACLength DEFAULT 12 } | length MACLength DEFAULT 12 } | |||
| MACLength ::= INTEGER (12 | 13 | 14 | 15 | 16) | MACLength ::= INTEGER (12 | 13 | 14 | 15 | 16) | |||
| The GMACParameters nonce field is the GMAC initialization vector. | The GMACParameters nonce field is the GMAC initialization vector. | |||
| The nonce may have any number of bits between 8 and 2^64, but it MUST | The nonce may have any number of bits between 8 and (2^64)-1, but it | |||
| be a multiple of 8 bits. Within the scope of any content- | MUST be a multiple of 8 bits. Within the scope of any content- | |||
| authentication key, the nonce value MUST be unique. A nonce value of | authentication key, the nonce value MUST be unique. A nonce value of | |||
| 12 octets can be processed more efficiently, so that length for the | 12 octets can be processed more efficiently, so that length for the | |||
| nonce value is RECOMMENDED. | nonce value is RECOMMENDED. | |||
| The GMACParameters length field field tells the size of the message | The GMACParameters length field tells the size of the message | |||
| authentication code. It MUST match the size in octets of the value | authentication code. It MUST match the size in octets of the value | |||
| in the AuthenticatedData mac field. A length of 12 octets is | in the AuthenticatedData mac field. A length of 12 octets is | |||
| RECOMMENDED. | RECOMMENDED. | |||
| 4. Implementation Considerations | 4. Implementation Considerations | |||
| An implementation of the Advanced Encryption Standard (AES) Galois/ | An implementation of the Advanced Encryption Standard (AES) Galois/ | |||
| Counter Mode (GCM) authenticated encryption algorithm is specified in | Counter Mode (GCM) authenticated encryption algorithm is specified in | |||
| [GCM]. An implementation of AES-GCM can be used to compute the GMAC | [GCM]. An implementation of AES-GCM can be used to compute the GMAC | |||
| message authentication code by providing the content-authentication | message authentication code by providing the content-authentication | |||
| End of changes. 7 change blocks. | ||||
| 11 lines changed or deleted | 11 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/ | ||||