Szyfrowanie — Encryption

W kryptografii , szyfrowanie jest procesem kodowania informacji. Ten proces przekształca oryginalną reprezentację informacji, znaną jako tekst jawny , w alternatywną formę znaną jako tekst zaszyfrowany . W idealnym przypadku tylko upoważnione strony mogą odszyfrować zaszyfrowany tekst z powrotem do zwykłego tekstu i uzyskać dostęp do oryginalnych informacji. Szyfrowanie samo w sobie nie zapobiega ingerencji, ale odmawia zrozumiałej zawartości potencjalnemu przechwytującemu.

Ze względów technicznych schemat szyfrowania zwykle wykorzystuje pseudolosowy klucz szyfrowania wygenerowany przez algorytm . Możliwe jest odszyfrowanie wiadomości bez posiadania klucza, ale dobrze zaprojektowany schemat szyfrowania wymaga znacznych zasobów obliczeniowych i umiejętności. Autoryzowany odbiorca może łatwo odszyfrować wiadomość za pomocą klucza dostarczonego przez nadawcę adresatom, ale nie nieautoryzowanym użytkownikom.

Historycznie, różne formy szyfrowania były używane do pomocy w kryptografii. Wczesne techniki szyfrowania były często wykorzystywane w wiadomościach wojskowych. Od tego czasu pojawiły się nowe techniki, które stały się powszechne we wszystkich obszarach nowoczesnego informatyki. Nowoczesne systemy szyfrowania wykorzystuje koncepcje publicznego klucza i symetrycznym kluczu . Nowoczesne techniki szyfrowania zapewniają bezpieczeństwo, ponieważ nowoczesne komputery są nieefektywne w łamaniu szyfrowania.

Historia

Starożytny

Jedną z najwcześniejszych form szyfrowania jest zastępowanie symboli, które po raz pierwszy znaleziono w grobowcu Chnumhotepa II, który żył w 1900 pne w Egipcie. Szyfrowanie zastępujące symbol jest „niestandardowe”, co oznacza, że ​​symbole wymagają do zrozumienia szyfru lub klucza. Ten rodzaj wczesnego szyfrowania był używany w starożytnej Grecji i Rzymie do celów wojskowych. Jednym z najbardziej znanych rozwiązań w zakresie szyfrowania wojskowego był szyfr Cezara, który był systemem, w którym litera w normalnym tekście jest przesuwana w dół o ustaloną liczbę pozycji w alfabecie, aby uzyskać zakodowaną literę. Wiadomość zakodowana za pomocą tego typu szyfrowania mogłaby zostać odszyfrowana ze stałą liczbą szyfru Cezara.

Około 800 rne arabski matematyk Al-Kindi opracował technikę analizy częstotliwości, która była próbą systematycznego łamania szyfrów Cezara. Ta technika sprawdzała częstotliwość liter w zaszyfrowanej wiadomości, aby określić odpowiednią zmianę. Technika ta okazała się nieskuteczna po stworzeniu szyfru polialfabetycznego przez Leone Albertiego w 1465 roku, który zawierał różne zestawy języków. Aby analiza częstotliwości była przydatna, osoba próbująca odszyfrować wiadomość musiałaby wiedzieć, jaki język wybrał nadawca.

XIX–XX wiek

Około 1790 r. Thomas Jefferson wymyślił szyfr do kodowania i dekodowania wiadomości w celu zapewnienia bezpieczniejszego sposobu korespondencji wojskowej. Szyfr, znany dziś jako szyfr kołowy lub dysk Jeffersona , chociaż nigdy nie został zbudowany, był teoretycznie szpulą, która może pomylić angielską wiadomość o długości do 36 znaków. Wiadomość można było odszyfrować, podłączając pomieszaną wiadomość do odbiorcy z identycznym szyfrem.

Urządzenie podobne do Dysku Jeffersona, M-94 , zostało opracowane w 1917 niezależnie przez majora armii amerykańskiej Josepha Mauborne'a. To urządzenie było używane w amerykańskiej komunikacji wojskowej do 1942 roku.

Podczas II wojny światowej mocarstwa Osi używały bardziej zaawansowanej wersji M-94, zwanej Enigma Machine . Maszyna Enigma była bardziej złożona, ponieważ w przeciwieństwie do Jefferson Wheel i M-94, z każdym dniem plątanina liter zmieniała się w zupełnie nową kombinację. Kombinacja każdego dnia była znana tylko Osi, więc wielu uważało, że jedynym sposobem na złamanie kodu jest wypróbowanie ponad 17 000 kombinacji w ciągu 24 godzin. Alianci wykorzystali moc obliczeniową, aby poważnie ograniczyć liczbę rozsądnych kombinacji, które musieli sprawdzać każdego dnia, co doprowadziło do złamania maszyny Enigmy.

Nowoczesny

Obecnie szyfrowanie jest używane w przesyłaniu komunikacji przez Internet dla bezpieczeństwa i handlu. Wraz ze wzrostem mocy obliczeniowej, szyfrowanie komputerowe stale ewoluuje, aby zapobiegać atakom.

Szyfrowanie w kryptografii

W kontekście kryptografii szyfrowanie służy jako mechanizm zapewniający poufność . Ponieważ dane mogą być widoczne w Internecie, poufne informacje, takie jak hasła i komunikacja osobista, mogą być narażone na potencjalne przechwycenia . Proces szyfrowania i deszyfrowania wiadomości obejmuje klucze . Dwa główne typy kluczy w systemach kryptograficznych to klucz symetryczny i klucz publiczny (znany również jako klucz asymetryczny).

Wiele złożonych algorytmów kryptograficznych często wykorzystuje w swoich implementacjach prostą arytmetykę modularną .

Rodzaje

Klucz symetryczny

W schematach kluczy symetrycznych klucze szyfrowania i deszyfrowania są takie same. Komunikujące się strony muszą mieć ten sam klucz, aby zapewnić bezpieczną komunikację. Niemiecka maszyna Enigma codziennie wykorzystywała nowy klucz symetryczny do kodowania i dekodowania wiadomości.

Klucz publiczny

Ilustracja przedstawiająca sposób użycia szyfrowania na serwerach Szyfrowanie z kluczem publicznym .

W schematach szyfrowania kluczem publicznym klucz szyfrowania jest publikowany, aby każdy mógł używać i szyfrować wiadomości. Jednak tylko strona odbierająca ma dostęp do klucza deszyfrującego, który umożliwia odczytywanie wiadomości. Szyfrowanie kluczem publicznym zostało po raz pierwszy opisane w tajnym dokumencie w 1973 roku; wcześniej wszystkie schematy szyfrowania były oparte na kluczu symetrycznym (zwanym również kluczem prywatnym). Chociaż później opublikowana, praca Diffie i Hellmana została opublikowana w czasopiśmie o dużej liczbie czytelników, a wartość metodologii została wyraźnie opisana. Metoda ta stała się znana jako wymiana kluczy Diffie-Hellman .

RSA (Rivest–Shamir–Adleman) to kolejny godny uwagi system kryptograficzny klucza publicznego . Stworzony w 1978 roku, jest używany do dziś w aplikacjach wykorzystujących podpisy cyfrowe . Wykorzystując teorię liczb , algorytm RSA wybiera dwie liczby pierwsze , które pomagają wygenerować zarówno klucze szyfrowania, jak i deszyfrowania.

Publicznie dostępna aplikacja szyfrująca kluczem publicznym o nazwie Pretty Good Privacy (PGP) została napisana w 1991 roku przez Phila Zimmermanna i rozpowszechniana bezpłatnie wraz z kodem źródłowym. PGP został zakupiony przez firmę Symantec w 2010 roku i jest regularnie aktualizowany.

Zastosowania

Szyfrowanie od dawna jest używane przez wojsko i rządy w celu ułatwienia tajnej komunikacji. Obecnie jest powszechnie stosowany w ochronie informacji w wielu rodzajach systemów cywilnych. Na przykład Computer Security Institute poinformował, że w 2007 r. 71% ankietowanych firm stosowało szyfrowanie niektórych przesyłanych danych, a 53% stosowało szyfrowanie niektórych przechowywanych danych. Szyfrowanie może służyć do ochrony danych „w spoczynku”, takich jak informacje przechowywane na komputerach i urządzeniach magazynujących (np. pendrive'y ). W ostatnich latach pojawiły się liczne doniesienia o ujawnieniu poufnych danych, takich jak dane osobowe klientów, w wyniku utraty lub kradzieży laptopów lub dysków zapasowych; szyfrowanie takich plików w stanie spoczynku pomaga chronić je, jeśli zawiodą fizyczne środki bezpieczeństwa. Systemy zarządzania prawami cyfrowymi , które zapobiegają nieautoryzowanemu użyciu lub powielaniu materiałów chronionych prawem autorskim i chronią oprogramowanie przed inżynierią wsteczną (patrz także ochrona przed kopiowaniem ), to kolejny nieco inny przykład szyfrowania danych w spoczynku.

Szyfrowanie jest również wykorzystywane do ochrony danych w trakcie przesyłania, na przykład danych przesyłanych przez sieci (np. Internet, e-commerce ), telefony komórkowe , mikrofony bezprzewodowe , bezprzewodowe systemy interkomowe , urządzenia Bluetooth i bankomaty bankowe . W ostatnich latach pojawiło się wiele doniesień o przechwyceniu danych w tranzycie. Dane powinny być również szyfrowane podczas przesyłania przez sieci w celu ochrony przed podsłuchiwaniem ruchu sieciowego przez nieuprawnionych użytkowników.

Usuwanie danych

Konwencjonalne metody trwałego usuwania danych z urządzenia pamięci masowej polegają na nadpisaniu całej zawartości urządzenia zerami, jedynkami lub innymi wzorcami – proces, który może zająć dużo czasu, w zależności od pojemności i rodzaju nośnika pamięci. Kryptografia umożliwia niemal natychmiastowe wymazanie. Ta metoda nazywa się niszczeniem kryptowalut . Przykładową implementację tej metody można znaleźć na urządzeniach z systemem iOS , gdzie klucz kryptograficzny jest przechowywany w dedykowanej „ pamięci usuwalnej ”. Ponieważ klucz jest przechowywany na tym samym urządzeniu, ta konfiguracja sama w sobie nie zapewnia pełnej ochrony prywatności ani bezpieczeństwa, jeśli nieupoważniona osoba uzyska fizyczny dostęp do urządzenia.

Ograniczenia

Szyfrowanie jest wykorzystywane w XXI wieku do ochrony danych cyfrowych i systemów informatycznych. Wraz ze wzrostem mocy obliczeniowej na przestrzeni lat technologia szyfrowania stała się coraz bardziej zaawansowana i bezpieczna. Jednak ten postęp w technologii ujawnił również potencjalne ograniczenia dzisiejszych metod szyfrowania.

Długość klucza szyfrowania jest wskaźnikiem siły metody szyfrowania. Na przykład oryginalny klucz szyfrowania DES (Data Encryption Standard) miał 56 bitów, co oznacza, że ​​miał 2^56 możliwości kombinacji. Przy dzisiejszej mocy obliczeniowej 56-bitowy klucz nie jest już bezpieczny, ponieważ jest podatny na ataki hakerskie metodą brute force . Obecnie standard nowoczesnych kluczy szyfrowania wynosi do 2048 bitów w systemie RSA. Odszyfrowanie 2048-bitowego klucza szyfrowania jest prawie niemożliwe w świetle liczby możliwych kombinacji. Jednak komputery kwantowe grożą zmianą tej bezpiecznej natury.

Obliczenia kwantowe wykorzystują właściwości mechaniki kwantowej do jednoczesnego przetwarzania dużych ilości danych. Odkryto, że obliczenia kwantowe osiągają prędkości obliczeniowe tysiące razy szybsze niż dzisiejsze superkomputery. Ta moc obliczeniowa stanowi wyzwanie dla dzisiejszej technologii szyfrowania. Na przykład szyfrowanie RSA wykorzystuje mnożenie bardzo dużych liczb pierwszych w celu utworzenia liczby półpierwszej dla swojego klucza publicznego. Dekodowanie tego klucza bez jego klucza prywatnego wymaga uwzględnienia tej liczby półpierwszej, co w przypadku nowoczesnych komputerów może zająć bardzo dużo czasu. Rozpatrzenie tego klucza zajęłoby superkomputerowi od tygodni do miesięcy. Jednak obliczenia kwantowe mogą używać algorytmów kwantowych do rozkładania tej liczby półpierwszej na czynniki w takim samym czasie, jaki zajmuje normalnym komputerom jej wygenerowanie. To sprawiłoby, że wszystkie dane byłyby chronione przez obecne szyfrowanie z kluczem publicznym, podatne na ataki z wykorzystaniem obliczeń kwantowych. Inne techniki szyfrowania, takie jak kryptografia krzywych eliptycznych i szyfrowanie kluczem symetrycznym, są również podatne na obliczenia kwantowe.

Chociaż obliczenia kwantowe mogą w przyszłości stanowić zagrożenie dla bezpieczeństwa szyfrowania, obliczenia kwantowe w obecnej formie są nadal bardzo ograniczone. Obliczenia kwantowe nie są obecnie dostępne na rynku, nie mogą obsługiwać dużych ilości kodu i istnieją tylko jako urządzenia obliczeniowe, a nie komputery. Co więcej, postępy w zakresie obliczeń kwantowych będą mogły być również wykorzystane na korzyść szyfrowania. Agencja Bezpieczeństwa Narodowego (NSA) przygotowuje obecnie standardy szyfrowania po kwantowych na przyszłość. Szyfrowanie kwantowe zapewnia poziom bezpieczeństwa, który będzie w stanie przeciwdziałać zagrożeniom związanym z obliczeniami kwantowymi.

Ataki i środki zaradcze

Szyfrowanie jest ważnym narzędziem, ale samo w sobie nie wystarcza do zapewnienia bezpieczeństwa lub prywatności poufnych informacji przez cały okres ich istnienia. Większość aplikacji szyfrowania chroni informacje tylko w spoczynku lub podczas przesyłania, pozostawiając wrażliwe dane w postaci zwykłego tekstu i potencjalnie podatne na niewłaściwe ujawnienie podczas przetwarzania, na przykład przez usługę w chmurze . Szyfrowanie homomorficzne i bezpieczne obliczenia wielostronne to nowe techniki przetwarzania zaszyfrowanych danych; techniki te są ogólne i kompletne według Turinga, ale wiążą się z wysokimi kosztami obliczeniowymi i/lub komunikacyjnymi.

W odpowiedzi na szyfrowanie danych w spoczynku cyberprzeciwnicy opracowali nowe rodzaje ataków. Te nowsze zagrożenia dla szyfrowania danych w spoczynku obejmują ataki kryptograficzne, ataki z użyciem skradzionego tekstu zaszyfrowanego , ataki na klucze szyfrowania, ataki z wykorzystaniem informacji poufnych , ataki na uszkodzenie lub integralność danych, ataki na niszczenie danych i ataki oprogramowania ransomware . Fragmentacja danych i technologie ochrony danych aktywnej obrony próbują przeciwdziałać niektórym z tych ataków, rozpowszechniając, przenosząc lub mutując zaszyfrowany tekst, aby trudniej było go zidentyfikować, ukraść, uszkodzić lub zniszczyć.

Ochrona integralności szyfrogramów

Szyfrowanie samo w sobie może chronić poufność wiadomości, ale nadal potrzebne są inne techniki, aby chronić integralność i autentyczność wiadomości; na przykład weryfikacja kodu uwierzytelniania wiadomości (MAC) lub podpisu cyfrowego . Uwierzytelnione algorytmy szyfrowania mają na celu zapewnienie zarówno szyfrowania, jak i ochrony integralności. Standardy oprogramowania i sprzętu kryptograficznego do szyfrowania są powszechnie dostępne, ale skuteczne stosowanie szyfrowania w celu zapewnienia bezpieczeństwa może stanowić poważny problem. Pojedynczy błąd w projekcie lub wykonaniu systemu może umożliwić skuteczne ataki. Czasami przeciwnik może uzyskać niezaszyfrowane informacje bez bezpośredniego cofania szyfrowania. Zobacz na przykład analizę ruchu , TEMPEST lub konia trojańskiego .

Mechanizmy ochrony integralności, takie jak adresy MAC i podpisy cyfrowe, muszą być stosowane do zaszyfrowanego tekstu, gdy jest on tworzony po raz pierwszy, zazwyczaj na tym samym urządzeniu, z którego skomponowano wiadomość, aby chronić wiadomość od końca do końca na całej ścieżce transmisji; w przeciwnym razie każdy węzeł między nadawcą a agentem szyfrowania mógłby potencjalnie manipulować nim. Szyfrowanie w momencie tworzenia jest bezpieczne tylko wtedy, gdy samo urządzenie szyfrujące ma prawidłowe klucze i nie zostało naruszone. Jeśli na przykład urządzenie końcowe zostało skonfigurowane do ufania certyfikatowi głównemu kontrolowanemu przez atakującego, osoba atakująca może zarówno sprawdzać, jak i manipulować zaszyfrowanymi danymi, przeprowadzając atak typu man-in-the-middle w dowolnym miejscu na ścieżce wiadomości. Powszechna praktyka przechwytywania TLS przez operatorów sieci stanowi kontrolowaną i usankcjonowaną instytucjonalnie formę takiego ataku, ale kraje próbowały również zastosować takie ataki jako formę kontroli i cenzury.

Długość i dopełnienie zaszyfrowanego tekstu

Nawet jeśli szyfrowanie poprawnie ukrywa treść wiadomości i nie można jej manipulować podczas spoczynku lub przesyłania, długość wiadomości jest formą metadanych , z których nadal mogą wyciekać poufne informacje na temat wiadomości. Na przykład dobrze znane ataki CRIME i BREACH na HTTPS były atakami typu side-channel, które polegały na wycieku informacji poprzez długość zaszyfrowanej treści. Analiza ruchu to szeroka klasa technik, które często wykorzystują długości komunikatów do wywnioskowania wrażliwej implementacji przepływów ruchu poprzez agregowanie informacji o dużej liczbie komunikatów.

Dopełnienie ładunku wiadomości przed jej zaszyfrowaniem może pomóc ukryć prawdziwą długość tekstu jawnego, kosztem zwiększenia rozmiaru tekstu zaszyfrowanego i wprowadzenia lub zwiększenia obciążenia przepustowości . Wiadomości mogą być dopełniane losowo lub deterministycznie , przy czym każde podejście ma różne kompromisy. Szyfrowanie i wypełnianie wiadomości w celu utworzenia wypełnionych, jednolitych, losowych obiektów blob lub PURB to praktyka gwarantująca, że ​​tekst zaszyfrowany nie wycieknie żadnych metadanych dotyczących zawartości tekstu jawnego , a jego długość spowoduje wyciek asymptotycznie minimalnych informacji .

Zobacz też

Bibliografia

Dalsza lektura