Re: [netconf] a comment on draft-ietf-netconf-tls-client-server-15

Martin Bjorklund <mbj@tail-f.com> Wed, 23 October 2019 08:00 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 B5D6712002F for <netconf@ietfa.amsl.com>; Wed, 23 Oct 2019 01:00:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, 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 Q7xPP0tebnEO for <netconf@ietfa.amsl.com>; Wed, 23 Oct 2019 01:00:39 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 3A4B6120024 for <netconf@ietf.org>; Wed, 23 Oct 2019 01:00:39 -0700 (PDT)
Received: from localhost (h-4-44.A165.priv.bahnhof.se [158.174.4.44]) by mail.tail-f.com (Postfix) with ESMTPSA id 96B1E1AE018B for <netconf@ietf.org>; Wed, 23 Oct 2019 10:00:37 +0200 (CEST)
Date: Wed, 23 Oct 2019 10:00:37 +0200 (CEST)
Message-Id: <20191023.100037.513870875503945841.mbj@tail-f.com>
To: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <20191023.093715.2094043256766716320.mbj@tail-f.com>
References: <20191023.093715.2094043256766716320.mbj@tail-f.com>
X-Mailer: Mew version 6.8 on Emacs 25.2
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/IY2nUjrBo8AdoelN0jejohYG4XM>
Subject: Re: [netconf] a comment on draft-ietf-netconf-tls-client-server-15
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, 23 Oct 2019 08:00:41 -0000

Hi,

two more comments below.

Martin Bjorklund <mbj@tail-f.com> wrote:
> Hi,
> 
> This is not a full review, just one thing that I stubmled upon.
> 
> The model has (pruned to illustrate my point):
> 
>        container server-authentication {
>          nacm:default-deny-write;
>          must 'ca-certs or server-certs';
>          container ca-certs {
>            if-feature "ts:x509-certificates";
>            presence ...;
>            ...
>          }
>          container server-certs {
>            if-feature "ts:x509-certificates";
>            presence ...;
>            ...
>          }
>        }
> 
> 1.  If a server doesn't implement the feature ts:x509-certificates,
>     the model effectively becomes:
> 
>        container server-authentication {
>          nacm:default-deny-write;
>          must 'ca-certs or server-certs';
>        }
> 
>     This must expression will never be true, which means that it is
>     not possible to configure anything!
> 
> 
> 2.  When this grouping is used in ietf-https-notifs, it looks like
>     this:
> 
>   +--rw receivers
>      +--rw receiver* [name]
>         +--rw name           string
>         ...
>         |  +--rw server-authentication
>         |  |  +--rw ca-certs! {ts:x509-certificates}?
>                  ...            
>         |  |  +--rw server-certs! {ts:x509-certificates}?
>                  ...
> 
>    Now, the container 'server-authentication' has
>    nacm:default-deny-write, and its contents is mandatory (due to the
>    must expression).  This means that it is not possible to configure
>    a single receiver without explicit NACM rules for this container.  Is
>    that really the intention?

3.  You don't have a choice between ca-certs and server-certs, which I
    assume is intentional (they can both exist).  I think you need to
    explain what happens when both these are configured.


4.  The description of ca-certs and server-certs has:

      "A server certificate is authenticated if ..."

    But you don't specify what it means for a certificate to be
    authenticated.  If the intention is that the meaning depends on
    where it is used, the description of the grouping should specify
    this requirement.


/martin