0

我们如何保护 root 设备上的 api 密钥?

如您所知,我们不能信任客户,我们能做的就是让黑客为难。以下是我知道的保护密钥的一些要点

  1. 使用 NDK(将密钥存储在您的 C 类中并在运行时在 kotlin 类中获取它) - 即使设备是 root 或反编译的黑客也无法访问它。
  2. 使用Android Key Chain(将密钥存储在硬件设备中,没有设备完整性,证书,没有人可以访问它。它存储在与您的应用程序不同的地方。不确定如果我们反编译应用程序会发生什么)。
  3. 安全共享偏好。(即使我们加密了文件,它仍然可以在root设备上访问,可以通过检查代码来确定解密算法)
  4. 安全共享偏好和 Proguard/Dexguard?(当设备被植根时,将加密密钥公开存储在应用程序包下仍然不是一个好主意。)
  5. 如果我们只是加密文件?(同样它会在应用程序包文件夹下,可以访问。)

还有什么其他选择?

4

1 回答 1

0

查看Jetpack 安全库,您可以在其中加密文件或共享首选项。

但是,一个好的经验法则是,如果您不希望访问应用程序中的内容,则不应将它们存储在本地

于 2021-09-07T12:09:05.840 回答