-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update rlm_totp to follow the standards better #4809
Comments
To align with common implementations and include "nice to haves" : Secret format: BASE32 or HEX Better examplesInclude links or at least references to 3rd party sites that can generate TOTP tokens which is very helpful for debugging. And that site example doesn't work as it should be an update control:
And there are sites you can pass an example key to such as: https://totp.danhersam.com/?key=JBSWY3DPEHPK3PXP I think changing the example to be an uppercase alphanumeric BASE32 string similar to the above examples makes it clear how they should look rather than a pure numeric value in the sites available example. Include debug stepsI found this post where "-Xx" includes extra debugging to include what the expected code was and what was received. That was super handy for debugging so if the expected codes were was included in -X, or at least documented in the sites-available example that -Xx is the best way to debug would be very handy to know why the module was failing showing the expected token codes in debug. Secret format reasoningIt's standard to have a seed or secret in BASE32 format. But I have seen situations for hardware tokens where a HEX format is supplied. Token2 has an excellent TOTP config site allowing conversion between BASE32 <-> HEX formatted seeds.
Hashing AlgorithmSHA1 is by far and above the standard here, but some security folks for whatever reason prefer SHA256 so if that could be adjustable per token that would make sense.
Digit lengthThe standard is 6 digits, and 8 is supported but shouldn't be the default in any examples so thank you for updating 3.2 to align to master. Time step size30 Seconds is also the default, but I have deployed hardware tokens with 60 seconds time step as end users can have a challenge getting the 6 digit code within 30 seconds so my personal view is 60 seconds is better for hardware tokens so having this option adjustable per user via the Skew supportThis is already there with Token specific Hardware Time Skew in secondsThis is also quite an edge case but I have seen on hardware tokens the UTC Clock that was set when the token was manufactured is way off UTC time, or it can skew over time. |
Message
Implement window and anti-retry of https://datatracker.ietf.org/doc/html/rfc6238#section-5.2
cache
moduleThe text was updated successfully, but these errors were encountered: