Zum Hauptinhalt springen

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

Lernen Sie die besten Praktiken für die sichere Speicherung von Authentifizierungstoken in mobilen Apps, um Benutzerdaten vor Sicherheitsverletzungen und Angriffen zu schützen.

Martin Donadieu

Martin Donadieu

Content Marketer

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

Die sichere Speicherung von Authentifizierungstoken ist für die Mobilitätsicherheit 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:

Hauptsächliche Ergebnisse:

  • Verwenden Sie Plattform-aktive sichere Speicherung: Speichern Sie Token im iOS-Schlüsselkasten oder Android-Keystore für hardwaregestützte Sicherheit.
  • : Verwenden Sie Werkzeuge wie(Android) oder EncryptedSharedPreferences (iOS) für sichere Verschlüsselung. CryptoKit : Verwenden Sie kurzlebige Token und Token-Refresh-Rotation, um das Risiko zu reduzieren.
  • : Verwenden Sie immer HTTPS und implementieren Sie Zertifikatspinning, um eine Interception zu verhindern.Hinweis: Die folgenden Schritte sind nicht erforderlich, um die Sicherheit zu gewährleisten.
  • Verwenden Sie die Plattform-aktive sichere Speicherung, um die Token sicher zu speichern.Verwenden Sie die Plattform-aktive sichere Speicherung, um die Token sicher zu speichern.
  • Tokenlebenzyklen verwalten: Regelmäßig ablaufen lassen, aktualisieren und widerrufen Sie Token, um den Schaden durch Diebstahl zu minimieren.

Schnelle Vergleich von Speichermethoden:

SpeichermethodenSicherheitsstufeBenutzbarkeitBeste Verwendungsfälle
Speicherung in der SpeicherungHochNiedrigKurze Sitzungen, hohe Sicherheitsanforderungen
Lokale SpeicherungNiedrigHochNicht-sensibler Daten
Sichere CookiesHochMittelWeb-Anwendungen mit serverseitigen Steuerungen
iOS-SchlüsselkastenSehr HochMitteliOS-Anwendungen, die sensible Token speichern
Android-SchlüsselkastenSehr HochMittelAndroid-Anwendungen, die sichere Speicherung erfordern
Benutzerdefinierte VerschlüsselungVariableMittelBesondere Sicherheitsanforderungen

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

Faux Disk Encryption - Realitäten der sicheren Speicherung auf mobilen Geräten - Daniel Mayer & Drew Suarez

Grundregeln für sichere Token-Speicherung

Die Sicherung von Token erfordert einen schichtweisen Ansatz zur Sicherheit. Durch die Combination mehrerer Sicherheitsmaßnahmen stellen Sie sicher, dass, wenn ein Maßnahmenversuch scheitert, andere Maßnahmen noch immer sensible Daten schützen. Für Capacitor-Anwendungen ist die Einhaltung dieser Praktiken unerlässlich, um die Token-Sicherheit über Plattformen aufrechtzuerhalten.

HTTPS und Zertifikatsbindung verwenden

Die HTTPS-Verschlüsselung ist Ihre erste Verteidigungslinie gegen Token-Interception. Jede Interaktion zwischen Ihrer App und dem Server muss HTTPS verwenden, um Daten im Transit zu verschlüsseln und so der Ausbeutung durch Angreifer vorzubeugen.

Um dies weiter zu stärken, implementieren Sie Zertifikatsbindung. 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 binden, 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 binden.” – OWASP-Pin-Cheat-Sheet [5]

Ein realistisches Beispiel: Twitter führte die Zertifikatsbindung in seinen mobilen Apps ein, nachdem es Man-in-the-Middle-(MitM)-Angriffe erlebt hatte. Ihr Team integrierte das Server-Zertifikat öffentlicher Schlüssel direkt in die App. Wenn sich Benutzer verbindeten, überprüfte die App das Zertifikat gegen das gepinnte. Wenn es keinen Match gab, wurde die Verbindung sofort beendet. Diese Vorgehensweise reduzierte die MitM-Angriffe erheblich und stärkte die Benutzerzufriedenheit auf der Plattform [5].

Sie können zwischen Zertifikatsbindung (Überprüfung des gesamten Zertifikats) für maximalen Sicherheitslevel oder Öffentlicher Schlüsselbindung (Überprüfung nur des öffentlichen Schlüssels) für größere Flexibilität bei Zertifikats-Neuvergaben wählen. Tools wie OkHttp für Android und für iOS vereinfachen diese Techniken die Implementierung Alamofire Sobald sichere Übertragungen eingerichtet sind, ist der nächste Schritt die Minimierung der Tokenexposition. [5].

Tokenexposition minimieren

Die Reduzierung der Tokenexposition beinhaltet die Begrenzung sowohl des Umfangs als auch der Lebensdauer von Tokens. Die Idee ist einfach: Je kürzer die Gültigkeitsdauer eines Tokens 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 aufrechtzuerhalten, ohne lange gültige Zugriffstoken auf dem Gerät zu speichern. Diese Vorgehensweise sichert vor, dass gestohlene Tokens schnell nutzlos werden. Anwenden Sie das
  • Prinzip der geringsten Privilegien __CAPGO_KEEP_0__. Zum Beispiel, wenn ein Token nur zum Lesen von Benutzerprofildaten benötigt wird, erteilen Sie ihm keine Berechtigung, das Konto zu ändern oder Zugriff auf Zahlungsdaten zu erhalten.
  • Aktivieren Aktualisierung von Refresh-Tokens, wobei ein neues Refresh-Token bei jedem Einsatz zum Anfordern eines neuen Zugriffs-Tokens ausgestellt wird. Wenn ein Refresh-Token gestohlen wird, wird es nach dem Einsatz durch den legitimen App invalid, was die Risikowandlung reduziert [4].

Durch die Limitierung der Token-Exposition verringern Sie die Chancen eines erheblichen Schadens durch einen Vorfall. Als nächstes sichert die Verschlüsselung die Tokens ab, selbst wenn ein Gerät physisch kompromittiert ist.

Verschlüsselung von Tokens im Ruhezustand

Verschlüsselung im Ruhezustand sichert Tokens, die auf dem Gerät gespeichert sind. Selbst wenn ein Gerät verloren, gestohlen oder durch Malware kompromittiert wird, bleibt die Verschlüsselung sicher, dass die Tokens unlesbar bleiben.

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

  • Für Android: Verwenden 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, das SecureJWTStorage class kann sicher und verschlüsselt JWTs speichern und abrufen. EncryptedSharedPreferences ohne die Notwendigkeit komplexer kundenspezifischer Verschlüsselung code.
  • Für iOS: Der Schlüsselkasten bietet eine Hardware-Verschlüsselung für sichere Token-Speicherung. Entwickler können ein KeychainHelper class verwenden, um JWT-Tokens zu verwalten oder ein zusätzliches Sicherheitsniveau erreichen, indem sie die Tokens mit CryptoKit vor der Speicherung in dem Schlüsselkasten verschlüsseln. [4].

Beide Android- und iOS-Geräte nutzen Hardware-basierte 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.

Abschließend müssen klare Richtlinien für die Datenerhaltung festgelegt werden. Abgelaufene Tokens automatisch entfernen und sensitive Daten sicher von dem Gerät entfernen, wenn sie nicht mehr benötigt werden. Diese Praktiken stellen sicher, dass Tokens nur für die Zeit gespeichert werden, die absolut notwendig ist. [6].

Plattform-spezifische Token-Speicherungsmethoden

Jedes mobile Betriebssystem bietet eigene Werkzeuge für die Sicherung von Tokens, die sich an die Sicherheits- und Benutzererfahrungsnachfrage anpassen. Diese native Optionen bauen auf grundlegenden Praktiken wie HTTPS, Verschlüsselung und Expositionsbegrenzung auf, die in den vorherigen Abschnitten diskutiert wurden.

Android: Keystore und VerschlüsselteSharedPreferences

VerschlüsselteSharedPreferences

Android-Geräte bieten eine robuste Token-Schutzfunktion durch das Keystore-System und VerschlüsselteSharedPreferences. Das Keystore speichert kryptographische Schlüssel sicher in einem geschützten Umfeld, wodurch sie schwierig zu extrahieren sind und sie 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 Android 9 (API Ebene 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().

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

“Mit nur wenigen Zeilen von code können wir die Sicherheit erheblich verbessern durch die Verwendung von EncryptedSharedPreferences. Es ist eine leistungsstarke und einfach zu bedienende Lösung zur Sicherung sensibler Daten in Android-Anwendungen.”

Für beste Praktiken implementieren Sie Fehlerbehandlung, rotieren Sie Schlüssel alle 90–180 Tage und vermeiden Sie die Speicherung hochsensibler Daten (wie Kreditkartennummern) in SharedPreferences. Diese Daten sollten stattdessen auf sicheren Backends verarbeitet werden.

iOS: Keychain und Secure Enclave

Bei iOS hängt die Token-Sicherheit vom Keychain und Secure Enclaveab. Der Keychain ist ein sicheres Repository für sensible Daten, wie z.B. Passwörter und Token, mit AES-256-GCM-Verschlüsselung. Er verwendet ein Dual-Key-System: Eine Schlüssel für Metadaten und ein eindeutiger Schlüssel für jedes gespeicherte Item. Die Metadatenschlüssel werden durch den Secure Enclave geschützt, der sie für schnellere Abrufe im Cache speichert, während Geheimschlüssel einen Hin- und Rückweg zum Enclave für erhöhte Sicherheit erfordern. Der Keychain unterstützt auch die sichere Weitergabe von Items unter Apps von demselben Entwickler, die durch den securityd Daemon

Die 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 die Zugriffssteuerungslisten (ACLs) konfigurieren, um Face ID, Touch ID oder Passwortauthentifizierung mit Einstellungen wie kSecAttrAccessibleWhenUnlocked. Für noch strengere Sicherheit stellt die .whenPasscodeSetThisDeviceOnly Option sicher, dass Daten am Gerät verbleiben, was das Risiko unautorisierten Zugriffs reduziert. Stellen Sie sicher, dass Sie Randfälle wie Biometrie-Sperren oder Geräte-Neustarts sowie regelmäßige Überprüfungen von App-Berechtigungen und -Rechten handhaben.

CapacitorSecure Storage Plugin

Capacitor Framework Dokumentationswebsite

Für Apps, die auf mehreren Plattformen laufen, bietet Capacitor eine Secure Storage-Plugin die Token-Sicherheit ohne Plattform-spezifische code vereinfacht. Auf iOS speichert die 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 - nur zu Debugging-Zwecken.

Im Februar 2025 aktualisierte martinkasa die capacitor-secure-storage-plugin, um Capacitor v7 zu unterstützen, was die sichere Speicherung von Zeichenfolgenwerten auf iOS und Android sicherstellt. 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 Sicherheitsbedürfnissen auf Unternehmensebene bieten native Optionen wie iOS Keychain Services und Android Keystore APIs - oder verbesserte Werkzeuge wie Ionic’s Identitäts-Safe - könnte besser geeignet sein. Capacitor’s offizielles Dokumentation empfiehlt außerdem die Verwendung von native sicheren Speicher für sensitive Daten, wie z.B. Verschlüsselungsschlüssel oder Sitzungstoken.

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

Token-Verwaltung und -Sicherheit

Eine effektive Token-Verwaltung beinhaltet die Überwachung ihrer Erstellung, Ablauf und Widerrufung. 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 Token-Ablauf, Widerruf und sichere Over-the-Air-(OTA)-Updates ein, um Ihnen dabei zu helfen, einen umfassenden Token-Verwaltungansatz zu erstellen.

Token-Ablauf und -Refresh-Methode

Die Verwendung 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 reduzieren. Andererseits können Refresh-Tokens für Tage oder Wochen gültig bleiben, sodass Benutzer ihre Sitzungen ohne häufige Wiederauthentifizierung aufrechterhalten können.

Der Token-Ablauf spielt eine kritische Rolle bei der Sicherstellung von APIs und Effizienz [7]Indem man dies mit Tokenrotation kombiniert - wobei zuvor ausgegebene Token ungültig gemacht werden - wird ein zusätzlicher Schutzschicht hinzugefügt. Diese Methode minimiert die durch einen kompromittierten Refresh-Token verursachte Schäden und kann auch helfen, verdächtige Aktivitäten wie die Wiederholung eines alten Tokens zu erkennen.

Wenn man Mechanismen zur Erneuerung von Tokens entwirft, sollte man sicherstellen, dass die Tokens während des Erneuerungsprozesses streng validiert werden. Mit der Implementierung einer Rate-Limits-Strategie kann man sich gegen brute-force-Angriffe schützen und mit der automatischen Überwachung verdächtige Aktivitäten wie z.B. die Abfrage von Refresh-Token aus verschiedenen Orten gleichzeitig erkennen.

Token abrufen und ungültig machen

Zwar ist die Token-Abgeltung wichtig, aber die Token-Revokation fügt einen zusätzlichen Schutzschicht hinzu, insbesondere in Szenarien wie Benutzer-Abmeldung, verlorenen Geräten oder vermuteten Sicherheitsverstößen. Obwohl stateless JWT-Zugriffs-Token bis zum Ablaufdatum gültig bleiben, kann die effektive Verwaltung von Refresh-Tokenen die Ausgabe neuer Zugriffs-Token blockieren.

Die sofortige Revokation von Tokens verhindert unbefugten Zugriff auf sensitive Ressourcen. [8]Um Tokens sofort ungültig zu machen, kann man einen Serverseitigen Blacklist implementieren, der ungültige Tokens verfolgt und sie während API-Anfragen überprüft. Darüber hinaus ermöglicht die Single Logout-Funktion (SLO) den Benutzern, mehrere Authentifizierungs-Sitzungen mit einem einzigen Vorgang zu beenden, wodurch alle damit verbundenen Refresh-Token in verbundenen Diensten ungültig gemacht werden.

Es ist auch wichtig, klare Protokolle für die Behandlung von kompromittierten Token zu haben. Diese Protokolle sollten sofortige Token-Rücknahme, automatisierte Sicherheitswarnungen, rechtzeitige Benachrichtigungen an betroffene Benutzer und die Beendigung aller aktiven Sitzungen, die an das kompromittierte Token gebunden sind, umfassen.

Sichere Token-Updates mit OTA-Systemen

Sobald Sie ein starkes Token-Lebenszyklus- und Rucknahme-Strategie etabliert haben, werden sichere über die Luft (OTA) Updates für die Wahrung der Token-Sicherheit bei sich ändernden Bedrohungen unerlässlich. 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 Updates durchführen 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 die sichere Lieferung von Sicherheitsupdates an Geräte und entspricht den Richtlinien von Apple und Android. Solche Systeme sind insbesondere für die Behandlung von dringenden Sicherheitslücken nützlich.

Um die Token-Sicherheit weiter zu verbessern, sollten Sie Ihre Apps und Ihre Infrastruktur auf sich entwickelnde Bedrohungen überwachen. Verwenden Sie OTA-Systeme, um runtime-gestützte Verteidigungen und andere fortschrittliche Maßnahmen auszurollten, die sofortige Blockierung von verdächtigen Benutzern oder Geräten ermöglichen, während gleichzeitig für legitime Benutzer ein ununterbrochener Service gewährleistet wird.

Vergleich von Token-Speicheroptionen: Sicherheit vs. Benutzerfreundlichkeit

Wenn Sie sich für die sichere Speicherung von Token entscheiden, 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 des Benutzers haben. Lassen Sie uns die Vor- und Nachteile verschiedener Speichermethoden analysieren.

Speicherung in der Anwendungsmemorie gegenüber persistenter Speicherung

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

Aber es gibt einen Haken: Token, die in der Memorie gespeichert sind, verschwinden, wenn Benutzer die Seite neu laden oder einen neuen Tab öffnen. Dies macht die Speicherung in der Memorie weniger praktisch für Web-Apps, bei denen Benutzer eine nahtlose Browsing-Erfahrung erwarten.

Auf der anderen Seite persistente Speicherung - Methoden wie lokale Speicherung, Sitzungs-Speicherung oder Cookies - bieten eine glattere Erfahrung. Token, die persistente Speicherung zulassen, ermöglichen es Benutzern, ihre Browser zu schließen, später zurückzukehren und dort weiterzumachen, wo sie aufgehört haben, ohne sich erneut anmelden zu müssen [9].

Aber diese Bequemlichkeit geht mit Sicherheitsrisiken einher. Persistente Speicherung ist anfälliger für XSS-Angriffe, bei denen schädliche Skripte Token aus lokalen oder Sitzungs-Speicherung stehlen können [4]. Cookies, die zusätzliche Konfigurationsmöglichkeiten bieten, können auch von CSRF-Angriffen betroffen sein, wenn sie nicht mit geeigneten Flags gesichert werden.

Für mobile Apps, die Capacitor verwenden Web-Arbeiter Bieten Web-Arbeiter einen Kompromiss. Sie laufen in einem separaten globalen Kontext und verbessern die Sicherheit, während sie die Benutzerfreundlichkeit besser als die Speicherung in der Speicherung aufrechterhalten [9]Wenn Web-Arbeiter keine Option sind, können JavaScript-Schließungen private Methoden simulieren, um einen zusätzlichen Schutzschicht hinzuzufügen [9]Mobile-Entwickler müssen auch die Vor- und Nachteile von nativer sicheren Speicherung gegenüber der eigenen Verschlüsselung abwägen

Schlüsselkette/Keystore vs. Benutzerdefinierte Verschlüsselung

Für mobile Anwendungen Die Plattform-spezifische sichere Speicherung wie iOS-Schlüsselkette und Android-Keystore ist die Goldwährung. Diese Lösungen bieten eine Hardware-gesicherte Sicherheit, die den Token-Abzug erheblich erschwert

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

Benutzerdefinierte Verschlüsselung, andererseits, bietet Entwicklern mehr Kontrolle, aber sie gehen mit erheblichen Herausforderungen ein. 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. Da sich kryptographische Standards weiterentwickeln, erfordern benutzerdefinierte Lösungen laufende Updates und Wartung - was sie, außerhalb Ihres Teams, ohne tiefes Fachwissen in diesem Bereich, zeitaufwändig macht.

Sicherheit vs. Benutzbarkeit Vergleichstabelle

SpeicherungsmethodeSicherheitsstufeBenutzbarkeitImplementierungskomplexitätBeste Verwendungsfälle
In-Memory-SpeicherungHochNiedrig (verloren bei Neuladen)NiedrigHochsicher, kurze Sitzungen
Lokales SpeicherNiedrigHochNiedrigNur nicht-sensitive Daten
Sitzungs-SpeicherMittelHochNiedrigTemporäre Sitzungsdaten
__CAPGO_KEEP_0__Hoch (mit geeigneten Flaggen)MittelMittelWebanwendungen mit Serverunterstützung
iOS-SchlüsselkastenSehr HochMittelNiedrigiOS-native/Hybrid-Apps
Android-SchlüsselkastenSehr HochMittelNiedrigAndroid-native/hybride Apps
Benutzerdefinierte VerschlüsselungVariableMittelHochBesondere Sicherheitsanforderungen

Diese Tabelle hebt die Vorteile von Plattform-spezifischen Speicheroptionen wie Keychain und Keystore hervor, die eine starke Combination aus Sicherheit und einfacher Implementierung bieten und daher ideal für mobile Anwendungen sind. Sie bieten eine robuste Schutzausstattung ohne, dass Entwickler kryptographische Kenntnisse erwerben müssen.

Für Capacitor-Entwickler ist die Verwendung sicherer Speicher-Plugins, um auf diese native Lösungen zuzugreifen, eine gute Entscheidung. Sie kombinieren die hardware-basierte Sicherheit von Keychain und Keystore mit der plattformübergreifenden Flexibilität, die Capacitor bietet.

Letztendlich sollte Ihre Wahl der Token-Speicherung mit Ihrem Apps-Sicherheitsmodell und den Erwartungen Ihrer Benutzer übereinstimmen. Anwendungen, die sensible Daten wie Gesundheits- oder Finanzanwendungen verarbeiten, sollten Sicherheit an erster Stelle priorisieren. Im Gegensatz dazu können Verbraucherfacing-Anwendungen leicht höhere 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

Schützen Sie Benutzerdaten durch sichere Token-Speicherung nicht nur als technische Empfehlung, sondern als Notwendigkeit für die Aufrechterhaltung der Integrität Ihrer App. Mit 81% der bestätigten Vorfälle 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 Schutzschichten. Beginnen Sie damit, plattform-native sichere Speicherung zu verwenden, wie z.B. iOS Keychain und Android Keystore, die eine Hardware-gesicherte Sicherheit bieten.

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

Die Token-Lebensdauer-Verwaltung ist ein weiterer kritischer Aspekt. Regelmäßig ablaufen lassen Sie Tokens und implementieren Sie die Rotation von Refresh-Tokens, indem Sie bei jeder Anforderung eines Zugriffstokens ein neues Refresh-Token generieren. [3]. Kürzere Refresh-Token-Laufzeiten reduzieren das Risiko einer Missbrauch im Falle eines Diebstahls.

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 ihnen in URLs [11]. Diese Schritte stärken Ihre Token-Verwaltungsstrategie collective.

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 you’re using insecure solutions like LocalStorage, prioritize migrating to platform-native secure storage. For Capacitor apps, adopt secure storage plugins to utilize native protections effectively.

  • Für __CAPGO_KEEP_0__-Apps sollten Sie sichere Speicher-Plugins verwenden, um native Schutzmechanismen effektiv zu nutzen. Implementieren Sie eine schichtweise Authentifizierung. Verwenden Sie einfache Methoden für geringe Risikohandlungen, aber erfordern Sie Multi-Faktor-Authentifizierung (MFA) oder Biometrie für sensitive Operationen. [12]Laut Microsoft kann MFA 99,9% der automatisierten Cyberangriffe blockieren. [12].

  • Denken Sie jedoch an die Benutzererfahrung - Studien zeigen, dass etwa ein Drittel der Benutzer MFA aus Unannehmlichkeiten vermeidet. for secure and immediate rollouts. Tools like Capgo enable encrypted live updates for Capacitor apps, ensuring that security fixes reach users without compromising token safety during updates.

  • Tools wie __CAPGO_KEEP_0__ ermöglichen verschlüsselte Live-Updates für __CAPGO_KEEP_1__-Anwendungen, sodass Sicherheitspatches ohne Kompromisse der Token-Sicherheit während der Updates an die Benutzer gelangen. Konzentrieren Sie sich auf die Verwaltung des Token-Lebenszyklus.

  • Regelmäßige Ablauf-, Aktualisierungs- und Widerrufprotokolle sind unerlässlich. Stellen Sie sicher, dass Ihre Implementierung diese Prinzipien widerspiegelt, um Risiken zu minimieren. Überwachen Sie Authentifizierungsverhaltensmuster. [13]Bleiben Sie auf der Hut vor ungewöhnlicher Aktivität und passen Sie Ihre Sicherheitsmaßnahmen anhand sich ändernder Bedrohungen an.

Regelmäßige Sicherheitsaudits sollten ein fester Bestandteil Ihres Entwicklungsprozesses sein und nicht ein Nachdenken. Während sich die mobile Sicherheit weiterentwickelt, bleiben die grundlegenden Prinzipien gleich: Verwenden Sie native sichere Speicherung, verwalten Sie den Token-Lebenszyklus effektiv und stellen Sie sicher, dass Verschlüsselung unverhandelbar ist. Mit 81% der Smartphones sind nun mit Biometrie ausgestattet [12]als von 2022

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.

::: faq

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

Die Verwendung von plattform-spezifischen 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, wodurch Benutzer ihre Identität bestätigen müssen, bevor sie auf gespeicherte Daten zugreifen können. Dies fügt einen zusätzlichen Sicherheitslevel hinzu.

Eines ihrer herausragenden Merkmale ist, dass kryptographische Schlüssel nicht exportierbarsind. Mit anderen Worten, diese Schlüssel können nicht vom Gerät entfernt werden, was das Risiko erheblich verringert, dass sie kompromittiert werden. Da diese Systeme dazu entworfen wurden, sich reibungslos mit ihren jeweiligen Plattformen zu integrieren, können Entwickler sie mit Leichtigkeit implementieren, ohne sich um die Komplexität von manuellen Verschlüsselungsprozessen kümmern zu müssen. Durch die Nutzung dieser Werkzeuge stärken Entwickler nicht nur die Sicherheit ihrer Apps, sondern helfen ihnen auch, aktuelle Sicherheitsstandards und Richtlinien einzuhalten branchenempfohlene Praktiken. :::

::: 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 wenigen grundlegenden Praktiken halten. Beginnen Sie damit, kurzlebige Token, wie z.B. solche mit einer 15-minütigen Ablaufzeit, zu verwenden. Dies minimiert die Zeitfenster für eine missbräuchliche Nutzung, wenn ein Token kompromittiert ist. Um die Benutzerfreundlichkeit ohne Sicherheitsverlust zu gewährleisten, implementieren Sie aktualisierbare Token. Diese ermöglichen es, neue Token ohne ständige Anforderung von Benutzeranmeldungen auszugeben.

Die ordnungsgemäße Speicherung von Token ist entscheidend, um unbefugten Zugriff zu verhindern. Verlassen Sie sich immer auf plattform-spezifische sichere Speicherlösungen, wie Keychain für iOS oder Android Keystore. Diese sind speziell entwickelt, um sensible Daten zu schützen. Vermeiden Sie außerdem die Verwendung von Tokens in der App oder die Speicherung in plaintext, da dies mögliche Sicherheitsrisiken aufweist.

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üsselungsmethoden für die Token-Speicherung auftreten, und wann sollte sie gegenüber native Lösungen bevorzugt werden?

Bei der Speicherung von Tokens in mobilen Apps kann die Verwendung von benutzerdefinierten Verschlüsselungsmethoden ein doppeltes Schwert sein. Während es scheint, als könnten benutzerdefinierte Lösungen mehr Kontrolle bieten, bringen sie oft zusätzliche Komplexität, öffnen sie Sicherheitslücken und erfordern laufende Wartung, um sich mit neuen Bedrohungen auseinanderzusetzen. Im Gegensatz zu den in den Plattformen bereitgestellten Verschlüsselungstools fehlen benutzerdefinierte Lösungen oft umfangreiche Tests, detaillierte Dokumentation und die Unterstützung einer starken Entwicklergemeinschaft. Dies kann das Debuggen und die Integration erheblich erschweren.

Es gibt jedoch Situationen, in denen benutzerdefinierte Verschlüsselung unvermeidlich wird - wie bei der Verarbeitung extrem sensibler Daten oder bei der Erfüllung strenger regulatorischer Anforderungen, die standardisierte Tools nicht erfüllen können. In diesen Fällen ist es entscheidend für Entwickler, sich an besten Praktiken zu halten, um sicherzustellen, dass ihre Verschlüsselungsmethoden sind nicht nur sicher, sondern auch zuverlässig und den Branchenstandards entsprechend.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Weblayer live ist, können Sie die Reparatur über Capgo liefern, anstatt Tage auf die Genehmigung durch den App-Store zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen den normalen Review-Prozess verfolgen.

Loslegen

Neueste Beiträge aus unserem Blog

Capgo bietet Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle Mobil-App zu erstellen.