[saag] Re: [Technical Errata Reported] RFC6238 (8672)
Bob Beck <beck@obtuse.com> Fri, 12 December 2025 20:31 UTC
Return-Path: <beck@obtuse.com>
X-Original-To: saag@mail2.ietf.org
Delivered-To: saag@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 85F6599D479F for <saag@mail2.ietf.org>; Fri, 12 Dec 2025 12:31:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: 0.836
X-Spam-Level:
X-Spam-Status: No, score=0.836 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HELO_DYNAMIC_IPADDR=1.951, HTML_MESSAGE=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, RDNS_DYNAMIC=0.982, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=obtuse.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 z-PIBHVygGZr for <saag@mail2.ietf.org>; Fri, 12 Dec 2025 12:31:30 -0800 (PST)
Received: from h198-166-139-10.ptr.cidc.telus.com (h198-166-139-10.ptr.cidc.telus.com [198.166.139.10]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 6D18599D4191 for <saag@ietf.org>; Fri, 12 Dec 2025 12:30:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=obtuse.com; s=20200401; t=1765571425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=G+teiKojDh3suZkIIjLP9sulnGaTF0sVhYkIWzVvGQ0=; b=CMAvrU8vSW/xKff7Zk8QysIeLVD0XrbCfW0kphI0vGeECdEj15P6WhSYSNkhJbJszaS+O4 ZQs/Aj0RY7CxpuyamvVeynTR2dodNdhgYSu/oDWBrhVCy8skfKvuKCsfHbpQfxI/NfWj/u szrEgtDHfQfVeFkWk62YO7GhenuREYs=
Received: from smtpclient.apple (<unknown> [192.168.22.119]) by mail.obtuse.com (OpenSMTPD) with ESMTPSA id c65c6232 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Fri, 12 Dec 2025 13:30:25 -0700 (MST)
From: Bob Beck <beck@obtuse.com>
Message-Id: <AF205F3C-D193-4B9D-9CB8-1E712FB9F0DE@obtuse.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_30614D24-A866-4B6F-BCB1-8B5E961A7950"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.600.51.1.1\))
Date: Fri, 12 Dec 2025 13:30:15 -0700
In-Reply-To: <CAGL5yWYyET=tpJNz3HEXd_gRyC7Bro041FVP75MsOPLRysW+bQ@mail.gmail.com>
To: Paul Wouters <paul.wouters=40aiven.io@dmarc.ietf.org>
References: <20251206174535.CF436C000CC7@rfcpa.rfc-editor.org> <CAGL5yWYyET=tpJNz3HEXd_gRyC7Bro041FVP75MsOPLRysW+bQ@mail.gmail.com>
X-Mailer: Apple Mail (2.3826.600.51.1.1)
Message-ID-Hash: NHZRRZGFPS5MQNUAB4K5JCBSKQHNI2Z5
X-Message-ID-Hash: NHZRRZGFPS5MQNUAB4K5JCBSKQHNI2Z5
X-MailFrom: beck@obtuse.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-saag.ietf.org-0; header-match-saag.ietf.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Saag SAAG <saag@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [saag] Re: [Technical Errata Reported] RFC6238 (8672)
List-Id: Security Area Advisory Group <saag.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/saag/J63v7YhkS8g_wtpgdx0e_ojShPY>
List-Archive: <https://mailarchive.ietf.org/arch/browse/saag>
List-Help: <mailto:saag-request@ietf.org?subject=help>
List-Owner: <mailto:saag-owner@ietf.org>
List-Post: <mailto:saag@ietf.org>
List-Subscribe: <mailto:saag-join@ietf.org>
List-Unsubscribe: <mailto:saag-leave@ietf.org>
My two cents: 1) We should probably just reference POSIX and not Wikipedia, (https://pubs.opengroup.org/onlinepubs/9799919799/ section 4.19) for [UT] Since the T is dependent on "current unix time” - just making it a 64 bit value won’t save you for a current time in which the platform won’t give you the correct value. For whatever reason. Sure, that reason we could be 32_bit time_t in 3028, Or it could be a platform that won’t give you a posix time after the year 3000 in some situations, We can also have platforms which got the bad idea bear visitation blessing them with unsigned 32 bit time_t and now you would need to say something cautioning the implementor about that when they are subtracting values. Implementors need to know their platform imitations, and sizes of integer values, and I don’t think we want to be in the business of guessing all the potential problems. So IMO: 2) Remove the first sentence of the fourth paragraph of section 4.2 The algorithm already specifies what that value has to be. If the implementor doesn’t provide it correctly for any given time, it’s not going to work, and that’s expected. > On Dec 12, 2025, at 12:19, Paul Wouters <paul.wouters=40aiven.io@dmarc.ietf.org> wrote: > > I believe this is correct. If anyone disagrees, please speak up. > > Paul > > > ---------- Forwarded message --------- > From: RFC Errata System <rfc-editor@rfc-editor.org <mailto:rfc-editor@rfc-editor.org>> > Date: Sat, Dec 6, 2025 at 12:45 PM > Subject: [Technical Errata Reported] RFC6238 (8672) > To: <davidietf@gmail.com <mailto:davidietf@gmail.com>>, <smachani@diversinet.com <mailto:smachani@diversinet.com>>, <Mingliang_Pei@symantec.com <mailto:Mingliang_Pei@symantec.com>>, <johanietf@gmail.com <mailto:johanietf@gmail.com>>, <iesg@ietf.org <mailto:iesg@ietf.org>> > Cc: <taylor_kelinci@protonmail.com <mailto:taylor_kelinci@protonmail.com>>, <rfc-editor@rfc-editor.org <mailto:rfc-editor@rfc-editor.org>> > > > The following errata report has been submitted for RFC6238, > "TOTP: Time-Based One-Time Password Algorithm". > > -------------------------------------- > You may review the report below and at: > https://www.rfc-editor.org/errata/eid8672 > > -------------------------------------- > Type: Technical > Reported by: Taylor H <taylor_kelinci@protonmail.com <mailto:taylor_kelinci@protonmail.com>> > > Section: 4.2. Description > > Original Text > ------------- > The implementation of this algorithm MUST support a time value T larger than a 32-bit integer when it is beyond the year 2038. > > Corrected Text > -------------- > The implementation of this algorithm MUST feed the time value T as a 64-bit big-endian integer into the HMAC algorithm. Also the calculation "T = (Current Unix time - T0) / X" must be performed on 64-bit integers the prevent the year-2106-bug or year-2038-bug. > > or just > > The implementation of this algorithm MUST feed the time value T as a 64-bit big-endian integer into the HMAC algorithm. > > Notes > ----- > The wording "larger than a 32-bit integer" is useless in the context. Using anything else than 64-bit big-endian integer results in bogus output and failure to login. The mention of the year 2038 is confusing and essentially off-topic in the light of above ie the fact that not using 64-bit big-endian integer breaks the thing immediately. > > Also code line > > int offset = hash[hash.length - 1] & 0xf; > > does something presumably correct but not mentioned anywhere in RFC6238 nor in the linked RFC4226. In the light of the substantial number of severe faults beyond simple typo, it would be best to publish a new RFC fully replacing both RFC6238 and RFC4226. > > Instructions: > ------------- > This erratum is currently posted as "Reported". (If it is spam, it > will be removed shortly by the RFC Production Center.) Please > use "Reply All" to discuss whether it should be verified or > rejected. When a decision is reached, the verifying party > will log in to change the status and edit the report, if necessary. > > -------------------------------------- > RFC6238 (draft-mraihi-totp-timebased-08) > -------------------------------------- > Title : TOTP: Time-Based One-Time Password Algorithm > Publication Date : May 2011 > Author(s) : D. M'Raihi, S. Machani, M. Pei, J. Rydell > Category : INFORMATIONAL > Source : IETF - NON WORKING GROUP > Stream : IETF > Verifying Party : IESG > > _______________________________________________ > saag mailing list -- saag@ietf.org > To unsubscribe send an email to saag-leave@ietf.org