Re: [IPsec] Shepherd review of the draft-ietf-ipsecme-add-ike

tirumal reddy <kondtir@gmail.com> Tue, 31 January 2023 08:55 UTC

Return-Path: <kondtir@gmail.com>
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 B9B38C14F731; Tue, 31 Jan 2023 00:55:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.094
X-Spam-Level:
X-Spam-Status: No, score=-2.094 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 (2048-bit key) header.d=gmail.com
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 ywK3AyyJCu2I; Tue, 31 Jan 2023 00:55:18 -0800 (PST)
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A9703C14EB15; Tue, 31 Jan 2023 00:55:18 -0800 (PST)
Received: by mail-lf1-x12e.google.com with SMTP id j17so23202132lfr.3; Tue, 31 Jan 2023 00:55:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=StRki6sTY8UMicxhTZXD2E362tjGcq0Sz/f/R8wBhew=; b=ALyQ5rHdhBE6XUFzxVbGvfmK3WCjI86rWzgubYH4l+Bx6+NRjH/5zQmOSoz32/YZuP hDoZboSx1xAFkKfpGI1LPLD+bAjW87hEC8HFgfm48hxyg9xtoa/DtsTWFv0C0S4uQ/zr 47Tpnvd2nk6Mz57XG7YzFjL8siCjWhhRU6EMktaCH5FKRxYK0hw/BYYT5Iis1/D5Eyp2 hb4xhWOm81FfHNeLep9jaTKWHxOSlfjY25xRkFo1jqzQAAAguiWkc+FoMkApBo/K8TJk MXEdoUfcsLzQz23SCWiP+VduQm4q/IaOFZ6rRb5ZNGrYnOgA9cEdZuG0OettO5LOyuC2 dx4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=StRki6sTY8UMicxhTZXD2E362tjGcq0Sz/f/R8wBhew=; b=74I22zg9fD7WrW95j7D4Rq25LzcyjD6UKbMFMoDqCAQziUrcU8MHpr8vRATt5k+m7M d2FzxKfZUgyY8CvzRleknEbued6au2li0KUrPcxuHekjhsUv4eJLBIeiSjIsf17KK1Lz TFFk0f/JN0nDm8uZbuNexcUq3QmZEqoLHRhQnh8zevhHEX7TUnagCsp4SQSzoLzlDAU3 3N5iAsy2wkPNjjIPzw0zj/aEBmxJz7GIHrR8LzP2HBJv8NCMVg2VHwJfnOXdZWTQbnCs wJ5FaQSHHQ8BK+OSc7DZtdvOeKbZIsGdhEO78VdbIPUnW3CJKR7NrgWDulvgREeBNIIf A2LA==
X-Gm-Message-State: AFqh2kojeZYFf7hoRxtslJfURLcT6yzG59QtQOOmop747ijv49hhULeD n9px5XaENQlBNcXGl2pBv2kp9IV/DQLt9oZw68s=
X-Google-Smtp-Source: AMrXdXv/4ilgXe2InIpVi9DHSGzBSIocv3+e9qHIgRp8wo65DmculBNaM2UTNKtHr7xnayKJH+DraI9nXM9pShdFpdA=
X-Received: by 2002:ac2:4f0d:0:b0:4d5:86a8:55d1 with SMTP id k13-20020ac24f0d000000b004d586a855d1mr6649513lfr.155.1675155316551; Tue, 31 Jan 2023 00:55:16 -0800 (PST)
MIME-Version: 1.0
References: <25560.18262.145478.996578@fireball.acr.fi> <013a01d9354c$c1fe37b0$45faa710$@gmail.com>
In-Reply-To: <013a01d9354c$c1fe37b0$45faa710$@gmail.com>
From: tirumal reddy <kondtir@gmail.com>
Date: Tue, 31 Jan 2023 14:25:05 +0530
Message-ID: <CAFpG3gceMUuhSV=EyWmfWT5VmO2wD3AZJ3bWB=910RXGEQPxRA@mail.gmail.com>
To: Valery Smyslov <smyslov.ietf@gmail.com>
Cc: Tero Kivinen <kivinen@iki.fi>, draft-ietf-ipsecme-add-ike@ietf.org, ipsec@ietf.org
Content-Type: multipart/alternative; boundary="00000000000096356805f38b7d78"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipsec/BeXKqZjjIF-4AndtRACp9cj7DHA>
Subject: Re: [IPsec] Shepherd review of the draft-ietf-ipsecme-add-ike
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: Tue, 31 Jan 2023 08:55:20 -0000

