Silna kryptografia - Strong cryptography

Silne kryptograficzny lub kryptograficzny-sojusznik silne są ogólne określenia stosowane w systemach szyfrowych lub składniki, które są uważane za bardzo odporne na kryptoanalizę .

Wykazanie odporności dowolnego schematu kryptograficznego na atak jest sprawą złożoną, wymagającą szeroko zakrojonych testów i przeglądów, najlepiej na forum publicznym. Wymagane są dobre algorytmy i protokoły, a także dobry projekt i implementacja systemu. Na przykład system operacyjny, na którym działa oprogramowanie kryptograficzne, powinien być jak najdokładniej zabezpieczony. Użytkownicy mogą posługiwać się hasłami w sposób niepewny, nadmiernie ufać personelowi „serwisowemu” lub po prostu niewłaściwie korzystać z oprogramowania . (Patrz socjotechnika .) „Silne” jest zatem terminem nieprecyzyjnym i może nie mieć zastosowania w określonych sytuacjach.

Tło

Zastosowanie komputerów zmieniła proces kryptoanalizy, pokazowo z Bletchley Park „s Colossus . Ale tak jak rozwój komputerów cyfrowych i elektroniki pomógł w kryptoanalizie, umożliwił także znacznie bardziej złożone szyfry. Zwykle jest tak, że użycie szyfru wysokiej jakości jest bardzo wydajne, podczas gdy jego złamanie wymaga wysiłku o wiele rzędów wielkości, co sprawia, że ​​kryptoanaliza jest tak nieefektywna i niepraktyczna, że ​​praktycznie niemożliwa.

Od czasu publikacji Data Encryption Standard , algorytmu Diffie-Hellmana i RSA w latach 70., kryptografia ma głębokie powiązania z abstrakcyjną matematyką i stała się szeroko stosowanym narzędziem w komunikacji, sieciach komputerowych i ogólnie w bezpieczeństwie komputerowym.

Algorytmy silne kryptograficznie

Termin „silny kryptograficznie” jest często używany do opisania algorytmu szyfrowania i oznacza, w porównaniu z innym algorytmem (który jest zatem słaby kryptograficznie), większą odporność na atak. Ale może być również używany do opisywania algorytmów mieszania i unikalnych identyfikatorów i tworzenia nazw plików. Zobacz na przykład opis funkcji biblioteki wykonawczej Microsoft .NET Path.GetRandomFileName. W tym użyciu termin oznacza „trudny do odgadnięcia”.

Algorytm szyfrowania ma być niezniszczalny (w takim przypadku jest tak silny, jak to tylko możliwe), ale może być złamany (w takim przypadku jest tak słaby, jak to tylko możliwe), więc w zasadzie nie ma kontinuum siły, jak wydaje się sugerować z idiomu : Algorytm A jest silniejszy niż Algorytm B, który jest silniejszy niż Algorytm C, i tak dalej. Sytuacja staje się bardziej złożona i mniej podatna na pojedynczą metrykę siły, przez fakt, że istnieje wiele rodzajów ataków kryptoanalitycznych i że każdy dany algorytm może zmusić atakującego do wykonania większej ilości pracy w celu złamania go przy użyciu jednego ataku niż inne.

Istnieje tylko jeden znany niezniszczalny system kryptograficzny, jednorazowy pad , którego generalnie nie można używać ze względu na trudności związane z wymianą jednorazowych padów bez ich naruszenia. Tak więc każdy algorytm szyfrowania można porównać do idealnego algorytmu, jednorazowego padu.

Zwykły sens, w którym ten termin jest (luźno) używany, odnosi się do konkretnego ataku, brutalnego wyszukiwania klucza — zwłaszcza w wyjaśnieniach dla nowicjuszy w tej dziedzinie. Rzeczywiście, w przypadku tego ataku (zawsze zakładając, że klucze zostały wybrane losowo), istnieje kontinuum oporu w zależności od długości użytego klucza. Ale mimo to istnieją dwa główne problemy: wiele algorytmów pozwala na użycie kluczy o różnej długości w różnym czasie, a każdy algorytm może zrezygnować z użycia pełnej możliwej długości klucza. Tak więc Blowfish i RC5 to algorytmy szyfrowania blokowego , których konstrukcja pozwalała na stosowanie kilku długości klucza i dlatego nie można powiedzieć, że mają jakąkolwiek szczególną siłę w odniesieniu do wyszukiwania kluczy metodą brute force. Co więcej, amerykańskie przepisy eksportowe ograniczają długość klucza dla eksportowalnych produktów kryptograficznych, a w kilku przypadkach w latach 80. i 90. (np. słynne w przypadku „zatwierdzania eksportu” Lotus Notes ) używano tylko kluczy częściowych, co zmniejszało „siłę” przeciwko atakom typu brute force. te (eksportowe) wersje. Mniej więcej to samo działo się również poza Stanami Zjednoczonymi , jak na przykład w przypadku więcej niż jednego algorytmu kryptograficznego w standardzie telefonii komórkowej GSM .

Termin ten jest powszechnie używany do wyrażenia, że ​​jakiś algorytm jest odpowiedni do jakiegoś zadania w kryptografii lub bezpieczeństwie informacji , ale jest również odporny na kryptoanalizę i nie ma lub ma mniej słabych punktów bezpieczeństwa. Zadania są zróżnicowane i mogą obejmować:

Silny kryptograficznie wydaje się oznaczać, że opisana metoda ma pewien rodzaj dojrzałości, być może nawet zatwierdzoną do stosowania przeciwko różnego rodzaju systematycznym atakom w teorii i/lub praktyce. Rzeczywiście, metoda może opierać się tym atakom wystarczająco długo, aby chronić przenoszone informacje (i to, co się za nimi kryje) przez użyteczny czas. Ale ze względu na złożoność i subtelność tej dziedziny prawie nigdy nie ma to miejsca. Ponieważ takie zapewnienia nie są w rzeczywistości dostępne w prawdziwej praktyce, sztuczka językowa, która sugeruje, że są, będzie generalnie myląca.

Zawsze będzie niepewność, ponieważ postępy (np. w teorii kryptoanalitycznej lub po prostu przystępnej pojemności komputera) mogą zmniejszyć wysiłek potrzebny do skutecznego użycia jakiejś metody ataku przeciwko algorytmowi.

Ponadto faktyczne wykorzystanie algorytmów kryptograficznych wymaga ich enkapsulacji w kryptosystemie , co często wprowadza podatności, które nie są spowodowane błędami algorytmu. Na przykład, zasadniczo wszystkie algorytmy wymagają losowego wyboru kluczy, a każdy system kryptograficzny, który nie dostarcza takich kluczy, będzie narażony na atak niezależnie od cech odporności na atak zastosowanego algorytmu(ów) szyfrowania.

Zagadnienia prawne

Ponieważ użycie silnej kryptografii utrudnia pracę agencji wywiadowczych, wiele krajów uchwaliło przepisy ograniczające lub po prostu zakazujące nieoficjalnego używania silnej kryptografii. Na przykład Stany Zjednoczone już od czasów II wojny światowej definiowały produkty kryptograficzne jako amunicję i zakazały eksportu kryptografii poza pewną „moc” (mierzoną częściowo rozmiarem klucza ). Jednak ograniczenia w USA złagodniały w latach 90. wraz z rosnącą potrzebą bezpiecznego handlu elektronicznego i publicznych aplikacji internetowych połączonych z Internetem. Administracja Clintona wydała w 2000 roku nowe zasady zezwalające na eksport produktów zawierających silną kryptografię, z pewnymi ograniczeniami. Prezydent i rząd Rosji w latach 90. wydali kilka dekretów formalnie zakazujących korzystania z niecertyfikowanych systemów kryptograficznych przez agencje rządowe. Dekret prezydencki z 1995 r. próbował również zakazać jednostkom produkowania i sprzedawania systemów kryptograficznych bez posiadania odpowiedniej licencji, ale nie był egzekwowany w żaden sposób, ponieważ podejrzewano, że jest sprzeczny z rosyjską konstytucją z 1993 r. i nie był prawem per se. Wydany w 2012 roku dekret nr 313 znowelizował poprzednie, umożliwiając produkcję i dystrybucję produktów z wbudowanymi kryptosystemami i nie wymagających licencji jako takiej, mimo że deklaruje pewne ograniczenia. Francja miała dość surowe przepisy w tej dziedzinie, ale w ostatnich latach je złagodziła.

Przykłady

