Z igły widły, czyli jak Czesi złamali PGP

20 marca br. kryptolodzy z czeskiej firmy Decros ogłosili odkrycie poważnego błędu w programie PGP, umożliwiającego - przy spełnieniu specyficznych warunków - ujawnienie klucza prywatnego użytkownika tego programu, a właściwie jego części służącej do podpisywania wiadomości.

Wykryty przez czeskich kryptologów błąd umożliwia poznanie klucza bez konieczności łamania samych szyfrów go zabezpieczających. Atak bazuje na fakcie, iż program nie sprawdza integralności pliku z kluczem, tzn. tego, czy klucz nie został przez kogoś zmodyfikowany. Użytkownikowi należy najpierw podstawić w miejsce jego oryginalnego klucza klucz odpowiednio spreparowany, a następnie przechwycić wiadomość, którą użytkownik podpisał korzystając z fałszywego klucza (i wreszcie podmienić z powrotem fałszywy klucz na prawdziwy, aby zaatakowany użytkownik się nie zorientował). Na podstawie przechwyconej wiadomości można odpowiednim programem w ciągu kilkunastu sekund obliczyć prawdziwy klucz. Właśnie metoda owej modyfikacji klucza oraz wyliczenia prawdziwego klucza na podstawie wiadomości podpisanej fałszywym stanowi rzeczywiste odkrycie czeskich kryptologów.

Jak widać z powyższego opisu, praktyczna realizacja tego ataku nie jest łatwa, gdyż wymaga dość szerokiego zakresu dostępu do komputera, na którym użytkownik przechowuje swoje klucze prywatne i podpisuje wiadomości. Atak taki wymagałby zainstalowania na komputerze użytkownika konia trojańskiego, umożliwiającego zdalny dostęp do plików oraz monitorowanie aktywności użytkownika (jako, że podmiana klucza musi być wykonana w określonym momencie), zaś w przypadku przechowywania klucza na serwerze sieciowym - bycia administratorem tego serwera lub przechwycenia jego uprawnień w wyniku włamania. Warto jednak zwrócić uwagę, że dysponując takimi możliwościami można po prostu przechwycić wprost z klawiatury hasło, jakiego użytkownik używa do zabezpieczenia swojego klucza prywatnego, i skopiować plik z tym kluczem bez konieczności stosowania żadnych ataków kryptograficznych!

Jeżeli użytkownik przechowuje klucz prywatny np. na dyskietce zabezpieczonej przed zapisem i schowanej w bezpiecznym miejscu bądź na komputerze nie podłączonym do sieci, do którego nie mają dostępu inne osoby, realizacja opisanego ataku staje się praktycznie niemożliwa. Warto zwrócić uwagę, że taki sposób przechowywania kluczy zalecany był w dokumentacji PGP już od najwcześniejszych wersji tego programu. Niemniej jednak kryptolodzy z Decrosa twierdzą - i trudno im odmówić racji - że klucz powinien być zabezpieczony w taki sposób, aby był on bezpieczny niezależnie od tego, gdzie zostanie umieszczony - na tym przecież polega cały sens szyfrowania danych! Fakt, że pliki z kluczami prywatnymi są kodowane silnym algorytmem szyfrującym z wykorzystaniem hasła znanego tylko użytkownikowi, może powodować wśród użytkowników PGP poczucie takiego bezpieczeństwa. Odkrycie kryptologów z Decrosa uświadamia, że poczucie to jest całkowicie złudne, gdyż pomimo szyfrowania bezpieczeństwo klucza pozostawionego w publicznie dostępnym miejscu jest takie samo, jak gdyby szyfrowania nie było w ogóle. Fakt ten powinien skłonić użytkowników PGP do zwrócenia większej uwagi na bezpieczeństwo swoich kluczy i zadbania, aby - do czasu pojawienia się odpowiedniej poprawki do programu - nikt niepowołany nie miał do nich dostępu.

Praca kryptologów z Decrosa ma także znaczenie teoretyczne wykraczające poza sam program PGP, gdyż opisana metoda ataku w istocie może być zastosowana w każdym programie wykorzystującym podpisy elektroniczne oparte o algorytmy RSA i DSA, jeżeli program ten nie sprawdza integralności klucza prywatnego. W szczególności mocno podważa to zaufanie do wszystkich systemów, w których klucze prywatne przechowywane są na serwerze sieciowym, zamiast bezpośrednio u użytkownika. Producenci programów kryptograficznych powszechnego użytku z pewnością bowiem wkrótce opublikują odpowiednie poprawki, sprawdzające integralność kluczy, trudno natomiast zwykłemu użytkownikowi zweryfikować, jakie oprogramowanie do zarządzania kluczami zainstalowane jest np. w systemie bankowości elektronicznej, w którym stosuje się przechowywanie kluczy na serwerze. Administrator takiego serwera teoretycznie może więc, wykorzystując wspomnianą metodę ataku, "podrabiać" podpisy cyfrowe wszystkich użytkowników, co da mu możliwość wykonywania operacji na ich kontach bankowych w ich imieniu.

