Re: [nfsv4] RPCSEC_GSS analysis (was Re: [secdir] SECDIR Review of draft-ietf-nfsv4-umask-03)

Nico Williams <nico@cryptonector.com> Mon, 05 June 2017 17:30 UTC

Return-Path: <nico@cryptonector.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 E55D9126D85; Mon, 5 Jun 2017 10:30:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.8
X-Spam-Level:
X-Spam-Status: No, score=-4.8 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cryptonector.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 wuK-PJGcfdc7; Mon, 5 Jun 2017 10:30:23 -0700 (PDT)
Received: from homiemail-a66.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 00387129534; Mon, 5 Jun 2017 10:30:22 -0700 (PDT)
Received: from homiemail-a66.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a66.g.dreamhost.com (Postfix) with ESMTP id 8BF3BC002824; Mon, 5 Jun 2017 10:30:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=5xsq0AXkNOKFoC +B0lXR1ovoUPI=; b=P0qtvwhuB2QCDXt3uKxI0iLVAk0pCiQNbnq094CNu8sUWK aHVenIU6XStohIROoGuThyDXLZOET1Occ31ActUwd5qjvoGev5K+2einBCSMXqbl g8VkeNYwgiJlFsqwXM0+wnqn1VuMniXZ2R0nS7mGK8oGkRdy9U/dbIul4Do8I=
Received: from localhost (cpe-70-123-158-140.austin.res.rr.com [70.123.158.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by homiemail-a66.g.dreamhost.com (Postfix) with ESMTPSA id CB173C002823; Mon, 5 Jun 2017 10:30:21 -0700 (PDT)
Date: Mon, 05 Jun 2017 12:30:19 -0500
From: Nico Williams <nico@cryptonector.com>
To: Watson Ladd <watsonbladd@gmail.com>
Cc: Phillip Hallam-Baker <phill@hallambaker.com>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, NFSv4 <nfsv4@ietf.org>, "secdir@ietf.org" <secdir@ietf.org>
Message-ID: <20170605173018.GG2903@localhost>
References: <CAMm+Lwh+E+BsATQmmX6ccJou-sz1XNtFHxQZikohYCeT0qkfdQ@mail.gmail.com> <CAKKJt-fsJ1UinNiW2LitxVQT4M1YqnFF+1cygU132=bQNgiUnA@mail.gmail.com> <CADaq8jd+6gN2H0QWC+dM-e3pb1gUJKLE7=8PPpprGGKBQZhueg@mail.gmail.com> <CACsn0cnd0L2o2Db6OA1Uvp-C+geA+Ju-7E8Yo=OKS1V3P4G8sA@mail.gmail.com> <20170605165254.GE2903@localhost> <20170605171704.GF2903@localhost>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20170605171704.GF2903@localhost>
User-Agent: Mutt/1.5.24 (2015-08-30)
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/y1lz4U4Gy-G1eToxEEIiVL3I3Aw>
Subject: Re: [nfsv4] RPCSEC_GSS analysis (was Re: [secdir] SECDIR Review of draft-ietf-nfsv4-umask-03)
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.22
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, 05 Jun 2017 17:30:24 -0000

The biggest security problem with RPCSEC_GSS in general, and NFSv4 in
particular, is that RPC protocols like NFSv4 are generally three-party
protocols, not two-party protocols, but RPCSEC_GSS uses a two-party
security protocol (GSS) and does not compose use of it to construct a
three-party protocol.

The parties are: the client, the users on the client, and the server.

The client / user distinction is usually important and real: the client
is the OS, which does not necessarily (and usually does NOT) trust the
user.

This leads to some interesting attacks!

RPCSEC_GSSv3 adds the missing composition of GSS into a three-party
model.

Nico
--