Zum Inhalt springen
HexaTransfer
Zurück zum Blog
Technische Vertiefungen

Zero-Knowledge Proof in Dateiübertragung Systems

Erkunden Sie how zero-knowledge proofs enhance Datei transfer privacy. Verify Datei integrity without exposing contents to intermediaries.

Zero-Knowledge-Beweise ermöglichen es einer Partei, die Wahrheit einer Aussage zu beweisen, ohne etwas außer der Wahrheit der Aussage selbst preiszugeben. Die DSGVO Art. 5 fordert den Grundsatz der Datensparsamkeit – Zero-Knowledge-Protokolle gehen weiter: Sie erlauben Überprüfungen, ohne überhaupt Daten preiszugeben. Auf Dateiübertragung angewendet können ZKPs einem Sender oder Server erlauben, zu beweisen, dass eine Datei einem erwarteten Hash entspricht, mit einem bestimmten Schlüssel verschlüsselt wurde oder eine Richtlinie erfüllt wie „kleiner als 10 GB und nicht auf einer Malware-Blockliste" – ohne den Inhalt der Datei preiszugeben. Die Technologie, formalisiert von Goldwasser, Micali und Rackoff im Jahr 1985 und nun praktikabel durch zk-SNARKs (Groth16, PLONK) und zk-STARKs, wandert von Kryptowährungen in datenschutzwahrende Dateisysteme.

Was „Zero-Knowledge" in diesem Kontext bedeutet

Zwei Verwendungen kollidieren im Marketing. Erstens der formale kryptographische Sinn: ein interaktives oder nicht-interaktives Protokoll, das das Wissen eines Zeugen beweist, ohne ihn preiszugeben, wie in der Fiat-Shamir-Heuristik und modernen zk-SNARK-Konstruktionen wie Groth16 (2016) und PLONK (2019) definiert. Zweitens der lockere kommerzielle Sinn, wo „Zero-Knowledge" bedeutet, dass der Dienstanbieter Benutzerdaten nicht entschlüsseln kann, weil er die Schlüssel nicht hat – wie von Proton, Tresorit und Sync.com verwendet. Beide sind gültig, lösen aber unterschiedliche Probleme. Der kommerzielle Sinn ist wirklich client-seitige Ende-zu-Ende-Verschlüsselung; der kryptographische Sinn eröffnet neue Workflows, die mit Ende-zu-Ende-Verschlüsselung allein unmöglich wären.

Datei-Integritätsbeweise ohne Offenbarung

Stellen Sie sich ein rechtliches Discovery-Szenario vor. Eine antwortende Partei übergibt verschlüsselte Dateien und möchte Vollständigkeit beweisen – dass nichts zurückgehalten wurde – ohne den Inhalt preiszugeben. Ein Merkle-Tree-Commitment kombiniert mit einem Zero-Knowledge-Beweis kann demonstrieren, dass jede Datei in einem vereinbarten Index vorhanden ist, korrekt gehasht und mit dem gemeinsamen Schlüssel verschlüsselt ist. Die empfangende Partei verifiziert den Beweis in Millisekunden ohne Einblick in den Inhalt bis zur Entschlüsselung. Tools, die auf Halo 2, Circom und Plonky2 aufgebaut sind, ermöglichen Schaltungen, die diese Aussagen ausdrücken und client-seitig in Browsern über WebAssembly-Kompilierung laufen.

Selektive Offenbarung für Compliance

Ein Arzt, der die DICOM-Studie eines Patienten für eine Zweitmeinung sendet, möchte ohne Preisgabe der Identität beweisen, dass der Absender ein lizenzierter Arzt an einer nach DSGVO und Bundesdatenschutzgesetz (BDSG) konformen Einrichtung ist. Ein Zero-Knowledge-Credential-Beweis unter Verwendung des W3C Verifiable Credentials Data Model v2.0 mit BBS+-Signaturen kann dies leisten. Der Empfänger verifiziert die Anmeldeinformationen des Absenders ohne Einblick in Namen oder Institution. Das gleiche Muster gilt für Exportkontroll-Compliance: Beweisen, dass das Zielland einer Datei genehmigt ist, ohne die Datei oder das genaue Ziel preiszugeben – nützlich für datenschutzwahrende Exportkontroll-Workflows.

Beweis-des-Uploads ohne dem Server zu vertrauen

Ein häufiges Dateiübertragungsproblem: Der Sender lädt eine Datei hoch, der Server behauptet, sie empfangen zu haben – aber wie kann der Sender beweisen, was tatsächlich gespeichert wurde? Protokolle basierend auf Proof-of-Retrievability (PoR) und Proof-of-Data-Possession (PDP), formalisiert von Juels-Kaliski (2007) und Ateniese et al. (2007), ermöglichen dem Server, zu beweisen, dass er die vollständige Datei enthält, indem er zufällige Herausforderungen mit kryptographischen Beweisen beantwortet. Dezentrale Speicherung wie Filecoin verwendet diese, um zu beweisen, dass Speicheranbieter die behaupteten Daten halten. Für einen zentralisierten Übertragungsdienst gibt PoR dem Sender Vertrauen ohne Audit-Log-Vertrauen.

Private Set Intersection für Deduplizierung

