Re: [netmod] Kathleen Moriarty's Discuss on draft-ietf-netmod-revised-datastores-09: (with DISCUSS)

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Thu, 11 January 2018 07:52 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D0FE012EA96; Wed, 10 Jan 2018 23:52:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, T_RP_MATCHES_RCVD=-0.01, 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 s1B5reEJREvM; Wed, 10 Jan 2018 23:52:22 -0800 (PST)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7EE0412EA6A; Wed, 10 Jan 2018 23:52:22 -0800 (PST)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 46AC1EC0; Thu, 11 Jan 2018 08:52:21 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id j1qLh2nV4QlN; Thu, 11 Jan 2018 08:52:20 +0100 (CET)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Thu, 11 Jan 2018 08:52:21 +0100 (CET)
Received: from localhost (demetrius2.jacobs-university.de [212.201.44.47]) by hermes.jacobs-university.de (Postfix) with ESMTP id 2F7342013D; Thu, 11 Jan 2018 08:52:21 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius2.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id Atz0YzXAZeqN; Thu, 11 Jan 2018 08:52:19 +0100 (CET)
Received: from elstar.local (unknown [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 1DC512013C; Thu, 11 Jan 2018 08:52:19 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id 8BD4F420B3A8; Thu, 11 Jan 2018 08:52:18 +0100 (CET)
Date: Thu, 11 Jan 2018 08:52:18 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Kathleen Moriarty <kathleen.moriarty.ietf@gmail.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-netmod-revised-datastores@ietf.org, Lou Berger <lberger@labn.net>, netmod-chairs@ietf.org, netmod@ietf.org
Message-ID: <20180111075218.3tu65mthzlnef3bi@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Kathleen Moriarty <kathleen.moriarty.ietf@gmail.com>, The IESG <iesg@ietf.org>, draft-ietf-netmod-revised-datastores@ietf.org, Lou Berger <lberger@labn.net>, netmod-chairs@ietf.org, netmod@ietf.org
References: <151561207372.18313.8094240527199424975.idtracker@ietfa.amsl.com> <20180110194529.3myrio6vrvsn3jjh@elstar.local> <CAHbuEH6WXMU6RknQdfuq30zhbUycQtFRW54hOT9WkwR8g2Rsxg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
X-Clacks-Overhead: GNU Terry Pratchett
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAHbuEH6WXMU6RknQdfuq30zhbUycQtFRW54hOT9WkwR8g2Rsxg@mail.gmail.com>
User-Agent: NeoMutt/20171215
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/BRxhe-z2yzNpo-WfGtTNouCHj_M>
Subject: Re: [netmod] Kathleen Moriarty's Discuss on draft-ietf-netmod-revised-datastores-09: (with DISCUSS)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Jan 2018 07:52:25 -0000

Kathleen,

further thoughts inline...

On Wed, Jan 10, 2018 at 10:12:02PM -0500, Kathleen Moriarty wrote:
> Hi Juergen,
> 
> Thanks for your quick response.  Inline.
> 
> On Wed, Jan 10, 2018 at 2:45 PM, Juergen Schoenwaelder
> <j.schoenwaelder@jacobs-university.de> wrote:
> > On Wed, Jan 10, 2018 at 11:21:13AM -0800, Kathleen Moriarty wrote:
> >>
> >> ----------------------------------------------------------------------
> >> DISCUSS:
> >> ----------------------------------------------------------------------
> >>
> >> Hello,
> >>
> >> Thanks for your work on this draft.  I'm a little confused with some text in
> >> the draft and have a few questions.
> >>
> >> 1. The introductions says,
> >> "This architectural framework identifies a set of conceptual datastores but
> >>    it does not mandate that all network management protocols expose all
> >>    these conceptual datastores.  This architecture is agnostic with
> >>    regard to the encoding used by network management protocols."
> >>
> >> As such, the data stores could be exposed for some implementations, using
> >> whatever network management protocol (likely NetCONF or RESTCONF).  If this is
> >> the case, why doesn't at least some of the security considerations template
> >> apply for at least secure transport?
> >
> > The security considerations text is IMHO correct. The YANG modules defined
> > in this document do not define any accessible objects. Hence, the security
> > YANG template does not apply.
> 
> Could you make that more clear in the document?  The section from the
> introduction quoted above says it is possible if network management
> protocols expose the datastores.

I am still not sure what you find missing. A datastore is a container
for data.

- The structure and semantics of the data contained in a datastore is
  defined using YANG modules. YANG modules have security
  considerations text that discusses the specifics of the data modeled
  in a YANG module.

- The access to datastores is via management protocols such as NETCONF
  and RESTCONF. These protocols secure the data transport via SSH or
  TLS. In addition there is an access control system (NACM).

Datastores have been with us since the beginning of NETCONF but they
were kind of hardcoded and not extensible and not all data was
contained in datastores. What this document does is essentially to
introduce an architectural framework where all data is contained in
datastores and the set of datastores becomes extensible.

I assume the security template you have been referring to is the
template we use for YANG modules, i.e., the definition of the concrete
objects stored in a datastore. I do not see how this template relates
to the introductory text. The template only applies to the YANG
modules but as explained in the security considerations, these YANG
modules do not define any objects.

> >> 2. Section 5.3.4 - Is there any integrity protection on the origin information?
> >>  If not, can it be added or is there a good reason why it’s not possible?  I
> >> realize these are conceptual models that may or may not be exposed, but if
> >> exposed and used, wouldn’t some integrity protection on this be helpful?
> >
> > Can you clarify what you mean with 'integrity protection' in this
> > context and why you think origin attributes are special? The known
> > published network management protocols all use standard security
> > protocols (SSH and TLS). In general, security mechanisms are protocol
> > specific, I do not see how the architectual definition of datastores
> > requires discussion of special integrity mechanisms. Perhaps I do not
> > understand your concern.
> >
> 
> What I'm wondering here and wanted to discuss was really how the
> information on origin information will be used.  Does this information
> need to be from a source that can be validated?  If so, should there
> be some way to provide a MAC for the values for origin information in
> the data stores?  I am not referring to transport in this second
> question.  Your answer may be an explanation of how the origin
> information will be used that excludes any need for integrity
> protection.  I just wasn't clear on how the information from the data
> stores will be used from the draft.

The origin tells a client where a value in the operational datastore
is originating from. For example, if you see an IP address on an
interface, you can determine from the origin whether the IP address
was configured, learned say via DHCP or provided by the system
(e.g. an auto-configured link-local IPv6 address). One obvious value
is troubleshooting but this information can also help tools to
determine in which way the actual applied config differs from intended
config or what can be responsible for unexpected differences.

The source of the information is the device itself. Can this
information be validated? In general, not. Like pretty much anything
else that is reported by the device. If the device or its
NETCONF/RESTCONF server is lying at a client application, there is not
much we can do about it in general. (For some information, it may be
possible to cross check i.e. whether DHCP leases match up with learned
IP addresses.) But note that we always had to trust information
reported by devices, I do not see what the origin information is any
different. (In fact, in some data models we had special purpose origin
objects, in particular in forwarding table models.) There is no work
as far as I know to introduce some form of cryptographic signatures
for data exposed via NETCONF or RESTCONF.

That all said, and coming back to the first issue, I do think we
could actually say something about the origin annotation. RFC 7952
(which defined the syntax for metadata annotations) says in the
Security Considerations:

   Security implications of a particular annotation defined using this
   mechanism MUST be duly considered and documented in the annotation's
   definition.

So we should perhaps have text discussing the security implications of
the origin annotation. I would have to think a bit more what exactly
that text should say.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>