android - 在 android 中使用 keyczar

标签 android encryption cryptography salt keyczar

我正在考虑让我的用户数据在 Android 上安全。我遇到了keyczar。我找到了 android-keyczar-demo由 Kenny Root 提供 talk on android security at google-IO .但是我有一个唠叨的问题。由于 key 被打包在应用程序中,恶意用户不也可以使用该 key 来解密敏感数据吗?从keyczar doc,keyczarTool是一个命令行工具来创建 key ,所以它似乎不打算打包在应用程序中?我注意到 keyczar 的 key 可以是 password protected .然而,它又回到了在源代码中对密码进行硬编码。我在这里想了解什么?

最佳答案

您缺少的是,如果您还希望那些相同的用户能够解密,则您不能在语义上对您的用户保密。这就是 DRM 永远行不通的原因。

keyczar 拥有 keytool 的原因是安全的一个重要部分是随着时间的推移更改您的 key ,因此 keyczar 提供了一种在不破坏功能的情况下轮换 key 的方法。

PBE keysets 在那里,用户可以输入密码来解密,它绝对不是硬编码的。通过这种方式,为应用程序提供一个 key 集,您可以通过要求您的用户输入密码来保护数据免受对手的攻击,同时为您的用户提供解密。 (不幸的是,此功能仅存在于 keyczar 的 C++、Go 和 C# 版本中——目前在 java 版本中不存在)。

此外,如果您不希望每个用户都拥有相同的 key ,则您不必将 key 集包含在您的应用程序中,您也可以生成它安装。但是移动领域的加密很困难,如果不知道您要做什么,很难说您是否有可能保护您想要的东西,或者 keyczar 是否合适。

关于android - 在 android 中使用 keyczar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15262595/

相关文章:

.net - 使用 protected 配置对web.config进行加密毫无意义吗?

linux-kernel - 如何在 Linux 内核中计算数组的 SHA1

android - 如何使用 volley 库访问 android 中受密码保护的 URL

android - 二进制 XML 文件第 2 行错误膨胀类 android.widget.RelativeLayout 尝试动态实现主题

使用 .NET RSAKeyValue XML 字符串时,Java RSA 加密不起作用

javascript - Node.JS 中的 3des 加密返回无效的 IV 长度

android - 如何选择一段时间而不是特定时间 React Native

Android 找不到微调器的符号变量错误

c# - Xamarin.Forms 的 ECDsa

java - 在 JAVA 中构建一个 'Activation Key' 生成器