I agree as well -- one of the best things about how the JWS/JWE systems work is that they're very simple and deterministic. With *zero* normalization (not even space folding), and all operations on a well-known encoding that doesn't get parsed and transformed in transit, you've got something that's not only easy to develop, it's easy to get *right*, and to get right every time.

Adding "a couple dozen lines of code" and breaking every single deployed instance isn't going to make things more secure or scalable -- it's going to make JOSE be ignored by the developers of the world. We have empirical proof that things work well the way that they're currently specified, I say cut it, ship it, call it a day.

 -- Justin

On 06/12/2013 02:41 AM, Roland Hedberg wrote:
I'm completely behind John on this.
Also, being one that has a JWT library implementation I can support Tim in that 
this is a breaking change.
A change that I'm definitely against.

12 jun 2013 kl. 08:16 skrev John Bradley <[email protected]>:

Changing what the integrity is calculated over is about a big breaking change.

I have personally considered alternate encodings for constrained environments 
(internet of things) however the format we have now has the advantage that it 
is hard for developers to get wrong, unlike xmldsig.

Jim made a good point that you have to encode the length of the parts or have a 
separator that cannot appear in the parts.

I expect that escaping every "." in the JSON is not going to work very well.

We know what we have works.  It is possible to have long debates over things 
that won't work.

The integrity has always been calculated this way,  It is not new.

John B.


On 2013-06-12, at 6:20 AM, Tim Bray <[email protected]> wrote:

I haven't been following this closely, but someone who uses JWTs (there are a lot of them 
out there) asked me "Wouldn't this break all the existing JWT libraries and software 
deployed in production?"  I'm not 100% sure, but it looks to me like the answer is 
yes.  Since i observe empirically that JWTs work very well in production for federated 
login and many other applications, and offer a level of security that is acceptable to 
some of the most paranoid security organizations in the world, I think this proposal is 
not remotely close to being cost-effective.

Forgive me if I'm wrong and this wouldn't actually break JWTs.  -T


On Tue, Jun 11, 2013 at 10:58 AM, jose issue tracker 
<[email protected]> wrote:
#23: Make crypto independent of binary encoding (base64)

  The cryptographic operations that JOSE performs should not depend on the
  transfer encoding used for binary components.  The operations should work
  directly on the encoded byte strings, not on the encoded form.

  This is already true for content, IV, ciphertext, encrypted key, and
  authentication tag.  The only thing that needs fixing is the protected
  header value.  That's a little tricky, since the protected header value is
  JSON, which doesn't have a standard encoding.  But it's not that onerous
  just to convert it to UTF-8 -- in fact, senders are already required to
  convert the protected header to UTF-8.

  So the only change is to require recipients to convert the protected
  header to UTF-8 before using it.   This can be accomplished with two minor
  changes:

  <http://tools.ietf.org/html/draft-ietf-jose-json-web-
  signature-11#section-5.2>
  OLD: "The resulting JWS Protected Header MUST be a completely valid JSON
  object conforming to RFC 4627 [RFC4627]."
  NEW: "The resulting JWS Protected Header MUST be a completely valid JSON
  object conforming to RFC 4627 [RFC4627].  If the JWE Protected Header is
  valid, convert it to the UTF-8 encoding.  Otherwise, reject the JWE."

  <http://tools.ietf.org/html/draft-ietf-jose-json-web-
  encryption-11#section-5.2>
  OLD: "The resulting JWE Protected Header MUST be a completely valid JSON
  object conforming to RFC 4627 [RFC4627]."
  NEW: "The resulting JWE Protected Header MUST be a completely valid JSON
  object conforming to RFC 4627 [RFC4627].  If the JWE Protected Header is
  valid, convert it to the UTF-8 encoding.  Otherwise, reject the JWE."

--
-------------------------------------+-------------------------------------
  Reporter:  [email protected]               |      Owner:  draft-barnes-jose-use-
      Type:  defect                   |  [email protected]
  Priority:  major                    |     Status:  new
Component:  draft-barnes-jose-use-   |  Milestone:
   cases                              |    Version:
  Severity:  -                        |   Keywords:
-------------------------------------+-------------------------------------

Ticket URL: <http://trac.tools.ietf.org/wg/jose/trac/ticket/23>
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

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

Reply via email to