Technische Dokumentation

Whitepaper zur Sicherheitsarchitektur

Ein detaillierter technischer Überblick über die Verschlüsselungsarchitektur von Snugg für Sicherheitsforscher, Prüfer und technisch versierte Nutzer.

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:

1

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.

2

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.

3

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.

4

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:

ZweckAlgorithmusBibliothek
SchlüsselaustauschX25519 (Curve25519 ECDH)TweetNaCl.js
Symmetrische VerschlüsselungXSalsa20-Poly1305TweetNaCl.js
Digitale SignaturenEd25519TweetNaCl.js
HashingSHA-256Web Crypto API
SchlüsselableitungPBKDF2 (100.000 Iterationen)Web Crypto API

Datenfluss: Wie Inhalte verschlüsselt werden

So funktioniert es, wenn Sie Inhalte in einer Gruppe veröffentlichen:

1
Sie verfassen einen Beitrag auf Ihrem Gerät (Text, Fotos usw.)
2
Ihr Gerät ruft den symmetrischen Schlüssel der Gruppe aus dem lokalen verschlüsselten Speicher ab
3
Der Inhalt wird mit dem Gruppenschlüssel unter Verwendung von XSalsa20-Poly1305 verschlüsselt
4
Der verschlüsselte Chiffretext wird an unsere Server gesendet und gespeichert
5
Wenn Gruppenmitglieder Snugg öffnen, laden ihre Geräte den Chiffretext herunter und entschlüsseln ihn lokal

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:

Unser Verschlüsselungscode ist quelloffen und für die öffentliche Überprüfung verfügbar
Wir beauftragen regelmäßig unabhängige Sicherheitsprüfungen bei renommierten Firmen
Prüfberichte werden veröffentlicht, einschließlich aller Erkenntnisse und unserer Behebungsmaßnahmen

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.social

Zuletzt aktualisiert: 1. Februar 2026