w tym artykule, drugim z 3-częściowej serii poświęconej technologii szyfrowania klucza symetrycznego, przyglądamy się rozwojowi algorytmów szyfrowania klucza symetrycznego i gamie dostępnych obecnie algorytmów wraz z ich mocnymi i słabymi stronami, a także znaczeniu kryptograficznej zwinności.,

rodzina algorytmów DES

oryginalny algorytm szyfrowania blokowego DES (Data Encryption Standard), znany również jako DEA (data Encryption Algorithm), został opracowany przez IBM we wczesnych latach 70. i opublikowany (z niewielkimi zmianami) jako standard przez rząd USA w 1977 roku, szybko stając się de facto standardem międzynarodowym.

jednak, z kluczem o długości zaledwie 56 bitów (plus 8 bitów parzystości), stało się jasne w latach 90., że nie jest już wystarczająco zabezpieczony przed brutalnym wymuszaniem klucza przy użyciu nowoczesnych komputerów, które rosły w siłę zgodnie z prawem Moore ' a., Tak więc Triple-DES (aka TDES, TDEA lub 3DES) został wprowadzony w 1998 roku, używając pakietu 3 kluczy, dającego nominalną siłę 168 bitów, ale za cenę powolnej wydajności. Opcjonalnie, długość klucza może być zmniejszona do 112 bitów, czyniąc dwa klucze tym samym – czasami nazywa się to 2DES lub 2tdea; jednak nie jest to szybsze i 112-bitowy klucz nie jest już uważany za Bezpieczny.

Triple-DES jest nadal szeroko stosowany, szczególnie w branży finansowej, chociaż wiele aplikacji pominęło Triple-DES ze względu na jego słabą wydajność i zamiast tego przeszło prosto z DES do AES., Jednak mimo że klucz 168-bitowy jest nadal uważany za silny, nie jest już zalecany do nowych aplikacji, ponieważ wykorzystuje niewielki rozmiar bloku (64 bity). To sprawia, że jest podatny na atak zwany” Sweet 32″, co oznacza, że klucz może zostać złamany, jeśli więcej niż 232 bloki danych są zaszyfrowane bez zmiany klucza. Biorąc pod uwagę dużą ilość danych przechowywanych lub przesyłanych przez nowoczesne systemy, oznacza to konieczność częstej zmiany klucza, co jest niepraktyczne.,

rodzina algorytmów RC

pierwsi członkowie rodziny algorytmów RC, RC2 i RC4 (aka ARC4 lub ARCFOUR), zostały zaprojektowane przez Rona Rivesta (z RSA fame) w 1987 roku. RC2 jest 64-bitowym szyfrem blokowym, który obsługuje klucz o długości do 128 bitów, chociaż początkowo został zatwierdzony tylko do eksportu w USA z kluczem 40-bitowym. RC4 jest szyfrem strumieniowym, który jest bardzo szeroko stosowany (np. w protokole SSL / TLS i wczesnych standardach bezpieczeństwa Wi-Fi). Jednak ani RC2, ani RC4 nie są dziś uważane za bezpieczne.,

RC5 jest szyfrem blokowym o zmiennym rozmiarze bloku (32, 64 lub 128 bitów), zmiennej długości klucza (do 2040 bitów) i zmiennej liczbie rund (do 255). Umożliwia to kompromis między wydajnością a bezpieczeństwem i nadal jest uważany za Bezpieczny, gdy jest używany z odpowiednimi parametrami. Został on później zmodyfikowany do produkcji RC6 o stałym rozmiarze bloku 128 bitów jako uczestnik standardu Advanced Encryption-patrz poniżej. Jednak RC5 i RC6 nie są szeroko stosowane, ponieważ są opatentowane.,rodzina algorytmów Rijndael (AES)

podzbiór rodziny algorytmów Rijndael szyfrów blokowych został wybrany jako Advanced Encryption Standard (AES) w 2001 roku w celu zastąpienia DES, w wyniku konkursu prowadzonego przez amerykański Narodowy Instytut Standardów i technologii (NIST). Obecnie jest powszechnie znany jako algorytm AES, oferujący rozmiar bloku 128 bitów i trzy opcje długości klucza: 128, 192 lub 256 bitów. Liczba rund różni się w zależności od długości klucza.,

AES jest algorytmem symetrycznym do wyboru w większości dzisiejszych zastosowań i jest bardzo szeroko stosowany, głównie z kluczami 128 lub 256-bitowymi, przy czym ten ostatni klucz jest nawet uważany za wystarczająco silny, aby chronić Wojskowe ściśle tajne dane. Zauważ, że zakładając, że nie ma znanych słabości algorytmu, pojedynczy 128-bitowy klucz zajmie miliardy lat, aby brutalnie użyć dowolnej klasycznej technologii obliczeniowej dzisiaj lub w przewidywalnej przyszłości (patrz obliczenia kwantowe poniżej).,

inne algorytmy symetryczne

wiele innych szyfrów blokowych zostało opracowanych na przestrzeni lat, takich jak Blowfish, IDEA i Cast-128 (aka CAST5). Jednak większość starszych algorytmów jest ograniczona wielkością bloku i/lub ograniczeniami długości klucza, a także (w niektórych przypadkach) kwestiami bezpieczeństwa i/lub ograniczeniami patentowymi, a zatem mają stosunkowo niewielki sukces poza jednym lub dwoma konkretnymi aplikacjami.

