Verschlüsselung in mobilen Apps — Grundlagen, Algorithmen und Funktionsprinzip

Autor: IT Sectr Veröffentlicht: 2026-04-02 Lesezeit: 8 Min.

Verschlüsselung (encryption) ist der Prozess der Umwandlung von Daten in eine Form, die ohne einen speziellen Schlüssel nicht lesbar ist. In mobilen Anwendungen schützt die Verschlüsselung die persönlichen Daten der Benutzer, Zahlungsinformationen und die Geschäftslogik vor Abfangen und Leckagen. Laut Statista (2024) ist die Anzahl der Datenlecks aus mobilen Apps in zwei Jahren um 38% gestiegen, und in 72% der Fälle war die Ursache fehlende oder falsche Verschlüsselung. Moderne mobile Plattformen bieten integrierte APIs für die Verschlüsselung, und deren Verwendung ist ein verbindlicher Sicherheitsstandard. Statista, 2024

Wichtige Punkte

  • Verschlüsselung — Umwandlung von Daten in eine unlesbare Form, die nur mit einem Entschlüsselungsschlüssel rückgängig gemacht werden kann.
  • Symmetrische Verschlüsselung verwendet einen Schlüssel zum Ver- und Entschlüsseln — schnell, erfordert aber eine sichere Übertragung des Schlüssels.
  • Asymmetrische Verschlüsselung verwendet ein Schlüsselpaar (öffentlich und privat) — sicherer, aber langsamer als symmetrisch.
  • AES-256 — der Goldstandard der symmetrischen Verschlüsselung, empfohlen von NIST und verwendet in Android und iOS.
  • Ende-zu-Ende-Verschlüsselung stellt sicher, dass Daten selbst für den Server unzugänglich sind — nur Sender und Empfänger können sie lesen.

Was ist Verschlüsselung in mobilen Anwendungen?

Verschlüsselung im Kontext mobiler Anwendungen ist die Anwendung kryptografischer Algorithmen zum Schutz von auf dem Gerät gespeicherten Daten (data at rest) und über das Netzwerk übertragenen Daten (data in transit). Auf Geräteebene wird der lokale Speicher verschlüsselt: Dateien, Datenbanken, SharedPreferences und Cache. Auf Netzwerkebene wird der Datenverkehr zwischen der App und dem Server über TLS/HTTPS-Protokolle verschlüsselt. Das ultimative Ziel ist sicherzustellen, dass selbst bei physischem Zugriff auf das Gerät oder Abfangen des Datenverkehrs ein Angreifer die geschützten Daten ohne den kryptografischen Schlüssel nicht lesen kann.

Warum Verschlüsselung in mobilen Anwendungen notwendig ist

Mobile Geräte sind besonders anfällig für Datenverlust: Ein Telefon kann leicht verloren gehen, gestohlen oder mit Malware infiziert werden. Laut dem Ponemon Institute (2023) führen 42% der von Datenlecks betroffenen Unternehmen die Vorfälle auf mobile Geräte zurück. Ohne Verschlüsselung kann ein Angreifer über USB eine Verbindung zum Gerät herstellen, die SQLite-Datenbank extrahieren und alle gespeicherten Daten lesen. Verschlüsselung löst dieses Problem: Selbst wenn die Datenbank extrahiert wird, bleibt ihr Inhalt verschlüsselt. Darüber hinaus gibt es in den USA und der EU Gesetze (GDPR, CCPA), die die Verschlüsselung personenbezogener Daten vorschreiben und bei Verstößen Geldstrafen von bis zu 4% des Jahresumsatzes vorsehen. Die Verwendung von Verschlüsselung ist für jede mobile Anwendung, die mit Benutzerdaten arbeitet, nicht nur eine technische, sondern auch eine rechtliche Notwendigkeit.

Symmetrische und asymmetrische Verschlüsselung

Alle Verschlüsselungsalgorithmen werden in zwei Haupttypen unterteilt: symmetrische (ein Schlüssel zum Ver- und Entschlüsseln) und asymmetrische (ein Schlüsselpaar — öffentlich und privat). Die Wahl des Typs hängt vom Anwendungsszenario ab: Zur Verschlüsselung lokaler Daten werden aufgrund ihrer Geschwindigkeit häufig symmetrische Algorithmen verwendet, für Schlüsselaustausch und Authentifizierung asymmetrische.

