12 słabych punktów szyfrowania

W sytuacji, gdy kluczowy problem stanowi bezpieczeństwo danych, szyfrowanie wyrasta na najważniejsze i najbardziej użyteczne rozwiązanie. A jeśli szyfrowanie jest mniej bezpieczne, niż sądzimy?

FOTO: succo/Pixabay

Szyfrowanie już dziś jest dla programistów panaceum na obawy związane z ochroną danych i bezpieczeństwem. Boisz się umieścić swoją kartę kredytową w formularzu internetowym? Nie martw się. Stosujemy szyfrowanie. Nie jesteś pewien, czy strona internetowa jest autentyczna? Twoje obawy rozwieje szyfrowanie.

Dobra wiadomość jest taka, że algorytmy szyfrujące rzeczywiście działają, a matematyka przy pomocy której są stworzone daje solidny fundament zaufania.

Ale jeśli matematyka traktowana jak magia, tak jak magia okaże się mieć swoje ograniczenia. Dla szyfrowania oznacza to problem, jeśli nie do końca wiadomo, gdzie te granice przebiegają. Matematyka powinna budzić podziw, ale trudno pogodzić się z przekonaniem, że szyfrowanie musi działać po prostu dlatego, że potrzebne do niego obliczenia są bardzo skomplikowane.
W odniesieniu do szyfrowania powinniśmy realistycznie ocenić nasze oczekiwania i poziom zrozumienia. Nie możemy się bez niego obyć, ale nie powinniśmy zakładać, że działa ono równie łatwo i niezawodnie, jak pstryczek do światła.

Poniżej przedstawiamy zatem 12 słabych punktów szyfrowania, o których należy pamiętać szukając rozwiązania problemów w naszej architekturze przetwarzania informacji.

Nie wiadomo, jak to działa

Potęga szyfrowania opiera się na założeniu, że nie wiemy wystarczająco dużo o formule matematycznej, aby szyfrowanie odwrócić. Innymi słowy, wiemy, jak obliczyć dane funkcje, ale nie potrafimy odwrócić tych obliczeń, nie jesteśmy w stanie wykonać danego działania matematycznego do przodu i do tyłu - możemy to zrobić tylko do przodu. Jeśli duża liczba inteligentnych osób nie potrafi wymyślić, jak odwrócić wzór, przestajemy próbować, wzruszamy ramionami i przyjmujemy dany algorytm do użycia. Najpopularniejszy algorytm opiera się zatem na założeniu, że nikt nie wymyślił i nie podał do publicznej wiadomości sposobu jego zaatakowania.

Szacunki siły algorytmu to tylko... szacunki

Matematycy znaleźli dawno podstawowe algorytmy atakowania dobrze znanych algorytmów szyfrowania, jednak te pierwsze są zbyt powolne, aby łamać szyfry wygenerowane z użyciem prawdziwych kluczy. Algorytmy te działają skutecznie tylko na małych liczbach, a ich prędkość musiałaby rosnąć wykładniczo wraz z wielkością problemu. Niemniej jednak, to właśnie na ich podstawie powstają wszystkie znane nam, wprawiające w zdumienie nas, maluczkich, szacunki jakoby czas potrzebny do złamania danego szyfru wynosi miliardy kwadrylionów kwintylionów lat. Przypomina to przekonanie weekendowego golfisty, że potrzeba by mu tysiąca lat praktyki aby trafiać w dołek jednym uderzeniem. I zapewne w odniesieniu do amatora to prawda, ale dla profesjonalistów już niekoniecznie. Należy zatem przyjąć, że w świecie szyfrowania wszyscy jesteśmy amatorami operującymi luźnymi szacunkami bez pokrycia.

Dowody na skuteczność są jedynie częściowe

Część naukowców i matematyków ciężko pracuje nad przedstawieniem "dowodu" swojego algorytmu. Owszem, łańcuchy dobrze przebadanych kroków logicznych pomagają nam ocenić siłę algorytmu szyfrowania, jednak nie oznacza to gwarancji bezpieczeństwa naszych danych. Można porównać istnienie takich dowodów do punktowego oświetlenia wybranych algorytmów, podczas gdy w otaczającej ciemności mogą czaić się potwory. W większości przypadków (z wyjątkiem tzw. szyfrów jednorazowych), dowody nie obejmują wszystkich możliwości i opierają się na założeniach, że niektóre problemy matematyczne są po prostu nie do przejścia. Ale to nie jest mocna gwarancja na przyszłość.

