Co robi dowód z wiedzą zerową
Udowodnienie czegoś oznacza zazwyczaj pokazanie dowodu: podanie hasła lub przekazanie dowodu osobistego. To może ujawnić więcej, niż druga osoba musi wiedzieć.
Dowód z wiedzą zerową to metoda kryptograficzna, która to zmienia. Jedna osoba, zwana dowodzącym, przedstawia konkretne twierdzenie drugiej, zwanej weryfikującym, nie ujawniając tajemnicy, dzięki której to twierdzenie jest prawdziwe. Weryfikujący poznaje odpowiedź, której potrzebuje – na przykład to, czy spełniasz wymóg wieku – ale nie poznaje Twojej daty urodzenia, adresu ani numeru dokumentu.
Nie jest to mglista obietnica prywatności. Dowód trzeba zaprojektować pod dokładnie jedno twierdzenie, a dobrze zaprojektowany dowód sprawia, że oszustwo staje się skrajnie mało prawdopodobne.
Przykład jaskini
Wyobraź sobie jaskinię z dwiema ścieżkami, które spotykają się za zamkniętymi drzwiami. Drzwi otwierają się tylko za pomocą tajnego słowa. Mówisz, że to wiesz, ale nie chcesz powiedzieć tego na głos.
Wchodzisz do jaskini dowolną ścieżką, a Twój przyjaciel czeka na zewnątrz. Następnie przyjaciel woła, którą ścieżką masz wrócić. Jeśli znasz słowo, możesz otworzyć drzwi w głębi jaskini i wrócić dowolną ścieżką. Jeśli zgadujesz, masz tylko pięćdziesiąt procent szans, że trafisz na właściwą stronę.
Powtórz próbę wiele razy, za każdym razem z nowym, nieprzewidywalnym wyborem. Po dziesięciu udanych rundach osoba blefująca ma już tylko około 1 szansy na 1000, że miała szczęście. Twój przyjaciel zyskuje mocny dowód na to, że znasz słowo, ale nigdy go nie usłyszy.
Od historii jaskini po prawdziwe oprogramowanie
Prawdziwe dowody wykorzystują matematykę, a nie jaskinię, ale cel dotyczący prywatności jest ten sam. Mogą pokazać, że transakcja jest zgodna z zasadami, nie ujawniając wszystkich jej szczegółów. Mogą również pozwolić, aby jeden mały dowód zastąpił dużą partię kontroli, co może przyspieszyć weryfikację niektórych systemów.
Kolejnym praktycznym zastosowaniem są poświadczenia cyfrowe. Zamiast przesyłać cały dokument tożsamości do każdej usługi, dobrze zaprojektowane poświadczenie mogłoby odpowiadać tylko na zadane pytanie: „Czy ta osoba ma ukończone 18 lat?” albo „Czy ma tę kwalifikację?”
Szczegóły mają znaczenie. Dowód chroni tylko te informacje, do których ukrycia został stworzony. Reszta aplikacji może nadal zbierać dane, identyfikować Cię albo w innym miejscu podjąć złą decyzję dotyczącą bezpieczeństwa.
Dowód z wiedzą zerową a szyfrowanie z wiedzą zerową
Wyrażenie „wiedza zerowa” pojawia się też w kontekście przechowywania danych w chmurze. To inny temat. Szyfrowanie z wiedzą zerową oznacza, że dostawca usługi nie może odczytać Twoich plików, bo nie ma kluczy potrzebnych do ich odszyfrowania.
Dowód z wiedzą zerową odpowiada na pytanie, nie ujawniając tajemnicy, na której się opiera. Szyfrowanie z wiedzą zerową sprawia, że przechowywane pliki są nieczytelne dla dostawcy. Oba mogą poprawić prywatność, ale nie da się ich stosować zamiennie.
Praktyczna lekcja prywatności
Dowody z wiedzą zerową to dobre przypomnienie, by udostępniać tylko minimum informacji potrzebnych do wykonania zadania. Nie czynią Cię anonimowym ani nie zabezpieczają każdej części aplikacji. Usługa może nadal wiedzieć, że się połączyłeś, kiedy to zrobiłeś, i znać inne dane spoza samego dowodu.
Sealby nie potrzebuje dowodów z wiedzą zerową, bo nie ma konta ani serwera, który prosiłby Cię o udowodnienie czegokolwiek. Pliki są szyfrowane na Twoim iPhonie. Jeśli chodzi o codzienną prywatność, praktyczne pytanie jest proste: co tak naprawdę musi wiedzieć dana usługa i czy nie mogłaby wiedzieć mniej?