CBOR Web Token (CWT)
RFC 8392
Internet Engineering Task Force (IETF) M. Jones
Request for Comments: 8392 Microsoft
Category: Standards Track E. Wahlstroem
ISSN: 2070-1721
S. Erdtman
Spotify AB
H. Tschofenig
ARM Ltd.
May 2018
CBOR Web Token (CWT)
Abstract
CBOR Web Token (CWT) is a compact means of representing claims to be
transferred between two parties. The claims in a CWT are encoded in
the Concise Binary Object Representation (CBOR), and CBOR Object
Signing and Encryption (COSE) is used for added application-layer
security protection. A claim is a piece of information asserted
about a subject and is represented as a name/value pair consisting of
a claim name and a claim value. CWT is derived from JSON Web Token
(JWT) but uses CBOR rather than JSON.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
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/rfc8392.
Jones, et al. Standards Track [Page 1]
RFC 8392 CBOR Web Token May 2018
Copyright Notice
Copyright (c) 2018 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.
Jones, et al. Standards Track [Page 2]
RFC 8392 CBOR Web Token May 2018
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. CBOR-Related Terminology . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Claims . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. Registered Claims . . . . . . . . . . . . . . . . . . . . 5
3.1.1. iss (Issuer) Claim . . . . . . . . . . . . . . . . . 5
3.1.2. sub (Subject) Claim . . . . . . . . . . . . . . . . . 6
3.1.3. aud (Audience) Claim . . . . . . . . . . . . . . . . 6
3.1.4. exp (Expiration Time) Claim . . . . . . . . . . . . . 6
3.1.5. nbf (Not Before) Claim . . . . . . . . . . . . . . . 6
3.1.6. iat (Issued At) Claim . . . . . . . . . . . . . . . . 6
3.1.7. cti (CWT ID) Claim . . . . . . . . . . . . . . . . . 6
4. Summary of the Claim Names, Keys, and Value Types . . . . . . 7
5. CBOR Tags and Claim Values . . . . . . . . . . . . . . . . . 7
6. CWT CBOR Tag . . . . . . . . . . . . . . . . . . . . . . . . 7
7. Creating and Validating CWTs . . . . . . . . . . . . . . . . 8
7.1. Creating a CWT . . . . . . . . . . . . . . . . . . . . . 8
7.2. Validating a CWT . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . 10
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
9.1. CBOR Web Token (CWT) Claims Registry . . . . . . . . . . 11
9.1.1. Registration Template . . . . . . . . . . . . . . . . 12
9.1.2. Initial Registry Contents . . . . . . . . . . . . . . 12
9.2. Media Type Registration . . . . . . . . . . . . . . . . . 14
9.2.1. Registry Contents . . . . . . . . . . . . . . . . . . 14
9.3. CoAP Content-Formats Registration . . . . . . . . . . . . 14
9.3.1. Registry Contents . . . . . . . . . . . . . . . . . . 15
9.4. CBOR Tag registration . . . . . . . . . . . . . . . . . . 15
9.4.1. Registry Contents . . . . . . . . . . . . . . . . . . 15
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
Show full document text