EigenschaftSymmetrischAsymmetrisch
Anzahl der Schlüssel1 (geheim)2 (öffentlich + privat)
GeschwindigkeitHoch (1–10 GB/s)Niedrig (1–10 MB/s)
SchlüsselverteilungProblematisch — Schlüssel muss übertragen werdenEinfach — öffentlicher Schlüssel wird veröffentlicht
BeispieleAES, ChaCha20RSA, ECDH, ECIES
Verwendung in der mobilen EntwicklungLokale DatenverschlüsselungSchlüsselaustausch, digitale Signaturen

In der Praxis wird in mobilen Anwendungen Hybridverschlüsselung verwendet: Mit einem asymmetrischen Algorithmus (z. B. ECDH) tauschen die Parteien einen Sitzungsschlüssel aus, und alle nachfolgenden Daten werden mit einem symmetrischen Algorithmus (AES oder ChaCha20) verschlüsselt. Dieser Ansatz kombiniert die Geschwindigkeit der symmetrischen Verschlüsselung mit der Sicherheit des asymmetrischen Schlüsselaustauschs. Diese Methode ist die Grundlage von TLS 1.3, Signal Protocol und Apple iMessage.

Wichtige Verschlüsselungsalgorithmen

Die moderne mobile Entwicklung verwendet mehrere standardisierte Verschlüsselungsalgorithmen, die jeweils für bestimmte Aufgaben konzipiert sind und ihren eigenen Anwendungsbereich haben.

  • AES (Advanced Encryption Standard) — eine symmetrische Blockchiffre, die 2001 von NIST zertifiziert wurde. Verwendet Schlüssel mit 128, 192 oder 256 Bit. Der empfohlene Modus ist GCM (Galois/Counter Mode), der eine authentifizierte Verschlüsselung bietet. AES-256 wird in Android Keystore, iOS Keychain und allen modernen TLS-Protokollen verwendet.
  • ChaCha20-Poly1305 — eine symmetrische Stromchiffre, entwickelt von Daniel Bernstein. Bietet die gleiche Sicherheit wie AES-256, arbeitet aber auf Geräten ohne Hardware-AES-Beschleunigung (typisch für preiswerte Android-Smartphones) schneller. ChaCha20 wird in TLS 1.3 als Alternative zu AES-GCM verwendet und ist die primäre Chiffre im Signal Protocol.
  • RSA (Rivest-Shamir-Adleman) — ein asymmetrischer Algorithmus zur Schlüsselverschlüsselung und digitalen Signaturen. Die minimal empfohlene Schlüsselgröße beträgt 2048 Bit. RSA ist langsamer als ECDH und wird daher in modernen mobilen Anwendungen durch Elliptic Curve Cryptography (ECC) ersetzt.
  • ECDH (Elliptic Curve Diffie-Hellman) — ein asymmetrisches Schlüsselaustauschprotokoll auf Basis elliptischer Kurven. Bietet Perfect Forward Secrecy und wird standardmäßig in TLS 1.3 verwendet. Die Kurve Curve25519 (X25519) ist in mobilen Anwendungen am weitesten verbreitet.

Wie Verschlüsselung Benutzerdaten schützt

Verschlüsselung schützt Daten in drei wichtigen Szenarien: Geräteverlust (Festplatten- und App-Container-Verschlüsselung), Datenverkehrsabfang (TLS/HTTPS-Netzwerkprotokolle) und Serverleck (Ende-zu-Ende-Verschlüsselung). Jedes Szenario erfordert seinen eigenen Ansatz und eigene Werkzeuge.

Daten im Ruhezustand und in der Übertragung

Daten im Ruhezustand — Daten auf dem Gerät — werden über Android Keystore und iOS Keychain verschlüsselt. Ab Android 7.0 wird dateibasierte Verschlüsselung (File-Based Encryption) verwendet, und Apps können ihre Daten zusätzlich über EncryptedSharedPreferences und EncryptedFile aus der AndroidX Security-Bibliothek verschlüsseln. Unter iOS arbeiten alle Apps standardmäßig mit der Data Protection API, die Dateien auf Dateisystemebene mit einem an den Gerätecode gebundenen Schlüssel verschlüsselt. Für Daten in der Übertragung wird TLS 1.2/1.3 mit obligatorischem Certificate Pinning verwendet.

