安全存储客户端密码

pom*_*ber 6 security encryption android oauth secret-key

我知道公共客户端不应该使用客户端密钥,因为无论您对它进行多少混淆,它都不会受到逆向工程的保护.

但是,我正在验证的服务负责人不想/不能改变它.所以,我需要存储客户端的秘密,尽量保护它免受逆向工程的影响.

所以,我想过使用gradle在构建时加密它并将其存储在文件中.然后,当我在运行时需要它时,我解密它.但现在我必须解决如何存储加密密钥的问题 ......

我不太了解安全性,因此,我不知道这是否可以解决,或者Android(min sdk 15)是否为这种情况提供了任何机制.

任何的想法?

jmm*_*jmm 4

本文从安全性从低到高的顺序建议了以下选项:

  1. 以明文形式存储

  2. 使用对称密钥加密存储

  3. 使用 Android 密钥库

  4. 使用非对称密钥加密存储

也许,结合使用#4和某种方式来明确识别设备就足够安全了