Re: [babel] Babel-MAC: Blake2s is 128-bits by default

Juliusz Chroboczek <jch@irif.fr> Sun, 15 November 2020 17:55 UTC

Return-Path: <jch@irif.fr>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 719CB3A011B for <babel@ietfa.amsl.com>; Sun, 15 Nov 2020 09:55:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, 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 SSJBvFUeVzCI for <babel@ietfa.amsl.com>; Sun, 15 Nov 2020 09:55:08 -0800 (PST)
Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4E2333A010D for <babel@ietf.org>; Sun, 15 Nov 2020 09:55:07 -0800 (PST)
Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id 0AFHt4iE014355; Sun, 15 Nov 2020 18:55:05 +0100
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id D4491B515E; Sun, 15 Nov 2020 18:55:04 +0100 (CET)
X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr
Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id flXPbd3l1Sb6; Sun, 15 Nov 2020 18:55:03 +0100 (CET)
Received: from pirx.irif.fr (82-64-141-196.subs.proxad.net [82.64.141.196]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 05DE5B515B; Sun, 15 Nov 2020 18:55:00 +0100 (CET)
Date: Sun, 15 Nov 2020 18:54:56 +0100
Message-ID: <87o8jya4jz.wl-jch@irif.fr>
From: Juliusz Chroboczek <jch@irif.fr>
To: babel@ietf.org
Cc: Valery Smyslov <valery@smyslov.net>
In-Reply-To: <87h7q2f6a2.fsf@toke.dk>
References: <87d00qungk.wl-jch@irif.fr> <87h7q2f6a2.fsf@toke.dk>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.1 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [194.254.61.138]); Sun, 15 Nov 2020 18:55:05 +0100 (CET)
X-Miltered: at korolev with ID 5FB16B78.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 5FB16B78.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/<jch@irif.fr>
X-j-chkmail-Score: MSGID : 5FB16B78.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/9EIUxXvaGj-Zm9uktF0v1Zavb-g>
Subject: Re: [babel] Babel-MAC: Blake2s is 128-bits by default
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 15 Nov 2020 17:55:10 -0000

After reading your replies, and thinking it over carefully, I disagree
with the apparent consensus.  I think Blake2s in Babel-MAC should use
128-bit keys, as in the initial implementation.  Please hear me out.

Toke and Dave originally suggested adding Blake2s to Babel-HMAC for two
reasons:

  - it is more computationally lightweight on platforms that don't
    implement SHA-256 in hardware;
  - it may serve as a fallback if SHA2 is ever broken.

While I am still not quite convinced by these arguments, I've agreed to
add the SHOULD Blake2s and to implement Blake2s for the following reasons:

  - it serves as a good example of adding a new algorithm to Babel-MAC;
  - with 128-bit signatures, it is useful on low-rate networks, which
    Babel is commonly used with.

For these reasons, we implemented Blake2s with 128-bit signatures.
Unfortunately, some confusion ensued, Toke implemented Blake2s with
256-bit signatures, Antonin changed our implementation to interoperate
with Toke's (without discussing the issue with me beforehand), hence the
current situation.

If Blake2s uses 256-bit signatures, then I see little convincing reason to
keep it around in addition to SHA-256.  For this reason, I recommend the
following course of action:

  1. Toke agrees to switch to 128-bit Blake2s signatures;
  2. we discard Antonin's branch (which is just a private branch), and do
     128-bit Blake2s signatures instead;
  3. during AUTH48, I make the clarification that the SHOULD implement
     applies to 128-bit signatures.

Two more points.  First, under no circumstances will I go against WG
consensus on this point -- if the WG strongly believes that the SHOULD
applies to 256-bit signatures, I will naturally follow the consensus.
Second, Babel-HMAC is an extensible protocol, so even if the RFC ends up
recommending n-bit signatures, nothing prevents a given implementation
from implementing m-bit signatures in addition to the RFC-recommended
n-bit signatures.

Sorry again for the confusion.

-- Juliusz