🔒

Verschlüsselter Datei-Transfer

End-to-End verschlüsselt · P2P · kein Server-Speicher

⚠️ Wichtiger Hinweis

Die Dateien werdendirekt von deinem Gerät zum Gerät des Empfängersübertragen (Peer-to-Peer). Dafür müssenbeide Geräte gleichzeitig onlineund die Seite auf beiden Seiten aktiv geöffnet sein. Wird eine Seite geschlossen oder die Verbindung unterbrochen, schlägt der Transfer fehl. Bei aktivierung des TURN-Servers auf beiden Seiten können die Daten über den Server übertragen werden. Es werden ausschließlich eigene Stun und Turn Server verwendet.

🔒 Sicherheitshinweise

ECDH P-256für Schlüsselaustausch – Sitzungsschlüssel verlässt nie den Browser

AES-GCM 256-bitfür Datei-Verschlüsselung mit zufälligem IV je Datei

• Optionales Passwort wird viaPBKDF2 (100.000 Iterationen)abgeleitet und per HKDF mit ECDH kombiniert

• Server fungiert nur als Signaling-Relay (WebRTC-Handshake) – kein Datei-Speicher

• Sessions laufen nach 15 Minuten automatisch ab

🔬 Technische Details (für Interessierte)

Schlüsselaustausch (ECDH):Beide Seiten erzeugen ein ephemeres Elliptic-Curve-Diffie-Hellman-Schlüsselpaar (Kurve P-256). Die öffentlichen Schlüssel werden über den Server ausgetauscht. Aus dem gemeinsamen Geheimnis (Shared Secret) wird perHKDF-SHA-256ein 256-Bit-AES-Schlüssel abgeleitet. Der private Schlüssel verlässt den Browser nie.

Passwort-Schutz (optional):Wird ein Passwort gesetzt, wird aus diesem viaPBKDF2-SHA-256 (100.000 Iterationen)ein 256-Bit-Schlüssel abgeleitet und bytewise mit dem ECDH-Shared-Secret XOR-verknüpft, bevor HKDF angewendet wird. Ohne das korrekte Passwortunddie ECDH-Verbindung ist keine Entschlüsselung möglich.

Dateiverschlüsselung (AES-GCM):Jede Datei wird mit einem zufälligen 96-Bit-IV (Nonce) perAES-256-GCMverschlüsselt. GCM liefert neben der Vertraulichkeit auch Authentizität – manipulierte Daten werden erkannt und abgelehnt.

Datenübertragung (WebRTC DataChannel):Die verschlüsselten Daten werden über einenWebRTC DataChanneldirekt zwischen den Browsern übertragen (P2P). Der Server sieht nur die WebRTC-Signaling-Nachrichten (SDP-Offer/Answer und ICE-Candidates), aber niemals Dateiinhalte. WebRTC nutzt intern DTLS und SRTP als Transportverschlüsselung – die Dateien sind also doppelt geschützt.

Session & Signaling:Der Server hält die Session ausschließlich im RAM (kein Datenbankschreiben). Nach 15 Minuten ohne Aktivität wird die Session automatisch verworfen. Der Code besteht aus 6 zufälligen Zeichen (Alphabet ohne mehrdeutige Zeichen wie O/0/I/l), was ~109mögliche Kombinationen ergibt.