Re: [IPsec] draft-ietf-ipsecme-ikev2-sa-ts-payloads-opt-01 update

Paul Wouters <paul@nohats.ca> Fri, 21 July 2023 15:36 UTC

Return-Path: <paul@nohats.ca>
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 8CA4AC151539 for <ipsec@ietfa.amsl.com>; Fri, 21 Jul 2023 08:36:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.395
X-Spam-Level:
X-Spam-Status: No, score=-4.395 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nohats.ca
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6lcgvasFZe2b for <ipsec@ietfa.amsl.com>; Fri, 21 Jul 2023 08:36:11 -0700 (PDT)
Received: from mx.nohats.ca (mx.nohats.ca [IPv6:2a03:6000:1004:1::85]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C0E4FC15107D for <ipsec@ietf.org>; Fri, 21 Jul 2023 08:36:10 -0700 (PDT)
Received: from localhost (localhost [IPv6:::1]) by mx.nohats.ca (Postfix) with ESMTP id 4R6ttv5bhMzCLF; Fri, 21 Jul 2023 17:36:07 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nohats.ca; s=default; t=1689953767; bh=rRxXnUJU3zcp3WljzcRV6Au1OlrN8Ps1YM5s0XzRRhA=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=OCatfrPkgOnJi5DLqH0UC6J+lKLI93NKi53RQhgGhqdXIMpSBhfs/0p5W5eiT3t6J dFCupg+w3cV/n3ARiFKblk1EdCwVc8shuaXWWLBY6IHBK/1TyWztZ1HtA1H2DhT87W Dxxr+yloWTt2ZuPIvlZ6Bmjopj9fBSRHme7h4dOE=
X-Virus-Scanned: amavisd-new at mx.nohats.ca
Received: from mx.nohats.ca ([IPv6:::1]) by localhost (mx.nohats.ca [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id R4m2IS3fj_u7; Fri, 21 Jul 2023 17:36:06 +0200 (CEST)
Received: from bofh.nohats.ca (bofh.nohats.ca [193.110.157.194]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx.nohats.ca (Postfix) with ESMTPS; Fri, 21 Jul 2023 17:36:06 +0200 (CEST)
Received: by bofh.nohats.ca (Postfix, from userid 1000) id 8B1EA1030182; Fri, 21 Jul 2023 11:36:05 -0400 (EDT)
Received: from localhost (localhost [127.0.0.1]) by bofh.nohats.ca (Postfix) with ESMTP id 877061030181; Fri, 21 Jul 2023 11:36:05 -0400 (EDT)
Date: Fri, 21 Jul 2023 11:36:05 -0400
From: Paul Wouters <paul@nohats.ca>
To: Tobias Brunner <tobias@strongswan.org>
cc: "ipsec@ietf.org WG" <ipsec@ietf.org>
In-Reply-To: <e16c2b8e-a33f-4c36-e2df-94eab2cd9a2f@strongswan.org>
Message-ID: <718511a9-a593-d832-dff7-669d5c3b9e7b@nohats.ca>
References: <85a82884-feb3-48a7-5d43-509d7ee7fddb@nohats.ca> <e16c2b8e-a33f-4c36-e2df-94eab2cd9a2f@strongswan.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipsec/G8LmjoVxAYSmqn2V0TvlI3FCz-8>
Subject: Re: [IPsec] draft-ietf-ipsecme-ikev2-sa-ts-payloads-opt-01 update
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.39
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: Fri, 21 Jul 2023 15:36:16 -0000

On Fri, 21 Jul 2023, Tobias Brunner wrote:

>> I tried to formulate and solve the issues discussed at the previous
>> meeting. There was no clear outcome (based on rereading the minutes)
>> so please check the changes and let the authors know if you disagree.
>
> Thanks for the updates.  Some notes:
>
> * maybe clarify that IPCOMP_SUPPORTED is only sent and a MUST if IPComp
>   was negotiated in the original Child SA.

I'll see about clarifying text.

>   RFC 7296 explicitly states "These payloads MUST NOT occur in messages
>   that do not contain SA payloads." with regards to IPCOMP_SUPPORTED.
>   Is there any clarification required on that?

Oh. Interesting. Maybe that means this draft must Update: 7296 :P

> * maybe add "incompatible proposal" as a reason for initiating a
>   regular Child SA rekeying of the first SA (if the KE method used
>   for IKE is not in the Child SA proposal).
>
>   However, I'd honestly prefer if that was just the standardized
>   behavior for the Child SA created with IKE_AUTH as we really don't
>   know what KE methods the responder has in its Child SA proposal.

I would really like to avoid requiring the regular rekey method in the
protocol. That way, some time in the far future, this could perhaps
become the only rekey method used. If this draft has a requirement
for the old method in it, we will never be able to get rid of the older
one.

Additionally, having a different KE for the initial Child that comes
from the IKE KE and its Child SA rekey is already a questionable/bad
configuration, since you are not rekeying the child under the same
level of protection. I dont mind doing extra work for those who want
such questionable/bad configurations, but would not want to add it to
proper/good configurations that do not need it.

>   So just blindly assuming the IKE's KE methods will be accepted seems
>   risky (in particular if multiple key exchanges were involved in
>   creating the IKE SA).  That IKE SA's first KE method can still be
>   preferred in the Child SA rekeying request if it's in the initiator's
>   proposal (i.e. use it for the KE payload and list it as first
>   method in the SA payload).  But if there is a mismatch, it seems
>   easier to recover during a regular rekeying than blindly trying the
>   IKE KE method, receiving an INVALID_KE_PAYLOAD and then having to
>   initiate a regular rekeying all over anyway (if that's even an
>   option, the draft currently doesn't explicitly say).

I think a mismatch really means a bad configuration. You are allowing
a single Child SA to have different KE level protections between REKEYs,
which is definitely violating the spirit of rekey.

> * I'm still wondering why the critical bit has to be set for the
>   OPTIMIZED_REKEY notify.  It's a regular Notify payload, so it MUST be
>   understood by all IKEv2 implementations and setting the bit is
>   basically redundant (the critical bit only concerns the payload type,
>   not the contents such as the notify message type - it's also only
>   allowed to be set in requests so making it an unconditional MUST like
>   that violates RFC 7296 anyway).

This is a good point. It might be an argument for OPTIMIZED_REKEY not
being a NOTIFY payload but its own new payload type. You are right that
notify payloads cannot have the critical bit set. So if we keep this
as notify that has to be removed. Although we will end up with a weird
situation where we get a successfull IKE message exchange, but the
rekey actually failed. Let's discuss at IETF-117.

Thanks for the feedback.

Paul