Internet DRAFT - draft-barnes-jose-spi

draft-barnes-jose-spi






JOSE Working Group                                             R. Barnes
Internet-Draft                                                       BBN
Intended status: Informational                            March 21, 2013
Expires: September 22, 2013


                     JOSE Security Parameters Index
                        draft-barnes-jose-spi-00

Abstract

   The use cases for JOSE include cases where a given sender and
   receiver use an out-of-band mechanism to negotiate cryptographic
   parameters, so that these parameters do not have to appear in a JOSE
   object.  This document proposed a modification to the JOSE formats to
   allow for signaling that pre-negotiated parameters are being used,
   and if so, which parameters.

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 September 22, 2013.

Copyright Notice

   Copyright (c) 2013 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



Barnes                 Expires September 22, 2013               [Page 1]

Internet-Draft                  JOSE SPI                      March 2013


   described in the Simplified BSD License.


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  "spi" (Security Parameters Index) Header Parameter  . . . . . . 4
   3.  Changes to Processing Steps . . . . . . . . . . . . . . . . . . 5
   4.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     4.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6
     4.2.  Informative References  . . . . . . . . . . . . . . . . . . 6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 7







































Barnes                 Expires September 22, 2013               [Page 2]

Internet-Draft                  JOSE SPI                      March 2013


1.  Introduction

   The use cases for JOSE include cases where a given sender and
   receiver use an out-of-band mechanism to negotiate cryptographic
   parameters, such as OpenID Connect.  This allows the sender and
   receiver to exchange JOSE objects without having to include all of
   the required security parameters, for example, algorithm names and
   public keys.

   The current specifications for JSON Web Encryption (JWE)
   [I-D.ietf-jose-json-web-encryption] and JSON Web Signature (JWS)
   [I-D.ietf-jose-json-web-signature] accommodate these use cases by
   simply omitting requirements levels on some parameters.  For exmaple,
   it should be REQUIRED for some sort of key or key identifier to be
   provided, so that the recipient of an object knows which key to use
   to process it.  However, since two parties may have pre-negotiated
   which key to use, all key and key identifier fields are marked as
   OPTIONAL in the current specification.  This leaves JWE and JWS
   without a good notion of what a well-formed object looks like.

   A better approach would be to put hard requirements on parameters,
   but allow them to be omitted if they have been pre-negotiated.  Thus,
   the specifications might REQUIRED that a "kid", "jwk", or "jku" field
   be present in an object, except if the object contains an indicator
   that some parameters have been pre-negotiated.  Following the
   terminology from IPsec [RFC4301], we call this flag a "security
   parameters index", or SPI.

   The addition of SPI would clarify the processing model for JWE to
   include an explicit provision for pre-negotiated parameters.  Namely,
   if an object contains an "spi" value, then the recipient first the
   object to a normal JWE or JWS object by filling in the pre-negotiated
   parameters.  Then it can process the object as normal.

   This document proposes two main changes.  First, we provide a
   definition of the "spi" header parameter, to be added to Section 4.1
   of the JWE specification and the JWS specification.  Second, we
   propose changes to the processing instructions in the respective
   specifications.












Barnes                 Expires September 22, 2013               [Page 3]

Internet-Draft                  JOSE SPI                      March 2013


2.  "spi" (Security Parameters Index) Header Parameter

   The "spi" header parameter contains an opaque string, which refers to
   a set of pre-negotiated security parameters, established through some
   out-of-band negotiation protocol.  The association of security
   parameters to SPI values is the responsibility of the negotiation
   protocol, as are other management considerations (e.g., the lifetime
   of a set of parameters).

   When an object contains an SPI value, fields with pre-negotiated
   values MAY be omitted, even if they would otherwise be REQUIRED.  If
   the recipient of an object encounters an SPI value references a known
   set of security parameters, then the recipient MUST populate them
   into relevant fields in the object before further processing.  If the
   SPI value is unknown to a recipient, or the recipient does not
   support pre-negotiation of parameters, then the "spi" field MUST be
   ignored.  (Implementations SHOULD issue a warning in this case,
   because of the risk that processing will fail due to missing
   parameters.)
































Barnes                 Expires September 22, 2013               [Page 4]

Internet-Draft                  JOSE SPI                      March 2013


3.  Changes to Processing Steps

   In JWE, Section 5.1, add the following text to step 10:

      If pre-negotiated parameters are used, add an "spi" field and
      remove any pre-negotiated parameters.

   In JWE, Section 5.2. add the following step after step 3:

      The JWE Header SHOULD be examined for an "spi" parameter.  If an
      "spi" parameter is present and contains a recognized value, add
      the corresponding pre-negotiated parameters to the Header object.

   In JWS, Section 5.1, add the following text to step 3:

      If pre-negotiated parameters are used, add an "spi" field and
      remove any pre-negotiated parameters.

   In JWS, Section 5.2., add the following step after step 3:

      The JWS Header SHOULD be examined for an "spi" parameter.  If an
      "spi" parameter is present and contains a recognized value, add
      the corresponding pre-negotiated parameters to the Header object.




























Barnes                 Expires September 22, 2013               [Page 5]

Internet-Draft                  JOSE SPI                      March 2013


4.  References

4.1.  Normative References

   [I-D.ietf-jose-json-web-encryption]
              Jones, M., Rescorla, E., and J. Hildebrand, "JSON Web
              Encryption (JWE)", draft-ietf-jose-json-web-encryption-08
              (work in progress), December 2012.

   [I-D.ietf-jose-json-web-signature]
              Jones, M., Bradley, J., and N. Sakimura, "JSON Web
              Signature (JWS)", draft-ietf-jose-json-web-signature-08
              (work in progress), December 2012.

4.2.  Informative References

   [RFC4301]  Kent, S. and K. Seo, "Security Architecture for the
              Internet Protocol", RFC 4301, December 2005.

































Barnes                 Expires September 22, 2013               [Page 6]

Internet-Draft                  JOSE SPI                      March 2013


Author's Address

   Richard Barnes
   BBN

   Email: rlb@ipv.sx













































Barnes                 Expires September 22, 2013               [Page 7]