Another possibility is to specify in the registry of alg / enc values which values are permitted with JWE / JWS and which are only valid for JWKs outside those contexts.
...Mark Sent from my iPhone On Nov 11, 2013, at 12:49 PM, Mike Jones <[email protected]> wrote: I disagree with Jim and John on this. WebCrypto is a much lower-level API than JOSE. It intentionally enables the use of raw cryptographic primitives. For instance, when building a JOSE implementation on WebCrypto, one would definitely use WebCrypto’s support for AES CBC to build the composite authenticated algorithm A128CBC-HS256. Likewise, one would likely use WebCrypto’s AES EBC support to build A128KW. The high-level API that WebCrypto is talking about **is** a JOSE implementation. We should do everything we can to encourage that being specified and built. Therefore, I believe we want to encourage WebCrypto to use JWKs for their key format. Yes – even for algorithms that aren’t inherently safe. I understand Jim’s desire not to sanction the use of non-authenticated encryption algorithms **with JWE**. That doesn’t mean that we should prohibit all JWKs that contains keys for algorithms use them. I believe the way to do this is to expend the definition of “Algorithm Usage Location(s)” in the JSON Web Signature and Encryption Algorithms registry to permit additional usage locations. Currently they must be “alg” or “enc”. Jim has already discussed a possible extension (key management for MAC) in which other usage locations might be used. WebCrypto could define another usage location for their registrations. Then we could prohibit the registration of non-authenticated encryption algorithms for “enc”, but allow them for other cases. Would that work for people? -- Mike *From:* Mark Watson [mailto:[email protected] <[email protected]>] *Sent:* Sunday, November 10, 2013 7:09 PM *To:* John Bradley *Cc:* Jim Schaad; Mike Jones; [email protected]; [email protected] *Subject:* Re: [jose] #187: Define algorithm names for symmetric keys in for JWK John, I want to check that we have a common context here. The W3C WebCrypto API allows Javascript content on a web page to generate / agree / import keys which can then be used to encrypt arbitrary data, using a variety of algorithms (including non-AEAD ones). What data and what algorithms is up to the page developer and WebCrypto provides *plenty* of rope with which people can hang themselves, security-wise. There is an ambition to create a different, higher-level, API which would not provide so much rope. What we're working on now, though, is explicitly a low-level API with all the caveats that go with that. WebCrypto also allows keys to be imported and exported in JWK format. Are you saying that JWK is not really intended for this application ? Or that WebCrypto should not provide support for AES-CTR and AES-CBC at all (and if it does you want no part in supporting that with JWK) ? What about an application that wants to pass keys around in JWK format and then use those keys to decrypt some legacy data structure encrypted with AES-CTR ? ...Mark On Mon, Nov 11, 2013 at 10:45 AM, John Bradley <[email protected]> wrote: I agree that JOSE should not allow non-AEAD algorithms to be registered. I understand some people will want them. In the words of Nancy Reagan "Just say No" I think she also said something about your brain on non-AEAD. Who an I to argue with Nancy:) John B. On Nov 10, 2013, at 6:36 PM, Jim Schaad <[email protected]> wrote: Ii mean that I would like to prohibit anyone from registering a non-AEAD algorithm. Good practice says that you should have an AEAD type algorithm for encrypting a key so that it includes an integrity check as part of the decryption process. Any such algorithm would qualify as an AEAD algorithm. AES-CBC and AES-CTR do not have this property and therefore should be prohibited from being registered and used. Jim *From:* Mark Watson [mailto:[email protected] <[email protected]>] *Sent:* Sunday, November 10, 2013 5:37 PM *To:* Jim Schaad *Cc:* Michael Jones; [email protected]; [email protected] *Subject:* Re: [jose] #187: Define algorithm names for symmetric keys in for JWK Jim, Do you mean that JOSE will not register non-AEAD algorithms in future or that you would like to prohibit anyone from registering such algorithms ? In W3C WebCrypto we support import / export of a WebCrypto Key object in JWK format and so I believe we will need alg / use / other attributes to reflect all the algorithms / usages and other properties that WebCrypto Key objects can have. ...Mark On Mon, Nov 11, 2013 at 5:30 AM, Jim Schaad <[email protected]> wrote: While I agree this item is appropriately addressed as Won't Fix. I disagree that it would be appropriate for a later specification to define non-AEAD algorithm for encryption purposes. If you feel it is appropriate then I would like to make a change to the registration template to forbid it. Jim > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf Of > jose issue tracker > Sent: Friday, November 08, 2013 4:46 PM > To: [email protected]; [email protected]; > [email protected] > Cc: [email protected] > Subject: Re: [jose] #187: Define algorithm names for symmetric keys in for > JWK > > #187: Define algorithm names for symmetric keys in for JWK > > > Comment (by [email protected]): > > A JOSE working group decision was made early on to only support > authenticated encryption algorithms. Neither of AES CBC or AES CTR are > authenticated encryption algorithms. > > There are registered algorithms for the composite AES-CBC-HMAC-SHA2 > algorithms, which do provide authenticated encryption, which could be used > when applicable. > > That being said, it would be fine for non-JOSE specifications to define and > register the values A{128,192,256}CTR and A{128,192,256}CBC. For instance, > a W3C WebCrypto specification could do this. But I believe that JOSE specs > defining these values is out of scope. > > Therefore, I believe that this issue should be closed as "wontfix". > > -- > -------------------------+---------------------------------------------- > -------------------------+--- > Reporter: | Owner: draft-ietf-jose-json-web- > [email protected] | [email protected] > Type: defect | Status: new > Priority: minor | Milestone: > Component: json-web- | Version: > algorithms | Resolution: > Severity: - | > Keywords: | > -------------------------+---------------------------------------------- > -------------------------+--- > > Ticket URL: <http://trac.tools.ietf.org/wg/jose/trac/ticket/187#comment:2> > jose <http://tools.ietf.org/jose/> > > _______________________________________________ > jose mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/jose _______________________________________________ jose mailing list [email protected] https://www.ietf.org/mailman/listinfo/jose
_______________________________________________ jose mailing list [email protected] https://www.ietf.org/mailman/listinfo/jose