Ende-zu-Ende-Verschlüsselung

Ende-zu-Ende-Verschlüsselung (E2E) — die höchste Stufe des Datenschutzes, bei der eine Nachricht auf dem Gerät des Senders verschlüsselt und nur auf dem Gerät des Empfängers entschlüsselt wird. Der Speicher- und Übertragungsserver hat keinen Zugriff auf den Inhalt — er verarbeitet nur verschlüsselte Blobs. Die bekannteste E2E-Implementierung für mobile Anwendungen ist das Signal Protocol, das den Double-Ratchet-Algorithmus in Kombination mit X3DH (Extended Triple Diffie-Hellman) für den anfänglichen Schlüsselaustausch verwendet. Das Signal Protocol bietet Perfect Forward Secrecy und zukünftige Geheimhaltung: Die Kompromittierung eines Schlüssels gibt weder frühere noch spätere Nachrichten preis. Laut einer Studie der Carnegie Mellon University (2023) reduziert die E2E-Verschlüsselung in Messaging-Apps das Risiko von Kommunikationslecks im Vergleich zur reinen TLS-Verschlüsselung um 99.7%. Die Verwendung von E2E ist für Apps der Kategorien Health & Fitness und Finance gemäß den Anforderungen von GDPR und HIPAA obligatorisch. Zur Implementierung von E2E in Ihrem eigenen Projekt wird die Verwendung der Signal-Protocol-Bibliothek (Java/Swift) oder einer auf Olm (Matrix-Protokoll) basierenden Bibliothek empfohlen. Bei der Auswahl einer E2E-Lösung bewerten Sie die Plattformkompatibilität: Das Signal-Protocol erfordert Unterstützung für asynchrones Senden und Schlüsselspeicherung auf dem Client, was Multi-Geräte-Szenarien erschwert — für solche Fälle kann das Matrix-Protokoll mit seinem Raummodell die bessere Wahl sein.

Implementierung der Verschlüsselung in mobilen Anwendungen

Betrachten wir ein Beispiel für die Ver- und Entschlüsselung von Daten auf Android mit Jetpack Security (AndroidX Security). Die Bibliothek bietet EncryptedFile zur Dateiverschlüsselung und EncryptedSharedPreferences für Einstellungen.

kotlin
val masterKey = MasterKey.Builder(context)
    .setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
    .build()

val encryptedFile = EncryptedFile.Builder(
    context,
    File(context.filesDir, "secret.dat"),
    masterKey,
    EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB
).build()

encryptedFile.openFileOutput(applicationContext).use { outputStream ->
    outputStream.write("Sensitive user data".toByteArray(Charsets.UTF_8))
}

Der MasterKey wird mit AES256-GCM erstellt — dem sichersten symmetrischen Verschlüsselungsmodus. Der Schlüssel wird im Android Keystore gespeichert, der vom Hauptprozess isoliert ist: Selbst wenn die App kompromittiert wird, kann ein Angreifer den Schlüssel nicht extrahieren. EncryptedFile verwendet das AES-256-GCM-Schema mit HKDF zur Schlüsselableitung und einer Seitengröße von 4KB, was eine gute Balance zwischen Geschwindigkeit und Sicherheit bietet. Zum Lesen von Daten wird openFileInput mit denselben Parametern verwendet: Die Bibliothek entschlüsselt die Daten beim Lesen automatisch.

