Re: [alto] Roman Danyliw's Discuss on draft-ietf-alto-oam-yang-15: (with DISCUSS and COMMENT)

Jensen Zhang <jingxuan.n.zhang@gmail.com> Thu, 11 January 2024 03:31 UTC

Return-Path: <jingxuan.n.zhang@gmail.com>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9BE6EC14F6A4; Wed, 10 Jan 2024 19:31:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.103
X-Spam-Level:
X-Spam-Status: No, score=-2.103 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_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 E154rLyx4-sg; Wed, 10 Jan 2024 19:31:37 -0800 (PST)
Received: from mail-oi1-x22c.google.com (mail-oi1-x22c.google.com [IPv6:2607:f8b0:4864:20::22c]) (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 225A6C14F5FD; Wed, 10 Jan 2024 19:31:37 -0800 (PST)
Received: by mail-oi1-x22c.google.com with SMTP id 5614622812f47-3bbbf5a59b7so4388916b6e.3; Wed, 10 Jan 2024 19:31:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704943896; x=1705548696; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=bpGNVb7xDkjWJZzdD08SdnGKErm/7JPkdVNZbv1a3yc=; b=RRjCJseqcCGeClyTuu4KpOOm7TC0PVjjMLXRa3V4ivy3wxSlG4AtoY7Pa5E/6unh9D M1ymNkMdp44JWgDHUb9sSFfk1aSocFC9ND5MmQR4WKtzbaBBOYF+H/o8GgilD/MJWe0T Tf7eSEE52IPhgM1lRNTdlPwKKDVH4PeGs/8ByAeZS+JCqIz57DYx3BnvQ1BkVenLFYkF 93gFMF+1jJAXuiQowQvntB7PMt25FqmtrHnN3rw4iFn1g4B9pzEJqykTVf9AbHNiMSrk NKghcD2fmBxCuzYjlL7bRBrjdxXWvrli7PLtA4LbwfO0+z3yu2h9QE6u2A4PAcvzZFgV qk4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704943896; x=1705548696; 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=bpGNVb7xDkjWJZzdD08SdnGKErm/7JPkdVNZbv1a3yc=; b=HkYm26xAXnayvQOblrkR8YzcjFLG6nCphuuQJXICB/pEC4KpoWpXJ+JOnsrzfqhRb7 8/TzpnpuiNBNkUwSCb3R4+8+L0X1idj92gUzrC9A4j/yGbGVt5f/Fk5/WDothCsBBHvL Xh9/xYMWzpX+tNes8ETvEvQcxVc5LHxHYZ9tU/UCfqVGIK1RwHimlLkb++TII8K/DZBT OSwsUhVvUvlLikTUVr8ZRzxBsa0tWAszRjX5Bzk6oPmtrgRPkMm/Kn+fgONhVfXvP1Oq W7RqeV99VuCXe2ZkPqVmUNOi+vH/YtZ460fSwzFQxNFwkHYk4zKtpFPFp1BntxNR+2+u CaNA==
X-Gm-Message-State: AOJu0YwmWv5Frkc+DhrP0W9h6d5UGTIqCHbU2qox6GBrlr7MGrmrxds6 nxAB2I88euf2xs8Fx6xvITM/7X7j3+DvoJh4o3ufZafkrpQ=
X-Google-Smtp-Source: AGHT+IEAHI5YTHWKNntny9yvlucVgSY2z5vt6AX1As733Ppb7vNPzetm3CdzPU1if4LYlFCmeRPN+M6cc81Acg46/4o=
X-Received: by 2002:a05:6808:1590:b0:3bd:5242:9e59 with SMTP id t16-20020a056808159000b003bd52429e59mr559566oiw.74.1704943895918; Wed, 10 Jan 2024 19:31:35 -0800 (PST)
MIME-Version: 1.0
References: <169816463683.31331.13343222574159977659@ietfa.amsl.com> <CAAbpuyrkDMnrL4mdNzhFve6r9K=vBU6iigPp=zzvF3mSx9wLvQ@mail.gmail.com>
In-Reply-To: <CAAbpuyrkDMnrL4mdNzhFve6r9K=vBU6iigPp=zzvF3mSx9wLvQ@mail.gmail.com>
From: Jensen Zhang <jingxuan.n.zhang@gmail.com>
Date: Thu, 11 Jan 2024 11:31:24 +0800
Message-ID: <CAAbpuyqjYu1ZeD2XNGgJKC46RyJ=r+zAjVy6rB6xv+eCcMQh6w@mail.gmail.com>
To: Roman Danyliw <rdd@cert.org>
Cc: The IESG <iesg@ietf.org>, draft-ietf-alto-oam-yang@ietf.org, alto-chairs@ietf.org, alto@ietf.org, mohamed.boucadair@orange.com
Content-Type: multipart/alternative; boundary="000000000000473eb8060ea32f28"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/tD88zktK20QDBIbd-jbGt5JJDLc>
Subject: Re: [alto] Roman Danyliw's Discuss on draft-ietf-alto-oam-yang-15: (with DISCUSS and COMMENT)
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Jan 2024 03:31:39 -0000

Hi Roman,

Sorry for the delay. We just uploaded the revision -16 to resolve your
comments: https://datatracker.ietf.org/doc/html/draft-ietf-alto-oam-yang-16

We put detailed responses inline below. Please let us know if more is
needed.

Thanks,
Jensen


On Thu, Oct 26, 2023 at 7:31 PM Jensen Zhang <jingxuan.n.zhang@gmail.com>
wrote:

> Hi Roman,
>
> Many thanks for all the comments. Please see my responses inline below.
>
> Thanks,
> Jensen
>
>
> On Wed, Oct 25, 2023 at 12:23 AM Roman Danyliw via Datatracker <
> noreply@ietf.org> wrote:
>
>> Roman Danyliw has entered the following ballot position for
>> draft-ietf-alto-oam-yang-15: Discuss
>>
>> When responding, please keep the subject line intact and reply to all
>> email addresses included in the To and CC lines. (Feel free to cut this
>> introductory paragraph, however.)
>>
>>
>> Please refer to
>> https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/
>> for more information about how to handle DISCUSS and COMMENT positions.
>>
>>
>> The document, along with other ballot positions, can be found here:
>> https://datatracker.ietf.org/doc/draft-ietf-alto-oam-yang/
>>
>>
>>
>> ----------------------------------------------------------------------
>> DISCUSS:
>> ----------------------------------------------------------------------
>>
>> (There were a number of YANG references to chase down.  Please correct my
>> read
>> of the YANG model if I have misunderstood.)
>>
>> ** Implementing mutual TLS/client side certificates (per Section 8.3.5 of
>> RFC7285) appears to need more guidance.   Client EE certificates and
>> client CAs
>> can be specified by the tls:tls-server-group in
>> alto/server-listen-stack/https/tls-server-parameters.  However, it
>> appears to
>> me that there isn’t any way then to later reference them in the
>> alto-server/auth-client section.  When doing username and password
>> authentication via http-server-parameters/client-authentication, there is
>> a
>> common user-id field shared with auth-client/https-auth-client.
>>
>
> Good point. The intention of alto-server/auth-client is to identify the
> configured HTTP clients. There can be multiple authentication approaches
> beyond HTTP Basic and TLS, like OAuth. This document only focuses on the
> basic structure. Thus, initially, only the HTTP Basic authentication is
> defined. Appendix A.2 gives an example to augment the
> alto-server/auth-client section.
>
> But I agree that TLS is required by RFC7285. If you think it is necessary
> for the initial data model, we can add the related data nodes to this
> section.
>

In the new revision, we added TLS-related configuration for the
'auth-client/https-auth-client'. It will allow to use EE/CA certificates or
public keys to identify the HTTPS clients.


>
>
>>
>> ** Section 5.4.3.  It appears that there is an http-auth-client for both
>> http
>> and https.  Is this suggesting that it is possible to have authenticated
>> users
>> over unencrypted HTTP.  How does that work securely?  Is this related to
>> Section 8’s “The ietf-alto supports an HTTP listen mode to cover cases
>> where
>> the ALTO server stack does not handle the TLS termination itself, but is
>> handled by a separate component.”  If so, what is the residual risk of
>> this
>> approach?
>>
>
> In this case, the security will rely on the external TLS handler.
>
>
>>
>> ** Section 8.  Per the guidance on writeable data, aren’t significant
>> parts of
>> alto-server/listen sensitive as one could alter the stored keys for the
>> server
>> or client; or the username/password combinations (in
>> http-server-parameters)?
>>
>
> Yes, some groupings in alto-server/listen are also sensitive. But they are
> defined in other RFCs, thus the security considerations in those RFCs also
> apply to them.
>
>
>>
>> ** Section 8.  Per the guidance about readable data:
>>
>> -- isn’t tls-server-parameters sensitive since it could contain raw
>> private
>> keys (e.g., ks:inline-or-keystore-symmetric-key-grouping)?
>>
>
> Yes, see above.
>
>
>> -- Would it be best practice to be able to read all of the authorized
>> users?
>>
>
> In practice, the server only needs to identify the authorized users. The
> server doesn't need to read all the sensitive configurations of those users.
>
>
>>
>>
>> ----------------------------------------------------------------------
>> COMMENT:
>> ----------------------------------------------------------------------
>>
>> Thank you to Rich Salz for the SECDIR review.
>>
>> ** Section A.5.  Per the example:
>>             "client-authentication": {
>>               "users": {
>>                 "user": [
>>                   {
>>                     "user-id": "alice",
>>                     "basic": {
>>                       "user-id": "alice",
>>                       "password": "$0$p8ssw0rd"
>>                     }
>>
>> Isn’t the password supposed to be hashed?
>> draft-ietf-netconf-http-client-server says password is of type
>> ianach:crypt-hash.
>>
>
> Yes, the password is supposed to be hashed. Just to make it readable in
> the example, we use "$0$" type to show the clear text password. Refer to
> iana-crypt-hash@2014-08-06.yang:
>
>           A value of this type matches one of the forms:
>
>             $0$<clear text password>
>             $<id>$<salt>$<password hash>
>             $<id>$<parameter>$<salt>$<password hash>
>
>           The '$0$' prefix signals that the value is clear text.
>
>  Of course, it is not recommended in practice.
>