Re: [kitten] RFC2743 errata 4251

Nico Williams <nico@cryptonector.com> Tue, 16 December 2014 15:47 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 BE27C1A1B93 for <kitten@ietfa.amsl.com>; Tue, 16 Dec 2014 07:47:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.666
X-Spam-Level:
X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=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 ePR05YEuzb5r for <kitten@ietfa.amsl.com>; Tue, 16 Dec 2014 07:47:21 -0800 (PST)
Received: from homiemail-a34.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id E87941A1B44 for <kitten@ietf.org>; Tue, 16 Dec 2014 07:47:20 -0800 (PST)
Received: from homiemail-a34.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a34.g.dreamhost.com (Postfix) with ESMTP id 9D3E61006E; Tue, 16 Dec 2014 07:47:20 -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=cNUEjws+dYwUUd ffiELczh0xQtk=; b=s/EkIhNvfRCJquEVErlAgp3LXc9H2Pq2TXDUwiKgBSj9vp aDVBh+dnZTZE3I3hVDYQevgSjtfr78EFoJ8JOc071JxFLlO1irmTXJ6XSjdcF5xM M2/x6j8IArKEUuahV35+0qpizhbAkQZ7RBk4RpGIrRFf7qpjra9nXn+bY14Bk=
Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a34.g.dreamhost.com (Postfix) with ESMTPA id 4117210059; Tue, 16 Dec 2014 07:47:20 -0800 (PST)
Date: Tue, 16 Dec 2014 09:47:18 -0600
From: Nico Williams <nico@cryptonector.com>
To: Martin Rex <mrex@sap.com>
Message-ID: <20141216154712.GS3241@localhost>
References: <20141215230719.GM3241@localhost> <20141216100217.4AB701B084@ld9781.wdf.sap.corp>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20141216100217.4AB701B084@ld9781.wdf.sap.corp>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: http://mailarchive.ietf.org/arch/msg/kitten/EI8g4G1rJFegYTyT5mCaxk7WsS0
Cc: kitten@ietf.org
Subject: Re: [kitten] RFC2743 errata 4251
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: Tue, 16 Dec 2014 15:47:22 -0000

On Tue, Dec 16, 2014 at 11:02:17AM +0100, Martin Rex wrote:
> Nico Williams wrote:
> > On Mon, Dec 15, 2014 at 10:52:31PM +0100, Martin Rex wrote:
> > > Nico Williams wrote:
> > > >> (To be clear: saying that applications must eventually call
> > > >> GSS_Delete_sec_context() is fine; saying that they should do so
> > > >> immediately after a GSS_S_COMPLETE from GSS_Process_context_token() is
> > > >> not fine.)
> > > > 
> > > > GSS-APIv2u1 callers can still call GSS_Unwrap(), GSS_VerifyMIC(), and
> > > > GSS_Pseudo_random()[*], and even GSS_Wrap() and GSS_GetMIC() before
> > > > calling GSS_Delete_sec_context(), however,
> > > 
> > > You mean calling GSS_Unwrap(), GSS_VerifyMIC(), GSS_Wrap()
> > > GSS_GetMIC() _after_ calling GSS_Delete_sec_context() ?
> > 
> > No, after calling GSS_Process_context_token().
> 
> It seems I was tired last night.
> 
> I meant to say:
> 
>  You mean calling GSS_Unwrap(), GSS_VerifyMIC(), GSS_Wrap()
>  GSS_GetMIC() _after_ calling GSS_Process_sec_context() ?

Yes.

Because of out of order delivery of tokens in, say, a UDP-based app it's
certainly possible for GSS_Unwrap() and GSS_VerifyMIC() to be needed
after calling GSS_Process_sec_context().

GSS_Pseudo_random(), of course, should also continue functioning after
processing an error token.  (For the same reason that GSS_Unwrap() and
GSS_VerifyMIC() should.}

The logic by which I conclude that GSS_Wrap() and GSS_GetMIC() can also
be called after calling GSS_Process_sec_context() is this: error tokens
do not prove that peer delete their security context, and if they had
been PROT_READY, they could still continue (though I grant that it would
be rather weird to do so).

GSS_Process_sec_context() should just do what its name says, and it
should disable no security context functionality.

So, I'm coming around to Greg's position, though for different reasons
than his.

Nico
--