Què fa una prova de coneixement zero
Normalment, demostrar alguna cosa vol dir mostrar les proves: introduir una contrasenya o lliurar un document d'identitat. Això pot revelar més del que l'altra persona necessita saber.
Una prova de coneixement zero és un mètode criptogràfic que canvia això. Una persona, el provador, demostra una afirmació precisa a una altra, el verificador, sense revelar el secret que fa certa aquesta afirmació. El verificador obté la resposta que necessita —per exemple, que compliu un requisit d'edat— però no la vostra data de naixement, ni l'adreça, ni el número de document.
No és una promesa vaga de privadesa. Una prova s'ha de dissenyar per a una afirmació exacta, i els bons dissenys fan que fer trampes sigui extremadament improbable.
L'exemple de la cova
Imagineu una cova amb dos camins que es troben darrere d'una porta tancada. La porta només s'obre amb una paraula secreta. Dieu que la sabeu, però no la voleu dir en veu alta.
Entreu per un dels dos camins mentre el vostre amic espera fora. Aleshores, el vostre amic diu en veu alta per quin camí vol que torneu. Si sabeu la paraula, podeu obrir la porta dins de la cova i tornar per qualsevol dels dos camins. Si ho endevineu, només teniu una probabilitat del cinquanta per cent d'estar al costat demanat.
Repetiu la prova moltes vegades amb una elecció nova i imprevisible. Deu rondes correctes deixen qui va de farol amb una probabilitat d'aproximadament una entre 1.000 d'encertar-ho per sort. El vostre amic obté proves sòlides que sabeu la paraula, però no la sent mai.
De la història de la cova al programari real
Les proves reals utilitzen matemàtiques en lloc d'una cova, però l'objectiu de privadesa és el mateix. Poden demostrar que una transacció segueix les regles sense exposar-ne tots els detalls. També permeten que una petita prova substitueixi un gran lot de comprovacions, cosa que pot accelerar la verificació d'alguns sistemes.
Les credencials digitals són un altre ús pràctic. En lloc de pujar una identificació sencera a cada servei, una credencial ben dissenyada només podria respondre la pregunta que es fa: «Aquesta persona té més de 18 anys?» o «Té aquesta titulació?»
Els detalls importen. Una prova només protegeix la informació que es va dissenyar per amagar. L'aplicació que l'envolta encara pot recollir dades, identificar-vos o prendre una mala decisió de seguretat en un altre lloc.
Prova de coneixement zero vs xifratge de coneixement zero
L'expressió «coneixement zero» també s'utilitza en l'emmagatzematge al núvol. És una idea diferent. El xifratge de coneixement zero significa que el proveïdor d'emmagatzematge no pot llegir els vostres fitxers perquè no té les claus de desxifratge.
Una prova de coneixement zero respon a una pregunta sense exposar el secret darrere de la resposta. El xifratge de coneixement zero fa que els fitxers emmagatzemats siguin il·legibles per a un proveïdor. Tots dos poden millorar la privadesa, però no són intercanviables.
Una lliçó pràctica de privadesa
Les proves de coneixement zero són un bon recordatori per compartir només la informació mínima necessària per a una tasca. No us fan anònims ni protegeixen totes les parts d'una aplicació. Un servei encara pot saber que us heu connectat, quan ho heu fet i altres dades que queden fora de la prova.
Sealby no necessita proves de coneixement zero perquè no té cap compte ni servidor que us demani demostrar res. Els fitxers es xifren al vostre iPhone. Per a la privadesa del dia a dia, la pregunta pràctica és senzilla: què necessita saber realment aquest servei? I pot funcionar amb menys?