·          “exp” was changed to “xpo” then to “e” due to potential clashes 
between very different contexts.

·         “iv” was defined (draft-04) for use with some “enc” values, and now 
is defined for use with some “alg” values instead.

·         “alg”, “enc”, (and “int” and “mac” and “kdf” in drafts) have been 
required to identify the context for algorithm ids, but there is no 
corresponding indication of the context for any parameters associated with 
those algorithm ids (s, c, iv, tag, apv etc).

·         “kid” sometimes identifies the sender’s key and sometimes the 
recipient’s key, which isn’t going to be pretty when an alg involves keys from 
both parties (and there are plenty of such algs).

·         A whole bunch of key-related fields that made sense in JWS (referring 
to the sender’s key) were switched around in JWE (referring to the recipient’s 
key) were they are almost pointless but can no longer be used if the sender of 
a JWE does have a key that needs referencing.

·         The sender’s public key can be held in “jwk”, except in a JWE where a 
new name is needed: “epk”.

A registry has not prevented the mess. Being drafts has allowed us to create & 
modify the mess so it can still work. ;-(

We have a strange situation today where a fields such as "kid", "x5t", "x5u", 
and "x5c" are defined for use in a JWK; there is a field in JWE & JWS to hold a 
JWK; but JWE & JWS also define top-level use of these fields. Are both of the 
following ok, equivalent, interoperable?

  { "alg":"xxx", "jwk":{"kid":"123", "x5u":"https://x.y.x/"}}

  { "alg":"xxx", "kid":"123", "x5u":"https://x.y.x/"}


--
James Manger

From: Mike Jones [mailto:[email protected]]
Sent: Wednesday, 17 July 2013 10:38 AM
To: Manger, James H; Richard Barnes; Matt Miller (mamille2); [email protected]
Subject: RE: [jose] PBES2-HS256+A128KW: where do salt and iteration count go?

The registry is there exactly to prevent such messes.  They have a good track 
record of preventing them to date. ;-)

                                                                -- Mike

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Manger, James H
Sent: Tuesday, July 16, 2013 5:31 PM
To: Richard Barnes; Matt Miller (mamille2); [email protected]<mailto:[email protected]>
Subject: Re: [jose] PBES2-HS256+A128KW: where do salt and iteration count go?

“s” and “c” at the top level (not under “jwk”) would at least be more 
consistent with other parts of JOSE and the design philosophy of “keep it 
flat”. I would actually prefer sticking “s” and “c” into a sub-object, but it 
only makes sense if other fields are moved there as well. What if a key 
wrapping algorithm and a content encryption algorithm both need a salt? What if 
a sender key and recipient key have the same sort of parameter (such as a 
“kid”)? The “simplicity” of a flat structure quickly becomes a mess.

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

Reply via email to