Re: [kitten] The Hashed-Token SASL Mechanism (SASL-HT)

Simo Sorce <simo@redhat.com> Tue, 17 October 2017 13:02 UTC

Return-Path: <simo@redhat.com>
X-Original-To: kitten@ietfa.amsl.com
Delivered-To: kitten@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ED4A1134213 for <kitten@ietfa.amsl.com>; Tue, 17 Oct 2017 06:02:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.921
X-Spam-Level:
X-Spam-Status: No, score=-6.921 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=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 D5uG5IlFNifr for <kitten@ietfa.amsl.com>; Tue, 17 Oct 2017 06:02:20 -0700 (PDT)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4120B132FB1 for <kitten@ietf.org>; Tue, 17 Oct 2017 06:02:20 -0700 (PDT)
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BEAFD276C0A; Tue, 17 Oct 2017 13:02:19 +0000 (UTC)
DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com BEAFD276C0A
Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=simo@redhat.com
Received: from ovpn-116-110.phx2.redhat.com (ovpn-116-110.phx2.redhat.com [10.3.116.110]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D18C35E1CD; Tue, 17 Oct 2017 13:02:18 +0000 (UTC)
Message-ID: <1508245337.6230.31.camel@redhat.com>
From: Simo Sorce <simo@redhat.com>
To: Benjamin Kaduk <kaduk@mit.edu>, Florian Schmaus <flo@geekplace.eu>
Cc: kitten@ietf.org, Christoph Egger <egger@cs.fau.de>, XMPP Standards <standards@xmpp.org>
Date: Tue, 17 Oct 2017 09:02:17 -0400
In-Reply-To: <20171016025117.GL96685@kduck.kaduk.org>
References: <9913d71b-ae22-cc48-34b8-fb29fdf9a00c@geekplace.eu> <20171016025117.GL96685@kduck.kaduk.org>
Organization: Red Hat, Inc.
Content-Type: text/plain; charset="UTF-8"
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Tue, 17 Oct 2017 13:02:20 +0000 (UTC)
Archived-At: <https://mailarchive.ietf.org/arch/msg/kitten/S-5cdvKIV8-fA_fDsBkrpaXnOmg>
Subject: Re: [kitten] The Hashed-Token SASL Mechanism (SASL-HT)
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.22
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: <https://mailarchive.ietf.org/arch/browse/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, 17 Oct 2017 13:02:26 -0000

On Sun, 2017-10-15 at 21:51 -0500, Benjamin Kaduk wrote:
> On Fri, Sep 29, 2017 at 11:08:10AM +0200, Florian Schmaus wrote:
> > I would like to note the existence of draft-schmaus-kitten-sasl-ht-
> > 01:
> > 
> > https://tools.ietf.org/html/draft-schmaus-kitten-sasl-ht-01
> 
> Thanks, I just got a chance to look it over.
> 
> [...]
> 
> > Thus we initially authenticate an XMPP session using a strong
> > mechanism
> > like SCRAM, but at resumption-time we want a single round trip
> > mechanism. The basic idea of such a mechanism is that the client
> > requests a short-lived, exclusively ephemeral token after being
> > authenticated, which can be used to authenticate the resumption in
> > an
> > efficient manner.
> 
> [...]
> > The SASL HT-* mechanism outlined is attempting to provide a
> > reasonably
> > secure authentication based around a token obtained over the
> > application
> > protocol, in a single round-trip. This single-round-trip is a key
> > requirement. The proposal uses a single-use token as a shared
> > secret,
> > provides channel binding and mutual authentication.
> 
> There does seem to be some value in having a fast "session
> resumption" SASL mechanism to avoid repeated reauthentication (though
> presumably there should be some guidance to periodically require a
> full authentication; various flows elsewhere do this on a month
> timescale, roughly).
> It's a little unfortunate that this ends up requiring TLS for
> confidentiality (as there is some desire to have standalone
> mechanisms), but that seems to be an acceptable tradeoff for this
> sort of application.

I think this draft has many goals in common with this one:
https://tools.ietf.org/html/draft-wibrown-ldapssotoken-02

I wonder if we can end up having a solution that will work well to
cover it all ?

The main issue here would be the requirement to bind it to TLS as LDAP
(as well as other connection-oriented protocols) can use other means to
encrypt the channel (namely GSSAPI, although GSSAPI doe not have a
session resumption mechanism ...).

Simo.

-- 
Simo Sorce
Sr. Principal Software Engineer
Red Hat, Inc