Streng geheim
Wie man die Verschlüsselungsfunktionen von Android in eigene Apps einbaut
Android verschlüsselt zwar alle Nutzerdaten, aber App-Entwickler sollten die Grenzen dieser Verschlüsselung kennen und besonders wichtige Informationen zusätzlich schützen. Zu diesem Zweck bietet Android einfach anzuwendende APIs für biometrische Authentifizierung, Verschlüsselung und Signaturen.
Smartphones dienen als zweiter Faktor für die Anmeldung bei Banken und Webdiensten, speichern Gesundheitsdaten, intime Nachrichten, Standortverläufe und vieles mehr. Es ist wichtig, diese Daten gut zu schützen. Android beherrscht seit der 2009 veröffentlichten Version 4 eine Verschlüsselung des gesamten Flash-Speichers, seit Android 6 müssen die Hersteller alle Smartphones und Tablets ab Werk verschlüsselt ausliefern. Die Verschlüsselung erfolgt auf Sektorebene direkt im Dateisystemtreiber. Das geht vollautomatisch und sehr schnell, zumal häufig spezielle Hardware zur Beschleunigung genutzt wird [1].
Der eigentliche Schlüssel, der Masterkey, liegt in einem speziellen Disk-Bereich, welcher wiederum mit dem vom Benutzer vergebenen Passcode verschlüsselt ist. Sobald er seinen Passcode beim Entsperren des Geräts eingibt, entschlüsselt Android den Masterkey und kann damit bis zum Herunterfahren des Geräts auf sämtliche Dateien zugreifen. Zum Zurücksetzen des Geräts genügt es, den Masterkey zu löschen, statt mühsam den gesamten Speicherplatz Sektor für Sektor zu überschreiben. Bestimmte Informationen wie Verzeichnislayouts oder Dateigrößen sind von der diskbasierten Verschlüsselung ausgenommen. Damit Angreifer auch aus solchen Daten keine Rückschlüsse ziehen können, ist ab Android 9 zusätzlich eine separate Metadaten-Verschlüsselung möglich.