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

Christian Hopps <chopps@chopps.org> Thu, 15 October 2020 21: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 C90C03A07F5 for <ipsec@ietfa.amsl.com>; Thu, 15 Oct 2020 14:20:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=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 SlZekAiLuNwV for <ipsec@ietfa.amsl.com>; Thu, 15 Oct 2020 14:20:49 -0700 (PDT)
Received: from smtp.chopps.org (smtp.chopps.org [54.88.81.56]) by ietfa.amsl.com (Postfix) with ESMTP id 6B24E3A07F0 for <ipsec@ietf.org>; Thu, 15 Oct 2020 14:20:49 -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 A75F861676; Thu, 15 Oct 2020 21:20:48 +0000 (UTC)
From: Christian Hopps <chopps@chopps.org>
Message-Id: <A905EBBF-35B4-4901-ABB5-0018290EC144@chopps.org>
Content-Type: multipart/signed; boundary="Apple-Mail=_1412626A-914C-4587-9CA2-3428A55BCE2F"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\))
Date: Thu, 15 Oct 2020 17:20:47 -0400
In-Reply-To: <24456.46495.840733.468384@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> <DFDCAC27-5099-4D5A-AEDA-C81A8C167002@chopps.org> <24456.43991.701332.956314@fireball.acr.fi> <F8E266C0-CACB-4B4C-83F3-C5E05F2B547C@chopps.org> <24456.46495.840733.468384@fireball.acr.fi>
X-Mailer: Apple Mail (2.3608.120.23.2.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipsec/6YAa04g_dEHTNrCTVXq901xy9X8>
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: Thu, 15 Oct 2020 21:20:51 -0000


> On Oct 15, 2020, at 4:48 PM, Tero Kivinen <kivinen@iki.fi> wrote:
> 
> Christian Hopps writes:
>> We are defining the payload in this document, the payload is meant
>> for ESP. ESP has a payload identifier why can't we use it?
> 
> If that is only possible value the next-header field can have as all
> packets of the Child SA which has been negotiated with USE_IPTFS then
> what is the point of allocating number that is not needed. You can
> simply say that next payload field will be transmitted as 0, and
> ignored on the recipient as you already know the format packet inside
> ESP because it was negotiated in the IKE.
> 
>> It feels like the clean KISS solution to me. Yes, we are doing IKE
>> negotiation, but using the designed for payload identifier also
>> allows the payload to be identified in non-IKE scenarios (packet
>> captures, error logging, etc..), therefor it's not just KISS it's
>> also more *robust* and thus I believe a better design.
> 
> So you want to allocate completely new protocol number from the 8-bit
> registry, just so that you can print it out in the error logs and
> auditing, instead of putting (use_ipftf ? "iptfs" : protocol number)?
> 
> Packet captures does not really help as ESP content is encrypted, and
> most implementations do not really allow easy way of printing out the
> traffic keys for wireshark etc use, and anyways wireshark has this
> decode as XXX option where you can force it to decode it with whatever
> protocol you think is inside, regardless whether there is protocol
> number matching.

These are just examples, they fall out of relying on as little state as possible to help debug things. One could have the correct decryption key but not have all the correct configuration in a non-IKE scenario, ...

In any case it's always better to rely on less state where one can. It is almost always more robust. I don't think this is a controversial statement.

>> I think your main objection is over actually making an IP protocol
>> number allocation.
> 
> Actually doing early allocation.
> 
>> If that's what it is then let's focus on that point. It may be
>> easier to make progress that way.
> 
> I need to justify why the WG thinks we need this done now, and why
> this is going to be useful, and why this can't be done in other ways.
> 
> If I myself think it would be easier to do this by just negotiating it
> in IKE, I have hard time convincing others.

Ok good, so let's consider re-using an existing number then.

> 
>> For example we could switch to our backup solution and re-use an
>> existing IP protocol number which would never be carried in ESP
>> (e.g., IPv5). I feel it's a bit less elegant, but still workable,
>> and leaves us with the KISS/more robust outcome.
> 
> I do not think there is IP protocol number for IPv5, but if you really
> want to have protocol number, why not use 253 that is reserved for
> experimientation and testing.

There is it's officially called "Internet Stream Protocol". Lou could speak more about that I guess.

> This allows you to do your testing now, and you can write your draft
> saying that as all payloads inside the ESP will be iptfs packets if
> USE_IPFTF is negotiated in the IKE, then next-header field is ignored
> on the recipient, and sent out as 253 (or 0, or whatever, as it is
> always ignored on the recipient).

I still believe an identifier is important for the robust aspects I mentioned above (less state dependent payload identification, aids in packet captures, error logging/mis-configuration identification, yes even zero-configuration receive support which doesn't have to be in the document to still be a feature people want and could be given then).

Additionally, as mentioned previously, not all users of IPsec utilize IKE.

Thanks,
Chris.

> --
> kivinen@iki.fi
>