Zusammenfassung
Snugg implementiert Ende-zu-Ende-Verschlüsselung für alle Nutzerinhalte unter Verwendung moderner, gründlich geprüfter kryptografischer Primitive. Dieses Dokument beschreibt unsere Verschlüsselungsarchitektur, unseren Ansatz zur Schlüsselverwaltung und das Bedrohungsmodell, gegen das wir schützen.
Überblick über die Verschlüsselungsarchitektur
Snugg verwendet einen hybriden Verschlüsselungsansatz, der asymmetrische und symmetrische Kryptografie kombiniert, um sowohl Sicherheit als auch Leistung zu gewährleisten.
Asymmetrische Verschlüsselung (Public-Key)
Jeder Nutzer verfügt über ein einzigartiges Schlüsselpaar (X25519). Der öffentliche Schlüssel wird mit unseren Servern geteilt; der private Schlüssel verlässt niemals das Gerät des Nutzers. Verwendet für den initialen Schlüsselaustausch und die Sicherung von Gruppenschlüsseln.
Symmetrische Verschlüsselung (Shared Secret)
Jede Gruppe verfügt über einen symmetrischen Schlüssel (XSalsa20-Poly1305), der nur unter den Gruppenmitgliedern geteilt wird. Dieser Schlüssel verschlüsselt alle Inhalte innerhalb der Gruppe und ermöglicht schnelle Ver- und Entschlüsselung.
Hybrider Ansatz
Wenn Sie einer Gruppe beitreten, wird der Gruppenschlüssel mit Ihrem öffentlichen Schlüssel verschlüsselt und an Sie gesendet. Ihr Gerät entschlüsselt ihn mit Ihrem privaten Schlüssel und gewährt Ihnen Zugang zu den Gruppeninhalten. Dies kombiniert die Sicherheit asymmetrischer Kryptografie mit der Effizienz symmetrischer Kryptografie.
Schlüsselverwaltung
Sichere Schlüsselverwaltung ist entscheidend für unsere Verschlüsselungsarchitektur. So werden Schlüssel generiert, gespeichert und verwendet:
Schlüsselgenerierung
Bei der Kontoerstellung generiert Ihr Gerät ein kryptografisch sicheres Schlüsselpaar unter Verwendung der Web Crypto API oder TweetNaCl.js. Schlüssel werden lokal generiert – sie passieren niemals unsere Server.
Schlüsselspeicherung
Private Schlüssel werden in verschlüsseltem lokalem Speicher (IndexedDB) auf Ihrem Gerät gespeichert, geschützt durch einen Schlüssel, der aus Ihren Kontoanmeldedaten mittels PBKDF2 mit 100.000 Iterationen abgeleitet wird.
Schlüsselverteilung
Wenn Sie einer Gruppe beitreten, verschlüsseln bestehende Mitglieder den Gruppenschlüssel mit Ihrem öffentlichen Schlüssel. Dieses verschlüsselte Paket wird auf unseren Servern gespeichert und kann nur mit Ihrem privaten Schlüssel entschlüsselt werden.
Schlüsselrotation
Gruppenschlüssel werden rotiert, wenn Mitglieder die Gruppe verlassen, um Forward Secrecy zu gewährleisten. Ausgeschiedene Mitglieder können neue Inhalte nicht entschlüsseln, selbst wenn sie den alten Schlüssel behalten haben.
Kryptografische Primitive
Wir verwenden etablierte, geprüfte kryptografische Algorithmen:
| Zweck | Algorithmus | Bibliothek |
|---|---|---|
| Schlüsselaustausch | X25519 (Curve25519 ECDH) | TweetNaCl.js |
| Symmetrische Verschlüsselung | XSalsa20-Poly1305 | TweetNaCl.js |
| Digitale Signaturen | Ed25519 | TweetNaCl.js |
| Hashing | SHA-256 | Web Crypto API |
| Schlüsselableitung | PBKDF2 (100.000 Iterationen) | Web Crypto API |
Datenfluss: Wie Inhalte verschlüsselt werden
So funktioniert es, wenn Sie Inhalte in einer Gruppe veröffentlichen:
Bedrohungsmodell
Das Verständnis dessen, wovor wir schützen – und wovor nicht – ist essenziell, damit Nutzer fundierte Entscheidungen treffen können.
Wovor wir schützen
- Server-Kompromittierung: Ein Angreifer, der Zugang zu unseren Servern erlangt, sieht nur verschlüsselten Chiffretext
- Böswillige Mitarbeiter: Snugg-Mitarbeiter können Nutzerinhalte nicht lesen – wir haben die Schlüssel nicht
- Behördliche Anforderungen: Selbst bei rechtlichem Zwang können wir nur verschlüsselte Daten bereitstellen
- Netzwerkabhören: Alle Verbindungen verwenden TLS 1.3; Inhalte sind zusätzlich E2E-verschlüsselt
Wovor wir nicht schützen
- Kompromittierte Geräte: Wenn ein Angreifer Ihr Gerät kontrolliert, kann er entschlüsselte Inhalte lesen
- Screenshots von Gruppenmitgliedern: Mitglieder können entschlüsselte Inhalte per Screenshot erfassen oder kopieren
- Metadatenanalyse: Wir können sehen, wer in welchen Gruppen ist und wann gepostet wird (aber nicht den Inhalt)
Sicherheitsprüfungen & Verifizierung
Wir glauben an verifizierbare Sicherheit, nicht an Security by Obscurity:
Vertrauen Sie uns nicht – verifizieren Sie. Unser Quellcode ist verfügbar unter github.com/snugg-social
Technische Referenzen
Weitere Informationen zu den von uns verwendeten kryptografischen Standards:
- •TweetNaCl.js: Eine Portierung der gründlich geprüften NaCl-Kryptografiebibliothek
- •Curve25519: Elliptische Kurve, entwickelt von Daniel J. Bernstein für den Schlüsselaustausch
- •XSalsa20-Poly1305: Authentifizierte Verschlüsselung aus der NaCl-Familie
- •PBKDF2: Password-Based Key Derivation Function 2 (RFC 8018)
Sicherheitsfragen oder Responsible Disclosure?
Wenn Sie Fragen zu unserer Sicherheitsarchitektur haben oder eine Schwachstelle melden möchten, freuen wir uns von Ihnen zu hören.
security@snugg.socialZuletzt aktualisiert: 1. Februar 2026