V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zhy8777
V2EX  ›  问与答

Web 登录环节,是否有必要对用户名也进行加密传输?

  •  
  •   zhy8777 · 2018-12-28 14:58:42 +08:00 · 3348 次点击
    这是一个创建于 2152 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,企业应用系统,登录用户名为内部工号。 登录页面是:用户名+密码+验证码 https 域名 密码是前端 md5 加密送服务器端 公司安全部门要求用户名也必须进行加密传输,大家觉得有必要么?

    14 条回复    2018-12-29 04:23:02 +08:00
    hilbertz
        1
    hilbertz  
       2018-12-28 15:01:20 +08:00
    你都 https 了还要加密什么
    ysc3839
        2
    ysc3839  
       2018-12-28 15:01:31 +08:00
    https 已经是加密了,我认为不需要。
    zhangzilong
        3
    zhangzilong  
       2018-12-28 15:05:13 +08:00
    必要的。不然从服务器看 log,都能看到用户输入的明文密码了。
    BBge
        4
    BBge  
       2018-12-28 15:13:08 +08:00 via Android
    密码如果上了 PIN+TOKEN 用户名没必要加密了其实
    heimeil
        5
    heimeil  
       2018-12-28 15:17:11 +08:00
    @zhangzilong 这不就是后端的锅了吗,为什么要 log 敏感信息,还有你加密传到后端难道直接存数据库?不应该要解密再加盐再存吗,如果这个时候再 log 出来不还是没有意义。
    lygmqkl
        6
    lygmqkl  
       2018-12-28 15:22:31 +08:00
    https 已经是加密了, 除非用户自己愿意(愿意包含中木马的情况), 否则第三方拿不到 加密的内容

    而且 用户端进行加密 基本都属于扯淡,在安全模型上是不成立的。
    lygmqkl
        7
    lygmqkl  
       2018-12-28 15:23:12 +08:00
    @zhangzilong 都能看到服务器 log 了。。担心的 应该不止是这个了吧? 那漏洞级别得多大。。
    zhangzilong
        8
    zhangzilong  
       2018-12-28 15:26:40 +08:00
    @heimeil 我觉得得这样:md5(客户端用户输入的密码+salt)传输到后端,后端直接拿着 md5(客户端的密文+salt)入库。这样才比较安全。如果客户端不加密:业务的 log 可以不记录。但是 nginx 里面也有一份 log 的。不能把所有 log 都关了吧。
    zhangzilong
        9
    zhangzilong  
       2018-12-28 15:28:20 +08:00
    @lygmqkl 后端开发肯定看的见 log 吧。我觉得得杜绝这样情况[坏笑] 。后端开发人员离职了,然后内心比较... 对吧。
    loveour
        10
    loveour  
       2018-12-28 15:52:12 +08:00
    @zhangzilong #3 后端肯定能看到 log 以及 log 不要记录敏感信息吧。之前携程泄露 log,把用户的身份证信用卡号都泄露出去了,这个就实在太扯。
    zhangzilong
        11
    zhangzilong  
       2018-12-28 16:23:13 +08:00
    @loveour 是的,log 能够泄露太多东西了。像用户密码,身份证号这种比较敏感的信息,我觉得这些信息 log 里面最好存储的是加过密的信息。
    loveour
        12
    loveour  
       2018-12-28 16:27:35 +08:00
    @zhangzilong #11 我觉得最好是别记录那些敏感信息。。如果真的有必要,那就直接把关键位用星号代替,本来日志里就算再有必要记录那些内容也是方便查找错误之类,我想不出有什么可能需要完整的隐私信息。
    yzkcy
        13
    yzkcy  
       2018-12-28 16:57:48 +08:00
    加密别只用一层 md5,效果不大。

    虽然前端加密用处不大,不过聊胜于无,能加还是加吧。
    yw9381
        14
    yw9381  
       2018-12-29 04:23:02 +08:00 via Android
    安全行业。简单说下作为安全从业者对账号密码传输以及存储的要求
    传输层。账号明文。密码前端加密(无论什么方式。最好是单向哈希或是非对称算法)。带验证码或类似防爆破机制。
    HTTPS 确实解决了传输层嗅探问题。但是如果用户计算机上被安装了恶意根证书。那 HTTPS 和 HTTP 并没有太大区别。
    存储层。账号明文。密码最好单向哈希。带盐。不同用户盐不一样。算法足够复杂(单次 md5 基本可以等同于不加密)
    作为后端来说并不需要知道用户的密码是什么。只需要知道输入的对不对就可以了(不管是修改密码还是登陆的逻辑)
    有其他的问题欢迎讨论
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3411 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:58 · PVG 19:58 · LAX 03:58 · JFK 06:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.