CBOR Object Signing and Encryption (COSE): Structures and Process
draft-ietf-cose-rfc8152bis-struct-15
Document | Type | Active Internet-Draft (cose WG) | ||
---|---|---|---|---|
Author | Jim Schaad | |||
Last updated | 2021-02-02 (latest revision 2021-02-01) | |||
Replaces | draft-schaad-cose-rfc8152bis-struct | |||
Stream | Internent Engineering Task Force (IETF) | |||
Intended RFC status | Internet Standard | |||
Formats | plain text html xml pdf htmlized (tools) htmlized bibtex | |||
Reviews | ||||
Stream | WG state | Submitted to IESG for Publication | ||
Document shepherd | Matthew Miller | |||
Shepherd write-up | Show (last changed 2020-09-24) | |||
IESG | IESG state | RFC Ed Queue | ||
Action Holders |
(None)
|
|||
Consensus Boilerplate | Yes | |||
Telechat date | ||||
Responsible AD | Barry Leiba | |||
Send notices to | Matthew Miller <linuxwolf+ietf@outer-planes.net> | |||
IANA | IANA review state | Version Changed - Review Needed | ||
IANA action state | RFC-Ed-Ack | |||
RFC Editor | RFC Editor state | EDIT | ||
Details |
COSE Working Group J. Schaad Internet-Draft August Cellars Obsoletes: 8152 (if approved) 1 February 2021 Intended status: Standards Track Expires: 5 August 2021 CBOR Object Signing and Encryption (COSE): Structures and Process draft-ietf-cose-rfc8152bis-struct-15 Abstract Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need for the ability to have basic security services defined for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR. This document along with [I-D.ietf-cose-rfc8152bis-algs] obsoletes RFC8152. Contributing to this document This note is to be removed before publishing as an RFC. The source for this draft is being maintained in GitHub. Suggested changes should be submitted as pull requests at https://github.com/ cose-wg/cose-rfc8152bis. Instructions are on that page as well. Editorial changes can be managed in GitHub, but any substantial issues need to be discussed on the COSE mailing list. Status of This Memo This Internet-Draft is submitted in full conformance with the 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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." Schaad Expires 5 August 2021 [Page 1] Internet-Draft COSE Structure February 2021 This Internet-Draft will expire on 5 August 2021. Copyright Notice Copyright (c) 2021 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 (https://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. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Requirements Terminology . . . . . . . . . . . . . . . . 6 1.2. Changes from RFC8152 . . . . . . . . . . . . . . . . . . 6 1.3. Design Changes from JOSE . . . . . . . . . . . . . . . . 6 1.4. CBOR Grammar . . . . . . . . . . . . . . . . . . . . . . 7 1.5. CBOR-Related Terminology . . . . . . . . . . . . . . . . 8 1.6. Document Terminology . . . . . . . . . . . . . . . . . . 9 2. Basic COSE Structure . . . . . . . . . . . . . . . . . . . . 10 3. Header Parameters . . . . . . . . . . . . . . . . . . . . . . 13 3.1. Common COSE Header Parameters . . . . . . . . . . . . . . 15 4. Signing Objects . . . . . . . . . . . . . . . . . . . . . . . 18 4.1. Signing with One or More Signers . . . . . . . . . . . . 18 4.2. Signing with One Signer . . . . . . . . . . . . . . . . . 20 4.3. Externally Supplied Data . . . . . . . . . . . . . . . . 21 4.4. Signing and Verification Process . . . . . . . . . . . . 22 5. Encryption Objects . . . . . . . . . . . . . . . . . . . . . 24 5.1. Enveloped COSE Structure . . . . . . . . . . . . . . . . 24 5.1.1. Content Key Distribution Methods . . . . . . . . . . 26 5.2. Single Recipient Encrypted . . . . . . . . . . . . . . . 26 5.3. How to Encrypt and Decrypt for AEAD Algorithms . . . . . 27 5.4. How to Encrypt and Decrypt for AE Algorithms . . . . . . 29 6. MAC Objects . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.1. MACed Message with Recipients . . . . . . . . . . . . . . 31 6.2. MACed Messages with Implicit Key . . . . . . . . . . . . 32 6.3. How to Compute and Verify a MAC . . . . . . . . . . . . . 33 7. Key Objects . . . . . . . . . . . . . . . . . . . . . . . . . 34 7.1. COSE Key Common Parameters . . . . . . . . . . . . . . . 35Show full document text