[saag] Fwd: [Technical Errata Reported] RFC6238 (8672 )

Paul Wouters <[email protected]> Fri, 12 Dec 2025 14:19:22 -0500
Newsgroups gmane.ietf.saag
Message-ID <CAGL5yWYyET=tpJNz3HEXd_gRyC7Bro041FVP75MsOPLRysW+bQ@mail.gmail.com>
I believe this is correct. If anyone disagrees, please speak up.

Paul


---------- Forwarded message ---------
From: RFC Errata System <[email protected]>
Date: Sat, Dec 6, 2025 at 12:45 PM
Subject: [Technical Errata Reported] RFC6238 (8672)
To: <[email protected]>, <[email protected]>, <
[email protected]>, <[email protected]>, <[email protected]>
Cc: <[email protected]>, <[email protected]>


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 <[email protected]>

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 -- [email protected]
To unsubscribe send an email to [email protected]