Re: [netconf] ietf crypto types - permanently hidden

Martin Bjorklund <mbj@tail-f.com> Tue, 07 May 2019 12:19 UTC

Return-Path: <mbj@tail-f.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 B5DEF1200BA for <netconf@ietfa.amsl.com>; Tue, 7 May 2019 05:19:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 3z_tSylUuGUy for <netconf@ietfa.amsl.com>; Tue, 7 May 2019 05:19:26 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 87DA5120059 for <netconf@ietf.org>; Tue, 7 May 2019 05:19:26 -0700 (PDT)
Received: from localhost (unknown [173.38.220.61]) by mail.tail-f.com (Postfix) with ESMTPSA id 562AD1AE0398; Tue, 7 May 2019 14:19:23 +0200 (CEST)
Date: Tue, 07 May 2019 14:19:26 +0200
Message-Id: <20190507.141926.1879619200930898148.mbj@tail-f.com>
To: rwilton@cisco.com
Cc: kent+ietf@watsen.net, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <e6930b6e52a642bda9f1bd76731ce9c3@XCH-RCD-007.cisco.com>
References: <0100016a7e7a9e54-d4987061-96d8-49f3-a2bf-36b98851b3a3-000000@email.amazonses.com> <0100016a7e822689-e6fdbdbe-ba84-43e1-aefe-47196fe692e3-000000@email.amazonses.com> <e6930b6e52a642bda9f1bd76731ce9c3@XCH-RCD-007.cisco.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/wDHGE6a-Q5ixVz7skwVmvRpq-NU>
Subject: Re: [netconf] ietf crypto types - permanently hidden
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: Tue, 07 May 2019 12:19:29 -0000

"Rob Wilton (rwilton)" <rwilton@cisco.com> wrote:
> Hi Kent,
> 
> The problem that I have with <generate-key> generating configuration
> directly in <running> is that <running> on the device is now different
> from what the management system thinks should be in <running> on the
> device.
> 
> I.e. it breaks the architectural simplicity that it is only the client
> that controls what goes into in <running>, e.g. perhaps that can be
> summarized by this flow:
> 
> "Update client's desired    ->   "Push to
> config"                         <running>"
>           ^                        |
>           |                        \/
> "Client notified of         <-   "Apply config,
> changes in <operational>"       <operational> updated"
> 
> 
> However, I would not be opposed to allowing <generate-key> create
> configuration that is persisted separately from <running> and injected
> into <intended> (e.g. merged with <running>)

But this isn't really allowed by the architecture in 8342, imo.  If
this would have been the case, we'd have another box with config going
into "intended".  8342 allows "configuration transformations" between
running and intended.

> , hence allowing leaf-refs
> in config validation to work as expected.  I think that this would
> allow device reboot to work as expected.
> 
> If the clients would like to see the keys in the configuration then
> they can monitor <operational> (or <intended>), and then add the keys,
> either in raw form, or encrypted in some way.  But I still think that
> it is architecturally cleaner if it is always the client that updates
> the <running> configuration and never the device.

I agree.  I think it would be worthwile to explore the
"non-action-based" solution that Rob proposed.  Is there anything in
that solution that doesn't work?


/martin



> 
> Thanks,
> Rob
> 
> 
> 
> From: netconf <netconf-bounces@ietf.org> On Behalf Of Kent Watsen
> Sent: 03 May 2019 17:24
> To: netconf@ietf.org
> Subject: Re: [netconf] ietf crypto types - permanently hidden
> 
> I had an idea last night that might inch us closer to a solution.
> 
> Essentially, the generate/install-key operations always populate
> <operational>, even for keys that are not-hidden, but then a follow-up
> operation (something like <copy-config>) replicates the not-hidden key
> in <operational> to <running>.  Two options:
> 
> 1) A regular-access admin executes the actions to generate the key,
> get a CSR, configure a resulting signed certificate, etc. and then, as
> a second step later in time, a special-access admin replicates the key
> to <running> (perhaps using standard <get-confg> and <edit-config>),
> so that it can be included in a standard backup and restored to *any*
> device (since this key is "not-hidden", it isn't encrypted with a
> device-specific key and hence can be migrated).
> 
> 2) A regular-access admin executes the actions to generate the key,
> get a CSR, configure a resulting signed certificate, etc. and then, as
> a second step (ideally immediately after), the regular-access admin
> executes a command like <copy-config>, but rather than copying the
> entire datastore, it just copies a subtree.
> 
> Neither option seems great.  #1 is unappealing being it necessitates
> coordination between clients.  #2 is unappealing because defining a
> generic operation for this special case seems too much.
> 
> IMO, allowing <generate-key> to create the configuration directly is
> the only client-friendly answer.
> 
> 
> Kent // contributor
>