首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在客户端加密时如何处理Key和Salt?

在客户端加密时如何处理Key和Salt?
EN

Stack Overflow用户
提问于 2012-11-29 07:02:19
回答 1查看 72关注 0票数 0

我正在加密一些需要留在客户端的数据,Salt,Key和IV也是如此。有没有一种标准的方法在客户端处理这些数据,以防止人们发现它并加密你的数据?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-29 07:46:35

如果知道静脉注射和盐的话就不会有额外的安全风险。IV's可以安全地储存在透明环境中,而盐是为了帮助prevent precomputation and rainbow tables

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

  • 如果这是一个Windows客户端,您可以使用Data Protection API来保护用户凭据下的密钥。
  • 使用密码短语保护密钥。如果您不介意在每次客户端需要密钥时输入密码短语,这可以提供合理的保护,并且它在大多数密码系统中都受到支持,比如OpenPGP。
  • 如果客户端只需要加密,您可以使用带有公钥的混合方法(如OpenPGP)。在这种情况下,您只需将公钥存储在客户端上,而将私钥存储在安全的地方。当您加密数据时,您将生成一个随机对称密钥,并使用客户端的公钥对其进行加密。现在如果有人攻破了机器,他们将无法解密任何会话密钥。
  • 使用hardware security module或智能卡等专用硬件。这是最昂贵的路由,但根据您的威胁模型可能是可行的。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13615982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档