大多数应用程序开发人员都会将一些第三方库集成到他们的应用程序中.如果它是为了访问服务,比如Dropbox或YouTube,或者是为了记录崩溃.第三方图书馆和服务的数量惊人.这些库和服务中的大多数都是通过某种方式与服务进行身份验证来集成的,大多数情况下,这是通过API密钥进行的.出于安全目的,服务通常生成公钥和私钥,通常也称为秘密密钥.不幸的是,为了连接到服务,此私钥必须用于身份验证,因此很可能是应用程序的一部分. 不用说,这面临着巨大的安全问题.公钥和私钥可以在几分钟内从APK中提取出来,并且可以很容易地实现自动化.
假设我有类似的东西,我如何保护密钥:
public class DropboxService {
private final static String APP_KEY = "jk433g34hg3";
private final static String APP_SECRET = "987dwdqwdqw90";
private final static AccessType ACCESS_TYPE = AccessType.DROPBOX;
// SOME MORE CODE HERE
}
您认为存储私钥的最佳和最安全的方式是什么?迷惑,加密,你怎么看?