主要观点:作者作为书呆子会阅读规范文档,指出当前 TOTP 规范已过时且各主要实现存在差异,构建了测试套件供用户测试应用程序对 TOTP 标准的实现情况。
关键信息:
- TOTP 基于 HOTP,以时间为计数器,自 UNIX 纪元已约 17.4 亿秒,当前周期默认 30 秒。
- 对于 2FA 令牌的数字位数,谷歌说 6 或 8 位,YubiCo 允许 7 位,HOTP 规范示例为 6 位,TOTP RFC 未明确截断位数。
- HOTP 规范给定算法为 SHA-1,TOTP 允许使用 SHA-256 和 SHA-512 等,HOTP 还提及其他候选哈希函数。
- 周期方面,谷歌默认 30 秒,TOTP RFC 推荐 30 秒,无最大或最小限制,不同用户需求不同。
- 秘密部分,谷歌和苹果对秘密的编码方式和长度要求不同。
- 标签允许为同一服务有多个代码,谷歌和苹果等的规定存在差异。
- 颁发者部分,谷歌、苹果和 Yubico 的要求也不一致。
重要细节: - 作者构建的测试套件地址为 https://edent.codeberg.page/T... 。
- 文中多处提到各规范的具体链接,如 Google 相关、Apple 相关、TOTP RFC 等。
- 对各参数的讨论详细且涉及多种情况和疑问,如数字位数限制的原因、不同算法的使用等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。