Hvad et nulvidensbevis gør
Normalt betyder det at bevise noget, at man skal vise beviset: indtaste en adgangskode eller aflevere et id-kort. Det kan afsløre mere, end den anden person har brug for at vide.
Et nulvidensbevis er en kryptografisk metode, der ændrer dette. Den ene part, beviseren, viser en præcis påstand for den anden, kontrollanten, uden at afsløre den hemmelighed, der gør påstanden sand. Kontrollanten får det svar, de har brug for – for eksempel at du opfylder et alderskrav – men ikke din fødselsdag, adresse eller dokumentnummer.
Det er ikke et vagt løfte om privatliv. Et bevis skal designes til én præcis påstand, og gode designs gør snyd overvældende usandsynligt.
Huleeksemplet
Forestil dig en hule med to stier, der mødes bag en låst dør. Døren åbnes kun med et hemmeligt ord. Du siger, at du kender det, men du vil ikke sige det højt.
Du går ind ad en af de to stier, mens din ven venter udenfor. Din ven råber derefter, hvilken sti de vil have dig til at komme tilbage ad. Hvis du kender ordet, kan du åbne døren inde i hulen og komme tilbage ad begge stier. Hvis du gætter, har du kun en chance på 50/50 for at være på den ønskede side.
Gentag testen mange gange, med et frisk og uforudsigeligt valg hver gang. Ti vellykkede runder efterlader en bluffer med omkring 1 chance ud af 1.000 for held. Din ven får stærke beviser for, at du kender ordet, men hører det aldrig.
Fra hulehistorie til ægte software
Rigtige beviser bruger matematik i stedet for en hule, men målet for privatlivet er det samme. De kan vise, at en transaktion følger reglerne, uden at afsløre alle dens detaljer. De kan også lade ét lille bevis stå for en stor gruppe kontroller, hvilket kan gøre nogle systemer hurtigere at verificere.
Digitale legitimationsoplysninger er endnu et praktisk anvendelsesområde. I stedet for at uploade et helt id-dokument til hver tjeneste kunne en veldesignet legitimation nøjes med at svare på det spørgsmål, der bliver stillet: "Er personen over 18?" eller "Har personen denne kvalifikation?"
Detaljerne betyder noget. Et bevis beskytter kun de oplysninger, det er bygget til at skjule. Den omkringliggende app kan stadig indsamle data, identificere dig eller træffe et dårligt sikkerhedsvalg andetsteds.
Nulvidensbevis vs. nulvidenskryptering
Udtrykket 'nulviden' bruges også inden for cloud storage. Det er en anden idé. Nulvidenskryptering betyder, at lagringsudbyderen ikke kan læse dine filer, fordi den ikke har dekrypteringsnøglerne.
Et nulvidensbevis besvarer et spørgsmål, uden at afsløre hemmeligheden bag svaret. Nulvidenskryptering holder lagrede filer ulæselige for en udbyder. Begge kan styrke privatlivsbeskyttelsen, men de kan ikke bruges i stedet for hinanden.
En praktisk privatlivslektion
Nulvidensbeviser er en nyttig påmindelse om kun at dele de oplysninger, der er nødvendige for en opgave. De gør dig ikke anonym og sikrer ikke alle dele af en app. En tjeneste kan stadig vide, at du oprettede forbindelse, hvornår du gjorde det, og andre data uden for beviset.
Sealby har ikke brug for nulvidensbeviser, fordi den ikke har nogen konto eller server, der beder dig om at bevise noget. Filer er krypteret på din iPhone. I hverdagen er det praktiske spørgsmål om privatliv enkelt: hvad har denne tjeneste egentlig brug for at vide – og kan den nøjes med mindre?