Encryption 在客户端加密时,如何处理密钥和盐?

Encryption 在客户端加密时,如何处理密钥和盐?,encryption,Encryption,我正在加密一些需要保留在客户端的数据,Salt、Key和IV也需要加密。是否有一种在客户端处理这些数据的标准方法来防止人们发现这些数据并加密您的数据 我可以想很多事情来掩盖它们,但必须有一个行业标准的方法来处理这个问题。如果知道IV和salt,就不会有额外的安全风险。可以安全地储存在干净的地方,盐也有帮助 所以你说的是钥匙。有几个解决方案,每个都有自己的权衡。在您的问题中,您只提到需要加密客户机上的数据。客户端不需要解密吗 如果这是Windows客户端,则可以使用来保护用户凭据下的密钥 使用密

我正在加密一些需要保留在客户端的数据,Salt、Key和IV也需要加密。是否有一种在客户端处理这些数据的标准方法来防止人们发现这些数据并加密您的数据


我可以想很多事情来掩盖它们,但必须有一个行业标准的方法来处理这个问题。

如果知道IV和salt,就不会有额外的安全风险。可以安全地储存在干净的地方,盐也有帮助

所以你说的是钥匙。有几个解决方案,每个都有自己的权衡。在您的问题中,您只提到需要加密客户机上的数据。客户端不需要解密吗

  • 如果这是Windows客户端,则可以使用来保护用户凭据下的密钥

  • 使用密码短语保护密钥。如果您不介意在客户端每次需要密钥时输入密码短语,这可以提供合理的保护,并且在大多数密码系统(如OpenPGP)中都支持这种保护

  • 如果客户机只需要加密,那么可以使用带有公钥的混合方法(如OpenPGP)。在这种情况下,您只将公钥存储在客户机上,而将私钥存储在安全的地方。加密数据时,将生成一个随机对称密钥,并在客户端的公钥下对其进行加密。现在,如果有人破坏了机器,他们将无法解密任何会话密钥

  • 使用专门的硬件,如智能卡或智能卡。这是最昂贵的路线,但根据您的威胁模型可能是可行的


描述了密钥如何在http上工作。我的情况不同。我有一个客户端,根本没有服务器。我需要在客户端加密一些东西。我不知道应该将密钥、IV和盐存储在哪里。@Kelly:如果您将密钥存储在与数据相同的设备上,则不会添加任何安全性。我确实需要在客户端解密,但我相信您的答案符合我的要求。非常感谢。