Unter iOS wird eine ähnliche Funktionalität über CryptoKit (Swift) mit AES.GCM oder ChaChaPoly bereitgestellt. Der Schlüssel wird über Keychain Services im Secure Enclave gespeichert. Das Prinzip ist dasselbe: Schlüssel verlassen niemals die sichere Hardwarespeicherung, und Daten werden vor dem Schreiben auf die Festplatte verschlüsselt. Diese Architektur entspricht den OWASP MASVS (Mobile Application Security Verification Standard) Level L2-Empfehlungen für Anwendungen, die mit sensiblen Daten arbeiten. In realen Projekten deckt die Kombination von EncryptedSharedPreferences für Tokens und EncryptedFile für Benutzerdaten 100% der lokalen Verschlüsselungsszenarien ab. Darüber hinaus wird für die Arbeit mit vom Server empfangenen Schlüsseln (z. B. ECDH-Sitzungsschlüssel) der Android KeyStore mit dem Parameter purpose = KeyProperties.PURPOSE_ENCRYPT verwendet, der sicherstellt, dass der Schlüssel nur für autorisierte kryptografische Operationen verwendet und niemals aus dem Hardwarespeicher in den RAM im Klartext exportiert wird.

Häufig gestellte Fragen

Welche Verschlüsselung gilt als die zuverlässigste für mobile Anwendungen?

AES-256 im GCM-Modus mit Schlüsselspeicherung im Hardwarespeicher (Android Keystore / iOS Keychain) gilt als Goldstandard. Für Netzwerkverkehr — TLS 1.3 mit der elliptischen Kurve Curve25519. ChaCha20-Poly1305 wird als Alternative auf Geräten ohne Hardware-AES verwendet.

Was ist der Unterschied zwischen AES und RSA?

AES ist ein symmetrischer Algorithmus (ein Schlüssel), schnell und geeignet zur Verschlüsselung großer Datenmengen. RSA ist asymmetrisch (ein Schlüsselpaar), langsam und wird zur Schlüsselverschlüsselung und Signatur verwendet, nicht für Daten. In mobilen Anwendungen verschlüsselt AES Daten, RSA schützt Schlüssel.

Müssen alle Daten in der Anwendung verschlüsselt werden?

Verschlüsselt werden müssen vertrauliche Daten: Zugriffstokens, Passwörter, persönliche Informationen, Zahlungsdaten, medizinische Aufzeichnungen. Öffentliche Daten (Bilder, Inhalte) können unverschlüsselt bleiben, sollten aber besser in einem geschützten App-Container gespeichert werden.

Wie funktioniert Ende-zu-Ende-Verschlüsselung auf mobilen Geräten?

Bei der Ende-zu-Ende-Verschlüsselung werden Daten vor dem Senden auf dem Gerät des Senders verschlüsselt und nur auf dem Gerät des Empfängers entschlüsselt. Der Server sieht nur verschlüsselte Daten. Das Double-Ratchet-Protokoll, implementiert im Signal Protocol, ist der häufigste E2E-Mechanismus in mobilen Messengern.

Kann man dieselbe Verschlüsselung für Daten auf dem Gerät und fürs Netzwerk verwenden?

Technisch möglich, aber nicht empfohlen. Für Daten auf dem Gerät verwenden Sie symmetrische Verschlüsselung (AES-GCM) mit einem Schlüssel aus dem Keystore. Fürs Netzwerk verwenden Sie TLS 1.3 mit einem separaten Schlüsselsatz und Certificate Pinning. Die Trennung verhindert, dass beide Kanäle kompromittiert werden, wenn ein Schlüssel durchsickert.

Zusammenfassung

  • Verschlüsselung ist ein obligatorisches Sicherheitselement für mobile Anwendungen, das Daten im Ruhezustand und in der Übertragung schützt.
  • AES-256 GCM ist der von NIST für alle Datentypen empfohlene symmetrische Verschlüsselungsstandard.
  • Hybridverschlüsselung (ECDH + AES) kombiniert die Geschwindigkeit des symmetrischen mit der Sicherheit des asymmetrischen Ansatzes.
  • Android Keystore und iOS Keychain sind Hardwareschlüsselspeicher, die kryptografisches Material von der App isolieren.
  • Daten im Ruhezustand werden über EncryptedSharedPreferences und EncryptedFile (Android) oder die Data Protection API (iOS) verschlüsselt.
  • Daten in der Übertragung werden durch TLS 1.3 mit Certificate Pinning und Perfect Forward Secrecy geschützt.
  • Empfehlung: Verschlüsseln Sie alle vertraulichen Daten über Jetpack Security (Android) oder CryptoKit (iOS) mit Schlüsseln im Hardwarespeicher.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch