V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liuidetmks
V2EX  ›  程序员

为什么国内网站喜欢用短信作二次验证,而不用 TOTP?

  •  
  •   liuidetmks · 2022-05-25 18:03:29 +08:00 · 9449 次点击
    这是一个创建于 636 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大网站,百度,qq, v 站这类小芝麻就不说了

    第 1 条附言  ·  2022-05-25 19:00:47 +08:00
    短信,有伪基站嗅探拦截的风险
    第 2 条附言  ·  2022-05-26 11:11:03 +08:00
    我想到另一个原因,手机号可以做到防止有人大规模注册账号刷资源


    而手机号回收之后,被重新利用确实是个大问题。

    运营商可以考虑像微信学习

    对每个用户针对每个网站生成唯一的 openid ,注销之后重新绑定不一样身份证就更换 openid 。

    网站发送验证码只能通过 openid 发送,不能通过手机号发送。(或者提高成本,5 块钱?)

    这样,网站既能标记同一个用户,又能保护隐私。
    74 条回复    2022-05-27 10:09:00 +08:00
    Terry05
        1
    Terry05  
       2022-05-25 18:08:21 +08:00
    短信验证码挺好的,有这么难接受嘛
    v2tudnew
        2
    v2tudnew  
       2022-05-25 18:08:22 +08:00
    /t/741741
    此贴终结
    caqiko
        3
    caqiko  
       2022-05-25 18:13:47 +08:00   ❤️ 10
    更恶心的是要关注微信公众号,通过公众号推送验证码
    xiaozecn
        4
    xiaozecn  
       2022-05-25 18:16:21 +08:00 via Android
    @caqiko ,哈哈,深有体会。有一个卖无线网卡的厂家。产品配的光盘。在官网下载驱动,得先关注公众号。
    libook
        5
    libook  
       2022-05-25 18:16:41 +08:00
    一个绕不开的需求就是实名制。

    短信可以同时满足实名制和二次验证,且用户使用成本低,用户不会觉得麻烦而流失,确保后续可以让更多用户付费。

    实际上运营商现在搞了一种更快捷方便的验证模式,连短信都不需要,只需要用户点一下按钮,运营商通过底层技术来确保认证有效。
    7v9TEc53
        6
    7v9TEc53  
       2022-05-25 18:19:10 +08:00   ❤️ 2
    短信验证码:能收短信就行,不管你手机是 iPhone 18 还是小灵通
    TOTP:?
    AoEiuV020CN
        7
    AoEiuV020CN  
       2022-05-25 18:19:20 +08:00
    感觉不如验证码,甚至担心丢失,
    那些 Authenticator 我记得刷机是不会保留的,
    方便也不够方便,
    而且国内很大程度上短信验证是必须的,就算要用也能是验证码+TOTP ,不能只有 TOTP ,
    1235467
        8
    1235467  
       2022-05-25 18:22:22 +08:00
    @caqiko 特别是那种隔几天换个验证码还在公众号里面获取的网站,真的烦
    docx
        9
    docx  
       2022-05-25 18:23:08 +08:00 via iPhone
    一方面是实名制,都要绑手机,两步验证也就顺其自然
    另一方面是麻烦,普及率并不高,要考虑到各种普通用户
    clf
        10
    clf  
       2022-05-25 18:23:13 +08:00
    人人都有手机号,还不会忘(起码能用身份证补办)

    但并不是人人都有 TOTP 的计算工具,也不能用身份证补办。
    imn1
        11
    imn1  
       2022-05-25 18:25:04 +08:00
    哪个 v 站? V2EX 有 TOTP ,我一直用

    SMS 能检测号码活跃,此实名用户活跃,如果我是老板,打算发广告或准备发广告,我也选 SMS 做检测点
    国外因为 GDPR 及美国的一些法律,乱发 SMS 广告是有问题的,他们多数是 email 发广告,所以注册时更偏重检测 email
    ruixue
        12
    ruixue  
       2022-05-25 18:26:49 +08:00
    原因楼上已经解释很清楚了,在这只纠正一点:二次验证是所知的东西(密码)+所有的东西(移动设备、手机号、totp 验证器、实体安全密钥等)双因素验证,现在很多网站直接一个手机短信就登录了,充其量只能算一次验证
    zxxufo008
        13
    zxxufo008  
       2022-05-25 18:33:26 +08:00
    安装 TOTP app 有成本,短信没有
    xctcc
        14
    xctcc  
       2022-05-25 18:35:45 +08:00
    上次手机刷机忘记备份谷歌身份验证器。。。。结果美区 paypal 上不去了,改密码让我联系客服,弄不成功,最后放弃了那个帐号
    iyaozhen
        15
    iyaozhen  
       2022-05-25 18:38:30 +08:00
    为啥用 TOTP ?这个需要 app 呀,用户安装哪个呢?
    每个公司搞一个?
    ronman
        16
    ronman  
       2022-05-25 18:42:05 +08:00 via Android
    @Terry05 多一种选择不好吗
    adoal
        17
    adoal  
       2022-05-25 18:43:15 +08:00 via iPhone
    为什么国内线下支付喜欢用二维码,而不用刷卡、NFC ?
    bao3
        18
    bao3  
       2022-05-25 18:55:29 +08:00
    用手机号做二次验证,我是觉得没什么问题。但是很多网站,我不知道他们怎么想的,只要手机号 + 短信就直接登录了,还是帐户的完整权限,这简直就是蠢。
    ddllzz
        19
    ddllzz  
       2022-05-25 19:28:40 +08:00
    别问,问就是客户沉淀
    Jieoog
        20
    Jieoog  
       2022-05-25 19:37:33 +08:00
    傻逼+懒呗

    想想就中国人的精明头脑,分分钟钟给你搞个钓鱼 APP 出来。主要爸妈也不懂,汗,小孩子也不懂,汗,玩来玩去还是 90 后这代人的事情
    FightPig
        21
    FightPig  
       2022-05-25 19:42:10 +08:00
    你让用户再装个 app ?好多用户年纪大的,密码都记不住,后来我们没办法了,只能用短信了
    MengiNo
        22
    MengiNo  
       2022-05-25 19:45:31 +08:00 via iPhone   ❤️ 1
    短信是一次验证 + 最强权重,这种畸形模型。和 MFA 没有任何关系。没有短信你知道密码、知道 TOTP 、可以收邮件验证码都没卵用,只能乖乖手持身份证求他们把号还给你。
    zololiu
        23
    zololiu  
       2022-05-25 19:48:34 +08:00
    同好奇这个问题。目前知道国内在用的,好像就只有坚果云。
    LeegoYih
        24
    LeegoYih  
       2022-05-25 20:07:29 +08:00
    三要素实名认证
    方便多平台数据打通
    最关键的是可以给发营销短信
    wdssmq
        25
    wdssmq  
       2022-05-25 20:17:05 +08:00
    要手机号就算了,,但是你能不能引导个绑定邮箱,,两个手机号,我记不清自己是用的哪个注册的 - -,经常一不小心多注册一个号。。
    zhangfuguan
        26
    zhangfuguan  
       2022-05-25 20:53:10 +08:00
    100 个应用,你需要关联 key, 到时候怎么找?
    ltkun
        27
    ltkun  
       2022-05-25 20:58:59 +08:00 via Android
    @zhangfuguan bitwarden 保存密码的同时可以自带 totp 根本不用找
    vocaloid
        28
    vocaloid  
       2022-05-25 21:09:55 +08:00
    1.方便
    2.TOTP 还要装 app ,我觉得还是算了吧,有时候就是不想装 app 才用网页版
    gdt
        29
    gdt  
       2022-05-25 21:28:04 +08:00
    中国特殊国情
    0017
        30
    0017  
       2022-05-25 22:01:41 +08:00
    大厂其实有的,最早还有密码卡做二次验证,还有网易将军令之类的实体 KEY,QQ 也有安全中心 app,不过缺少 Google 验证器这种通用的杀手级 APP

    国外支持 TOTP 的基本也都能用短信做替代验证
    ruimz
        31
    ruimz  
       2022-05-25 22:10:08 +08:00 via iPhone
    美国的亚马逊,discover ,amex ,schwab ,chase 也是用短信验证登录,以上这些的二次验证短信我都存着呢。
    并没有感觉国内国外在发短信的偏好上有什么区别
    pendulum
        32
    pendulum  
       2022-05-25 22:12:08 +08:00
    我寻思国外也喜欢 SMS 吧?
    aleen42
        33
    aleen42  
       2022-05-26 00:12:20 +08:00 via Android
    說起來,怎麼能完全保證本地 FA 不會丟失?運營商倒閉的風險比託管算法的 app 倒閉的風險小很多
    vvjyun318
        34
    vvjyun318  
       2022-05-26 00:22:16 +08:00
    最恶心的是国内运营商短信还 tm 收费,北美几乎都是免费的,微信,企业微信,抖音每次都要自己主动发短信,人在国外国际漫游登陆一次就收费 0.99 元,还 tm 没有 esim 手机号丢了还要从国内补办
    vvjyun318
        35
    vvjyun318  
       2022-05-26 00:26:24 +08:00
    @ruimz @pendulum 是的,国外的 Uber doordash 外卖都是 SMS 或者邮箱验证码,没有二次验证的话窃取了密码可以直接用绑定在账号里的信用卡下单了.信用卡都不需要输入支付密码,前些天有个人迪士尼丢了 Apple watch Apple Pay 刷无透支额度上限的信用卡盗刷了 4 万美金
    vvjyun318
        36
    vvjyun318  
       2022-05-26 00:30:20 +08:00
    还是喜欢用邮箱接收验证码,这样电脑平板都能查看验证码,不需要看手机,SMS 转发还需要 iPhone iPad Mac 用 iCloud 转发,我 chase 银行都是用邮箱接收验证码,出国也不用保留手机号和开通国际漫游并且接收发送短信收费.
    agagega
        37
    agagega  
       2022-05-26 01:04:47 +08:00 via iPhone   ❤️ 1
    1. 因为手机号是必需的,有实名制需求
    2. 国内产品经理理解的易用不是简洁,而是把用户当成啥也不知道的猪
    GeruzoniAnsasu
        38
    GeruzoniAnsasu  
       2022-05-26 08:50:08 +08:00
    我觉得短信实际上更先进

    伪基站嗅探走一个验证码有啥用,你登录 session 还在发验证码的用户那呢
    07ly
        39
    07ly  
       2022-05-26 08:58:22 +08:00
    其实还有一个很严重的问题,就是手机号停号之后,过一段时间运营商还是会拿出来卖的。
    这就意味着,如果用手机号注册的服务,在停号之前忘了解绑,停号之后又忘了去服务那里换号码。就有很大的可能被别人使用,尤其是通过短信验证码登录的服务。
    现在用手机号注册的服务那么多,如果有一天停号了,谁会记得自己之前注册过哪些。最多就是记得一些自己常用的服务。
    之前好像有消息说运营商要和互联网公司合作,要解决这个问题。现在也不知道进展如何。不过这最多也就是那些用的人多的互联网大厂可能会关注,那种小众的估计就只能靠自己了。
    Rache1
        40
    Rache1  
       2022-05-26 09:24:00 +08:00
    与短信相比,我觉得还有一种更瓜的,腾讯云的 TOTP ,他必须要你使用微信小程序添加,不能用第三方的 TOTP App 去添加。在线 TOTP ,真是让人大开眼界。
    nothingistrue
        41
    nothingistrue  
       2022-05-26 09:26:15 +08:00
    防止密码泄露的双因素验证,跟防止账号共享的额外验证,是两码事。短信验证作为防止密码泄露的手段,那是脱裤子放屁基本没用,它的防攻击性甚至不如密码单因素验证。但是,作为防止账号共享的额外验证手段,短信验证是相当有效并且成本特别低的。

    PS:喜欢短信验证的不止国内,大名鼎鼎的 Steam ,你要不想裸奔或者嫌使用邮箱麻烦,就得用它专门的基于手机号绑定的两部验证方法。当然,区别还是有的,Steam 会明确告诉用户要手机的原因就是防止账号共享,国内不会告诉你。
    bigbigpark
        42
    bigbigpark  
       2022-05-26 09:58:32 +08:00
    国外用的就是香呗
    weixiangzhe
        43
    weixiangzhe  
       2022-05-26 10:50:38 +08:00
    手机号 我觉得好危险,因为手机号注销后是会流出到市场的,别人直接就短信登录了吧,而在座的老哥又有几个验证了身份信息的
    weixiangzhe
        44
    weixiangzhe  
       2022-05-26 10:51:14 +08:00
    在座的老哥又有几个写了验证了实名身份信息的代码的
    liuidetmks
        45
    liuidetmks  
    OP
       2022-05-26 10:51:30 +08:00
    @Rache1 腾讯可能觉得第三方 app 不可信,怕你批量注册账号,手机号有个功能是验证真人。
    takato
        46
    takato  
       2022-05-26 12:07:10 +08:00
    从方便的角度上考虑,现在实际情况是非技术人员脑子里确实很难装得下复杂的东西,大家只关心怎么用,而完全不关心细节。
    离线的 TOTP 还是非常有必要存在的。在某些特定的领域,受众群体不同,可以使用的方案应当也是不同的。
    另外提一点,当短信作为一种中心信道而存在的时候,它受攻击的可能性就会大大增加,另外这里要特别考虑人和人组成的集合的情形。
    所以鸡蛋还是要放在不同的篮子里。

    实名制也有一个问题,就是账号信息的维护也会成为成本,如果要求绝对安全就必须要求每次使用都要验证,这是一个无限追问“你因为什么而是你”的问题,这势必会让产品的使用变得不那么方便。
    简而言之一句话,安全是相对的,应该没有绝对的安全与绝对的方便共存的方式。
    sunhelter
        47
    sunhelter  
       2022-05-26 12:13:53 +08:00
    因为国情啊,你说的国外指的是美欧发达国家,受教育程度比较高,肯定不包括亚非拉第三世界人民。对于国内来讲短信门槛低,就跟国外用信用卡国内用二维码一样
    chrosing
        48
    chrosing  
       2022-05-26 12:21:40 +08:00
    可以去工信部搜索一下,工信部明确要求,国内注册在案的所有公司都应该按照要求进行实名入网,这也是导致为啥需要短信验证的源头.
    veightz
        49
    veightz  
       2022-05-26 12:36:54 +08:00   ❤️ 1
    我司用了,使用问题咨询量很大,很多用户搞不明白这是什么东西。弄丢用串的情况很多。
    binux
        50
    binux  
       2022-05-26 13:08:13 +08:00 via Android   ❤️ 3
    问就是
    国内用短信就是国情。
    国外用短信就是人文关怀,功能机也能用。
    Alliot
        51
    Alliot  
       2022-05-26 13:10:49 +08:00 via Android
    TOTP 怎么管你 人家的二次验证是为了账号安全吗? 是为了实名。。。
    titanlpy
        52
    titanlpy  
       2022-05-26 14:08:20 +08:00
    要不是上网,我还以为国外不用短信验证码呢
    unco020511
        53
    unco020511  
       2022-05-26 14:12:01 +08:00
    google 微软的二次验证要多难用有多难用
    biubiuF
        54
    biubiuF  
       2022-05-26 14:12:41 +08:00
    实名
    SenLief
        55
    SenLief  
       2022-05-26 14:20:30 +08:00
    国外也有短信验证码吧,要不那些 sms online 的都是美国和英国的号码是做什么用的。
    wanacry
        56
    wanacry  
       2022-05-26 14:33:26 +08:00 via iPhone
    用其他的你怎么保证实名,自有国情在
    DT27
        57
    DT27  
       2022-05-26 15:15:11 +08:00
    因为国内强制手机号认证。
    leavic
        58
    leavic  
       2022-05-26 15:18:01 +08:00   ❤️ 2
    短信验证,意味着强力机构可以随时劫持你的任何账号。
    Zy143L
        59
    Zy143L  
       2022-05-26 15:21:47 +08:00
    更多是为了实名制需求..
    国内的 2FA 很怪...
    基本上都是靠短信验证码或者微信扫码
    HankAviator
        60
    HankAviator  
       2022-05-26 15:22:13 +08:00 via Android
    仅仅打开 TOTP app 这一步就劝退很多人了,就是懒到这个地步
    cybird
        61
    cybird  
       2022-05-26 15:32:23 +08:00
    @Terry05 难接受。
    Wallace01
        62
    Wallace01  
       2022-05-26 15:37:31 +08:00
    @GeruzoniAnsasu 短信嗅探一般都是主动登录然后想办法拿验证码吧
    lyhiving
        63
    lyhiving  
       2022-05-26 15:38:36 +08:00
    微信服务号的模板消息应该对于商家是成本最低的方式,短信的成本并不低。
    单纯就安全方案而言,只要隔离设备都会提高安全性。

    如果真的如楼主所言,每次验证要 5 块钱,那么没有网站或 app 端会用。只有不断降低的成本才有推广开来的可能。
    summersun2021
        64
    summersun2021  
       2022-05-26 15:46:43 +08:00
    微软、苹果、google 这三巨头不是在推行什么无密码项目吗,好像也是跟手机联动的,无感操作。只要感应到手机到旁边,任何网站都唔需要设置密码。不需要短信,不需要扫码,不需要填写用户名和邮箱,好像这样
    palemoky
        65
    palemoky  
       2022-05-26 15:54:12 +08:00
    我觉得有几个原因吧:
    1. 实名。网站除非达到一定规模,很难直接通过官方接口验证用户真实身份,官方十年前开始要求手机号实名,通过绑定用户手机号可以信任营业厅的实名认证结果,出现问题可以定位到真实身份,现在国内注册邮箱都要求绑定手机号
    2. 短信验证简单。几乎手机是所有上网用户必备的工具,短信不需要对用户进行引导,简单方便。OTOP 虽然安全性更高,但也需要用户安装额外的软件,同时手机丢失后需要重新绑定,非常麻烦,短信方式重新补办 SIM 卡即可
    3. 网站发送营销信息。现在绝大多数网站都默认手机号登录 /注册,这不仅降低了三四线人群的注册门槛,同时也方便的解决了忘记密码的问题,网站还可以在搞活动时给用户发送短信,这也导致了近几年 618 和双 11 时用户被促销短信轰炸、阿里云电话轰炸

    再说短信验证的缺点:
    短信验证有效期通常是十分钟左右,验证码是 4 或 6 位数字,如果网站没有做重试的上限验证,则会导致有效期内的暴力破解,黑客直接可以取得账号的 root 权限,进行修改密码等操作
    neptuno
        66
    neptuno  
       2022-05-26 16:03:32 +08:00
    怎么跟我大爷大妈解释 totp ?而且这东西丢了就没了,还得用手机号校验去除 totp
    stoluoyu
        67
    stoluoyu  
       2022-05-26 16:11:41 +08:00
    看到楼里好几位提到实名认证,小小歪个楼。我感觉现在的实名认证通过手机号有些业务要身份证,这种方式要的信息太多了,导致很多并不需要知道你是谁的应用、业务拿到了个人信息。是否应该由国家建立统一的实名认证平台,用类似于 oauth 的方式来实名,双方在信息上是解绑的,需要的时候再调取个人信息。
    newaccount
        68
    newaccount  
       2022-05-26 16:50:56 +08:00
    别把自己的专业当成所有人的常识。别说 TOTP 了,就一个二次认证,就能弄傻一堆公司自己的客服,这还是一帮硕士呢。人家不做这个,不知道是很正常的。
    liuidetmks
        69
    liuidetmks  
    OP
       2022-05-26 17:47:13 +08:00
    @lyhiving 你把我意思理解反了(我没讲清楚
    我意思是 通过用户手机号发送短信的收费提高到 5 块,
    新的通过 openid 发送短信收费还是 1 毛.这样新技术自然就有人用了
    lyhiving
        70
    lyhiving  
       2022-05-26 18:04:06 +08:00
    @liuidetmks
    不管是对开发者还是对使用者,成本提高都是阻碍新技术推广的重要环节。

    TOTP 仅仅是一个信钥,不知道非要搞到收费是什么意思。
    现在连下个 app 都做不到,网站还要花钱发短信。
    lakehylia
        71
    lakehylia  
       2022-05-26 18:04:43 +08:00
    都是利益,官方要求实名,app 就当成尚方宝剑,理直气壮要求用户填手机号,然后发垃圾营销信息。
    yaoyao1128
        72
    yaoyao1128  
       2022-05-26 20:03:48 +08:00 via iPhone
    @stoluoyu 是的,并且韩国就是一个例子,是有三个专门的和金融相关的公司有权限认证,认证过程中分几种,不过都是跳转到这几个公司的网页
    1. 通过手机 运营商 手机号 姓名 出生年月日 性别同时匹配的情况下,用户请求一个验证码,验证
    2. 通过一个 ipin ,用户注册时候可以用身份证到住民中心 /公司的总部 来注册,也可以线上用共同认证书(一般都是金融机关代理专门的认证机构发行的一个电子证书,用作电子签名)
    3. 外国人的话,也可以选择直接验证外国人登陆证号码(长期居住外国人的身份证,号码编排本国人身份证一样,第 7 位从本国人的 1.2.3.4 变成 5.6.7.8 )

    验证通过后,这几个公司返回一个 ci (用户标识)这个标识和用户身份证绑定,和验证方无关,和网站(申请验证功能接口的公司)绑定,但是除了验证方以外网站本身是获取不到用户身份证号码
    韩国现在能直接获取用户身份证号码的场景:金融相关,医院(挂号与线下就诊),药店(处方上面会记载,和医疗保险自动报销相关),行政,运营商,教育,税务(关税除外,关税是通过验证后申请一个个人通关号码用来通关,防止外泄),福祉(保险),不动产签约
    其他企业 /个人禁止收集这类信息
    https://www.privacy.go.kr/cmm/fms/FileDown.do?atchFileId=FILE_000000000815219&fileSn=0 相关介绍文件( 2014 版本)
    ok-name.co.kr
    niceid.co.kr
    siren24.com
    三大信用评价机构(实名认证机构)
    privacy.go.kr 韩国的个人信息保护门户,主要负责教育 法律公开 举报
    eprivacy.go.kr 韩国的个人信息保护服务网站,可以查询本人认证的记录,一键注销网站账户,申请查看个人信息等


    国内的话,现在来看其实大多数也用的是阿里和腾讯两家……不过身份证号码和照片基本都是全面收集……
    ruimz
        73
    ruimz  
       2022-05-27 00:23:33 +08:00 via iPhone
    @ruimz 手机号回收也是个问题。国内是至少六个月才重新放号,期间拿身份证去运营商可以捞回来。但非实名的例如美国并不是这样,因为没有办法证明原来的号是谁在用。
    我对这个很有体会。我曾经在电信那里捞回来一个号;我到美国第一个号就是明显的二手号,而且前户主刚欠费不久。很多车险,卖房,快递,找人的电话短信都找到我这里来了。不光是我受影响,我相信前户主也很想找回这个号。但是很明显 TA 没有办法找回这个绑定了许多信息的号码

    相信有一个国家牵头中间平台会好很多
    NoKey
        74
    NoKey  
       2022-05-27 10:09:00 +08:00
    手机号能否和手机绑定,也就是手机卡插到其他手机上都不能用?没操作过。如果能绑定,那么手机实际就是个验证器了,手机号和身份证绑定了,所以一个手机号一个账号比较简单,用户也简单,不用记各种邮箱账号什么的,然后,短信验证,就跟用验证器验证一回事了,如果手机丢了,捡到手机的人首先得能解开手机才能使用,加上手机号和手机绑定,也就无法把卡拿出来插到其他手机使用了~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   917 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:46 · PVG 05:46 · LAX 13:46 · JFK 16:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.