Use Cases and Requirements for JSON Object Signing and Encryption (JOSE)
RFC 7165
Internet Engineering Task Force (IETF) R. Barnes
Request for Comments: 7165 Mozilla
Category: Informational April 2014
ISSN: 2070-1721
Use Cases and Requirements for
JSON Object Signing and Encryption (JOSE)
Abstract
Many Internet applications have a need for object-based security
mechanisms in addition to security mechanisms at the network layer or
transport layer. For many years, the Cryptographic Message Syntax
(CMS) has provided a binary secure object format based on ASN.1.
Over time, binary object encodings such as ASN.1 have become less
common than text-based encodings, such as the JavaScript Object
Notation (JSON). This document defines a set of use cases and
requirements for a secure object format encoded using JSON, drawn
from a variety of application security mechanisms currently in
development.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
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). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see 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/rfc7165.
Barnes Informational [Page 1]
RFC 7165 JOSE Use Cases April 2014
Copyright Notice
Copyright (c) 2014 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
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Basic Requirements . . . . . . . . . . . . . . . . . . . . . 5
4. Requirements on Application Protocols . . . . . . . . . . . . 6
5. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.1. Security Tokens . . . . . . . . . . . . . . . . . . . . . 7
5.2. OAuth . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.3. OpenID Connect . . . . . . . . . . . . . . . . . . . . . 9
5.4. XMPP . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.5. ALTO . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.6. Emergency Alerting . . . . . . . . . . . . . . . . . . . 13
5.7. Web Cryptography . . . . . . . . . . . . . . . . . . . . 15
5.8. Constrained Devices . . . . . . . . . . . . . . . . . . . 16
5.8.1. Example: MAC Based on ECDH-Derived Key . . . . . . . 16
5.8.2. Object Security for CoAP . . . . . . . . . . . . . . 17
6. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 18
6.1. Functional Requirements . . . . . . . . . . . . . . . . . 18
6.2. Security Requirements . . . . . . . . . . . . . . . . . . 19
6.3. Desiderata . . . . . . . . . . . . . . . . . . . . . . . 20
7. Security Considerations . . . . . . . . . . . . . . . . . . . 20
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1. Normative References . . . . . . . . . . . . . . . . . . 21
8.2. Informative References . . . . . . . . . . . . . . . . . 21
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 25
Barnes Informational [Page 2]
RFC 7165 JOSE Use Cases April 2014
1. Introduction
Internet applications rest on the layered architecture of the
Internet and take advantage of security mechanisms at all layers.
Many applications rely primarily on channel-based security
technologies such as IPsec and Transport Layer Security (TLS), which
create a secure channel at the IP layer or transport layer over which
application data can flow [RFC4301] [RFC5246]. These mechanisms,
however, cannot provide end-to-end security in some cases. For
example, in protocols with application-layer intermediaries, channel-
Show full document text