2017-03-03 4 views
1

In meiner Android-Anwendung muss ich sicher RSA, ECDH, AES und andere Schlüssel speichern. Sie werden mit einem vom Benutzer eingegebenen Passwort verschlüsselt/entschlüsselt. Meine Optionen sind: Android Keystore, Hüpfburg UBER Keystore, verschlüsseln und speichern in gemeinsamen Einstellungen. Der Android-Schlüsselspeicher ist keine Option, da Schlüssel mit einem benutzerdefinierten Kennwort nicht verschlüsselt werden. UBER scheint eine gute Lösung zu sein, aber ich habe einige Probleme, meine Schlüssel dort zu speichern, also denke ich, nur um sie mit AES GCM zu verschlüsseln und geteilte Präferenzen einzugeben, wird das weniger sicher sein? Oder vielleicht noch sicherer als AES GCM ist besser als Twofish, die von Hüpfburg verwendet wird?Speichern von Schlüsseln in Bouncy Castle Keystore sicherer als Speichern in verschlüsselten Einstellungen?

+0

Könnten Sie bitte erklären, was Sie mit "Android Key Store (...) nicht Schlüssel mit _custom_ Passwort" verschlüsseln? Ich bin gerade auf [diese] (https://stackoverflow.com/questions/43891059/storing-keystore-password-for-certificate-pinning-in-android) gestoßen, wo es einen Vorschlag gibt, gibt es die Möglichkeit, Schlüssel zu speichern, die durch ein Kennwort gesichert sind aber ich weiß nicht, ob wir hier auf der gleichen Seite sind – Antek

Antwort

0

Das Verschlüsseln mit AES-256 im GCM-Modus und das Speichern in gemeinsamen Voreinstellungen sollte in Ordnung sein. AES-256 ist Teil der NSA Suite B-Spezifikation und ist für die symmetrische Verschlüsselung in etwa gleich gut. (https://en.wikipedia.org/wiki/NSA_Suite_B_Cryptography) Dieser Link stellt fest, dass die NSA erwartet, bald eine neue Suite-Empfehlung herauszugeben, die Quantenangriffe auf Krypto adressiert - aber solche Angriffe sind im nahen (3-5) Jahr nicht annähernd möglich.

Verwandte Themen