JSON Web Signature (JWS) Unencoded Payload Option
RFC 7797

Document Type RFC - Proposed Standard (February 2016; No errata)
Updates RFC 7519
Last updated 2016-02-25
Replaces draft-jones-jose-jws-signing-input-options
Stream IETF
Formats plain text pdf html bibtex
Stream WG state Submitted to IESG for Publication
Document shepherd Jim Schaad
Shepherd write-up Show (last changed 2015-11-19)
IESG IESG state RFC 7797 (Proposed Standard)
Consensus Boilerplate Yes
Telechat date
Responsible AD Kathleen Moriarty
Send notices to "Jim Schaad" <ietf@augustcellars.com>, mbj@microsoft.com
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack
Internet Engineering Task Force (IETF)                          M. Jones
Request for Comments: 7797                                     Microsoft
Updates: 7519                                              February 2016
Category: Standards Track
ISSN: 2070-1721

           JSON Web Signature (JWS) Unencoded Payload Option

Abstract

   JSON Web Signature (JWS) represents the payload of a JWS as a
   base64url-encoded value and uses this value in the JWS Signature
   computation.  While this enables arbitrary payloads to be integrity
   protected, some have described use cases in which the base64url
   encoding is unnecessary and/or an impediment to adoption, especially
   when the payload is large and/or detached.  This specification
   defines a means of accommodating these use cases by defining an
   option to change the JWS Signing Input computation to not base64url-
   encode the payload.  This option is intended to broaden the set of
   use cases for which the use of JWS is a good fit.

   This specification updates RFC 7519 by stating that JSON Web Tokens
   (JWTs) MUST NOT use the unencoded payload option defined by this
   specification.

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 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7797.

Jones                        Standards Track                    [Page 1]
RFC 7797              JWS Unencoded Payload Option         February 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  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Notational Conventions  . . . . . . . . . . . . . . . . .   3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  The "b64" Header Parameter  . . . . . . . . . . . . . . . . .   4
   4.  Examples  . . . . . . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  Example with Header Parameters {"alg":"HS256"}  . . . . .   6
     4.2.  Example with Header Parameters
           {"alg":"HS256","b64":false,"crit":["b64"]}  . . . . . . .   7
   5.  Unencoded Payload Content Restrictions  . . . . . . . . . . .   7
     5.1.  Unencoded Detached Payload  . . . . . . . . . . . . . . .   8
     5.2.  Unencoded JWS Compact Serialization Payload . . . . . . .   8
     5.3.  Unencoded JWS JSON Serialization Payload  . . . . . . . .   8
   6.  Using "crit" with "b64" . . . . . . . . . . . . . . . . . . .   9
   7.  Intended Use by Applications  . . . . . . . . . . . . . . . .   9
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
     9.1.  JSON Web Signature and Encryption Header Parameter
           Registration  . . . . . . . . . . . . . . . . . . . . . .  10
       9.1.1.  Registry Contents . . . . . . . . . . . . . . . . . .  10
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  10
     10.2.  Informative References . . . . . . . . . . . . . . . . .  11
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  11
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  11

Jones                        Standards Track                    [Page 2]
RFC 7797              JWS Unencoded Payload Option         February 2016

1.  Introduction

   The "JSON Web Signature (JWS)" [JWS] specification defines the JWS
   Signing Input as the input to the digital signature or Message
   Authentication Code (MAC) computation, with the value
Show full document text