On Tue, 31 Jan 2023 at 13:49, Valery Smyslov <smyslov.ietf@gmail.com> wrote:

> Hi Tero,
>
> thank you for the review. Please see inline.
>
> > Here are some my review comments while reading
> > draft-ietf-ipsecme-add-ike:
> >
> > ----------------------------------------------------------------------
> > The text in section 3.1 should say that if length is 0, then no
> > Service Priority, Num Addresses etc fields are present.
> >
> > I.e., add text in first bullet under Length saying that if length is
> > zero, then later fields are not present.
>
> Makes sense.
>
> > --
> >
> > Also the text in Num Addresses indicate that it would be valid to send
> > CFG_REQUEST with proposed Service Priority, but having Num Addresses
> > set to zero?
> >
> > Is this intended? I.e., is the client allowed to request data, but not
> > propose IP address? If so, perhaps add sentence to Num Addresses
> > explaining that it can be 0 for CFG_REQUEST when no specific address
> > is request, but other parameters are requested.
>
> Hm... I think my co-authors can comment on this.
>
> > --
> >
> > In IP Address(es) explictly mention that it is field contain 4 octet
> > IPv4 addresses, or 16 octet IPv6 address without any delimeters etc.
> > This can be derived from the calculation of the length field, but I
> > think it should be mentioned here, even when it is obvious.
>
> OK.
>
> > --
> >
> > In section 3.2 it is not clear what the length of the Hash Algorithm
> > Identifiers fields is. It contains list of hash algorithms or one hash
> > algorithm if this is response, but it is not clear what is response.
>
> What was meant is that a list of hashes is sent by a client (in
> CFG_REQUEST) and
> a single hash is sent by a server (in CFG_REPLY).
>
> > We have CFG_REQUEST, CFG_REPLY, CFG_SET, and CFG_ACK. Most likely
> > CFG_REPLY and CFG_ACK are sent in IKE exchange response. On the other
> > hand CFG_SET is usually used to set the parameters, thus the
> > Certificate Digest would be required there.
>
> True, but IKEv2 doesn't currently use CFG_SET/CFG_ACK and
> it explicitly allows implementations to ignore them.
>
> > I would assume that there is only one Hash Algorithm Identifier for
> > CFG_REPLY and CFG_SET, and then the Certificate Digest field is
> > present. For CFG_REQUEST the Hash Algorithm Identifier is a list of
> > two octet hash algorithm identifiers and the Certificate field is
> > omitted. For the CFG_ACK only first 4 octets are included and Length
> > is set to zero.
> >
> > I think it would be better to split the Figure 2 to three different
> > figures:
> >
> >
> >                         1                   2                   3
> >     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> >    +-+-----------------------------+-------------------------------+
> >    |R|         Attribute Type      |            Length             |
> >    +-+-----------------------------+---------------+---------------+
> >    |                    RESERVED                   |  ADN Length   |
> >    +-----------------------------------------------+---------------+
> >    ~                  Authentication Domain Name                   ~
> >    +---------------------------------------------------------------+
> >    ~              Hash Algorithm Identifier (2 octets)             ~
> >    +---------------------------------------------------------------+
> >    ~                     Certificate Digest                        ~
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> >
> >   Figure 2: ENCDNS_DIGEST_INFO Attribute Format for CFG_REPLY and CFG_SET
> >
> >
> >
> >                         1                   2                   3
> >     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> >    +-+-----------------------------+-------------------------------+
> >    |R|         Attribute Type      |            Length             |
> >    +-+-----------------------------+---------------+---------------+
> >    |                    RESERVED                   |  ADN Length   |
> >    +-----------------------------------------------+---------------+
> >    ~                  Authentication Domain Name                   ~
> >    +---------------------------------------------------------------+
> >    ~              List of Hash Algorithm Identifiers               ~
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> >
> >      Figure 3: ENCDNS_DIGEST_INFO Attribute Format for CFG_REQUEST
> >
> >                         1                   2                   3
> >     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> >    +-+-----------------------------+-------------------------------+
> >    |R|         Attribute Type      |            Length             |
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> >
> >      Figure 4: ENCDNS_DIGEST_INFO Attribute Format for CFG_ACK.
> >
> > and then explain the Hash Algorithm Identifier and List of Hash
> > Algorithm Identifiers separately.
>
> We may do this for completeness, but as I've already mentioned
> CFG_SET/CFG_ACK are not currently used in IKEv2.
> So I'm in not sure if this is really needed and won't further confuse
> implementers...
>
> > Actually is there any point of having ADN Length and Authenticated
> > Domain Name in CFG_REQUESTS ever? Why would someone calculate hashes
> > with certain domain names with different hash algorithms? Perhaps we
> > should define the format for CFG_REQUEST as follows:
> >
> >
> >                         1                   2                   3
> >     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> >    +-+-----------------------------+-------------------------------+
> >    |R|         Attribute Type      |            Length             |
> >    +-------------------------------+-------------------------------+
> >    ~              List of Hash Algorithm Identifiers               ~
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> >
> >      Figure 3: ENCDNS_DIGEST_INFO Attribute Format for CFG_REQUEST
>
> I'm confused, since CFG_REQUEST doesn't include Digest.
> Am I missing your point?
>
> > --
> >
> > In section 4 there is text:
> >
> >    If the CFG_REPLY includes an ENCDNS_DIGEST_INFO attribute, the DNS
> >    client has to create a digest of the DNS resolver certificate
> >    received in the TLS handshake using the negotiated hash algorithm in
> >    the ENCDNS_DIGEST_INFO attribute.
> >
> > But this does not specify how the digest of the DNS resolver
> > certificate is calculated. There are multiple ways of doing this (only
> > Subject Public Key Info element like RFC7296 or SPKI(1) selector field
> > of RFC7671, or full certificate like Cert(0) selector field of
> > RFC7671).
> >
> > I would prefer the SPKI (Subject Public Key Info) selector field way
> > of RFC7671, as then it does not matter if the certificate is renewed
> > etc.
>
> Does certificate renewal matter in this case?
>
> In my reading "digest of the certificate" means the digest over whole
> certificate
> (Cert(0)), but I'd rather hear from my co-authors.
>

