Kryptografia nie jest dobra na wszystko

Zdeterminowany analityk złamie (prawie) każdy szyfr.

Zdeterminowany analityk złamie (prawie) każdy szyfr.

Bezpieczeństwo danych stanowi najczęściej temat tabu - nikt nie chce się przyznać, jakie środki stosuje do zapewnienia właściwej ochrony swych danych przed niepowołanym dostępem, próbami włamania się do swego systemu komputerowego czy odczytaniem ich w komunikatach sieci rozległej lub lokalnej. Nie ma się co dziwić niechęci do dyskutowania spraw istotnych dla kondycji finansowej lub handlowej firmy: im mniej się o tym mówi - tym większa szansa, że dane będą bezpieczne.

Sprawa ochrony danych jest, niestety, często zaniedbywana z powodu braku wiedzy, narzędzi lub ograniczeń eksportowych najnowszych technologii ochrony danych. W USA systemy kryptograficzne o kluczu dłuższym niż 40 bitów są uważane za narzędzia strategiczne o takim samym znaczeniu jak broń i podlegają ścisłej kontroli eksportowej. W niektórych krajach (Francja, Rosja, Chiny) stosowanie technik kryptograficznych dla ochrony danych w sieciach publicznych jest prawnie zabronione; w innych podlega ostrym ograniczeniom.

Czy kryptografia to panaceum? Jak bezpieczne są dane zakodowane za pomocą któregoś z popularnych algorytmów kodowania? Powszechnie uważa się, że im dłuższy klucz kodowania, tym dane są bardziej bezpieczne. Jednak zarówno algorytmy z kluczem prywatnym (używanym zarówno do kodowania, jak dekodowania), jak kluczem publicznym (klucz prywatny jest używany do dekodowania danych, klucz publiczny do kodowania) są coraz mniej bezpieczne. Zdeterminowany kryptoanalityk jest w stanie złamać prawie wszystkie dostępne na świecie systemy kryptograficzne, w których długość klucza nie przekracza 1000 bitów. Wynika to z postępów w metodach łamania (opartych na wyrafinowanych metodach matematyki), jak z postępu w mocy obliczeniowej komputerów.

Nastąpił także znaczny postęp, jeśli chodzi o rozwiązania sprzętowe do łamania szyfrów. Najpopularniejsze jest stosowanie uniwersalnych komputerów, ale naprawdę skuteczne wspomaganie sprzętowe polega na użyciu specjalnie skonstruowanych układów scalonych - tzw. procesorów bitowych (operujących na "słowach" długości jednego bita), zawierających w jednej kostce tysiąc lub więcej takich procesorów.

Jak oceniać odporność algorytmu na próby złamania go? Jedyna metoda polega na poddaniu go takim próbom. Istnieją dwie podstawowe metody łamania algorytmu: metoda brutalnej siły oraz znalezienie błędu w samej metodzie kodowania. W przypadku klucza publicznego, będącego jak wiadomo iloczynem bardzo dużych liczb pierwszych, następuje szybki postęp w metodach faktoryzacji dużych liczb, co wystarcza do złamania klucza.

Od ponad 20 lat powodzeniem cieszy się algorytm kryptograficzny DES (Data Encrypton Standard), korzystający z 56-bitowego klucza prywatnego, używany przez agendy rządu USA. Czy jest to standard bezpieczny? Ponieważ jego algorytm nie został nigdy opublikowany, specjaliści podejrzewają, że może on zawierać ukrytą furtkę do odczytywania klucza. Z tego powodu wiele firm opracowało podobne algorytmy, zwykle szybsze, ale też znacznie słabsze, bardziej wrażliwe na atak.

Jak oceniają E. Biham i A. Shamir - twórcy tzw. różnicowej metody łamania szyfrów - do złamania kodu DES (tj. znalezienia klucza, którym komunikaty zaszyfrowano) metodą siłową wystarcza zbadanie 2 do potęgi 47 komunikatów - przed i po ich zaszyfrowaniu - przechodzących przez układ szyfrowania. Dużo to czy mało? Zależy od determinacji i zasobów systemowych kryptoanalityka. Jeżeli ma do dyspozycji moc obliczeniową całego Internetu, jest w stanie złamać szyfr w ciągu kilku godzin. I będzie to praktycznie bezpłatne. Jeżeli zaś dysponuje tylko jednym komputerem Cray - proces potrwa znacznie dłużej, może nawet kilkadziesiąt lat i będzie bardzo kosztowny.

Przy okazji badania algorytmu DES okazało się, że metodą różnicową można dość łatwo złamać wiele algorytmów rzekomo zastępujących DES. Do złamania popularnego algorytmu FEAL-4 wystarczą 4 dobrze dobrane komunikaty! Co gorsza, zwiększenie długości klucza w wielu algorytmach wcale nie zwiększa bezpieczeństwa - nadal można je złamać metodą różnicową.

Bezpieczny Internet?

Czy inne systemy kodowania są bardziej odporne na próby złamania? Jak pokazuje doświadczenie, niekoniecznie. System kodowania wbudowany w Netscape dla ochrony transakcji przez Internet został złamany zaledwie po roku od pojawienia się na rynku. Wprawdzie firma Netscape twierdzi, że już usunęła błędy poprzednio stosowanego algorytmu, ale poważne firmy konsultingowe uważają, że nigdy nie dojdziemy do bezpiecznych transakcji finansowych w Internecie. Tu jest nadzieja na największe zyski po złamaniu zabezpieczenia, tu więc będzie najwięcej prób łamania. I oczywiście żaden haker ani przestępca nie przyzna się do złamania szyfrów transakcji bankowych, tak długo, jak długo będzie w stanie ciągnąć korzyści z tego nielegalnego procederu.

Szyfry z kluczem publicznym

Najbardziej znana firma zajmująca się dostarczaniem komercyjnego oprogramowania do kodowania komunikatów RSA (od nazwisk jej założycieli R. Rivest, A. Shamir i L. Adleman) oferowała do niedawna swój system z kluczem publicznym RSA uważając, że nie da się go nigdy złamać. Jednakże postępy matematyki i techniki spowodował, że w 1994 roku udało się złamać system RSA z kluczem długości 129 bitów.

Firma wprowadziła więc nowy system ochrony z kluczem publicznym RC-4; system RSA jest nadal dostępny, ale obecnie firma RSA stosuje bardziej konserwatywną ocenę długości klucza i zaleca stosowanie kluczy o długości dochodzącej do 1500 bitów dla ochrony tajnych danych rządowych, 1000 bitów dla danych korporacyjnych i 700 bitów dla danych prywatnych. W związku ze stałym postępem w metodach łamania szyfrów, przewiduje się zwiększać długość klucza dochodząc odpowiednio do 2000, 1500 i 1000 w 2010 roku.