如题,企业应用系统,登录用户名为内部工号。 登录页面是:用户名+密码+验证码 https 域名 密码是前端 md5 加密送服务器端 公司安全部门要求用户名也必须进行加密传输,大家觉得有必要么?
1
hilbertz 2018-12-28 15:01:20 +08:00
你都 https 了还要加密什么
|
2
ysc3839 2018-12-28 15:01:31 +08:00
https 已经是加密了,我认为不需要。
|
3
zhangzilong 2018-12-28 15:05:13 +08:00
必要的。不然从服务器看 log,都能看到用户输入的明文密码了。
|
4
BBge 2018-12-28 15:13:08 +08:00 via Android
密码如果上了 PIN+TOKEN 用户名没必要加密了其实
|
5
heimeil 2018-12-28 15:17:11 +08:00
@zhangzilong 这不就是后端的锅了吗,为什么要 log 敏感信息,还有你加密传到后端难道直接存数据库?不应该要解密再加盐再存吗,如果这个时候再 log 出来不还是没有意义。
|
6
lygmqkl 2018-12-28 15:22:31 +08:00
https 已经是加密了, 除非用户自己愿意(愿意包含中木马的情况), 否则第三方拿不到 加密的内容
而且 用户端进行加密 基本都属于扯淡,在安全模型上是不成立的。 |
7
lygmqkl 2018-12-28 15:23:12 +08:00
@zhangzilong 都能看到服务器 log 了。。担心的 应该不止是这个了吧? 那漏洞级别得多大。。
|
8
zhangzilong 2018-12-28 15:26:40 +08:00
@heimeil 我觉得得这样:md5(客户端用户输入的密码+salt)传输到后端,后端直接拿着 md5(客户端的密文+salt)入库。这样才比较安全。如果客户端不加密:业务的 log 可以不记录。但是 nginx 里面也有一份 log 的。不能把所有 log 都关了吧。
|
9
zhangzilong 2018-12-28 15:28:20 +08:00
@lygmqkl 后端开发肯定看的见 log 吧。我觉得得杜绝这样情况[坏笑] 。后端开发人员离职了,然后内心比较... 对吧。
|
10
loveour 2018-12-28 15:52:12 +08:00
@zhangzilong #3 后端肯定能看到 log 以及 log 不要记录敏感信息吧。之前携程泄露 log,把用户的身份证信用卡号都泄露出去了,这个就实在太扯。
|
11
zhangzilong 2018-12-28 16:23:13 +08:00
@loveour 是的,log 能够泄露太多东西了。像用户密码,身份证号这种比较敏感的信息,我觉得这些信息 log 里面最好存储的是加过密的信息。
|
12
loveour 2018-12-28 16:27:35 +08:00
@zhangzilong #11 我觉得最好是别记录那些敏感信息。。如果真的有必要,那就直接把关键位用星号代替,本来日志里就算再有必要记录那些内容也是方便查找错误之类,我想不出有什么可能需要完整的隐私信息。
|
13
yzkcy 2018-12-28 16:57:48 +08:00
加密别只用一层 md5,效果不大。
虽然前端加密用处不大,不过聊胜于无,能加还是加吧。 |
14
yw9381 2018-12-29 04:23:02 +08:00 via Android
安全行业。简单说下作为安全从业者对账号密码传输以及存储的要求
传输层。账号明文。密码前端加密(无论什么方式。最好是单向哈希或是非对称算法)。带验证码或类似防爆破机制。 HTTPS 确实解决了传输层嗅探问题。但是如果用户计算机上被安装了恶意根证书。那 HTTPS 和 HTTP 并没有太大区别。 存储层。账号明文。密码最好单向哈希。带盐。不同用户盐不一样。算法足够复杂(单次 md5 基本可以等同于不加密) 作为后端来说并不需要知道用户的密码是什么。只需要知道输入的对不对就可以了(不管是修改密码还是登陆的逻辑) 有其他的问题欢迎讨论 |