Implementing TOTP two-factor authentication in 2025
a year ago
- #Authentication
- #TOTP
- #Security
- TOTP(基于时间的一次性密码)是目前最流行的双因素认证方式(由于SIM卡交换漏洞问题,已排除短信验证方式)。
- 2019年一项分析显示,许多验证器会接受非标准参数,导致生成错误代码,迫使服务商为保持兼容性而采用默认安全参数。
- 2025年测试表明,各类验证器对SHA1和SHA256算法的支持参差不齐,即便指定SHA256,部分仍默认使用SHA1算法。
- iOS版谷歌验证器会拒绝52字符密钥的SHA1算法,但接受32字符密钥的SHA256算法,突显了实现标准的不一致性。
- 对网站运营者的建议仍与2019年一致:采用SHA1算法、32字符密钥、30秒有效期和6位数验证码以确保广泛兼容性。
- 额外安全措施包括:避免明文存储TOTP密钥、实施备用验证码等恢复机制,以及记录已使用的验证码。
- 在URI中添加'image'和'color'等可选参数可提升用户体验,多数客户端会忽略这些非必要参数而不会引发问题。