48
https 网页数据还需要另外加密吗
source link: https://www.v2ex.com/t/778499
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
有一些敏感数据(非密码)要客户在网页提交,网站是 https,我知道密码可以公钥加 sha1 再传输,反正私钥在我后端对比就好。 但是非密码敏感数据,后台要能拿到原文的,请问 1 ) https 了,前端还需要对称加密吗? 2 )需要的话,用什么方式来加密?网页源码能看到加密算法吗?
28 条回复 • 2021-05-23 15:10:17 +08:00
codehz 1 天前 via Android
主要看你的威胁模型
反正只要记住能 mitm 攻击 https 的,肯定可以轻易修改内容,别说偷你加密密钥了,直接把前端加密给扬了,然后它自己偷了再加密然后传递给服务端都可以。。。
反正只要记住能 mitm 攻击 https 的,肯定可以轻易修改内容,别说偷你加密密钥了,直接把前端加密给扬了,然后它自己偷了再加密然后传递给服务端都可以。。。
brader 1 天前
https 的话,已经是传输安全了,所以再次加密,解决的不是传输安全问题。
再次加密一些敏感数据,可以增加别人的破解难度,还能使得别人无法随心所欲的使用一些工具直接构造请求,可拦住一些初级攻击人员。
说回正题,公司对这块接口安全级别要求比较高的话,可以选择加密。客户端是能被获知源码来分析加密算法的,所以你采用对称加密,也是有办法解密的,对称加密优点是解密速度快、没有长度限制。如果采用非对称加密,优点是被截获后是无法解密的,缺点是能加密的明文长度有限、解密消耗资源多。
再次加密一些敏感数据,可以增加别人的破解难度,还能使得别人无法随心所欲的使用一些工具直接构造请求,可拦住一些初级攻击人员。
说回正题,公司对这块接口安全级别要求比较高的话,可以选择加密。客户端是能被获知源码来分析加密算法的,所以你采用对称加密,也是有办法解密的,对称加密优点是解密速度快、没有长度限制。如果采用非对称加密,优点是被截获后是无法解密的,缺点是能加密的明文长度有限、解密消耗资源多。
opengps 1 天前
多少有些用途,虽然前端的逻辑等同于白盒,但是做了相对于不做,是对小白用户的最大阻挡,就好比图形验证码一样,我非常不看好那种复杂的静态的图形验证码,因为只要是静态,依然是防君子不防小人
johnsona 1 天前 via iPhone
fox0001 1 天前 via Android
前端加密数据,可以看看 wasm 或者 WebAssembly 。目前所有的主流浏览器都已经支持 WebAssembly V1 ( Node >= 8.0.0 )
no1xsyzy 1 天前
如果客户端能被篡改,什么都没用的,直接 $(`input[type="password"]`).on('change', imposter) 不香吗?
但有一些攻击模型下,客户端可能会被中间人尝试篡改,但篡改失败的情况,比如通过 CSP 和 subresource 校验,曾经在可信网络条件下访问过,以后就可以在不可信条件下访问而确认没被篡改;或者也有 service-worker 去做第二重加密的办法。但这两个对服务可用性的影响太大,比如之前 Trello 的 service worker 会把在第二次加载时把页面搞崩(我是拿 ublock 精确匹配屏蔽了 worker 就自动解决了……)
@EminemW 我怀疑你在影射 Facebook
但有一些攻击模型下,客户端可能会被中间人尝试篡改,但篡改失败的情况,比如通过 CSP 和 subresource 校验,曾经在可信网络条件下访问过,以后就可以在不可信条件下访问而确认没被篡改;或者也有 service-worker 去做第二重加密的办法。但这两个对服务可用性的影响太大,比如之前 Trello 的 service worker 会把在第二次加载时把页面搞崩(我是拿 ublock 精确匹配屏蔽了 worker 就自动解决了……)
@EminemW 我怀疑你在影射 Facebook
rockyliang 22 小时 20 分钟前
主要看你想要防范的攻击类型,如果只是想防御中间人攻击,用 https 就可以了。如果还要防止别人恶意调用你的后端接口,再做一次对称加密会好一点,这样别人还要破解你的客户端,看你的前端代码,才能知道加密方式,会增加一点难度
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK