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

Russ Housley <housley@vigilsec.com> Thu, 23 March 2017 16:49 UTC

Return-Path: <housley@vigilsec.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 EF1B71298B7 for <curdle@ietfa.amsl.com>; Thu, 23 Mar 2017 09:49:44 -0700 (PDT)
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] autolearn=ham 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 cQvdoiR7aWQl for <curdle@ietfa.amsl.com>; Thu, 23 Mar 2017 09:49:43 -0700 (PDT)
Received: from mail.smeinc.net (mail.smeinc.net [209.135.209.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9D170129A14 for <curdle@ietf.org>; Thu, 23 Mar 2017 09:49:43 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id ED3AD3004AE for <curdle@ietf.org>; Thu, 23 Mar 2017 12:49:42 -0400 (EDT)
X-Virus-Scanned: amavisd-new at mail.smeinc.net
Received: from mail.smeinc.net ([127.0.0.1]) by localhost (mail.smeinc.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id kb6M3f6Ccf8z for <curdle@ietf.org>; Thu, 23 Mar 2017 12:49:41 -0400 (EDT)
Received: from a860b60074bd.home (pool-108-45-101-150.washdc.fios.verizon.net [108.45.101.150]) by mail.smeinc.net (Postfix) with ESMTPSA id 5E585300483; Thu, 23 Mar 2017 12:49:41 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\))
From: Russ Housley <housley@vigilsec.com>
In-Reply-To: <20170321233151.6B3F8ADF28@smtp.postman.i2p>
Date: Thu, 23 Mar 2017 12:49:41 -0400
Cc: "curdle@ietf.org" <curdle@ietf.org>
Content-Transfer-Encoding: 7bit
Message-Id: <22B37E49-154A-4C39-B4F8-4D292C8A9615@vigilsec.com>
References: <7d6cfe29-8d4c-436e-fe8a-0cbee915b29e@mail.i2p> <20170311061838.879BAADF28@smtp.postman.i2p> <2DD56D786E600F45AC6BDE7DA4E8A8C118BA5C93@eusaamb107.ericsson.se> <20170314174216.56419ADF21@smtp.postman.i2p> <20170321233151.6B3F8ADF28@smtp.postman.i2p>
To: str4d <str4d@i2pmail.org>
X-Mailer: Apple Mail (2.3259)
Archived-At: <https://mailarchive.ietf.org/arch/msg/curdle/ohNS615wQ8sacotcTZJDRKp9lh8>
Subject: Re: [Curdle] AlgorithmIdentifier parameters in draft-ietf-curdle-pkix-03
X-BeenThere: curdle@ietf.org
X-Mailman-Version: 2.1.22
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: Thu, 23 Mar 2017 16:49:45 -0000

> How would the following language (or something to this effect) work as a
> compromise?
> 
>   In this document we defined six new OIDs for identifying the
>   different curve/algorithm pairs.  The curves being Curve25519 and
>   Curve448.  The algorithms being ECDH, EdDSA in pure mode and EdDSA in
>   pre-hash mode.  For all of the OIDs, the parameters MUST be absent.
>   Regardless of the defect in the original 1997 syntax, implementations
>   MUST NOT write out a parameters value of NULL, and MUST NOT accept a
>   parameters value of NULL, EXCEPT where doing so is unavoidable due to
>   legacy PKCS8 interpretation within the implementation language's
>   standard libraries (such as Java's Sun security provider before
>   version XX).


EXCEPT is not defined in RFC 2119.

How is your proposed language any different in reality than:

  This document specified object identifiers for using Curve25519 and
  Curve448 for key agreement and digital signature.  Since none of these
  algorithm identifiers need parameters, the parameters MUST be absent.
  As a result of the defect in the AlgorithmIdentifier syntax published
  in 1997, some implementations produce a parameters value of NULL, even
  when the parameters ought to be absent.  Conforming implementations
  MUST NOT produce a parameters value of NULL, but conforming
  implementations MAY accept a parameters value of NULL for
  interoperability.

Russ