CashfulnessCashfulness
Naar de bèta
Privacy

End-to-end-versleuteling uitgelegd voor wie niet technisch is

17 juli 202610 min

Er is een zin die we vaak herhalen, als we het over Cashfulness hebben.

“We zien je documenten niet.”

Het is een zin die makkelijk gezegd is. Veel apps zeggen hem.

Het punt is wat er onder die zin zit. Want “we kijken er niet naar” en “we kunnen er niet naar kijken” zijn twee heel verschillende beloftes.

De eerste is een belofte van goede wil: we vertrouwen erop dat jij het niet doet.

De tweede is een belofte van onmogelijkheid: zelfs als je zou willen, kun je het niet.

Bij Cashfulness geldt voor de documenten die je uploadt de tweede. En het technische woord dat dat waarmaakt, heet end-to-end-versleuteling.

In het Engels vind je het afgekort als E2EE, van end-to-end encryption: versleuteling “van het ene uiteinde naar het andere”.

Ik weet dat het IT-jargon klinkt. Beloofd: aan het einde van dit artikel begrijp je het, ook als je nog nooit een regel code hebt geschreven in je leven. En je zult begrijpen waarom het voor een app waar je de cijfers van je huishouden bijhoudt, een keuze is die alles verandert.

Eerst, de juiste woorden

Laten we bij het werkwoord beginnen. Een bestand versleutelen betekent het omzetten in een onleesbare reeks.

Niet verstoppen achter een wachtwoord dat vraagt “laat me binnen”. Het echt omvormen: de tekst, de cijfers, de afbeeldingen nemen en herleiden tot een blok tekens dat niets betekent voor wie de juiste sleutel niet heeft.

Wat dat blok terugbrengt naar leesbare vorm, heet de sleutel. Het is een stukje informatie — zie het als een heel, heel lang wachtwoord dat door de computer gegenereerd wordt — zonder hetwelk het bestand ruis blijft.

Je versleutelt met de sleutel. Je ontsleutelt met de sleutel. Zonder sleutel is het een muur.

Onthoud deze twee woorden — versleutelen en sleutel — want al de rest draait om waar die sleutel leeft.

De kluis bij de bank

Ik geef het voorbeeld dat volgens mij alles verduidelijkt.

Ken je de kluizen bij de bank? Waar mensen belangrijke documenten in leggen, wat juwelen, de dingen die ze niet thuis willen bewaren.

Zo werken ze.

De bank geeft je een gepantserde, bewaakte, inbraakvrije kluisruimte. Daarin staat jouw kluisje.

Maar de sleutel van jouw kluisje heb jij. Alleen jij.

De bank beheert de kluisruimte. Ze kan jouw kluisje niet openen. Ze heeft de sleutel niet. Als morgen een oneerlijke medewerker zou willen rondneuzen, kan dat niet: het slot gaat niet open zonder jouw sleutel. Als dieven zouden binnenkomen en de hele kluisruimte meenamen, zouden ze een gesloten metalen doos in handen hebben die ze niet kunnen openen.

De bank biedt je een dienst — de veiligheid van de kluisruimte — zonder toegang te eisen tot wat je erin legt.

End-to-end-versleuteling is precies dit, toegepast op digitale bestanden.

Cashfulness is de bank: ze biedt je de kluisruimte, namelijk onze servers waar je documenten bewaard worden.

Jij bent de enige met de sleutel van het kluisje.

En wij, zoals de bank, bewaren zonder te kunnen openen.

Wat er gebeurt, in de praktijk, wanneer je een document uploadt

Stel dat je je bankafschrift, een elektriciteitsrekening, het huurcontract, een polis in Cashfulness wilt bewaren.

Dat zijn de documenten die je in Cashfulness kunt uploaden: bankafschriften, rekeningen, contracten, polissen. Zaken vol met jouw gegevens — volledige naam, adres, IBAN, bedragen, tegenpartijen.

Dit is de volgorde.

Je kiest het bestand op je telefoon of computer.

Voordat het vertrekt, nog op je toestel, wordt het document versleuteld. Het wordt dat blok ruis waar ik het over had.

Pas daarna, al versleuteld, reist het naar onze servers.

Op de server komt er ruis aan. Op de server blijft er ruis.

Wanneer jij het wilt herlezen, komt het document terug naar je toestel, nog steeds versleuteld, en daar — alleen daar, met jouw sleutel — wordt het weer leesbaar.

Het moment van versleuteling is het belangrijke deel: het gebeurt bij jou, voor het vertrek. Niet “eenmaal aangekomen op de server, sluiten wij het voor jou af”. Dat zou de bank zijn die een kopie van jouw sleutel in de la van de directeur bewaart.

Nee. Wij hebben de sleutel nooit. Ze ontstaat bij jou en blijft bij jou.

Waar je sleutel leeft

Terechte vraag, op dit punt: en als ik die gezegende sleutel kwijtraak? Waar bewaar ik hem?

De sleutel van je documenten ontstaat uit twee dingen van jou.

Het eerste is je wachtwoord, waarmee je Cashfulness binnengaat.

Het tweede is een reeks van 24 woorden die je krijgt wanneer je deze bescherming activeert. Het is een systeem dat ook elders gebruikt wordt om de meest gevoelige sleutels te bewaren — vierentwintig gewone woorden, in een bepaalde volgorde, die samen dienen als een hoofdsleutel voor herstel.

Uit deze twee dingen wordt, op jouw toestel, de sleutel opgebouwd die je documenten versleutelt en ontsleutelt.

En hier zit het punt dat het hele artikel waard is: die sleutel verlaat je toestel nooit.

Ze passeert niet via onze servers. We bewaren ze nergens. We zien ze niet voorbijkomen.

Het is alsof de sleutel van het kluisje bij jou thuis gesmeed werd, door jou, en daar nooit weggaat. De bank heeft hem nooit gezien, zelfs geen moment.

Voor onze servers is, ik herhaal het, elk document van jou en blijft een blok digitale ruis.

Wie je documenten niet kan lezen (dat wil zeggen: iedereen behalve jij)

Ik probeer expliciet te zijn, want meestal is dit het punt waarop een privacybelofte overeind blijft of doorzakt.

Je geüploade documenten kunnen wij die Cashfulness bouwden niet lezen. Er is nergens een paneel waar een van onze technici jouw polis opent. Technisch bestaat het niet, omdat we de sleutel niet hebben.

Ze kunnen niet gelezen worden door wie de servers beheert waarop de gegevens draaien.

Ze zouden niet gelezen kunnen worden door een aanvaller die op een dag onze systemen zou binnendringen en alles zou meenemen: die zou ruis in handen krijgen, onbruikbare bestanden.

En we zouden ze niet leesbaar kunnen afgeven zelfs als een autoriteit erom zou vragen, want we hebben ze niet in klare tekst. We kunnen enkel de ruis afgeven die we bewaren.

De zin “we zien je documenten niet” stopt op dit punt een aardige geruststelling te zijn.

Het wordt een technische beschrijving van een feit.

We zien ze niet omdat we niet kunnen. Dat is iets anders.

De keerzijde van de medaille (en die vertel ik je liever zelf, eerst)

Zo'n strenge bescherming heeft een prijs, en het zou oneerlijk zijn die te verbergen.

Als je je wachtwoord kwijtraakt en ook je 24 herstelwoorden kwijtraakt, worden je documenten onleesbaar. Voor altijd. Ook voor ons.

Er is geen knop “ik ben alles vergeten, stuur me de bestanden terug”. Er is geen technicus van ons die via het raam terug naar binnen kan en ze voor je kan herstellen.

Terug naar het kluisje bij de bank: als je je sleutel kwijtraakt en niemand anders een kopie heeft, blijft alles in het kluisje, maar niemand opent het nog.

Ik begrijp dat het zo gebracht wel wat onrust kan geven. Maar bekijk het van de andere kant, en dat is de reden waarom we ervoor kozen.

Als er ergens een “back-up” van jouw sleutel zou bestaan — op onze server, in de la van de directeur — zou die kopie het zwakke punt van het hele systeem zijn. Het zou het eerste zijn wat een aanvaller zoekt. Het zou de deur zijn die een autoriteit ons zou kunnen vragen te openen. Het zou het bestand zijn dat een oneerlijke medewerker zou kunnen kopiëren.

Een sleutel die alleen op jouw toestel bestaat, die deur gaat gewoonweg niet open.

