Re: [netconf] ietf crypto types - permanently hidden

tom petch <> Fri, 22 March 2019 16:28 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 927FB13121E for <>; Fri, 22 Mar 2019 09:28:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 0.247
X-Spam-Status: No, score=0.247 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RATWARE_MS_HASH=2.148, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id S2vASyFDk0Pe for <>; Fri, 22 Mar 2019 09:28:21 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id B56521311AA for <>; Fri, 22 Mar 2019 09:28:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1-btconnect-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+wOX6aP93Zc3QVcJtqlogPAO1sQiIlptPS+Hg5ukGeg=; b=REBtJcp+ygAE6Aoeb4hZV0KrM6Jena+tAbhbeLX5Ssd03i7m9tE6yXOc8ARx+LjSeP/8f2L9K1A0o+MxTC3C+phQ52ka/6w59ybo4qHSg+3QGqXjo2LKe3/AMVmfucRzhmOnfD3EqrpxQ2h4me+cw3ZP2tvo/j2G5yGZpLvouhY=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1730.14; Fri, 22 Mar 2019 16:28:15 +0000
Received: from ([fe80::4532:1dbd:fc8e:9bad]) by ([fe80::4532:1dbd:fc8e:9bad%6]) with mapi id 15.20.1750.010; Fri, 22 Mar 2019 16:28:15 +0000
From: tom petch <>
To: Balázs Kovács <>, Juergen Schoenwaelder <>
CC: Kent Watsen <>, "" <>
Thread-Topic: [netconf] ietf crypto types - permanently hidden
Thread-Index: AQHU4MxAQ+h2g0iALUGyp0wBm3vjjQ==
Date: Fri, 22 Mar 2019 16:28:15 +0000
Message-ID: <00b701d4e0cb$e79e9660$>
References: <> <> <>
Accept-Language: en-GB, en-US
Content-Language: en-US
x-clientproxiedby: LO2P265CA0467.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a2::23) To (2603:10a6:803:98::24)
authentication-results: spf=none (sender IP is );
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: Microsoft Outlook Express 6.00.2800.1106
x-originating-ip: []
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 51b586be-5faf-4847-14da-08d6aee3627e
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7193020); SRVR:VI1PR07MB4893;
x-ms-traffictypediagnostic: VI1PR07MB4893:
x-ms-exchange-purlcount: 2
x-microsoft-antispam-prvs: <>
x-forefront-prvs: 09840A4839
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(136003)(366004)(376002)(346002)(199004)(189003)(13464003)(51444003)(6306002)(86152003)(7736002)(50226002)(8936002)(61296003)(106356001)(105586002)(53936002)(81156014)(81166006)(6436002)(6512007)(9686003)(8676002)(6246003)(229853002)(966005)(4720700003)(478600001)(14454004)(110136005)(54906003)(316002)(1556002)(44736005)(2906002)(6486002)(5660300002)(68736007)(6116002)(3846002)(66066001)(305945005)(62236002)(44716002)(66574012)(84392002)(52116002)(86362001)(446003)(476003)(14496001)(81686011)(81816011)(76176011)(26005)(186003)(25786009)(99286004)(486006)(14444005)(256004)(4326008)(71200400001)(71190400001)(53546011)(6506007)(102836004)(386003)(97736004)(74416001)(7726001); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR07MB4893;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0; MX:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: 4sazlXp6oJsoyMtUMWWnS0XqmEFwSj5GrAeXMvJEhdI28vGzGn/xdocxRxv0kH3yupH2DWhMw1eYSHMN2Dnwry5FUGZyMi1cjZmZy4G8vSYexrrFA+fjwTuj3sJ/Wmbx34/cv5aPDgUtEvgalcgxlKia8aVrfOiFZR6xH3OszD/LJtO2pTqN2isrRqiGcYLybyo59BP7Emk9Zt7sLweT+Dw5N9o9PDkY47scuojbBSi4Fm2b1g7OQc1ROKb7Xd9obZLDZd+KTkUzMuX+mC+qjxYcjpLswnzgn1UEh+TnZTG+c1UZwnK8LYPVXXPLudFWR8pRqsWd3EtnMqM5QJ5jFlgJnoqouOkpovDN7bc3Gci9oEgWNapdxsIMttfsSrGWhcXYdHV6cBmrq/7gXbFDdWzB/kVNWZ85nFcSqRFY75w=
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 51b586be-5faf-4847-14da-08d6aee3627e
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2019 16:28:15.6545 (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-Transport-CrossTenantHeadersStamped: VI1PR07MB4893
Archived-At: <>
Subject: Re: [netconf] ietf crypto types - permanently hidden
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 22 Mar 2019 16:28:24 -0000

----- Original Message -----
From: "Balázs Kovács" <>
Sent: Friday, March 22, 2019 12:44 PM


I would really prefer the definition for 'hidden' as 'not accessible via
YANG protocols'. The explanation is that regardless of what method I use
to create/store the private keys, I still might not want the operator to
generate keys outside of the device or configure binary secret strings.


I think that the meaning of the term 'hidden' varies depending on which
part of the I-D you are reading.  The term is absent from the referenced
RFC, 8017 and 5915, which is probably not a coincidence.  Rather, the
terminology of the literature is of a key pair, made up of a public and
private key so the action
generate-hidden-key {
probably means generate-key-pair; but, in other places, the word
'hidden' clearly has different semantics and would probably best be
replaced by something else, such as inaccessible.

Tom Petch

I considered TPM protection for hidden keys is an option or example so
far, which adds limitations or additional complexity for moving keys,
but should not be the only option for hidden keys. The descriptions
mention TPM as example, then the rest of the text should align also to
keep that as example.


-----Original Message-----
From: Juergen Schoenwaelder <>
Sent: Thursday, March 21, 2019 4:29 PM
To: Balázs Kovács <>
Cc:; Kent Watsen <>
Subject: Re: [netconf] ietf crypto types - permanently hidden

I agree, I do not understand the second sentence either. My problem is
that I do not know what a 'real' private key is, are hidden keys
somewhat unreal? Or is "not hidden" = "real"?

The last sentence can probably be fixed; I think the intention was to
say that you can't backup and restore hidden keys by retrieving
configuration and restoring the configuration.

In general, I think we need a definition what a hidden key is. Is
something not exposed via a YANG interface a hidden key (but it may be a
regular key when using other device access methods)? Or do we require
that a hidden key is generally protected? I assume some people want to
have flexibility here but from the viewpoint of a security administrator
it matters a lot whether 'hidden' means 'generally not accessible' or
only 'not accessible via YANG protocols'.

The description of install-hidden-key seems to indicate a key is already
'hidden' if it only exists in <operational>. Is this really a 'hidden'
key or more an 'ephemeral' key?


On Thu, Mar 21, 2019 at 02:23:27PM +0000, Balázs Kovács wrote:
> Hi,
> The 'generate-hidden-key' action is meant for cases when the key must
be generated in the device and not the operator is configuring it. The
'generate-hidden-key' is said to produce a 'permanently-hidden'
asymmetric key. The description of 'permanently-hidden' is as follows:
>                 "The private key is inaccessible due to being
>                   protected by the system (e.g., a cryptographic
>                   hardware module).  It is not possible to
>                   configure a permanently hidden key, as a real
>                   private key value must be set.  Permanently
>                   hidden keys cannot be archived or backed up.";
> Th second sentence doesn't sound right. I can create a permanently
hidden key any time by calling the 'generate-hidden-key' action, or if
the device or the model allows I could even switch to non-hidden key, I
believe, by providing the binary. So I find the second sentence
irrelevant in this description.
> More importantly, I find the "Permanently hidden keys cannot be
archived or backed up" statement false. Isn't that implementation
specific how archiving is done? If a device puts the hidden keys on some
storage, it may still be possible to back them up. I would prefer to
remove this sentence and leave backup considerations to implementations.
> Could these changes be done?
> Br,
> Balazs

> _______________________________________________
> netconf mailing list

Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <>

netconf mailing list