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

Chuck Lever <chuck.lever@oracle.com> Tue, 29 October 2019 17:59 UTC

Return-Path: <chuck.lever@oracle.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 F018D1200F5 for <nfsv4@ietfa.amsl.com>; Tue, 29 Oct 2019 10:59:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.301
X-Spam-Level:
X-Spam-Status: No, score=-4.301 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=oracle.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 t4ebkWzjYsQJ for <nfsv4@ietfa.amsl.com>; Tue, 29 Oct 2019 10:59:15 -0700 (PDT)
Received: from aserp2120.oracle.com (aserp2120.oracle.com [141.146.126.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A0078120018 for <nfsv4@ietf.org>; Tue, 29 Oct 2019 10:59:15 -0700 (PDT)
Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9THn9tR141096; Tue, 29 Oct 2019 17:59:13 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=content-type : mime-version : subject : from : in-reply-to : date : cc : content-transfer-encoding : message-id : references : to; s=corp-2019-08-05; bh=2ns2dozsc5lJpgVdHuK6LvJ1DM59Xz+Me8+sMFfjaME=; b=cxjRqcJrQXWdCP9Pvcrl7LS+rtIMWMcqGJwadwQIiVTl6d6KNumQmri8tGBLDPYYoE5E Mnq0tHfP1wPTK/4g46d1pHaJwCCAy3lKAJyQLxUv2FpGY/PpiB/+/RparPJTpgF9roqq sVMR1Rgpxgf5H/hhltlNqDu1OaUpxRy6C6spgFZN67TMG9gLkF029B76+gBLmosgdi8y N62L+QlGOyPV7UIO7nfhUfe9Mj/PdEId3h10UQ2WUVZIpmMVacLupJnXmnCG7KFWbjw1 sMP179yU9BUwaGJw8hFANeKtLD+ezsGfh9MoODORuNK0dIJ31K9OUAtmB0jS1EFp8bQI cw==
Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by aserp2120.oracle.com with ESMTP id 2vve3qax9x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Oct 2019 17:59:12 +0000
Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9THmTuQ179079; Tue, 29 Oct 2019 17:59:12 GMT
Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3030.oracle.com with ESMTP id 2vxpgfcv1q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Oct 2019 17:59:12 +0000
Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x9THxBjL009022; Tue, 29 Oct 2019 17:59:11 GMT
Received: from anon-dhcp-152.1015granger.net (/68.61.232.219) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 29 Oct 2019 10:59:11 -0700
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Chuck Lever <chuck.lever@oracle.com>
In-Reply-To: <3D5CAA74-C6DC-447D-81BE-5D9FA02694E2@gmail.com>
Date: Tue, 29 Oct 2019 13:59:10 -0400
Cc: spencer shepler <spencer.shepler@gmail.com>, NFSv4 <nfsv4@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <182CEA87-F900-4D0F-834E-38085B095CB3@oracle.com>
References: <3D5CAA74-C6DC-447D-81BE-5D9FA02694E2@gmail.com>
To: Craig Everhart <cfeverhart@gmail.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9425 signatures=668685
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910290159
X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9425 signatures=668685
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910290159
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/6PvsIvu4CGkBXV-CND9MMSDD7vE>
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: Tue, 29 Oct 2019 17:59:17 -0000


> On Oct 29, 2019, at 12:10 PM, Craig Everhart <cfeverhart@gmail.com> wrote:
> 
> I think the reason it’s difficult for me to endorse this is that I can’t play in the understanding of integrity, and I’d like to understand any weaknesses.

> Apparently it uses something like what I loosely described, but I have no visibility into it or how it works.

You do have visibility. You can go and look at the references cited
by the document. In fact there's a USENIX paper that explains the
architecture and provides the analysis you are looking for. There's
an open implementation that is available as a prototype and proof of
concept.

But I don't see that kind of analysis as pertinent to whether a file
system can store a blob of metadata. The questions you are asking are
related to whether you want to implement an appraiser on your non-
Linux system. I'm suggesting that's something that can and should
be decided independently.


> Is it using a private key in an HMAC?  If there’s validation of certificates involved, how are they described or registered?  What is the domain of these putative certifications?  Is it meaningful for an NFS server to receive an integrity assertion from one Linux machine and expect that assertion to be validated by a separate Linux machine?

> I know that Chuck doesn’t believe that an NFS server should be able to validate an integrity assertion.  I wonder why not.

That's a needlessly provocative mischaracterization.

IMA does not trust data storage. The only really meaningful appraisal
is done at the time of content consumption. Any other appraisals are
just gravy.

Note that content consumption typically does not occur on servers --
certainly not on NetApp filers, for example -- and consumption
happens after control of the content has passed from the NFS client
implementation to the operating system. The file system is no longer
involved when appraisal actually occurs.

For IMA, NFS client and server implementations are simply links in the
chain between the content provider and content consumers. Validating an
integrity assertion on each link in that chain is OPTIONAL. The only
value added by the extra assertions is identifying at which link the
file content might have been corrupted.

If you believe that it is the NFS server's job to avoid handing out
corrupted data, then your NFS server should perform appraisal before
it honors READ requests. That's a valid point of view. In the Linux
world, the NFS server does have an appraisal engine and policy that
is applied before data is served to NFS clients.

Eventually other NFS servers can have this too. Just not today, because
the Linux IMA appraisal metadata format is not yet standardized.

The NFS client implementation is not involved in appraisal either. This
is because the mechanism of appraisal is common to all file systems. It
would be foolish to have an appraisal mechanism in each file system
implementation, because they all do exactly the same thing.

All I'm saying is that appraisal is separate from transporting and
storing IMA metadata. The question of whether a non-Linux system can
perform appraisal is valid, but orthogonal to whether IMA metadata can
get from point A to point B.


> The NFS wg may have previously allowed client-only attributes into the space of an NFS specification.  I don’t think that it’s right to do that here.  There are too many touch points for an integrity proof.

Again, I'm asking for just a narrow piece of the puzzle: transport. I
am not proposing a complete solution, because the transport is all
that is necessary for NFS, as a file storage system, to play in this
architecture. This is the case for every local file system.

If NFS were to support Trip Wire or some other proprietary data
integrity monitoring and appraisal system, would the nfsv4 WG have the
same qualms about allocating a FATTR4 attribute for it?


--
Chuck Lever