相关疑难解决方法(0)

如何在 Android 上安全地存储硬编码 API 密钥?

在我的 Android 项目中,我想以安全的方式存储 API 密钥。该密钥是从应用程序外部生成的,需要在构建应用程序之前以某种方式存储在应用程序中。

我已经看到了一些如何使用 KeyStore 的示例(例如thisthis),但据我了解,这些是存储运行时生成的密钥的解决方案,而不是我将存储在代码中某处的密钥。

我还检查了此处解释的其他方法,但由于逆向工程,它们看起来可以很容易地检索 API 密钥。

我也不想将我的密钥存储在我的代码中,也是因为它可以通过逆向工程轻松检索。

其目的是能够在每次调用我制作的网络服务时发送该密钥,因此我确定(或几乎确定)该调用来自我正在制作的原始应用程序,这将是在 Play 商店上发布,而不是从其他地方发布。

我远不是安全专家,所以任何帮助将不胜感激。

谢谢。

android android-keystore

8
推荐指数
1
解决办法
6716
查看次数

如何安全地在Android中存储密钥?

我正在阅读关于存储密钥(加密/解密数据)的内容,似乎没有办法实现这一点.人们只能增加攻击者实现这一目标的难度.

它真的像那样?

到目前为止我得到了什么:

存储在共享首选项(私人模式) - Root电话将能够检索它.

NDK C/C++本机代码,创建.so文件 - 难以反编译,但可以调用此.so文件并检索它.

用于存储密钥的Web服务器看起来毫无用处,如果必须发送凭据,则恶意软件可以记录密钥.

我太偏执了吗?

security android cryptography android-ndk

2
推荐指数
1
解决办法
3471
查看次数