Senior Associate Botezatu si Asociatii | TheCounsel
Experience
Commercial law
Technology projects
Data protection
Finance
Education
Universiteit Leiden
Master of Laws (LL.M.) Public International Law
2011-2012
Universitatea din București
Bachelor of Laws (LL.B.) Law
2007-2011
Academia de Studii Economice din București
Bachelor’s Degree International Economics
2007-2010
Conferința Data Protection Experts
Înregistrarea video
Transcriptul
Răzvan Neacșu: Bună ziua! Vreau să vă vorbesc despre un concept pe care îl consider de viitor în lumea protecţiei datelor personale.
Conceptul vine din criptografie, dar consider că promite să schimbe cum funcţionează multe aspecte din industrie şi, în special cum poate industria să lucreze, să interacționeze cu consumatorii fără să ceară atât de multe date personale.
Acest concept se numeşte Zero-Knowledge Proof, un concept care, în principiu, lovește într-o paradigmă clasică a tranzacţiilor, şi anume, că încrederea este invers proporţională cu confidenţialitatea. În special în era digitală, ca să putem fundamenta încredere pentru desfasurarea unor tranzacţii, trebuie să împărtășim datele noastre personale, trebuie să renunţăm la privacy, la confidenţialitate.
Zero-Knowledge Proof este o metodă prin care putem fundamenta încredere între părţile unei tranzacții, fără să împărtășim foarte multe date personale.
Ce putem să spunem initial despre Zero-Knowledge Proof este că nu se traduce foarte bine în limba română.
În primul rând, conceptul a fost teoretizat de criptografi ca o metodă de a dovedi că o parte deţine o anumită informaţie, fără ca acea parte să dezvăluie conţinutul informaţiei. Sună puţin ciudat, însă am o schemă foarte bună prin care vă voi ilustra puțin mai târziu.
Un exemplu practic în care Zero-Knowledge Proof ne poate ajuta: să spunem că vreau să cumpăr ţigări de la magazin şi trebuie să demonstrez că am peste 18 ani. În mod normal, îmi prezint buletinul, dar vânzătorul, pe lângă faptul că am peste 18 ani, află despre mine şi că m-am născut în Focşani, ce vârstă exactă am şi aşa mai departe. Dacă ar fi să aplicăm un protocol, o metodă de tip Zero-Knowledge Proof, vânzătorul ar putea să afle doar că eu îndeplinesc această condiţie de vârstă, fără să-mi afle datele personale, nici măcar data de naştere. În acelaşi timp, printr-un astfel de protocol vânzătorul ar fi pe deplin satisfăcut de dovadă, de faptul că îndeplinesc condiția de vârstă, că am peste 18 ani.
Practic, folosindu-se principii matematice transparente, încrederea (trust-ul) poate fi fundamentată între părți şi se pot derula tranzacţii cu o aplicabilitate mare în mediul online.
Caracteristicile Zero-Knowledge Proof, aşa cum au fost teoretizate sunt: (i) caracterul deplin al Zero-Knowledge Proof, aceasta înseamnă că, respectându-se protocolul, cel care verifică va fi pe deplin convins că acea dovadă a fost satisfăcută integral; (ii) caracterul sigur, și anume că nu putem să trișăm acest protocol; şi (iii) caracterul autentic Zero-Knowledge, faptul că cel care verifică nu primeşte orice alte informaţii suplimentare.
Acum să prezentăm câteva exemple practice, care ne vor ajuta să înţelegem conceptul.
Cunoașteti jocul Unde este Wally?
Unde este Wally este joc tip un puzzle unde scopul este să găsim personajul Wally în acest amalgăm de oameni ilustrați. Să ne imaginăm că avem doi jucători: Maria şi Felix. Maria ştie deja unde este Wally pentru ca a rezolvat deja puzzle-ul. Felix nu ştie unde este Wally.
Maria vrea să-i demonstreze lui Felix că ea cunoaste solutia, ca l-a găsit pe Wally, fără însă să-i strice jocul, adică fără să-i arăte exact unde este Wally. Astfel, Maria trebuie să gândească un protocol Zero-Knowledge, prin care o să-i demonstreze lui Felix că a găsit soluţia, fără a-i arăta soluţia. Cum face? Maria ia un carton mai mare, mult mai mare decât puzzle-ul, decupează forma lui Wally în acest carton şi va lipi puzzle-ul pe spatele cartonului, astfel încât Felix îl va vedea numai pe Wally. În această situație, puzzle-ul din spate ar putea să fie oriunde în spatele cartonului. Astfel, Felix va fi convins pe deplin că Maria știe unde este Wally, dar nu va ști niciodată practic unde se afla Wally în acel puzzle. Acesta este un exemplu de Zero-Knowledge Proof. Desigur, este un exemplu foarte simplificat, aplicațiile reale sunt mult mai complexe.
Mai avem un exemplu: jocul bilelor. Maria are două bile colorate distinct, însă Felix nu poate să distingă culoarea bilelor (să presupunem ca are o forma de daltonism). Maria vrea să-i arate lui Felix că bilele sunt distincte și că ea poate să le distingă, fără însă a-i dezvăluit ce culoare are fiecare bilă. Astfel Maria gândește un nou protocol Zero-Knowledge Proof: îi spune lui Felix sa ascundă bilele la spate si apoi sa-i arate oricare bilă, urmând să o ascundă din nou. În momentul acela, Felix va avea două opțiuni: fie să-i arate aceeași bilă Mariei, fie să-i arate cealaltă bilă. Ținem minte că Felix nu le distinge.
Maria, privind a doua bilă, poate să-i spună lui Felix fie că este vorba de aceeași bilă sau că este vorba de o bilă diferită. Astfel, Maria îi demonstrează lui Felix că poate să distingă bilele și că bilele sunt diferite fără ca Felix să afle ce culoare are fiecare bilă, sau să primească orice alta informație asupra culorii bilelor. Desigur, Maria poate din întâmplare să ghicească exact ce a făcut Felix (de exemplu, i-a arătat aceeași bilă). Pentru a se asigura împotriva unui asemenea risc, Felix va repeta operațiunea de mai multe ori, încât să fie probabilistic imposibil ca Maria să fi ghicit din întâmplare. Desigur, cu cât repetăm mai mult operațiunea cu atât șansele a Maria să fi ghicit din întâmplare scad. Nu va fi niciodată posibil ca dovada să fie 100% perfectă, însă pentru scopurile acestui joc se poate considera o demonstrație suficientă.
Acestea sunt cele două exemple de Zero-Knowledge Proof pe care am timp astăzi să vi le prezint.
În privința aplicațiilor din industrie, după cum am spus, este un concept destul de verde, cel puțin în sectorul protecției datelor personale, însă începe să fie un concept din ce în ce mai vehiculat ca soluție de minimizare a datelor și de conformitate cu GDPR.
Există la acest moment o dezvoltare teoretică, precum și un proof of concept cu privire la dovada îndeplinirii condiției de vârstă minimă printr-o metodă criptografică bazată pe hash chain. Această varianta de dovadă Zero-Knowledge Proof ar permite, la fel ca în exemplul cu cumpărarea țigărilor, ca o persoană să demonstreze îndeplinirea condiției de vârstă minimă fără a mai fi nevoie să împărtășească o multitudine de date personale.
De asemenea, pe același principiu, există teoretizată o modalitate de a dovedi nivelului minim al fondurilor bancare. Astfel, nu va mai trebui să publicam tot statement-ul bancar când dorim să demonstrăm că avem la dispoziție fonduri suficiente pentru o anumită tranzacție, ci va putea fi făcută o dovadă suficientă că avem o sumă minimă disponibilă printr-un protocol de tip Zero-Knowledge Proof.
De asemenea, există și o teoretizare a unui sistem de votare electronic cu adevărat secret, pentru că, în momentul în care vrem să votăm printr-un sistem electronic, ca să existe o siguranță a protocolului, trebuie să ne autentificăm, dar această autentificare lovește în caracterul secret al votului. S-a teoretizat o metodă Zero-Knowledge Proof prin care se dezvoltă o identitate-umbră, o shadow identity, iar persoana poate să voteze prin acel shadow identity, în același timp existând o siguranță certă că sistemul de vot va avea toate criteriile de securitate îndeplinite. O problemă însă la acest tip de concept Zero-Knowledge Proof este că fiecare implementare diferită necesită o altă teoretizare a conceptului fundamental, pentru că după cum ați văzut, fiecare proof trebuie să fie diferit în funcție de ce anume trebuie dovedit.
Cam atât am avut timp să vă spun astăzi. Vă mulțumesc!