Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


01.12.2022

Wyższy poziom programowania

Progress oferuje nowe narzędzia programistyczne: Progress Telerik, Progress Kendo UI i...
01.12.2022

Łączność w podróży

VMware SD-WAN VMware zaprezentował rozwiązanie SD-WAN nowej generacji, w tym nowego...
01.12.2022

Bezpieczne e-maile

Nowa aplikacja firmy Cypherdog Security Inc. umożliwia bezpieczną wymianę maili i...
01.12.2022

Pierwszy w branży

Schneider Electric wprowadza na rynek APC Smart-UPS Ultra. To pierwszy w branży...
01.12.2022

Przełączniki 10G dla MŚP

Nowe urządzenia to przełączniki 10G kompatybilne z systemem Omada SDN.
01.12.2022

Zarządzanie danymi

Firma Synology wprowadziła na rynek czterokieszeniowy DiskStation DS923+.
01.12.2022

Nowatorski system chłodzenia

OVHcloud zaprezentował nową, autorską technologię hybrydowego zanurzeniowego chłodzenia...
01.12.2022

Linia smart routerów

D-Link zaprezentował najnowszą rodzinę routerów Smart Wi-Fi z algorytmami sztucznej...
04.11.2022

Nowa platforma Red Hat

Nowa platforma Red Hat Enterprise Linux (RHEL) w wersjach 8.7 i 9.1 Beta obsługuje...

Kryptografia tradycyjna i kwantowa

Data publikacji: 07-06-2022 Autor: Marcin Bieńkowski

Obserwowany w ostatnich latach niezwykle szybki rozwój komputerów kwantowych już wkrótce sprawi, że klucze wykorzystywane w klasycznej kryptografii będzie można w mgnieniu oka złamać. A może by tak do szyfrowania wykorzystać również metody kwantowe?

 

Dzisiejsze komputery kwantowe są jeszcze stosunkowo prymitywne i naukowcy stawiają pierwsze kroki w budowie bardziej zaawansowanych, działających maszyn. Niemniej większość specjalistów zajmujących się kryptografią i bezpieczeństwem danych uważa, że już za kilkanaście lat, a być może znacznie wcześniej, komputery kwantowe bez problemu będą sobie radziły z łamaniem skomplikowanych algorytmów szyfrujących. Oznacza to, że nie tylko prywatne czy firmowe dane będą zagrożone, ale również wszelkie tajne informacje związane z obronnością i funkcjonowaniem państw. Można więc powiedzieć, że kwantowy zegar odmierzający czas do chwili złamania szyfrów już tyka, dlatego też od połowy lat 80. XX wieku trwają intensywne prace nad nowymi metodami szyfrowania i dystrybucją kluczy szyfrujących, które byłyby odporne na kwantowe zagrożenie. Zanim to omówimy, przyjrzyjmy się współczesnej kryptografii.


> Kilka słów o szyfrowaniu


Jak już wspomniano, szyfrowaniem określa się proces przekształcania czytelnych danych, np. tekstu książki czy danych komputerowych, na niezrozumiały ciąg znaków bądź cyfrowych informacji w celu jego utajnienia. Dane w takiej niejawnej postaci mogą być następnie przechowywane na dysku lub przekazywane niezabezpieczonymi kanałami takimi jak internet czy transmisja radiowa. Proces szyfrowania przeprowadza się przy użyciu specjalnych funkcji matematycznych zwanych także kryptograficznymi algorytmami szyfrującymi. Czynność odwrotna, która ma na celu przekształcenie zaszyfrowanych danych na dane w postaci jawnej, nosi nazwę deszyfrowania lub dekryptażu.


Oczywiście szyfrowanie służy do ukrywania informacji przed niepożądanym lub nieuprawnionym dostępem. Przydaje się wszędzie tam, gdy trzeba przekazać wiadomość od nadawcy do odbiorcy w sposób uniemożliwiający odczytanie jej przez nieuprawnione osoby trzecie. Szyfrowanie jest też jedną z najskuteczniejszych technologii zapewnienia bezpieczeństwa współczesnych systemów komputerowych i sieciowych. Jest wykorzystywane zarówno w odniesieniu do pojedynczych dokumentów, zbiorów danych zapisanych na nośnikach, jak i ciągłych transmisji sieciowych. Szyfrowanie stosowane jest też do uwierzytelniania, zarówno integralności dokumentów, jak i tożsamości osób.