Nie możemy zmierzyć siły algorytmu

Zespoły sprzedaży technologii bezpieczeństwa lubią rzucać różnymi hasłami np. o „sile zgodnej z wymogami bankowości" dokładając dla efektu informacje o szyfrowaniu 1024-bitowym, ale rzeczywistość jest niestety taka, że możemy jedynie zgadywać, jaka jest prawdziwa siła algorytmów. Czy szyfrowanie 2048-bitowe jest dwa razy lepsze od 1024-bitowego? A może różnica jest astronomiczna?

Najnowsze badania stanowią dopiero wstęp do rozpoznania takich kwestii. Niektóre z ataków działają tylko na wąski zakres rodzajów wiadomości a ponadto są skuteczne jedynie wtedy, gdy dodatkowo szereg zmiennych ułoży się w korzystną konstelację. Z kolei inne ataki otwierają wszystko. Możemy obserwować działanie ataków w warunkach laboratoryjnych ale trudno jest poszerzyć wnioskowanie na sposób, w jaki mogą one zagrozić naszym danym.

Przyszłość informatyki jest tajemnicą

Nikt nie wie, czy zostaną zbudowane komputery kwantowe o mocy wystarczającej do rozwiązywania zaawansowanych problemów matematycznych, ale wiemy, że takie próby trwają i co jakiś czas publikowane są komunikaty prasowe o postępach. Wiemy również, że jeśli maszyny kwantowe się pojawią , wówczas będą one w stanie przełamać niektóre algorytmy szyfrujące. Wielu naukowców zajmujących się szyfrowaniem ciężko pracuje nad tworzeniem nowych algorytmów, które byłyby w stanie oprzeć się komputerom kwantowym, ale nikt tak naprawdę nie zna zakresu mocy komputera kwantowego. Czy moc ta będzie ograniczona tylko w odniesieniu do znanych algorytmów, czy może jednak ktoś znajdzie zupełnie inny sposób wykorzystania komputera kwantowego pozwalający na łamanie także wszystkich nowych algorytmów?

Zaszyfrowane dane nie są danymi bezpiecznymi

Czasami szyfrowanie działa aż nazbyt dobrze. Zamykamy dane wewnątrz matematycznego sejfu, po czym nasz klucz do niego znika. O ile tworzenie kopii zapasowych z zaszyfrowanych danych jest łatwe, o tyle znacznie gorzej wygląda sytuacja z tworzeniem kopii zapasowych kluczy i haseł. Jeśli jesteś zatem nazbyt ostrożny, możesz odciąć sam sobie dostęp do własnych danych. Zaszyfrowane dane to nie to samo, co dane bezpieczne. Zaszyfrowane dane nadal pozostają wrażliwe.

Szyfrowanie jest łatwe. Trudne jest zarządzanie kluczami

Niektóre standardy szyfrowania są uważane za pewne, ponieważ zostały opracowane w drodze wyczerpującego, wieloletniego procesu. Wystarczy zatem pobrać któryś z biblioteki open source i mieć pewność, że szyfrowanie będzie bezpieczne. Natomiast rzeczywistą trudność stanowi dostarczenie kluczy wszystkim, którzy ich potrzebują.

Systemy symetryczne, takie jak AES, wymagają, aby klucz podróżował oddzielnie przez bezpieczny kanał, ale gdybyśmy dysponowali bezpiecznym kanałem, nie potrzebowalibyśmy szyfrowania, prawda?
Jeśli planujemy z wyprzedzeniem, zazwyczaj możemy dostarczyć odpowiednie klucze właściwym użytkownikom.

Bezpieczną ścieżkę dystrybucji kluczy bez konieczności uprzedniego spotkania z odbiorcą klucza zapewniają systemy klucza publicznego, ale i te mają swoje własne problemy. Skąd wiesz, że używasz klucza publicznego właściwego dla danej osoby? Czy urząd ds. certyfikacji jest godny zaufania? jak widać, także i tutaj potrzebna jest nadal ogromna doza wiary w system.

Kod wsparcia jest wrażliwy

Dystrybucja kluczy nie jest jedynym problemem spędzającym sen z powiek twórcom oprogramowania szyfrującego. Wiele elementów algorytmu może bowiem stanowić źródła wycieków informacji, czasami nawet są one umieszczane tam celowo. Powszechne jest na przykład mieszanie liczb losowych z treścią wiadomości, ale uzyskanie tychże liczb losowych może być trudne. Niektóre z tzw. generatorów liczb losowych mają wady, które czynią ich produkt wysoce "nie-losowym", zaś ich przewidywalność może być wykorzystana do złamania klucza i odczytania wiadomości. Algorytm szyfrowania jest tylko jednym z elementów całości.

Współdzielony sprzęt jest niebezpieczny

Ostatnio coraz więcej kodu działa w chmurze z powodu kosztów i elastyczności. Problem polega jednak na tym, że nikt nie wie, co robią twoi partnerzy, którzy dzielą z tobą twój komputer. Istnieje wiele luk, które pozwalają jednemu elementowi oprogramowania na zaglądanie do pamięci innego elementu na tym samym komputerze. Twórcy systemu operacyjnego próbują zatykać takie luki, ale ciągle pojawiają się nowe, takie jak RowHammer. Wydaje się, że w chmurze znajdują się dziesiątki potencjalnych podatności na ataki na maszyny i dopiero od niedawna zaczynamy zdawać sobie sprawę, jak wielkie obawy powinny w nas wywoływać.

Zhakowany sprzęt jest niemożliwy do wykrycia

Oglądałeś kiedyś tranzystory w swoich procesorach? Czy jesteś pewien, że od początku wszystkie one są lojalne wobec ciebie, twórcy oprogramowania? Niektórzy sprytni hakerzy odwrócili proces konstrukcji pewnego chipa i odkryli, że ma on ukryty i nieudokumentowany tryb „boga”, który został uruchomiony przez losowy ciąg bajtów. Ciekawe, kto to tam umieścił? Jakoś nikt nie spieszy się ze zgłoszeniem.

Podpisy cyfrowe jedynie przesuwają odpowiedzialność

Matematyka, która stoi za jednymi algorytmami podpisu cyfrowego, jest uwodzicielska i hipnotyzująca. Umożliwia właścicielowi klucza prywatnego na wykonywanie obliczeń generujących legalny podpis cyfrowy. Jest to znacznie lepsze rozwiązanie niż odręczny podpis, który może być podrobiony przez czwartoklasistę potrzebującego podpisu rodzica pod uwagą w dzienniczku.

Ale czy to faktycznie prawda? Klucze prywatne nie są przywiązane do osób. Podpis cyfrowy może być wygenerowany wyłącznie przez osobę posiadającą dostęp do klucza prywatnego, którym powinien być teoretycznie prawowity właściciel ale może też być to ktoś, kto włamał się do jego komputera lub odczytał przez ramię hasło, podrzucił keylogger lub znalazł inny sposób, aby klucz ten uzyskać. Jeśli Twój klucz znajduje się na Twoim komputerze, a Twój komputer jest podłączony do Internetu, tym kimś może być dowolna osoba na świecie również podłączona do Internetu. Naukowcy usilnie starają się zbudować bezpieczne urządzenia i odporne rozwiązania, ale udaje im się jedynie utrudnić pracę napastnikom. Bowiem niebiańska matematyka może podlegać zagrożeniom wynikającym z całkiem przyziemnych słabości.

Nie wszyscy opowiadają o osiągnięciach

Niektórzy matematycy i eksperci od kryptografii lubią publicznie opowiadać o technologii. Inni jednak nie mówią nic. Nie wiemy nawet, ilu na świecie jest tych milczących.

To naprawdę niesamowite, jaką wiedzę na temat kodów i szyfrów rozwinęliśmy dotychczas, jednak im więcej korzystamy z tej technologii, tym większa jest zachęta do zachowania w tajemnicy jej ewentualnych słabości.

Kiedy przez opancerzone szyfrowaniem internetowe tunele płyną prawdziwe pieniądze i tajemnice, wiedza o każdej luce w tym pancerzu staje się niezwykle cenna. Innymi słowy, im więcej używamy szyfrowania, tym głębsze i ciemniejsze stają się jego tajemnice.

Peter Wayner jest redaktorem współpracującym z InfoWorld i autorem 16 książek, między innymi o oprogramowaniu open source, autonomicznych samochodach, algorytmach zwiększających prywatność, transakcjach cyfrowych i steganografii.