Zum Hauptinhalt springen
Sichere Token-Speicherung: Best Practices für Mobile-Entwickler

Die sichere Speicherung von Authentifizierungstoken ist für die Mobilitätsanwendungssicherheit von entscheidender Bedeutung. Tokens sind die Schlüssel für Benutzerkonten, sensible Daten und Dienste. Wenn sie kompromittiert werden, können sie zu Identitätsdiebstahl, Finanzbetrug und Datenverletzungen führen. Hier ist, wie Sie sie schützen können:

Hauptergebnisse:

  • Verwenden Sie Plattform-nativen sicheren Speicher: Speichern Sie Tokens im iOS-Schlüsselkasten oder Android-Keystore für hardwaregestützte Sicherheit.
  • Verschlüsseln Sie Tokens bei Ruhestand: Verwenden Sie Werkzeuge wie EncryptedSharedPreferences (Android) oder CryptoKit (iOS) für sichere Verschlüsselung.
  • Limit Token Exposure: Verwenden Sie kurzlebige Token und Token-Rotation zur Risikominderung.
  • Secure Communication: Verwenden Sie immer HTTPS und implementieren Sie Zertifikatspinning, um eine Fehlzustellungsprävention zu erreichen.
  • Manage Token Lifecycles: Ablaufdatum, Token-Refresh und Token-Rückruf regelmäßig durchführen, um Schäden durch Diebstahl zu minimieren.

Quick Comparison of Storage Methods:

Speicherungsmethode Sicherheitsstufe Benutzbarkeit Beste Verwendungsfälle
In-Memory Storage Hoch Niedrig Kurze Sitzungen, hohe Sicherheitsanforderungen
Lokale Speicherung Niedrig Hoch Nichtsensitiv Daten
Sichere Cookies Hoch Mittel Web-Anwendungen mit serverseitigen Steuerungen
iOS-Schlüsselkasten Sehr Hoch Mittel iOS-Anwendungen, die sensitive Token speichern
Android Keystore Sehr Hoch Mittel Android-Anwendungen, die sichere Speicherung erfordern
Benutzerdefinierte Verschlüsselung Variabel Mittel Spezialisierte Sicherheitsanforderungen

Beginnen Sie damit, die aktuellen Token-Speicherungsmethoden Ihrer App zu überprüfen und diese Best Practices umzusetzen, um Ihre Benutzer und Ihr Brand zu schützen.

Falsche Realitäten der Diskverschlüsselung: Sicherheit bei der Speicherung auf mobilen Geräten - Daniel Mayer & Drew Suarez

Grundregeln für die sichere Token-Speicherung

Protecting tokens requires a layered approach to security. By combining multiple safeguards, you ensure that if one measure fails, others still protect sensitive data. For Capacitor apps, following these practices is essential for maintaining token security across platforms.

Verwenden Sie HTTPS und Zertifikatspinning

Die HTTPS-Verschlüsselung ist Ihre erste Verteidigungslinie gegen die Token-Interception. Jede Interaktion zwischen Ihrer App und dem Server muss HTTPS verwenden, um die Daten im Transit zu verschlüsseln und so eine Offenlegung gegenüber Angreifern zu verhindern.

Um dies weiter zu stärken, implementieren Sie Zertifikatspinning. For Capacitor apps, @capgo/capacitor-ssl-pinning pinnt HTTPS-Verbindungen an den in der App verpackten Zertifikaten für CapacitorHttp auf iOS und Android. Diese Technik stellt sicher, dass Ihre App nur mit Ihrem vertrauenswürdigen Server kommuniziert, selbst wenn jemand versucht, ein gefälschtes Zertifikat zu verwenden. Durch das Festlegen Ihres Servers Zertifikats oder öffentlichen Schlüssels in der App etablieren Sie eine direkte Vertrauensbeziehung zwischen der App und dem Server.

“Sie sollten pinnen, wenn Sie relativ sicher sein möchten, dass der Remote-Host identifiziert ist, oder wenn Sie in einem feindlichen Umfeld arbeiten. Da einer oder beide Fälle fast immer wahr sind, sollten Sie wahrscheinlich immer pinnen.” – OWASP-Pin-Cheat-Sheet [5]

Achtung: Ein echtes Szenario: Twitter führte die Zertifikatsbindung in seinen mobilen Apps ein, nachdem es Angriffe von der Mitte (MitM) erlebt hatte. Seine Mannschaft integrierte den öffentlichen Schlüssel des SSL-Zertifikats des Servers direkt in die App. Wenn sich die Benutzer verbanden, überprüfte die App das Zertifikat gegen das gepinnte. Wenn es keine Übereinstimmung gab, wurde die Verbindung sofort beendet. Diese Vorgehensweise reduzierte die Angriffe von der Mitte erheblich und stärkte die Benutzerzufriedenheit mit der Plattform [5].

Sie können zwischen Zertifikatsbindung (das gesamte Zertifikat überprüfen) für die maximale Sicherheit oder Öffentlicher Schlüsselbindung (nur den öffentlichen Schlüssel überprüfen) für größere Flexibilität bei Zertifikatserneuerungen wählen. Werkzeuge wie OkHttp für Android und Alamofire für iOS vereinfachen die Implementierung dieser Techniken [5].

Einmal sichere Übertragung ist eingerichtet, ist der nächste Schritt, die Tokenexposition zu minimieren.

Tokenexposition minimieren

Reduzieren Sie die Tokenexposition, indem Sie sowohl den Umfang als auch die Lebensdauer von Token begrenzen. Die Idee ist einfach: Je weniger Zeit ein Token gültig ist und je weniger Berechtigungen es hat, desto geringer ist das Risiko, wenn es kompromittiert wird.

  • Verwenden Sie kurzlebige Zugriffstoken mit Ablaufzeiten in Minuten. Paaren Sie sie mit Refresh-Tokens, um Benutzersitzungen ohne langfristige Zugriffstoken auf dem Gerät aufrechtzuerhalten. Diese Vorgehensweise stellt gestohlene Token schnell als wertlos dar.
  • Wenden Sie das Prinzip der geringsten Berechtigungan. Zum Beispiel, wenn ein Token nur zum Lesen von Benutzerprofildaten benötigt wird, erteilen Sie ihm keine Berechtigungen, das Konto zu ändern oder Zugriff auf Zahlungsdaten zu erhalten.
  • Aktivieren Sie die Rotation von Refresh-Tokens, wobei ein neues Refresh-Token bei jeder Verwendung zum Anfordern eines neuen Zugriffstokens ausgestellt wird. Wenn ein Refresh-Token gestohlen wird, wird es nach der legitimen Anwendung invalid, was die Risikowandlung verringert. [4].

Indem Sie die Tokenexposition begrenzen, verringern Sie die Chancen eines erheblichen Schadens durch einen Sicherheitsvorfall. Als nächstes sichert die Verschlüsselung die Tokens ab, selbst wenn ein Gerät physisch kompromittiert wird.

Verschlüsseln Sie Tokens im Ruhezustand

Schlüsselverschlüsselung bei Ruhezustand sichert Tokens, die auf dem Gerät gespeichert sind. Selbst wenn ein Gerät verloren, gestohlen oder durch Malware kompromittiert wird, stellt die Verschlüsselung sicher, dass die Tokens unleserlich bleiben.

Moderne Mobilbetriebssysteme bieten sichere, hardware-gestützte Speicheroptionen, die weitaus zuverlässiger sind als Standardmethoden wie SharedPreferences auf Android oder NSUserDefaults auf iOS [4].

  • Für Android: Verwende EncryptedSharedPreferences (verfügbar auf Android 10 und später). Diese Werkzeug handhabt die Verschlüsselung und die Schlüsselverwaltung automatisch, was die Implementierung vereinfacht und die Sicherheit erhöht. Zum Beispiel kann die SecureJWTStorage -Klasse sicher Tokens und JWTs speichern und abrufen, ohne eine komplexe benutzerdefinierte Verschlüsselung __CAPGO_KEEP_0__. EncryptedSharedPreferences without requiring complex custom encryption code.
  • : Der Keychain bietet eine hardware-basierte Verschlüsselung für sichere Token-Speicherung. Entwickler können eine-Klasse verwenden, um JWT-Tokens zu verwalten oder eine zusätzliche Sicherheitsebene erreichen, indem sie Tokens mit KeychainHelper CryptoKit verschlüsseln. ]} vor dem Speichern in der Keychain [4].

Beide Android- und iOS-Geräte nutzen hardwaregestützte Verschlüsselung, wie z.B. das Secure Enclave auf iOS und das Hardware-Sicherheitsmodul auf Android. Diese Komponenten speichern Verschlüsselungsschlüssel in tamperresistenter Hardware, isoliert vom Hauptbetriebssystem.

Schließlich müssen klare Richtlinien für die Datenspeicherung festgelegt werden. Automatisch entfernen Sie abgelaufene Token und löschen Sie sensible Daten sicher vom Gerät, wenn sie nicht mehr benötigt werden. Diese Praktiken stellen sicher, dass Token nur so lange gespeichert werden, wie absolut notwendig ist [6].

Plattformspezifische Token-Speicherungsmethoden

Jedes mobile Betriebssystem bietet eigene Werkzeuge zur Sicherung von Token, die sich an die Sicherheits- und Benutzererfahrungsnachfrage anpassen. Diese native Optionen bauen auf grundlegenden Praktiken wie HTTPS, Verschlüsselung und Begrenzung der Exposition auf, die in der Vergangenheit diskutiert wurden.

Android: Keystore und VerschlüsselteSharedPreferences

VerschlüsselteSharedPreferences

Android-Geräte bieten robuste Token-Schutz durch das Keystore-System und VerschlüsselteSharedPreferences. Der Keystore speichert kryptographische Schlüssel sicher in einem geschützten Umfeld, wodurch sie schwierig zu extrahieren sind und sicherstellen, dass sie nicht exportiert werden können. Dies bedeutet, dass die Schlüssel nur für sichere Operationen verwendet werden können. Darüber hinaus können Sie Einschränkungen wie das Anforderen einer Benutzerauthentifizierung hinzufügen. Für Geräte, die unter Android 9 (API Stufe 28) oder später laufen, StrongBox KeyMint bietet sogar eine größere Isolation im Vergleich zum standardmäßigen Trusted Execution Environment (TEE). Um zu überprüfen, ob StrongBox verfügbar ist, verwenden Sie FEATURE_STRONGBOX_KEYSTORE, und aktivieren Sie es mit KeyGenParameterSpec.Builder.setIsStrongBoxBacked().

EncryptedSharedPreferences bietet eine einfachere Möglichkeit, Schlüssel-Wert-Paare sicher zu speichern. Es verschlüsselt Daten und verwaltet Schlüssel sicher, unterstützt API-Stufen 23 und darüber hinaus. Arun, ein Android-Engineer, hebt ihre Einfachheit hervor:

“With just a few lines of code, we can “Mit nur wenigen Zeilen von __CAPGO_KEEP_0__ können wir die Sicherheit erheblich verbessern EncryptedSharedPreferencesdurch die Verwendung von

. Es ist eine leistungsstarke und einfache Lösung zur Sicherung sensibler Daten in Android-Apps.”

Zu den besten Praktiken gehören die Implementierung von Fehlerbehandlungen, die Rotation von Schlüsseln alle 90-180 Tage und die Vermeidung des Speicherns hochsensibler Daten (wie Kreditkartennummern) in SharedPreferences. Solche Daten sollten stattdessen auf sicheren Backends verarbeitet werden. iOS: Keychain und

Auf iOS basiert die Token-Sicherheit auf dem Keychain und dem Secure Enclave. Der Keychain ist ein sicheres Repository für sensitive Daten, wie z.B. Passwörter und Token, mit AES-256-GCM-Verschlüsselung. Er verwendet ein Doppel-Schlüsselsystem: ein Schlüssel für Metadaten und ein einzigartiger Schlüssel für jedes gespeicherte Item. Metadaten-Schlüssel werden durch den Secure Enclave geschützt, der sie für schnellere Abfragen im Cache speichert, während Geheimnisschlüssel einen Hin- und Rückweg zum Enclave erfordern, um die Sicherheit zu erhöhen. Der Keychain unterstützt auch die sichere Weitergabe von Items unter Apps von demselben Entwickler, die durch den securityd Daemon

verwaltet werden. kSecAttrAccessibleWhenUnlockedDer Secure Enclave erhöht die Schutzwirkung mit P256-Schlüsseln und etwa 4 MB sicheren Speicherplatz. Sie können die Sicherheit weiter stärken, indem Sie Zugriffssteuerungslisten (ACLs) konfigurieren, um Face ID, Touch ID oder Passcode-Authentifizierung mit Einstellungen wie .whenPasscodeSetThisDeviceOnly zu erfordern. Für noch strengere Sicherheit stellt die

Capacitor__CAPGO_KEEP_0__

Capacitor Framework Documentation Website

Für Apps mit mehreren Plattformen bietet Capacitor sichere Speicher-Plugins an, die die Token-Sicherheit vereinfachen, ohne eine plattform-spezifische code zu erfordern. @capgo/capacitor-data-storage-sqlite speichert Daten lokal mit SQLite und optionaler Verschlüsselung, während @capgo/capacitor-persistent-account Authentifizierungsdaten über Neustarts aufbewahrt. Auf iOS speichert der Plugin Daten im verschlüsselten System-Keychain, während auf Android Daten mit AES in GCM-Modus mit einem Schlüssel verschlüsselt werden, der vom Android-Keystore generiert wird, bevor sie in SharedPreferences gespeichert werden. Für Web-Umgebungen verwendet das Plugin unverschlüsselte localStorage - aber nur zu Debugging-Zwecken.

Im Februar 2025 aktualisierte martinkasa das capacitor-secure-storage-plugin, um Capacitor v7 zu unterstützen, und sicherte so die sichere Speicherung von Zeichenfolgenwerten auf iOS und Android. Diese Plugins sind ideal für die Speicherung von Anmeldeinformationen und JSON-Daten. Sie mögen jedoch die feinere Kontrolle fehlen, die native Lösungen bieten. Für Apps mit erweiterten Sicherheitsanforderungen auf Unternehmensebene könnten native Optionen wie iOS Keychain Services und Android Keystore APIs - oder verbesserte Werkzeuge wie Ionic’s Identity Vault - besser geeignet sein. Capacitor’s offizielles Dokumentation empfiehlt auch die Verwendung von native sicheren Speicher für sensible Daten, wie z.B. Verschlüsselungsschlüssel oder Sitzungstoken.

Bei der Bereitstellung von Live-Updates für Capacitor-Apps können Dienste wie Capgo Kann den Token-Sicherheit zusätzlich stärken. Capgos Ende-zu-Ende-Verschlüsselung sichert sicher, dass Updates – einschließlich solcher mit Sicherheitspatches oder Verbesserungen für die Token-Verwaltung – sicher geliefert werden, wodurch die Integrität Ihres Apps-Sicherheitsrahmens gewährleistet ist.

Token-Verwaltung und -Sicherheit

Die effektive Token-Verwaltung umfasst die Überwachung ihrer Erstellung, Ablauf und Widerruf. Entwickler müssen Systeme entwerfen, die einen Balance zwischen starken Sicherheitsmaßnahmen und einer reibungslosen Benutzererfahrung schaffen. Im Folgenden gehen wir auf Strategien für die Token-Ablaufzeit, -Widerruf und sichere Over-the-Air-(OTA)-Updates ein, um Ihnen dabei zu helfen, eine umfassende Token-Verwaltungsmethode zu erstellen.

Token-Ablaufzeit und -Refresh-Methode

Das Verwenden von kurzlebigen Zugriffstoken neben länger haltbaren Refresh-Tokens ist eine wichtige Praxis für sichere Token-Verwaltung. Zugriffstoken sollten innerhalb von 5-15 Minuten ablaufen, um das Risiko einer Missbrauch, wenn sie kompromittiert sind, zu minimieren. Andererseits können Refresh-Tokens für Tage oder Wochen gültig bleiben, sodass Benutzer ihre Sitzungen ohne häufige Wiederauthentifizierung aufrechterhalten können.

Die Token-Ablaufzeit spielt eine kritische Rolle bei der Sicherstellung und Effizienz von APIs [7]Indem man dies mit der Token-Rotation kombiniert – wobei zuvor ausgestellte Token ungültig gemacht werden –, wird ein zusätzlicher Schutzschirm geschaffen. Diese Methode minimiert die Schäden, die durch einen kompromittierten Refresh-Token verursacht werden, und kann auch dabei helfen, verdächtige Aktivitäten zu identifizieren, wie zum Beispiel die Wiederverwendung eines alten Tokens.

When Sie Mechanismen zum Aktualisieren konfigurieren, stellen Sie sicher, dass Token während des Aktualisierungsprozesses streng validiert werden. Verwenden Sie eine Ratebegrenzung, um gegen brute-force-Angriffe zu schützen, und verwenden Sie automatisierte Überwachung, um Anomalien zu erkennen, wie z.B. Aktualisierungsanfragen aus mehreren Orten gleichzeitig. Das Gleichgewicht zwischen Sicherheit und Leistung ist entscheidend, um Benutzersitzungen ohne Beeinträchtigung der Gesamterfahrung zu schützen.

Token widerrufen und ungültig machen

Obwohl die Ablaufzeit von Token von entscheidender Bedeutung ist, fügt die Token-Widerrufung einen weiteren Sicherheitsmechanismus hinzu, insbesondere in Szenarien wie Benutzerabmeldung, verlorenen Geräten oder vermuteten Sicherheitsverstößen. Obwohl stateless JWT-Zugriffstoken bis zum Ablaufdatum gültig bleiben, kann die effektive Verwaltung von Aktualisierungstokenen die Ausstellung neuer Zugriffstoken blockieren.

Token widerrufen, um unbefugten Zugriff auf sensitive Ressourcen zu verhindern [8]Um Token sofort ungültig zu machen, sollten Sie einen Serverseitigen Blacklist implementieren, der widerrufene Token verfolgt und sie während API-Anfragen überprüft. Darüber hinaus ermöglicht die Single Logout-Funktion (SLO) es Benutzern, mehrere Authentifizierungsessions in einem Schritt zu beenden, wodurch alle damit verbundenen Aktualisierungstoken in verbundenen Diensten ungültig gemacht werden.

Es ist auch wichtig, klare Protokolle für die Behandlung von kompromittierten Tokenen vorzuhalten. Diese Protokolle sollten sofortige Token-Widerrufung, automatisierte Sicherheitswarnungen, zeitnahe Benachrichtigungen an betroffene Benutzer und die Beendigung aller aktiven Sitzungen, die mit dem kompromittierten Token verbunden sind, umfassen.

Token sicher aktualisieren mit OTA-Systemen

Sobald Sie eine starke Token-Lebensdauer und -Rückrufstrategie etabliert haben, werden sichere Über-der-Luft-Updates (OTA) für die Wahrung der Token-Sicherheit bei sich ändernden Bedrohungen unerlässlich machen. OTA-Systeme ermöglichen Ihnen, Sicherheitspatches schnell zu deployen, API-Schlüssel zu rotieren, Zertifikate zu aktualisieren und die Validierungslogik zu feinabstimmen – alles ohne dass Benutzer manuell aktualisiert werden müssen.

Für Entwickler, die Capacitor verwenden, bieten Werkzeuge wie Capgo eine kompatible OTA-Lösung mit Ende-zu-Ende-Verschlüsselung. Dies sichert sicher die Übertragung von Sicherheitsupdates an Geräte und entspricht den Richtlinien von Apple und Android. Solche Systeme sind insbesondere für die Behandlung dringender Sicherheitslücken besonders nützlich.

Um die Token-Sicherheit weiter zu verbessern, überwachen Sie Ihre Apps und Infrastruktur auf sich entwickelnde Bedrohungen. Verwenden Sie OTA-Systeme, um runtime-gestützte Verteidigungsmaßnahmen und andere fortschrittliche Maßnahmen zu deployen, die sofort verdächtige Benutzer oder Geräte blockieren können, während gleichzeitig für legitime Benutzer ein ununterbrochener Service gewährleistet wird.

Vergleich von Token-Speicheroptionen: Sicherheit vs. Benutzerfreundlichkeit

Bei der Entscheidung, wie Tokens sicher zu speichern sind, geht es darum, den richtigen Balance zwischen Sicherheit und Benutzerfreundlichkeit zu finden. Ihre Wahl kann direkt Auswirkungen auf die Anfälligkeit Ihres Apps für Angriffe und die Gesamterfahrung der Benutzer haben. Lassen Sie uns die Vor- und Nachteile verschiedener Speichermethoden analysieren.

Speicherung in der Anwendungs-Memory vs. Persistente Speicherung

Speicherung in der Anwendungs-Memory speichert Tokens in der Anwendungs-Memory oder JavaScript-Variablen, was eine sehr sichere Option darstellt. Da Tokens nicht in der persistente Speicherung geschrieben werdenAngreifer, die traditionelle XSS-Angriffe durchführen, haben weniger Möglichkeiten, auf sie zuzugreifen.

Aber es gibt einen Haken: Tokens, die in der Speicherung gespeichert sind, verschwinden, wenn die Benutzer die Seite neu laden oder einen neuen Tab öffnen.

Die andere Seite der Medaille ist: persistente Speicherung - Methoden wie lokale Speicherung, Sitzungs-Speicherung oder Cookies - bieten eine glattere Erfahrung. [9].

Tokens, die persistente Speicherung nutzen, ermöglichen es Benutzern, ihre Browser zu schließen, später zurückzukehren und dort weiterzumachen, ohne wieder einzuloggen. [4]Dieser Komfort geht jedoch mit Sicherheitsrisiken einher.

For mobile apps using Capacitor, Cookies, die zusätzliche Konfigurationsmöglichkeiten bieten, können auch von CSRF-Angriffen betroffen sein, wenn sie nicht mit geeigneten Flags gesichert sind. Für mobile Apps, die __CAPGO_KEEP_0__ verwenden, [9]Web Worker [9]bieten einen Kompromiss. Sie laufen in einem separaten globalen Scope und verbessern die Sicherheit, während sie die Benutzerfreundlichkeit besser als die in-Memory-Speicherung bieten. Wenn Web Worker nicht eine Option sind, können JavaScript-Schließungen private Methoden simulieren, um einen zusätzlichen Schutzschicht zu bieten. Mobile-Entwickler müssen auch die Vor- und Nachteile von nativer sicheren Speicherung gegenüber benutzerdefinierten Verschlüsselung abwägen.

Keychain/Keystore vs. Benutzerdefinierte Verschlüsselung

Für mobile Anwendungen ist plattform-native sichere Speicherung wie iOS Keychain und Android Keystore ist die Goldwelle. Diese Lösungen bieten eine Hardware-gesicherte Sicherheit, wodurch die Token-Extraktion viel schwieriger wird.

Die Schönheit dieser nativen Werkzeuge liegt in ihrer Einfachheit. Sie sind in die Betriebssysteme integriert, sodass Entwickler nicht umfangreiche code schreiben müssen, um sie zu implementieren. Zudem unterstützen sie Funktionen wie biometrische Authentifizierung und zentrale Zugriffsberechtigungsverwaltung, die sowohl die Sicherheit als auch die Benutzerfreundlichkeit verbessern [10].

Benutzerdefinierte Verschlüsselung, im Gegensatz dazu, bietet Entwicklern mehr Kontrolle, aber kommt mit erheblichen Herausforderungen. Die Sicherheit hängt ausschließlich davon ab, wie gut die Verschlüsselung implementiert ist und wie sicher die Schlüssel verwaltet werden [10]Viele Entwickler überschätzen die Komplexität der Erstellung sicherer Systeme, was zu Schwachstellen führen kann. Und da sich kryptographische Standards entwickeln, erfordern benutzerdefinierte Lösungen laufende Updates und Wartung - was sie, außerhalb Ihres Teams mit tiefem Expertenwissen in diesem Bereich, ressourcenschwer macht.

Sicherheits- vs. Benutzerfreundlichkeits-Vergleichstabelle

Speicherungsmethode Sicherheitsstufe Benutzbarkeit ImplementierungsKomplexität Beste Verwendungsfälle
Speicherung in der Speicherung Hoch Niedrig (verloren bei Neuladen) Niedrig Hohe Sicherheit, kurze Sitzungen
Lokale Speicherung Niedrig Hoch Niedrig Nur nicht-sensibler Daten
Sitzungs-Speicherung Mittel Hoch Niedrig Temporäre Sitzungsdaten
Sichere Cookies Hoch (mit richtigen Flaggen) Mittel Mittel Webanwendungen mit Server-Unterstützung
__CAPGO_KEEP_0__ Sehr Hoch Mittel Niedrig iOS-native/hybride Apps
__CAPGO_KEEP_0__ Sehr Hoch Mittel Niedrig Android-native/hybride Apps
Benutzerdefinierte Verschlüsselung Variable Mittel Hoch Besondere Sicherheitsanforderungen

Diese Tabelle hebt hervor, wie Plattform-native Speicheroptionen wie Keychain und Keystore eine starke Combination aus Sicherheit und einfacher Implementierung bieten, was sie für mobile Anwendungen ideal macht. Sie bieten eine robuste Schutzfunktion ohne dass Entwickler kryptographische Kenntnisse erwerben müssen.

Für Capacitor Entwickler ist die Verwendung sicherer Speicherplugins zum Zugriff auf diese native Lösungen eine gute Entscheidung. Sie kombinieren die hardware-gestützte Sicherheit von Keychain und Keystore mit der plattformübergreifenden Flexibilität, die Capacitor bietet.

Letztendlich sollte Ihre Wahl der Token-Speicherung Ihren Anwendungs-Threat-Modell und den Nutzererwartungen entsprechen. Anwendungen, die sensible Daten wie Gesundheits- oder Finanzanwendungen verarbeiten, sollten Sicherheit an erster Stelle priorisieren. Im Gegensatz dazu können Anwendungen mit Kundenfokus leichtere Risiken in Kauf nehmen, um eine glattere Benutzererfahrung zu liefern. Durch das Verständnis dieser Kompromisse können Sie die Speicherungsmethode wählen, die Ihren Bedürfnissen am besten entspricht.

Hauptsächliche Ergebnisse

Die Sicherung von Benutzerdaten durch sichere Token-Speicherung ist nicht nur ein technisches Best Practice - es ist eine Notwendigkeit, um die Integrität Ihrer Anwendung aufrechtzuerhalten. Mit 81% der bestätigten Sicherheitsverletzungen im Jahr 2022 waren auf schwache, wiederholte oder gestohlene Passwörter zurückzuführen [12]müssen sich mobile Entwickler auf robuste Token-Sicherheitsmaßnahmen konzentrieren.

Zusammenfassung der besten Praktiken

Ein effektiver Token-Sicherheitsplan beruht auf mehreren Schichten der Schutzfunktion. Beginnen Sie damit, platform-native Sicherheitslager, wie z. B. iOS-Schlüsselkasten und Android-Keystore, die eine hardwaregestützte Sicherheit bieten.

Vermeiden Sie es, Token in LocalStorage oder IndexedDB zu speichern [2], da diese Methoden anfällig für XSS-Angriffe sind. Statt dessen setzen Sie auf sichere Speicheroptionen, die in das Betriebssystem eingebettet sind, und gewährleisten so eine eingeschränkte Zugriffsmöglichkeit. Für Entwickler, die Capacitor verwenden, bieten sichere Speicher-Plugins eine Möglichkeit, auf native Schutzmaßnahmen zuzugreifen, während gleichzeitig eine Plattformübergreifende Funktionalität gewährleistet ist.

Die Verwaltung des Token-Lebenszyklus ist ein weiterer kritischer Aspekt. Regelmäßig ablaufen lassen Sie Tokens und implementieren Sie eine Rotation von Refresh-Tokens, indem Sie bei jeder Anforderung eines Access-Tokens einen neuen Refresh-Token generieren [3]. Kürzere Lebensdauern von Refresh-Tokens reduzieren das Risiko einer Missbrauch in Fällen von Diebstahl.

Halten Sie Signierungs-Schlüssel vertraulich, teilen Sie sie nur mit wesentlichen Diensten [1]. Vermeiden Sie unsichere Praktiken wie das Loggen von Token oder das Einbetten von Token in URLs [11]. Diese Schritte stärken Ihre Token-Verwaltungsstrategie gemeinsam.

Nächste Schritte für Entwickler

Hier erfahren Sie, wie Sie diese Best Practices umsetzen können, um die Token-Sicherheit Ihrer App zu verbessern:

  • Überprüfen Sie Ihre Token-Speicherungsmethoden. If Sie mit unsicherem Lösungen wie LocalStorage arbeiten, priorisieren Sie die Migration zu plattform-spezifischen sicheren Speicherlösungen. Für Capacitor-Apps übernehmen Sie sichere Speicherplugins, um native Schutzmechanismen effektiv zu nutzen.

  • Implementieren Sie eine schichtweise Authentifizierung. Verwenden Sie einfache Methoden für geringe Risikobereiche, aber fordern Sie Multi-Faktor-Authentifizierung (MFA) oder Biometrie für sensitive Operationen. Laut Microsoft kann MFA 99,9 % der automatisierten Cyberangriffe blockieren. [12]Es ist jedoch zu berücksichtigen, dass sich die Benutzererfahrung beeinträchtigen kann - Studien zeigen, dass etwa ein Drittel der Benutzer MFA aus Gründen vermeiden, die sich als unangenehm erweisen. [12].

  • Verwenden Sie OTA (over-the-air)-Update-Systeme Für sichere und sofortige Rollouts. Werkzeuge wie Capgo ermöglichen verschlüsselte Live-Updates für Capacitor-Apps, sodass Sicherheitspatches an die Benutzer gelangen, ohne dass dabei die Token-Sicherheit während der Updates gefährdet wird.

  • Konzentrieren Sie sich auf die Token-Lebenszyklus-Verwaltung. Regelmäßige Ablauf-, Aktualisierungs- und Widerrufprotokolle sind unerlässlich. Stellen Sie sicher, dass Ihre Implementierung diese Grundsätze widerspiegelt, um Risiken zu minimieren.

  • Überwachen Sie Authentifizierungsverhaltensmuster. Beobachten Sie ungewöhnliche Aktivitäten und passen Sie Ihre Sicherheitsmaßnahmen an, um sich an sich ändernden Bedrohungen anzupassen. [13]. Regelmäßige Sicherheitsaudits sollten ein fester Bestandteil Ihres Entwicklungsprozesses sein, nicht ein Nachdenken.

Während sich die mobile Sicherheit weiterentwickelt, bleiben die Grundprinzipien gleich: Verwenden Sie native sichere Speicher, verwalten Sie Token-Lifecycles effektiv und stellen Sie sicher, dass Verschlüsselung nicht verhandelbar ist. Mit 81% der Smartphones sind jetzt mit Biometrik ausgestattet Stand 2022 [12], haben Entwickler mächtige Werkzeuge, um sowohl die Sicherheit als auch die Benutzererfahrung zu verbessern.

Ihre Benutzer vertrauen Ihnen ihre Daten an - stellen Sie sicher, dass Ihre Token-Speicherpraktiken den höchsten Sicherheitsstandards entsprechen.

FAQs

::: faq

Warum sollten mobile Entwickler iOS Keychain und Android Keystore für sichere Token-Speicherung verwenden?

Die Verwendung von plattform-native sicheren Speichern, wie iOS Keychain und Android Keystore, spielt eine entscheidende Rolle bei der Sicherung sensibler Daten innerhalb von mobilen Apps. Diese Werkzeuge verfügen über eingebaute Verschlüsselung, sodass Tokens vor unbefugtem Zugriff geschützt bleiben. Darüber hinaus integrieren sie Benutzerauthentifizierung, wobei Benutzer ihre Identität bestätigen müssen, bevor sie Zugriff auf gespeicherte Daten erhalten. Dies fügt einen zusätzlichen Sicherheitslevel hinzu.

