我正在研究使我的用户数据对 android 安全。我遇到了keyczar。我找到了 由 Kenny Root 提供的android-keyczar-demo ,他在 google-IO 发表了关于 android 安全性的演讲。但是我有一个唠叨的问题。既然密钥是封装在应用程序中的,那么恶意用户是不是也可以使用该密钥来解密敏感数据呢?从keyczar doc来看,keyczarTool是一个创建密钥的命令行工具,所以看起来它不是要打包在应用程序中的吗?我注意到 keyczar 的密钥可以受密码保护。然而,它又回到了在源代码中对密码进行硬编码。我在这里想了解什么?
问问题
2074 次
1 回答
4
您缺少的是,如果您还希望这些相同的用户能够解密,则您无法在语义上对用户保密。这就是为什么 DRM 永远不会起作用的原因。
keyczar 拥有 keytool 的原因是安全性的一个重要部分是随着时间的推移更改您的密钥,因此 keyczar 提供了一种在不破坏功能的情况下轮换密钥的方法。
PBE 密钥集在那里,以便用户可以输入密码进行解密,它绝对不是硬编码的。这样,给定应用程序的密钥集,您可以通过要求您的用户输入密码来保护数据免受攻击,同时为您的用户提供解密。(不幸的是,此功能仅存在于 keyczar 的 C++、Go 和 C# 版本中——目前不存在于 java 版本中)。
此外,如果您不希望每个用户都拥有相同的密钥,则不必将密钥集包含在您的应用程序中,您也可以生成它安装。但是移动领域的加密是困难的,如果不知道你在做什么,如果你可以保护你想要的东西或者 keyczar 是否合适的话,很难说。
于 2013-03-07T13:38:20.243 回答