Re: [IPsec] Update and WGLC request [Re: I-D Action: draft-ietf-ipsecme-iptfs-02.txt]

Christian Hopps <chopps@chopps.org> Wed, 14 October 2020 10:20 UTC

Return-Path: <chopps@chopps.org>
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 4F7E03A1461 for <ipsec@ietfa.amsl.com>; Wed, 14 Oct 2020 03:20:41 -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 CpIEYZBMslB4 for <ipsec@ietfa.amsl.com>; Wed, 14 Oct 2020 03:20:39 -0700 (PDT)
Received: from smtp.chopps.org (smtp.chopps.org [54.88.81.56]) by ietfa.amsl.com (Postfix) with ESMTP id 462A63A145D for <ipsec@ietf.org>; Wed, 14 Oct 2020 03:20:39 -0700 (PDT)
Received: from stubbs.int.chopps.org (047-050-069-038.biz.spectrum.com [47.50.69.38]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by smtp.chopps.org (Postfix) with ESMTPSA id 7C98061674; Wed, 14 Oct 2020 10:20:38 +0000 (UTC)
From: Christian Hopps <chopps@chopps.org>
Message-Id: <DFDCAC27-5099-4D5A-AEDA-C81A8C167002@chopps.org>
Content-Type: multipart/signed; boundary="Apple-Mail=_D2AE64C0-987D-43CB-9AC6-34004CBB053D"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\))
Date: Wed, 14 Oct 2020 06:20:37 -0400
In-Reply-To: <24454.51962.50262.36523@fireball.acr.fi>
Cc: Christian Hopps <chopps@chopps.org>, Valery Smyslov <smyslov.ietf@gmail.com>, Lou Berger <lberger@labn.net>, ipsec@ietf.org
To: Tero Kivinen <kivinen@iki.fi>
References: <160148315262.3746.2680691950315422865@ietfa.amsl.com> <27659521-C1B0-4F0E-A6CC-C6F4B8938FFE@chopps.org> <1ab401d6a131$ae279f30$0a76dd90$@gmail.com> <ab981da9-9735-b6a9-851d-736330748ce6@labn.net> <1b0b01d6a163$15ddcce0$419966a0$@gmail.com> <47f569bf-de43-3aa4-ad4f-5149b82b35f6@labn.net> <1b2401d6a16a$12110940$36331bc0$@gmail.com> <86bb0855-927d-defb-374c-d6f6be13eb50@labn.net> <24453.58544.114398.668064@fireball.acr.fi> <0b080379-48c0-b4ac-c213-f8cdfefc514a@labn.net> <24454.5506.450515.501200@fireball.acr.fi> <001701d6a1f7$76981240$63c836c0$@gmail.com> <24454.51962.50262.36523@fireball.acr.fi>
X-Mailer: Apple Mail (2.3608.120.23.2.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipsec/_ThTg9yqcvxJ2p2SRIHvulQVMYQ>
Subject: Re: [IPsec] Update and WGLC request [Re: I-D Action: draft-ietf-ipsecme-iptfs-02.txt]
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, 14 Oct 2020 10:20:41 -0000

I really don't understand the extreme back pressure against using ESP the way it was designed. The next-header field is supposed to identify the payload, it does so for every other payload ESP carries. Any other solution to somehow infer the payload type some other way *has* to be seen as a hack. Why do we need a hack?

The fact that using a payload identifier the way ESP intended also allows us to do things like handle receipt of said payload without extra configuration, or use the payload outside of ESP are just benefits from good design, they aren't indicative of doing something incorrectly, the opposite in fact. They also shouldn't even be needed to justify using ESP the way it was designed to be used.

This is all very strange to me, this want to not use the next-header field to, you know, identify the next header.

Thanks,
Chris.


> On Oct 14, 2020, at 5:55 AM, Tero Kivinen <kivinen@iki.fi> wrote:
> 
> Valery Smyslov writes:
>> Hi Tero,
>> 
>>>> I'm not advocating ike vs ike-less, just trying to have a comprehensive
>>>> solution.  One example ikeless usecase is captured by the YANG model in
>>>> last call:
>>>> https://tools.ietf.org/html/draft-ietf-i2nsf-sdn-ipsec-flow-protection-09
>>> 
>>> Which will require similar behavior from the IPsec part than IKE,
>>> meaning you can't really change any parameters on the fly for existing
>>> SAs. You can't change for example the ciphers of the existing SA, and
>>> expect that to work.
>> 
>> In fact, unlike changing e.g. cipher on the fly, that is not
>> possible, because the cipher used is not present in the ESP packet,
>> so that you cannot distinguish two ESP packets with different
>> ciphers, you can distinguish tunnel packets from IPTFS packets on
>> receiving side (by analyzing Next Header), so technically the
>> proposed switching is workable. That said, I fully agree with you
>> that it is a very bad idea and must be prohibited, at least for
>> traditional IPsec.
> 
> I have never understood why the IPTFS packets needs to be identified
> by the Next Header. We do not include cipher algorithm in the ESP
> packet, so that is known by the SA information. We could do exactly
> same for the IPTFS, i.e., if all packets inside the specific SA is
> always IPTFS packets, then there is no need to identify whether IPTFS
> is used or not in the Next Header field, and there would be no need to
> allocate new IP protocol number for this.
> 
> If the reason we need new IP protocol number is just because they want
> to be able to this switching of the IPTFS on in the middle of the
> IPsec SA when NOT using IKE, then I think that is not very good reason
> for allocating new IP protocol number.
> 
>> I care less about other use cases (I recall that authors wanted
>> to use IPTFS not only for IPsec, but as more generic
>> mechanism to pack several IP packets into one).
> 
> I would like to understand what these other use cases are and how they
> affect the use case for IPsec. I mean if those use cases are just "we
> want to make generic mechanism" without any specific use cases, there
> is no need to think about the Early allocation of the IP protocol
> number.
> 
>> So, I may leave with this option if it will be explicitly prohibited
>> for traditional IPsec.
> 
> And if interoperability testing etc of the IPTFS in the IPsec use case
> is done using IKE, and in that case we do not need new IP protocol
> number, as we can know from the IPsec SA whether IPTFS is enabled or
> not. There is no need to know that per packet basis. And In that case
> IP protocol number allocation can be later, when other uses cases
> emerge.
> 
>> IKE-less (l2nsf) use case is a corner case, I tend to agree with you
>> that it should be prohibited for this case too.
> 
> Definitely. Actually I think the i2nfs document should probably say
> something about changing SAD stucture during on the fly. I would
> expect that most of the implementations in kernel do not really allow
> easy way of modifying the replay window or things like that while the
> SA is being used. In normal case there is no need to ever set the for
> example replay window, it will start from all zeros when SA is
> created, and automatically updated after that. Other things like
> sequence numbers or IV can cause serious security issues if they are
> modified wihtout following specific rules.
> 
> With my quick check of the i2nfs draft I did not see whether it has
> any text saying those things are create once, and after that read only
> or not. I think it should have that kind of text somewhere....
> --
> kivinen@iki.fi <mailto:kivinen@iki.fi>