Re: [kitten] Kerberos extra round trips I-D revised

Benjamin Kaduk <kaduk@MIT.EDU> Fri, 07 November 2014 21:13 UTC

Return-Path: <kaduk@mit.edu>
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 6BCCA1A1B0A for <kitten@ietfa.amsl.com>; Fri, 7 Nov 2014 13:13:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.795
X-Spam-Level:
X-Spam-Status: No, score=-4.795 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.594, SPF_PASS=-0.001] 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 GV-v-Zn2qGPt for <kitten@ietfa.amsl.com>; Fri, 7 Nov 2014 13:13:13 -0800 (PST)
Received: from dmz-mailsec-scanner-6.mit.edu (dmz-mailsec-scanner-6.mit.edu [18.7.68.35]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 14F141A1AE2 for <kitten@ietf.org>; Fri, 7 Nov 2014 13:13:10 -0800 (PST)
X-AuditID: 12074423-f799d6d00000337c-37-545d35e58e1e
Received: from mailhub-auth-2.mit.edu ( [18.7.62.36]) (using TLS with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by dmz-mailsec-scanner-6.mit.edu (Symantec Messaging Gateway) with SMTP id AC.2A.13180.5E53D545; Fri, 7 Nov 2014 16:13:09 -0500 (EST)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by mailhub-auth-2.mit.edu (8.13.8/8.9.2) with ESMTP id sA7LD8xp003759; Fri, 7 Nov 2014 16:13:09 -0500
Received: from multics.mit.edu (system-low-sipb.mit.edu [18.187.2.37]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id sA7LD65P021930 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 7 Nov 2014 16:13:08 -0500
Received: (from kaduk@localhost) by multics.mit.edu (8.12.9.20060308) id sA7LD6Me026126; Fri, 7 Nov 2014 16:13:06 -0500 (EST)
Date: Fri, 07 Nov 2014 16:13:06 -0500
From: Benjamin Kaduk <kaduk@MIT.EDU>
To: Nico Williams <nico@cryptonector.com>
In-Reply-To: <20141027071704.GC14215@localhost>
Message-ID: <alpine.GSO.1.10.1411071543280.27826@multics.mit.edu>
References: <20141027071704.GC14215@localhost>
User-Agent: Alpine 1.10 (GSO 962 2008-03-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrDIsWRmVeSWpSXmKPExsUixG6novvUNDbEoOmxtMXRzatYLE5dO8Lm wOTx8tQ5Ro8lS34yBTBFcdmkpOZklqUW6dslcGU0HF7FWHBRuuLIlqPsDYyLxboYOTkkBEwk Fq+8yQ5hi0lcuLeerYuRi0NIYDaTxMEjF1kgnA2MEr0vdzFCOAeZJJ78/MoC0iIkUC+x/+dk 1i5GDg4WAS2JGUvdQMJsAioSM99sZAOxRQQ0Ja7PWwpmMwsIS6w/N4MZxBYWsJHYcvkd2GZO AX2JlasOMYHYvAKOEvOalrFDjNeTOLmgE6xXVEBHYvX+KSwQNYISJ2c+YYGYqSWxfPo2lgmM grOQpGYhSS1gZFrFKJuSW6Wbm5iZU5yarFucnJiXl1qka6aXm1mil5pSuokRHKguyjsY/xxU OsQowMGoxMN7gzcmRIg1say4MvcQoyQHk5Iob69ebIgQX1J+SmVGYnFGfFFpTmrxIUYJDmYl EV59E6Acb0piZVVqUT5MSpqDRUmcd9MPvhAhgfTEktTs1NSC1CKYrAwHh5IELw8wIoUEi1LT UyvSMnNKENJMHJwgw3mAhoPV8BYXJOYWZ6ZD5E8xKkqJ8zqDbBUASWSU5sH1whLJK0ZxoFeE ee+CVPEAkxBc9yugwUxAg/0mxoAMLklESEk1MHJYThZcs2UJ605hFqFJEx9df/pJq5Bb2TeV fanxYsPJ1axvI8OW/6qaw9n94/b9Z7uk5HsO/Nxz9MSHc54LjopvWD+pcwv/hQ8KoifLoneF 17Zl1EVkqGyLfTfFcs6FpTIeiUY2zstC33vJddx4Vfopqv7lIT2f90/WispflrSpm/TQfTLb j5lKLMUZiYZazEXFiQBbdPyi/wIAAA==
Archived-At: http://mailarchive.ietf.org/arch/msg/kitten/YcYvWrYYvcCc5ZVT1U7FjGOZrOg
Cc: kitten@ietf.org
Subject: Re: [kitten] Kerberos extra round trips I-D revised
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: Fri, 07 Nov 2014 21:13:15 -0000

On Mon, 27 Oct 2014, Nico Williams wrote:

> ----- Forwarded message from internet-drafts@ietf.org -----
>
> A new version of I-D, draft-williams-kitten-krb5-extra-rt-02.txt
> has been successfully submitted by Nicolas Williams and posted to the
> IETF repository.
>
> Name:		draft-williams-kitten-krb5-extra-rt
> Revision:	02
> Title:		Negotiation of Extra Security Context Tokens for Kerberos V5 Generic Security Services Mechanism
> Document date:	2014-10-27
> Group:		Individual Submission
> Pages:		15
> URL:            http://www.ietf.org/internet-drafts/draft-williams-kitten-krb5-extra-rt-02.txt
> Status:         https://datatracker.ietf.org/doc/draft-williams-kitten-krb5-extra-rt/
> Htmlized:       http://tools.ietf.org/html/draft-williams-kitten-krb5-extra-rt-02
> Diff:           http://www.ietf.org/rfcdiff?url2=draft-williams-kitten-krb5-extra-rt-02
>
> Abstract:
>    This Internet-Draft proposes an extension to the Kerberos V5 security
>    mechanism for the Generic Security Services Application Programming
>    Interface (GSS-API) for using extra security context tokens in order
>    to recover from certain errors.  Other benefits include: user-to-user
>    authentication, authenticated errors, replay cache avoidance, and
>    others.
>
> ----- End forwarded message -----

Hmm, I guess I was slow in getting to this, and you put out an -03
already.

I read the -03.

My summary is: create a KRB-ERROR2 structure that the acceptor can return
when the initiator has opted in by setting a flag; KRB-ERROR2 has several
nice features compared to KRB-ERROR, including (1) can be encrypted, if a
key is available; (2) can indicate to the acceptor to retry with a
modified request; (3) can include a challenge nonce/freshness indicator;
(4) can include a TGT for use with user-to-user.  (It can also be sent
from initiator to acceptor when the initiator fails to process a received
KRB-ERROR2.)

The initiator includes (3) in the follow-up AP-REQ, proving freshness and
allowing the replay cache to be safely omitted.

Most of the draft is just laying out the details surrounding these and how
they are to be used.

The core extension seems like a fine thing to have so I would be okay with
adopting this as a WG document if we think we have the energy to advance
it properly.

I have some concerns that some of the text could be written differently
and be more clear, most notably section 2.

There are a few open questions tagged in the document:

   [[anchor1: Perhaps we should use a checksum 0x8003 [RFC4121]
   extension instead of authorization data in the authenticator.]]

This is for incorporating the challenge-nonce back into the reply, if I
understand correctly.  I'm not sure how well that would work if we want to
allow for stateless acceptors that use nonces similar to the pkinit
freshness tokens we've been discussing.


   [[anchor2: Question: how should we address this?  We could say "give
   priority to the user-to-user mechanism", but in some cases that might
   require changes to the acceptor side.]]

This refers to the potential for conflict with
draft-swift-win2k-krb-user2user, which I haven't read, so I can't say much
about.


   [[anchor3: We could use the GSS_EXTS_FINISHED extension from
   draft-ietf-kitten-iakerb to implement a strong binding of all context
   tokens.]]

I haven't thought about things hard enough to decide whether the gain in
strength of binding is worth the extra work.

-Ben