Re: [nfsv4] Comments on draft-ietf-nfsv4-integrity-measurement-07

Craig Everhart <cfeverhart@gmail.com> Mon, 28 October 2019 16:05 UTC

Return-Path: <cfeverhart@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 162E6120883 for <nfsv4@ietfa.amsl.com>; Mon, 28 Oct 2019 09:05:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 hnSuLclKMxsI for <nfsv4@ietfa.amsl.com>; Mon, 28 Oct 2019 09:05:27 -0700 (PDT)
Received: from mail-pg1-x531.google.com (mail-pg1-x531.google.com [IPv6:2607:f8b0:4864:20::531]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 04569120839 for <nfsv4@ietf.org>; Mon, 28 Oct 2019 09:05:24 -0700 (PDT)
Received: by mail-pg1-x531.google.com with SMTP id 15so7170052pgt.7 for <nfsv4@ietf.org>; Mon, 28 Oct 2019 09:05:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tDo3a6n8VU5+Mto3Ctcjw1z0G37bBNNrA5NT8e/N7BM=; b=pkx1xH2HiP7qnwLjTSZZvdSZOomSig9+2TURMUrfHyYB8fcMT0BqEScFJEL+cef3AK E5h5gxFfurexEQ96eQZh34D9ZxNX15HQppKmhgoQUvHlEIRL+F7x9+NcmzJloWAFQG0g WNsnvamE465ekrv2lPJCOK9keRQcR18rbTtzqWkaCuIpyWka9yNjWdrZJiHXQxpGm8xQ RHdpTjG31WyukUbvLZB0+NW2k8IGfuWoApufa6zlv/jI/91USqV0wvWKWqOcazknUfq9 z+d/BosYnsWgoMn770dMD7CnuvrndYh44ZAhtVtPf+bSGrldd9h6v5gAc/X6vc5VXcJ+ E2Cw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=tDo3a6n8VU5+Mto3Ctcjw1z0G37bBNNrA5NT8e/N7BM=; b=aOrn7usa0Vdf3hdblZK+QY6CjRxNr705ky/SOLZ3EQOExAtAJ6pwwHTmPw5ZpXvMTa umeHVg3zEEsPFmlju6D1fPMrfeUFxg6VAeXBOu48y3j37jMJHFUuL9v0U2+wFHjIjcch iwBuZcubVk4EJeUuztVegnmL6/4PYZCLYDr2PqUkOHkiwGxbWD+w/BvfkWg+vZz3fBry aU0YmZ/FTg7bOgiiQrx5N9Fly0vttNyBFlw1gWMzcn/sPyfsr5BbkTR5mrknFifmp9r8 NTpISUSdatYrjg8zzs54hBAH+c4YhpKn19CZCNhkYxwgi2qY29A4cF5s5XvtT97aThY5 EUJw==
X-Gm-Message-State: APjAAAXsfUlF1swetUzqmsP2QycTuzrOUeclKcdjBquOyYuCOC8EjdUi qAW/QneGIid31N9oUmXZcMePl04LnYG22cRB81Q=
X-Google-Smtp-Source: APXvYqyR7fH0PrFuAA8zPSKo0BCU7P9jehXCAiiQt1iwCU+AaW+5bqI4pG8XXAokowgXfbco3GV9xioiyX3amhU1G5w=
X-Received: by 2002:a62:3441:: with SMTP id b62mr20583125pfa.12.1572278723227; Mon, 28 Oct 2019 09:05:23 -0700 (PDT)
MIME-Version: 1.0
References: <CAFt6BakApq=FJWs+r-jwxvTdXYs9yOg9KS47no93kdnp2gZ_+Q@mail.gmail.com> <9BEBDE7A-522A-4A6B-8132-D9C3A8A4922C@oracle.com>
In-Reply-To: <9BEBDE7A-522A-4A6B-8132-D9C3A8A4922C@oracle.com>
From: Craig Everhart <cfeverhart@gmail.com>
Date: Mon, 28 Oct 2019 12:05:12 -0400
Message-ID: <CAMhwm9_T12QBC5_Yxe2c2MYmbb3ZZjhRYZ5OXm58zxuZ2vS+0w@mail.gmail.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: spencer shepler <spencer.shepler@gmail.com>, NFSv4 <nfsv4@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000c936470595faaa95"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/qIew2Pxiamz7ozgjn-N5WoU4KcM>
X-Mailman-Approved-At: Mon, 28 Oct 2019 09:09:56 -0700
Subject: Re: [nfsv4] Comments on draft-ietf-nfsv4-integrity-measurement-07
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 28 Oct 2019 16:07:36 -0000

I (could) have a specific alternative proposal.

It would be based on an articulation of exactly what should be the contents
of an integrity "blob"--e.g., something like an HMAC_SHA256 computation
based on the file contents and a specific authorizing key, presumably
associated with the originating provenance of the file: some private key
associated with an originator's certificate, or a PSK.

The question would then be how the consumer of the provenance blob is to
verify that the HMAC value correctly identifies the given file.  In other
words, all the questions that I've had for this architecture from the
beginning.

It would not be pre-built into Linux, but it would be something that
multiple independent parties could know how to create and validate.

Craig

On Mon, Oct 28, 2019 at 11:00 AM Chuck Lever <chuck.lever@oracle.com> wrote:

> Hi Spencer, thanks for taking time to review this document. Responses
> to individual comments are below.
>
>
> > On Oct 28, 2019, at 2:50 AM, spencer shepler <spencer.shepler@gmail.com>
> wrote:
> >
> >
> > Feedback and comments on the draft “Integrity Measurement for Network
> File System version 4” - draft-ietf-nfsv4-integrity-measurement-07.
> >
> >
> > Note that these comments are personal contribution and do not reflect my
> position as working group co-chair.
> >
> > In short, I am opposed to moving this draft to last call in its current
> state.  Generally, the draft describes the Linux implementation of a
> feature that is to be extended via NFS.  However, the description provided
> is insufficient for interoperable implementations to be achieved.
>
> Issues about interoperation have already been raised and addressed
> multiple times both on the mailing list and in presentations at IETF
> meetings. The metadata stored in this attribute is opaque to the NFS
> protocol and implementations, just like file data is opaque.
>
> The metadata is not created by the NFS implementation; it is created
> by a user space tool. It is not interpreted by the NFS implementation;
> it is interpreted by a separate privileged security module.
>
> NetApp, for instance, could create a fully interoperating implementation
> today, based solely on this document, simply by enabling clients to store
> and retrieve this attribute. There is no more to it than that.
>
> NFS, in this case, is used as a transport. It is an intermediary. There's
> no reason it needs to interpret the metadata. It's only job is to ensure
> that data and metadata is not maliciously or accidentally altered.
>
>
> > There are two options, in my opinion, to moving this document forward:
> >
> > 1)  Limit the description to the addition of the new, opaque attribute
> and corresponding errors that can be returned as a result of the
> interpretation of that attribute.
> >
> > 2)  Fully define the contents of the new attribute such that independent
> implementations can be achieved. This would include, but is not limited to,
> the open definition of the content of the new attribute and the procedures
> associated with defining new content and interpretation thereof.
> >
> > If option 1) were chosen, I would still be of the opinion that the draft
> should not move forward since it would present another barrier to open,
> interoperable implementations.
>
> "To move this document forward, pick option 1 or 2. But if you pick option
> 1, I will still object."
>
> That means there is really only one option in your opinion. I have
> repeatedly
> stated why option 2 is not practical or necessary. The nfsv4 working group
> and the IETF does not want to be the bearer of the IMA standard for Linux.
>
> Further, there is no need for it do so, because the metadata stored in this
> attribute is opaque to the NFS protocol and to NFS implementations.
>
> "Barrier to open implementations." The Linux implementation is open source.
> It would certainly be possible to port the Linux implementation, or with a
> little more work, provide a clean-room implementation. In an era in which
> open source dominates, "open" no longer means just that there is an open
> standard. Maybe "open" is not what you actually meant here.
>
> Seems to me that rejecting a protocol mechanism that enables the use of a
> data format with an open source implementation but no published standard is
> also a barrier to open implementations.
>
>
> > Note that I am also doubtful of the use case being presented. Using NFS
> to directly store and supply application executables seems to be in rapid
> decline or has already fallen out of use.  Given the rise of virtualization
> and the hosting of virtual disks on NFS along with the rise of containers
> and distribution thereof, application distribution seems to be a thing of
> the past with respect to their store/retrieval from NFS mounts.
>
> Do you have evidence that this change is taking place? Sharing the same
> application executable on NFS seems pretty common in Oracle deployments.
>
> Do you believe IMA is not also useful for the read-only virtual disk use
> case?
>
> One reason that virtual disks are used is /because/ NFS does not support
> things like xattrs, capabilities, and integrity metadata. Otherwise,
> maintaining guest root filesystems on NFS would be a popular solution.
>
> How about protection of other types of read-mostly data like configuration
> files?
>
>
> > If the effort was more focused on more traditional data integrity from
> source to consumption, that would be a more interesting use case.  With the
> rise of large scale data center usage of NFS (e.g. cloud computing) where
> customers expect data integrity or the identification of failure, the scale
> of cloud computing presents many opportunities for the loss of data
> integrity and NFS (and the client and server implementations thereof) do
> nothing to ensure data integrity.  The draft does mention spot fixes of
> data-at-rest methods, and in-transit methods, but there are many points
> that present areas of potential failure, and these are ignored in today’s
> implementations (at least to this commenter's knowledge).
>
> There is no claim made in the document that this mechanism closes all
> integrity exposures. Can you identify particular areas that need to be
> addressed by this mechanism but are not? Do you have specific alternative
> proposals?
>
>
> --
> Chuck Lever
>
>
>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4
>