VI. PODPIS CYFROWY
6.1. Idea podpisu cyfrowego
W ostatnich latach obserwuje się bardzo szybkie rozszerzanie się zakresu zastosowań elektronicznych dokumentów i przesyłania ich w sieciach telekomunikacyjnych. W wielu dziedzinach takiego przekazu dokumentów istnieje problem nie tyle utajnienia treści wiadomości, co identyfikacji osoby, która tę wiadomość przekazała. Przykładami takich sytuacji mogą być m.in.:
przekazywanie rozkazów i poleceń służbowych drogą elektroniczną w systemach wojskowych (np. rozkaz podjęcia określonych działań bojowych, rozkaz użycia określonego, szczególnie ważnego rodzaju broni itp.), policyjnych (np. polecenie wydania i przesłania na określony adres informacji dotyczącej określonej osoby lub sprawy) i służb bezpieczeństwa państwa;
przekazywanie wiadomości i poleceń służbowych, które mogą być podstawą do podejmowania ważnych działań w.administracji państwowej i regionalnej, w szczególności pociągających za sobą określone skutki finansowe;
przekazywanie decyzji i poleceń służbowych w relacji przełożony - podwładny w organizacjach gospodarczych;
przekazywanie zleceń przelewów pomiędzy kontami, zleceń wypłaty gotówkowej dla określonej osoby z określonego konta bankowego itp.
Biorąc pod uwagę fakt, że podczas przesyłania wiadomości drogą elektroniczną odbiorca nie ma bezpośredniego kontaktu z nadawcą, a tym samym nie ma gwarancji, że nadający i podpisujący wiadomość to rzeczywiście osoba, za którą się podaje, generowanie podpisów cyfrowych pod elektronicznymi dokumentami stało się jednym z ważniejszych zastosowań kryptografii.
Tego typu podpis musi spełniać dwa zasadnicze wymagania:
1. Niemożliwe jest podrobienie podpisu cyfrowego (jako nadawca wiadomości musi się podpisać on sam).
2. Niemożliwe jest przeniesienie podpisu z jednego dokumentu na inny, co gwarantuje, że TEN właśnie podpis został złożony pod TYM właśnie dokumentem.
Podpis cyfrowy jest ciągiem bitów, zazwyczaj krótszym od przesyłanej wiadomości. Aby spełnić obydwa z powyższych wymagań, musi być funkcją podpisywanej wiadomości (warunek powiązania podpisu z właściwym dokumentem) oraz indywidualnego, tajnego klucza nadawcy (warunek możliwości identyfikacji nadawcy i potwierdzenia jego autentyczności). Oznacza to, że podpis cyfrowy - w odróżnieniu od zwykłego podpisu ręcznego - w istotnym stopniu zależy od zawartości dokumentu, a ściślej - od równoważnej temu
122
dokumentowi (skompensowanej) jego próbki, stanowiącej pewien ekstrakt tego dokumentu. Odwzorowanie (przetworzenie) informacji z dokumentu na jej tak skompensowaną próbkę dokonuje się zwykle za pomocą tzw. funkcji skrótu (funkcji haszującej - od ang. hash).
Do podpisywania dokumentów wykorzystuje się powszechnie asymetryczne algorytmy szyfrowania. Dla realizacji podpisu cyfrowego postępowanie to wymaga podjęcia następujących kroków:
1. Czynności przygotowawcze:
Wygenerowanie pary kluczy: prywatnego dla określonej osoby
- tajnego i chronionego w taki sposób, aby na jego podstawie można było jednoznacznie potwierdzić tożsamość danej osoby oraz publicznego - dostępnego dla wszystkich tych, którzy potrzebują weryfikować podpis elektroniczny tej osoby (sprawdzać jej autentyczność).
Dystrybucja klucza publicznego do wszystkich tych osób, które mają potrzebę weryfikacji podpisu określonej osoby, w taki sposób, aby miały one gwarancję, że klucz ten jednoznacznie osobę tę identyfikuje.
2. Podpisywanie dokumentu:
Dokonanie skrótu podpisywanej wiadomości w taki sposób, aby był on swego rodzaju skondensowaną metryką tej wiadomości (ekstraktem, "odciskiem palca"), jednoznacznie charakteryzującą daną wiadomość. Skrót może mieć stosunkowo niewielkie rozmiary (rzędu kilkuset bitów) i jego długość zazwyczaj nie zależy od rozmiarów wiadomości.
Podpisanie skrótu dokumentu przy użyciu tajnego klucza indywidualnego nadawcy - połączenie ciągu skrótu i podpisu w jeden dokument elektroniczny stanowiący podpis cyfrowy.
3. Weryfikacja podpisu:
Odszyfrowanie podpisu cyfrowego kluczem publicznym.
Obliczenie wartości charakterystycznej (ekstraktu) dla weryfikowanego dokumentu.
Porównanie obliczonego ekstraktu dokumentu z ekstraktem otrzymanym w podpisie cyfrowym.
Jeśli wynik porównania wskazuje na identyczność ekstraktów -uznanie wiadomości za autoryzowaną, a w przeciwnym wypadku - odrzucenie jej jako nieautoryzowanej.
Jak już wspomniano wcześniej, do realizacji podpisu cyfrowego może być wykorzystany algorytm RSA. W praktyce jednak wykorzystuje się do tego celu przede wszystkim inny algorytm asymetryczny, zaproponowany przez amerykański instytut NIST (Państwowy Instytut Standardów i Technologii), przy rekomendacji NSA (Narodowej Agencji Bezpieczeństwa) - DSA (ang. Digital Signature Algońthm- algorytm podpisów cyfrowych), określany także mianem DSS (ang. Digital Signature Standard). Jest to konsekwencja faktu, że algorytm ten został najwcześniej zatwierdzony jako standard podpisów cyfrowych
123
w Stanach Zjednoczonych. Jego budowa i dobre własności ochronne opierają się na dużej złożoności obliczeniowej problemu znajdowania dyskretnych logarytmów.
Warto przy tym wyjaśnić pewne ograniczenia i niedogodności bezpośredniego zastosowania algorytmu RSA do tworzenia podpisu cyfrowego. Stosując schemat podpisu polegający na szyfrowaniu całej wiadomości tajnym kluczem indywidualnym nadawcy, w wyniku otrzymuje się podpis co najmniej tak samo długi, jak sama podpisywana wiadomość. Jest to, oczywiście, zjawisko wielce niepożądane, bowiem co najmniej dwukrotnie wzrasta liczba bitów koniecznych do zapamiętania. Dlatego w praktyce tworzy się ekstrakt o długości niezależnej od rozmiarów wiadomości oraz jednoznacznie potwierdzający autentyczność dokumentu i podpisuje ten ekstrakt.
Uzyskuje się przy tym dodatkową, cenną właściwość: podpis cyfrowy może w ten sposób mieć zawsze stosunkowo niewielkie rozmiary, niezależne od rozmiaru podpisywanej wiadomości, nie przekraczające kilkuset bitów (najczęściej stosowane algorytmy - sto dwadzieścia lub sto sześćdziesiąt bitów).
Inną, korzystną cechą takiego podejścia jest fakt, że można publicznie przedstawić podpis dokumentu, którego treść - z określonych względów - musi pozostać niejawna. Dzięki temu np. uniemożliwia się w procesie wyboru wykonawcy w trybie zamówień publicznych lub innej formy przetargu jakiekolwiek malwersacje, polegające na potajemnych renegocjacjach oferty w trakcie trwania procedury.
Ogólną ideę praktycznej realizacji podpisu cyfrowego przedstawia rys. 6.1.
DANE
______
FUNKCJA SKRÓTU
KLUCZ PRYWATNY NADAWCY
SKRÓT
SYSTEM KRYPTOGRAFICZNY
KLUCZA
PUBLICZNEGO
(DSS, RSA)
PODPIS CYFROWY
Rys. 6.1. Idea praktycznej realizacji podpisu cyfrowego
124
Jak wskazano powyżej, w praktycznej realizacji podpisu cyfrowego ważną rolę odgrywa skrót wiadomości (ang. message digest). Tworzenie tego skrótu wiąże się bezpośrednio z innądziałalnościąw zakresie bezpieczeństwa systemów komputerowych - zapewnianiem integralności danych i głównie do tego celu metoda ta została stworzona.
Istota zagadnienia polega na tym, że w przypadku przekazywania informacji za pośrednictwem nie chronionej sieci, nieupoważniony odbiorca może tę wiadomość przechwycić, w określony sposób ją zmodyfikować i dopiero wtedy przekazać do odbiorcy upoważnionego. Ten ostatni natomiast - nie mając możliwości sprawdzenia, czy wiadomość jest oryginalna,, czy też zmodyfikowana - wykorzystując ją może w ten sposób być narażony na różne, na ogół niepożądane konsekwencje. Zastosowanie odpowiedniej metody szyfrowania wiadomości, pozwala - obok zapewnienia niejawności - także na zapewnienie integralności danych. Dotyczy to zarówno systemów symetrycznych (z kluczem tajnym), jak i systemów asymetrycznych (z kluczem publicznym). Nie zawsze jednak konieczne lub tylko pożądane jest zastosowanie szyfrowania (chociażby ze względu na koszty lub czas), podczas gdy gwarancje integralności danych na ogół niezbędne są zawsze.
Aby zagwarantować integralność danych i umożliwić sprawdzenie tego faktu przez odbiorcę wiadomości, opracowano pewną metodę, polegającą na zastosowaniu oryginalnego algorytmu matematycznego, realizującego skrót wiadomości zgodnie z regułami znanymi tylko nadawcy i upoważnionemu odbiorcy wiadomości. Podkreślić jednak należy, że zastosowanie tego algorytmu wprawdzie gwarantuje integralność danych, jednak nie pozwala na potwierdzenie, czy przekazał je upoważniony nadawca. Takie potwierdzenie autentyczności nadawcy, jak już podkreślano, może zagwarantować tylko zastosowanie szyfrowania lub podpisu cyfrowego.
Algorytmy do tworzenia skrótów wiadomości określane są mianem jednokierunkowych funkcji skrótu, funkcji haszujących (ang. hashing func-tion) lub funkcji mieszających (hash - mieszać). Obliczanie takiego skrótu wiadomości odbywa się poprzez podanie tej wiadomości jako argumentu jednokierunkowej funkcji skrótu. Zaznaczyć należy, że termin "jednokierunkowa" został użyty tutaj w znaczeniu gwarancji braku jakiejkolwiek możliwości odtworzenia pierwotnej treści wiadomości na podstawie jej skrótu.
Miano funkcji mieszających jest, jak się wydaje, bardziej dokładne niż funkcje skrótu, bowiem funkcje te muszą realizować skrót wiadomości w taki sposób, aby prawdopodobieństwo uzyskania takiego samego skrótu dla dwóch różnych wiadomości było znikomo małe.
Wśród najbardziej rozpowszechnionych funkcji skrótu można wyróżnić MD2 i MD5 opracowane przez Ronalda Rivesta, tzw. bezpieczny algorytm mieszający SHA (ang. Secure Hash Algońthm) i SHA-1, RIPEMD. Algorytm SHA, podobnie jak DSA (DSS), jako standard został także zaproponowany przez NIST oraz zarekomendowany przez NSA.
Pełny schemat przekształcenia podpisu elektronicznego i jego weryfikacji przedstawia rys. 6.2.
PRZEKSZTAŁCENIE SKRÓTU
WIADOMOŚĆ
ORYGINALNA
m
SKRÓT WIADOMOŚCI sk = hash(m)
KLUCZ PRYWATNY PODPISUJĄCEGO
PRZEKSZTAŁCENIE KRYPTOGRAFICZNE PODPISU CYFROWEGO
PODPIS CYFROWY sig = d(sk)
WIADOMOŚĆ
m
PRZEKSZTAŁCENIE SKRÓTU
TRANSMISJA
SKRÓT WIADOMOŚCI sk" = hash(m')
WERYFIKACJA
INTEGRALNOŚCI
WIADOMOŚCI
PORÓWNANIE sk" = sk'
sk' = e(sig)
ODEBRANA
WIADOMOŚĆ
m'
KLUCZA PUBLICZNEGO
i
PRZEKSZTAŁCENIE KRYPTOGRAFICZNE WERYFIKUJĄCE PODPIS CYFROWY
Rys. 6.2. Schemat przekształcenia podpisu cyfrowego i jego weryfikacji
126
Stwierdzenie poprawności i autentyczności podpisu cyfrowego nie jest możliwe bez klucza publicznego, realizującego przekształcenie weryfikujące (rys. 6.2.) Podmiot weryfikujący podpis cyfrowy (odbiorca) musi przy tym mieć pewność, że klucz publiczny, przy pomocy którego dokonuje on tej weryfikacji, rzeczywiście należy do podmiotu, który złożył pod wiadomością podpis cyfrowy (nadawcy) - tzn. pochodzi z jedynej możliwej pary kluczy kryptograficznych, takiej, że za pomocą drugiego klucza - klucza prywatnego - nadawca utworzył weryfikowany podpis cyfrowy. Oznacza to potrzebę certyfikacji klucza publicznego, zarówno w skali danej instytucji, w skali krajowej oraz międzynarodowej. Trwają intensywne prace nad pełnym, możliwie najszerszym usankcjonowaniem prawnym podpisu elektronicznego, a w nim - podpisu cyfrowego - oraz nad zapewnieniem certyfikacji.
6.2. Certyfikacja i dystrybucja kluczy1
Prace na stworzeniem ogólnoeuropejskich ram prawnych dla podpisu elektronicznego trwają w Unii Europejskiej od 1997 r. W 1998 r. opublikowano pierwsza wersję Dyrektywy (dokument: Proposal for a Directive of the Euro-pean Parliament and of the Council on a common framework for electronic signature. October 1999), która rozróżnia pojęcia podpisu elektronicznego, zaawansowanego podpisu elektronicznego oraz kwalifikowanego certyfikatu zawiera także definicje tych pojęć i wzajemne ich relacje.
Należy podkreślić, że dokumenty prawne są tworzone na poziomie ogólności gwarantującym niezależność ustawodawstwa od aktualnych technologii stosowanych w implementacjach. Dlatego przyjęta definicja podpisu elektronicznego jest także ogólna i stanowi że:
Podpis elektroniczny oznacza dane w formie elektronicznej, dołączone lub logicznie związane z innymi danymi elektronicznymi, o takich właściwościach, że służą one jako metoda uwierzytelnienia.
Definicja ta obejmuje bardzo szeroki zakres danych różnego rodzaju, które mogą służyć za informację umożliwiającą uwierzytelnienie podmiotu. W toku dyskusji nad istotą podpisu elektronicznego okazało się, że definicję tę należy uściślić w taki sposób, aby zawrzeć w niej cechę odporności na próby sfałszowania. W ten sposób powstało pojęcie zaawansowanego (rozszerzonego) podpisu elektronicznego, który poza uwzględnieniem cech określonych w definicji "podpisu elektronicznego" charakteryzuje się wspomnianymi już w poprzednim podrozdziale właściwościami:
jest jednoznacznie związany z podmiotem podpisującym (nadawcą wiadomości);
1 Na podstawie E. Andrukiewicz: Tworzenie ogólnoeuropejskiej struktury prawnej podpisu elektronicznego, w: "Security Magazine", nr 1-2/2000, s. 5-10.
127
umożliwia identyfikację podmiotu podpisującego;
jest utworzony przy użyciu środków, nad którymi podmiot podpisujący może utrzymać kontrolę - całkowitą i wyłączną;
jest powiązany z wiadomością, względem której pozostaje w takiej relacji, że każda późniejsza jej zmiana jest wykrywalna.
Jeśli przyjąć metodę tworzenia podpisu elektronicznego w oparciu o asymetryczne techniki kryptograficzne, czyli uzależnić ją od aktualnie stosowanej technologii, to rozszerzony podpis elektroniczny może być uznany za podpis cyfrowy. Według przyjmowanej na arenie europejskiej definicji:
Podpis cyfrowy stanowią dane (lub ich przekształcenie kryptograficzne) dołączone do jednostki danych, które umożliwiają odbiorcy tej jednostki danych weryfikację źródła pochodzenia i integralność tej jednostki oraz chronią przed jej sfałszowaniem, np. przez odbiorcę.
Zależności pomiędzy pojęciami podpisu elektronicznego, rozszerzonego podpisu elektronicznego oraz podpisu cyfrowego poglądowo przedstawia rys. 6.3.
PODPIS ELEKTRONICZNY
ZAAWANSOWANY PODPIS ELEKTRONICZNY
Rys. 6.3. Klasy podpisu elektronicznego
W rozszerzonej definicji podpisu cyfrowego, obejmującej warunki, jakie powinien on spełniać, na szczególną uwagę zasługuje ten z warunków, który wskazuje na jednoznaczne powiązanie z podmiotem, który go dołączył do wiadomości przekazywanej elektronicznie. Oznacza to, że prawdopodobieństwo utworzenia przez innego nadawcę takiego samego podpisu cyfrowego, w celu jego sfałszowania lub innych działań pozaprawnych, jest pomijalnie małe. Ponadto, poprzez weryfikacje podpisu cyfrowego, dokonaną za pomocą certyfikowanego klucza publicznego, właściciel tego podpisu jest zidentyfikowany automatycznie, obiektywnie i natychmiastowo.
Warto w tym miejscu zauważyć, że tak ostrych, wręcz rygorystycznych warunków nie spełnia zwykły podpis ręczny, zwłaszcza gdy jest nieczytelny.
128
Zgodnie z przyjętymi w Dyrektywie ustaleniami, certyfikat oznacza elektroniczne poświadczenie, które zawiera powiązanie danych weryfikacji podpisu z osobą oraz potwierdza tożsamość tej osoby.
Sformułowano także pojęcie kwalifikowanego certyfikatu, odpowiadające pojęciu rozszerzonego podpisu elektronicznego. Kwalifikowany certyfikat powinien zawierać:
wskazanie, że certyfikat został wydany jako certyfikat kwalifikowany;
identyfikator kraju, gdzie ma siedzibę dostawca usług certyfikacyj-nych, który wydał ten certyfikat;
nazwę posiadacza certyfikatu lub jego pseudonim;
specyficzne atrybuty posiadacza certyfikatu, które są dodawane w zależności od przeznaczenia danego certyfikatu;
dane do weryfikacji podpisu, odpowiadające danym do tworzenia podpisu, znajdującymi się pod kontrolą posiadacza;
_; początek i koniec okresu ważności certyfikatu;
kod identyfikujący certyfikat;
rozszerzony podpis elektroniczny dostawcy usług certyfikacyjnych wydającego certyfikat;
ograniczenia zakresu stosowania certyfikatu, jeśli istnieją i mają zastosowanie;
ograniczenia wartości transakcji, do których można używać certyfikat, jeśli istnieją i maja zastosowanie.
Przyjmując relację analogicznąjak w przypadku zaawansowanego podpisu elektronicznego i podpisu cyfrowego, można określić związek technologiczny między certyfikatem kwalifikowanym oraz certyfikatem klucza publicznego. Należy jednak podkreślić, że relacja ta ma aspekt jedynie funkcjonalny. Aby certyfikat był kwalifikowany, dostawca usług certyfikacyjnych musi spełnić szereg warunków prawnych. W szczególności, Dyrektywa EU zakłada dobrowolność systemu akredytowanych instytucji wydających poświadczenia (atesty, certyfikaty) poprawności i bezpieczeństwa działania takich dostawców. Tym samym, urząd certyfikujący wydający certyfikaty kluczy publicznych, jeśli nie podda się wymaganiom poświadczenia jakości, to jego usługa nie będzie traktowana jako wydawanie kwalifikowanych certyfikatów.
Zgodnie z przyjętą definicją, certyfikatem klucza publicznego jest sekwencja danych, która charakteryzuje się następującymi właściwościami:
umożliwia identyfikację organu, który wydał certyfikat;
określa jednoznacznie nazwę lub identyfikator podmiotu, który znajduje się w posiadaniu tego certyfikatu, lub urządzenia lub elektronicznego agenta, który pracuje pod kontrolą tego podmiotu;
zawiera publiczny klucz, który odpowiada kluczowi prywatnemu znajdującemu się w posiadaniu danego podmiotu;
określa okres ważności tego certyfikatu (i zawiera ewentualne ograniczenia użytkowania klucza publicznego);
jest podpisany za pomocą prywatnego klucza organu, który wydał certyfikat.
129
Certyfikat ponadto może zawierać szereg innych, dodatkowych informacji.
Należy podkreślić, że autentyczność związku między kluczem publicznym weryfikującym dany podpis cyfrowy a tożsamością osoby wymienionej w certyfikacie (właściciela pary kluczy) jest gwarantowana mocą przekształcenia kryptograficznego podpisu urzędu certyfikacji.
W odpowiedzi na zapotrzebowanie rynku powstało szereg rozwiązań certyfikatów kluczy publicznych. W ostatnim czasie dominującą rolę uzyskuje schemat certyfikacji opisany w Zaleceniu ITU-T X.509.
Podstawową strukturę certyfikatu w standardzie X.509 przedstawia rys. 6.4. Wykorzystanie niektórych rozszerzeń tej struktury umożliwia utworzenie kwalifikowanego certyfikatu.
WERSJA
NUMER SERYJNY
IDENTYFIKATOR WYSTAWCY CERTYFIKATU
DATA WAŻNOŚCI
IDENTYFIKATOR WŁAŚCICIELA KLUCZA
INFORMACJA O ALGORYTMIE KRYPTOGRAFICZNYM
ROZSZERZENIA
TRZY PARAMETRY: TYP, KATEGORIA (KRYTYCZNE LUB NIE), WARTOŚĆ
l
POLA ADMINISTRACYJNE KLUCZ PUBLICZNY PODPIS URZĘDU CERTYFIKACJI
Rys. 6.4. Zawartość certyfikatu w standardzie X.509v3
Jest najzupełniej oczywiste, że dostatecznym uzasadnieniem utworzenia i istnienia instytucji pod nazwą Urząd ds. Certyfikatów CA (ang. Certfication Authority) jest fakt, że w dużych sieciach komputerowych praktycznie niemożliwe jest, aby jeden użytkownik sieci przechowywał wszystkie klucze publiczne wszystkich swoich korespondentów. Urząd ten posiada własną parę kluczy: klucz publiczny PCA (ang. public) i klucz tajny SCA (ang. secret). Klucz publiczny tej instytucji znają wszyscy użytkownicy sieci, klucz tajny zaś jest wykorzystywany do generacji niemożliwego do podrobienia podpisu łączącego informacje stwierdzające tożsamość określonego użytkownika z jego kluczem publicznym. Urząd ds. Certyfikatów tworzy certyfikat zawierający informację uwierzytelniającą użytkownika, jego klucz publiczny i wygenerowany do tej informacji podpis cyfrowy (vide rys. 6.4). W takiej postaci certyfikat jest przekazywany użytkownikowi, przy czym następuje rejestracja tego użytkownika w Urzędzie. Jeśli zachodzi potrzeba, aby inny użytkownik mógł skorzystać
130
z certyfikowanego klucza publicznego pierwszego użytkownika, mając przy tym gwarancję, że klucz ten będzie autentyczny i pochodzący od właściwej osoby, musi otrzymać ten klucz z Urzędu ds. Certyfikatów, podobnie jak pierwszy użytkownik certyfikat.
6.3. Aspekt prawny podpisu elektronicznego
Polska znajduje się na drodze do Unii Europejskiej. Stan zaawansowania negocjacji w dużym stopniu jest zależny także od stanu aktualnego prawa i jego zgodności z prawem europejskim. Przekształcenia polskiego prawa są niekiedy dosyć głębokie i - zwłaszcza w ostatnich latach - bardzo intensywne. Dotyczy to wielu kluczowych dziedzin życia, w tym także dziedzin związanych z funkcjonowaniem i szerokim wykorzystaniem systemów komputerowych. Jedną z węższych, ale za to bardzo ważnych dziedzin w tym zakresie było dopasowanie do standardów europejskich statusu podpisu elektronicznego. Finał trwających w tym zakresie kilkuletnich prac nastąpił 27 lipca 2001 r. W krajach Unii Europejskiej stało się to już wcześniej.
Doprowadzenie do przyjęcia przez Parlament Europejski Dyrektywy o podpisie elektronicznym było przedsięwzięciem długotrwałym. Projekt został opublikowany w maju 1998 roku, jednakże w głosowaniu w Komisji (październik 1998) nie uzyskał on jednomyślnej akceptacji (co jest warunkiem przedstawienia go Parlamentowi). Po wprowadzeniu istotnych zmian Komisja uzgodniła stanowisko w kwietniu 1999 roku. Ostateczne przyjęcie Dyrektywy przez Parlament Europejski nastąpiło 13 grudnia 1999 r.2
Problemy z zaakceptowaniem Dyrektywy przez wszystkie kraje członkowskie wynikały zarówno z różnych tradycji prawodawstwa, jak i różnego stanu regulacji dostępu do rynku dla usług związanych z podpisem elektronicznym. W momencie powstania projektu Dyrektywy kraje członkowskie miały odmienne zasady akceptacji prawnej podpisu elektronicznego (lub całkowity brak takich zasad) oraz odmienne (lub całkowity brak) zasady działania urzędów certyfikacji (kluczy publicznych). Jedynymi krajami Unii, które przed opracowaniem Dyrektywy miały ustawodawstwo w zakresie podpisu elektronicznego (cyfrowego) były Niemcy i Włochy. W innych krajach prace nad tymi zagadnieniami znajdowały się w fazie studiów i projektów. Uzgodnienie Dyrektywy otworzyło możliwość stworzenia spójnej, ogólnoeuropejskiej struktury prawnej, opartej na tej Dyrektywie. W większości z krajów Unii akty prawne wprowadzające podpis elektroniczny zostały przyjęte przez Parlamenty tych krajów w 1999 roku, w innych proces ich przyjmowania nieco się wydłużył.
W zamiarze twórców Dyrektywy o podpisie elektronicznym powinna ona zrealizować dwa podstawowe cele:
2 Zob. "Directive 1999/93/EC of the European Parliament and of the Council of 13 De-cember 1999 on a Community frmework for electronic signatureś'. Official Journal L 013, 19/01/2000 p. 0012-0020.
131
1. Zagwarantować swobodny dostęp do rynku zastosowań podpisu elektronicznego i usług certyfikacyjnych we wszystkich krajach Unii (a także krajów kandydujących).
2. Prawnie uznać podpis elektroniczny jako równoważny podpisowi tradycyjnemu.
O ile pierwszy cel Dyrektywy ma bardzo szeroki zakres stosowania i nie wprowadza wyjątków, to drugi - wprost przeciwnie - zawęża definicję tego podpisu i nakłada istotne ograniczenia na rodzaj usług certyfikacyjnych, które spełnią wymagania uznania podpisu w postępowaniu prawnym.
Realizacja tych celów w krajowych aktach prawnych napotyka wiele trudności. Wśród nich można wymienić:
a) związek podpisu elektronicznego z podmiotem podpisującym,
b) tworzenie i działanie krajowych struktur oceny urzędów certyfikacji (schematy akredytacji tych urzędów).
Sposoby rozwiązania tych zagadnień mogą, jak się wydaje, mieć decydujące znaczenie dla uzyskania przez podpis elektroniczny społecznej akceptacji umożliwiającej jego powszechne stosowanie.
Związek podpisu elektronicznego z podmiotem podpisującym
Jednym z najistotniejszych problemów jest to, czy podpis elektroniczny może należeć wyłącznie do osoby fizycznej, czy także do innych podmiotów {np. osoby prawnej). W tym zakresie Dyrektywa daje wolną rękę legislatorom krajowym. W niektórych krajach (np. Austria, Dania) - przyjmując za podstawę już istniejące zasady prawne - przyjęto, że podpis elektroniczny może należeć tylko do osób fizycznych, tworząc jeden wyjątek - dla urzędów certyfikacji. W innych krajach (np. Belgia) - wprowadzono zasadę uznania podpisu elektronicznego podmiotów innych niż osoby fizyczne. Wzbudziło to ogromny protest w tamtejszym środowisku prawniczym, jako przejaw zerwania z wielowiekową tradycją prawa cywilnego i handlowego, w którym uznaje się działanie osób prawnych przez wyznaczone osoby fizyczne, reprezentujące te osoby prawne.
Tylko ten jeden przykład obrazuje trudności, jakich można się spodziewać przy zawieraniu kontraktów w ogólnoeuropejskiej strukturze handlu elektronicznego.
Akredytacja i poświadczenia jakości dla dostawców usług certyfikacyjnych
Dyrektywa kładzie nacisk na całkowicie wolny dostęp do rynku usług związanych z podpisem elektronicznym. Dyrektywy UE o podpisie elektronicznym oraz transparentności regulacji określają wyraźnie, że prawo do świadczenia usług certyfikacji danych weryfikujących podpis elektroniczny (np. kluczy publicznych) nie może być ograniczane żadnymi regulacjami administracyjnymi. Niemniej jednak, w niektórych przypadkach (tzn. tam, gdzie istnieje wymóg posługiwania się kwalifikowanym podpisem elektronicznym - np. w administracji
132
rządowej lub strukturach komunikacji między urzędem a obywatelem, podatnikiem, płatnikiem składek ubezpieczeń społecznych itp.) należy zapewnić właściwe kryteria oceny poziomu świadczonych usług. W aktach prawnych wielu krajów (np. Belgii, Hiszpanii, Austrii) istnieje zastrzeżenie o wymaganiach posiadania kwalifikowanego certyfikatu jako metody weryfikacji podpisu elektronicznego, jeśli ma on być dowodem w postępowaniu prawnym. Obowiązkiem rządów państw członkowskich Unii (a tym samym - także państw kandydujących) jest stworzenie ram organizacyjnych dla struktury, która umożliwi określenie wymagań dla dostawców usług kwalifikowanych certyfikatów, zgodnie z Załącznikiem II Dyrektywy. W strukturze tej powinna istnieć instytucja akredytująca, odpowiedzialna za zdefiniowanie wymagań, jakie powinni spełniać dostawcy usług w zakresie kwalifikowanego podpisu elektronicznego oraz szereg instytucji audytujących (wydających atesty- poświadczenia zgodności działania poszczególnych dostawców z wymaganiami).
Wydaje się, że uzyskanie takiego atestu zgodności od wiarygodnej instytucji audytującej może samo w sobie być znaczącą wartością rynkową (tak, jak np. w przypadku ISO 9000).
Obowiązkiem państwa jest również sprawowanie nadzoru nad zgodnością wymagań z ustawami krajowymi i Dyrektywą. W kilku krajach Unii (Niemcy, Dania, Austria) nadzór rządowy nad systemem akredytacji jest realizowany w oparciu o urzędy regulacji telekomunikacji.
Polska ustawa o podpisie elektronicznym
W Polsce zostały zakończone prace nad ustawą o podpisie elektronicznym. Została ona przyjęta przez Sejm 27 lipca 2001 r. Polska ustawa przyjęła pewne podstawowe założenia Dyrektywy UE z niewielkim, stosunkowo, opóźnieniem. Niewątpliwie ułatwi to funkcjonowanie wielu firm i instytucji, zwłaszcza na forum europejskim.
Dyrektywa Unii Europejskiej zaleca technologiczną neutralność ustawodawstwa w zakresie podpisu elektronicznego. Ten punkt widzenia podzielają wszystkie kraje, które swoje akty prawne wywodzą bezpośrednio z Dyrektywy (np. Austria, Belgia, Dania, Hiszpania, Wielka Brytania - w szerszym aspekcie - Electronic Communications Bili). Inne kraje takie, jak Niemcy i Włochy, mają ustawodawstwo starsze niż Dyrektywa i tam uzależnienie technologiczne jest obecne i oczywiste. Oba kraje zgadzają się jednak, że zmiany są konieczne (w szerszym zakresie - Włochy, w ograniczonym - Niemcy). Taki pogląd jest przede wszystkim racjonalny, ponieważ postęp techniczny jest w tej dziedzinie bardzo szybki, a ustawodawstwo powinno być dobre na wiele lat.
Drugim, ważnym problemem jest zagwarantowanie dobrowolności poddania się dostawcy ocenie świadczonych przez siebie usług pod kątem spełnienia wymagań stawianych kwalifikowanym certyfikatom. Za stworzenie wymagań w zakresie jakości i bezpieczeństwa usług certyfikacyjnych powinna być odpowiedzialna wskazana instytucja akredytująca. Ocena zgodności usług
133
świadczonych przez danego dostawcę z wymaganiami powinna należeć do instytucji, które zostały do tego upoważnione przez instytucję akredytującą. Ta struktura powinna zostać wpisana w istniejącą w Polsce strukturę certyfikacji produktów i usług, działającą w oparciu o polskie normy serii PN-EN 450xx oraz ustawę o Polskim Centrum Badań i Certyfikacji.
Wśród wygenerowanych ad hoc opinii o ustawie jako najważniejsze formułowane są następujące uwagi:
1. Koszty podpisu elektronicznego
Jeżeli uchwalona 27 lipca 2001 r. przez Sejm ustawa o podpisie elektronicznym zacznie obowiązywać, to może okazać się, że niewiele firm będzie stać na zawieranie umów w tej formie. Powodem tego będą przede wszystkim wysokie koszty komputeryzacji firm oraz instalacji programów komputerowych. Płacić trzeba będzie także za uzyskiwanie certyfikatów umożliwiających korzystanie z podpisu cyfrowego.
Przedsiębiorcy niewątpliwie powinni cieszyć się z uchwalenia ustawy o podpisie elektronicznym. Panuje opinia, że możliwość zawierania kontraktów za pomocą podpisu cyfrowego zdynamizuje gospodarkę. Niestety, analiza stopnia komputeryzacji polskich firm oraz wysokie koszty jej wprowadzenia nie dają podstaw do zbytniego optymizmu.
2. Prawne wymogi
Obowiązek zawierania umów w określonej formie wynika z przepisów prawa cywilnego. Stanowią one, że umowy o świadczenie pieniężne powyżej 2 tyś. zł muszą mieć formę pisemnąz własnoręcznym podpisem stron. Wymóg ten służy celom dowodowym, i mimo że umowa zawarta w innej formie jest wiążąca, nie można się na nią powoływać w sądzie. Wyłącza to możliwość zawierania bezpiecznych umów na odległość, bez osobistego stawiennictwa kontrahentów przy podpisywaniu umowy. Ustawa o podpisie elektronicznym, uchwalona przez Sejm 27 lipca 2001 r., zrównuje własnoręczny podpis z elektronicznym. Choć odnosi się to jedynie do zwykłej formy zawierania umów, a więc takiej, gdzie nie jest wymagany akt notarialny, to zdaniem komentatorów, podpis elektroniczny powinien przyspieszyć i ułatwić obrót gospodarczy.
Dzięki tej ustawie będzie można wykorzystywać podpis elektroniczny do zawierania bezpiecznych transakcji o wartości powyżej 2 tyś zł. Jest oczywiste, że uchwalenie ustawy ma największe znaczenie dla międzynarodowego biznesu związanego z Polską. Dotychczas zagraniczna firma zamierzająca zawrzeć kontrakt na mocy polskiego prawa musiała wysłać uprawnioną osobę lub pełnomocnika firmy, aby ten własnoręcznie podpisał umowę w jej imieniu. To nie tylko podnosiło koszty działalności gospodarczej, ale istotnie utrudniało zawieranie wielu bieżących kontraktów.
3. Za mało komputerów
Rozwój handlu elektronicznego w Polsce ciągle napotyka wiele przeszkód. Jedną z ważniejszych była bariera prawna, którą usuwa wspomniana
134
ustawa. Jednak główną barierą rozwoju tego handlu jest niski poziom komputeryzacji polskich firm. Tak więc wejście w życie ustawy o podpisie elektronicznym nie zrewolucjonizuje polskiego handlu ani w zakresie transakcji business to business (B2B), ani business to consumer (B2C). Wynika to z niewielkiego potencjału polskiego rynku e-commerce, który aktualnie nie przekracza 200 min zł. Jeżeli w wyniku wprowadzenia tej ustawy możliwości rynku zwiększą się nawet dziesięciokrotnie, to i tak będzie to wąski margines zawieranych umów gospodarczych. Wynika to, przede wszystkim, ze zbyt małego dostępu do Internetu w Polsce. Wprawdzie dostęp do sieci deklaruje ponad 2 miliony osób, ale są to przeważnie studenci i uczniowie. Nie stanowią oni poważnej siły nabywczej. Szacuje się, że tylko ok. 10 procent przedsiębiorstw dysponuje dostępem do Internetu. Zauważa się przy tym duże różnice regionalne - np. w województwie mazowieckim ponad 25 procent firm korzysta z połączeń in-ternetowych, a w podlaskim czy świętokrzyskim - tylko około 5 procent. Firmy zatrudniające poniżej 50 pracowników są dużo gorzej skomputeryzowane niż firmy, w których liczba pracowników przekracza 250 osób. Dlatego w najbliższym czasie trudno oczekiwać istotnego wpływu podpisu elektronicznego na działalność gospodarczą polskich firm. Mniejszych przedsiębiorców zniechęcą do tego sposobu zawierania umów drogie usługi telekomunikacyjne i konieczność dużych nakładów na zainstalowanie sprzętu komputerowego i oprogramowania.
Ustawa może natomiast przynieść znaczne korzyści w dużych miastach, w odniesieniu do największych firm i wybranych branż, zwłaszcza usług. Należy ją traktować jak bazę rozwoju e-biznesu w dłuższej perspektywie czasu.
4. Podpis elektroniczny jest trudno podrobić
Podpis cyfrowy realizowany jest w oparciu o asymetryczny system kryptograficzny RSA. W systemie tym generowane są dwa klucze: publiczny i prywatny. Z klucza publicznego nie można odtworzyć klucza prywatnego, który jest znany wyłącznie użytkownikowi, przez niego przechowywany i chroniony. Drugi z kluczy, tj. publiczny, przekazywany jest do Urzędu Certyfikacji Kluczy (UCK). Urząd dopisuje do klucza publicznego dane identyfikujące użytkownika oraz nadaje mu unikatowy identyfikator. Z tych danych tworzony jest certyfikat klucza publicznego dostępny dla wszystkich zainteresowanych. Posiadając ogólnie dostępny klucz publiczny Urzędu Certyfikacji Kluczy, można zawsze uzyskać z tego urzędu klucz publiczny innego użytkownika, od którego przewiduje się otrzymanie wiadomości opatrzonej podpisem elektronicznym.
Urząd Certyfikacji Kluczy przechowuje certyfikaty użytkowników oraz sprawdza ich ważność. Urząd zarządza także certyfikatami, gwarantując ich wiarygodność. Dzięki temu użytkownik otrzymujący wiadomość zawsze może sprawdzić, czy przychodzi ona od konkretnej osoby. Pobiera w tym celu certyfikat z Urządu Certyfikacji Kluczy. Może też w ten sposób potwierdzić treść nadesłanej wiadomości.
135
W celu wygenerowania podpisu cyfrowego pod informacją zamieszczoną w pliku, konieczne jest użycie specjalistycznego oprogramowania. Cena takiego oprogramowania waha się od kilkuset do kilku tysięcy złotych. W aplikacjach bankowych (Internet-Banking lub PC-Banking) generowanie podpisów cyfrowych jest zaimplementowane jako funkcja podstawowa. Instalowane oprogramowanie pozwala bez dodatkowych nakładów korzystać z podpisu elektronicznego. Nie są przy tym zasadne obawy przedsiębiorców związane z bezpieczeństwem zawieranych umów, bowiem rozkodowanie systemu podpisu elektronicznego jest technologicznie niemożliwe. Obawy (wynikające głównie z niewiedzy na temat metod i zasad kryptografii) o łatwość sfałszowania podpisu nie mogą zatem być argumentem w walce z ustawą, bowiem bez trudu można je odparować przy pomocy specjalistów.
6.4. Przykłady podpisów cyfrowych: EIGamala i DSA (DSS)
Algorytm EIGamala służący do asymetrycznego szyfrowania i deszyfrowania wiadomości, jak już wspomniano w rozdziale V, może także być wykorzystany do generowania podpisu cyfrowego. Sam algorytm nie jest przy tym zbyt skomplikowany, a jego złożoność obliczeniowa gwarantuje celowość stosowania.
1. Czynności przygotowawcze nadawcy
wybór liczby pierwszej p oraz generatora g w zbiorze liczb pierwszych 2 ;
wybór losowy liczby x takiej, że
x
obliczenie
y = gk (mód p);
udostępnienie g, p i y jako klucz publiczny.
2. Podpis cyfrowy nadawcy pod wiadomością M
wybór liczby k względnie pierwszej z (p - 1);
obliczenie
a = gk (mód p);
ponieważ k i p -1 są względnie pierwsze, istnieje takie t, że
kt= 1 (modp-1);
i w związku z powyższym nadawca wyznacza t za pomocą algorytmu Euklidesa;
obliczenie
t = f(M-xa) (modp-1); przy czym zachodzi równość
M = kb + xa (mód p -1);
136
nadawca przedstawia (a, b) jako podpis cyfrowy dla wiadomości M. 3. Weryfikacja podpisu przez odbiorcę
= gM
ponieważ istnieje zależność
yagb = ga
odbiorca sprawdza, czy
ya gt> = gM (mocj p)
Podpisy cyfrowe wygenerowane przy użyciu algorytmu EIGamala posiadają dość istotną niedogodność: składają się z dwóch liczb tego rozmiaru co p.
Ponieważ wygenerowane podpisy powinny zachowywać swą ważność (mogą być używane) w dłuższej perspektywie (sięgającej nawet liku lat), niezbędne jest przekonanie, że dyskretny logarytm modulo p rzeczywiście nie będzie mógł być obliczony przez wiele lat. Dlatego konieczne jest wykorzystywanie stosunkowo dużych liczb p, które w rozwinięciu dwójkowym mogłyby być zapisane za pomocą np. 1 024 bitów. Oznacza to, że podpisy cyfrowe zrealizowane tą metodą składałyby się aż z 2048 bitów.
Znacząco krótsze są podpisy generowane przez zmodyfikowany algorytm EIGamala - standard DSA (DSS).
DSA (ang. Digital Siganture Algorithm) jest amerykańskim standardem podpisów cyfrowych. Na jego oznaczenie zamiennie używany jest także skrót DSS (ang. Digital Signature Standard). Przyjęcie tego protokołu w Stanach Zjednoczonych wywołało wiele kontrowersji, bowiem wiele firm i indywidualnych użytkowników wolało używać do tego celu protokołu opartego na RSA. Zastrzeżenia głównie dotyczyły budowy algorytmu, który może zawierać "ukryte drzwi", umożliwiające służbom bezpieczeństwa "niewidzialną" kontrolę.
DSA jest algorytmem, który może być używany tylko do tworzenia podpisów cyfrowych. W jego strukturze wyraźnie dostrzegalne są elementy algorytmu EIGamala. Tak samo jak w algorytmie EIGamala, bezpieczeństwo DSA opiera się na złożoności obliczeniowej dyskretnych logarytmów. Oznacza to, że bezpieczeństwo stosowanych podpisów pozostaje w ścisłej zależności od wielkości liczb, dla których potrafimy obecnie obliczać dyskretne logarytmy.
DSA podpisuje nie wiadomość, ale jej wartość poprzez funkcję skrótu (haszującą). Tym samym nadawca nie musi składać swego podpisu pod wiadomością, która mogłaby być niepotrzebnie ujawniona wraz z podpisem. Upoważniony odbiorca, dysponujący oryginalną wiadomością może jednak zweryfikować podpis obliczając na podstawie wiadomości funkcje skrótu i porównując jaz odebraną w podpisie.
DSA używa jako podprocedury funkcji haszującej SHA, która w USA jest również obowiązującym standardem.
Procedura DSA obejmuje następujące kroki: 1. Czynności wstępne
wybór liczby pierwszej p zawierającej L bitów w rozwinięciu dwójkowym, przy czym L musi spełniać warunki: 512 = L = 1024 i 64|L;
137
wybór liczby q, która jest dzielnikiem (p - 1) i posiada 160 bitów w rozwinięciu dwójkowym (o ile p takiego dzielnika nie ma, należy znaleźć inne p);
wybór h spełniającego warunki
g = //P-W?? 1 (moc| p) oraz Q < h = p -1;
wybór x, takiego że x < q, przy czym liczba ta wyznacza klucz publiczny
y = g" (mód p);
zachowanie w tajemnicy klucza prywatnego x;
podanie liczby y jako klucza publicznego odpowiadającego kluczowi prywatnemu x do publicznej wiadomości wraz z parametrami p, q, g;
2. Tworzenie podpisu cyfrowego przez właściciela klucza prywatnego x
wybór losowy liczby k < q;
obliczanie
r := (gk mód p) (mód q ) oraz
s := {[SHA (M) + xr]/k} (mód q);
podanie pary liczb (s, r) jako podpisu wiadomości M;
3. Weryfikacja podpisu przez odbiorcę
obliczanie
w := s-1 (mód q);
obliczanie
u, := SHA (M), w (mód q); u2 := r w (mód q);
obliczanie
v '= [(gu1 .y2) (mód p)] (mód q);
sprawdzenie, czy v = r; jeśli tak - podpis jest prawidłowy.
Zastosowanie liczby q o długości 160 bitów powoduje, że para liczb tworzących podpis cyfrowy wymaga tylko 320 bitów. Jest to liczba znacząco mniejsza, niż w przypadku algorytmu EIGamela.
Bezpośredni atak w celu wyliczenia niejawnej wartości x wymaga obliczenia dyskretnego logarytmu modulo p, gdzie p jest stosunkowo długą liczbą. Zakłada się przy tym, że znajdywanie dyskretnych logarytmów modulo p przy podstawie g jest porównywalnie trudne, jak znajdywanie dyskretnych logarytmów, gdy podstawa logarytmu jest generatorem w zbiorze liczb pierwszych Zp.
Dzięki równości
gz = g2modq(modp)
wykładniki potęg g mogą być redukowane modulo q. Oznacza to, że obliczenia mogą być znacznie uproszczone i prowadzi to do przedstawionego testu poprawności podpisu.
138
6.5. Protokoły związane z podpisami
6.5.1. Ślepe podpisy
Pojęcie ślepego podpisu jest nieco kłopotliwe w definiowaniu, dlatego najlepiej jego istotę przedstawić na przykładzie3.
Załóżmy, że zachodzi potrzeba poświadczenia przez osobę powszechnie wiarygodną, np. notariusza, że jesteśmy w posiadaniu określonego DOKUMENTU, którego treści jednak nie możemy ujawnić nawet tej zaufanej osobie. W takiej sytuacji DOKUMENT należy umieścić w zamkniętej kopercie wraz z kalką. Notariusz potwierdza na kopercie, że DOKUMENT w postaci zamkniętego listu został mu przedstawiony. W każdej chwili posiadacz DOKUMENTU może otworzyć kopertę i przedstawić ślepy podpis notariusza utworzony przez kalkę na DOKUMENCIE.
Zastosowanie ślepych podpisów znacznie wykracza poza opisaną, trywialną sytuację. Rzeczywistym przykładem, spotykanym w praktyce, może być potwierdzenie przez bank - na życzenie klienta - tzw. cyfrowego banknotu, który może być wykorzystany do transakcji elektronicznych. Jest to szczególna procedura -protokół generacji i realizacji "cyfrowych pieniędzy".
Do generowania ślepych podpisów cyfrowych wyjątkowo dobrze nadaje się algorytm RSA. Jego użycie zostanie rozpatrzone również na pewnym przykładzie.
Załóżmy, że AUTOR pragnie uzyskać ślepy podpis NOTARIUSZA pod opracowanym przez siebie DOKUMENTEM M. NOTARIUSZ używa do szyfrowania algorytmem RSA klucza publicznego [e, n] i klucza prywatnego [d,n]. Protokół ślepego podpisu ma następujący przebieg:
1. AUTOR zakrywa DOKUMENT m: w tym celu wybiera losowo liczbę k < n, względnie pierwszą z n i oblicza
t = m.k0 (mód n);
2. AUTOR przesyła liczbę t NOTARIUSZOWI;
3. NOTARIUSZ szyfruje f za pomocą swego prywatnego klucza
s = f (mód n);
4. NOTARIUSZ przesyła AUTOROWI liczbę s;
5. Ponieważ
s = td = (m.ke)d - rrf . \md = s/k (mód n),
przy tym nr* mód n jest podpisanym przez NOTARIUSZA DOKUMENTEM m.
W powyższym protokole NOTARIUSZ nie widzi DOKUMENTU m. Aby poznać treść DOKUMENTU, tzn. odzyskać m z zawartości liczby t, NOTARIUSZ musiałby znaleźć k? , czyli poznać liczbę k wybraną i chronioną przez AUTORA.
3 Zob. M. Kutyłowski, W.B. Strothmann: Kryptografia., Wyd. Read Me, Warszawa 1999, s. 120-121.
139
NOTARIUSZ, oczywiście, musi używać do ślepych podpisów specjalnej pary kluczy szyfrujących. Gdyby używał tych samych kluczy do swych "zwykłych" podpisów cyfrowych i podpisów ślepych, to AUTOR mógłby mu "podsunąć" do podpisu np. dokument, na mocy którego podejmuje on określone zobowiązanie płatnicze w stosunku do innej osoby, np. AUTORA.
Dlatego fundamentalną zasadą w stosowaniu podpisu cyfrowego jest niepodpisywanie dokumentów, które mającharakter losowego ciągu bitów. Jest bowiem bardzo prawdopodobne, że ciąg taki został utworzony przy użyciu protokołu ślepego podpisu. Przedstawienie zaś takiego dokumentu do podpisu musi budzić wątpliwość: W jakim celu operacja ta jest przeprowadzana?
6.5.2. Kanał podprogowy
Każdy podpis cyfrowy powinien zawierać komponenty losowe. Tylko to bowiem może zagwarantować, że każdy podpis jest inny i umożliwia wielokrotne podpisywanie tego samego dokumentu, np. w celach kontrolnych, zwiększających bezpieczeństwo przeprowadzanej operacji. Z drugiej strony te losowe komponenty mogą być użyte do przesyłania ukrytych wiadomości, tak, że żaden niezorientowany obserwator nie jest w stanie tego wykryć. Takie przekazywanie dodatkowych, ukrytych wiadomości obok jawnej operacji nazywa się kanałem podprogowym.
Możliwość realizacji kanału podprogowego wiąże się z tym, że krypto-gramy zwykle powinny mieć cechy ciągów losowych i w tym zakresie powinny być względem nich nierozróżnialne. Trudność polega jednak na tym, jak odzyskać te "losowe" ciągi z podpisów cyfrowych. Do tego celu opracowano odpowiednie metody, np. dla algorytmów DSA i EIGamala.
Biorąc pod uwagę fakt, że podpis cyfrowy może być prawnie tylko normalizowany, ale nie można zakazać ani nawet ograniczać jego stosowania (chociażby ze względów ekonomicznych), możliwość wykorzystania przy okazji realizacji podpisu cyfrowego kanału podprogowego stwarza naturalne pole do nadużyć. W kanale tym bowiem możliwe jest przekazywanie informacji w sposób niewykrywalny, a więc pozostający poza wszelką kontrolą.
Łatwo sobie wyobrazić np. sytuację, w której zaufany ekspert w obecności decydenta składa podpis pod opinią, w której oficjalnie wskazuje potrzebę podjęcia określonej decyzji przez kontrahenta. Jeśli ekspert będzie nieuczciwy oraz będzie w tym miał określony interes, może kontrahentowi w kanale podprogowym przekazać zupełnie inną sugestię, o czym decydent nie będzie miał najmniejszego pojęcia i będzie nadal traktował eksperta jako zaufanego. A rezultaty przeprowadzanej operacji, za sprawą dodatkowej informacji przekazanej w kanale podprogowym, mogą być dla decydenta bardzo niekorzystne. Przykład ten wskazuje, że technika kryptograficzna w pewnych obszarach wymyka się z nakładanych na nią ram prawnych i stwarza m.in. warunki dla nowych rodzajów przestępczości.
140
W rozwinięciu podanego wyżej przykładu załóżmy, że EKSPERT, pracujący na zlecenie DECYDENTA, pragnie przekazywać KONTRAHENTOWI ważne informacje poza kontrolą swego pracodawcy, ukrywając to w podpisach cyfrowych. W tym celu przesyła do KONTRAHENTA wiadomości, o treści znanej i akceptowanej przez DECYDENTA, podpisane zgodnie z regułami metody EIGamala. Jednak wcześniej, potajemnie, KONTRAHENT i EKSPERT uzgodnili tajny klucz, który następnie KONTRAHENT będzie wykorzystywał do odzyskania tajnych wiadomości ukrytych w oficjalnym podpisie cyfrowym.
Realizacja kanału podprogowego dla powyższego przykładu przy użyciu algorytmu podpisu cyfrowego EIGamala może mieć następujący przebieg:
1. EKSPERT, podobnie jak dla podpisu cyfrowego, wybiera liczbę pierwszą p i losowe liczby (g, x) < p. Oblicza y = gx (mód p) i publikuje y, g i p, jako klucz publiczny;
2. EKSPERT przekazuje potajemnie KONTRAHENTOWI liczbę x;
3. Aby w podpisie określonej wiadomości M' ukryć inną wiadomość o treści M, EKSPERT dokonuje odpowiednich modyfikacji treści wia-
domości M w taki sposób, aby został spełniony warunek O < M < p -1 oraz aby M i (p-1) były względnie pierwsze (np. przez dodawanie spacji pomiędzy wyrazami wiadomości M, a w następnej kolejności
oblicza A = gM (mód p),
znajduje B, takie że zachodzi relacja
M' = x.A + M.B (mód p-1). W tym celu znajduje T, takie że
MT= 1 (mód p-1), a następnie oblicza
B = (M'-x.A).T(modp-1).
Konieczne jest, aby B i (p -1) były względnie pierwsze - jeśli tak nie jest, EKSPERT musi nieco zmodyfikować tekst M.
Ekspert przesyła KONTRAHENTOWI podpis (A, B) typu EIGamala;
KONTRAHENT sprawdza autentyczność podpisu cyfrowego wg schematu EIGamala, a następnie - znając wcześniej otrzymane od EKSPERTA x - oblicza M:
M = (M'-x.A)/B(modp-1).
6.5.3. Podpis niezaprzeczalny
W określonych warunkach i sytuacjach wymagania w stosunku do podpisu cyfrowego mogą zostać zmodyfikowane. Można dodatkowo zażądać, aby:
weryfikacja podpisu była możliwa jedynie przy współudziale autora podpisu,
w przypadku podpisu sfałszowanego, domniemany autor miał możliwość przeprowadzenia dowodu dokonania fałszerstwa.
141
Spełniający powyższe warunki podpis cyfrowy nazywa się podpisem niezaprzeczalnym (ang. undeniable signatures).
Ideę podpisu niezaprzeczalnego stworzył i publikował David Chauma. Podobnie jak zwykły podpis cyfrowy, podpis niezaprzeczalny zależy od treści podpisywanej wiadomości i klucza prywatnego osoby składającej ten podpis. Idea podpisu niezaprzeczalnego jest stosunkowo prosta4:
1. AUTOR przedstawia ODBIORCY podpis cyfrowy;
2. ODBIORCA generuje liczbę losową i przesyła ją AUTOROWI;
3. AUTOR dokonuje obliczeń, wykorzystując otrzymaną liczbę losową i swój klucz prywatny, a wynik przekazuje ODBIORCY. Autor może wykonać obliczenie tylko wtedy, gdy podpis był poprawny;
4. ODBIORCA potwierdza powyższy wynik.
Algorytm realizacji podpisu niezaprzeczalnego opisany przez Chauma, obejmuje podane poniżej, następujące kroki:
1. Czynności przygotowawcze
wybiera się i ujawnia dużą liczbę pierwszą p i element pierwotny g (używane są one przez grupę podpisujących);
PODPISUJĄCY dysponuje kluczem prywatnym x oraz kluczem jawnym gx;
2. Podpisywanie wiadomości m
PODPISUJĄCY, wykorzystując swój klucz prywatny, oblicza
z = mx;
PODPISUJĄCY przekazuje z do ODBIORCY;
3. Sprawdzenie podpisu
ODBIORCA wybiera dwie liczby losowe a i b, obie mniejsze od p i przesyła PODPISUJĄCEMU obliczoną przy ich udziale wartość
c = za (gx)b (mód p);
PODPISUJĄCY oblicza
x~1 (mód p -1) i przesyła ODBIORCY
d = c*"1 (mód p);
ODBIORCA sprawdza, czy otrzymana od PODPISUJĄCEGO liczba d spełnia warunek
d = magb (mód p)
i jeśli jest on spełniony, podpis może być zaakceptowany jako oryginalny.
Oprócz powyższego algorytmu, umożliwiającego potwierdzenie oryginalności podpisu, Chaum opublikował także inny protokół, zawierający nie tylko procedurę potwierdzenia podpisu przez PODPISUJĄCEGO, ale także procedurę zaprzeczającą, w której PODPISUJĄCY, przy użyciu konwersacyjnego
4 Zob. B. Schneider: Kryptografia dla praktyków. Protokoły, algorytmy i programy źródłowe w języku C. Wyd. WNT, Warszawa 1995.
142
protokołu o wiedzy zerowej, może przekonać ODBIORCĘ, że podpis nie jest poprawny wtedy, gdy rzeczywiście nie jest on oryginalny.
Wypada zauważyć, że przedstawione powyżej wybrane metody i techniki realizacyjne podpisu cyfrowego należą do znacznie szerszej rodziny metod i technik stosowanych w praktyce. Są jednak na tyle reprezentatywne, że wystarczą do zrozumienia istoty zagadnienia podpisu cyfrowego i najważniejszych aspektów jego praktycznej realizacji.
Wyszukiwarka
Podobne podstrony:
podpisy cyfrowe
Podpisy Cyfrowe
Podpisy Cyfrowe (podpis cyfrowy)
06 e podpis II v5
Podpisy Cyfrowe K Cebulski
Wykład 6 Implementacje podpisów cyfrowych
Podpisy Cyfrowe (2)
Podpisy Cyfrowe (podpis cyfrowy) (2)
Podpisy Cyfrowe
W9 Kodowanie i Kryptografia Podpisy cyfrowe 1g
009,podpisy cyfrowe,pdf
Tech tech chem11[31] Z5 06 u
więcej podobnych podstron