Re: [netconf] Create IANA-defined modules?

tom petch <ietfc@btconnect.com> Thu, 10 June 2021 09:52 UTC

Return-Path: <ietfc@btconnect.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D9F813A3C55 for <netconf@ietfa.amsl.com>; Thu, 10 Jun 2021 02:52:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.com
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 FsQle8Ms851r for <netconf@ietfa.amsl.com>; Thu, 10 Jun 2021 02:52:33 -0700 (PDT)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2101.outbound.protection.outlook.com [40.107.21.101]) (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 EA4BA3A3C43 for <netconf@ietf.org>; Thu, 10 Jun 2021 02:52:32 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d4KxSAGmJcdTlv/0AK8JWGMrwplJXnluvVISNpOxa0mioivj1auQQfN/JOX0GqiVDbpH4HJoirHmTgqoQQZaFjTA67H0QrpnlJVux+q05qhw/CrdxfvRqJjbRe+WN2IzQ86S5opoXYxnR9pSKyg7iNEQSQpaEzi3YZSLWcpdP1zuLIEBcFXqjoj9PEMRw/Bunqx8LzS6VkUTMoTZmroNWag67T/jeu3ej6RyVXAfamfE9rVPSoIbq3uzojldaNzV601a2B1aAwXS12KkitIQ+SIN570i07W5mY6d/HKn/DsqStzwWjDQL+7pWESttVOgy2xz1PBvLa1DzXc0uvm0Bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gSg1oggj5Y4Xs1U3tcyhApoGfE8gqtzU7tZ8dsyGs/o=; b=etQ7hKWJ9lB4HUmFNyYzq7wG9oBZ6dge1Vz2zYN+xGRKCw9vvjO5Z2Gn0LcUs48DeG8mtKF9Q27/IY+hOjOSj7jCKT30tKJn/3qtd0JdUbRhxN8yhK1zjofW4tD4CouvX1FCbSYkJ8vwwg3+ECcaFFRsmhkv7PkQqH1h5+ASQLbV1IvGBMVMGY6HHbbeTv17we1H02kobkDQ2FmB5NMiiOVCfbICpmbOapWSap0Gyqw3kw3FmhyyXqNpEqAOBAcOJZY8A7Eq5rxPEgHt8Kab5DyLn50dE9Ub+4b5D3Zv5LRt9kIXJieUW97mfKmyKyirde5pbWc51rHdi1//lJqbnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=btconnect.com; dmarc=pass action=none header.from=btconnect.com; dkim=pass header.d=btconnect.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector2-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gSg1oggj5Y4Xs1U3tcyhApoGfE8gqtzU7tZ8dsyGs/o=; b=jsP4ZMUVM2wfy7IEYAoFGnFwJir4VGrJ7Ze+OhJvZdxAbDqhbxKQfimgg+UG3XCglT45z0mIGKCekBI9sheZiul1C5Wifw3WCubL/Ai6WG7NkYFGOWWwVUoCA4KKhv5+Ffh52NZoPg/ufOg4wufmbP90lgNUA+HCNYE3gaoOQBc=
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com (2603:10a6:20b:134::11) by AM6PR07MB5057.eurprd07.prod.outlook.com (2603:10a6:20b:36::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.10; Thu, 10 Jun 2021 09:52:29 +0000
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::a05a:a474:bf78:f0a9]) by AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::a05a:a474:bf78:f0a9%8]) with mapi id 15.20.4219.017; Thu, 10 Jun 2021 09:52:29 +0000
From: tom petch <ietfc@btconnect.com>
To: Kent Watsen <kent+ietf@watsen.net>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [netconf] Create IANA-defined modules?
Thread-Index: AQHXUmI5UkCatU/0PEq109lYObrc4asBmrnfgAt5LKM=
Date: Thu, 10 Jun 2021 09:52:29 +0000
Message-ID: <AM7PR07MB624849ADE4BFDC89DA7C9E75A0359@AM7PR07MB6248.eurprd07.prod.outlook.com>
References: <01000179aa118e62-0d8dd2b2-f001-4ff3-9d10-4b4e15098055-000000@email.amazonses.com> <5F969C92-1A1F-4983-878F-9C222C3DEC05@cisco.com>, <01000179cfb08608-c708dd5b-c015-4608-986f-52d5d013153b-000000@email.amazonses.com>
In-Reply-To: <01000179cfb08608-c708dd5b-c015-4608-986f-52d5d013153b-000000@email.amazonses.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: watsen.net; dkim=none (message not signed) header.d=none;watsen.net; dmarc=none action=none header.from=btconnect.com;
x-originating-ip: [86.143.250.49]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4fcc7c6b-6a7c-400f-2d7d-08d92bf575bd
x-ms-traffictypediagnostic: AM6PR07MB5057:
x-microsoft-antispam-prvs: <AM6PR07MB50574985E3D14E41260354C1A0359@AM6PR07MB5057.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 24B729DemrbM9KMB/IDSpwMACIWfQhWnEuKhp6CJK8I0ZI5Sg/DkQIRhvZT3D78G0L8KSv8AS5DksDRrfjjjBH+LwVDPMv3Pkcf1owNuW4sBqs7Pwbw1Dy5mjXwmTnC9SgC89gAG9A00/4Hg9Y01SJ76BhWuE5bYVKXkRmvoQue1LiIXBRIT7d473hFZXxt5x0QPfUYVm/zRHDl4G33u84eNg69DHzsaFzh1UfM0vzoUNTBOyl/dmXNDKCRsY3AAaG3HCadEv+GsGp8h/2y1IjxnK7nv3Vfi3NbJTwlfKJW6HZUBy5XDaR2rkMQjSz3dfZCIyoaVLUH3C5MBoOMdhOEbLkTF5Ik+fL6O4Me9WPPrr2e081uHpRbMFBfkNWUKxgLNKrSCeFqPHRuX7J80IPTm6oxDRp7xw7VxpHl7eBoEMVQ/cRNm94YAsapU2JpnbMIfIeEsnbo6X5AfZAiRwuyI8W/jKpyaYDQwsTYQoTJVhluArMd63RWPAz7Om//lXTS7x8Tf/eA/s4HeL/JBnc3/Idofz0ozShH8PNOi1dQF9wsdZh78D+6XatWH/hbdLfo2eB0po1u64QmWdHE5ftdW5BSEChClqwGNizetofvcyjsUTjpohauRyAxhgZz7izLIKpk/LB1qvpLSodRHtCocGqlvM/17qe07bi0c3NOQyN7h334UOTwxA0WaBVtgXQlEOsLoOBu/2AfjRdM1Hg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR07MB6248.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(396003)(346002)(136003)(39860400002)(376002)(86362001)(8936002)(52536014)(8676002)(6506007)(110136005)(53546011)(316002)(4326008)(122000001)(66574015)(966005)(71200400001)(38100700002)(186003)(55016002)(9686003)(64756008)(66446008)(76116006)(66946007)(66476007)(66556008)(91956017)(33656002)(2906002)(26005)(7696005)(478600001)(5660300002)(83380400001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: 3sGDn7PgxBlN8X++vslk3zjV7z+6UbnVNnZwSC0djyq8PU4DQZD8ogbhdZrZUZ+I5J95pyAPwIO+zF5tcG1KJsZNzjL2aJz0d1T2KpQtEtVSFou1OrgeuBtv4d43Yt8QzowQxd35bb75HvAtmPE21qt0iWeJQPmXOXndLpx06Nz+uZMxOWOCqMgW/PcZtOHYnYnSrBnnCLdC0GfMbw08gXVW9XL+BglP8+aJDn3xAXVeV07F2L9kUAahWFiV0k+JCUChGNbQI1pjVpEwXvjhCPvM2clfcERsB8zaGWi5e6zSBnae8JvF+FEiXu17CwU25dtCZ9ZTHGGDy+P+iioLMo6PVe+JVDy6nikEWrPvQiiMFMnjKFygdywbzRip/4hwuix64nhxIWV/wNVJHmWzO23WEyGmI3U1qKG7KjFC9WCYUAyl8bbeK7aMYjPifwbv6MPZK1/9nyvCIk/MjVpF+PL1hyEt6mo868hx4Ys3q+sra/aftA5zabw6M8yBjZBtyavKe0gAxhjSGEg6wO5/BsokKrM1aXX2Y5hNAc9gEfyAFWAZbIFw+MHpEoMH2Cd65IY13S6MyU49q58AlT5IJ/vvIZ03xW7DwkzQjKSxfze3uMTGIenw3cQx/4zPczMolty78OnchUoZouquXU7HnlZO0JlFKOH7bTZkIcvnAH9y7R08ZgLLKftDewpziufHvWPEf6ZMFWZkhxkmTujjXESANdOTZfIBwzcPcm8EE4Ni+wV+0g1T/fjcseKNCjh5oNNmvzsw70qhLqOM7cOg13vELI27dU4EAg8QGURvcObtbuJJxjfGgoreKXiZSy6BEXfKY0SqqNZjjkm1hd5pm/Lbmm2ytbT7dYKjGbkYju/+UKSgPI9Z06t+GIIJ1lj8rVw4WhoaIX+0J4N/YAEOjYqyZicTQIUcwt4tkTiBGIp4gQNAAIhE9C62GwdGcFNCnHeWmtpwRozDMOKKDbP9O2tHUUlCZJK+kMq6S0xJRi62ePKM5ZcAelR6lj6/z6Pa8WRpuJM8+gS+49RqgtZC1NxmYY8ZTLJ5tsyQa0qHGg8r5TBgHTEjqSwH77bHfN66/lKkaLKIy3aqZ60Sm6JaLVhjybpoKjnrzsSw6duHK6yVMrd+xmb1gbgFu18hYG90497+oU5n5m0fNPr74omwOvEzTgpQfRx0IFZ1zbf7+9ceyllQXXSkZfQWL8ixSsBwqw4Sfbrq1xWt/pIZ9iCFrA9b7NOFQ5Vj3gj9DAOpYE56AQzEZRZPFP9SkvK2/7i1U7Te8zrygNb/SRyOPy3DrvAu3ix8dAWe/FhR00dczY4=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR07MB6248.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4fcc7c6b-6a7c-400f-2d7d-08d92bf575bd
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jun 2021 09:52:29.0854 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xZ1mPQfieRt9hr3vC69aPYe0Kw7epcyLZ8JJ2tVUrKs4YDygCRrJX8ZIGjZj8g90UH7HlSOXmPzsMQYfkCVSGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR07MB5057
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/-NN3oAdEmKppYbfdHFTbnd4ZX2U>
Subject: Re: [netconf] Create IANA-defined modules?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 10 Jun 2021 09:52:48 -0000

