Re: [Netconf] Adoption poll for crypto-types and trust-anchors

Balázs Kovács <balazs.kovacs@ericsson.com> Thu, 24 May 2018 07:36 UTC

Return-Path: <balazs.kovacs@ericsson.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 94B3A124E15 for <netconf@ietfa.amsl.com>; Thu, 24 May 2018 00:36:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.341
X-Spam-Level:
X-Spam-Status: No, score=-1.341 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FROM_EXCESS_BASE64=0.979, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.com header.b=IOtBpDd1; dkim=pass (1024-bit key) header.d=ericsson.com header.b=FkpzsUV9
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 ziVi8RipllKh for <netconf@ietfa.amsl.com>; Thu, 24 May 2018 00:36:37 -0700 (PDT)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (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 4435E1242EA for <netconf@ietf.org>; Thu, 24 May 2018 00:36:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/simple; q=dns/txt; i=@ericsson.com; t=1527147394; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=C5ikJhKH9AjOZGOyGsoFewgRPjurPZE6/TdZIDkdtCo=; b=IOtBpDd16B/qKY5awDg0nX7stpq4oXUUMVx6enf8QCHDXslRBFjodMn7eNAhK8if 5EyyAu8xuCMLwBF7yto7Lv78l4dQx/sb9QuuymnGodL4kTT15p5Rv9/Vkfipyu8C /rXRmEiPYz4egDTM9cQ8LcdCI5WW3RflJkfbuZP/Q6s=;
X-AuditID: c1b4fb3a-39dff7000000451c-03-5b066b827adf
Received: from ESESSHC014.ericsson.se (Unknown_Domain [153.88.183.60]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id D8.94.17692.28B660B5; Thu, 24 May 2018 09:36:34 +0200 (CEST)
Received: from ESESSMB501.ericsson.se (153.88.183.162) by ESESSHC014.ericsson.se (153.88.183.60) with Microsoft SMTP Server (TLS) id 14.3.382.0; Thu, 24 May 2018 09:36:34 +0200
Received: from ESESSMB505.ericsson.se (153.88.183.166) by ESESSMB501.ericsson.se (153.88.183.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Thu, 24 May 2018 09:36:33 +0200
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.157) by ESESSMB505.ericsson.se (153.88.183.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3 via Frontend Transport; Thu, 24 May 2018 09:36:33 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C5ikJhKH9AjOZGOyGsoFewgRPjurPZE6/TdZIDkdtCo=; b=FkpzsUV95ECwaOBOPqX7qn8jOnIqGgUuINGTYnHS6jzx7ZSJ+1IYPe7PY26cIANxThfZ8VLjQj0BVizEqnidQ6nIQ8oOwKz6BhuTOzncz9DwSzGgcf+7FGHuTOY6se4DWtO075AWuh147bzVxmd8fucb7fIcBTVd6syR5tSpkuM=
Received: from AM5PR0701MB2337.eurprd07.prod.outlook.com (10.169.152.135) by AM5PR0701MB1731.eurprd07.prod.outlook.com (10.167.215.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.797.5; Thu, 24 May 2018 07:36:30 +0000
Received: from AM5PR0701MB2337.eurprd07.prod.outlook.com ([fe80::cc12:f370:83c9:53c4]) by AM5PR0701MB2337.eurprd07.prod.outlook.com ([fe80::cc12:f370:83c9:53c4%5]) with mapi id 15.20.0797.011; Thu, 24 May 2018 07:36:30 +0000
From: =?utf-8?B?QmFsw6F6cyBLb3bDoWNz?= <balazs.kovacs@ericsson.com>
To: Kent Watsen <kwatsen@juniper.net>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Adoption poll for crypto-types and trust-anchors
Thread-Index: AQHT4wADJ2ALQ9zNKkqYEk+Kq3yYtKQfpfMAgASX5ZD///FoAIAEti0AgAF1DQCABJqn4IAAVHOAgA9RWkA=
Date: Thu, 24 May 2018 07:36:29 +0000
Message-ID: <AM5PR0701MB233753431E8FBB6059ABE98D836A0@AM5PR0701MB2337.eurprd07.prod.outlook.com>
References: <30074620-B60A-420D-8805-80C9EF1E1BDC@juniper.net> <D8937259-459A-4D8C-84B7-D75EE559A9BA@juniper.net> <AM5PR0701MB23377923E96B8A0121B8D00A839B0@AM5PR0701MB2337.eurprd07.prod.outlook.com> <69CC8DB5-95C5-413A-965D-A624EE05DC9D@juniper.net> <AM5PR0701MB2337E67FBD8EE7F9F16536CA839F0@AM5PR0701MB2337.eurprd07.prod.outlook.com> <FBE3521A-0F7F-4D37-BB2F-2493606C098F@juniper.net> <AM5PR0701MB23377C6007DF65DE723A7D9A839C0@AM5PR0701MB2337.eurprd07.prod.outlook.com> <B2DE5F92-DBFB-49C7-A9D0-0804786090AB@juniper.net>
In-Reply-To: <B2DE5F92-DBFB-49C7-A9D0-0804786090AB@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [89.135.192.225]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM5PR0701MB1731; 7:Fc3SHsVRctmmmnIPkrRA3v+ixLQwfnnZAPKv3WB4ZygRAIdJ/BFoeOlyUapcmmnzDiN97jabaEGVnNiMSJ0N3BhTawsgEcvCViH1ysWPL+V5taryPGMoOzR0Kivd0F5UU7xj0GneqyRshJWu5p61q9pGUs6IKAOt89ClAtXhv9ZYzv7ovKF9Ey1Uri2CfygjQ6dXlUgQmj7L8/TrB9msSWXdkfo54bls4QxJEWLJwdKmmJXDEt4jIjKfd1rQ13bJ
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM5PR0701MB1731;
x-ms-traffictypediagnostic: AM5PR0701MB1731:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=balazs.kovacs@ericsson.com;
x-microsoft-antispam-prvs: <AM5PR0701MB17310D53D7BED39AAA4D52CF836A0@AM5PR0701MB1731.eurprd07.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(37575265505322)(28532068793085)(158342451672863)(10436049006162)(192374486261705)(138986009662008)(788757137089)(21748063052155);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231254)(944501410)(52105095)(3002001)(10201501046)(93006095)(93001095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:AM5PR0701MB1731; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0701MB1731;
x-forefront-prvs: 0682FC00E8
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(39380400002)(396003)(366004)(376002)(346002)(199004)(189003)(13464003)(252514010)(575784001)(85182001)(186003)(229853002)(14454004)(26005)(86362001)(59450400001)(486006)(66066001)(11346002)(6506007)(476003)(606006)(25786009)(5250100002)(966005)(2501003)(478600001)(3280700002)(53546011)(3660700001)(68736007)(446003)(102836004)(1941001)(93886005)(6436002)(2906002)(33656002)(99286004)(790700001)(85202003)(97736004)(74316002)(106356001)(105586002)(7696005)(76176011)(6246003)(316002)(561944003)(110136005)(9686003)(6306002)(54896002)(236005)(53946003)(2900100001)(8936002)(5660300001)(53936002)(55016002)(8666007)(81156014)(6116002)(7736002)(3846002)(81166006)(8676002)(9326002)(579004); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0701MB1731; H:AM5PR0701MB2337.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: pK+VfafCnQaMH3zT6MBILNrrBp+RVtIiZ6RLDaoSpp1yecKebrzdtootV4od3SJYLzszTYhsV+46x7KNXAUqp5+Zc3mWXMyjtAc5O2pEuLZ7CzwlTKCIHe4hPlr9H3VWjtJcvsE4JEfixRBK4oGQlAFrktE3DuIsu117PG2sthegsL48MWlqMpwBkAI1hn2B
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_AM5PR0701MB233753431E8FBB6059ABE98D836A0AM5PR0701MB2337_"
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: bff2a84c-3cb1-4c60-02ac-08d5c14910c7
X-MS-Exchange-CrossTenant-Network-Message-Id: bff2a84c-3cb1-4c60-02ac-08d5c14910c7
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2018 07:36:29.9633 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0701MB1731
X-OriginatorOrg: ericsson.com
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrHKsWRmVeSWpSXmKPExsUyM2K7jW5TNlu0Qf86JYsDc9gtpm66zerA 5LFkyU8mj+tNV9kDmKK4bFJSczLLUov07RK4Mr73bmQvePGRteL14f1MDYwr7rF2MXJySAiY SLz8cY2pi5GLQ0jgCKPE1MkzoJwtjBJ3nt1lhHC+MUocPngIKrOESeLqvCVgGRaBCcwSX05M hyqbziTx+OQjqLJnjBLnus+CrWETcJY4/+IxE4gtIuAjcenzLLC4sIC7xKVdO5kh4h4SW49+ YIWwkyQ2z+xlAbFZBFQl3h09BdbLK5AgcWL7fzaobSwSC8/tAiviFLCXmNjaxA5iMwqISXw/ tQasgVlAXOLWk/lMEL8KSCzZc54ZwhaVePn4HzQMlCRmvLoFZctKXJrfDfaOhMA2JonbT8+z QyR0JT5MncoMkdjBKNF78hfQZg4gR0di0mtfiMWxEjte34Gqz5e4eecCVP1qRomTH59AbZCT WNX7kAUicYhZYsa0SewTGA1mIbkWws6X+P3gGuMssLcFJU7OfMIyC2gfs4CmxPpd+hAlihJT uh+yQ9gaEq1z5rIjiy9gZF/FKFqcWlycm25kpJdalJlcXJyfp5eXWrKJEZiKDm75bbWD8eBz x0OMAhyMSjy8rmFs0UKsiWXFlbmHGCU4mJVEeBckAYV4UxIrq1KL8uOLSnNSiw8xSnOwKInz OqVZRAkJpCeWpGanphakFsFkmTg4pRoYG5Mu78nq/cXwMy33ftvXAIcnlZ85tmZwzvO4pOP9 POK7wXGpjquPq8q16+SuOW/6H20XzLR/x4fCCe/XuWUk/W47s1+X6WuZXq/dBztzJ8agGbz5 xzxv8fbGPxLnYTyRuWa2xt65zyrOdIulqUfJiIg6ZGYtWmqSYjRRtrzyWXDFqRPP2S2UWIoz Eg21mIuKEwFNO61wQQMAAA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/TL7AKFT5eZAdwwix5NeqiYQ4gMM>
Subject: Re: [Netconf] Adoption poll for crypto-types and trust-anchors
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
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: Thu, 24 May 2018 07:36:41 -0000

Hi Kent,

I did not respond to your answers. Sorry for the delay.
Please see below.
Br,
Balazs


From: Kent Watsen <kwatsen@juniper.net>
Sent: Monday, May 14, 2018 7:31 PM
To: Balázs Kovács <balazs.kovacs@ericsson.com>; netconf@ietf.org
Subject: Re: [Netconf] Adoption poll for crypto-types and trust-anchors

Hi Balazs,

Please see <Kent> below.


On 5/14/18, 4:50 AM, "Balázs Kovács" <balazs.kovacs@ericsson.com<mailto:balazs.kovacs@ericsson.com>> wrote:

Hi Kent,


Couldn’t you use the existing ‘private-key-grouping’ and  ‘certificate-grouping’ which were in draft-ietf-netconf-keystore-04 instead of this new ‘asymmetric-key-grouping’? Is there any drawback with that? I think it looked better than with having this new certificate feature within the grouping. They also contained some actions that you missed now.



<Kent> As for drawbacks, having the two separate groupings makes them, well, less connected.  I thought that it might be good to bring them together.  That said, so long as the keystore container exists (assuming we bring it back), the consumer doesn't care if it used one or two groupings.  I'm open to discussing this more.  Also, the action statements were only left out to keep things easier to scan, the final module would still have them.



Balazs> How global is a feature statement? SSH implementations might only have private/public key support, but TLS with certificates within same running device. I would still like it to be possible to express certificates for TLS, but keys only for SSH.



The keystore container looks good to me if it was using ‘private-key-grouping’ and  ‘certificate-grouping’. I assume the trust anchors would be fully separated from this?



<Kent> great, it's good to get a positive confirmation on the keystore container.  Regarding if trust-anchors would be kept separate (assuming we bring the keystore container back), that is a good question.  On one hand, I like the modularity of keeping them separate but, on the other hand, we may want them together so that a) any protection mechanism used to keep the private keys safe could also be used to ensure that the trust-anchors are immutable and b) the certificate-expiration notification could apply to both.   I don't feel strongly about (a), and it seems that a separate trust-anchors could also be protected.   (b) would be nice, though the same notification could be defined in both modules with no loss of functionality.  Thoughts?



Balazs> I tend to lean toward separate modules for keystore and trust anchors, but don’t have a concrete preference.





Regarding the new ‘local-or-external-asymmetric-key-grouping’, after checking with Balazs L. here, we would suggest that 1) the choice is mandatory 2) the cases are in features, thus an implementation must implement at least one of the cases, and can decide to go for local or external keystore. Regarding the naming, since the external is deliberately pointing out keystore usage, should the grouping be called ‘local-or-keystore-asymmetric-key-grouping’?


<Kent> yes, mandatory true and feature statements would round it out the grouping nicely.  Good suggestion on the naming too.

Balazs> Great.

Kent // contributor



Br,

Balazs





From: Kent Watsen [mailto:kwatsen@juniper.net]
Sent: Friday, May 11, 2018 4:10 PM
To: Balázs Kovács <balazs.kovacs@ericsson.com<mailto:balazs.kovacs@ericsson.com>>; netconf@ietf.org<mailto:netconf@ietf.org>
Subject: Re: [Netconf] Adoption poll for crypto-types and trust-anchors

Hi Balazs,

Good point.  Perhaps we could have something like:


grouping asymmetric-key-grouping {
  leaf algorithm { … }
  leaf private-key { … }
  leaf public-key { … }
  container certificates {
    if-feature certificates;
    list certificate {
      key name;
      leaf name { type string; }
      leaf cert { type ct:x509 }
    }
  }
}

container keystore {
  container keys {
    list key {
      key name;
      leaf name { type string; }
      uses asymmetric-key-grouping;
    }
  }
}

grouping local-or-external-asymmetric-key-grouping {
  choice local-or-external {
    case local {
      uses asymmetric-key-grouping;
    }
    case external {
      leaf reference {
        type leafref {
          path "/keystore/keys/key/name";
      }
  }
}

And then downstream modules can choose to which of the two groupings to use.   Thoughts?

Kent


On 5/11/18, 3:40 AM, "Balázs Kovács" <balazs.kovacs@ericsson.com<mailto:balazs.kovacs@ericsson.com>> wrote:

Hi Kent,

Some comments for 2):

I think it all boils down to how the operator defines an identity. If an identity is a protocol, then there would be separate keys for each, if an identity is a group of protocols, then they use the same key. In the end it could be just the device operating a collection of protocols defined as identity. I think the model cannot really restrict how an identity is defined, but it can certainly make it harder or easier to reach the desired configuration. For example, even with the latest version of the keystore draft with the grouping, I can copy the same binary data (the private key) over to all protocols implementing the grouping. However, I would prefer to not configure it by copying binary data, but rather configuring it once and then just set the leafrefs properly. So my take would be that ietf-keystore should support using the same key from multiple protocols, and support separate keys for each protocol too.

Br,
Balazs

From: Kent Watsen [mailto:kwatsen@juniper.net]
Sent: Monday, May 07, 2018 5:58 PM
To: Balázs Kovács <balazs.kovacs@ericsson.com<mailto:balazs.kovacs@ericsson.com>>; netconf@ietf.org<mailto:netconf@ietf.org>
Subject: Re: [Netconf] Adoption poll for crypto-types and trust-anchors

Hi Balazs,

Regarding your two concerns:

1) you're right about that, if added later, it may not be widely implemented.  Back to the technical discussion, some important points have been raised.  Perhaps it is better after all to keep ietf-keystore, the -03 version, before the private key was converted to being a grouping.  Right now, the adoption poll is showing weak support, and this seems to be the core issue.  Hearing from others on this point would be very helpful!

2) There is a difference, the trust anchors can be a large list that sharable by many modules.  For instance, an admin wouldn't want to configure the same set of trust anchors once for RESTCONF and again for NETCONF.  However, private keys are generally application-specific, each having their own.  Sometimes more than one app might share a private key (e.g., /etc/ssl/private/), but this isn't very common.  Maybe the question isn't how common it is, but if it MUST be supported.  For instance, I know that many services (HTTPS, POPS, IMAPS, anything with `stunnel`, etc.) can all be configured to use the same private key.  MUST ietf-tls-server be able to support this?

Kent // contributor


On 5/7/18, 9:47 AM, "Balázs Kovács" <balazs.kovacs@ericsson.com<mailto:balazs.kovacs@ericsson.com>> wrote:

Hi Kent,

I believe between SSH/TLS implementations using keys in clear and a persistent storage there has to be some protection layer for the keys, and keystore did a good job representing the management aspects of this layer. Obviously, this layer is possible to get implemented without a keystore model, but then I think the user side of the keys (e.g., Netconf/Restconf) have to be flexible enough to handle keys locally or refer to central point of management (if anyone would implement that in addition).

Regarding your example with TPM, if considering the most simplistic case, wouldn’t referencing a TPM key be adequate just through presenting the public key value? I guess that could be done without a keystore, and at least is shown that a key is operational for the user-side protocol.

To sum up, I have the following concerns:

-        Centralized management of keys/identity certificates/credentials as standard was appealing to us and we would still prefer it; however, we would be probably ok to have it as future work, if you prefer that. The user side of the keys (e.g., Netconf/Restconf) should be flexible enough to handle keys as both referenced and local data (for example, choice with only one standard case?).
-        I don’t understand the idea behind keeping the trust anchors in central model versus the keys in local model. What is the rationale behind this split?

Best Regards,
Balazs

From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Kent Watsen
Sent: Friday, May 04, 2018 8:41 PM
To: netconf@ietf.org<mailto:netconf@ietf.org>
Subject: Re: [Netconf] Adoption poll for crypto-types and trust-anchors

Following up on this, I did think of a way enable configuration to specify, e.g., which DevID cert to use for a factory-defined private key.  The idea is to change the private-key grouping to reference certificates from the "trust-anchors" data tree (as opposed to locally-storing the certificates).  A 'union' or a 'choice' may allow for both options.

What I don't like about this proposal is that it is conceptually muddies what is a "trust anchor".  Currently, trust anchors are exclusively used to authenticate remote devices, whereas the DevID certificates are more about how the device authenticates itself to remote devices; furthermore, DeviD certs are the end-entity half of the certificate-chain (not the issuer-half).  Yes, in both cases, the partial chain is manifested as one or more X.509 certificates, and thus syntactically the same, but it still doesn't seem right to call them "trust anchors".

Perhaps we could define some other top-level data-tree for "identity certificates", which could include both a private key and its associated certificates.  This would be the "future TBD thing" mentioned below.   I can see this working, but is it any better to have separate "trust-anchors" and "identity certificates" trees, or a single "keystore" tree that contains both?   One benefit to having a single keystore module is that then the "certificate-expiration" notification has more value, applying to both identity and trust anchor cert, as it's good to know when either types of certificate is expiring.

Kent // contributer


On 5/3/18, 12:58 PM, "Netconf on behalf of Kent Watsen" <netconf-bounces@ietf.org<mailto:netconf-bounces@ietf.org> on behalf of kwatsen@juniper.net<mailto:kwatsen@juniper.net>> wrote:

Hi Balazs, and Balazs,

Thanks for permission to forward this thread to the list.  All, please be sure to read the message below too.

Yes, I'm aware and familiar with various key protection strategies.  The current ietf-keystore module was modeled after MacOS's "keychain access", but it didn't define a protection layer (e.g., internally encrypted and with an access-controlled API), though one could be added later.  The keystore module is very much in-line with what you write and, for that, I think it counts as a "no/do not support" of sorts.

The reason why we're proposing to move away from the keystore module was prompted by Juergen, who questioned if any implementations of SSH or TLS use a KMS and are we creating unnecessary complexity.  As it stands, the current proposal still has SSH/TLS implementations referencing a global "trust-anchors" store, so there is still "complexity", at least in terms of there being a dependency.

The current proposal moves the storage of private keys from being in a centralized keystore (where they can be leafref-ed) to each instance of a ssh/tls client/server.  By doing so, we think that it is less complexity, though I'm not convinced, since the definition of the private key itself is the same, it's just now not leafref-ed.  Perhaps this is an incremental step, whereby we next abandon using the private-key groupings altogether for SSH-specific and TLS-specific variants.  This is very possibly needed, and I might add that no one has implemented any of these modules, AFAIAA.

Adding to this discussion, I was yesterday wondering, with the two new drafts, how a client would configure a server to use a TPM-protected private key and its associated IDevID certificate.  Note that this key and cert are "configured" by the manufacturer and thus, somehow, must be *referenced* (not stored locally) by the ssh/tls client/server modules.   I was able to find a way to reference the private key (via its public key), but I was never able to figure out how to reference the DevID cert (IDevID or LDevID?).    I was thinking that, if we don't go back to using the keystore module, we might be able to modify the private-key grouping definition to enable it to either be locally stored  or be a reference to some future TBD thing.  I haven't tried to do this yet, but being able to do this seems important, and therefore may sway my support for disbanding the keystore module/draft…

Kent // contributor


On 5/3/18, 7:08 AM, "Balazs Lengyel" <balazs.lengyel@ericsson.com<mailto:balazs.lengyel@ericsson.com>> wrote:


Hello Kent,
I would like to add that in Ericsson the preferred solution is central storage for keys. It makes administration and enforcement of good security practices simpler for the operator.
regards Balazs Lengyel
(Feel free to forward this to the list.)

-------- Forwarded Message --------
Subject:

FW: [Netconf] Adoption poll for crypto-types and trust-anchors

Date:

Thu, 3 May 2018 11:15:57 +0200

From:

Balázs Kovács <balazs.kovacs@ericsson.com><mailto:balazs.kovacs@ericsson.com>

To:

Balázs Lengyel <balazs.lengyel@ericsson.com><mailto:balazs.lengyel@ericsson.com>



Bocs, bcc lemaradt



-----Original Message-----

From: Balázs Kovács

Sent: Thursday, May 03, 2018 11:16 AM

To: Kent Watsen <kwatsen@juniper.net><mailto:kwatsen@juniper.net>

Subject: RE: [Netconf] Adoption poll for crypto-types and trust-anchors



Hi Kent,



I know you might prefer me sending this to the list, but I try this way first. I was a bit away from keystore works and did a quick check. I see you have the below poll ongoing, and I've seen the presentation you had in London.



I must say it was a bit surprising to me backing out from centralized keystore model and the statement of centralized keystore being uncommon. Storage of keys is a security sensitive and problematic area. Secret keys at rest usually need to be encrypted. The provisioning or storage of secret encryption keys, the secure storage, and rotation of keys are a complicated enough matter so that it justifies centralized key store implementations. There are centralized key management systems such as Hashicorp Vault, Azure Key Vault, Google Cloud KMS, OpenStack Barbican, etc.. that solve the above matters. These SW can be used by an implementation to outsource the key management issues, and even if it is outsourced, outsourcing from a central implementation does give benefit since the client usually also needs some client credential that is access controlled on KMS server side.



The other aspect I saw as benefit in centralized keystore was on the YANG interface side. As long as only machines are assumed to operate on these IETF modules, I assume distributed management of keys doesn't matter much, but when it starts to drive human interfaces directly then the configurations of protocols that import and use these security groupings become quite complex. Ok for this one you still have the trust anchors, but for keys the central model was dismissed, but for management aspect, I really don't see why is the difference.



Can you clarify? Have you considered KMS implementations when making this proposal of removing keystore?



Br,

Balazs



-----Original Message-----

From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Kent Watsen

Sent: Tuesday, May 01, 2018 11:57 PM

To: netconf@ietf.org<mailto:netconf@ietf.org>

Subject: Re: [Netconf] Adoption poll for crypto-types and trust-anchors





[I'll get the ball rolling, please, others chime in too]



I support the adoption of these two drafts to replace the existing keystore draft.



Regarding the "certificate-expiration" notification defined in ietf-crypto-types, I would like to discuss removing it, or moving it to be a descendent of the "certificates-grouping" grouping (also in ietf-crypto-types) and maybe also place a copy of the notification in the ietf-trust-anchors module.  That said, I don't like having several otherwise identical notifications in different namespaces, but I do like how the server can incrementally add support for expirations on a feature-by-feature basis.



Kent // contributor





===== original message =====



This is the start of a *two* week poll for adopting the following two drafts as working group documents, specifically to replace draft-ietf-netconf-keystore, which would be removed as a working group document:



  draft-kwatsen-netconf-crypto-types-00

  draft-kwatsen-netconf-trust-anchors-00



This call for adoption is the result of the Keystore draft presentation given in London.  When the various options were discussed, most preferred to move forward with these two drafts, as opposed to looking to do more factoring or extending to scope to include things not needed by our various client/server drafts.  No one expressed interest in moving forward with draft-ietf-netconf-keystore.  While we could separately confirm this result again on the list, we believe that an adoption call more efficiently achieves two goals at once.



Please send email to the list indicating "yes/support" or "no/do not support".  If indicating no, please state your reservations with the document.  If yes, please also feel free to provide comments you'd like to see addressed once the document is a WG document.



Kent (and Mahesh and Ignas)









_______________________________________________

Netconf mailing list

Netconf@ietf.org<mailto:Netconf@ietf.org>

https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netconf&d=DwICAg&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=9zkP0xnJUvZGJ9EPoOH7Yhqn2gsBYaGTvjISlaJdcZo&m=qXS002RrOOkzqTDm70cWjg7eJeWqtpC_anWUcc9a_3I&s=1W689R8ht-U3FoffJ5uTT24SAPRtiQ9a9B3VxQxM_Wg&e=





_______________________________________________

Netconf mailing list

Netconf@ietf.org<mailto:Netconf@ietf.org>

https://www.ietf.org/mailman/listinfo/netconf<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netconf&d=DwMD-g&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=9zkP0xnJUvZGJ9EPoOH7Yhqn2gsBYaGTvjISlaJdcZo&m=dy-Dg3ToTuGVBuY3XcOLDkV_tW3vuQDSz6i1wawzjjM&s=4zwr17et_2w1it4jlw_k1ksQ-q-v7_iTSKUI4E_yK4g&e=>

--

Balazs Lengyel                       Ericsson Hungary Ltd.

Senior Specialist

Mobile: +36-70-330-7909              email: Balazs.Lengyel@ericsson.com<mailto:Balazs.Lengyel@ericsson.com>