Re: [jose] Gen-Art LC review: draft-ietf-jose-jws-signing-input-options-06

"Jim Schaad" <ietf@augustcellars.com> Mon, 14 December 2015 21:45 UTC

Return-Path: <ietf@augustcellars.com>
X-Original-To: jose@ietfa.amsl.com
Delivered-To: jose@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D8DF11B2FA1; Mon, 14 Dec 2015 13:45:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kkFrSwcICb41; Mon, 14 Dec 2015 13:45:01 -0800 (PST)
Received: from smtp4.pacifier.net (smtp4.pacifier.net [64.255.237.176]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5AB0A1A702F; Mon, 14 Dec 2015 13:45:01 -0800 (PST)
Received: from hebrews (c-24-21-96-37.hsd1.or.comcast.net [24.21.96.37]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: jimsch@nwlink.com) by smtp4.pacifier.net (Postfix) with ESMTPSA id 6C3E238EED; Mon, 14 Dec 2015 13:45:00 -0800 (PST)
From: Jim Schaad <ietf@augustcellars.com>
To: 'Mike Jones' <Michael.Jones@microsoft.com>, 'Robert Sparks' <rjsparks@nostrum.com>, 'General Area Review Team' <gen-art@ietf.org>, ietf@ietf.org, jose@ietf.org, draft-ietf-jose-jws-signing-input-options@ietf.org
References: <5661E491.9050007@nostrum.com> <BY2PR03MB442B4D7B1E70A9957D43590F5EC0@BY2PR03MB442.namprd03.prod.outlook.com> <566DDF01.1020806@nostrum.com> <BY2PR03MB442BCE6CA07CC6EA7A86684F5ED0@BY2PR03MB442.namprd03.prod.outlook.com>
In-Reply-To: <BY2PR03MB442BCE6CA07CC6EA7A86684F5ED0@BY2PR03MB442.namprd03.prod.outlook.com>
Date: Mon, 14 Dec 2015 13:42:16 -0800
Message-ID: <06f501d136b8$4d445020$e7ccf060$@augustcellars.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 15.0
Content-Language: en-us
Thread-Index: AQE/Y1LA5K9DnIsKDNFaOIEnwEthJgKIh1ubARJvJNIByvvV25/DeauA
Archived-At: <http://mailarchive.ietf.org/arch/msg/jose/rvOB67diu5gVEDRIKRJrOLIWsbg>
Subject: Re: [jose] Gen-Art LC review: draft-ietf-jose-jws-signing-input-options-06
X-BeenThere: jose@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Javascript Object Signing and Encryption <jose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jose>, <mailto:jose-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jose/>
List-Post: <mailto:jose@ietf.org>
List-Help: <mailto:jose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jose>, <mailto:jose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Dec 2015 21:45:04 -0000

Mike,

This is interesting from a couple of points.

Why would you have an application that uses "b64":false as a parameter.
This is longer and thus would appear to be undesirable from that
perspective.  It might imply that the application is using both true and
false for b64, but that is something that you have said is not recommended.

It would, of course, be perfectly acceptable to say that crit needs to be
present only if b64 is true.  This would address your worry about it failing
for the case of b64:false being included.

Jim

> -----Original Message-----
> From: jose [mailto:jose-bounces@ietf.org] On Behalf Of Mike Jones
> Sent: Sunday, December 13, 2015 8:05 PM
> To: Robert Sparks <rjsparks@nostrum.com>; General Area Review Team <gen-
> art@ietf.org>; ietf@ietf.org; jose@ietf.org;
draft-ietf-jose-jws-signing-input-
> options@ietf.org
> Subject: Re: [jose] Gen-Art LC review:
draft-ietf-jose-jws-signing-input-options-
> 06
> 
> Hi Robert,
> 
> You asked "_WHY_ is crit not sufficient? I think that's the thing that's
missing as
> motivation."
> 
> There are two goals we're discussing, which are related:
> (a) Having an application that uses "b64":false work.
> (b) Having an application that receives a JWT with "b64":false not
misinterpret
> the payload content.
> 
> Including "crit":["b64"] would be sufficient to achieve (b), as it would
cause the
> JWS to be rejected by implementations not supporting "b64".  But it does
not
> achieve (a), since the JWS would be rejected.
> 
> In contrast, using an implementation that understands "b64" achieves both
(a)
> and (b) without needing to include "crit".  That's why it's not required.
> 
> Does that make sense now?
> 
> 				Best wishes,
> 				-- Mike
> 
> -----Original Message-----
> From: Robert Sparks [mailto:rjsparks@nostrum.com]
> Sent: Sunday, December 13, 2015 1:11 PM
> To: Mike Jones <Michael.Jones@microsoft.com>; General Area Review Team
> <gen-art@ietf.org>; ietf@ietf.org; jose@ietf.org;
draft-ietf-jose-jws-signing-
> input-options@ietf.org
> Subject: Re: Gen-Art LC review:
draft-ietf-jose-jws-signing-input-options-06
> 
> Cutting away a bit to focus on the question:
> 
> On 12/12/15 8:32 PM, Mike Jones wrote:
> > Hi Robert.  Thanks for the useful review.  Replies are inline below...
> >
> >> -----Original Message-----
> <snip/>
> >>
> >>
> >> I would have been much more comfortable with a consensus to require
'crit'.
> >> (Count me in the rough if this proceeds with crit being optional).
> >>
> >> I assume there is a strong reason to allow for option 1. Please add
> >> the motivation for it to the draft, and consider adding a SHOULD use
'crit'
> >> requirement if option 1 remains.
> > It's a reasonable request to have the draft say why "crit" isn't
required.  My
> working draft adds the following new paragraph at the end of the security
> considerations section to do this.  Unless I hear objections, I'll plan on
publishing
> an updated draft with the paragraph shortly.
> >
> > "Note that methods 2 and 3 are sufficient to cause JWSs using this
extension
> to be rejected by implementations not supporting this extension but they
are not
> sufficient to enable JWSs using this extension to be successfully used by
> applications.
> The conclusion you draw here is not at all obvious.
> _WHY_ is crit not sufficient? I think that's the thing that's missing as
motivation.
> 
> >   Thus, method 1 - requiring support for this extension - is the
preferred
> approach and the only means for this extension to be practically useful to
> applications. Method 2 - requiring the use of <spanx
style="verb">crit</spanx> -
> while theoretically useful to ensure that confusion between encoded and
> unencoded payloads cannot occur, is not particularly useful in practice,
since
> method 1 is still required for the extension to be usable. When method 1
is
> employed, method 2 doesn't add any value and since it increases the size
of the
> JWS, its use is not required by this specification."
> >
> >> Nits/editorial comments:
> >>
> >> In the security considerations, the last sentence of the first
> >> paragraph needs to be simplified. I suggest replacing it with:
> >>
> >> "It then becomes the responsibility of the application to ensure that
> >> payloads only contain characters that will not cause parsing problems
> >> for the serialization used, as described in Section 5. The
> >> application also incurs the responsibility to ensure that the payload
> >> will not be modified during retransmission.
> > I have simplified this in the manner that you suggested.
> >
> > 				Thanks again,
> > 				-- Mike
> 
> _______________________________________________
> jose mailing list
> jose@ietf.org
> https://www.ietf.org/mailman/listinfo/jose