
网井过来做安全评估,说要对手机号做加密,而手机号是我们用作登录的唯一字段,该用什么加密方式~
1 rffan 2019 年 6 月 28 日 base64 或者 AES 或者 DES,或者 MD5,反正你加密不加密查询都一样的效果,加密只是多了一层性能损耗。 |
2 hugedeffing 2019 年 6 月 28 日 你这个是脱敏,直接搜脱敏关键字就可以了 |
3 okwork 2019 年 6 月 28 日 via Android 什么行业的项目,网警会来过问数据字段的安全? |
4 ccoming 2019 年 6 月 28 日 明文保存? |
6 iyaozhen 2019 年 6 月 28 日 via Android aes 呗,都用同一个 key |
8 LZSZ 2019 年 6 月 28 日 明文保存的确不好。 |
10 aru 2019 年 6 月 28 日 aes 加密即可,查询的时候先加密再比对 |
11 Buges 2019 年 6 月 28 日 网警这也算做了件好事。 |
12 okwork 2019 年 6 月 28 日 via Android 这个要求比较奇怪,大厂也不会加密吧,否则发送短信通知怎么发? |
13 whusnoopy 2019 年 6 月 28 日 跟你是用来做注册登录的唯一字段不冲突啊,你只要能保证加密不冲突,可以正反向加密解密,无非就是在 DB 里存的是 13800138000 还是一串乱码一样的字符串 |
14 whusnoopy 2019 年 6 月 28 日 @okwork 又没有说只能单向 hash 加密,密钥在自己手里,也可以做可解密的加密啊 楼上有人提到了关键点:脱敏。就是如果你被人拖库了,如果没有解密密钥,人家拿到就是一串乱码,但如果直接明文存,那就有好多黑产可以玩 |
15 okwork 2019 年 6 月 28 日 via Android @whusnoopy 可以解密的“加密”只能算混淆吧,密码 hash 可不止防脱裤,连内部员工也能防(手动修改字符串的方式不算)。 |
17 scofieldpeng 2019 年 6 月 28 日 @zacharyjia #16 要发送之前解密,比如,单独一个加减密服务来做加密解密操作,其他服务不需要的时候,都是加密的手机号来进行操作,楼上也说了原因了 |
18 imdong 2019 年 6 月 28 日 显示的时候,135****1234 这样就好了, 至于数据库储存,网#不会看你数据库逻辑吧。 如果真看了,那就 base64 就 OK 了。 |
19 kimqcn 2019 年 6 月 28 日 做个 HASH 就行了。用户登陆的时候,先做 HASH,再到数据库里查这个 HASH 就行了。 |
20 okwork 2019 年 6 月 28 日 via Android |
21 DavidNineRoc 2019 年 6 月 28 日 @okwork 你都不看新闻,新闻经常见脱库, 有多少个服务器代码被扒了。这种方式好处就是只有两者都丢失,才会丢失正确数据。 |
22 luanluan 2019 年 6 月 28 日 对称加密,找我们公司 |
23 abcbuzhiming 2019 年 6 月 28 日 @LZSZ 请教,你不明文保存手机号码,要如何发短信?难道用可逆加密方案?那有意义吗,秘钥一样不安全啊 |
24 abcbuzhiming 2019 年 6 月 28 日 @luanluan 秘钥你们怎么确保安全?万一泄露怎么处理 |
25 dorentus 2019 年 6 月 28 日 @okwork 算法无所谓的。比如用 AES 加密,密钥并不在数据库中,那么被拖库也并不能还原出手机号码。 进一步说,解密的密钥甚至可以保存在硬件模块中,有单独的服务器集群提供解密的 API,仅供内部其它有权限的服务器调用 |
26 yedanten 2019 年 6 月 28 日 via Android @okwork 现代密码学加解密算法都是公开的,不依赖算法保密性。保证密钥不泄露就好了,解密的密钥不要硬编码,可以从其他地方读取加载。 |
27 binux 2019 年 6 月 28 日 @abcbuzhiming 硬件密钥 |
28 pelloz 2019 年 6 月 28 日 其实就是让你们不要明文把手机号和一些其他信息直接存到数据库里面,怕有人拖库就直接能看到敏感信息。你们需要做的就是在程序入库前加一次密,用之前解密就好了,程序里面跑的都是明文没关系,但是落盘的时候不能明文。 |
29 okwork 2019 年 6 月 28 日 via Android |
30 reus 2019 年 6 月 28 日 加密就加啊,唯一字段又不需要明文,用户登录提交的手机先加密,再和数据库的做比对,就行了 |
32 lorryo 2019 年 6 月 28 日 1.建议加密 2.不要用 base64/md5 3.拿"密钥可能泄露等于没什么用"来杠的纯属杠精 |
33 cdwyd 2019 年 6 月 28 日 via Android 楼上竟然有几个人觉得对称加密就不是加密了 |
34 opengps 2019 年 6 月 28 日 数据库未必需要加密,但是列表展示时候最好不要明文展示,防止信息泄露 |
35 okwork 2019 年 6 月 28 日 via Android 数据库的安全应该是首要考虑的问题吧,做个什么产品默认都要考虑被脱裤吗? |
36 whusnoopy 2019 年 6 月 28 日 |
37 iyaozhen 2019 年 6 月 28 日 via Android |
38 hhhsuan 2019 年 6 月 28 日 如果你们公司不是国企的话,加不加密跟 WJ 有个毛的关系? |
39 okwork 2019 年 6 月 28 日 via Android @iyaozhen 不是说程序不能脱,是脱程序还是为了脱数据,数据安全的前提就是程序要安全,连业务程序都能被人入侵修改,那数据都是脏的。 |
40 flyingghost 2019 年 6 月 28 日 没有绝对的万无一失的安全。所有的安全都是 概率 vs 成本。 但就跟多因子校验一样,多一项异质、异构的因子,安全性能将大大提升。 假如数据库被脱裤的风险是万分之一,代码泄露的风险是万分之一,那两项同时失密的风险是多少? |
41 loveour 2019 年 6 月 28 日 |
42 loveour 2019 年 6 月 28 日 看了这么多评论我简直惊呆,对加密解密的认识,对数据保护的认识完全不够。举个简单的例子,如果程序加密了,那么能接触到数据库接触不到程序的人至少就不可能直接看到用户隐私数据。又打个比方,比如苹果,谷歌,如果加密存储没有用,那么各位上传到云端的照片数据是不是也都会被苹果谷歌的员工看到?厂商宣称的隐私保护还有什么用呢? |
43 limuyan44 2019 年 6 月 28 日 via Android 明文传输?随便加密一下就好了。都是应付检查 |
44 murmur 2019 年 6 月 28 日 加密的手段很多啊 你说密钥存在磁盘上不安全我存在 u 盘里插入进内存启动后拔了可以吧 你说密钥不能放 u 盘我还有专门的电子 key 想让数据跟密钥分离手段太多 要不咱在讨论下内存 dump 的问题? |
45 gaius 2019 年 6 月 28 日 看怎么要求的,数据库字段也要加密的话用个对称加密就行了。不要求直接加个脱敏字段,前 3 后 4。 手机又不是卡,应该没那么严格吧。 |
47 wangde400 2019 年 6 月 28 日 做安全的....现在接触的网警都是各种缺人手,黑产什么的事情忙不过来。。。你这是哪儿的网警,这么有闲情逸致=_= |
48 no1xsyzy 2019 年 6 月 28 日 1、过一个对称加密; 2、权限控制有且仅有加解密算法能够读取密钥; 3、程序逻辑上控制加解密算法的调用情况,每个调用加解密函数的地方需要写入文档并 Code Review 确认如果条件允许技术过关,采用注记( Java )、修饰符添加属性( Python )等方式标记被允许的调用方,并且加解密函数采用反射、自省的方式来检测调用方是否被如此标记; 4、对这些位置进行 Code Review,以确认确实有需求来进行加解密。 其实有 Dataflow diagram 也不需要 3,只需要看一眼图就行。 1 保证要脱库必须访问该密钥,将 “唯一性” 和 “隐私性” 分离; 2 保证不能直接接触,只能间接接触,并且接触方是无菌的,这就像是橡胶手套; 3 保证间接接触也是有权限的; 4 保证有权限的是有需求的。 |
49 vinsoncou 2019 年 6 月 28 日 手机号脱敏算很基本需求了吧,从去年开上强推等保,什么手机号,邮箱,身份证个人信息都需要加密处理 |
50 avenger 2019 年 6 月 28 日 via iPhone
|