Re: [IPsec] draft-ietf-ipsecme-implicit-iv-06 - key length is missing

"Tobias Guggemos" <guggemos@nm.ifi.lmu.de> Wed, 03 April 2019 12:58 UTC

Return-Path: <guggemos@nm.ifi.lmu.de>
X-Original-To: ipsec@ietfa.amsl.com
Delivered-To: ipsec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5109C1201C4 for <ipsec@ietfa.amsl.com>; Wed, 3 Apr 2019 05:58:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.198
X-Spam-Level:
X-Spam-Status: No, score=-4.198 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, 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 BrBC2ndS9Z76 for <ipsec@ietfa.amsl.com>; Wed, 3 Apr 2019 05:58:13 -0700 (PDT)
Received: from acheron.ifi.lmu.de (acheron.ifi.lmu.de [IPv6:2001:4ca0:4000:1:129:187:214:135]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 842521200ED for <ipsec@ietf.org>; Wed, 3 Apr 2019 05:58:12 -0700 (PDT)
Received: from DESKTOP58DFL8T (ObiWan2.nm.ifi.lmu.de [141.84.218.130]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: guggemos) by acheron.ifi.lmu.de (Postfix) with ESMTPSA id B82B735DD5F; Wed, 3 Apr 2019 14:58:09 +0200 (CEST)
From: Tobias Guggemos <guggemos@nm.ifi.lmu.de>
To: 'Valery Smyslov' <smyslov.ietf@gmail.com>, 'Daniel Migault' <daniel.migault@ericsson.com>, 'Paul Wouters' <paul@nohats.ca>
Cc: 'IPsecME WG' <ipsec@ietf.org>
References: <010501d4e961$ddae8a90$990b9fb0$@gmail.com> <alpine.LRH.2.21.1904021250150.14241@bofh.nohats.ca> <CADZyTknc_aDoNqrXE2vt1k6sA-rW+yx4uk2QpcS8kF3MMEq5pg@mail.gmail.com> <018301d4e9e3$31b831f0$952895d0$@gmail.com> <003701d4e9eb$a810d9d0$f8328d70$@nm.ifi.lmu.de> <01ce01d4e9ec$b4415080$1cc3f180$@gmail.com>
In-Reply-To: <01ce01d4e9ec$b4415080$1cc3f180$@gmail.com>
Date: Wed, 03 Apr 2019 14:58:07 +0200
MIME-Version: 1.0
Message-ID: <005a01d4ea1c$e25e9420$a71bbc60$@nm.ifi.lmu.de>
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AdTpX/sIuOL4i/bEQI6NWoh1phmLjAAA5niAAAPNWIAAF+jNgAAFr+1w///lhYD//35P4A==
Content-Language: de
Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="pgp-sha256"; boundary="=-=NDPWqhUpUERBYN=-="
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipsec/kTXbA0Loy6J-rY3GkLlMxetUgUg>
Subject: Re: [IPsec] draft-ietf-ipsecme-implicit-iv-06 - key length is missing
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion of IPsec protocols <ipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipsec>, <mailto:ipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipsec/>
List-Post: <mailto:ipsec@ietf.org>
List-Help: <mailto:ipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipsec>, <mailto:ipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 Apr 2019 12:58:18 -0000

Hey Valery,

>OK. And please add some words that all other aspects 

>of applying theses transforms must be taken from 

>the relevant RFCs (explicitly cite which).

 

Do you think the following addresses the comment? I’m not sure if section 5 is the right place for it…

 

 

4 <https://tools.ietf.org/html/draft-ietf-ipsecme-implicit-iv-06#section-4> .  Implicit IV


   [...]

   o  Extended Sequence Number: the 8 byte Extended Sequence Number of

      the Security Association.  The 4 byte low order bytes are carried

      in the ESP packet.

 

+  This document solely defines the IV generation of the algorithms defined

+  in [RFC4106], [RFC4309], [RFC7634] or any future algorithms using this 

+  mechanism. Any other aspect of applying those ciphers with the new 

+  Transform Types defined in this document MUST be taken from the 

+  documents defining the use of the algorithms in ESP.

    
 

5 <https://tools.ietf.org/html/draft-ietf-ipsecme-implicit-iv-06#section-5> .  Initiator Behavior


 

   An initiator supporting this feature SHOULD propose implicit IV

   algorithms in the Transform Type 1 (Encryption Algorithm)

   Substructure of the Proposal Substructure inside the SA Payload.  

+  The attributes of this Transform Type MUST be equal to the ones defined

+  by the originating algorithms, e.g. key length for AES-CCM [RFC 4106] and

+  AES-GCM [RFC 4309]. 

   To

   facilitate backward compatibility with non-supporting peers the

   initiator SHOULD also include those same algorithms without Implicit

   IV (IIV) as separate transforms.

 

Regards

Tobias

 

 

Von: Valery Smyslov <smyslov.ietf@gmail.com> 
Gesendet: Mittwoch, 3. April 2019 09:13
An: 'Tobias Guggemos' <guggemos@nm.ifi.lmu.de>; 'Daniel Migault' <daniel.migault@ericsson.com>; 'Paul Wouters' <paul@nohats.ca>
Cc: 'IPsecME WG' <ipsec@ietf.org>
Betreff: RE: [IPsec] draft-ietf-ipsecme-implicit-iv-06 - key length is missing

 

Hi Tobias,

 

From: Tobias Guggemos [mailto:guggemos@nm.ifi.lmu.de] 
Sent: Wednesday, April 03, 2019 10:06 AM
To: 'Valery Smyslov'; 'Daniel Migault'; 'Paul Wouters'
Cc: 'IPsecME WG'
Subject: AW: [IPsec] draft-ietf-ipsecme-implicit-iv-06 - key length is missing

 

Hey,

I’d prefer not having the key length explicitly defined in this document.

I think, this document should be able to define Implicit IV for any cipher being appropriate to use it.

Currently, that’s AES GCM, CCM and Chacha, but I’d like not to see another document defining the same for every other cipher which might come along.

 

If this is a formal requirement, can we add a text that the Implicit IV is negotiated the same way as the underlying cipher, with references to the currently defined ones?

e.g.

 

5.  Initiator Behavior

 

   An initiator supporting this feature SHOULD propose implicit IV

   algorithms in the Transform Type 1 (Encryption Algorithm)

   Substructure of the Proposal Substructure inside the SA Payload.  

+ The attributes of this Transform Type MUST be equal to the ones defined

+ by the originating algorithms, e.g. key length for AES-CCM [RFC 4106] and

+ AES-GCM [RFC 4309]

 

          OK. And please add some words that all other aspects 

          of applying theses transforms must be taken from 

          the relevant RFCs (explicitly cite which).

 

   To

   facilitate backward compatibility with non-supporting peers the

   initiator SHOULD also include those same algorithms without Implicit

   IV (IIV) as separate transforms.

 

>Or alternatively, as I already suggested, you can define default key length and make 

>Key Length attribute optional – it will allow to save a couple of bytes for most common cases.

I like this idea, but I don’t think this draft is the right place to do it. 

Maybe an new draft, defining default values for some ciphers, which explicitly allows to omit them in the proposal?

 

          Works for me.

 

          Regards,

          Valery.

 

Regards

Tobias

 

Von: IPsec <ipsec-bounces@ietf.org <mailto:ipsec-bounces@ietf.org> > Im Auftrag von Valery Smyslov
Gesendet: Mittwoch, 3. April 2019 08:05
An: 'Daniel Migault' <daniel.migault@ericsson.com <mailto:daniel.migault@ericsson.com> >; 'Paul Wouters' <paul@nohats.ca <mailto:paul@nohats.ca> >
Cc: 'IPsecME WG' <ipsec@ietf.org <mailto:ipsec@ietf.org> >
Betreff: Re: [IPsec] draft-ietf-ipsecme-implicit-iv-06 - key length is missing

 

Hi Daniel,

 

I understand that the draft is only focused on the IV, but since it defines new transforms,

it formally must address key length issue for AES. You can either copy-paste text from RFC 4106 (or 4309),

or add text referencing Section 8.4 of RFC 4106 for GCM and Section 7.4 of RFC 4309 for CCM.

Or alternatively, as I already suggested, you can define default key length and make 

Key Length attribute optional – it will allow to save a couple of bytes for most common cases.

 

In any cases, I prefer not to put this into Introduction, but instead add a new section,

as it is done in all other transform-defining RFCs.

 

Regards,

Valery.

 

 

From: Daniel Migault [mailto:daniel.migault@ericsson.com] 
Sent: Tuesday, April 02, 2019 9:41 PM
To: Paul Wouters
Cc: Valery Smyslov; IPsecME WG
Subject: Re: [IPsec] draft-ietf-ipsecme-implicit-iv-06 - key length is missing

 

Hi, 

 

Thanks Valery for your comment. My reading of the draft is that it only focuses on the generation of the nonce and leave the remaining to 4306 [1]. The use of a code points different from 4306 is to indicate the implicit IV - as opposed to a new transform. In this case, the negotiation of the key length is left to 4306.  I am inclined to think this is not necessary to discuss the key length attribute in this draft, but I would like to see what the other think. 

 

That said, if people strongly think that should be added, I would add the text from 4306 mentioned below[2].  

 

Yours, 

Daniel

 

[1] The text of the implicit draft:

 


2 <https://tools.ietf.org/html/draft-ietf-ipsecme-implicit-iv-06#section-2> .  Introduction

 
 
   Counter-based AES modes of operation such as AES-CTR ([RFC3686 <https://tools.ietf.org/html/rfc3686> ]),
   AES-CCM ([RFC4309 <https://tools.ietf.org/html/rfc4309> ]), and AES-GCM ([RFC4106 <https://tools.ietf.org/html/rfc4106> ]) require the
   specification of an nonce for each ESP packet.  The same applies for
   ChaCha20-Poly1305 ([RFC7634 <https://tools.ietf.org/html/rfc7634> ]).  Currently this nonce is sent in each
   ESP packet ([RFC4303 <https://tools.ietf.org/html/rfc4303> ]).  This practice is designated in this document
   as "explicit nonce".

[...]

   This document defines how to compute the nonce locally when it is
   implicit.  It also specifies how peers agree with the Internet Key
   Exchange version 2 (IKEv2 - [RFC7296 <https://tools.ietf.org/html/rfc7296> ]) on using an implicit IV versus
   an explicit IV.

 

[2] the text on key length of RFC 4306.

 


8.4 <https://tools.ietf.org/html/rfc4106#section-8.4> .  Key Length Attribute

 
 
   Because the AES supports three key lengths, the Key Length attribute
   MUST be specified in the IKE Phase 2 exchange [RFC2407 <https://tools.ietf.org/html/rfc2407> ].  The Key
   Length attribute MUST have a value of 128, 192, or 256.

 

 

 

On Tue, Apr 2, 2019 at 12:52 PM Paul Wouters <paul@nohats.ca <mailto:paul@nohats.ca> > wrote:

	On Tue, 2 Apr 2019, Valery Smyslov wrote:
	
	> and define a default key length for the case when it is absent (e.g. 256 bits).
	
	Do not do this. There are broken implementations and interop issues on
	this already by broken clients who don't send or omit to send KEY_LENGTH
	(old versions of us included).
	
	> It'll allow us to save few bytes by omitting attribute for most common cases.
	
	Not worth it.
	
	Paul
	
	_______________________________________________
	IPsec mailing list
	IPsec@ietf.org <mailto:IPsec@ietf.org> 
	https://www.ietf.org/mailman/listinfo/ipsec