我有一个应用程序,它使用AngularJ1.5作为前端,使用.net框架作为后端。在我的应用程序中,我必须将用户名和密码存储在来自前端end.The需求的数据库中:
简单地说,前端应该加密密码,后端应该有解密的能力。
我分析了许多安全处理密码的技术。
我刚开始使用AngularJS进行加密和解密处理。我的查询是关于密钥handling.How的,我们可以安全地将密钥存储在前端和后端,而不是硬编码在code.Is中,有什么安全的方法来共享这些keys.Which算法最适合我的需求吗?(根据我的分析,我发现不对称是满足这一要求的更好选择)。
发布于 2018-07-04 09:06:42
不确定这是否仍然与你有关,但这是来了。这些都是相当高水平和广泛的问题,你正在问,所以我提供一些一般性的指导。
我肯定会对此使用非对称加密。我很可能会选择类似RSA OAEP的东西,它每次都会在相同的输入上产生不同的密码文本,这要归功于随机填充。这样,攻击者就不会从密码文本中学到那么多他能够拦截的信息。
密钥交换是一个更棘手的话题,因为你的最终用户软件很可能在浏览器中运行(是一个棱角分明的应用程序)。处理此问题的一种方法是将您的公钥封装在可以在浏览器中验证的证书中。
还有许多其他的攻击和方面你需要考虑。例如,如何保护您的系统免受重放攻击,以及如何在满足可用性要求的同时旋转您的密钥。这个答案中的所有主题都不可能太宽泛,所以我把它放在这里。
https://stackoverflow.com/questions/49548556
复制相似问题