do udziału w konkursie AES opracowano szereg szyfrów blokowych, takich jak Twofish, Serpent, MARS i CAST-256., Wiele z nich jest nadal bardzo dobrych, mimo że Rijndael został ostatecznie wybrany w oparciu o połączenie bezpieczeństwa, wydajności i innych czynników, więc są one rzadko używane.

istnieje również wiele przykładów innych szyfrów strumieniowych.

niektóre rządy opracowują własne algorytmy krajowe, zarówno do celów wojskowych, jak i komercyjnych. Amerykańska Administracja Bezpieczeństwa Narodowego (NSA) opracowała wiele algorytmów na przestrzeni lat, chociaż szczegóły większości pozostają tajne. Inne stosunkowo dobrze znane przykłady algorytmów krajowych to Magma (aka GOST 28147-89) i Kuznyechik (aka GOST R 34.,12-2015) w Rosji, SM1 i SM4 w Chinach oraz nasiona w Korei Południowej.

obecnie prowadzi się wiele badań nad lekkimi algorytmami, nadającymi się do implementacji w tanich urządzeniach mobilnych i aplikacjach Internet of Things (IoT), które zazwyczaj mają ograniczoną wydajność procesora, ograniczoną pamięć i / lub ograniczoną dostępną moc.

obliczenia kwantowe

Kiedy komputer kwantowy na dużą skalę stanie się dostępny, prawdopodobnie za około 10 lat, będzie miał duży wpływ na kryptografię. W szczególności algorytmy asymetryczne stosowane głównie dziś zostaną skutecznie złamane., Na szczęście wpływ na algorytmy symetryczne wydaje się być mniej poważny – algorytm Grovera ma efekt zmniejszenia o połowę długości klucza, a więc AES-128 ma efektywną siłę równoważną 64-bitowemu kluczowi, a AES-256 jest zredukowany do siły 128-bitowego klucza. Oznacza to, że AES-256 może być nadal pewnie używany w obliczu obliczeń kwantowych (o ile wiemy dzisiaj).

Crypto-agility

jak widzieliśmy, żadne algorytmy nie są doskonałe – ataki kryptograficzne stają się coraz silniejsze, gdy opracowywane są nowe narzędzia i techniki., Algorytmy, które kiedyś uważano za silne, są dziś łatwe do złamania na domowym komputerze. Nawet dzisiejsze najlepsze algorytmy zostaną osłabione przez obliczenia kwantowe. Nowe algorytmy będą nadal opracowywane w celu poprawy bezpieczeństwa i ukierunkowania nowych aplikacji o szczególnych potrzebach, takich jak Internet Rzeczy.

jednak historia pokazała, że zmiana algorytmów może być trudniejsza niż oczekiwano, a stare algorytmy są nadal używane długo po tym, jak nie są już uważane za bezpieczne.

wystarczy spojrzeć na MD5, SHA1, DES, 2TDEA, RC4, RSA-1024 i tak dalej, aby zobaczyć, jak bolesny i długotrwały może być ten proces.,

problemem jest interoperacyjność. Kiedy całe ekosystemy zostały zbudowane wokół określonego algorytmu, tak jak branża finansowa została zbudowana wokół DES i Triple-DES, wymaga to współpracy narodów, branż, organów normalizacyjnych i dostawców przez wiele lat, aby wprowadzić zmiany. Sprzęt, oprogramowanie, protokoły muszą być zaktualizowane. Istnieją ogromne konsekwencje finansowe, zwłaszcza w przypadku konieczności wymiany istniejącej infrastruktury.,

Informatyka kwantowa grozi poważnym przewrotem w ciągu najbliższych 5-10 lat, a firmy, które nie chcą utknąć na zapleczu, muszą zacząć planować już teraz. Wszystkie nowe aplikacje powinny być projektowane z myślą o „crypto-agility” – czyli możliwości przełączania algorytmów poprzez proste, bezbolesne aktualizacje oprogramowania. Idealnie, proces ten powinien być kontrolowany i zarządzany centralnie, aby zaoszczędzić konieczności dotarcia do każdej aplikacji indywidualnie, aby ją uaktualnić.,

w ostatnim artykule z tej serii przyjrzymy się wykorzystaniu trybów szyfrowania z symetrycznymi szyframi blokowymi, w tym potrzebie wypełnienia i wektorów inicjalizacyjnych.

Referencje i dalsze czytanie

  • 3DES oficjalnie przechodzi na emeryturę (2018), autorstwa Jasmine Henry
  • trendy w kryptografii Część 1 – algorytmy i szyfrowanie (2018), autorstwa Roba Stubbsa
  • Quantum Computing and its Impact on Cryptography (2018), autorstwa Roba Stubbsa
  • czym jest Crypto-Agility?, (2018), Jasmine Henry
  • kroki, aby osiągnąć Crypto agility, aby przygotować się do obliczeń kwantowych( 2019), Terry Anton
  • osiągnięcie zwinnego zarządzania kryptografią za pomocą Crypto Service Gateway (CSG) (2019), Rob Stubbs
  • co to jest warstwa krypto-abstrakcji? (2018), by Chris Allen
  • Turning Cryptography into a Service-Part 1 (2018), by Rob Stubbs

zdjęcie okładki:” korytarz ” dzięki uprzejmości kai Pilger (pexels.com, CC BY 2.0)