[tcpm] Re: I-D Action: draft-ietf-tcpm-tcp-ao-algs-05.txt
Eric Biggers <ebiggers@google.com> Mon, 20 July 2026 20:02 UTC
Return-Path: <ebiggers@google.com>
X-Original-To: tcpm@mail2.ietf.org
Delivered-To: tcpm@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 7F72211ABEB8A for <tcpm@mail2.ietf.org>; Mon, 20 Jul 2026 13:02:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1784577745; bh=yBlXnxlicRyHSe8kkml0imSakwKXAeoRlTRZ7Lv9b2o=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=SUeqlUZWUtsNZiSFf99ii/KyZoNSQKg3rxI3wsiwyVbTYun2Z1b0CsqXTYSvpMisW CxFbCC1g+R/Z9t51wtYvZxJNG/vOqHBxb6ERz4M3q+U6DwQVuswAGhfKhRgI1T5LLe oI1Sk6czYtrA6yQ2T+J/B7EDXyFzqnIiKqJzk8wY=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -17.601
X-Spam-Level:
X-Spam-Status: No, score=-17.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1Vj3EfJPbLeD for <tcpm@mail2.ietf.org>; Mon, 20 Jul 2026 13:02:25 -0700 (PDT)
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 0194811ABEB81 for <tcpm@ietf.org>; Mon, 20 Jul 2026 13:02:24 -0700 (PDT)
Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2caed617615so116666415ad.3 for <tcpm@ietf.org>; Mon, 20 Jul 2026 13:02:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1784577744; x=1785182544; darn=ietf.org; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=kvjZZ7XxdL+Q7DoZR2WUFYveB8ITVNnwMtwpHu/cmWs=; b=nAJCEBHkOMXqsWflPXgdx9UxxbDacwydzUq1wIf/nnr7Jet85qEkz5TePuy8Zw5Mmj RzxaK0b7bSZEHj2qJpXcMD8BVlQI4Yq+UQEQwxlfFY1uP/teUPmEBY3XmW9sNGXuBpvq 6oeRiYDAcLNX278mh4mihqzBCP9UTPLi/Q56Co4wUjwIjX6/Pwp9FgCOsXmT4Yo9URzD nIHGwN8/e76Br5ZAhJoZVILJpKdx7mwu3TLLGbVr5bRBeDw00szQNb98yNzslyeSrCZe 6xj7XqQHBohGnr/EuoRNaDaDv2Bd+kHTzoyZvWUaFZJ3rdhccAhS5mceiYJ065q57e8s SEYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784577744; x=1785182544; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=kvjZZ7XxdL+Q7DoZR2WUFYveB8ITVNnwMtwpHu/cmWs=; b=DN66RDeVB8Gek2Jjq6CflilhwBGAoICDqV0xo9Pk3v2D8JyknpT6E6EpKAe1btYsJJ xqQV5wWLdzzNWoihk+KlHLVrJsEqEcqc4FjNw4BY5O+aiNkGEmenbxdlM0c7yvIdhcwb DX3p87PcbWrXcLDJFUsNuiKGrEhpfI6tv1EU/RxHQ3bKS43LuSaksVpsQKVi34jckIvt s6OKXbc4Rh9hiCxy3Bf812QPTm+HD4paBXfZP1ncVFfHMU3oA8mfmYCPdx+lEUYtuVzO mo/7aYzUZary11fJSOE1IapBrbw0Wzo4QKzcam/tVnprh5QD0Fxds686nTu8f/B6MebA AX3Q==
X-Gm-Message-State: AOJu0YyjfIoOa+6Uh/x4q/vvdwsCWLQNjIk8fi+weIFqZgWqyBlX+xbw LHsL50RfVId7XNXPaVB8BXTRqeyHCYAYHtIHQ/v3pQmwFL6LtwTphudUoM9bfujWEOn2Draedk+ LXVyeLA==
X-Gm-Gg: AR+sD10nM3AKLj/fqyEkN5s7AD62A4ruIMeHj+yvDCKIWSEpmKzRgpDLTJo6QNmErI4 wHZdff5BTshrbvUohr8cSNXZvLOqNgODg2jUeoiVSLG3sdmgqrxavCJImKi3q/NdJ3Uqd69KqxK ljmZFkPYHFtdzdJ5OkX4fON/qmVU5uAjO1/HG9rdZ0CGu9xBMMONT+oCCxuzQGOz5EbVOyiEkQY /xezE2EIC7nDzb5kIccvRpTs8+k5qKK05eG1pmG3zvb0tyt7GbSVQVPcXrWeiWfDq5T/Uis8T+Y U3H/Uzwyg89fLcdV8AKRT/SaYy54scFZ9JlU+HsUY1vCkq6CQjJGlZf+59tbktGlH90RIVNsZ8v XK2i09NPkCvAY0bwU8ztgYzlBM3ur9Yd7TtEJmQLi56kIndW7Sk4Ia/81wyy8tICCZSxnPefBXa WIsdLmljZw9T4e9TOarc4bCsyz819Memc0DKjVLHtzqDYDA1LMKjYl6g==
X-Received: by 2002:a17:902:c950:b0:2c9:d8c6:1dc3 with SMTP id d9443c01a7336-2cf3463299dmr163787995ad.0.1784577743342; Mon, 20 Jul 2026 13:02:23 -0700 (PDT)
Received: from google.com (199.174.125.34.bc.googleusercontent.com. [34.125.174.199]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf347165b1sm61903645ad.60.2026.07.20.13.02.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jul 2026 13:02:22 -0700 (PDT)
Date: Mon, 20 Jul 2026 20:02:18 +0000
From: Eric Biggers <ebiggers@google.com>
To: tcpm@ietf.org
Message-ID: <20260720200218.GA341047@google.com>
References: <178249061156.1804370.3766568479863954134@dt-datatracker-f9b87776f-8pmmg>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <178249061156.1804370.3766568479863954134@dt-datatracker-f9b87776f-8pmmg>
Message-ID-Hash: YE23MDDUENOYNJY42NVK5QHNSTKHT7H6
X-Message-ID-Hash: YE23MDDUENOYNJY42NVK5QHNSTKHT7H6
X-MailFrom: ebiggers@google.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tcpm.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: i-d-announce@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [tcpm] Re: I-D Action: draft-ietf-tcpm-tcp-ao-algs-05.txt
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/rAcV7vHGtIdGGduj0LmUoaX2xs4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Owner: <mailto:tcpm-owner@ietf.org>
List-Post: <mailto:tcpm@ietf.org>
List-Subscribe: <mailto:tcpm-join@ietf.org>
List-Unsubscribe: <mailto:tcpm-leave@ietf.org>
Hi, On Fri, Jun 26, 2026 at 09:16:51AM -0700, internet-drafts@ietf.org wrote: > Internet-Draft draft-ietf-tcpm-tcp-ao-algs-05.txt is now available. It is a > work item of the TCP Maintenance and Minor Extensions (TCPM) WG of the IETF. > > Title: Additional Cryptographic Algorithms For Use With TCP-AO > Authors: Ron Bonica > Tony Li > Name: draft-ietf-tcpm-tcp-ao-algs-05.txt > Pages: 26 > Dates: 2026-06-26 > > Abstract: > > RFC5926 creates a list of cryptographic algorithms that can be used > with TCP-AO. This document expands that list, adding two Message > Authentication Code (MAC) algorithms, HMAC-SHA256-128 and > KMAC256-128. For each MAC algorithm, a corresponding Key Derivation > Function (KDF) is also added. > > The MAC algorithms described by this document produce 128-bit (i.e., > 16-byte) MACs. When 16-byte MACs are encoded in TCP-AO, the TCP-AO > consumes 20 of the 40 bytes available for TCP options. I had this reviewed internally as well, and the result is that it generally looks reasonable. But there's still a footgun regarding what is acceptable as a Master_Key. There's an opportunity to do more to decrease the chance of misuse. As a refresher, TCP-AO accepts variable-length ASCII strings as the Master_Key with no minimum length requirement. Unfortunately, this encourages users to input arbitrary passwords, which tend to have low entropy. Furthermore, no key stretching is performed, leaving these passwords vulnerable to brute-forcing. Some of the problematic language includes: - RFC 5925: "Master_Key - The master_key string" - RFC 5926: "The Master_Key is used as the seed for the KDF. We assume that this is a human-readable pre-shared key (PSK); thus, we assume it is of variable length. Master_Keys SHOULD be random, but might not be (e.g., badly chosen by the user). For interoperability, the management interface by which the PSK is configured MUST accept ASCII strings, and SHOULD also allow for the configuration of any arbitrary binary string in hexadecimal form." - draft-ietf-tcpm-tcp-ao-algs-05.txt: "This document RECOMMENDS that operators use Master_Keys generated by a cryptographic random number generator, or similar. However, it is understood that they may not do so." Though none of these documents explicitly use the word "password," the lack of a minimum length and the explicit support for human-readable ASCII strings makes it easily be interpreted as one. Not surprisingly, here's how it got paraphrased into the documentation of Linux's TCP-AO implementation (until I fixed it): - https://www.kernel.org/doc/html/v7.0/networking/tcp_ao.html: "MACs are produced from the content of a TCP segment using a hashing function with a password known to both peers." So when people actually implement this stuff it becomes "password". Really, the protocol should just take a 256-bit binary key that MUST be a cryptographic key. However, since that wasn't done from the beginning, requiring it just for the new algorithms would be confusing. Instead, how about: - The new algorithms will require that the master key MUST be *at least* 256 bits in length. (This doesn't necessarily mean 256 bits of entropy, given that the key could be an ASCII representation of a key; however, this is better than no defense at all.) - The "Security Considerations" section should be clearer. For example: "Master_Keys SHOULD have at least 256 bits of entropy, and they SHOULD be generated by a cryptographic random number generator or similar. No key stretching is done, and the use of low-entropy secrets (such as passwords) is vulnerable to brute-force attacks. If an ASCII string is used, it SHOULD be the hex or base64 representation of a cryptographic key with at least 256 bits of entropy, rather than a human-readable password or passphrase." - Eric
- [tcpm] I-D Action: draft-ietf-tcpm-tcp-ao-algs-05… internet-drafts
- [tcpm] Re: I-D Action: draft-ietf-tcpm-tcp-ao-alg… Eric Biggers
- [tcpm] Re: I-D Action: draft-ietf-tcpm-tcp-ao-alg… Bonica, Ron