Speichern Sie einen Schlüssel oder ein Passwort sicher lokal auf Android

8

Ich mache eine Android-Anwendung und derzeit habe ich meinen Server-Benutzernamen und das Passwort als Konstanten in meinem Code geschrieben (was nicht sehr sicher ist). Ich habe online recherchiert, aber ich konnte nicht wirklich etwas finden, das das Kennwort vom Benutzer vollständig sichern oder wenigstens vor Hackern verhindern würde. Könnte mir jemand helfen, wie man ein Passwort lokal auf Android sicher speichert? Danke!

    
Pranav 11.05.2015, 03:47
quelle

1 Antwort

3

Es scheint, dass Ihre Frage tatsächlich lautet "Kann ich den Serverzugriff nur auf meine Anwendung beschränken?". Das ist nicht möglich. Sobald eine Anwendung oder Datei auf einem Client (z. B. einem Benutzergerät) existiert, gibt es keine sichere Möglichkeit, den Client daran zu hindern, mit oder ohne Ihre Autorisierung auf etwas in dieser Anwendung oder Datei zuzugreifen.

Wenn das Gerät es lesen kann, kann das Gerät es lesen - unabhängig davon, ob Ihre Anwendung tatsächlich das Lesen ausführt oder etwas anderes vorgibt , um die Anwendung zu sein .

Sie können nur versuchen, die Anmeldeinformationen zu verschleiern, aber das ist wahrscheinlich nicht nützlich - diejenigen, die ein Interesse daran haben, Anmeldeinformationen aus Ihrer Anwendung zu extrahieren, werden wahrscheinlich auch diejenigen sein, die die Fähigkeiten haben, solche Verschleierung zu umgehen.

Ich kann Ihnen keinen spezifischeren Vorschlag geben, ohne Ihren Anwendungsfall zu kennen. Für Remote-APIs werden in der Regel API-Schlüssel verwendet. Dies erfordert jedoch, dass der Benutzer ein Konto erstellt. Für kontofreie Anwendungen ist das, was Sie wollen, einfach nicht möglich.

Ich sollte auch darauf hinweisen, dass das "Verhindern von Hackern" kein sinnvolles Ziel ist - das kann viele Dinge bedeuten. Sie sollten sich darüber informieren, wie die Bedrohungsmodellierung funktioniert, und genau ermitteln, wer Ihre Angreifer sind, welche Ziele sie verfolgen und welche Funktionen sie haben. Nur dann können Sie versuchen, Lösungen dagegen zu finden.

EDIT: Ich wollte nur ein zusätzliches Wort der Warnung hinzufügen: jemand, der Ihnen sagt, dass die Verschleierung für diese Art von Szenarien "effektiv" ist, versucht Ihnen etwas zu verkaufen. Leider sind sie bei solchen Versuchen meist recht erfolgreich. Das Verschleierungsmodell kann nicht und funktioniert nicht .

    
Sven Slootweg 11.05.2015, 03:53
quelle