Mmmm this is getting ever more tangled but let me see if I can get my comments through the Internet police:-)
 
Qin Wu <bill.wu@huawei.com>| Wed, 09 June 2021 13:07 UTC
发件人: netconf [mailto:netconf-bounces@ietf.org] 代表 Kent Watsen
发送时间: 2021年5月27日 3:06
收件人: netconf@ietf.org

[CC-ing Gary, who contributed the “ietf-[tls/ssh]-common" modules originally]


NETCONF WG,

The “tls-client-server” draft just received the following GitHub “issue”:

=====start=====
This is rather a question than an issue, maybe.

Given that IANA maintains the TLS parameters at   https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml, would it not be better for that content to come from something like iana-tls[-parameters].yang rather than an IETF maintained YANG module?
=====stop=====

This is a good point.  Perhaps we should move all the identities for the algorithms defined in the “ietf-tls-common” module to an IANA-maintained “iana-tls-parameters” module.  Thoughts?

[Qin]: I agree this seems straightforward to me. The module name could be "iana-tls-types" like.

<tp> except that that name makes it look like the work of the TLS WG which it should be but it not.

By extension, the same statement applies to the “ssh-client-server” draft and the IANA maintained SSH parameters page: https://www.iana.org/assignments/ssh-parameters/ssh-parameters.xhtml.

One potential issue with doing this is that the existing identities have “if-feature” statements that constrain them to specific TLS-versions and algorithm-families, and are sometimes marked as “deprecated".  By example:

    identity ecdhe-ecdsa-with-aes-128-cbc-sha256 {
       if-feature "tls-1_2";
       if-feature "tls-ecc and tls-sha2";
       base cipher-suite-base;
       status "deprecated";
       description
           "Cipher suite TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256.";
       reference
          "RFC 5289: TLS Elliptic Curve Cipher Suites with
                             SHA-256/384 and AES Galois Counter Mode (GCM)";
    }

But that information is NOT captured in the IANA-maintained page.   What to do?

[Qin]: Why not bind tls version with cipher-suite in the ecdhe-ecdsa-with-aes-128-cbc-sha256 identity definition. Also I feel identity name is too long.

<tp>  The TLS WG defined and named the cipher suite and that is the name they gave it.  Use something else and no one familiar with TLS will know what it is.



One option would be to drop all the feature statements.  All they do is limit the totality of algorithms presented to an administrator, when configuring which algorithms the client/server should support.  Worst case, all algorithms (of a given type) are presented, regardless if supported by the, e.g., TLS protocol version.  When configuring clients/servers using, e.g., text-based configuration files, such filters are never available.  Does anyone know what Cisco/Juniper/etc. devices do in their command-line and/or web interfaces?

[Qin]: See above, do we need to introduce if-feature "tls-1_2" and why not tie the tls version in the cipher-suite name such as "tls12-ecdhe-ecdsa-with-aes-128-cbc-sha256". 

<tp> Again, the TLS WG designed and named the cipher suites and they are intended to be version neutral.  Look at the IANA registry, dozens of them, all TLS_  call them something different and no one familiar with TLS will know what you are talking about.  The choice of the name was made by the TLS WG and it would be wrong of the Netconf WG to seek to improve it after all these decades.  You might argue that encoding all the semantics in the name was a poor choice but if so, adding more semantics is not an improvement

Tom Petch

Another option, which I like because it’s less work for me (unless someone can volunteer a GitHub pull request), is to remove the ietf-[tls/ssh]-common modules altogether.  They’re currently optional-to-configure and, when not configured, it’s an implementation-specific decision what, e.g., algorithms to list as being supported during the protocol handshake.  Personally, I’ve never used them (or implemented support for them), happily deferring to internal code and underlying libraries.  In lieu of us not defining these modules now, applications could augment-in their own configuration nodes and, of course, a future WG effort could add them.  Thoughts on this approach?

K.



________________________________________
From: netconf <netconf-bounces@ietf.org> on behalf of Kent Watsen <kent+ietf@watsen.net>
Sent: 03 June 2021 03:25
To: netconf@ietf.org
Subject: Re: [netconf] Create IANA-defined modules?

I’ve been looking at this change (since no one volunteered to help :sigh:) and noticed that Gary had feature statements for optional-to-implement algorithms.

When we were doing the now-abandoned “algorithms” work in crypto-types, we defined a top-level “config false” tree for a list of supported algorithms.  For instance, see "supported-symmetric-algorithms” here:  https://datatracker.ietf.org/doc/html/draft-ietf-netconf-crypto-types-14#appendix-A.1.  This seems better to me, agreed?  Would an RPC be better than a "config false" tree?

Does it matter if the algorithms are defined using an enumeration or as an identity?

Gary defined them as identities, but the abandoned crypto-types work had them as enumerations.  In either case, the IANA-maintained module needs to be *implemented* - thoughts?

Note: if “identity” statements are used, and the module is *implemented* (for the top-level “supported algorithms” data tree) does NOT mean the server supports all the algorithms, which is true only if the algorithm appears in the “supported algorithms” list - still makes sense, or is this a compelling reason to NOT use identities?

PS: putting each algorithm into its own module that can be distinctly “implemented* is a non-starter.

K.