为安全问题,早上公司热烈讨论

2022-08-31 13:08:39 +08:00
 wenzaiquan199
场景:用户在前端绑银行卡,实名认证,前端通过 https 请求,明文将数据传给后端,故测试给我提了个 bug 要我前端加密传输,我网上搜了搜,觉得前端目前拿不出什么方案加密比 https 安全

测试:你这个东西加个密传给后端
我:有 https ,有一定的安全保障了
测试:但是我接口请求能看到我的身份证号什么的
我:你能拦截到别人的请求么
测试:那肯定有人能拦截到
我:我随便加个加密可以,我们代码没做混淆,别人看代码直接知道什么加密方法,随便解了,别人能从 https 把这个解析出来,破解我们这个跟玩一样,加了有意义么
测试:我之前公司都做了啊

遂测试找前端 leader 说,然后后端 leader 就说前端传过来不用加,后端给前端加密的数据就行了,前端 leader 说要,然后他们吵了半天

末了前端 leader 跟我说,要有“安全意识”,我直接回你项目混淆都不做,我从加密库找个现成的加密方法,有用么

遂结束,我也不理 leader 了,来看看大家什么意见
14374 次点击
所在节点    问与答
188 条回复
adoal
2022-08-31 22:17:16 +08:00
什么时候轮到测试来提功能需求了?
dddd1919
2022-08-31 22:20:37 +08:00
@xsen 敏感信息明文存储当然有问题,但敏感信息明文在 https 消息体中传输,有什么问题?
测试如果说自己能拦截 https 请求体并查看明文内容,op 又因为这自觉理亏,那只能说 op 和测试水平半斤八两,基本原理都搞不懂的俩人吵吵没任何意义,老老实实加 base64 糊弄吧
Bingchunmoli
2022-08-31 23:19:37 +08:00
依赖 https 的肯定会出问题的一天,目前国内普通用户对于中间人等手段无感,提示不安全还是点击继续访问的,不如 rsa 二次加密(真的有安全需求或者等保)
3dwelcome
2022-08-31 23:23:16 +08:00
我前端不仅加密,而且数据流都是二进制格式,普通人根本没办法拦截。因为我用 wasm (自豪,骄傲)
zhaogaz
2022-08-31 23:32:25 +08:00
你说的没问题,如果这个事儿是我,我会这么搞
1. 同意测试说的内容。
2. 按照优先级和方案排这个需求。
3. 同步给领导

接下来大概率的事情是,如果有人跟这个事儿,这个可能会开发,如果不重要那么就一直挂着。

你说的前端没混淆是对的,那应该有人追前端来改,而不是你暂时不做的理由。
事实上你工作的很多事情,也不都有意义,你争这个意义有什么作用呢?
mogazheng
2022-08-31 23:42:23 +08:00
这几天测试阶段也遇到类似的问题,虽然不是安全问题,但道理是相通的。
任何人提出的任何需求,不管多奇葩,在某些特定场景肯定是能起到某些的作用。
你说再你研究研究那些最新论文,找个连量子计算机都爆破不了的密码算法,给网站的明文加密,有用吗,也肯定有的,至少可以防多几个顶尖密码专家的破解,防止未来量子计算机的破解。但是有必要吗,那就得看项目的实际场景了。

所以说,抛开场景提需求,那都是不切实际的。
dingyaguang117
2022-08-31 23:51:46 +08:00
`我网上搜了搜,觉得前端目前拿不出什么方案加密比 https 安全`

-- 没搜到非对称加密方案?
mikewang
2022-09-01 00:53:42 +08:00
测试:公司有自签名根证书,确实能拦截到别人的 https 请求啊
Chihaya0824
2022-09-01 01:01:24 +08:00
@dingyaguang117 那怎么解决公钥交换的问题? 对了,要不我们搞一套解决方案,就叫 TLS 好了( doge
aheadlead
2022-09-01 01:03:53 +08:00
很多公司的电脑上都是有装额外的根证书的,总不能说这种用户就一定不是你们的目标用户吧。
aheadlead
2022-09-01 01:05:36 +08:00
虽然说装了额外的根证书,基本上没啥可以防得住,但还是可以提高攻击者的成本的。多数的攻击者碰到前段混淆加密的情况,会选择去寻找更低成本更有价值的目标。
GeruzoniAnsasu
2022-09-01 04:34:23 +08:00
一个鉴权被两拨不懂安全的人吵成了传输层加密安不安全的话题
daveh
2022-09-01 07:48:23 +08:00
@Chihaya0824 #109 都公钥了,http 明文传给前端都没事。
如果产品是自己使用,前端写死公钥,后端保护好私钥;如果产品卖给别的客户使用,用接口传递对应公钥给前端,后端私钥能随时更换。

感觉 OP 是没找到合适加密方法才来抱怨的,前面有的人答的没错,非对称加密是正解,一个简单的 RSA 就搞定,可以解决 OP 的问题。
daveh
2022-09-01 08:18:41 +08:00
另外,如果实在是不想加密,有 app 的话开一下 SSL pinning ;只有浏览器访问的话开一下网站开一下 HSTS 。
但这些都防不了作死用户越狱系统、使用不安全浏览器。
cssk
2022-09-01 08:41:12 +08:00
要么…要么…
wonderfulcxm
2022-09-01 08:48:19 +08:00
纯属脱裤子放屁,如果 https 传输都能被拦截了,加不加密有什么区别?
zhw2590582
2022-09-01 08:52:05 +08:00
base64 解君愁啊,反正弄到测试看不懂就行,一次不够就两次 base64 ,只是打工,不要较真,谁怕谁啊
66beta
2022-09-01 09:00:33 +08:00
年轻的我: https 都被截了,你说个*8
现在的我:上国密!
ccppgo
2022-09-01 09:04:06 +08:00
@66beta 老哥 说出你的故事, 好奇的很
66beta
2022-09-01 09:05:16 +08:00
@ccppgo 没故事,只是吵得多了就看淡了

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

https://tanronggui.xyz/t/876693

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

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

© 2021 V2EX