We kozen ervoor je de volledige controle te geven — met de last die dat meebrengt — in plaats van een kortere weg te bewaren die vroeg of laat het gat in de dijk zou worden.

Het praktische gebaar dat we van jou vragen, is er maar één: bewaar je 24 woorden zoals je de eigendomsakte van je huis zou bewaren. Opgeschreven, op een veilige plek, uit het zicht. Niet in een mail aan jezelf, niet in een notitie op je telefoon. Die 24 woorden zijn de reservekopie van je sleutel. Bewaar ze zoals je de dingen bewaart die ertoe doen.

Een eerlijke verduidelijking: E2EE dekt hier de documenten

Ik wil je niet meer verkopen dan er is, want dat zou het tegenovergestelde zijn van heel dit artikel.

De end-to-end-versleuteling (end-to-end encryption, E2EE) waarover ik het had, beschermt de documenten die je uploadt: bankafschriften, rekeningen, contracten, polissen. Dat is het meest gevoelige niveau, en daar hebben we het strengste slot op gezet.

Je echte boekhoudkundige gegevens — de rekeningen, de saldi, de bewegingen die je positiebepaling vormen, oftewel je nettovermogen — volgen een andere logica.

Ze leven op een van onze databases, op Europese servers, en zijn in leesbare vorm aan de serverkant. Het is een noodzakelijke technische keuze: ze zijn nodig om je boekhouding gelijkgesteld te houden tussen telefoon en computer, en om in real time de statistieken te berekenen die we je tonen. Ze op precies dezelfde manier versleutelen als de documenten zou de app doodtraag maken en, in de praktijk, onbruikbaar.

Maar — en hier zit het deel dat velen niet verwachten — die cijfers reizen zonder je biografie eraan vast.

Wanneer je je registreert, vragen we een bijnaam (wat je maar wilt, ook verzonnen), een e-mailadres en een wachtwoord. We vragen niet naar voor- en achternaam, rijksregisternummer, geboortedatum, adres, telefoon.

Zo zou zelfs wie toegang zou hebben tot de database een bepaalde bijnaam zien met rekeningen, saldi, bewegingen — maar zonder manier om die cijfers te koppelen aan de echte persoon die jij bent.

Over hoe die tweede laag werkt, en waarom we die op twee niveaus opbouwden in plaats van op één, staat een apart artikel: Radicale privacy: twee niveaus, één belofte. Hier stop ik, want het onderwerp van vandaag is de sleutel van het kluisje.

Het punt dat ik wilde vastleggen, is dit: wanneer we zeggen dat end-to-end-versleuteling je documenten onleesbaar maakt, hebben we het over de documenten. Voor de rest geldt een andere bescherming, even ernstig. En ik vertel het je liever nauwkeurig, dan je te laten geloven in een magische versleuteling die alles dekt.

Waarom het ons zo aan het hart lag, tot op dit punt

Ik zou hier kunnen stoppen bij de techniek. Maar de techniek alleen is niet de reden.

De reden is dat persoonlijke financiën de plek zijn waar je dingen bewaart waarover je niet graag praat, zelfs niet met vrienden. Hoeveel je echt verdient. Hoeveel je opzij hebt gezet, of hoe weinig. Een schuld die zwaar weegt.

Als je al bij het openen van zo'n app het gevoel houdt dat iemand, ergens, kan meekijken, dan geeft die app je nooit datgene waarvoor ze bestaat.

Wij noemen dat rust. The calm side of money, de kalme kant van geld. En die rust is, als je cijfers niet echt veilig zijn, gewoon een woord op de website.

End-to-end-versleuteling op documenten is geen technische trofee om uit te stallen. Het is de vloer waarop al de rest steunt: zonder haar zijn de statistieken en de positiebepaling meubels die op leegte staan.

Daarom hebben we het in de fundamenten geschreven, niet er later bijgevoegd als een extra schakelaar.

In één zin

Ik laat ze je na in de kortste vorm die ik heb.

Je documenten sluit je op in een kluisje. De sleutel van het kluisje heb jij als enige, en ze verlaat je toestel nooit. Wij bewaren het gesloten kluisje, en we kunnen het niet openen.

Niet omdat we beloofd hebben goed te zijn.

Omdat we onszelf, met opzet, de mogelijkheid ontnomen hebben om het niet te zijn.

— Vittorio