Bezpieczeństwo systemów komputerowych Podpis cyfrowy Podpisy cyfrowe i inne protokoły pośrednie Polski Komitet Normalizacyjny w grudniu 1997 ustanowił pierwszą polską normę określającą schemat podpisu cyfrowego. mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Pytania Cechy podpisu cyfrowego czy dokument elektroniczny pochodzi od użytkownika, który podaje się za jego autora? czy dokument ten po podpisaniu nie został zmodyfikowany? Wspólne dla podpisu ręcznego i cyfrowego przypisany jednej osobie niemożliwy do podrobienia uniemożliwiający wyparcie się go przez autora łatwy do weryfikacji łatwy do wygenerowania Cechy podpisu cyfrowego Konstrukcja schematu podpisu cyfrowego Różnice Podpis ręczny związany nierozłącznie z dokumentem taki sam dla wszystkich dokumentów stawiany na ostatniej stronie dokumentu Podpis cyfrowy może być składowany i transmitowany niezależnie od dokumentu będący funkcją dokumentu obejmuje cały dokument proces generowania kluczy proces podpisywania proces weryfikacji Copyright by Katarzyna Trybicka-Fancik 1
schemat z odtwarzaniem wiadomości schemat z załącznikiem bezpieczeństwo związane jest z rozkładem dużych liczb całkowitych na czynniki pierwsze bezpieczeństwo związane jest z trudnością obliczania logarytmów dyskretnych zrandomizowany deterministyczny schematy oparte o certyfikaty schematy oparte o tożsamość podpisywanie dokumentów symetrycznych systemach kryptograficznych z arbitrem podpisywanie dokumentów w systemach kryptograficznych kluczem jawnym Klucz tajny dla Alicji 1. 2. Arbiter Klucz tajny dla Boba 3. Alicja Bob Copyright by Katarzyna Trybicka-Fancik 2
Podpis cyfrowy 3. By sprawdzić czy Alicja faktycznie podpisała wiadomość należy odszyfrować kryptogram z wykorzystaniem klucza k D 2. Alicja kryptogram publikuje wraz z wiadomością 1. Alicja generuje kryptogram za pomocą klucza k E Czynności wstępne Obejmują wyznaczenie niezbędnych parametrów, za pomocą których generowane będą podpisy Generowanie podpisu Osoba podpisująca dokonuje obliczeń, w trakcie których powstaje ciąg bitów będący podpisem konkretnego dokumentu Weryfikacja Podpisu Klucz szyfrujący k E Alicja Klucz deszyfrujący k D Algorytm asymetryczny Generowanie krótkich podpisów Podpisy tworzone za pomocą RSA Podpisywanie zamiast dokumentu M wartość H(M), gdzie H jest jednokierunkową funkcją haszującą. ZALETA: Podpis można prezentować nie zdradzając treści dokumentu. Dla komunikatu M obliczana jest wartość H(M), gdzie H jest ustaloną funkcją haszującą. Alicja szyfruje H(M) za pomocą klucza prywatnego używając algorytmu RSA. Utworzony szyfrogram to cyfrowy podpis Alicji pod M. Protokoły związane z podpisami Ślepy podpis Kanał podprogowy Podpisy niezaprzeczalne Ślepy podpis Problem Alicja pragnie by notariusz poświadczył, że Alicja jest w posiadaniu pewnego listu. Rozwiązanie Alicja umieszcza list w kopercie wraz z kalką. Notariusz potwierdza na kopercie, że list został mu przedstawiony. Copyright by Katarzyna Trybicka-Fancik 3
Ślepy podpis - RSA Kanał podprogowy Alicja zakrywa wiadomość m: w tym celu wybiera losową liczbę k<n względnie pierwszą z n i oblicza t=m*k e mod n. Alicja przesyła liczbę t notariuszowi. Notariusz szyfruje t za pomocą swego prywatnego klucza: s=t d mod n. Notariusz przesyła Alicji liczbę s. Ponieważ s=t d =(m*k e ) d =m d *k ed =m d *k mod n, Alicja łatwo może obliczyć m d =s/ k mod n. Ale m d mod n jest podpisaną wiadomością m. Każdy podpis cyfrowy zawiera komponent losowy. To pozwala w sposób utajniony przesyłać wiadomość. Kanał podprogowy przy użyciu podpisów ElGamala Bob wybiera liczbę pierwszą p i losowe liczby g, x < p. Bob oblicza y = g x mod p i publikuje y, g, p. Bob zdradza Alicji x. By w podpisie wiadomości M ukryć tekst M, Bob wykonuje następujące kroki: Bob oblicza A=g M mod p. Bob znajduje B, takie że zachodzi M = x*a + M*B mod p-1. Bob Przesyła Alicji podpis (A, B) typu ElGamala. Po sprawdzeniu, że podpis jest autentyczny wg schematu ElGamala, Alicja oblicza M.: M=(M -x*a)/b mod p-1. Podpis niezaprzeczalny (David Chaum) Weryfikacja podpisu jest tylko możliwa przy współudziale autora podpisu W przypadku sfałszowania podpisu domniemany autor miał możliwość udowodnienia fałszerstwa. Podpis niezaprzeczalny Alicja przedstawia Bobowi podpis cyfrowy. Bob generuje liczbę losową i przesyła ją Alicji. Alicja dokonuje obliczeń, wykorzystując liczbę losową i swój klucz prywatny, a potem przesyła wynik Bobowi. Alicja może wykonać te obliczenia jedynie wtedy, kiedy podpis był poprawny. Bob potwierdza powyższy wynik. Podpis niezaprzeczalny słabe punkty (Desmedt i Yung) Bob zakupuje legalną wersję oprogramowania. Następnie sprzedaje kopię oprogramowania Karolinie podszywając się pod sprzedawcę oprogramowania. Kiedy Karolina spróbuje sprawdzić z Bobem poprawność podpisu, jednocześnie sprawdza poprawność podpisu wraz z Alicją. Jak? Copyright by Katarzyna Trybicka-Fancik 4
Podpis niezaprzeczalny Gdy Karolina przesyła Bobowi liczbę losową, on odsyła ją Alicji. Alicja odpowiada Bobowi i on przekazuje te odpowiedź Karolinie. Karolina jest przekonana o legalności oprogramowania Niepodrabialne podpisy cyfrowe (Pfitzmann i Waidner) U podstaw algorytmu niepodrabialnego podpisu cyfrowego leży możliwość występowania dla każdego klucza jawnego wielu kluczy prywatnych, mogących z nim współpracować. Każdy z tych kluczy prywatnych pokrywa wiele możliwych podpisów cyfrowych. Alicja używa jednak tylko jednego klucza prywatnego nie wiedząc nic o pozostałych kluczach prywatnych. Podpisy grupowe (Chaum) Własności: Jedynie członkowie grupy mogą podpisywać wiadomość. Odbiorca podpisu może sprawdzić, że jest to poprawny podpis członka grupy, ale nie może określić nazwiska osoby podpisującej. W przypadku wątpliwości podpis może być otwarty w celu ujawnienia tożsamości podpisującego. Podpisy grupowe z udziałem zaufanego arbitra Trent wytwarza olbrzymią liczbę par klucz prywatny/klucz jawny i przekazuje każdemu członkowi grupy odmienną listnie niepowtarzalnych kluczy prywatnych. Żaden klucz na dowolnej z list nie jest identyczny z innym. Trend publikuje nadrzędną listę wszystkich kluczy jawnych dla grup w losowej kolejności. Trend przechowuje u siebie tajny rekord zawierający opis, który klucz do kogo należy. Podpisy grupowe z udziałem zaufanego arbitra z zastosowaniem kryptografii symetrycznej Członkowie grup, pragnąc podpisać dokument, wybierają klucze w losowy sposób ze swoich list osobistych. Kiedy pragną sprawdzić, czy podpis należy do grupy, poszukują w jawnej bazie danych odpowiadającego klucza jawnego i weryfikują podpis. W przypadku wątpliwości Trend wie, który klucz jawny odpowiada któremu członkowi grupy. Zobowiązanie Bob generuje losowy ciąg znaków R i wysyła go Alicji. Alicja wytwarza wiadomość zawierającą przewidywany bit b (lub ciąg bitów) i ciąg losowy Boba. Szyfruje to za pomocą pewnego klucza losowego K i przesyła wynik z powrotem Bobowi. Copyright by Katarzyna Trybicka-Fancik 5
z zastosowaniem kryptografii symetrycznej Odtajnienie Alicja przesyła klucz Bobowi. Bob deszyfruje wiadomość w celu ujawnienia bitu. Sprawdza swój ciąg losowy w celu zweryfikowania poprawności bitu. z zastosowaniem funkcji jednokierunkowych Zobowiązanie Alicja generuje dwa ciągi losowe R1 i R2. Alicja tworzy wiadomość składającą się z jej ciągów losowych i bitu b, co do którego pragnie się zobowiązać: (R1, R2, b). Alicja oblicza wartość skrótu wiadomości, a bobowi przesyła wynik i jeden z ciągów losowych: H(R1, R2, b), R1. z zastosowaniem funkcji jednokierunkowych z zastosowaniem generatorów pseudolosowych Ujawnianie Alicja przesyła Bobowi pierwotną wiadomość: (R1, R2, b). Bob oblicza wartość skrótu wiadomości, porównuje ją z R1 z wiadomością i R1 otrzymanymi w ostatnim kroku zobowiązania. Jeżeli wartości są zgodne, to bit jest poprawny. Zobowiązanie Bob generuje losowy ciąg znaków i wysyła je Alicji: RB. Alicja wytwarza losową wartość początkową dla generatora bitów pseudolosowych. Następnie dla każdego losowego ciągu Boba wysyła ona Bobowi jedną z dwóch wartości: wartość wyjściową generatora, jeżeli wartość bitu Boba wynosi zero; sumę modulo 2 wartości wyjściowej generatora i jej bitu, jeżeli wartość bitu Boba wynosi 1. z zastosowaniem generatorów pseudolosowych ataków na schematy podpisu cyfrowego Ujawnianie Alicja przesyła Bobowi wygenerowaną przez siebie losową wartość początkową. Bob wykonuje krok drugi w celu potwierdzenia, że Alicja postępowała uczciwie. atak z publicznym kluczem weryfikującym atak z wiadomościami atak ze znanymi wiadomościami atak z wybranymi wiadomościami atak adaptacyjny z wybranymi wiadomościami Copyright by Katarzyna Trybicka-Fancik 6
Skuteczne ataki mogą pozwolić napastnikowi na: odtworzenie prywatnego klucza podpisującego uniwersalne fałszerstwo selektywne fałszerstwo egzystencjalne fałszerstwo Bezpieczeństwo schematów podpisu cyfrowego w praktyce zarządzanie kluczami związek z funkcją skrótu związek z generatorami liczb losowych kolejność szyfrowania i podpisu ataki na konkretne implementacje podpisu cyfrowego ataki z wymuszeniem błędów kanały podprogowe walidacja kluczy Dziękuję Copyright by Katarzyna Trybicka-Fancik 7