Proton Authenticator ist eine Open-Source-Zwei-Faktor-Authentifizierungs-(2FA)-Authenticator-App, die zeitbasierte Einmalpasswort-(TOTP)-Codes auf deinem Gerät generiert und dir ermöglicht, mit einer zusätzlichen Sicherheitsebene auf Online-Dienste zuzugreifen. Sie verwendet dieselbe erprobte Verschlüsselung, die den Rest des Proton-Ökosystems sichert. Proton Authenticator ist einzigartig, da er von Grund auf so konzipiert wurde, dass er auf fast jeder Plattform verfügbar ist, während er deine Privatsphäre wahrt und dir die volle Kontrolle über deine Daten gibt.

Im Gegensatz zu anderen Authenticator-Apps sichert Proton Authenticator deine Daten mit Ende-zu-Ende-Verschlüsselung, selbst wenn du die Gerätesynchronisierung aktivierst.

Dies bedeutet, dass Proton Authenticator verhindert, dass irgendjemand, einschließlich Proton selbst, erfährt, bei welchen Online-Diensten du Konten hast. Diese Informationen können, ähnlich wie deine E-Mails oder dein Browserverlauf, viel über dich preisgeben, und ihr Schutz ist für die Wahrung deiner Privatsphäre unerlässlich.

Die Ende-zu-Ende-Verschlüsselung von Proton Authenticator garantiert, dass alle kryptografischen Operationen, einschließlich Schlüsselerzeugung und Datenverschlüsselung, lokal auf deinem Gerät durchgeführt werden. Das bedeutet, dass auf deine unverschlüsselten Daten nicht von Proton zugegriffen oder diese mit Dritten geteilt werden können. Proton-Server haben niemals Zugriff auf deine unverschlüsselten Daten, einschließlich deines Proton Account-Passworts.

Verschlüsselungsmodell

Proton Authenticator verfolgt einen umfassenden Ansatz, um maximale Sicherheit und Privatsphäre für alle Benutzerdaten zu gewährleisten. Alle kryptografischen Operationen erfolgen lokal auf deinem Gerät, und alle an den Server übertragenen Daten sind immer verschlüsselt. Proton hat niemals Zugriff auf die Klartext-Schlüssel, die erforderlich sind, um Benutzerdaten zu entschlüsseln, was es für uns unmöglich macht, gespeicherte Daten zu entschlüsseln, selbst wenn dies von Dritten verlangt wird.

Proton Authenticator verwendet dieselbe fortschrittliche Verschlüsselung, die wir für die Authentifizierung in Proton Mail nutzen. Dies beinhaltet die Verwendung einer gehärteten Version des Secure Remote Password (SRP)-Protokolls, das stärkere Sicherheitsgarantien gegen Man-in-the-Middle (MITM)-Angriffe bietet. Unsere Implementierung bedeutet, dass selbst ein Angreifer, der Nachrichten zwischen Proton und einem Benutzer auf unerkennbare Weise beliebig lesen, modifizieren, verzögern, zerstören, wiederholen oder fabrizieren kann, darauf beschränkt ist, nur einen einzigen Passwortversuch pro Anmeldeversuch zu prüfen, was dem Versuch entspricht, sich direkt anzumelden. Auf diese Weise werden selbst dann, wenn Proton kompromittiert ist und böswillig handelt, passwortäquivalente Informationen niemals offengelegt.

Lies mehr über Protons Authentifizierungsverschlüsselung

Datenverschlüsselung

Proton Authenticator ermöglicht es dir, deine 2FA-Codes sicher zu speichern, selbst wenn du keinen Proton Account hast. Das bedeutet, dass der anfängliche Verschlüsselungsprozess vollständig auf deinem lokalen Gerät erfolgen muss. Wenn du dich dann entscheidest, deinen Proton Account zu nutzen, um deine Codes über Geräte hinweg zu synchronisieren, können wir die auf Proton-Servern gespeicherten kryptografischen Schlüssel verwenden, um die Synchronisierung durchzuführen.

Die Proton-Verschlüsselung beginnt damit, dass der Proton-Server die verschlüsselte Version des Root-Schlüssels bereitstellt, den die Authenticator-App verwendet, um die Daten des Benutzers zu verschlüsseln. Jeder Proton-Benutzer hat einen asymmetrischen Benutzerschlüssel, und Proton verschlüsselt diesen Benutzerschlüssel auf deinem Gerät wie folgt:

  • Konten, die ein Einzelpasswort verwenden: Proton verschlüsselt den Benutzerschlüssel mit einem bcrypt-Hash des Kontopassworts und des Konto-Salts.
  • Konten, die unsere Funktion für mehrere Kontopasswörter verwenden: Proton verschlüsselt den Benutzerschlüssel mit einem bcrypt-Hash des Schlüsselpassworts und des Konto-Salts.

Proton Authenticator verwendet bcrypt und ein Konto-Salt, um dein Passwort zu hashen, als zusätzliche Schutzebene gegen Brute-Force-Angriffe. Selbst wenn ein böswilliger Akteur Zugriff auf die Proton-Datenbank erhielte, wären deine Kontoschlüssel sicher vor Brute-Force-Angriffen.

Sobald du die Synchronisierung aktivierst, generiert Proton Authenticator einen 32-Byte zufälligen Authenticator-Schlüssel. Dieser Schlüssel wird mit deinem Benutzerschlüssel verschlüsselt und signiert, um sicherzustellen, dass nur du ihn entschlüsseln kannst – niemand (nicht einmal Proton) kann ihn lesen oder einen neuen Authenticator-Schlüssel erstellen. Sobald du Zugriff auf den Authenticator-Schlüssel hast, werden alle Einträge in Proton Authenticator mit 256-bit AES-GCM verschlüsselt.

Da Proton Authenticator keinen Proton Account erfordert, benötigen wir auch ein separates Verschlüsselungsschema, das deine Daten sicher speichert, wenn sie nur auf deinem Gerät existieren. Letztendlich ist der einfachste Weg, dies zu implementieren, den Proton Account als separaten Schlüsselanbieter zu behandeln. Am Ende sieht es wie folgt aus:

Ein Diagramm der Verschlüsselung von Proton Authenticator ohne einen Proton Account

Für die lokale Schlüsselspeicherung auf deinem Gerät verlassen wir uns auf die sicheren Schlüsselspeicheranbieter jedes Systems:

  • Android: Wir speichern den Schlüssel sicher im Android Keystore(neues Fenster), der dann verwendet wird, um einen lokalen Zufallsschlüssel zu verschlüsseln, den wir im geschützten Dateisystem der App speichern. Dieser Schlüssel wird verwendet, um alle Einträge von Proton Authenticator auf deinem Gerät symmetrisch zu verschlüsseln.
  • iOS/iPadOS/macOS: Wir generieren einen lokalen Zufallsschlüssel und speichern ihn im Keychain-Dienst(neues Fenster). Dieser Schlüssel wird verwendet, um alle Einträge von Proton Authenticator auf deinem Gerät symmetrisch zu verschlüsseln.
  • Windows: Wir generieren einen lokalen Zufallsschlüssel und speichern ihn im Windows Credential Manager(neues Fenster). Dieser Schlüssel wird verwendet, um alle Einträge von Proton Authenticator auf deinem Gerät symmetrisch zu verschlüsseln. Wenn die Verbindung zum WCM nicht verfügbar ist, erlauben wir dem Benutzer, seinen lokalen Zufallsschlüssel mit einem Passwort zu verschlüsseln.
  • Linux: Wir generieren einen lokalen Zufallsschlüssel und speichern ihn im verfügbaren DBUS Secret Service. Dieser Schlüssel wird verwendet, um alle Einträge von Proton Authenticator auf deinem Gerät symmetrisch zu verschlüsseln. Wenn kein DBUS Secret Service konfiguriert ist, erlauben wir dem Benutzer, seinen lokalen Zufallsschlüssel mit einem Passwort zu verschlüsseln.

Backup-Verschlüsselung

Eine der Hauptstärken von Proton Authenticator ist, dass du immer die Kontrolle über deine Daten hast. Dies beinhaltet, dass du deine Codes regelmäßig auf deinem lokalen Gerät sichern und ein Passwort festlegen kannst, das diese sensiblen Daten verschlüsselt.

Um dieses sichere lokale Backup zu implementieren, verwenden wir das von dir angegebene Passwort, um mit Argon2 als KDF (Key-Derivation Function) einen sicheren Verschlüsselungsschlüssel abzuleiten. Eine KDF wird verwendet, um kryptografische Schlüssel aus geheimen Eingaben, wie von Benutzern eingegebenen Passwörtern, zu generieren, und ihr Hauptzweck ist es, die Sicherheit zu verbessern, indem es für Angreifer schwieriger und zeitaufwändiger gemacht wird, Passwörter zu knacken. Mit diesem aus deinem Passwort generierten Verschlüsselungsschlüssel serialisieren wir alle deine Einträge und verschlüsseln sie, um sicherzustellen, dass deine Daten sicher verschlüsselt bleiben, selbst wenn das Backup geleakt wird. Und durch die Verwendung bekannter und offener Technologien kannst du deine Daten ohne Proton Authenticator entschlüsseln, was dir erlaubt, die Kontrolle zu behalten, selbst wenn du dich entscheidest, zu einer anderen Authenticator-App zu wechseln.

Sicherheit durch Transparenz

Wie alle Proton-Dienste ist Proton Authenticator Open Source. Jeder kann unseren Quellcode konsultieren, um unser Sicherheitsmodell zu überprüfen. Wie bei unseren anderen Diensten wird auch Proton Authenticator regelmäßigen unabhängigen Sicherheitsaudits unterzogen, und wir werden diese Audit-Berichte öffentlich teilen, sobald sie verfügbar sind.

Schließlich ist Proton Authenticator für interessierte Sicherheitsforscher im Rahmen von Protons Bug-Bounty-Programm qualifiziert, das Belohnungen von bis zu 100.000 $ für die Entdeckung von Fehlern in Protons Software bietet.