请教个问题:前端请求加密,通过查看源码还是可以破解,那么加密的意义是什么?

2023-08-20 13:04:23 +08:00
 weekidjoker
8184 次点击
所在节点    程序员
67 条回复
wangxiaoaer
2023-08-21 12:27:04 +08:00
非对称加密,前端用公钥加密,后端用私钥解密的,麻烦楼主破解个看看。
weekidjoker
2023-08-21 12:59:40 +08:00
@duke807 那还有个好奇的问题,市面上的绿色软件是怎么实现的
duke807
2023-08-21 13:08:02 +08:00
@weekidjoker 那是商业公司为了市场占有率,故意留了口子好让别人破解,甚至是自己人破解

譬如 Intel/Altera 的 Quartus 原件的破解版,基本上都是其中国区代理 骏龙科技 释放出来的,而且破解版本还打了骏龙科技的广告

又譬如,FPGA/ASIC 里面真正值钱的 IP 核,现在几乎是不可能被破解的
onice
2023-08-21 16:40:59 +08:00
意义在于避免中间人攻击。如果客户的浏览器到后端服务器,如果网络链路上存在抓包设备。我们假定网站没有采用 HTTPS ,而是传统的 HTTP 。那么客户和后端服务器的数据就能被抓包设备截获,并获取到传输的数据。如果是注册登录功能的包,是可以直接看到用户名和密码的。如果数据在浏览器加密了,传输的数据则是密文,即使是在中间人截获,这个数据也是无意义的。

除了使用物理设备去截获链路上的数据包,在局域网中,同网段的主机还可以使用 ARP 欺骗的攻击方式,去劫持流量。如果前端使用了加密,在这种有风险的网络环境中,用户和网站服务器的通信也是安全的。
YuJianrong
2023-08-22 02:32:43 +08:00
@onice 中间人截获加密的密码怎么就没用了?
把这个加密的密码直接发到后台不就登录了?
即使加密的时候带上了时间戳,既然加密算法公开,如果密码不长或者在字典里跑一遍字典也能算出来。

简单来说加密不能代替 HTTPS ,不用 HTTPS 和裸跑没区别。
就上面某位朋友的打分来说,HTTPS 、后端存加盐 hash 、前端加密的方案安全性算 93 分的话,其中
HTTPS:50 分
后端存加盐 hash:40 分
前端加密:3 分

做不做前端加密就看要不要这 3 分
onice
2023-08-22 18:01:21 +08:00
@YuJianrong 随手一答,的确没考虑那么多。普通加密确实不行,但是在不安全的链路下,是一定有对应的加密算法来解决安全问题的,相信这一点是可以用前端实现的。网络协议我研究不太深,不过可以参考 VPN 家族的协议是怎么解决重放攻击的。
YuJianrong
2023-08-22 22:58:58 +08:00
@onice 查了一下,VPN 防止重放攻击主要也就是加时间戳或者序号。
“在不安全的链路下,是一定有对应的加密算法来解决安全问题的” 这点我觉得是真没有……

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

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

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

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

© 2021 V2EX