Re: [Curdle] AlgorithmIdentifier parameters in draft-ietf-curdle-pkix-03

Daniel Migault <daniel.migault@ericsson.com> Tue, 14 March 2017 17:11 UTC

Return-Path: <daniel.migault@ericsson.com>
X-Original-To: curdle@ietfa.amsl.com
Delivered-To: curdle@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5CFFC129505 for <curdle@ietfa.amsl.com>; Tue, 14 Mar 2017 10:11:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
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 v1H1Geu4Eeq6 for <curdle@ietfa.amsl.com>; Tue, 14 Mar 2017 10:11:32 -0700 (PDT)
Received: from usplmg21.ericsson.net (usplmg21.ericsson.net [198.24.6.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B287513298E for <curdle@ietf.org>; Tue, 14 Mar 2017 10:04:09 -0700 (PDT)
X-AuditID: c6180641-c3fff70000000a06-22-58c7dc30cba9
Received: from EUSAAHC002.ericsson.se (Unknown_Domain [147.117.188.78]) by (Symantec Mail Security) with SMTP id 4A.5C.02566.03CD7C85; Tue, 14 Mar 2017 13:04:02 +0100 (CET)
Received: from EUSAAMB107.ericsson.se ([147.117.188.124]) by EUSAAHC002.ericsson.se ([147.117.188.78]) with mapi id 14.03.0319.002; Tue, 14 Mar 2017 13:04:06 -0400
From: Daniel Migault <daniel.migault@ericsson.com>
To: str4d <str4d@i2pmail.org>, "curdle@ietf.org" <curdle@ietf.org>, Russ Housley <housley@vigilsec.com>, Daniel Kahn Gillmor <dkg@fifthhorseman.net>, Peter Gutmann <pgut001@cs.auckland.ac.nz>
Thread-Topic: [Curdle] AlgorithmIdentifier parameters in draft-ietf-curdle-pkix-03
Thread-Index: AQHSmjoNZQEwZli+4U29roY+QitXtKGUhdiA
Date: Tue, 14 Mar 2017 17:04:05 +0000
Message-ID: <2DD56D786E600F45AC6BDE7DA4E8A8C118BA5C93@eusaamb107.ericsson.se>
References: <7d6cfe29-8d4c-436e-fe8a-0cbee915b29e@mail.i2p> <20170311061838.879BAADF28@smtp.postman.i2p>
In-Reply-To: <20170311061838.879BAADF28@smtp.postman.i2p>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [147.117.188.12]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrLLMWRmVeSWpSXmKPExsUyuXSPn67RneMRBi+n6FtsXTiL2aK1+zOT xasXN9ktXr57zmrRcOkGmwOrx8XGA0weZ7vbWT3OfWlj9Viy5CeTx6o7X1gDWKO4bFJSczLL Uov07RK4MqYf/sJa8E6u4u7i+AbGDrkuRk4OCQETiU97FzN1MXJxCAmsZ5R4eegeK4SznFFi /cf7rCBVbAJGEm2H+tlBEiICRxklnsx5zNjFyMEhLBAscf2QH0iNiECIxLI3S9ggbCOJCyuX gfWyCKhK3Hu3kh2knFfAV+LrRBOQsJBAlsTL0+fBwpwClhJ9W+RBwowCYhLfT61hArGZBcQl bj2ZzwRxp4DEkj3nmSFsUYmXj/+xQthKEnNeX2MGGcMsoCmxfpc+RKuixJTuh+wgNq+AoMTJ mU9YJjCKzEIydRZCxywkHbOQdCxgZFnFyFFaXJCTm25kuIkRGCnHJNgcdzDu7fU8xCjAwajE w2tw9niEEGtiWXFl7iFGCQ5mJRFefqkTEUK8KYmVValF+fFFpTmpxYcYpTlYlMR5r4fcDxcS SE8sSc1OTS1ILYLJMnFwSjUwZsfVf6us7St6MY+fb9eVd59uLvv4e0VBsf+MRsnj0TvuB0VM m1JnkznFTNNgfYtUQkhx4sbk5umdf6YVzVywbO66LL5dkSsPnl68OVRhU2qbkJtszDSzA97W vUVlIs21/z/MYvHvNmtmC/KYnRbY2848n3NC/OalX8Qvy1tba3LJPBOXLbqtxFKckWioxVxU nAgASgLP5pACAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/curdle/5EsVbfbSJrKUOYXlbtMM25vnefU>
Subject: Re: [Curdle] AlgorithmIdentifier parameters in draft-ietf-curdle-pkix-03
X-BeenThere: curdle@ietf.org
X-Mailman-Version: 2.1.21
Precedence: list
List-Id: "List for discussion of potential new security area wg." <curdle.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/curdle>, <mailto:curdle-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/curdle/>
List-Post: <mailto:curdle@ietf.org>
List-Help: <mailto:curdle-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/curdle>, <mailto:curdle-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Mar 2017 17:11:33 -0000

Hi, 

We need to sort this out. Anyone from Oracle can provide feedbacks ? 

Please let us know if there is any consensus on relaxing the MUST NOT accept parameters even NULL ?

Yours, 
Daniel
 

-----Original Message-----
From: Curdle [mailto:curdle-bounces@ietf.org] On Behalf Of str4d
Sent: Saturday, March 11, 2017 1:19 AM
To: curdle@ietf.org; Russ Housley <housley@vigilsec.com>; Daniel Kahn Gillmor <dkg@fifthhorseman.net>; Peter Gutmann <pgut001@cs.auckland.ac.nz>
Subject: Re: [Curdle] AlgorithmIdentifier parameters in draft-ietf-curdle-pkix-03

On 02/19/2017 02:14 AM, str4d wrote:
> Hi all,
> 
> In draft-ietf-curdle-pkix-03 there is very clear language around the 
> expected behaviour of parser implementations regarding 
> AlgorithmIdentifier parameters:
> 

[snip]

> The problem is that the Sun AlgorithmId class always adds a NULL when 
> encoding if there are no parameters, for compatibility with Solaris [4].
> So AFAICT it is presently impossible for me to write an implementation 
> that simultaneously:
> 
> - follows draft-ietf-curdle-pkix-03 correctly
> - can retrieve EdDSA keys from a default Java keystore
> 
> Is anyone in the WG aware of a workaround for this, or have links to 
> past WG discussion on this point? I would think that Oracle should at 
> least be made aware of this issue, but even if they changes this in 
> Java 10, that doesn't help my implementation run on earlier Java versions.
> The only alternatives I see at this point are:
> 
> - Remove the NULL restriction from draft-ietf-curdle-pkix-03
> - Require that my library not be used with incompatible keystores (but
> a) I have yet to find a way to enforce this via the JCA, other than 
> just refusing to implement support for PKCS8EncodedKeySpec, which is 
> not particularly usable, and b) I don't yet know of a keystore that 
> *will* implement this properly)

I have found the correspondence in the Curdle WG ML that added the NULL restriction; I have copied in the relevant members to hopefully jog this conversation. If there is no further discussion, then I will have no alternative but to be non-compliant with the eventual RFC, as I have been unable to find a way for my library to work with the default Java keystore :(

Peter Gutmann <pgut001@cs.auckland.ac.nz> wrote:
> Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes:
> >   Implementaions MUST NOT accept any of these OIDs with the
> >   parameters field present, even if parameters has a value
> >   of NULL.
> >
> >If we can convince the early implementations to hard-fail on that, we 
> >can discourage anyone from generating those values in newer 
> >implementations.
>
> +1.  For once there's no argument for supporting existing broken
> implementations, we can get it right from the start

I apologise for providing one :/

Cheers(-ish),
Jack