otp 與雙因素認證:totp 原理與集成

totp 時間窗口、otpauth uri、恢復碼與 rate limit--開發 2fa 時的安全清單。

· 全部指南

雙因素認證原理

2fa 結合“你知道的”(密碼)與“你擁有的”(手機 totp app 或硬體 key)。otp-generator 生成 totp secret 與 otpauth://uri,開發時對接 google authenticator、authy 等。生產 secret 必須服務端生成並加密存儲。

totp 要點

基於時間窗口(通常 30s)與 hmac-sha1/256。客戶端與服務端時鐘偏差允許 ±1 窗口。恢復碼(backup codes)應在啟用 2fa 時一次性展示並安全保存。

與密碼策略

password-generator 生成高熵密碼;password-strength 評估複雜度。2fa 不能彌補弱密碼,但可限制撞庫後的帳戶接管。sms otp 易受 sim swap 攻擊,優先 totp/webauthn。

開發調試

在 staging 用 otp-generator 驗證掃碼與驗證碼流程;勿在日誌列印 totp secret 或當前 code。rate limit 驗證接口防 brute force。

相關工具