Re: [lamps] Problems with the current ALGORITHM information object class

Russ Housley <housley@vigilsec.com> Mon, 11 May 2020 16:35 UTC

Return-Path: <housley@vigilsec.com>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F3F883A0A6A for <spasm@ietfa.amsl.com>; Mon, 11 May 2020 09:35:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] 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 WRYfwBBRQtC7 for <spasm@ietfa.amsl.com>; Mon, 11 May 2020 09:35:08 -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 06EEB3A0A51 for <spasm@ietf.org>; Mon, 11 May 2020 09:35:03 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id A403D300B43 for <spasm@ietf.org>; Mon, 11 May 2020 12:34:58 -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 3dchtRWuWwxj for <spasm@ietf.org>; Mon, 11 May 2020 12:34:56 -0400 (EDT)
Received: from a860b60074bd.fios-router.home (pool-72-66-113-56.washdc.fios.verizon.net [72.66.113.56]) by mail.smeinc.net (Postfix) with ESMTPSA id 6CAB53004AF; Mon, 11 May 2020 12:34:56 -0400 (EDT)
From: Russ Housley <housley@vigilsec.com>
Message-Id: <97737DBD-54DB-4336-A387-E22C59E78B11@vigilsec.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_FE1B4487-24D4-45A2-8B3B-58997D4B7392"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.14\))
Date: Mon, 11 May 2020 12:34:56 -0400
In-Reply-To: <000001d62762$8385a360$8a90ea20$@x500.eu>
Cc: LAMPS <spasm@ietf.org>
To: Erik Andersen <era@x500.eu>
References: <000001d62762$8385a360$8a90ea20$@x500.eu>
X-Mailer: Apple Mail (2.3445.104.14)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/pkzWOod2FysNmVRKaAmAT7t2prQ>
Subject: Re: [lamps] Problems with the current ALGORITHM information object class
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 May 2020 16:35:22 -0000

If both parameter types are present, then interoperability will be gravely impacted.

Russ


> On May 11, 2020, at 3:05 AM, Erik Andersen <era@x500.eu> wrote:
> 
> In our work with IEC 62351-4 and X.510 we have identified a limitation with the current ALGORITHM information object class. The current definition is 
>  
> ALGORITHM ::= CLASS {
>   &Type         OPTIONAL,
>   &id           OBJECT IDENTIFIER UNIQUE }
> WITH SYNTAX {
>   [PARMS        &Type]
>   IDENTIFIED BY &id }
>  
> The PARM field is used for defining parameters associated with the algorithms. However, the parameters are of two types:
>  
> 1.       Parameters that provide additional information about the procedure to be applied according to the algorithm. An example is ecPublicKey, where the parameter value is the elliptic curve to be used. 
> 2.       Parameters that specified the syntax of the value to be used when the algorithm is deployed. An example is the AES algorithms that require a value of the parameter transferred together with the encrypted data.
>  
> This causes problems when negotiating the use of algorithms. When specifying  ecPublicKey algorithms in such negotiation, the parameter value is relevant. When specifying AES-CBC in such a negotiation, the random value of some InitializationVector is not relevant. This make algorithm negotiation cumbersome.
>  
> We have therefore suggested to extend the ALGORITHM information object class in the following way.
>  
> ALGORITHM ::= CLASS {
>   &Type         OPTIONAL,
>   &DynParms     OPTIONAL,
>   &id           OBJECT IDENTIFIER UNIQUE }
> WITH SYNTAX {
>   [PARMS        &Type]
>   [DYN-PARMS    &DynParms]
>   IDENTIFIED BY &id }
>  
> A suggested update to the ALGORITHM information object class is attached. It also includes three derivative parameterized data types. By using those data types it has been possible to define the wrapper protocol without “hard coding” specific algorithm details, e.g., we have avoided a specific component for an initialization vector. This has allowed different cryptographic algorithms to be used for different communication instances make life a little more difficult for adversaries.  
>  
> Certain algorithms have to be redefined, which could cause some negative reactions. As an example the aes256-CBC algorithm must be changed from
>  
> aes256-CBC ALGORITHM ::= { 
>   PARMS         AES-InitializationVector
>   IDENTIFIED BY { aes 42 } }
>  
> To 
>  
> aes256-CBC ALGORITHM ::= { 
>   DYN-PARMS       AES-InitializationVector
>   IDENTIFIED BY { <some OID> } }
>  
> However, most algorithms do not need to be modified.
>  
> The current version of X.510 may be found at https://www.dropbox.com/s/i7mizfvoy9uo21x/x510.docx?dl=0 <https://www.dropbox.com/s/i7mizfvoy9uo21x/x510.docx?dl=0>.
>  
> Any comments?
>  
> Best regards,
>  
> Erik
>  
>  
>  
>  
>  
>  
> <algorithms.docx>_______________________________________________
> Spasm mailing list
> Spasm@ietf.org <mailto:Spasm@ietf.org>
> https://www.ietf.org/mailman/listinfo/spasm <https://www.ietf.org/mailman/listinfo/spasm>