Obecnie każda cyfrowa metoda szyfrowania danych wykorzystywana w teleinformatyce opiera się na cyfrowych kluczach. Zawierają one informacje w postaci ciągu bitów, które umożliwiają algorytmom kryptograficznym wykonanie pewnej, ściśle określonej czynności kryptograficznej. Najczęściej jest to szyfrowanie, deszyfrowanie, podpisywanie cyfrowego dokumentu lub jego weryfikacja. Innymi słowy, w sporym uproszczeniu, klucz „mówi” algorytmowi szyfrującemu, co ma zrobić, aby zaszyfrować lub odkodować dane.


Istotne jest również to, że o skuteczności szyfrowania, a więc o odporności na próby złamania, decyduje w dużej mierze długość samego klucza, czyli jego liczba możliwych kombinacji. Jeśli przestrzeń możliwych kombinacji kluczy jest niewielka, atakujący może wypróbować kolejno wszystkie możliwe klucze – jest to tak zwany atak siłowy (ang. brute force). Metodę szyfrowania uznaje się za złamaną, gdy ktoś odkryje sposób zaatakowania danego szyfru, który jest skuteczniejszy od ataku siłowego, a więc wypróbowywania wszystkich możliwych kluczy.


Dlatego, gdy podstawą do tworzenia klucza jest hasło, czyli ciąg znaków alfanumerycznych, należy wybierać wystarczająco długie słowa klucze, korzystając z większej puli znaków (np. ze znakami specjalnymi, takimi jak „#”, „%”, „&”, „*”, „!”), tak aby hakerzy atakujący metodą brute force nie mieli dużej szansy na szybkie znalezienie prawidłowego ciągu znaków cyfrowego klucza.


W cyfrowym szyfrowaniu długość klucza ustala się na podstawie liczby bitów. W praktyce korzysta się z kluczy 40-, 56-, 128-, 196-, 256-, 512-, 1024-, a ostatnio nawet 2048-bitowych. Wraz z długością klucza wzrasta liczba możliwych kombinacji, tak jak w wypadku wspomnianego przed chwilą hasła. Dla przykładu 128-bitowe szyfrowanie jest bilion (!) razy silniejsze od stosowanego powszechnie jeszcze do niedawna w sieciach bezprzewodowych szyfrowania 40-bitowego.


> Kryptografia symetryczna i asymetryczna


Z kluczem bezpośrednio związane jest pojęcie kryptografii symetrycznej i asymetrycznej. W tej pierwszej ten sam klucz jest używany zarówno do szyfrowania, jak i odszyfrowywania danych. W wypadku kryptografii asymetrycznej, czyli kryptografii z kluczem publicznym, potrzebna jest para matematycznie powiązanych ze sobą kluczy, na którą składa się klucz prywatny (ang. private key) oraz klucz publiczny (ang. public key). Klucz publiczny służy do szyfrowania i jest udostępniany publicznie – każdy może z niego skorzystać i wysłać zaszyfrowaną wiadomość do właściciela pary kluczy, stąd nazwa „publiczny”. Drugi klucz musi być zaś przechowywany przez właściciela prywatnie, w ukryciu, i wykorzystywany jest do odszyfrowywania wiadomości. Jest to asymetryczne z tego względu, że dane szyfrowane kluczem publicznym ze wspomnianej pary mogą być odkodowane tylko przy użyciu klucza prywatnego.


Przykładem algorytmu symetrycznego jest Advanced Encryption Standard, czyli algorytm AES. Są nimi również DES, Triple-DES, RC3, RC4, IDEA czy Blowfish. Obecnie algorytm AES obsługuje klucze o długości 128, 192 i 256, 512 i niekiedy 1024 bitów. Algorytmy symetryczne są zwykle używane do masowych zadań kryptograficznych, takich jak szyfrowanie dużych baz danych, systemów plików, plików na dyskach i w katalogach itp. Największą wadą symetrycznych algorytmów szyfrowania jest konieczność zastosowania tego samego klucza do szyfrowania i deszyfrowania informacji. W metodzie tej nadawca i odbiorca wiadomości muszą wymienić się kluczem, korzystając z bezpiecznego kanału komunikacji, a znalezienie takiego jest dość trudne. Standardowe kanały transmisji danych mogą być podatne na ataki, a atakujący ma szansę przechwycić poufny klucz.


W wypadku algorytmów asymetrycznych rozwiązano problem dystrybucji klucza, który, jak widać, jest istotnym zagadnieniem w szyfrowaniu. Klucz szyfrujący jest tu publiczny i każdy może mieć do niego dostęp, gdyż współczesne komputery na jego podstawie nie są w stanie w rozsądnym czasie odtworzyć klucza prywatnego. Trzeba jednak pamiętać, że algorytmy asymetryczne działają wolniej niż algorytmy symetryczne, co też może powodować niekiedy pewne problemy. Powszechnie stosowanym, najbardziej znanym algorytmem asymetrycznym jest algorytm Rivesta–
–Shamira–Adlemana, czyli algorytm RSA.


W praktyce kryptografię z kluczem publicznym wykorzystuje się do bezpiecznej wymiany kluczy symetrycznych oraz do cyfrowego uwierzytelniania i podpisywania wiadomości e-mail, cyfrowych dokumentów i certyfikatów, które łączą klucze publiczne z tożsamością ich właścicieli. Z szyfrowaniem asymetrycznym mamy też do czynienia podczas odwiedzania bezpiecznych witryn internetowych, które używają protokołu HTTPS – w tym przypadku przeglądarka na komputerze używa kryptografii klucza publicznego do uwierzytelnienia certyfikatu witryny i skonfigurowania klucza symetrycznego do zabezpieczenia komunikacji do i z witryny.


> Łamanie szyfrów


Ponieważ praktycznie wszystkie aplikacje internetowe używają zarówno kryptografii symetrycznej, jak i kryptografii klucza publicznego, obie formy muszą być bezpieczne. Jednak bywa z tym różnie. Popularne obecnie algorytmy szyfrowania z kluczem publicznym, takie jak RSA, algorytm Diffiego–Hellmana, ElGamal czy wykorzystywana w większości systemów do obsługi kryptowalut kryptografia krzywych eliptycznych, pozwalają bowiem na matematyczne obliczenie klucza prywatnego na podstawie klucza publicznego bez wypróbowywania wszystkich możliwości, jak w wypadku ataku brute force. W praktyce obliczenia te mogą z użyciem superkomputera trwać nawet kilka, kilkanaście lat, jednak komputery kwantowe mogą to samo zrobić w kilka godzin lub krócej.


W przypadku wspomnianej, stosowanej w e-commerce metody RSA klucz prywatny można obliczyć poprzez faktoryzację liczby, która jest iloczynem dwóch liczb pierwszych. Jak pokazały wykonane na przełomie lat 90. i 2000. ubiegłego wieku na MIT badania z wykorzystaniem algorytmu Petera Shora opracowanego w Bell Laboratories, złamanie asymetrycznej, 96-bitowej pary kluczy zajmie 1024-kubitowemu komputerowi kwantowemu około godziny. Jednak droga do zbudowania tak potężnego komputera kwantowego jest jeszcze daleka. Obecne maszyny oparte na bramkach kwantowych nie dysponują więcej niż 450–500 kubitami, jak np. planowany na ten rok 433-kubitowy IBM Quantum Osprey (więcej o realizacjach poszczególnych systemów kwantowych w „IT Professional 10/2021, s. 29), a te polegające na wyżarzaniu kwantowym w ogóle się do tego nie nadają (ramka Wyżarzanie kwantowe).


Wróćmy jednak do długości klucza. Wydłużenie klucza RSA, do wykorzystywanej obecnie w telekomunikacji 2048-bitowej długości, wymaga aż 70 milionów kubitów, aby złamać to szyfrowanie w tym samym czasie, jednak już w 2019 r. Google i Instytut KTH w Szwecji opublikowały bardziej wydajny algorytm, za pomocą którego komputery kwantowe mogą wykonywać obliczenia związane z łamaniem kodów asymetrycznych. Praca Craiga Gidneya i Martina Ekera opublikowana w „MIT Technology Review” pokazuje, że komputer kwantowy o mocy 20 milionów kubitów jest w stanie złamać 2048-bitowy klucz RSA w ciągu zaledwie 8 godzin. Nie lepiej jest z kluczami asymetrycznymi. Okazuje się, że opracowany w 1996 r. przez Lova Grovera algorytm może się rozprawić z 256-bitowym kluczem AES, oczywiście na wystarczająco mocnym komputerze kwantowym, w kilka godzin.

 

[...]

 

Autor jest niezależnym dziennikarzem zajmującym się propagowaniem nauki i techniki.

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik \"IT Professional\"