TOTP默认值和可扩展性

时间:2017-01-18 22:51:09

标签: standards one-time-password

最近,我根据RFC 6238使用TOTP实现2FA。引起我注意的是默认值:30秒时间步,epoch作为计数的开始时间,特别是广泛使用的参数(不是RFC直接推荐的) ):在Base32中表示的秘密,长度为6的代码和作为基础算法的HMAC-SHA1。我的问题:

  1. 使用上述参数假设广泛使用的实现中的更改是否合理?这意味着实现一种自定义参数的方法,而不是硬编码默认值。
  2. 是否有任何已知的计划通过广泛使用的客户端实现来“升级”使用的参数,例如Authy,1Password,Google身份验证器等?

1 个答案:

答案 0 :(得分:1)

第一个问题的答案取决于您的需求。如果您已经在服务器上实现了2FA并且正在寻找一些应用程序来在客户端生成代码 - 您只需要选择一个已经支持使用不同参数的应用程序,这样您就可以确保下一个应用程序更新赢了&# 39; t打破了你的身份验证系统。

至于常见的实现:大多数auth服务器使用6位代码,使用Base32和SHA1中的32个符号种子作为散列函数,但我遇到了一些带有SHA-256和52个符号的系统种子。