Re: [netconf] crypto-types fallback strategy

Kent Watsen <kent+ietf@watsen.net> Wed, 18 September 2019 19:02 UTC

Return-Path: <0100016d45c185ab-6b73aeb6-b61a-4880-9ee6-a472a8c76f99-000000@amazonses.watsen.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 172D2120128 for <netconf@ietfa.amsl.com>; Wed, 18 Sep 2019 12:02:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.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 OSCnMj6IUF3e for <netconf@ietfa.amsl.com>; Wed, 18 Sep 2019 12:02:55 -0700 (PDT)
Received: from a8-31.smtp-out.amazonses.com (a8-31.smtp-out.amazonses.com [54.240.8.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1A1B01200E6 for <netconf@ietf.org>; Wed, 18 Sep 2019 12:02:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1568833373; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=84G48VwAz/+YBlTZ0B56UGv5I2ZA+yJ/HfDYZJHEPec=; b=lM6vWDFdpVvIt3Nv+sH/llCEFxnqOqItK8H4y5r92V6AkmhclFeGWACtGdQR5Sf2 SgsODCOvKKQ7biHPdLSPbeVZdoibUGHXCbwzeLYPt4oeSr1vfZcVa7fgTU8ZIwjUk8U cKwXNIQEPSo+a9kQhxG3nE9LoiKfyCtvk74MSx+E=
From: Kent Watsen <kent+ietf@watsen.net>
Message-ID: <0100016d45c185ab-6b73aeb6-b61a-4880-9ee6-a472a8c76f99-000000@email.amazonses.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_DE28597D-2FF7-4BD3-A4C9-3F3892BFD814"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Wed, 18 Sep 2019 19:02:53 +0000
In-Reply-To: <20190918174107.lqipsd2qal5x7eom@anna.jacobs.jacobs-university.de>
Cc: "Rob Wilton (rwilton)" <rwilton@cisco.com>, "netconf@ietf.org" <netconf@ietf.org>, Rifaat Shekh-Yusef <rifaat.ietf@gmail.com>
To: Juergen Schoenwaelder <J.Schoenwaelder@jacobs-university.de>
References: <6924CAD5-F740-4512-8689-E0307AF0BD88@akamai.com> <MN2PR11MB4366B5C09B4348FDAE33E2BCB58F0@MN2PR11MB4366.namprd11.prod.outlook.com> <99BFF357-6A2A-49E0-BB38-37C25DB04213@akamai.com> <MN2PR11MB4366F20EE2FD6DF04B965125B58E0@MN2PR11MB4366.namprd11.prod.outlook.com> <EBE4757D-E99E-41EB-A52B-A25F023BF4BC@akamai.com> <MN2PR11MB4366E4ECE10DFB018941BA5FB58E0@MN2PR11MB4366.namprd11.prod.outlook.com> <0100016d44bda220-51590a9a-0a15-4b63-a49d-47efe712e82e-000000@email.amazonses.com> <MN2PR11MB436617082A8308A7A8928DDFB58E0@MN2PR11MB4366.namprd11.prod.outlook.com> <20190918163657.4pxh5jddxgrir5oh@anna.jacobs.jacobs-university.de> <0100016d455c6145-844c669e-8f31-4203-a827-7368d33cdee4-000000@email.amazonses.com> <20190918174107.lqipsd2qal5x7eom@anna.jacobs.jacobs-university.de>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2019.09.18-54.240.8.31
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/brOrlkKQZAvF9jnWJgLzvhstBaI>
Subject: Re: [netconf] crypto-types fallback strategy
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: Wed, 18 Sep 2019 19:02:57 -0000

> On my Linux system, certs tend to be stoed in pem format, so I am
> biased. It seems some other applications like web browsers and server
> also tend to use pem format. But I am happy to be corrected since my
> experience with cert usage is limited.
> 
> Yes, the application or presentation could convert between formats and
> solve all problems. One of the failures of SNMP was that SNMP required
> an application or presentation layer to be usable while CLIs did not
> require other tools. The idea that there is always software between
> the NC/RC server and whoever has to solve an automation problem has
> somehow failed in the past. I believe data models should be written to
> enable automation without requiring lots of additional tooling. And
> yes, there is a need to find a balance.


Use a union statement?  The 'string' type  for PEM and 'binary' for DER?


>>> The SSH implementations that I use have the binary key data rendered
>>> in ASCII. In fact, the whole key record is rendered in ASCII. I
>>> strongly suggest to use formats that are well established.
>> 
>> This is the "key-data" leaf from RFC 7317.  Are you saying that it should've been different?
>> 
>> Regardless, should this be a presentation layer issue?
> 
> See above, if we start to require a presentation layer, we may repeat
> a failure. It might be useful to check who has implemented that part
> of RFC 7317 and how happy operators were with the format. I personally
> would not immediately know how to convert my openssh key in a binary
> format such that that I can use the YANG model. We should try to
> maximize usability and stay away from the idea that a presentation
> layer will be available to make things usable for people that have to
> script customized automation solutions.

Use a union for this too?  string vs binary?

One issue is that your file-format is most likely an OpenSSH-specific format, which is likely duplicated by other SSH implementations.   Is it too much of an assumption to use that format as the defacto 'string' format?  Perhaps we should define a custom type (e.g., openssh-string) to use instead of "string"?


Kent // contributor