Wir entwickeln sichere Anwendung für Android. Es ist für Benutzer erforderlich, Dateisysteme ihrer Geräte verschlüsselt zu halten, aber wir müssen diese Tatsache überprüfen und die Verwendung der App verbieten. Ist es möglich zu überprüfen, ob das Dateisystem verschlüsselt ist? Auch gibt es einige Geräte mit Android < 3.0, die Verschlüsselung unterstützt, zum Beispiel Motorola RAZR. Es wäre interessant über die Verschlüsselung solcher Geräte zu wissen.Überprüfen, ob Android-Dateisystem verschlüsselt ist
Antwort
Wenn Ihre App als a device admin registriert ist, können Sie getStorageEncryptionStatus()
unter DevicePolicyManager
anrufen, um den Verschlüsselungsstatus des Geräts für API Level 11 und höher zu ermitteln.
Wenden Sie sich für die Verschlüsselung ganzer Geräte auf niedrigeren API-Ebenen an den Gerätehersteller.
Um die Antwort von CommonsWare zu klären, können Sie den Geräteverschlüsselungsstatus ohne Android-Berechtigungen lesen.
/**
* Returns the encryption status of the device. Prior to Honeycomb, whole device encryption was
* not supported by Android, and this method returns ENCRYPTION_STATUS_UNSUPPORTED.
*
* @return One of the following constants from DevicePolicyManager:
* ENCRYPTION_STATUS_UNSUPPORTED, ENCRYPTION_STATUS_INACTIVE,
* ENCRYPTION_STATUS_ACTIVATING, or ENCRYPTION_STATUS_ACTIVE.
*/
@TargetApi(11)
private int getDeviceEncryptionStatus() {
int status = DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED;
if (Build.VERSION.SDK_INT >= 11) {
final DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
if (dpm != null) {
status = dpm.getStorageEncryptionStatus();
}
}
return status;
}
Dieser Code scheint nicht auf meinem 2013er Modell Nexus 7 zu funktionieren. In diesem In diesem Fall scheint es, als ob dpm.getStorageEncryptionStatus() ENCRYPTION_STATUS_INACTIVE zurückgibt, selbst wenn ich Schritte unternommen habe, um das Gerät zu verschlüsseln. –
auf frühere Antworten auf API kehrt zu klären, wenn ENCRYPTION_STATUS_INACTIVE
Gerät verschlüsselt ist aber Passcode aktiviert was't.
Bei API> = 23 wird in diesem Fall ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY
zurückgegeben.
ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY wird nicht auf Samsung-Geräten zurückgegeben, z. S7 mit Android 6, wenn die PIN zum Starten des Geräts nicht definiert ist. – David
- 1. Überprüfen, ob eine Outlook-Mail (* .msg) digital signiert oder verschlüsselt ist
- 2. Welches Werkzeug, um zu überprüfen, ob WCF TCP Transport wirklich verschlüsselt ist
- 3. Wie überprüfe ich, ob meine Anfrage - Antwort verschlüsselt ist?
- 4. Ist die Datei config.json verschlüsselt?
- 5. Überprüfen, ob Formularelement vorhanden ist
- 6. Überprüfen, ob innerHTML leer ist
- 7. Überprüfen, ob Realm leer ist?
- 8. Überprüfen, ob Hintergrundbild eingestellt ist
- 9. Überprüfen, ob NumericUpDown leer ist
- 10. Überprüfen, ob NSNumber leer ist
- 11. Überprüfen, ob NSDictionary leer ist
- 12. Überprüfen, ob window.history.go erfolgreich ist?
- 13. Wie überprüfen, ob Wertnummer ist
- 14. überprüfen, ob UIButton ausgewählt ist
- 15. Überprüfen, ob Stdin leer ist
- 16. Überprüfen, ob etwas leer ist
- 17. Überprüfen, ob ArrayCollection leer ist
- 18. Überprüfen, ob generic 0 ist
- 19. Ist Realm standardmäßig unter iOS verschlüsselt
- 20. Überprüfen, ob ein bestimmter Datenattributwert vorhanden ist
- 21. JQuery Überprüfen Sie, ob Div Abgebildet ist
- 22. überprüfen, ob eine Datei ein Bild ist
- 23. Überprüfen, ob ein Dateiname gültig ist
- 24. Überprüfen, ob ein Commit vorhanden ist
- 25. Überprüfen, ob das Verzeichnis leer ist
- 26. Überprüfen, ob die Zeichenfolge leer ist
- 27. Überprüfen, ob Erreger in vimrc installiert ist
- 28. Django CMS - überprüfen, ob Platzhalter leer ist
- 29. Kann nicht überprüfen, ob int null ist
- 30. Überprüfen, ob eine Zugangstabelle vorhanden ist
Gibt es eine Möglichkeit herauszufinden, ob die Verschlüsselung software- oder hardwarebasiert ist? Zumindest in Android 5.1. –
@ArtemRussakovskii: Beats me, tut mir leid. – CommonsWare
@ArtemRussakovskii überprüfen Sie diese http://developer.android.com/reference/android/security/KeyChain.html#isBoundKeyAlgorithm(java.lang.String) – alfongj