Dateiübertragungsdienste deduplizieren oft identische Dateien serverseitig, um Speicher zu sparen. Naiv durchgeführt leckt das Informationen: Zwei Benutzer, die dieselbe Datei hochladen, entdecken einander. Private Set Intersection (PSI)-Protokolle mit oblivious Pseudorandom Functions (OPRF) oder Bloom-Filter-Verschlüsselung ermöglichen dem Server, Duplikate kryptographisch zu erkennen, während weder Partei noch Server erfährt, welche spezifischen Dateien übereinstimmten. PSI-Bibliotheken wie Microsofts APSI und Googles PSI-Implementierung laufen in Browsern über WASM. Das ist für Ende-zu-Ende-verschlüsselte Systeme wichtig, wo serverseitige Deduplizierung sonst das Bedrohungsmodell brechen würde.

Richtlinienkonformität beweisen ohne die Payload preiszugeben

Unternehmens-Übertragungssysteme führen oft DLP-Scans (Data Loss Prevention) durch, um Uploads mit Sozialversicherungsnummern, Kreditkartennummern oder proprietären Kennzeichnungen zu blockieren. Ein Zero-Knowledge-DLP-Beweis würde dem Sender erlauben zu beweisen: „Diese Datei enthält keine 16-stelligen Strings, die Luhn-gültigen Kreditkartenmustern entsprechen", ohne die Datei dem DLP-Server preiszugeben. Schaltungen in Circom oder Noir können diese Prüfungen ausdrücken. Leistung ist der Engpass: Das Beweisen, dass eine 100-MB-Datei eine komplexe Richtlinie erfüllt, kann Minuten dauern. Forschung in GKR und Folding-Schemata wie Nova (2022) reduziert Beweiszeiten erheblich und macht praktische Deployment in einigen Jahren plausibel.

zk-SNARKs vs. zk-STARKs für Dateien

zk-SNARKs (Succinct Non-interactive Arguments of Knowledge) wie Groth16 und PLONK erzeugen kleine Beweise (200 bis 500 Bytes), die in Millisekunden verifizierbar sind, erfordern aber eine vertrauenswürdige Setup-Zeremonie. zk-STARKs (Scalable Transparent Arguments of Knowledge), die in StarkWares Produktionssystemen verwendet werden, benötigen kein vertrauenswürdiges Setup und basieren nur auf Hash-Funktionen – das macht sie post-quanten-sicher – aber Beweise sind größer (50 KB bis mehrere MB). Für Dateiübertragungen passen SNARK-Beweise gut in HTTP-Header oder kleine Metadatenfelder, während STARK-Beweise umfangreicher sind, aber Vertrauensannahmen vermeiden.

Leistungsbudgets für Browser-Beweise

Das Generieren eines Beweises, dass eine 1-MB-Datei einem bestimmten Hash entspricht, dauert in einem Browser mit Halo 2 oder snarkjs, kompiliert zu WASM, je nach Schaltungsgröße und Gerät etwa 100 ms bis 2 Sekunden. Für Datei-Integritätsbeweise zur Übertragungszeit ist das akzeptabel. Für komplexere Aussagen wie Richtlinienkonformität über große Dateien muss das Beweisen möglicherweise auf einen Server ausgelagert oder in Hintergrundarbeitern ausgeführt werden. Die Web Crypto API verarbeitet Standard-Hash-Primitive mit nativer Geschwindigkeit, aber benutzerdefinierte ZK-Schaltungen zahlen weiterhin den WASM-Interpretations-Overhead.

Integrationsmuster mit bestehender Ende-zu-Ende-Verschlüsselung

ZKPs schichten sich gut auf die Ende-zu-Ende-Verschlüsselung, anstatt sie zu ersetzen. Ein typisches Muster: Der Sender verschlüsselt die Datei mit AES-256-GCM, berechnet einen SHA-256-Hash des Klartexts und generiert einen Beweis, der sich zu diesem Hash verpflichtet. Der Server speichert Geheimtext, das Commitment und den Beweis. Der Empfänger ruft alle drei ab, entschlüsselt, hasht den Klartext erneut und verifiziert den Beweis. Das erkennt Manipulation und liefert auch eine übertragbare Integritätsbehauptung, die der Empfänger einem Dritten – wie dem BfDI oder einem Gericht – zeigen kann, ohne die Datei preiszugeben.

Wo ZKPs heute passen und wo nicht

Heute passen ZKPs gut für kompakte Integritäts- und Authentizitätsbehauptungen, Deduplizierung ohne Offenbarung und credential-basiertem Zugang zu Übertragungsendpunkten. Sie passen noch nicht für allgemeine inhaltsbasierte Prüfungen großer Dateien – Prüfzeit und Beweisgrößen sind noch nicht da. Für alltäglichen Dateiübertragungsdatenschutz verarbeitet client-seitige Ende-zu-Ende-Verschlüsselung mit AES-256-GCM und X25519-Schlüsselaustausch, wie in HexaTransfer verwendet, das gemeinsame Bedrohungsmodell gut ohne die Komplexität von ZKP-Schaltungen.

Kostenlos ausprobieren auf hexatransfer.com — kein Konto erforderlich, bis zu 10 GB.

Große Dateien sicher mit Ende-zu-Ende-Verschlüsselung senden

Übertragen Sie Dateien bis zu 10 GB kostenlos mit Ende-zu-Ende-Verschlüsselung. Kein Konto erforderlich. Ihre Dateien werden in Ihrem Browser verschlüsselt, bevor sie hochgeladen werden — niemand sonst kann sie lesen.

Datei senden