Eines ihrer herausragenden Merkmale ist, dass kryptographische Schlüssel __CAPGO_KEEP_0__nicht exportierbar sind. Mit anderen Worten, diese Schlüssel können nicht vom Gerät entfernt werden, was den Risikobetrag erheblich verringert, dass sie kompromittiert werden. Da diese Systeme dazu entworfen sind, sich reibungslos mit ihren jeweiligen Plattformen zu integrieren, können Entwickler sie mit Leichtigkeit implementieren, wobei sie sich die Mühe sparen, komplexe Verschlüsselungsprozesse manuell zu handhaben. Durch die Nutzung dieser Werkzeuge stärkt man nicht nur die App-Sicherheit, sondern hilft Entwicklern auch dabei, aktuelle Sicherheitsstandards und . :::

empfohlene Praktiken der Branche

::: faq

Was sind die besten Praktiken für die sichere Verwaltung von Token-Laufzeiten in mobilen Apps? Um Token-Laufzeiten in mobilen Apps sicher zu handhaben, sollten Entwickler sich an ein paar grundlegenden Praktiken halten. Beginnen Sie damit, z. B. solcher mit einer 15-minütigen Gültigkeit. Dies minimiert die Zeitfenster für Missbrauch, wenn ein Token kompromittiert wird. Um die Benutzerfreundlichkeit ohne Sicherheitsverlust zu wahren, implementieren Sie refresh-Tokens. Diese ermöglichen es, neue Tokens ohne ständiges Einloggen neu auszustellen.

Die ordnungsgemäße Speicherung von Tokens ist entscheidend, um unbefugten Zugriff zu verhindern. Verlassen Sie sich immer auf plattform-spezifische sichere Speichersolutions wie Keychain für iOS oder Android Keystore. Diese sind speziell darauf ausgelegt, sensible Daten zu schützen. Vermeiden Sie außerdem die Verwendung von Tokens, die in der App hartcodiert oder in Klartext gespeichert werden, da dies zu potenziellen Sicherheitsrisiken führen kann.

Durch die Implementierung dieser Praktiken können Entwickler die Sicherheit der Token-Verwaltung in mobilen Anwendungen verbessern und Benutzer vor potenziellen Schwachstellen schützen. :::

::: faq

Welche Herausforderungen können bei der Verwendung von benutzerdefinierten Verschlüsselungen für die Token-Speicherung auftreten, und wann sollte sie gegenüber native Lösungen in Betracht gezogen werden?

Bei der Speicherung von Tokens in mobilen Apps kann die Verwendung von benutzerdefinierten Verschlüsselungen ein Doppeltes Schwert sein. Während es möglicherweise wie eine maßgeschneiderte Lösung wirkt, die mehr Kontrolle bietet, bringt sie oft zusätzliche Komplexität, öffnet die Tür für potenzielle Sicherheitslücken und erfordert laufende Wartung, um sich mit neuen Bedrohungen auseinanderzusetzen. Im Gegensatz zu den in den Plattformen bereitgestellten Verschlüsselungstools fehlen benutzerdefinierte Lösungen typischerweise umfangreiche Tests, detaillierte Dokumentation und die Unterstützung einer starken Entwicklergemeinschaft. Dies kann das Debuggen und die Integration erheblich erschweren.

In solchen Fällen ist es für Entwickler jedoch wichtig, sich an besten Praktiken zu halten, um sicherzustellen, dass ihre Verschlüsselungsmethoden nicht nur sicher, sondern auch zuverlässig und mit Branchenstandards kompatibel sind. Überlegen Sie sorgfältig die Vor- und Nachteile, bevor Sie sich einer individuellen Verschlüsselungsanwendung zuwenden. :::

Weiterlesen von Secure Token Storage: Best Practices for Mobile Developers

Wenn Sie Secure Token Storage: Best Practices for Mobile Developers zum Planen von Sicherheit und Compliance verwenden, verbinden Sie es mit Verschlüsselung für die Implementierungsdetails in Verschlüsselung, Compliance für die Implementierungsdetails in Compliance Capgo Sicherheits-Scanner für den Produktworkflow in Capgo Sicherheits-Scanner Capgo Sicherheit für den Produktworkflow in Capgo Sicherheit und Capgo Trust Center für den Produktworkflow in Capgo Trust Center.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Web-Schicht lebt, liefern Sie die Reparatur über Capgo anstatt Tage auf die Genehmigung der App-Store-Abteilung zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Los geht's

Aktuelle Beiträge aus unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.