"Inconsistency" actually cuts the other way.  "Inconsistency" is when you
do the same thing two ways.  The current specs are inconsistent between JWE
and JWS in terms of how the integrity-protected data are computed (JWS
Signing Input vs. AAD).  The proposal is to make the specs *consistent* in
this regard, and to do different two things (protected+payload vs. payload)
different ways.

As I said at the IETF meeting, there are a few compelling reasons, namely:
We maximize the set of apps that can use JOSE by not mixing JOSE-specific
stuff into the crypto.

--Richard


On Thu, Aug 29, 2013 at 11:22 AM, Mike Jones <[email protected]>wrote:

>  The primary problem with the proposal is that it makes signature
> computations within the JSON serialization inconsistent by introducing an
> unneeded special case.  Let’s keep things simpler by always computing the
> signatures the same way.  There’s no compelling reason to have the special
> case at all.****
>
> ** **
>
>                                                             -- Mike****
>
> ** **
>
> *From:* Richard Barnes [mailto:[email protected]]
> *Sent:* Thursday, August 29, 2013 8:16 AM
> *To:* Justin Richer
> *Cc:* Anders Rundgren; Jim Schaad; Mike Jones; [email protected]
> *Subject:* Re: [jose] #59: Allow direct signing and align with AAD****
>
> ** **
>
> Not quite.  The compact serialization is a subset of the JSON
> serialization.  For both the compact case and the equivalent JSON case, the
> proposed algorithm doesn't change anything.  Likewise for the JSON case
> with any protected header (even if there are some unprotected headers). **
> **
>
> ** **
>
> The only change is when there is no protected header, which can only
> happen in the JSON case.****
>
> ** **
>
> So the change only occurs for a subset of JSON cases.  But that sort of
> makes sense -- the JSON format is more general, so the signing algorithm
> should be more general as well.****
>
> ** **
>
> --Richard****
>
> ** **
>
> On Thu, Aug 29, 2013 at 10:50 AM, Justin Richer <[email protected]> wrote:
> ****
>
> Unless I'm missing something, this seems to be creating a special case for
> the JSON serialization, making the signature calculation different from the
> compact ones. I thought we had already decided not to do that? Seems we
> really should keep things parallel, which will itself remove complexity.
>
>  -- Justin****
>
> ** **
>
> On 08/28/2013 04:24 PM, Richard Barnes wrote:****
>
>   The proposal here is actually to *remove* complexity, especially for an
> implementation that does both JWS and JWE.   ****
>
> ** **
>
> In the current scheme, I have to do different things to prepare the JWS
> Signing Input and the JWE Authenticated Data, even though they're both
> (header + data) inputs to integrity protection.****
>
> ** **
>
>     function createJWSSigningInput(serializedProtectedHeader, payload) {**
> **
>
>       return b64enc(serializedProtectedHeader) +'.'+ b64enc(payload); ****
>
>     }****
>
> ** **
>
>     function createJWEAuthenticatedData(serializedProtectedHeader, aad) {*
> ***
>
>       if (aad.length > 0) ****
>
>         return serializedProtectedHeader + "." + aad; ****
>
>       else return serializedProtectedHeader;****
>
>     }****
>
> ** **
>
> The proposal collapses these two into one function, which happens to have
> an "if" statement.****
>
> ** **
>
>     function createSigningInput(serializedProtectedHeader, payload) {****
>
>        if (serializedProtectedHeader.length > 0) ****
>
>          return b64enc(serializedProtectedHeader) +'.'+ b64enc(payload)***
> *
>
>        else return payload; ****
>
>     }****
>
> ** **
>
> So we're actually saving lines of code here (9 lines to 5 -- a 44%
> reduction! :) ) and reducing the probability of interop problems by doing
> similar things the same way.****
>
> ** **
>
> ** **
>
> ** **
>
> On Wed, Aug 28, 2013 at 4:10 PM, Anders Rundgren <
> [email protected]> wrote:****
>
> On 2013-08-28 21:46, Richard Barnes wrote:
> > Nope, sorry.  This issue calls for a change to JWS/JWE, not something
> else.****
>
> Maybe your use-case also calls for another solution?
>
> Cramming a lot of functionality into JWS may render as useless as you claim
> that XML DSig is.
>
> I FWIW didn't see that a message-in-signature-scheme would be a suitable
> replacement for my current XML-based signature-in-message system.
>
> I still see great value in JWS and in fact already use it with Google apps.
>
> Cheers
> Anders****
>
>
> >
> >
> > On Wed, Aug 28, 2013 at 3:40 PM, Anders Rundgren <
> [email protected] <mailto:[email protected]>>
> wrote:
> >
> >     On 2013-08-28 21:30, Richard Barnes wrote:
> >     > This is not that.  Both of those issues had to do with the
> representation of the signature in the message.
> >     > Issue #59 is about what gets signed, and what it proposes is much
> more limited than the other two.
> >
> >     Richard,
> >
> >     No chance that Enveloped JSON Signatures meet your requirements?
> >
> >
> http://webpki.org/papers/keygen2/doc/org/webpki/json/package-summary.html#package_description
> >
> >     Here you have an authentic example with three signatures:
> >
> >       {
> >         "MyLittleSignature":
> >           {
> >             "Version": "http://example.com/signature";,
> >             "Now": "2013-08-28T21:27:22+02:00",
> >             "HRT":
> >               {
> >                 "RTl": "67",
> >                 "YT":
> >                   {
> >                     "HTL": "656756#",
> >                     "INTEGER": -689,
> >                     "Fantastic": false
> >                   },
> >                 "er": "33"
> >               },
> >             "ARR": [],
> >             "BARR":
> >               [{
> >                  "HTL": "656756#",
> >                  "INTEGER": -689,
> >                  "Fantastic": true
> >                },
> >                {
> >                  "HTL": "656756#",
> >                  "INTEGER": -689,
> >                  "Fantastic": false
> >                }],
> >             "SignedObjects":
> >               [{
> >                  "ID": "this",
> >                  "VALUE": 35,
> >                  "EnvelopedSignature":
> >                    {
> >                      "SignatureInfo":
> >                        {
> >                          "Algorithm": "
> http://www.w3.org/2001/04/xmldsig-more#hmac-sha256";,
> >                          "Reference":
> >                            {
> >                              "Name": "ID",
> >                              "Value": "this"
> >                            },
> >                          "KeyInfo":
> >                            {
> >                              "KeyID": "symmetric-key"
> >                            }
> >                        },
> >                      "SignatureValue":
> "B4N8pJI+Jwbw7nnb5UDtcR3WCpLloibVKNYJe+viCf4"
> >                    }
> >                },
> >                {
> >                  "ID": "that",
> >                  "VALUE": -90,
> >                  "EnvelopedSignature":
> >                    {
> >                      "SignatureInfo":
> >                        {
> >                          "Algorithm": "
> http://www.w3.org/2001/04/xmldsig-more#hmac-sha256";,
> >                          "Reference":
> >                            {
> >                              "Name": "ID",
> >                              "Value": "that"
> >                            },
> >                          "KeyInfo":
> >                            {
> >                              "KeyID": "symmetric-key"
> >                            }
> >                        },
> >                      "SignatureValue":
> "NvQzP+9hYtb5rfR2oZLbwq8dmi291gzc6Tc49FCOnCI"
> >                    }
> >                }],
> >             "ID": "cDl5MXhuHdh1CvMht9fc",
> >             "STRINGS": ["One","Two","Three"],
> >             "EscapeMe": "A\\\n\"",
> >             "Intra": 78,
> >             "EnvelopedSignature":
> >               {
> >                 "SignatureInfo":
> >                   {
> >                     "Algorithm": "
> http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256";,
> >                     "Reference":
> >                       {
> >                         "Name": "ID",
> >                         "Value": "cDl5MXhuHdh1CvMht9fc"
> >                       },
> >                     "KeyInfo":
> >                       {
> >                         "SignatureCertificate":
> >                           {
> >                             "Issuer": "CN=Demo Sub CA,DC=webpki,DC=org",
> >                             "SerialNumber": 1377713637130,****
>
> >                             "Subject": "CN=example.com <
> http://example.com>,O=Example Organization,C=US"****
>
> >                           },
> >                         "X509CertificatePath":
> >                           [
> >
> "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"
> >                           ]
> >                       }
> >                   },
> >                 "SignatureValue":
> "MEUCIQDWtK6Whx1aOrOYZ49OYiCcH/SqgyajLRbjh3GEdr6ItAIgFUuUbf9neRqWjLv99t/WceEkRBFZkRxaVz2/GBLzaOw"
> >               },
> >             "Additional": "Not signed since it comes after the
> EnvelopedSignature"
> >           }
> >       }
> >
> >     Cheers
> >     Anders
> >     >
> >     >****
>
> >     > On Wed, Aug 28, 2013 at 3:13 PM, jose issue tracker <
> [email protected] <mailto:trac%[email protected]>
> <mailto:[email protected] <mailto:
> trac%[email protected]>>> wrote:
> >     >
> >     >     #59: Allow direct signing and align with AAD
> >     >
> >     >****
>
> >     >     Comment (by [email protected] <mailto:
> [email protected]> <mailto:[email protected] <mailto:
> [email protected]>>):****
>
> >     >
> >     >      This largely seems to be an attempt to reopen issues #23
> (Make crypto
> >     >      independent of binary encoding (base64)) and #26 (Allow for
> signature
> >     >      payload to not be base64 encoded), both of which were already
> closed as
> >     >      "wontfix".  In particular, both of the already-closed issues
> proposed
> >     >      using an unencoded payload value as the signature input,
> rather than the
> >     >      encoded value, which is the same as what is is being
> requested here.
> >     >
> >     >      I therefore believe that this should be closed as a duplicate
> of #26.
> >     >
> >     >     --
> >     >
> -------------------------+-------------------------------------------------
> >     >      Reporter:  [email protected]   |       Owner:
>  draft-ietf-jose-json-web-****
>
> >     >          Type:  defect       |  [email protected] <mailto:
> [email protected]> <mailto:[email protected] <mailto:
> [email protected]>>****
>
> >     >      Priority:  major        |      Status:  new
> >     >     Component:  json-web-    |   Milestone:
> >     >       signature              |     Version:
> >     >      Severity:  -            |  Resolution:
> >     >      Keywords:               |
> >     >
> -------------------------+-------------------------------------------------
> >     >
> >     >     Ticket URL: <
> http://tools.ietf.org/wg/jose/trac/ticket/59#comment:2>
> >     >     jose <http://tools.ietf.org/jose/>
> >     >
> >     >     _______________________________________________
> >     >     jose mailing list****
>
> >     >     [email protected] <mailto:[email protected]> <mailto:[email protected]<mailto:
> [email protected]>>****
>
> >     >     https://www.ietf.org/mailman/listinfo/jose
> >     >
> >     >
> >     >
> >     >
> >     > _______________________________________________
> >     > jose mailing list****
>
> >     > [email protected] <mailto:[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