我正在考虑让我的用户数据在android上安全。我遇到了keyczar。我找到了给talk on android security at google-IO的肯尼·鲁特提供的android-keyczar-demo。然而,我有一个令人困扰的问题。既然密钥打包在app中,那么恶意用户不也可以使用该密钥来解密敏感数据吗?从keyczar doc来看,keyczarTool是一个创建密钥的命令行工具,所以它似乎不应该打包在应用程序中?我注意到keyczar的密钥可以是password protected。然而,它又回到了在源代码中硬编码密码的问题上。我在这里遗漏了什么?
发布于 2013-03-07 21:38:20
您缺少的是,如果您还希望用户能够解密,那么您就不能在语义上对这些用户保留密钥秘密。这就是为什么DRM永远不会起作用。
keyczar拥有keytool的原因是,安全性的一个重要部分是随着时间的推移更改密钥,因此keyczar提供了一种在不破坏功能的情况下轮换密钥的方法。
PBE密钥集的存在是为了让用户可以输入密码进行解密,这绝对不是为了进行硬编码。通过这种方式,给定应用程序的密钥集,您可以通过要求用户输入密码来保护数据免受对手的攻击,同时为您的用户提供解密。(不幸的是,这个特性只存在于keyczar的C++、Go和C#版本中--目前在java版本中没有)。
此外,如果你不想让每个用户都有相同的密钥,你不必在你的应用程序中包含密钥集,你也可以生成它的安装。但在移动领域加密是困难的,如果不知道你想要做什么,如果你有可能保护你想要的东西,或者keyczar是否合适,就很难说出来。
https://stackoverflow.com/questions/15262595
复制相似问题