Re: [kitten] New Version Notification for draft-kaduk-kitten-gss-loop-01.txt (fwd)

Nico Williams <nico@cryptonector.com> Thu, 21 November 2013 05:08 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: kitten@ietfa.amsl.com
Delivered-To: kitten@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 833F31AE095 for <kitten@ietfa.amsl.com>; Wed, 20 Nov 2013 21:08:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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] autolearn=ham
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 8fliowrQLqwC for <kitten@ietfa.amsl.com>; Wed, 20 Nov 2013 21:08:49 -0800 (PST)
Received: from homiemail-a109.g.dreamhost.com (caiajhbdccah.dreamhost.com [208.97.132.207]) by ietfa.amsl.com (Postfix) with ESMTP id 34F3C1AE0C4 for <kitten@ietf.org>; Wed, 20 Nov 2013 21:08:39 -0800 (PST)
Received: from homiemail-a109.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a109.g.dreamhost.com (Postfix) with ESMTP id A45F42005D909; Wed, 20 Nov 2013 21:08:32 -0800 (PST)
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=WJlWRPyKU7zdB8 SNSH9cnCw6qn8=; b=mNCc+JO4cUCkofseMlpZARNY3C97d3df40wQiO6RY6UW7m /8Xvi0tD07CIPkmMYwYCjEG3G/FR58XtuQGN5GggroVx3CMVhLjtY89ocVokmNhh Xa+v7dvEaVZd1q1U17IWLzaYy3scn6ZdOzctULN7m+LgGx8emMWVi8rl/bxcw=
Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a109.g.dreamhost.com (Postfix) with ESMTPA id 526A22005D907; Wed, 20 Nov 2013 21:08:32 -0800 (PST)
Date: Wed, 20 Nov 2013 23:08:31 -0600
From: Nico Williams <nico@cryptonector.com>
To: Benjamin Kaduk <kaduk@MIT.EDU>
Message-ID: <20131121050830.GC3655@localhost>
References: <20131121011447.8BE661AACA@ld9781.wdf.sap.corp> <alpine.GSO.1.10.1311202037540.23560@multics.mit.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <alpine.GSO.1.10.1311202037540.23560@multics.mit.edu>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: kitten@ietf.org
Subject: Re: [kitten] New Version Notification for draft-kaduk-kitten-gss-loop-01.txt (fwd)
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <kitten.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/kitten>, <mailto:kitten-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/kitten/>
List-Post: <mailto:kitten@ietf.org>
List-Help: <mailto:kitten-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/kitten>, <mailto:kitten-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Nov 2013 05:08:50 -0000

On Wed, Nov 20, 2013 at 08:45:10PM -0500, Benjamin Kaduk wrote:
> On Thu, 21 Nov 2013, Martin Rex wrote:
> >Well, OK, my rule-of-thumb fails in this special case for rfc2744.
> >
> >The abstract semantics of rfc2743 for GSS_Release_buffer() _still_
> >apply to the rfc2744 gss_release_buffer() language bindings.

I agree.

Some details might naturally differ from RFC2743 for other language
bindings, but at the end of the day they must roughly agree.  In
particular there are some important aspects:

 - outputs of security context establishment are only valid or
   authenticated when the context establishment completes

 - no language binding can change the synchronous nature of security
   context token exchanges

 - all the base features must be there (some mechs/providers might not
   provide some features, such as, e.g., confidentiality protection, but
   the programming language bindings of the abstract API  must make it
   possible to provide those)

 - the providers own output buffers

 - the app owns input buffers

There's probably more.

Things are are not obviously required of bindings include things like
manual memory management.  Indeed, automatic memory management is not
incompatible with the abstract API.

> I guess that's compelling, the 2744 text describing
> gss_release_buffer's applicability notwithstanding.

Yes.

> So, we're left with Greg's assessment, "it is not safe per the spec,
> although it is probably safe in every GSSAPI implementation."

And: apps shouldn't be double-releasing anything.

> Do we want to change the sample code to not rely on this behavior,
> or just note that it does so rely?

Either way is fine with me.

Nico
--