CBOR Object Signing and Encryption (COSE)
draft-ietf-cose-msg-18
The information below is for an old version of the document | |||
---|---|---|---|
Document | Type | Active Internet-Draft (cose WG) | |
Last updated | 2016-09-27 (latest revision 2016-09-10) | ||
Replaces | draft-schaad-cose-msg | ||
Stream | IETF | ||
Intended RFC status | Proposed Standard | ||
Formats | pdf htmlized bibtex | ||
Reviews | |||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Göran Selander | ||
Shepherd write-up | Show (last changed 2016-08-14) | ||
IESG | IESG state | In Last Call (ends 2016-09-28) | |
Consensus Boilerplate | Yes | ||
Telechat date |
Needs a YES. Needs 4 more YES or NO OBJECTION positions to pass. |
||
Responsible AD | Kathleen Moriarty | ||
Send notices to | "Goeran Selander" <goran.selander@ericsson.com> | ||
IANA | IANA review state | IANA - Not OK |
COSE Working Group J. Schaad Internet-Draft August Cellars Intended status: Standards Track September 10, 2016 Expires: March 14, 2017 CBOR Object Signing and Encryption (COSE) draft-ietf-cose-msg-18 Abstract Concise Binary Object Representation (CBOR) is 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) specification. This specification describes how to create and process signature, message authentication codes and encryption using CBOR for serialization. This specification additionally specifies how to represent cryptographic keys using CBOR. Contributing to this document 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-spec>. 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 http://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." This Internet-Draft will expire on March 14, 2017. Schaad Expires March 14, 2017 [Page 1] Internet-Draft CBOR Object Signing and Encryption (COSE) September 2016 Copyright Notice Copyright (c) 2016 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. 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. Design changes from JOSE . . . . . . . . . . . . . . . . 5 1.2. Requirements Terminology . . . . . . . . . . . . . . . . 6 1.3. CBOR Grammar . . . . . . . . . . . . . . . . . . . . . . 6 1.4. CBOR Related Terminology . . . . . . . . . . . . . . . . 7 1.5. Document Terminology . . . . . . . . . . . . . . . . . . 8 2. Basic COSE Structure . . . . . . . . . . . . . . . . . . . . 8 3. Header Parameters . . . . . . . . . . . . . . . . . . . . . . 10 3.1. Common COSE Headers Parameters . . . . . . . . . . . . . 12 4. Signing Objects . . . . . . . . . . . . . . . . . . . . . . . 16 4.1. Signing with One or More Signers . . . . . . . . . . . . 16 4.2. Signing with One Signer . . . . . . . . . . . . . . . . . 18 4.3. Externally Supplied Data . . . . . . . . . . . . . . . . 19 4.4. Signing and Verification Process . . . . . . . . . . . . 20 4.5. Computing Counter Signatures . . . . . . . . . . . . . . 21 5. Encryption Objects . . . . . . . . . . . . . . . . . . . . . 22 5.1. Enveloped COSE Structure . . . . . . . . . . . . . . . . 22 5.1.1. Recipient Algorithm Classes . . . . . . . . . . . . . 24 5.2. Single Recipient Encrypted . . . . . . . . . . . . . . . 25 5.3. How to encrypt and decrypt for AEAD Algorithms . . . . . 25 5.4. How to encrypt and decrypt for AE Algorithms . . . . . . 28 6. MAC Objects . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.1. MACed Message with Recipients . . . . . . . . . . . . . . 30 6.2. MACed Messages with Implicit Key . . . . . . . . . . . . 31 6.3. How to compute and verify a MAC . . . . . . . . . . . . . 31 7. Key Objects . . . . . . . . . . . . . . . . . . . . . . . . . 33 7.1. COSE Key Common Parameters . . . . . . . . . . . . . . . 33 8. Signature Algorithms . . . . . . . . . . . . . . . . . . . . 36 8.1. ECDSA . . . . . . . . . . . . . . . . . . . . . . . . . . 37 8.1.1. Security Considerations . . . . . . . . . . . . . . . 39Show full document text