[kitten] complementary OPAQUE SASL mechanism draft

Stefan Marsiske <03cx8i55f6@ctrlc.hu> Fri, 14 October 2022 17:03 UTC

Return-Path: <03cx8i55f6@ctrlc.hu>
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 BE175C14CE22 for <kitten@ietfa.amsl.com>; Fri, 14 Oct 2022 10:03:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.886
X-Spam-Level:
X-Spam-Status: No, score=-6.886 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id swa5MlvjO1ab for <kitten@ietfa.amsl.com>; Fri, 14 Oct 2022 10:03:29 -0700 (PDT)
Received: from ctrlc.hu (ctrlc.hu [185.193.126.105]) by ietfa.amsl.com (Postfix) with ESMTP id BAA71C14F735 for <kitten@ietf.org>; Fri, 14 Oct 2022 10:03:28 -0700 (PDT)
Received: from i.ctrlc.hu (unknown [10.23.5.25]) by ctrlc.hu (Postfix) with ESMTP id 40F163E4FD4 for <kitten@ietf.org>; Fri, 14 Oct 2022 17:03:25 +0000 (UTC)
Received: by i.ctrlc.hu (Postfix, from userid 1000) id E27E9A9; Fri, 14 Oct 2022 17:03:24 +0000 (UTC)
Date: Fri, 14 Oct 2022 19:03:24 +0200
From: Stefan Marsiske <03cx8i55f6@ctrlc.hu>
To: kitten@ietf.org
Message-ID: <Y0mWXEZYl2d6/32Z@localhost>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
Archived-At: <https://mailarchive.ietf.org/arch/msg/kitten/c0SSb2mSGRZP5nuc51r5OTlDJ9s>
Subject: [kitten] complementary OPAQUE SASL mechanism draft
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.39
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: Fri, 14 Oct 2022 17:23:03 -0000

Thanks Rick for triggering me. Please let me introduce my
complementary draft:

https://github.com/stef/sasl-opaque

this draft by far less ambitious than the other introduced a few days ago on
this list. this one only specifies a simple OPAQUE mechanism for SASL and
mostly only the wireformat. there is no channel binding, and no secure layer.
it also does not support cryptographic agility[1], similar to wireguard and
other modern solutions, eliminating footguns, negotiations and other
complexity. it only specifies one configuration, one of the two specified by
the IRTF CFRG draft[2] with one change, the usage of argon2i for the KSF
instead of scrypt (for which i have an issue open to change[3]).

myself i am the author of the first public/libre OPAQUE implementation, and was
following the IRTF CFRG draft closely. then i got funded through the NGI0 PET
Fund under grant agreement No 825310. this funding had the goal to support
OPAQUE in as much languages and protocols as possible, and thus i implemented a
SASL mechanism which works as an out-of-tree module with cyrus SASL[4].  i'm
much more more of an OPAQUE expert than an SASL expert.

having seen the other draft even before it was posted here, i think the two
drafts are complementary with the other draft having a more high-level
SASL/gss-api wrapping focus (including channel binding et al), and mine a lower
level OPAQUE wireformat focus. as such i think it makes sense to either merge
the two drafts, or i think better to have the high-level draft to refer to the
low level draft (and vice versa) for wireformat of the specific OPAQUE
configuration.

best regards,
Stefan Marsiske

[1] https://paragonie.com/blog/2019/10/against-agility-in-cryptography-protocols
[2] https://github.com/cfrg/draft-irtf-cfrg-opaque/blob/master/draft-irtf-cfrg-opaque.md#configurations-configurations
[3] https://github.com/cfrg/draft-irtf-cfrg-opaque/issues/376
[4] https://github.com/stef/libopaque/
[5] https://github.com/stef/libopaque/tree/master/sasl