OTPAUTH,两步验证中的通用协议

OTPAUTH,两步验证中的通用协议

💡 原文中文,约3500字,阅读约需9分钟。
📝

内容提要

本文介绍了GitHub的2FA验证过程和OTP协议,包括HOTP和TOTP两种策略。HOTP是基于HMAC的一次性密码生成算法,TOTP是基于时间的一次性密码生成算法。文章还介绍了OTP协议中的参数,如密钥、发行者、算法、位数、计数器和有效期等。

🎯

关键要点

  • GitHub要求用户添加2FA验证,用户选择使用Apple自带的密码管理系统进行设置。
  • 二维码中包含了OTP验证协议的信息,OTP代表一次性密码。
  • OTP协议有两种策略:计次使用(HOTP)和计时使用(TOTP)。
  • HOTP是基于HMAC的一次性密码生成算法,使用计数器生成校验码,存在计数器不一致的问题。
  • TOTP是基于时间的一次性密码生成算法,使用当前时间生成校验码,解决了HOTP的计数器同步问题。
  • OTP协议中的参数包括密钥、发行者、算法、位数、计数器和有效期等。
  • 密钥参数是Base32编码的任意键值,发行者参数指示账户关联的服务,算法参数可选,位数参数决定一次性密码的长度。
➡️

继续阅读