"Nie wiesz, co podpisujesz" - protokoły ślepych podpisów

28.01.2010 - Agata Murawska
TrudnośćTrudność

Nie taki całkiem ślepy...

Jak wspomnieliśmy na początku, istnieje wersja ślepych podpisów, która nie zakłada, że podpisującemu jest wszystko jedno, pod czym stawia podpis. W zasadzie metoda jest podobna, jak przy kontroli samochodów na granicy - nie sprawdza się tam zwykle każdego, raczej na przykład co dziesiątą osobę. W ten sposób 90% ludzi nie jest kontrolowanych, ale proporcje te można w każdej chwili odwrócić. Podobnie w nowej wersji ślepych podpisów - podpisujący otrzymuje wielki pakiet pełen zaciemnionych dokumentów. Będzie on sprawdzał ("otwierał koperty") kilka z nich, a następnie podpisze jakiś niesprawdzony dokument. Ponieważ całość odbywa się losowo, szanse na oszukanie podpisującego są niewielkie - jeśli znajdzie jakiś sfałszowany dokument, na pewno nie podpisze niczego w ciemno. Z drugiej strony, żeby dostać podpisaną fałszywkę trzeba mieć podwójne szczęście - dokument nie tylko musi przejść wstępną weryfikację, ale też być wybrany jako ten do podpisania. Bardzo obrazowy przykład przedstawia Bruce Schneier w swojej książce "Applied Cryptography":

Mamy do czynienia z grupą agentów kontrwywiadu, którzy są na tyle zakonspirowani, że nawet w siedzibie służb nie wiadomo, kim oni są. Naczelnik musi wydać im imienne dokumenty gwarantujące pełen immunitet dyplomatyczny. Ponieważ agenci mają listy nazwisk zastępczych, nie można wręczyć im dokumentów "ot tak". Nieprzyjaciel może mieć dostęp do komputerów w centrali, niepodobna więc wysyłać listy pseudonimów do tejże centrali. Z drugiej strony, kierownictwo nie chce podpisywać każdej wiadomości przysłanej przez agenta (na pewno znalazłby się taki, który zechce mieć podpis pod pismem o treści "Agent Kowalski przechodzi niniejszym na emeryturę i otrzymuje uposażenie w wysokości 1000000 zł miesięcznie"). Potrzebne nam zatem częściowo ślepe podpisy. Dla uproszczenia zakładamy, że każdy agent ma po $ n $ nazwisk zastępczych znanych tylko jemu. Co więcej, jest mu całkowicie obojętne, na które nazwisko dostanie immunitet. Protokół wydawania dokumentów przebiega w następujący sposób:

Datownik
1. Agent przygotowuje $ n $ dokumentów z wnioskiem o immunitet, na każdym widnieje inne nazwisko.
2. Agent zaciemnia każdy dokument w inny sposób, a następnie przesyła pakiet dokumentów do podpisu.
3. Podpisujący wybiera losowo $ n-1 $ dokumentów i wymaga ujawnienia dla nich czynników zaciemniających.
4. Po zweryfikowaniu poprawności dokumentów, podpisujący podpisuje ostatni zaciemniony dokument i odsyła agentowi.
5. Agent ma nową tożsamość z immunitetem dyplomatycznym.

Jak widać, podkładając fałszywy dokument mamy $ \frac{1}{n} $ szansy sukcesu. To niezbyt dużo, ale da się tę liczbę jeszcze zmniejszyć. W tym celu podpisujący sprawdza tylko $ \frac{n}{2} $ dokumentów, zaś podpisuje się pod pozostałymi (zbiorowo). Podpis jest ważny tylko, jeśli jest właściwy dla $ \frac{n}{2} $ dokumentów. Potencjalny fałszerz jest (statystycznie) bez szans.

Poznaliśmy dwa najprostsze protokoły ślepych podpisów. Oczywiście od powstania ślepego podpisu (na początku lat osiemdziesiątych XX wieku) wymyślono nowe metody sygnowania dokumentów bez oglądania ich, często lepsze - ale też bardziej skomplikowane. Umożliwiają one na przykład podział wiadomości na część jawną i tajną przez zaciemniającego - będą zatem ulepszeniem ostatniego z przedstawionych przykładów, gdyż agent może wtedy zaciemnić tylko swoje dane, pozostawiając resztę jawną dla podpisującego.

Czy zaciekawiło Cię, jak dokładnie działają anonimowe elektroniczne pieniądze? Jeśli tak, zapewne ucieszy Cię, że jeden z niebawem publikowanych artykułów będzie traktował właśnie o cyfrowej gotówce.

Wszystkie zdjęcia w artykule pochodzą z wikipedii.
  • Źródło zdjęcia znaczka oraz informacja o licencji, na jakiej zostało opublikowane: link.
  • Źródło zdjęcia Davida Chauma oraz informacje o licencji, na jakiej zostało opublikowane: link.

5
Twoja ocena: Brak Ocena: 5 (1 ocena)

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com