Wat Is Zero-knowledge Versleuteling? Een Eenvoudige Handleiding
Zero-knowledge versleuteling betekent dat de provider geen toegang heeft tot je data.
Zero-knowledge versleuteling is een cryptografische architectuur waarbij de serviceprovider geen toegang heeft tot gebruikersdata omdat versleutelingssleutels uitsluitend worden afgeleid en opgeslagen op het apparaat van de gebruiker en nooit worden verzonden naar de servers van de provider. In tegenstelling tot standaard cloudversleuteling waarbij de provider de sleutels houdt, betekent zero-knowledge versleuteling dat zelfs met een rechtbankbevel, een datalek of een frauduleuze medewerker, de provider niets te overhandigen heeft. NIST's richtlijnen voor sleutelbeheer (SP 800-57) stellen het principe vast dat sleutelbewaring datatoegang bepaalt -- zero-knowledge versleuteling trekt dit tot zijn logische conclusie.
Hoe Zero-knowledge Versleuteling Werkt
De eenvoudigste analogie: een hotelkluis waarbij alleen jij de combinatie instelt, en het hotel hem nooit leert. Als je de combinatie vergeet, kan het hotel de kluis niet voor je openen. Dat is geen fout in het ontwerp. Dat is het ontwerp.
In technische termen werkt zero-knowledge versleuteling via drie stappen:
Sleutelafleiding op het apparaat. De gebruiker verstrekt een referentie (een wachtwoord, wachtwoordzin of patroon). Een sleutelafleiding functie (typisch PBKDF2 of Argon2) combineert deze referentie met een uniek cryptografisch zout om een versleutelingssleutel te produceren. Dit gebeurt volledig op het apparaat van de gebruiker.
Versleuteling vóór verzending. Alle data wordt versleuteld op het apparaat met de afgeleide sleutel voordat het het apparaat verlaat voor cloudopslag of back-up. De versleutelde uitvoer (cijfertekst) is wat wordt geüpload.
De provider ziet de sleutel nooit. De versleutelingssleutel bestaat alleen in het geheugen van het apparaat tijdens actief gebruik. Het wordt nooit verzonden naar de servers van de provider. De provider slaat versleutelde blobs op die niet te onderscheiden zijn van willekeurige data.
De kritieke beperking: als de gebruiker hun referentie verliest en geen herstelzin heeft, is de data permanent ontoegankelijk. Er is geen "wachtwoord vergeten"-stroom die werkt zonder een onafhankelijk opgeslagen herstelmechanisme. Als een service wachtwoordreset via e-mail aanbiedt en je data verschijnt opnieuw, gebruikt die service geen zero-knowledge versleuteling. Het houdt je sleutels.
Zero-knowledge Versleuteling vs Andere Typen Versleuteling
De term "versleuteling" verschijnt in marketingmaterialen voor bijna elke cloudservice. De verschillen tussen typen zijn substantieel.
| Type | Wie Houdt de Sleutel | Provider Kan Data Lezen | Overleeft Providerlek | Voorbeeld |
|---|---|---|---|---|
| Geen versleuteling | N.v.t. | Ja | Nee | Dropbox (standaard laag) |
| Versleuteling onderweg (TLS) | Provider | Ja (in rust op hun servers) | Nee | Google Foto's |
| Serversijdige versleuteling in rust | Provider | Ja (zij houden de ontsleutelingssleutel) | Gedeeltelijk (hangt af van lekbereik) | iCloud (standaard) |
| Providergestuurde E2E-versleuteling | Provider genereert, gebruiker slaat op | Technisch nee, maar provider had toegang bij sleutelgeneratie | Gedeeltelijk | iCloud Geavanceerde gegevensbescherming |
| Zero-knowledge versleuteling | Alleen gebruiker (afgeleid op apparaat) | Nee. Wiskundig onmogelijk. | Ja. Versleutelde blobs zijn nutteloos zonder de sleutel van de gebruiker. | Signal, Proton Mail, Vaultaire |
Het onderscheid tussen "versleuteling in rust" en "zero-knowledge versleuteling" is het meest verwardend. Met versleuteling in rust versleutelt de provider je data op hun servers met sleutels die zij beheren. Dit beschermt tegen fysieke diefstal van de serverhardware. Het beschermt niet tegen het lezen van je data door de provider, een overheidsdagvaarding voor de data en sleutels, of een bedreiging van binnenuit. De provider heeft de ontsleutelingscapaciteit.
Met zero-knowledge versleuteling heeft de provider nooit de ontsleutelingscapaciteit. De versleutelde data op hun servers is even ondoorzichtig voor hen als voor elke externe aanvaller.
Waarom Zero-knowledge Versleuteling Ertoe Doet
Datalekken Blootstellen Jaarlijks Miljarden Gegevens
Het Identity Theft Resource Center meldde 3.205 datagecompromitteringen in de Verenigde Staten in 2023, die ongeveer 353 miljoen personen troffen. Wanneer een provider die versleutelingssleutels houdt wordt getroffen door een lek, krijgt de aanvaller mogelijk toegang tot zowel de versleutelde data als de sleutels om het te ontsleutelen. Zero-knowledge architectuur elimineert dit risico volledig. De getroffen server bevat alleen cijfertekst die rekenkundig niet haalbaar is te ontsleutelen.
Juridische Dwang Is een Echte Bedreiging
Overheidsinstanties in meerdere jurisdicties kunnen providers dwingen opgeslagen data te overhandigen. Als de provider versleutelingssleutels houdt, moeten ze voldoen. Onder zero-knowledge architectuur is de reactie van de provider op een dagvaarding de versleutelde blob, die nutteloos is zonder de referentie van de gebruiker. Apple's Geavanceerde gegevensbescherming voor iCloud gaat in deze richting maar werd pas geïntroduceerd in iOS 16.2 (december 2022) en is niet standaard ingeschakeld.
"Vertrouw Ons" Is Geen Beveiligingsarchitectuur
Standaard versleuteling vertrouwt op de belofte van de provider om je data niet te openen. Zero-knowledge versleuteling vervangt die belofte door een wiskundige garantie. De provider kan de data niet openen, zelfs als ze dat willen, zelfs als een medewerker frauduleus wordt, zelfs als ze worden overgenomen door een bedrijf met andere privacywaarden. De architectuur dwingt de beperking af.
De NIST-standaard Achter de Cryptografie
AES-256-GCM, het cijfer dat het meest wordt gebruikt in zero-knowledge implementaties, werd gestandaardiseerd door het National Institute of Standards and Technology in SP 800-38D (2007). AES zelf werd geselecteerd door NIST via een openbare competitie in 2001, ter vervanging van de verouderende DES-standaard. De "256" verwijst naar de sleutellengte in bits -- een 256-bit sleutel heeft 2^256 mogelijke waarden, een getal zo groot dat het brute-kraken ervan meer energie zou vereisen dan de zon in de rest van zijn levensduur zal produceren.
GCM (Galois/Counter Mode) voegt geverifieerde versleuteling toe, wat betekent dat het ontsleutelingsproces eventuele manipulatie van de cijfertekst detecteert. Als één bit van de versleutelde data wordt gewijzigd, mislukt ontsleuteling in plaats van gecorrumpeerde uitvoer te produceren. Dit voorkomt dat aanvallers versleutelde data manipuleren zonder detectie.
PBKDF2 (Password-Based Key Derivation Function 2), gespecificeerd in RFC 8018, converteert een door de mens verstrekte referentie naar een cryptografische sleutel via herhaald hashen. Het honderduizenden keren uitvoeren van de hashfunctie maakt elke wachtwoordgok rekenkundig duur, waardoor een eenvoudig patroon of wachtwoord wordt omgezet in een sleutel die brute-force aanvallen weerstaat.
Hoe Vaultaire Zero-knowledge Versleuteling Implementeert
Vaultaire is een kluis-app voor iPhone gebouwd op zero-knowledge architectuur. Hier is hoe de implementatie werkt op elke laag.
Sleutelafleiding. De gebruiker tekent een patroon op een 5x5-raster van 25 stippen. De reeks stippen, in volgorde, wordt ingevoerd in PBKDF2 met HMAC-SHA512 en een uniek per-kluis cryptografisch zout. De uitvoer is een 256-bit AES-versleutelingssleutel. Het patroon wordt nooit op het apparaat opgeslagen. Niet als hash, niet als representatie, niet in enige vorm.
Bestandsversleuteling. Elk geïmporteerd bestand wordt versleuteld met AES-256-GCM met de afgeleide sleutel en een willekeurig gegenereerde initialisatievector (IV) uniek voor dat bestand. Identieke bestanden produceren verschillende cijfertekst omdat de IV verschilt.
Metadata-versleuteling. Bestandsnamen, aanmaakregelingsdatums en miniatuurdata worden apart versleuteld met ChaCha20, een ander cijfer dat cryptografische diversiteit biedt en cache-timing zijkanaalaanvallen elimineert.
Sleutelbeheer. De Apple Secure Enclave slaat sleutelmateriaal op in een speciale hardwareco-processor met zijn eigen versleuteld geheugen. Sleutels worden gewist uit het app-geheugen wanneer Vaultaire sluit of de gebruiker wegschakelt.
Geen kluisregister. Er is geen database met kluizen, geen teller, geen namen. Elk patroon opent een andere kluis. De app zelf kan niet bepalen hoeveel kluizen er bestaan. Zie de volledige beveiligingsarchitectuur en uitleg van patroonversleuteling.
Hoe Te Controleren of een App Echte Zero-knowledge Versleuteling Gebruikt
Drie tests die minder dan een minuut duren:
De wachtwoord-vergeten-test. Als de app je wachtwoord via e-mail kan resetten en je data verschijnt opnieuw, houdt de app je versleutelingssleutels. Geen zero-knowledge.
De nieuw-apparaat-test. Als je inlogt op een nieuw apparaat en je data verschijnt zonder sleutels over te dragen van het oude apparaat of een herstelzin in te voeren, heeft de server je sleutels. Geen zero-knowledge.
De accounttest. Als de app een e-mailadres of telefoonnummer vereist, heeft de provider een koppeling tussen je identiteit en je data. Dit is niet noodzakelijk diskwalificerend, maar gecombineerd met een van de bovenstaande bevestigt het dat de provider toegang heeft tot je data.
Apps die alle drie slagen: Signal, Proton Mail, Standard Notes, Vaultaire. Apps die ten minste één falen: de meeste cloudopslagservices, de meeste "kluis"-apps in de App Store.
Veelgestelde Vragen
Is zero-knowledge versleuteling hetzelfde als end-to-end versleuteling?
Ze overlappen maar zijn niet identiek. End-to-end versleuteling (E2EE) betekent dat data versleuteld wordt op het apparaat van de afzender en alleen ontsleuteld op het apparaat van de ontvanger. Zero-knowledge versleuteling betekent dat de provider geen toegang heeft tot de data. Een service kan end-to-end versleuteld zijn zonder zero-knowledge te zijn als de provider de sleutels op enig moment heeft gegenereerd of toegang had. Zero-knowledge versleuteling is de strengere standaard.
Wat gebeurt er als ik mijn wachtwoord verlies met zero-knowledge versleuteling?
Je data wordt permanent ontoegankelijk. Er is geen hoofdsleutel, geen achterdeur en geen herstelproces dat werkt zonder een apart opgeslagen herstelzin. Dit is de fundamentele afweging: absolute privacy vereist absolute verantwoordelijkheid. Sommige zero-knowledge apps (inclusief Vaultaire) genereren een herstelzin bij het aanmaken van een kluis die de versleutelingssleutel kan regenereren als de primaire referentie verloren gaat.
Kan wetshandhaving toegang krijgen tot zero-knowledge versleutelde data?
Wetshandhaving kan de provider dwingen om opgeslagen data te overhandigen. Met zero-knowledge versleuteling is de data die de provider overhandigt een versleutelde blob die nutteloos is zonder de sleutel van de gebruiker. Of wetshandhaving de gebruiker kan dwingen de sleutel te verstrekken is een aparte juridische vraag die per jurisdictie verschilt. Rechtbanken in de VS hebben over het algemeen geoordeeld dat gedwongen biometrisch ontgrendelen (Face ID, vingerafdrukken) toelaatbaar is, terwijl gedwongen wachtwoord/patroon-onthulling meer betwist is onder het Vijfde Amendement.
Is zero-knowledge versleuteling langzamer dan reguliere versleuteling?
De versleutelings- en ontsleutelingsoperaties zijn identiek. AES-256-GCM draait op dezelfde snelheid ongeacht wie de sleutel houdt. De enige extra kosten zijn sleutelafleiding: PBKDF2 uitvoeren met honderdduizenden iteraties duurt ongeveer 0,5-2 seconden op een moderne iPhone. Dit gebeurt eenmaal bij het ontgrendelen van de kluis, niet per bestand. In de praktijk merken gebruikers geen snelheidsverschil.
Betekent zero-knowledge dat de app helemaal geen data verzamelt?
Niet noodzakelijk. Zero-knowledge verwijst specifiek naar de versleutelingsarchitectuur. De provider heeft geen toegang tot de versleutelde inhoud. De app kan nog steeds anonieme analyses, crashrapporten of gebruiksmetadata verzamelen als de gebruiker instemd. Wat het niet kan verzamelen is de inhoud van versleutelde bestanden, de versleutelingssleutel of de referentie die wordt gebruikt om deze af te leiden. Het privacybeleid van Vaultaire beschrijft precies welke optionele data wordt verzameld met toestemming van de gebruiker.
Hoe verhoudt zero-knowledge versleuteling zich tot Apple's Geavanceerde gegevensbescherming?
Apple's Geavanceerde gegevensbescherming (GGB), geïntroduceerd in iOS 16.2, breidt end-to-end versleuteling uit naar de meeste iCloud-datacategorieën. Met GGB ingeschakeld kan Apple de beschermde data niet openen. De belangrijkste verschillen met een speciale zero-knowledge app: GGB is opt-in (standaard uitgeschakeld), vereist een Apple ID en beschermt data alleen binnen het Apple-ecosysteem. Een zero-knowledge kluis-app zoals Vaultaire werkt onafhankelijk van Apple's infrastructuur, vereist geen account en voegt functies toe zoals aannemelijke ontkenning en dwangmodus die GGB niet biedt.
Samenvatting
Zero-knowledge versleuteling is de architectuur waarbij de provider wiskundig geen toegang heeft tot gebruikersdata omdat versleutelingssleutels het apparaat van de gebruiker nooit verlaten. Het verschilt van standaard versleuteling, versleuteling in rust en zelfs sommige vormen van end-to-end versleuteling op één kritieke manier: het onvermogen van de provider om data te openen wordt afgedwongen door wiskunde, niet door beleid. De afweging -- de sleutel verliezen betekent de data verliezen -- is geen bug. Het is het mechanisme dat de garantie reëel maakt.