-----Original Message-----
From: Richard Barnes [mailto:[email protected]] 
Sent: Wednesday, October 01, 2014 9:22 PM
To: The IESG
Cc: [email protected]; [email protected]; 
[email protected]
Subject: Richard Barnes' Discuss on draft-ietf-jose-json-web-signature-33: 
(with DISCUSS and COMMENT)

Richard Barnes has entered the following ballot position for
draft-ietf-jose-json-web-signature-33: Discuss

When responding, please keep the subject line intact and reply to all email 
addresses included in the To and CC lines. (Feel free to cut this introductory 
paragraph, however.)


Please refer to http://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
http://datatracker.ietf.org/doc/draft-ietf-jose-json-web-signature/



----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

Overall, this document is in much more solid shape than when it began. 
Thanks to the WG for a lot of hard work.  I only have two remaining concerns, 
which should hopefully be easy to address.

Section 7.2.
I've had several implementors trying to use JWS in the JSON serialization ask 
why it was necessary to include a "signatures" array in cases where there's 
only one signer.  It seems like this is going to be a major barrier to 
deployment and re-use, so I would propose including the following text:

"""
In cases where the JWS has been signed by only a single signer, the 
"signatures" array will contain a single object.  In such cases, the elements 
of the single "signatures" object MAY be included at the top level of the JWS 
object.  A JSON-formatted JWS that contains a "signatures" field MUST NOT 
contain a "protected", "header", or "signature" field, and vice versa.
"""

This may also require some other changes where "signatures" is relied on, e.g., 
in Section 9 of the JWE spec.


Section 6.
"""
These Header Parameters MUST be integrity protected if the information that 
they convey is to be utilized in a trust decision.
"""
This smells really fishy to me.  What's your attack scenario?  I'm pretty 
certain that there's no way any of these fields can be altered in such a way 
that (1) the signature will validate, and (2) the recipient will accept a key 
it shouldn't.  By way of contrast, CMS doesn't sign the certificate fields, and 
the Certificate payload in TLS is only signed as a side effect of the 
protocol's verification that the remote end has been the same through the whole 
handshake (which doesn't apply here).

[JLS] There were a couple of attacks that were created for CMS based on using 
the SKI as the identifier in CMS.  There now exists a signed attribute for CMS 
to deal with this problem.   IMO the pointer the certificate probably should be 
a required signing field in CMS 

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Section 2.
In the definition of "Unsecured JWS", it would be good to note that this 
requires "alg" == "none".

Section 3.3.
Why doesn't this section have a JSON-encoded form as well?

Appendix A.5.
I would prefer if this example could be removed.  JWT is the only use case for 
Unsecured JWS right now, and there's already an example in that document.

Thanks for Appendix C.  FWIW, it has been implemented:
http://dxr.mozilla.org/mozilla-central/source/dom/crypto/CryptoBuffer.cpp#85


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

Reply via email to