V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wenhaoy
V2EX  ›  信息安全

这是不是能证明 QQ 现在还是明文保存密码的?

  •  
  •   wenhaoy · 2017-11-15 11:58:49 +08:00 · 8996 次点击
    这是一个创建于 2344 天前的主题,其中的信息可能已经有所发展或是发生改变。
    68 条回复    2017-12-03 02:28:26 +08:00
    jinyang656
        1
    jinyang656  
       2017-11-15 12:01:29 +08:00
    并不能
    just1
        2
    just1  
       2017-11-15 12:02:45 +08:00 via Android
    大部分的厂商都有这个功能啊,比如 google
    wenhaoy
        3
    wenhaoy  
    OP
       2017-11-15 12:05:42 +08:00
    @jinyang656 为什么?如果是 hash 过的密码,他怎么检测?
    wenhaoy
        4
    wenhaoy  
    OP
       2017-11-15 12:06:06 +08:00
    @just1 Google 是在设置密码的时候检测吧?
    hyperdak288
        5
    hyperdak288  
       2017-11-15 12:06:35 +08:00
    hash 过密码一样能检测。。

    你再想想
    wenhaoy
        6
    wenhaoy  
    OP
       2017-11-15 12:09:58 +08:00
    @hyperdak288 hash 过的密码是不可能检测的,除非去拿弱密码库去穷举。否则,就是 hash 算法有问题
    imn1
        7
    imn1  
       2017-11-15 12:10:33 +08:00
    @wenhaoy #3
    把弱密码的 hash 造一个表就能检测啦
    xgfan
        8
    xgfan  
       2017-11-15 12:11:02 +08:00
    不能,G 家和 MS 都有这个功能,甚至还会提示你新密码和之前的密码重复。
    wenhaoy
        9
    wenhaoy  
    OP
       2017-11-15 12:11:16 +08:00
    @imn1 其实本质还是穷举?
    wenhaoy
        10
    wenhaoy  
    OP
       2017-11-15 12:12:37 +08:00
    @xgfan 新密码和老密码重复很好判断,hash 值一样就行了。G 家和 MS 可没有检测你现有账户的密码安全功能,只是在你修改密码是,他会检测一次,不合规不让设置
    misaka19000
        11
    misaka19000  
       2017-11-15 12:13:12 +08:00 via Android
    很简单啊,把密码做一下 hash 和之前的 hash 值比较一下不就行了,这和明文有什么关系?
    qiayue
        12
    qiayue  
       2017-11-15 12:14:55 +08:00


    我猜 QQ 的这个功能是在你每次修改密码时检测一遍密码强度,然后保存下来了,而不是你每次打开页面的时候实时去检测你当前的密码
    tghgffdgd
        13
    tghgffdgd  
       2017-11-15 12:15:58 +08:00 via Android
    @imn1 弱密码的数量有多少个?纯数字 1 到 12 位?仅一个字母加数字又 1 到 12 位?。。。。。为何要这么麻烦?
    wy315700
        14
    wy315700  
       2017-11-15 12:16:55 +08:00
    在你登录的时候检测不就行了
    wenhaoy
        15
    wenhaoy  
    OP
       2017-11-15 12:18:20 +08:00
    @qiayue 但愿是这样。但即便是这样也挺扯淡,相当于保存了线索,让黑客托库后穷举复杂度大大降低
    imn1
        16
    imn1  
       2017-11-15 12:31:25 +08:00
    @tghgffdgd #13
    我仅仅是回答 #3,说的是 hash 后也能查

    但我没说 QQ 就是这样查
    QQ 究竟是 hash 前检查还是 hash 后检查,我怎么知道,我又不是腾迅的

    &,查表很麻烦么?
    geelaw
        17
    geelaw  
       2017-11-15 12:35:47 +08:00 via iPhone
    当然不能证明,比如已经有人说了可以在登录的时候检查
    just1
        18
    just1  
       2017-11-15 12:39:49 +08:00 via Android
    1.理论上所有厂家都能存明文,就算把代码和库公开你也能说是处理过的
    2.不用想象得那么黑暗
    dawn009
        19
    dawn009  
       2017-11-15 12:41:28 +08:00   ❤️ 1
    @imn1 hash 要加盐的,构造不出通用的表
    dawn009
        20
    dawn009  
       2017-11-15 12:42:10 +08:00
    这年头谁也别信。老老实实一帐一密。
    ho121
        21
    ho121  
       2017-11-15 12:54:44 +08:00 via Android
    @dawn009 把小于等于特定长度的所有字符串都 hash 一遍,相当一部分的盐就没用了
    wenhaoy
        22
    wenhaoy  
    OP
       2017-11-15 13:19:38 +08:00
    @wy315700 不是,快速登录点头像(不输密码)也能检测
    wenhaoy
        23
    wenhaoy  
    OP
       2017-11-15 13:21:07 +08:00
    @geelaw 点头像快速登录也能查
    FFLY
        24
    FFLY  
       2017-11-15 13:46:18 +08:00   ❤️ 1
    稍微上点规模的公司,造个库有多难,写好算法让程序自己跑,一个库一天时间都不用。

    还有,楼上说的加盐之类的,都不需要去讨论。弱密码库肯定是用相同算法做的,不存在不能比对的问题。

    当然,这种方法是最简单粗暴的,腾讯这种体量的公司,更高层次的方法毫无压力。所以说,不要拿个人开发的视角去看企业的开发,你觉得很烦的事,在企业开发角度上往往是最简单有效的。
    hyperdak288
        25
    hyperdak288  
       2017-11-15 14:14:40 +08:00
    @wenhaoy 穷举多大事阿,腾讯是买不起硬盘存数据还是买不起 CPU/GPU 穷举了
    dot
        26
    dot  
       2017-11-15 14:33:30 +08:00 via Android
    检测密码强度的话,在你的密码转 hash 前检测一个强度结果,存起来,你每次访问都告诉你这个,就可行啦,不需要知道密码嘛~
    geelaw
        27
    geelaw  
       2017-11-15 14:53:55 +08:00
    @wenhaoy 那么直接存储强度呢?

    我意在表明能查强度和明文之间是充分不必要的关系。
    changwei
        28
    changwei  
       2017-11-15 16:02:03 +08:00 via Android   ❤️ 2
    腾讯以前找回密码的时候,即使填历史密码的片段,注意,是片段,也能找回成功。我用这种方法申诉,当时只填了历史登陆地点和历史密码的中间一个片段,居然成功了,所以从那开始我也怀疑腾讯是不是明文存储密码。

    但是找不出其他什么强力证据来解释。希望腾讯官方什么时候能出来解答一下这些疑惑。
    f2f2f
        29
    f2f2f  
       2017-11-15 16:13:35 +08:00
    这个检测是本机 js 检测的,你以为是回传到服务器做检测的么?
    wenhaoy
        30
    wenhaoy  
    OP
       2017-11-15 16:21:11 +08:00
    @hyperdak288 我自始至终没说这是一个“大事”啊。刚看了腾讯去年的财报,我觉得应该可以买的起硬盘,也能买的起 CPU/GPU
    Tokin
        31
    Tokin  
       2017-11-15 16:22:33 +08:00
    或许是自己的一套加密算法,然后支持解密。。。。
    wenhaoy
        32
    wenhaoy  
    OP
       2017-11-15 16:23:43 +08:00
    @geelaw 存储强度我觉得不太可能,也有局限性。

    强度如果用分值表示的话,这个值是随着时间的推移(计算性能的提升),应该是要调整的。如果没有原始密码的话,调整权重怎么算呢?
    wenhaoy
        33
    wenhaoy  
    OP
       2017-11-15 16:25:30 +08:00
    @f2f2f 如果是 js 检测,怎么解释“快速登录”(电脑开着 QQ,直接点头像登陆)也能计算强弱密码?
    wenhaoy
        34
    wenhaoy  
    OP
       2017-11-15 16:26:08 +08:00
    @dot 存储强度我觉得不太可能,也有局限性。

    强度如果用分值表示的话,这个值是随着时间的推移(计算性能的提升),应该是要调整的。如果没有原始密码的话,调整权重怎么算呢?
    wenhaoy
        35
    wenhaoy  
    OP
       2017-11-15 16:27:26 +08:00
    @Tokin “支持解密”就是最大的隐患
    tscat
        36
    tscat  
       2017-11-15 16:40:38 +08:00
    人家自己碰撞一次就知道了呗
    am241
        37
    am241  
       2017-11-15 16:43:31 +08:00 via Android
    一个思路:在库里查一下相同 hash 的人有多少,大于一个值之后就提示密码强度太弱
    geelaw
        38
    geelaw  
       2017-11-15 16:44:27 +08:00 via iPhone
    @wenhaoy 或许腾讯实现了 SHE/FHE 也不一定啊
    IllBeBack
        39
    IllBeBack  
       2017-11-15 16:51:55 +08:00
    楼上各位讨论那么热闹,请问有没有做过登录系统的?

    密码当然是明文上传到服务器,然后 hash,最后入库。

    在 hash 之前,密码是明文,随便就检查了,如果是弱密码,直接返回 error,如果不是,那就 hash 入库。
    wenhaoy
        40
    wenhaoy  
    OP
       2017-11-15 16:58:31 +08:00
    @IllBeBack 你来的晚,可能没看大家讨论的内容。

    现在问题是,我没有用密码登录,腾讯也能检测密码强度
    Rice
        41
    Rice  
       2017-11-15 17:02:14 +08:00
    @wenhaoy 你注册修改密码的时间也是会上传明文密码的啊
    wenhaoy
        42
    wenhaoy  
    OP
       2017-11-15 17:05:11 +08:00
    @Rice 上传明文密码没问题。

    现在问题是,我隔了两年之后,登录到腾讯安全,他能检测我的密码强度。现在在讨论腾讯是怎么做到的。
    wenhaoy
        43
    wenhaoy  
    OP
       2017-11-15 17:05:30 +08:00
    @geelaw SHE/FHE 是啥?
    FFLY
        44
    FFLY  
       2017-11-15 17:29:40 +08:00
    @wenhaoy 假设数据库有相关字段记录密码强度呢,比如弱密码 1,非弱密码 0,这样子。
    FFLY
        45
    FFLY  
       2017-11-15 17:31:23 +08:00
    让我想到了,某些 linux 系统,安装的时候,如果设置一个弱密码,他不会不给你装,而是需要 done 两次提交,我觉得腾讯搞个字段记录数据强度是合理的吧。
    goodboy531
        46
    goodboy531  
       2017-11-15 17:41:17 +08:00
    主要就是支持解密,有秘钥就可以解密
    wenhaoy
        47
    wenhaoy  
    OP
       2017-11-15 18:02:42 +08:00
    @FFLY 这个有可能。但是有很多局限,比如某个人在十年前设置了一个仅带字母、数字的密码,系统至非弱密码 0。到现在这可能已经是一个弱密码了。这样的话会误报。
    LaudOak
        48
    LaudOak  
       2017-11-15 18:51:11 +08:00
    这个估计是有密码更改和对应强度记录
    kiddult
        49
    kiddult  
       2017-11-15 19:01:12 +08:00
    @FFLY 你没明白加盐的机制,如果用固定盐当然没问题,随机盐的话,生成库的代价太大了,还不如登录的时候校验
    kiddult
        50
    kiddult  
       2017-11-15 19:02:27 +08:00
    @hyperdak288 真买不起,建议你查一下随机盐,除非腾讯真蛋疼的用固定盐,不然没戏
    wenhaoy
        51
    wenhaoy  
    OP
       2017-11-15 19:12:10 +08:00
    @LaudOak 有可能,就是每次用户修改密码,或者登录的时候,有机会拿到到明文密码时刷新一次强度记录。
    BlackCat02
        52
    BlackCat02  
       2017-11-15 19:13:11 +08:00
    @changwei 没人注意到这楼吗?想要做到只提供密码片段就能对比,这恐怕不存储明文做不到吧?
    Tink
        53
    Tink  
       2017-11-15 19:15:40 +08:00
    r 弱密码的 hash 做成一个表然后对比
    IllBeBack
        54
    IllBeBack  
       2017-11-15 19:18:52 +08:00
    @wenhaoy 你的链接会跳转,我只能找到这个页面:
    https://aq.qq.com/cn2/psw_strength_check/pswcheck_index

    这个页面检测密码是要登录的。如果不登录就可以检测密码,那腾讯脑子进水了吧。盗号的先检测一下是不是弱密码,再字典爆破,省事多了。

    如果要登录检测,明文密码不就到了服务器吗?

    腾讯推出这个功能后,只要你登录过,你的密码是强是弱,他们就可以记下来了。
    dot
        55
    dot  
       2017-11-15 19:18:59 +08:00 via Android
    @wenhaoy 权重是在一系列测评中的占比,这个可以调整的……不过,你有发现分值随着计算机能力动态变化么……
    wenhaoy
        56
    wenhaoy  
    OP
       2017-11-15 19:22:21 +08:00
    @IllBeBack 之前讨论的是因为“本次登录”是可以通过快速登录(点头像)登陆的,并没有明文密码传输。

    后来才发现有可能是平时每次登录的时候,都刷新一次密码强弱设置。
    wenhaoy
        57
    wenhaoy  
    OP
       2017-11-15 19:23:02 +08:00
    @dot 今天刚发现这个玩意,没关注过。
    chztv
        58
    chztv  
       2017-11-15 19:56:08 +08:00   ❤️ 1
    既然说到了快速登录,我认为这是非常一个有问题的功能
    今年在办公室里,遇到过一个快速登录的 Bug,我同事的 Mac 居然在打开登录界面的时候,出现了我的 QQ 快速登录头像,当然也可以正常登录成功。后来排查,发现可能处于同一个 Wi-Fi、用了同 WiFi 下一个翻 Q 的 Http 代理。
    loading
        59
    loading  
       2017-11-15 19:59:33 +08:00 via Android   ❤️ 1
    要假设都是明文保存,这样就安全了。
    fulvaz
        60
    fulvaz  
       2017-11-15 20:35:34 +08:00
    @wenhaoy 不是除非, 就是这样
    TimePPT
        61
    TimePPT  
       2017-11-15 21:28:18 +08:00 via iPhone
    @chztv 这个很有可能,以及,俩同事在同一 wifi 下用同一个 HTTP 代理也是心大……
    t123yh
        62
    t123yh  
       2017-11-15 21:53:21 +08:00 via Android
    腾讯库里面的密码是以 md5(QQ 号 + md5(password)) 这种形式存储的。

    手机 QQ 登录的时候,会使用 md5(QQ + md5(password)) 这串数据加密一个数据包,然后发给服务器,而密码不会以其他形式发给服务器。因此服务器肯定存有这个数据,才可解密这个数据包。
    xifangczy
        63
    xifangczy  
       2017-11-16 09:17:03 +08:00
    不能
    qinxi
        64
    qinxi  
       2017-11-16 09:38:02 +08:00
    @IllBeBack 你可能做的是最简单的登录系统

    淘宝 qq 这些登录早就不是传明文密码到服务器了. F12 自己看
    limitsy
        65
    limitsy  
       2017-11-16 10:49:59 +08:00
    哈哈哈 我想说。我的密码 检测结果 和 我点开。检测其他密码 然后输入一样的密码。强度是不一样的。。SO。这是不是能证明。不是明文存储?
    IllBeBack
        66
    IllBeBack  
       2017-11-16 11:00:35 +08:00
    @qinxi
    如果不走 https,前端加密有多少意义?
    如果走 https,传明文密码到服务器又有何不可?

    如果前端加密,又用前端做弱密码检测,那随便就绕开了。
    qinxi
        67
    qinxi  
       2017-11-16 22:35:18 +08:00
    @IllBeBack

    1:谁告诉你不走 https 了? 自己脑补的?
    2:难道 https 就一定安全了?
    3:谁说弱密码检测只有前端做?

    能不能先 F12 看一下?
    acess
        68
    acess  
       2017-12-03 02:28:26 +08:00
    @wenhaoy
    网上搜不到……
    可能指模糊哈希算法,比如 ssdeep ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3262 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:22 · PVG 21:22 · LAX 06:22 · JFK 09:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.