Niezależnie od wszystkich rzeczywistych i potencjalnych konsekwencji odkrycia kryptologów z Czech, tematem zasługującym na osobną uwagę jest medialna wrzawa, jaka wokół tego wydarzenia się rozpętała. Do niej odnosi się właśnie tytuł niniejszego tekstu. Agencje prasowe, gazety i rozgłośnie radiowe zrobiły "z igły widły" relacjonując całą sprawę w tonie sensacyjnym i podając informacje przekręcone lub wręcz całkowicie nieprawdziwe. W informacji Polskiej Agencji Prasowej pochodzącej z dnia opublikowania komunikatu czeskich kryptologów możemy wyczytać: "Na świecie coraz więcej transakcji zawiera się za pośrednictwem Internetu. Używając czeskiego programu można np. kupować towary za pieniądze niczego nie przeczuwających właścicieli kont." Widać, iż dziennikarz piszący tę informację kompletnie nie wiedział, o co chodzi, skoro skojarzył całą historię z dokonywaniem zakupów przez Internet, do czego zazwyczaj wykorzystuje się karty kredytowe i żaden podpis elektroniczny nie jest potrzebny. Zamiast fantazjować mógł jednak ograniczyć się do w miarę wiernego przekazania treści oryginalnego komunikatu prasowego firmy Decros, w którym tego typu sensacji jako żywo nie ma ani śladu.

Można zrozumieć, że dziennikarz może nie mieć pojęcia o kryptografii. Jednak całkowitą niewiedzą na temat PGP popisali się również zaproszeni przez dziennikarzy "eksperci". W radiowej "Trójce" przedstawiciel firmy Microsoft porównał PGP do prymitywnego szyfru podstawieniowego: "O tak, jakbyśmy zabezpieczyli całą naszą wiadomość, jeżeli zamiast litery A zawsze będziemy podstawiali B, zamiast D podstawiali C, no i oczywiście dochodzimy do tego, że nikt nie jest w stanie złamać naszego strasznie tajemniczego kodu. Natomiast profesjonalne podpisy elektroniczne to jest już zupełnie inny poziom komplikacji i matematyki de facto zaklętej w komputerach." Zapewne mówiąc o "profesjonalnych podpisach elektronicznych" miał na myśli oprogramowanie swojej firmy, znane z licznych "dziur" w bezpieczeństwie? Wyraźnie jednak nie wiedział, że korzysta ono z dokładnie tych samych algorytmów szyfrujących, co "prymitywne" PGP. A jeżeli wiedział, tym gorzej świadczy to o jego zawodowej rzetelności. Dziwne też, że nikt z dziennikarzy "Trójki", których o nieznajomość języka angielskiego raczej nie można posądzać, nie zareagował, gdy gość przetłumaczył nazwę "Pretty Good Privacy" jako "Taka Sobie Prywatność", na którym to tłumaczeniu oparł całe dalsze wywody. Różnica między "Taka Sobie" a "Całkiem Niezła" nie jest w końcu "taka sobie"...

Jeszcze "ciekawiej" wypowiedział się na łamach "Internet Standard" dyrektor pionu bezpieczeństwa transakcji ekonomicznych TP Internet, Wiesław Paluszyński, "prostując" wiadomość podaną przez PAP: "Wspomniane PGP, czyli generator pseudolosowy, stosowany jest w Czechach, ale na świecie raczej się go nie używa [...] Częściej wykorzystuje się dużo trudniejszy do złamania generator losowy." Chyba lepiej byłoby, Panie Dyrektorze, powiedzieć dziennikarzowi, że nic się nie wie na temat PGP, i zaproponować przeprowadzenie wywiadu z kimś bardziej znającym się na rzeczy. Zastanawiające jest właściwie, dlaczego nikt z dziennikarzy nie poprosił o wypowiedź fachowca z jakiejś firmy specjalizującej się w bezpieczeństwie komputerowym - których jest w Polsce kilka - tylko osoby, które najwyraźniej mają w tym zakresie wiedzę niewiele większą, o ile nie wręcz mniejszą, niż przeciętny użytkownik komputera wzięty z pierwszego lepszego biura?

Więcej informacji na temat znalezionej "dziury" w PGP znaleźć możńa na stronach internetowych grupy ICZ (do której należy firma Decros): http://www.i.cz/en/, oraz w serwisie IPSEC.PL, poświęconym bezpieczeństwu komputerowemu:
http://ipsec.pl/article/?nid=313
http://ipsec.pl/article/?nid=318
http://ipsec.pl/article/?nid=319


Jarosław Rafa 2001. Tekst udostępniony na licencji Creative Commons (uznanie autorstwa - użycie niekomercyjne - bez utworów zależnych). Kliknij tutaj, aby dowiedzieć się, co to oznacza i co możesz z tym tekstem zrobić. W razie jakichkolwiek wątpliwości licencyjnych bądź w celu uzyskania zgody na rozpowszechnianie wykraczające poza warunki licencji proszę o kontakt e-mailem: raj@ap.krakow.pl.

Wersja HTML opracowana 5.08.2001.


Powrót do wykazu artykułów o Internecie Statystyka