• 直接用TOTP代替密码登录会有啥问题么?
  • 发布于 2个月前
  • 103 热度
    6 评论
密码难得记,被破了又很麻烦。既然都有各种 2FA 绑定,要不直接用 账号+TOTP 登录。不要密码了。TOTP 每分钟刷新一次,限制每 10 秒只能尝试一次登录。这样有啥安全问题么?
用户评论
  • 昨日情书
  • 以后无密码将会是未来系统的发展趋势吧,现在各种系统要记各种密码,不过很多系统的密码估计最终都记不得了,都只能通过找回密码的方式找回了。
  • 2024/7/9 7:20:00 [ 0 ] [ 0 ] 回复
  • 清醒纪年
  • 首先 TOTP 有个最大的问题是时间同步,你看一下他的算法就知道了,简单理解就是时间加上用户的唯一序列号做 hash 生成,所以客户端和服务器端要保持时间一致,这也是为什么大部分 TOTP 都是分钟为单位。如果真的做到 10 秒钟,用户这边看到、输入、确认,那边已经超时了比对不一致了。我们早年做过滑动时间窗口做客户端和服务器的时间偏移,但是没有特别的意义。


    然后针对脱库这个,库里可以保存用户唯一序列号的强加密数据,这样即使拿到也是加密后的数据。但是加解密也是有时间损耗的,当然不会到秒级,但是用户量大的时候,专门为了登录这个动作而损耗计算时间是否有意义?


    最后,现在的合规要求都是多因素,密码+TOTP 是最理想的双因素认证形式。可以考虑在使用 TOTP 的前提下略微降低对密码复杂度的要求,这也是目前部分认证的思路。


    再最后,密码这块不要考虑这些有的没的,有任何想法请上 FIDO2 。
  • 2024/7/8 12:40:00 [ 0 ] [ 0 ] 回复
  • 空城旧梦
  • 国内这样做没有安全问题。中国的银行其实就是这样做的。只不过是用手机验证码代替,而且这个验证码不是 1 分钟失效的。我估计至少 5 分钟内都可以用吧。登陆要手机验证码,转账也要手机验证码,还需要扫脸证明目前的你跟银行保存的你一致才行。但国外不行。国外没有办法证明目前这个使用者是第一次注册的那个人。
  • 2024/7/8 12:32:00 [ 0 ] [ 0 ] 回复
  • 久拥我i
  • 实际上是可以的,这里面需要有几个问题要注意:
    1. 用户从哪查看 TOTP ,手机 APP, 小程序,还是??
    2. 如果用户的 TOTP 丢失了如何办,如何重置或重新绑定;
    这东西技术上可以,但要和用户使用习惯绑定起来;和短信比起来,totp 无成本,但需要手机设备上有相应的支持。
  • 2024/7/8 12:30:00 [ 0 ] [ 0 ] 回复