Best practice für die Lagerung und den Schutz von privaten API Schlüssel in Anwendungen

Meisten app-Entwickler integrieren einige Bibliotheken von Drittanbietern in Ihre apps. Wenn es zum Zugriff auf einen Dienst wie Dropbox oder YouTube, oder für die Anmeldung abstürzt. Die Zahl der third-party-Bibliotheken und-Dienstleistungen, ist atemberaubend. Die meisten dieser Bibliotheken und-services integriert werden, indem irgendwie die Authentifizierung bei dem Dienst, die meisten der Zeit, geschieht dies über einen API-Schlüssel. Für die Zwecke der Gefahrenabwehr, Dienstleistungen generieren in der Regel einen öffentlichen und einen privaten, oft auch bezeichnet als secret key. Leider, um die Verbindung zu den services, die diese privaten Schlüssel verwendet werden muss, sich zu authentifizieren, und daher wahrscheinlich ein Teil der Anwendung.
Unnötig zu sagen, dass diese Flächen in immensen Sicherheitsproblem. Öffentliche und private-API-Schlüssel extrahiert werden können, werden von APKs in einer Angelegenheit von Minuten und kann leicht automatisiert werden.

Vorausgesetzt, ich habe etwas ähnliches, wie kann ich mich schützen das Geheimnis Schlüssel:

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

}

Was ist deiner Meinung nach das beste und sicherste Möglichkeit zur Speicherung der privaten Schlüssel? Verschleierung, Verschlüsselung, was denkst du?

rammic.github.io/2015/07/28/versteckt-Geheimnisse-in-android-apps
ich hatte speichern in image/png und bekommst den Schlüssel durch das png als BufferReader

InformationsquelleAutor Basic Coder | 2013-01-28

Schreibe einen Kommentar