前端 web 密码加密是否有意义

2018-12-29 11:50:59 +08:00
 a7217107
个人认为意义不大,再被劫持的情况下,明文和 md5 是没有区别的吧。大佬轻喷
16644 次点击
所在节点    程序员
93 条回复
shadiao
2018-12-29 13:45:01 +08:00
突然想起 12306 明文储存密码以及密保问题答案
beiyu
2018-12-29 13:46:32 +08:00
前端加密主要使用的是 javascript,众所周知 javascript 是暴露在任何用户面前的,所以但从加密的角度上来说,你加密的方式是暴露的,即使我不知道你是什么算法,但是我能用你暴露的 javascript 来计算出你的密码。所以前端加密从某种角度上来说形同虚设。

关于有没有必要加密?这个是有必要的。俗说防君子不防小人,但加密后能阻止一部分因技术不足的人来对 javascript 解密,提高攻击者成本。

然后如何增加解密者的难度呢?对 javascript 进行混淆、加密、压缩是一般使用的方式了,越是生成人类难以理解的语句对破解者来说更难。当然这一切是以牺牲性能为代价的。

︿( ̄︶ ̄)︿
newmlp
2018-12-29 13:48:59 +08:00
任何提高攻击门槛的做法都是有意义的
lzvezr
2018-12-29 13:55:23 +08:00
感觉一般加密意义不大,中间人重放就可以了,但聊胜于无
顺便一说 B 站采用的是前端非对称加密
puncsky
2018-12-29 13:59:24 +08:00
一般来讲 https 就足够了。

请求日志里出现明文密码,要么是有 bug,要么是日志太弱,没法过滤敏感信息和 PII
lhx2008
2018-12-29 14:05:11 +08:00
@beiyu
非对称加密。用公钥加密,知道 JS 源码也没用。
但是我觉得在 HTTPS 下面没必要。另外,如果进日志,肯定不要存密码啊。
如果原封进日志,那所有加密都没有意义。因为这个加密过的密码本来就可以从前端登录进去。我只是不知道明文而已。
CDN 商是可以拦截保存,所以不要啥的都经过 CDN
lhx2008
2018-12-29 14:10:16 +08:00
基于上面的分析,还有一种比较稳妥的方式是
前端密码提交的时候,附上 timestamp,用 RSA 公钥加密,服务器私钥解密后验证时间,然后登录一次 timestamp 作废
这样日志泄露或者被拦截,也无法用原密文重放
lhx2008
2018-12-29 14:11:28 +08:00
当然你用 cdn 过密码,还是防止不了第三人攻击的
ericls
2018-12-29 14:12:49 +08:00
有意义 特别是有用一些 analytics, logging, performance monitoring 等等 需要上报数据给第三方的服务时
swulling
2018-12-29 14:16:05 +08:00
有 https 的情况下,前端进行计算是有价值的。github 就是一个大大的反例,把明文密码写日志里。

但是不要用 hash 算法。有很多专门的密码库可以做
beastk
2018-12-29 14:41:34 +08:00
前端 rsa 加密发送到后端,反正我是这么干的
Shook
2018-12-29 14:47:06 +08:00
前端密码加密的话,后端就无法校验密码的格式了
sannyzeng
2018-12-29 14:57:55 +08:00
前端 rsa 加密 +1
kakudesu
2018-12-29 15:10:32 +08:00
有没有前端加密相关文章啊
FakeLeung
2018-12-29 15:11:58 +08:00
@lhx2008 #26
想问下,为啥非对称加密,即使知道了 js 的源码也没有用?
因为知道 js 源码了,应该能把公钥取出,这不就可以自行伪造了吗?
iiji86
2018-12-29 15:12:02 +08:00
看了下苹果、微软、谷歌、fb 这几个登录页面都是明文传输密码的,百度、淘宝、qq 都是先前端加密,总结一下就是在国外没意义,国内有意义
lhx2008
2018-12-29 15:26:16 +08:00
@FakeLeung 公钥谁都可以知道的,伪造是可以的,关键是你不知道正确的密码,即使半路拦截了密文,没有私钥也无法解开。
FakeLeung
2018-12-29 15:31:28 +08:00
@lhx2008 #37
那就是说用来防止中间人获取到实际密码。
lhx2008
2018-12-29 15:35:00 +08:00
@FakeLeung 是的,HTTPS 本身就可以防止第三人监听,但是楼上也说会有一些被服务端明文记到日志,然后日志有可能泄露,这个。。
jiuwuerqi
2018-12-29 15:39:46 +08:00
@lhx2008 #37
RSA 的效率会不会导致接口的性能?安全就意味着性能会差

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

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

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

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

© 2021 V2EX