Re: [Netconf] Comments on draft-ietf-netconf-netconf-client-server

Kent Watsen <kwatsen@juniper.net> Fri, 16 November 2018 18:34 UTC

Return-Path: <kwatsen@juniper.net>
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 0C1E1130DCB for <netconf@ietfa.amsl.com>; Fri, 16 Nov 2018 10:34:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.171
X-Spam-Level:
X-Spam-Status: No, score=-1.171 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, KHOP_DYNAMIC=1.999, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=juniper.net
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 PTMe5HHO-tXR for <netconf@ietfa.amsl.com>; Fri, 16 Nov 2018 10:34:35 -0800 (PST)
Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (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 7E4F81292AD for <netconf@ietf.org>; Fri, 16 Nov 2018 10:34:35 -0800 (PST)
Received: from pps.filterd (m0108160.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wAGITZTK021732; Fri, 16 Nov 2018 10:34:34 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=PPS1017; bh=yfKirbz+IRnfirKNY5XoPHz9Y/Wm5h/UADD9uuccPEc=; b=G0oortogLk+V58uEjm/i3OzHumKI0abIB4jn3jT6q68KOx011+dZ6hSRk+l3r/yDLb08 t6DFd1Sm8RDQ4KP1D+G52IwH5bMjqrbISBJ0mhBXrgBZv2MpvD3u/Nkr5bscUwlIpnrQ KX3rx4PYj/yEyJ61hAR6zvJWw6MnOoUVVMmjBIanKDfVUqxWeSkgwFo7IPUO8HW3Hlrz F48xgNYQORAwIqbGElWpS8z3AoDn2HF7ki/s6FFwtYM2VedYj4Hktk2p4fqum5Kla68a h6nVGMe8ZCIHa7pjIcWXl35coYj1NiYzPQi09oDqp9uo8jC9ysO9vMSDtFHSBs+0MRPu HQ==
Received: from nam05-dm3-obe.outbound.protection.outlook.com (mail-dm3nam05lp0116.outbound.protection.outlook.com [216.32.181.116]) by mx0b-00273201.pphosted.com with ESMTP id 2nt347g0kd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 16 Nov 2018 10:34:34 -0800
Received: from DM6PR05MB4665.namprd05.prod.outlook.com (20.176.109.202) by DM6PR05MB4443.namprd05.prod.outlook.com (20.176.79.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1361.7; Fri, 16 Nov 2018 18:34:32 +0000
Received: from DM6PR05MB4665.namprd05.prod.outlook.com ([fe80::7540:75f2:3803:298a]) by DM6PR05MB4665.namprd05.prod.outlook.com ([fe80::7540:75f2:3803:298a%5]) with mapi id 15.20.1339.021; Fri, 16 Nov 2018 18:34:32 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: "Dhanapal, Ramkumar (Nokia - IN/Chennai)" <ramkumar.dhanapal@nokia.com>, "netconf@ietf.org" <netconf@ietf.org>
CC: "Beauville, Yves (Nokia - BE/Antwerp)" <yves.beauville@nokia.com>, "Carey, Timothy (Nokia - US)" <timothy.carey@nokia.com>
Thread-Topic: Comments on draft-ietf-netconf-netconf-client-server
Thread-Index: AdR4HyFGnh375MLeQwOCRy8NnIuKdAE6gMoAACLXEAAAByggAA==
Date: Fri, 16 Nov 2018 18:34:31 +0000
Message-ID: <4103D8BE-8B6A-4877-A016-C263856EF338@juniper.net>
References: <HE1PR07MB4329ED3FA2BA9D4E53BBE758F8C60@HE1PR07MB4329.eurprd07.prod.outlook.com> <FD4480E1-F938-4146-ABEB-FBADBEA33D43@juniper.net> <HE1PR07MB432948BF1E1A79F933C1E804F8DD0@HE1PR07MB4329.eurprd07.prod.outlook.com>
In-Reply-To: <HE1PR07MB432948BF1E1A79F933C1E804F8DD0@HE1PR07MB4329.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.10.4.181110
x-originating-ip: [66.129.241.10]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DM6PR05MB4443; 6:klmkJEURCR1Wt8bB+sQUk1uKydm7gPRCNC/DxXQ9w2TGDbJ2r5w4UKaZhXE9fbIHPcnwj8fP2CZJtedof6rEWmX+CjxKvt3XmBBCJWpF9OKolnUyp06YxFKDFAmV3YmRn4mXAjgvSTyLSaQ2QDD3uRosgdyi/i91w8lf4AYX/QPtAyHcVkPyDrTgRFfq0wN7lH9JzpxJ6sqX3p38VvAkQh1WD7zuLiTAonOH3xZ+WdeyzL2vrLN1XJSMHfYMgfWgu+X+P3D1H32SoIVlzm3lk0SZHUfFNFBgk7R3zCmgNm86l+m7NNg/NS0pd6qU2Nxgz+tU0SkoV90ppMipqYbL/ttMuLYzuzgSLkhJK2YfM0YRfsoD/AkOxrEvSQHWKfZTI9eyyEKGVoYoBF4JdkjVlPH05doaO/++oRJVTqyCNX+jekqYOKj5PHKjT7VH8pyccimsB0ngO9S8Q/LQaTU80Q==; 5:oWogEjVxe053QsQzb+uvy+3islwwWQZ0L3ZoTBwpbgzHVGr9tgfCRQVRuU7N9GtwK5W+adftorrGCExT7EkzvCXV24OQjr7nGyFfO115pS3mGi5WyhKJTzmarA4sKKsF4aecRh9r8xP3rr4tMM+tStK/w28ouAvk4N6S/nabqLc=; 7:ViyWRhnNUkZ1winWoX0q8JpbOMHua1ys1e4Tx559rMR1rqvRCaM/n5rKu2GFzY+Q0NaQpen8joyBGRRNlSsbKGdACKOcwt0e4LTIauWGu0p/DZHiJh+c3mrNWdE5+poKt5XUc+MMyqzeTYPSStJlfw==
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: c8fa6a95-6dba-4db9-6d34-08d64bf2268f
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DM6PR05MB4443;
x-ms-traffictypediagnostic: DM6PR05MB4443:
x-microsoft-antispam-prvs: <DM6PR05MB4443C3B99D06251DE949E4CDA5DD0@DM6PR05MB4443.namprd05.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231415)(944501410)(52105112)(3002001)(93006095)(93001095)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201703031522075)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:DM6PR05MB4443; BCL:0; PCL:0; RULEID:; SRVR:DM6PR05MB4443;
x-forefront-prvs: 0858FF8026
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(979002)(396003)(346002)(376002)(366004)(136003)(39860400002)(189003)(199004)(2616005)(82746002)(36756003)(6436002)(99286004)(256004)(6486002)(966005)(106356001)(2501003)(486006)(229853002)(2900100001)(83716004)(446003)(71200400001)(14444005)(476003)(6512007)(6306002)(11346002)(86362001)(105586002)(53936002)(71190400001)(2906002)(26005)(316002)(97736004)(3846002)(186003)(345774005)(68736007)(33656002)(81166006)(14454004)(81156014)(8936002)(8676002)(4326008)(296002)(6246003)(5660300001)(6116002)(58126008)(478600001)(110136005)(76176011)(66066001)(54906003)(25786009)(305945005)(6506007)(102836004)(7736002)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:DM6PR05MB4443; H:DM6PR05MB4665.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
x-microsoft-antispam-message-info: Hmz2ndpp/VjHgvBEZTHvnsU7ApEdrrBEjHrc/kQ/Cs7ogbD+umpJzX4U6HoaT/tj4abQLDlJbixl8bcOduSq0d6blShKFYiPeRL5jXqX1Rf13C6bWFhPEQTHZv54FUiiD+GJYisSDlw+/EPeIgUiwS/Svqbg2ddlKjQ++RsKRt5a6r7sXQNnQylnaDThVFR9t9ZndpQThP0xAVUMhXPf4apU5fbmhHFdxLlnoO9jN7/x0gw1UHQCgk1dqyJeEfU2yn68YEKBRxrSAah6nw1oQvC2OsjXQRQgACC7AtoSrzzerbvYT/Squ2RHxIo5OZcAXufJS+dB45AlWHN3YL6yWjj7E6mHwk3mtcolTQ4+m+Y=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <7C3AF8409B93434C90F8202D7806932D@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: c8fa6a95-6dba-4db9-6d34-08d64bf2268f
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2018 18:34:31.9125 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR05MB4443
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-11-16_10:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1811160163
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Iqw36LbSTP5UJP64rJiaRRIaRxQ>
Subject: Re: [Netconf] Comments on draft-ietf-netconf-netconf-client-server
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Network Configuration WG mailing 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: Fri, 16 Nov 2018 18:34:38 -0000

Hi Ramkumar,
 
>> Comment 1:
>> We are using the ‘ietf-netconf-server’ module for configuration of call home
>> parameters like netconf client endpoint IP/port, keys/certificates etc..  
>> For static configuration from northbound, this works fine.
>> 
>> Our use case is that the netconf client endpoint IP/port are learnt dynamically
>> through DHCP process inline with BBF TR301_Issue2.  These dynamically learnt
>> endpoints also need to be modelled in the yang.  These dynamic endpoints
>> should also support the configuration of keys/certificates.
> 
> I just read TR301 Issue2, which is similar to work I do both in and out of the IETF.
>
> What is your question specifically?  Is it how to configure the ietf-netconf-server
> data model given the PMA Offer message described in Section 16.5.2.2?  or is
> it how the PMA can configure these values after it establishes a NETCONF
> connection (via NETCONF Call Home) to the DPU after the discovery process
> completes?
>
> [Ram]  The DPU gets the PMA IP in the DHCP Offer message from DHCP server
> in option 125. The question is where to store these dynamically learnt IP
> addresses in the ietf-netconf-server data-model (the data-model seems to
> be pertaining to static user configuration)?

The dynamically learnt IP addresses would be stored in /ietf-netconf-server:\
netconf-server/call-home/netconf-client/endpoints/endpoint/tls/address.

I'm unsure what you mean by "static" configuration.  The data model regards
configuration in general, whether the configuration is set via, e.g., a
NETCONF client or a bootstrapping mechanism is immaterial.


>> Comment 2: The server keys/certificates/ca-certs are configurable per
>> endpoint per netconf-client. We understand pinned-ca-certs/ pinned-\
>> client-certs can be per endpoint. But for the device acting as the 
>> netconf server, we see only one set of keys/certificates
>> is enough and need not be per endpoint.
>
> As I understand TR301, the DPU will perform standard certificate path
> validation of the PMA’s end-entity certificate to a per-configured 
> trust-anchor certificate, presumably one provided by a public CA such
> as Verisign or Comodo, such as might be found in, e.g., /etc/ssl/certs.
> Thusly, these certs are, in effect, the “pinned-ca-certs” that would
> be used.  For absolute correctness, the DPU could auto-populate 
> /ietf-trust-anchors:pinned-certificates with these certs, or it could
> do “backend magic” to achieve the same result.
>
> [Ram]  We are in-line with you on the “pinned-ca-certs”.
> The comment is on the keys/certificate of the DPU i.e. ‘server-identity’. 
> As per the data-model, this is configurable per endpoint per netconf-client.
> Since the DPU is acting as netconf server, we use only one set of 
> keys/certificates and is not be per endpoint.
>
> Our view is that this set is applicable for all endpoints (both 
> statically configured and dynamically learnt scenarios).  Since it 
> is configurable per endpoint now, if the user configures one set 
> for each endpoint, which set shall the DPU use for the TLS authentication?
 
Thank you for the clarification.  As TR301 requires the use of an IDevID
certificate that, by definition, is preconfigured by the DPU's OEM, it is
expected to appear in /ietf-keystore:keystore/asymmetric-keys/asymmetric-key
(in <operational>, with "private-key" having the value "permanently-hidden").

Then /ietf-netconf-server:netconf-server/call-home/netconf-client/endpoints\
/endpoint/tls/server-identity/reference would point to it.   For instance,
the second example here [1] references the "ex-rsa-cert" certificate (and 
its associated private key).  [Note: "ex-rsa-cert", in this example, is 
NOT an IDevID cert]

But note that, per recent discussions, in order for the reference to be 
valid, a stub/copy of the asymmetric-key in the <operational> needs to 
be created in <intended>.  This is illustrated by the "tpm-protected-key2"
key listed in the first example here [2].  Note how this asymmetric-key
entry and its associated "builtin-idevid-cert2" cert contain just the 
"name" values, per the description of the /keystore/asymmetric-keys/\
asymmetric-key/name node:

       "An arbitrary name for the asymmetric key.  If the name
        matches the name of a key that exists independently in
        <operational> (i.e., a 'permanently-hidden' key), then
        the 'algorithm', 'public-key', and 'private-key' nodes
        MUST NOT be configured.";
     
[1] https://tools.ietf.org/html/draft-ietf-netconf-tls-client-server-08#section-4.2
[2] https://tools.ietf.org/html/draft-ietf-netconf-keystore-07#section-3.2




>> Comment 3: The description of ‘netconf-server/listen/endpoint/transport\
>> /ssh/address’ is mentioned as “The NETCONF server will listen on all
>> configured interfaces if no value is specified”.  When no value is
>> specified, we are unable to configure ‘ss:ssh-server-grouping’ parameters.
>
> Good catch, the mandatory true requires a value.  This was discussed on the list a
> while back with the result of wanting to instead have the address always specified,
> using INADDR_ANY or INADDR6_ANY when needed.  The description statement is
> wrong.  I have removed the 2nd sentence from the description statement in six
> locations in the four modules ietf-[netconf|restconf]-[client|server] in my local
> copy.
>
> BTW, you mention “listen” and “ssh” but, for TR301, it should be “call-home” and 
> “tls”, right?
> 
> [Ram] Yes, we use Call-Home over TLS for DPUs but we also support listen over
> SSH for some other platforms
 
Gotcha.  Everything written above regarding the TLS data model applies to 
the SSH data model though, with SSH, there is an option to use a standard
SSH pubkey as well as an X.509 certificate.  Depending on if your IDevID 
is stored in a TPM, you may find pubkey easier to implement.

Kent