I have some comments on the proposed charter that I've embedded below.

On 1/31/13 5:29 PM, Karen O'Donoghue wrote:
Below is the updated charter that has been submitted to the IESG for
review. Thank you to all who helped with the process.

Regards,
Karen

Description of JOSE Working Group

JavaScript Object Notation (JSON) is a text format for the serialization
of structured
data described in RFC 4627.  The JSON format is often used for
serializing and
transmitting structured data over a network connection.  With the
increased usage
of JSON in protocols in the IETF and elsewhere, there is now a desire to
offer
security services such as encryption, digital signatures, message
authentication
codes (MACs), and key representations for data that is being carried in
JSON format.

I don't think of key representations as a security service and maybe I let this through last time but the things listed as services are mechanisms. In most cases, the services are CIA (confidentiality, integrity, and authentication). Let's change the last sentence to:

  With the increased usage of JSON in protocols in the IETF
  and elsewhere, there is now a desire to offer security
  services for JSON with encryption, digital signatures,
  and message authentication codes (MACs).

We can add that the key representations are needed later.

Different proposals for providing such security services have already
been defined
and implemented.  This Working Group's task is to standardize four kinds of
security services, integrity protection (signature and MAC), encryption,
key
representations, and algorithm identifiers, in order to increase
interoperability of
security features between protocols that use JSON.

Not sure a key representations is a service and maybe I'm nitpicking but I think encryption is a mechanism. Let's do instead:

 The Working Group will standardize the mechanism for integrity
 protection (signature and MAC) and encryption as well as the format
 for keys and algorithm identifiers to support interoperability of
 security services for protocols that use JSON.

The Working Group
will base its
work on well-known message security primitives (e.g., CMS), and will
solicit input
from the rest of the IETF Security Area to be sure that the security
functionality in
the JSON format is correct.

"correct" seems like the wrong word.  How about "sound".

This group is chartered to work on eight documents:

Let's just drop the # in this sentence and change it to:

  This group is chartered to work on the following deliverables:

(1) A Standards Track document specifying how to apply JSON-structured
integrity
protection to data, including (but not limited to) JSON data structures,
including a
compact URL-safe representation.  "Integrity protection" includes
public-key digital
signatures as well as symmetric-key MACs.

(2) A Standards Track document specifying how to apply a JSON-structured
encryption to data, including (but not limited to) JSON data structures,
including a
compact URL-safe representation.

Because the IESG will look at the diffs, the addition of "including a compact URL-safe representation" in (1) and (2) as well as the addition of (5) and (6) will no doubt raise questions.

The first will be why are we baking the solution in to the charter? Based on recent discussions about and revisions to the proposed httpauth charter, baking solutions in or placing constraints on the solution in the form or examples/"includings" in the charters isn't going to fly. What charters ought to do is say where the WG wants to go and then the drafts say how they're getting there.

The second will obviously be why on earth would a WG solution not support the same kind of basic functionality that the well-known security primitives support. If the WG decides on more than one serialization/representation is needed for whatever reason, then the drafts can explain why there's more than one.

Based on all of this, bullets 1 and 2 should remain unchanged and 5 and 6 need not be added:

(1) A Standards Track document specifying how to apply JSON-structured
integrity protection to data, including (but not limited to) JSON data
structures. "Integrity protection" includes public-key digital
signatures as well as symmetric-key MACs.

(2) A Standards Track document specifying how to apply a JSON-structured
encryption to data, including (but not limited to) JSON data structures.

(3) looks fine.

(3) A Standards Track document specifying how to encode public keys as
JSON-
structured objects.

I like this (4) better because MTI should be specified by the application.

(4) A Standards Track document specifying algorithms and algorithm
identifiers for
the previous three documents.

As above for 5 and 6.

(5) A Standards Track document specifying how to apply JSON-structured
integrity
protection to data, including (but not limited to) JSON data structures,
using a JSON
representation supporting multiple recipients.  This document will build
upon the
concepts and structures in (1).

(6) A Standards Track document specifying how to apply a JSON-structured
encryption to data, including (but not limited to) JSON data structures,
using a JSON
representation supporting multiple recipients.  This document will build
upon the
concepts and structures in (2).

I think these are fine but I can't really think of a reason to not combine them.

(7) A Standards Track document specifying how to encode private and

r/7/5

symmetric
keys as JSON-structured objects.  This document will build upon the
concepts and
structures in (3).

(8) A Standards Track application document specifying a means of protecting

r/8/6

private and symmetric keys via encryption.  This document will build
upon the
concepts and structures in (2) and (7).  This document may register
additional
algorithms in registries defined by (4).

Is "application" needed in in the first sentence?

From Karen, we'll also add in:

  (7) An Informational document detailing Use Cases and
  Requirements for JSON Object Signing and Encryption (JOSE).


The working group may decide to address combinations of these goals in
consolidated document(s), in which case the concrete milestones for
these goals will
be satisfied by the consolidated document(s).

I want to change this as follows because it's not just the WG's decision:

  One or more of these goals may be combined into a single
  document, in which case the concrete milestones for these
  goals will be satisfied by the consolidated document(s).

We also need some additional wording to explain how JOSE isn't going to specify everything an application/use case needs to achieve complete interop. I'm basing this on the recent bashing some OAUTH drafts took and the way JOSE seems to be shaping up. I'd suggest something along the lines of the following to provide additional lead in:

  As JSON adoption expands, the different applications utilizing
  JSON security services will grow and this leads to the need to
  support different requirements. The WG will develop a generic
  syntax that can be used by applications to secure JSON-data,
  but it will be up to the application to fully specify the use
  of the WG's documents much the same way S/MIME is the
  application of CMS to MIME-based media types.

And we need a draft that tells an application all the things that would need to be specified/picked to implement JOSE. This could go in the use cases or in a new document. You're call.

spt

_______________________________________________
jose mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/jose

Reply via email to