Les meilleures pratiques pour ranger et protéger les clés API dans les applications

La plupart des développeurs d'applications intégrera un tiers des bibliothèques dans leurs applications. Si c'est pour accéder à un service, tels que Dropbox ou YouTube, ou pour l'enregistrement des accidents. Le nombre de tiers de bibliothèques et de services est stupéfiant. La plupart de ces bibliothèques et les services sont intégrés, en quelque sorte, de l'authentification avec le service, la plupart du temps, cela se passe via une clé API. Pour des raisons de sécurité, les services génèrent habituellement un public et privé, souvent aussi appelé secret, la clé. Malheureusement, afin de se connecter aux services, cette clé privée doit être utilisé pour s'authentifier et donc, probablement partie de l'application.
Inutile de dire que cette confrontée à d'immenses problèmes de sécurité. Public et privé clés API peut être extraite de l'Apk dans une affaire de minutes et peut être facilement automatisé.

En supposant que j'ai quelque chose de semblable à cela, comment puis-je protéger le secret de la clé:

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

}

Quelle est à votre avis le meilleur et le plus sûr pour stocker la clé privée? L'Obfuscation, chiffrement, qu'en pensez-vous?

rammic.github.io/2015/07/28/cacher-secrets-de-android-apps
j'ai eu stocker dans image/png et d'obtenir par le biais de png BufferReader

OriginalL'auteur Basic Coder | 2013-01-28