关于 TOTP 的一点疑惑

2021-08-04 13:05:34 +08:00
 v2tudnew

不考虑中间人攻击 /钓鱼问题。

各网站通常采取先验证口令,验证成功再弹出 TOTP 验证 6 位数,感觉有点不合理:

也见过些采取口令和 TOTP 同时要求输入的站点,没有绑定 TOTP 就留空,绑定了就必须口令和 TOTP 同时对,但也会提醒口令不对或者 TOTP 不对。

我的想法是:

1694 次点击
所在节点    问与答
16 条回复
ysc3839
2021-08-04 13:14:01 +08:00
暴力破解的问题在 TOTP 之前就有成熟的解决方案了,比如验证码。
v2tudnew
2021-08-04 13:21:02 +08:00
@ysc3839 #1 没用啊,我就用过本地识别验证码的软件,太复杂验证码比如橘子 14 点.....不知道开发者还好吗.....😂😂(关键是淘宝几分钟解决)
soulzz
2021-08-04 13:21:07 +08:00
totp 解决了生成验证码的麻烦
jim9606
2021-08-04 13:21:31 +08:00
只是一种猜测。

国外大厂商例如 MS 和 Google 是因为 TOTP 只是其中一种可选的 2FA 手段,其他 2FA 手段有电子邮箱、手机验证码、硬件密钥等。其中电子邮箱、手机验证码会暴露部分隐私信息,所以需要先行验证 PIN 才能暴露这部分信息。

国内的话也会在输密码之后进行一个黑箱的风控检查,用以决定是否需要进行额外身份验证。另外不知道是不是觉得用户教育不足,对 TOTP 的信任度还不如常用设备验证。
eason1874
2021-08-04 13:28:03 +08:00
爆破发生在密码泄露之前,而 TOTP 是在密码泄露之后的兜底措施,都不是一回事。

不管有没有 2FA,不管 2FA 放在第一步还是第二步,防爆破都是必须而且先于 2FA 的。
v2tudnew
2021-08-04 13:33:15 +08:00
@jim9606 #4 大厂有风控那确实不一样。

@eason1874 #5 TOTP 兜底没啥用,瞎蒙都蒙对过两次了,第一次就是盛大那破密保。不如作为一种辅助验证口令的手段好用。
v2tudnew
2021-08-04 13:45:47 +08:00
@eason1874 #5 而且我想了下,这也不冲突不是?只是换了个顺序,它就不能起到原来的作用了?
Xusually
2021-08-04 13:46:42 +08:00
@v2tudnew TOTP 蒙对了,还两次??这啥概率啊。不了解盛大的密保,不是六位数字或者字母的么?
v2tudnew
2021-08-04 14:04:11 +08:00
@Xusually #8 当时是数字(类似银行那种硬件。特容易摔坏,跟个玻璃似的),现在不清楚了,当然不是一个产品两次,确实是概率问题。
eason1874
2021-08-04 14:30:13 +08:00
@v2tudnew 你说 “如果口令不对就不会要求验证 TOTP,那么爆破不也可以正常进行”

TOTP 本身就不是解决爆破问题的,你用爆破来质疑它,所以我告诉你这是错的。你把它放到登录页面也无助于防爆破,只会影响用户交互。

你说猜中盛大动态口令两次,他们也是 6 位的,这概率跟中双色球头奖没多大区别了,我更倾向是你记错了或者是盛大的密码产品有问题。
Xusually
2021-08-04 14:34:10 +08:00
@v2tudnew 如果是以前银行那种密保卡,刮刮卡似的,几行几列一共就几十个选择的还可以理解,六位数字的那种还能猜中我真的服气的~
maskerTUI
2021-08-04 14:42:41 +08:00
你这样搞,业务部门会不会跳起来
v2tudnew
2021-08-04 14:51:30 +08:00
@eason1874 #10 首先我不是质疑 TOTP 什么(不合理不表示功能有问题),我只是说可以强化安全,如果要质疑的话岂不是要质疑所有 2FA 了。
其次本身 TOTP 如果不选择记住设备。每次登录都是要验证的,既然都是要验证的何来影响用户体验一说?如果要记住设备也可以在登录框上勾选。我自己就这么搞也没有用户来说啊。
第三,密保那个你们爱信不信 @Xusually #11

@maskerTUI #12 能详细说说吗?我自己想法那部分确实可能折腾人,但只把 TOTP 挂登录框没想到有啥坑的地方。
eason1874
2021-08-04 15:50:20 +08:00
@v2tudnew 所以说你还是没懂,这么说吧。

同时输入密码和 TOTP 进行同时验证,其一错误会提示的,这是双重密码。
先验证密码,密码对了才验证 TOTP 的,这是两步验证。

多数网站的 TOTP 不是密码,是两步验证的第二步的密保工具之一,比密码等级更高。

先验证密码,才验证密保,这是规范。可以把这两个步骤放在一个表单提交,但后台验证逻辑并不改变什么,还是先密码再密保,因为改了就不是两步验证了。所以说改变的只有用户交互,有些密保工具必须先验证密码才能暴露,比如手机号、邮箱。

TOTP 不解决爆破问题,行为风控跟密码强度、密保工具是不同的问题。
dototototo
2021-08-04 15:53:01 +08:00
我大概懂楼主你想说的了,其实防不防爆破不是关键,你真正想表达的是要同时对用户名,密码和 TOTP 三者进行验证,以增加爆破难度吧?
crab
2021-08-08 13:41:57 +08:00
网银有的登陆就是一起判断的,但有的会考虑用户体验告知是密码错还是 TOTP 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/793579

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX