Replies: 4 comments 2 replies
-
@JYC333 , perhaps you could pitch in. @nodeam , do you have some security concerns about 16 characters? The length by itself is not a good measure. |
Beta Was this translation helpful? Give feedback.
-
Off course not, but it is a part of it.
A TOTP secret with 16 Base32 characters equals 80 bits of entropy (16 characters × 5 bits per Base32 character = 80 bits). This is barely sufficient for TOTP but sits at the lower end of the secure spectrum.
SHA-1 is no longer considered cryptographically secure, mainly due to known collision vulnerabilities. In the context of TOTP, however, SHA-1 is used for HMAC, not for digital signatures, which makes the risk somewhat lower. Still, SHA-256 or SHA-512 would be more appropriate today.
• The TOTP code changes every 30 seconds, but during that window, an attacker can still try up to 1 million possible codes (000000–999999). Best practice is to enforce: Comparison: BTW: since my last update Trilium Notes doesn't send any error codes like (401|403|404|429|500) back on failed login attempt anymore. So there is no use case for fail2ban at caddy point anymore. Logs looks like: 0.92.4 provides 401 on failed login attempt: |
Beta Was this translation helpful? Give feedback.
-
It would be great to get: If OTP rate limiting were not doable for any reason , then error codes in log for both wrong password and/or wrong TOPT would be IMHO sufficient. fail2ban can lockout then itself due to user/admin preference. Thank you all for your time and effort. |
Beta Was this translation helpful? Give feedback.
-
Closing as we now have https://github.com/TriliumNext/Notes/issues/1684 to track it. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Just updated to 0.9.2.7. TOPT is great feature. Thanks for that. There would be almost no need for Authelia & co. But really only 16 characters?
Why not something like that:
head -c 20 /dev/urandom | base32 | tr -d '=' | cut -c1-32
Beta Was this translation helpful? Give feedback.
All reactions