Bij een aanbesteding staat de vraag in het beveiligingsformulier: "worden gegevens versleuteld verzonden en opgeslagen?" De leverancier vinkt ja aan, want dat klopt. Iemand concludeert daaruit dat gevoelige gegevens veilig in de tool kunnen. Dat volgt er niet uit.
Versleuteling is een echte maatregel tegen een echt risico. Alleen niet tegen dit risico.
Waar versleuteling tegen beschermt
Er zijn bij een clouddienst twee plekken waar versleuteling standaard wordt toegepast, en ze doen allebei precies één ding.
In transport. Tussen jouw browser en de server van de aanbieder gaat het verkeer over een versleutelde verbinding. Wie op het wifinetwerk van het treinstation meeluistert, ziet dat je met een dienst praat maar niet wat je zegt. Dit is de bescherming die het slotje in je adresbalk aangeeft, en hij werkt.
In rust. Op de schijven van het datacentrum staan de gegevens versleuteld. Wie een schijf meeneemt of een back-uptape steelt, heeft er niets aan. Ook dit werkt, tegen dat scenario.
Beide beschermen tegen een buitenstaander. Geen van beide beschermt tegen de partij die de sleutel heeft, en dat is de aanbieder.
Waarom de ontvanger de tekst moet kunnen lezen
Dit is het punt dat zelden hardop wordt gezegd.
Een taalmodel rekent op je tekst. Het knipt hem in stukjes, zet die om naar getallen, en berekent daaruit het volgende woord. Dat kan niet met versleutelde tekst: versleutelde tekst is per ontwerp ononderscheidbaar van ruis, en op ruis valt niets te berekenen.
Dus zodra je bericht aankomt, wordt het ontsleuteld. Het staat leesbaar in het werkgeheugen van de server tijdens de verwerking, en daarna wordt het meestal opgeslagen zodat je je geschiedenis terugziet. Dat is niet stiekem, het is de enige manier waarop de dienst kan werken.
Dat is meteen waarom een AI-assistent niet end-to-end versleuteld kan zijn op de manier waarop een berichtendienst dat is. Bij end-to-end versleuteling kan alleen de ontvanger ontsleutelen en de tussenpersoon niet. Bij een assistent ís de tussenpersoon de ontvanger. Er is niemand anders aan de andere kant.
Hetzelfde misverstand in een andere vorm bespreken we in WhatsApp op het werk: ook daar beschermt versleuteling het transport, en niet de ontvanger, het apparaat of de vraag of dit bericht hier hoorde.
Wat er wel gebeurt met de ontsleutelde tekst
Nadat je bericht is ontsleuteld, gelden alle gewone regels van de dienst:
- Het gesprek wordt opgeslagen, met een bewaartermijn. Zie wat een chatgeschiedenis technisch gezien is.
- Bij een vermoeden van misbruik mogen medewerkers van de aanbieder het beoordelen.
- Bij een consumentenaccount wordt de tekst standaard gebruikt om te trainen, tenzij je dat uitzet.
- Bij een rechterlijk bevel kan de tekst bewaard blijven ook als jij hem hebt gewist.
Versleuteling verandert aan geen van deze vier iets. Ze staan er los van, en samen wegen ze zwaarder in je risicobeoordeling dan het vinkje bij versleuteling.
Is er dan geen techniek die dit oplost?
Er wordt aan gewerkt, en het is eerlijk om te zeggen dat het nog geen praktijk is.
Homomorfe versleuteling maakt rekenen op versleutelde gegevens in principe mogelijk, maar is voor grote taalmodellen ordes van grootte te traag. Beveiligde uitvoeromgevingen (een afgeschermd stukje van de processor waar zelfs de beheerder niet in kan kijken) worden door sommige aanbieders ingezet voor delen van de verwerking, en dat is een reële verbetering. Het is alleen iets anders dan end-to-end versleuteling, en je moet per aanbieder nagaan wat er precies onder valt.
De praktische regel voor nu: ga er in een beoordeling niet van uit dat de aanbieder je tekst niet kan lezen, tenzij hij precies uitlegt hoe dat technisch is dichtgezet.
Wat wel helpt
Twee dingen, en ze zijn allebei minder elegant dan een vinkje op een formulier.
Het eerste is verwerking die niets bewaart. Tekst die na de controle meteen wordt gewist, staat daarna nergens meer ontsleuteld op een schijf, hoe goed die schijf ook beveiligd is. Welke vragen je daarover stelt, staat in waar je data blijft.
Het tweede is de tekst zelf. Minder gevoelige gegevens in de prompt betekent minder gevoelige gegevens die ontsleuteld op een server staan, ongeacht hoe goed die server beveiligd is.
Dat is geen spannende conclusie, en het is de enige die onafhankelijk is van de leverancier, het abonnement en het jaar. Versleuteling regelt hoe je tekst reist. Wat erin staat, blijft een keuze van degene die hem typt.