Yes, it means "digest of the certificate" but we go with SPKI hash. In both
cases, PKIX validation is not required.

-Tiru


>
> > --
> >
> > I do not think the [Hash] is normative reference. I did not need to
> > read and understand that to somewhat understand this document :-)
>
> Well, it's only 58 words including title, you may read them in few seconds
> :-)
> Kidding aside, how this can be informative? The document uses these
> codepoints.
>
> Or did you mean [I-D.ietf-dnsop-svcb-https]?
>
> > --
> >
> > IANA-IKE is bit misleading reference name when you are actually
> > refering to the IKEv2 Configuration Payload Attribute Types. Perhaps
> > using IANA-IKE-HASH for the [Hash] above, and IANA-IKE-CFG for this.
>
> OK.
>
> > --
> >
> > It would actually be useful to have example configuration for some of
> > the deployment scenarios in Appendix A, similar than in 3.15.2 of
> > RFC7296.
> >
> > i.e.,
> >
> >   CP(CFG_REQUEST) =
> >     INTERNAL_IP6_ADDRESS()
> >     INTERNAL_IP6_DNS()
> >     ENCDNS_IP6()
> >     ENCDNS_DIGEST_INFO(0, "", (SHA2-256, SHA2-384, SHA2-512))
> >
> > and getting reply
> >
> >   CP(CFG_REPLY) =
> >     INTERNAL_IP6_ADDRESS(2001:DB8:0:1:2:3:4:5/64)
> >     ENCDNS_IP6(23, 1, 16,
> >                (2001:DB8:99:88:77:66:55:44),
> >              "doh1.example.com",
> >              "???")
> >     ENCDNS_DIGEST_INFO(0, "", SHA2-256,
> >                        00112233445566778899aabbccddeeff)
> >
> > where the data in ECNDNS_IP6 is in the same order they are in the
> > actual packet, i.e., 23 is the Service Priority, 1 is num address, 16
> > is ADN Length and then is list of IPv6 addresses and so on.
> >
> > I for example have no idea what could be in the Service Parameters
> > field for some specific service (for example DoH), and how it would be
> > different for DoT...
>
> Adding an example makes sense, IMHO.
>
> Regards,
> Valery.
>
> > --
> > kivinen@iki.fi
> >
> > _______________________________________________
> > IPsec mailing list
> > IPsec@ietf.org
> > https://www.ietf.org/mailman/listinfo/ipsec
>
>