Silny

  • PGP jest powszechnie uważany za przykład silnej kryptografii, z wersjami działającymi pod najpopularniejszymi systemami operacyjnymi i na różnych platformach sprzętowych. Standardem open source dla operacji PGP jest OpenPGP , a GnuPG jest implementacją tego standardu z FSF . Jednak klucz podpisu IDEA w klasycznym PGP ma długość tylko 64 bitów, dlatego nie jest już odporny na ataki kolizyjne.

OpenPGP wykorzystuje zatem integralność SHA2 i kryptografię AES.

Słaby

Przykłady, które nie są uważane za silne kryptograficznie, obejmują:

  • DES , którego 56-bitowe klucze umożliwiają ataki za pośrednictwem wyczerpujących poszukiwaniach.
  • Potrójny DES (3DES / EDE3-DES). patrz DES - to również cierpi na znane w międzyczasie zjawisko, zwane "sweet32" lub "wyrocznią urodzinową"
  • Wired Equivalent Privacy, który jest przedmiotem wielu ataków z powodu wad konstrukcyjnych.
  • SSL v2 i v3. TLS 1.0 i TLS 1.1 są obecnie przestarzałe [patrz RFC7525] z powodu nieodwracalnych wad, które są nadal obecne w projekcie i ponieważ nie zapewniają eliptycznego uścisku dłoni (EC) dla szyfrów, nie ma nowoczesnej kryptografii ani trybów szyfrowania CCM/GCM. TLS1.x są również ogłaszane przez PCIDSS 3.2 dla komercyjnych wdrożeń biznesowych/bankowych na frontendach internetowych. Tylko TLS1.2 i TLS 1.3 są dozwolone i zalecane, nowoczesne szyfry, uściski dłoni i tryby szyfrowania muszą być używane wyłącznie.
  • W MD5 i SHA-1 hash funkcje.
  • RC4 szyfr strumień.
  • Układ Clipper , nieudana inicjatywa rządu USA, który zawiera podstawowe przepisy Escrow, pozwalające na rząd, aby uzyskać dostęp do kluczy.
  • 40-bitowy system szyfrowania zawartości używany do szyfrowania większości dysków DVD-Video .
  • Prawie wszystkie klasyczne szyfry .
  • Większość szyfrów obrotowych, takich jak maszyna Enigma .
  • istnieją pewne wadliwe implementacje RSA, które mają problem z algorytmem, co prowadzi do słabych, stronniczych kluczy (podatność „ROBOT”, „Bleichenbacher Oracle”)
  • Klucze RSA słabsze niż 2048 bitów
  • Klucze DH słabsze niż 2048 bitów
  • Klucze ECDHE słabsze niż 192 bity, również nie wszystkie znane starsze krzywe nazwane, które są nadal używane do tego celu, są sprawdzane jako „bezpieczne”.
  • DHE/EDHE jest zgadywalne/słabe podczas używania/ponownego używania znanych domyślnych wartości pierwszych na serwerze
  • Integralność SHA-1 (i wszystko, co słabsze) nie jest już odporna na ataki kolizyjne.
  • Podkodowanie szyfru blokowego CBC jest uważane za słabe dla TLS (teraz zalecane są tryby CCM/GCM)

Uwagi

  1. ^ Podane tu źródła są w języku rosyjskim. Aby złagodzić problem braku anglojęzycznych źródeł, cytuje się źródła, korzystając z oficjalnych dokumentów rządowych.

Bibliografia

  1. ^ Metoda Path.GetRandomFileName (System.IO) , Microsoft
  2. ^ " " Zmniejszenie zasad eksportu kryptowalut w USA " " . przewodowy.com . Pobrano 2021-08-05 .
  3. ^ Farber, Dave (1995-04-06). „Zakaz kryptografii w Rosji (fwd) [Następny ..djf]” . Źródło 14.02.2011 .
  4. ^ Antypow Aleksander (1970-01-01). "Пресловутый указ №334 о запрете криптографии" . www.securitylab.ru (w języku rosyjskim) . Źródło 2020-09-21 .
  5. ^ "Указ Президента Российской Федерации от 03.04.1995 г. № 334" . Президент России (po rosyjsku) . Źródło 2020-09-21 .
  6. ^ „Положение о лицензировании деятельности по разработке, производству, распространению шифровальных средств и систву” . Российская газета (po rosyjsku) . Źródło 2020-09-21 .
  7. ^ "Миф №49 "В России запрещено использовать несертифицированные средства шифрования " " . bankir.ru (w języku rosyjskim) . Źródło 2020-09-21 .

Zobacz też