我的同事建议我先加密登录/密码,然后再将它们发送到后台。
我们使用https,所以我看不出我应该在什么情况下这么做的任何理由。
根据定义,Https本身就是为了加密数据和保护我们免受“中间人”攻击。
对我来说,这并不是有人说我们应该保护我们的客户免受病毒和嗅探器的攻击,他的计算机上有病毒和嗅探器,这些病毒和嗅探器可以使用某种RSA算法解密SSL流量。这取决于计算机的所有者。杀毒软件可以很好地应对这种情况。
它可以应用的一个原因是当我们将这些数据存储在浏览器/客户端(例如,在本地存储中)时,我认为这是架构风险。所有数据都应该在后端持久化,浏览器应该是无状态的。
问:在什么情况下,如果有的话,我们需要在通过https传输数据之前对数据进行加密?
提前感谢!
发布于 2020-02-08 15:18:25
当您想要保护资产(在本例中为数据)时,您应该对其进行保护。如果您在脑海中有一个威胁,加密是有意义的,因为在这种情况下,数据可能会被泄露,而拟议的加密可以防止这种情况发生。
默认情况下,通过https发送用户名和密码而不进行进一步加密是一件标准且被接受的事情。如果您能想出在您的特定情况下为什么这还不够的方法,您可以应用进一步的加密。例如,您可能想要保护它免受中间人攻击,比如在客户端上安装了根证书的企业代理(在企业设置中非常常见)。
请注意,尽管加密并不简单,但密钥管理相对困难。客户端将如何拥有密钥,它将如何存储它,如果泄露,您将如何撤销它,等等。
通常,沿着这条路走下去是不值得的。在一些非常特殊的情况下,它可能是。
https://stackoverflow.com/questions/60121661
复制相似问题