30 | 如何正确保存和传输敏感数据?
该思维导图由 AI 生成,仅供参考
应该怎样保存用户密码?
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了网络安全中敏感数据的安全保存和传输的重要性,重点介绍了密码加密算法在网络安全中的关键作用。首先指出了MD5加密算法易受彩虹表攻击的局限性,并详细讨论了盐的使用以加强密码安全性,介绍了BCrypt算法相对于MD5算法的优势。此外,还介绍了对称加密和非对称加密算法,并推荐了AES算法作为比较安全、兼顾性能的对称加密算法。对于加密模式,文章提到了ECB和CBC模式,并强调了CBC模式的优越性。最后,给出了一些实践建议,包括不在代码中写死固定的密钥和初始化向量,推荐使用独立的加密服务来管控密钥等。 文章还介绍了HTTPS协议的重要性,以及TLS握手的整个过程,强调了使用SSL/TLS进行数据传输的必要性。通过对HTTPS的流程和TLS握手的详细解释,读者可以更好地理解各种加密算法的区别,以及证书的意义。 总的来说,本文通过深入浅出的方式介绍了密码安全保存和传输的实用技术知识,以及如何建立完善的安全防御机制来保护敏感数据。读者可以从中了解到密码加密算法的关键作用,以及HTTPS协议和TLS握手的重要性,为网络安全提供了有益的指导和建议。
《Java 业务开发常见错误 100 例》,新⼈⾸单¥59
全部留言(19)
- 最新
- 精选
- 大胖子呀、老师说不能直接对密码进行md5加密,那我心想可以加盐,老师又说盐不要写死,我又想可以用用户名作为盐,接着老师就又说不建议用用户名做盐,应该uuid生成,我就想那保存到数据库不也可以被黑客获取到吗?最后老师又说:有的同学可能又要问了…… 可恶啊,这些都在你的计算当中啊!
作者回复: 哈哈
2020-05-26439 - 那时刻1.关于日志脱敏,可以在日志处理模块里通过正则表达式对于敏感词比如username匹配后,做模糊字符输出到日志里。 2.https双向认证指的是服务器额外校验客户端证书,方便控制某个接口是否允许客户端访问,用于第三方服务调用。流程上多了客户端提交自己证书和服务器校验证书等步骤。 小伙伴们讨论的云平台使用的secretid和secrestkey。云平台更推荐使用临时的IAM来替代吧。
作者回复: 嗯,对于logback可以直接实现一个MessageConverter来做脱敏,脱敏的方式可以是屏蔽敏感信息的几位,或者是对敏感信息进行加密输出。
2020-05-2615 - 👽敏感数据的话,其实还有一个: 就是第三方的一些验证数据。类似于阿里云的Id和key。 我未进行加密保存在配置文件中,并且还将其上传在了GitHub上,按理说,如果Github泄露了,任何人都可以调用我的资源了。因为是透支额度设置的很低,而且余额只有10¥,所以未作安全处理。因为最坏的结果,也就是把我余额全用完。 1,如果需要涉及到加密,我会考虑到分开存储: 可能ID存数据库,Key存本地文件。(鸡蛋分在多个篮子里存放,脱库或者服务器被黑,也只有一部分数据泄露,依然无法使用我的服务) 2,然后加密存放,因为调用服务需要读取,所以必须是可逆的加密算法。增加破译的成本。 3,定期监控,出问题及时发现。
作者回复: 大家也可以继续探讨一下 SecretID和SecretKey应该怎么保存
2020-05-2646 - 旅途老师 密码使用对称加密或非对称加密不行吗 使用自己的算法进行加密 别人也破解不了
作者回复: 不行 源码也泄露了呢
2020-05-2635 - Joker关于彩虹表的解释在这里:https://www.zhihu.com/question/19790488,简单想象成一个黑盒吧,你传进加密后的密码,就能得到解密后的密码。但是构造这黑盒的过程就比较麻烦了。但是如果密文都是根据一个字符串根据特定的规则得到的字符串,哪怕是根据用户信息来构造一个盐,那么就有很大的概率出现,构造了一个彩虹表就把整个数据库的密码给解密了的情况。构造彩虹表的过程虽然麻烦,却是一劳永逸的,那么就要想一个不那么一劳永逸的方法,所以就出现了每次都用一个随机盐的方式。 因为如果是固定的盐的话,那么黑客得到一套数据库之后,只要构造一套彩虹表就能得到结果了。如果每次的盐都不同,那么黑客就要每次都根据密文和盐构造一套彩虹表。 我就是这么理解的,不知道是否正确。密码学真的难。
作者回复: 差不多
2020-05-283 - J.Smile记得一次面试,别人问我https的原理,其实我是理解的,但是记不住这个过程,怎么办?😂
作者回复: 自己画一遍流程图
2020-05-273 - Geek老师好,保护用户二要素AAD在实际会用在哪些场景中,是否用户忘记了自己设置的AAD就没办法类似于重置密码的方式找回AAD了,也就没办法再解密信息?
作者回复: 不是找回密码的场景,所谓找回密码是重置密码,这里演示的是保护需要用户授权才能获取的重要信息
2020-05-3122 - 👽我的理解,没有绝对的安全。现有的一切加密安全措施,其实只是增加破解的难度罢了。真正的安全,还是需要验证码之类的动态验证。 我一直以来,理解的加密就分两种:可逆的,不可逆的。 可逆的:规定了一种规律,只要应用这种规律就可以逆推其原始值。我认为其实雪花算法就是可逆的加密算法。知道其运算规律,也可以逆推其创建时间。虽然明文中无法体现其创建时间。 不可逆的:自己的密码是12,加密后是3,已知了算法是所有数位之和,但是并无逆推出原始数值是111,003,03,102......等。 但是,无论可逆还是不可逆,破解也是寻找其规律罢了。加密其实本质也是,对结果附加运算过程。 原始密码 x+a-b*c?d = 密文x1,在足够多的数据样本的时候,我觉得还是可以逆推出原始数据。(解方程嘛。。。) 我觉得,现在的密码加密,维持个三五年之后,也会被轻易破解。 其实要是简单粗暴一点,就手机验证码登录,就已经基本OK了,大平台似乎也都是这么做的。类似于某里云。在一些不太重要的数据,就处理的可以适当放开一些。
作者回复: 其实深度学习就是通过大量样本寻找y=f(x)中的函数f,我们想一下,是否有可能通过深度学习来解密/获得密钥呢?
2020-05-2632 - Bill陈锋秘钥读mi4yue4 听着太难受了
作者回复: 《现代汉语词典(第7版)》:【密钥】mìyuè (口语中多读mìyào)即官方承认的口语通行读法。这种情况很常见,如“喜马拉雅”,口语中“喜”常读第一声,“拉”基本都读第二声(B站上的“喜马拉雅”广告)。其中一部分口语通行读法已经收入《现汉》,如“一会儿”,“会”是第四声,口语里多读第三声。 作者:知乎用户 链接:https://www.zhihu.com/question/34453962/answer/271618924 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2023-09-02归属地:广东1 - 汝林外史老师,一般的http访问登录,是不是密码加密需要在客户端做,如果不加密传给服务端的话,那密码不就暴露出来,通过浏览器工具是不是就可以看到form提交的数据?
作者回复: 客户端做有啥用呢,密钥放哪里,走 HTTPS,要求再高点走 activex 控件
2021-01-281