Re: [jose] Stephen Farrell's Discuss on draft-ietf-jose-json-web-algorithms-33: (with DISCUSS and COMMENT)

Mike Jones <Michael.Jones@microsoft.com> Mon, 06 October 2014 07:54 UTC

Return-Path: <Michael.Jones@microsoft.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 A87BB1A1B69; Mon, 6 Oct 2014 00:54:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] 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 JUCvPP2OEn0V; Mon, 6 Oct 2014 00:54:42 -0700 (PDT)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0730.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::1:730]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 310C11A1B45; Mon, 6 Oct 2014 00:54:42 -0700 (PDT)
Received: from BY1PR0301MB1208.namprd03.prod.outlook.com (25.161.203.16) by BY1PR0301MB1253.namprd03.prod.outlook.com (25.161.203.25) with Microsoft SMTP Server (TLS) id 15.0.1044.10; Mon, 6 Oct 2014 07:54:19 +0000
Received: from BY2PR03CA055.namprd03.prod.outlook.com (10.141.249.28) by BY1PR0301MB1208.namprd03.prod.outlook.com (25.161.203.16) with Microsoft SMTP Server (TLS) id 15.0.1044.10; Mon, 6 Oct 2014 07:54:18 +0000
Received: from BY2FFO11FD005.protection.gbl (2a01:111:f400:7c0c::172) by BY2PR03CA055.outlook.office365.com (2a01:111:e400:2c5d::28) with Microsoft SMTP Server (TLS) id 15.0.1044.10 via Frontend Transport; Mon, 6 Oct 2014 07:54:18 +0000
Received: from mail.microsoft.com (131.107.125.37) by BY2FFO11FD005.mail.protection.outlook.com (10.1.14.126) with Microsoft SMTP Server (TLS) id 15.0.1039.16 via Frontend Transport; Mon, 6 Oct 2014 07:54:17 +0000
Received: from TK5EX14MBXC286.redmond.corp.microsoft.com ([169.254.1.93]) by TK5EX14HUBC101.redmond.corp.microsoft.com ([157.54.7.153]) with mapi id 14.03.0210.003; Mon, 6 Oct 2014 07:54:09 +0000
From: Mike Jones <Michael.Jones@microsoft.com>
To: Stephen Farrell <stephen.farrell@cs.tcd.ie>, The IESG <iesg@ietf.org>
Thread-Topic: Stephen Farrell's Discuss on draft-ietf-jose-json-web-algorithms-33: (with DISCUSS and COMMENT)
Thread-Index: AQHP3izUiK5RP6+tlEapZzxzQIiERJwiLM9g
Date: Mon, 6 Oct 2014 07:54:09 +0000
Message-ID: <4E1F6AAD24975D4BA5B16804296739439BAF0C06@TK5EX14MBXC286.redmond.corp.microsoft.com>
References: <20141002103700.19412.21857.idtracker@ietfa.amsl.com>
In-Reply-To: <20141002103700.19412.21857.idtracker@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [157.54.51.33]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-EOPAttributedMessage: 0
X-Forefront-Antispam-Report: CIP:131.107.125.37; CTRY:US; IPV:CAL; IPV:NLI; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(438002)(377454003)(43784003)(52044002)(189002)(199003)(13464003)(51704005)(4396001)(99396003)(85306004)(15975445006)(230783001)(106116001)(23676002)(77096002)(47776003)(76482002)(50466002)(120916001)(95666004)(15202345003)(55846006)(19580405001)(80022003)(46102003)(10300001)(19580395003)(64706001)(20776003)(33656002)(31966008)(86362001)(107046002)(6806004)(21056001)(26826002)(92566001)(87936001)(76176999)(86612001)(44976005)(54356999)(66066001)(84676001)(68736004)(50986999)(69596002)(85852003)(104016003)(97736003)(106466001)(85806002)(2656002)(92726001)(81156004); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR0301MB1208; H:mail.microsoft.com; FPR:; MLV:ovrnspm; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en;
X-Microsoft-Antispam: UriScan:;UriScan:;
X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB1208;
X-O365ENT-EOP-Header: Message processed by - O365_ENT: Allow from ranges (Engineering ONLY)
X-Forefront-PRVS: 03569407CC
Received-SPF: Pass (protection.outlook.com: domain of microsoft.com designates 131.107.125.37 as permitted sender) receiver=protection.outlook.com; client-ip=131.107.125.37; helo=mail.microsoft.com;
Authentication-Results: spf=pass (sender IP is 131.107.125.37) smtp.mailfrom=Michael.Jones@microsoft.com;
X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB1253;
X-OriginatorOrg: microsoft.onmicrosoft.com
Archived-At: http://mailarchive.ietf.org/arch/msg/jose/yBuZ19h4DL4pqz7OyB9EYB0Vvyk
Cc: "jose-chairs@tools.ietf.org" <jose-chairs@tools.ietf.org>, "jose@ietf.org" <jose@ietf.org>, "draft-ietf-jose-json-web-algorithms@tools.ietf.org" <draft-ietf-jose-json-web-algorithms@tools.ietf.org>
Subject: Re: [jose] Stephen Farrell's Discuss on draft-ietf-jose-json-web-algorithms-33: (with DISCUSS and COMMENT)
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: <http://www.ietf.org/mail-archive/web/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, 06 Oct 2014 07:54:45 -0000

Thanks for your review, Stephen.  I've included the working group on the thread so they're aware of your comments.

> -----Original Message-----
> From: Stephen Farrell [mailto:stephen.farrell@cs.tcd.ie]
> Sent: Thursday, October 02, 2014 3:37 AM
> To: The IESG
> Cc: jose-chairs@tools.ietf.org; draft-ietf-jose-json-web-
> algorithms@tools.ietf.org
> Subject: Stephen Farrell's Discuss on draft-ietf-jose-json-web-algorithms-33:
> (with DISCUSS and COMMENT)
> 
> Stephen Farrell has entered the following ballot position for
> draft-ietf-jose-json-web-algorithms-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-algorithms/
> 
> 
> 
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
> 
> 
> Sorry to pile on, but I guess such a detailed and broad piece of work is likely to
> attract many comments and discusses.
> Mine should be cleared up easily enough I hope.
> 
> (1) 6.3.2.7: Hmm, where was that discussed on the list?  I think it'd be better if >2
> prime RSA was considered a separate algorithm. (I vaguely recall some IPR with
> such moduli for some uses too, but not sure.) I'd recommend dropping the
> whole "oth" parameter entirely.  (I'll clear this discuss once its clear that this was
> discussed by the WG, I just want to check as I don't recall it.)

This was discussed in the thread "private keys, leading zeros" initiated by James Manger on August 15, 2012.  (Sorry, I can't get you the archive URL reference at present because I'm writing this offline on an airplane over the Pacific.)  It was also discussed as issue #153.  This feature was directly modelled on RFC 3447.  Applications are free to profile the JWK spec to prohibit the use of such keys, so I don't see a compelling case to remove it.

> (2) Instructions to DEs: would registering DES be considered ok or not? What
> about myJustInventedPrivateAlg?  What about a request for 10 ccTLD specific
> Algs? I think these need a bit more clarity wrt cryptographic "goodness." As a nit,
> "makes sense" isn't going to help too much, we've seen that reasonable folks
> can differ on that here. Again I don't recall that discussion on the list, but please
> point me at it if it happened.

Registering DES with the Implementation Requirements value "Prohibited" would be permitted.  The instructions on the "JOSE Implementation Requirements" registry field include:
    Any identifiers registered for non-authenticated encryption algorithms
    or other algorithms that are otherwise unsuitable for direct use
    as JWS or JWE algorithms must be registered as "Prohibited".

Note that this capability was added at the request of the W3C WebCrypto WG.  (WebCrypto is choosing to support some algorithms that JOSE explicitly chose not to, including some non-authenticated encryption algorithms.)  "Deprecated" is also a value available to registrants and the DEs.

If you want to supply additional proposed language to the DEs, that would be welcomed.

> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> 
> - Unlike others, I do think implementation requirements are needed. The WG did
> specifically discuss this (a lot) and landed where it did. I don't think the IESG
> should second guess that without specific evidence that it'd cause damage.
> (Richard's points were made previously I believe.)

I concur with your synopsis of the discussion that occurred in the working group and the conclusions reached.

> - 3.3 (and elsewhere) says 2048 bits or larger. I guess that
> 2049 bit keys might not work for many implementations and are not a great idea
> (as Bleichenbacher works quicker against such lengths if I recall correctly). Could
> be worth a note somewhere even though I guess most folks know what's what.

Rather than us inventing new text, is there an RFC or other doc we can reference that provides appropriate guidance on acceptable RSA key lengths?  I know that the 2048 came from NIST key usage requirements that I believe ekr pointed us to.

> - 4.1 (and elsewhere): adding table captions with numbers would be good.

I don't feel strongly about this, but each table is in its own section, and so can be referenced by section number.  I'd experimented with adding captions at one point and it just seemed to take up additional vertical space without making the spec clearer.  But I could be convinced otherwise.  Why do you want captions?

> Col 1 of the final 3 rows are unfortunate.

I don't know how to teach xml2rfc to not do what it did to the final 3 rows, but I can make a note to have the RFC editor manually address this if the tool can't.

> - Surprised there was no need for integer DH. Can be added later I guess.

No one has previously asked about it.  But there registry will be there for it to be added, if wanted/needed.

> - 6.2.1: Given that the point compression IPR is now expired
> (right?) did the WG consider now allowing that? I wondered how much work it
> would be to add now, vs to add later. If "later" would cause a lot of duplication,
> then maybe "now"
> would actually be worth it. ("Later" might also be fine considering the current
> work in CFRG on additional curves.)

I recall that in the discussions, people were happier having a single representation than multiple representations.  Given the curve discussions, that's also another reason I'd opt for "later".

> - 6.3.1.1: allowing the extra 0x00 would be a better choice IMO, but whatever.
> Those were historically added so that buggy decoders wouldn't wrongly think
> numbers negative, which could still happen maybe.

Yeah, I realize why the Java library does this.  This was another case where we decided that having a single representation would create less interop problems down the road than allowing multiple representations.

> - 7.1, 2nd para: why not RSA2048 earlier then?

I don’t actually recall.  I think the two choices reasonably available to us at this point are to either keep or delete this paragraph.  Which would you prefer?

> - 7.1.1: It might help the DE if the template here required references to well
> know academic crypto conference publications that consider cryptanalysis of
> the alg in question, e.g. from crypto, or eurocrypt etc. One good rule of thumb
> here is that if there are no such references then you really should not register
> the thing.

Good idea.

> - 8.3: Is 65537 considered a "low" e?  "Low" is too vague there.

No, it's not "low", but I can't back that up with a reference off the top of my head.  Working group, what are the relevant documents here that we could reference for this information?

> - 8.5: I'd prefer there was no none. The WG did discuss it though, so I'll hold my
> nose.

Understood.

> - 8.6: suggesting a CA as a cure for oversized keys is odd, I think those are
> separable things and e.g. TOFU might be just as or more effective then X.509
> here.

Sean Turner suggested adding that text on July 6, 2012.  Proposed edits would be welcomed.

> - Appendix A:  Thanks for that! It'll save folks a lot of time. Might be better
> presented as a set of records and not as a fixed width table.

You're welcome!

I'll plan to work with the RFC Editor to figure out how to best present it and how to achieve that.  I agree that the presentation is screwed up right now.

> - I think most of the secdir stuff has been handled (and thanks for that) so I'm
> fine that the authors and AD are on top of that.

Thanks again for your review and your participation in the working group.

				-- Mike