Übersicht
Zwei Ebenen des Datenschutzes
Passwork schützt Ihre Passwörter auf zwei Ebenen. Die serverseitige Verschlüsselung funktioniert immer — alle Passwortdaten werden automatisch mit dem AES-256-CFB-Algorithmus verschlüsselt, bevor sie in die Datenbank geschrieben werden. Dieser Mechanismus erfordert keine Aktion des Administrators.
Die client-seitige Verschlüsselung (CSE) fügt eine zweite Schutzebene hinzu. Wenn sie aktiviert ist, werden die Daten im Browser, in der mobilen App oder in den Erweiterungen des Benutzers verschlüsselt, und nur verschlüsselter Text erreicht den Server. Standardmäßig ist dieser Modus deaktiviert, sodass Benutzer ohne Masterpasswörter arbeiten — dies vereinfacht die tägliche Nutzung des Systems.
Funktionsweise der client-seitigen Verschlüsselung
Wenn die client-seitige Verschlüsselung aktiviert ist, wird eine Schlüsselkette erstellt für:
- Benutzer
- Tresore
- Einträge (Passwörter und Bezeichnungen)
- Passwort-Links
Der Benutzer legt ein Masterpasswort fest, aus dem über den PBKDF2-Algorithmus ein Masterschlüssel abgeleitet wird. Dieser Schlüssel entschlüsselt den privaten RSA-Schlüssel des Benutzers, der wiederum Zugriff auf die Masterschlüssel der Tresore gewährt. Mit dem Masterschlüssel des Tresors entschlüsselt das System den Masterschlüssel des Eintrags, und der Masterschlüssel des Eintrags ermöglicht die Entschlüsselung der Passwortdaten.
Benutzer können ein Passwort innerhalb von Passwork teilen, ohne einen anderen Benutzer zum Tresor hinzuzufügen. In diesem Fall entschlüsselt das System mit dem privaten RSA-Schlüssel des Benutzers den Masterschlüssel des jeweiligen Eintrags.
Hauptszenarien:
- Über den Tresor: Masterpasswort des Benutzers → Masterschlüssel des Benutzers → Privater RSA-Schlüssel des Benutzers → Masterschlüssel des Tresors → Masterschlüssel des Eintrags → Passwortdaten;
- Über den Posteingang: Masterpasswort des Benutzers → Masterschlüssel des Benutzers → Privater RSA-Schlüssel des Benutzers → Masterschlüssel des Eintrags → Passwortdaten.
Es ist wichtig zu beachten, dass alle Schlüssel (RSA, Tresor-Masterschlüssel, Eintrag-Masterschlüssel) auf der Client-Seite (im Browser) mit kryptografischen Algorithmen generiert werden und nicht im Klartext an den Server übertragen werden, was eine Entschlüsselung der Daten auf der Serverseite unmöglich macht.
Auf dem Client werden alle Passwortfelder, zusätzliche Felder, TOTP-Geheimnisse, Anhänge und alle Eintragsrevisionen verschlüsselt. Gleichzeitig werden Eintragsnamen, primärer Login, Tags, URLs und Kommentare auf dem Client nicht verschlüsselt, da die Suche über diese Felder erfolgt.
Das Schema mit separaten Schlüsseln für Tresore und Einträge ermöglicht die Implementierung eines Zero Knowledge-Schemas und einer End-to-End-Verschlüsselung sowohl für bestimmte Passwörter als auch für gemeinsam genutzte Tresore.
Wann client-seitige Verschlüsselung verwenden
Es wird empfohlen, die client-seitige Verschlüsselung zu aktivieren, um ein Zero-Knowledge-Modell zu gewährleisten, wenn Passwork in der Cloud gehostet wird oder wenn die Einhaltung von Sicherheitsstandards (in Ihrem Unternehmen oder global) erforderlich ist. Die client-seitige Verschlüsselung ist besonders wichtig bei der Speicherung kritisch wichtiger Daten — Root-Konten, SSH-Schlüssel oder Seed-Phrasen.
Wenn Passwork in einem isolierten Unternehmensnetzwerk unter vollständiger organisatorischer Kontrolle bereitgestellt wird, reicht die serverseitige Verschlüsselung in der Regel aus. In diesem Fall vereinfacht das Fehlen von Masterpasswörtern die Arbeit der Benutzer.
Einrichtung und Zugriffswiederherstellung
Das Masterpasswort des Benutzers wird niemals an den Server übertragen. Wenn ein Benutzer daher sein Masterpasswort vergisst, kann es nicht wiederhergestellt werden. Ohne das Masterpasswort kann sich der Benutzer nicht im System anmelden oder seine Daten entschlüsseln.
In einem solchen Fall kann der Passwork-Administrator das Masterpasswort des Benutzers zurücksetzen, woraufhin der Benutzer ein neues Masterpasswort festlegen kann (und ein neues RSA-Schlüsselpaar generieren).
Tresor- oder Ordneradministratoren müssen einen solchen Benutzer in den Tresoren erneut genehmigen, woraufhin alle Rechte automatisch wiederhergestellt werden.
Arbeiten mit Gruppen
Die client-seitige Verschlüsselung ist mit dem Gruppensystem und der LDAP-Synchronisierung kompatibel. Wenn ein Benutzer zu einer Gruppe hinzugefügt wird, werden Zugriffsanfragen für alle zugehörigen Tresore erstellt. Der Tresoradministrator genehmigt die Anfrage, und der Masterschlüssel des Tresors wird sicher über RSA-Verschlüsselung übertragen. Dies gewährleistet ein Zero Knowledge-Schema bei gleichzeitiger Aufrechterhaltung der Automatisierung durch Gruppen.
Technische Implementierung
Das System verwendet bewährte kryptografische Algorithmen: PBKDF2-SHA-256 für die Schlüsselableitung, AES-256-CFB für die Datenverschlüsselung, RSA-2048 für die sichere Übertragung von Tresorschlüsseln. Die client-seitige Verschlüsselung wird in allen offiziellen Passwork-Clients unterstützt — Weboberfläche, Browsererweiterungen und mobile Anwendungen. Für Serverintegrationen ist ein Python-Connector mit derselben Verschlüsselungslogik verfügbar.