Nowe tryby pracy szyfrów blokowych

NIST opublikował dokument SP800-38D zawierający zalecenia dla stosowania nowego trybu szyfrów blokowych GCM (Galois/Counter Mode). GCM jest trybem o podwójnej funkcjonalności, szyfrująco-uwierzytelniającym.

Wraz z pojawieniem się bezpiecznych i wydajnych szyfrów blokowych takich jak AES zainteresowanie programistów kryptograficznymi mechanizmami bezpieczeństwa znacznie wzrosło. Jednak w momencie wdrożenia algorytmu programista zawsze natrafia na podstawowy problem - w jakim trybie szyfrowania zastosować dany algorytm? Nadal najpopularniejsze są znane od ponad dwóch dekad tryby takie jak EBC czy CBC.

Jednak zaraz po wyborze trybu pojawia się kolejny problem - jak dodać do niego ochronę integralności lub/i autentyczności? W świetle dzisiejszej wiedzy rezygnacja z ochrony integralności lub błędne jej zaimplementowanie jest kryptograficznym samobójstwem, o czym przekonali się autorzy protokołu SSHv1 (CORE SDI, "SSH Insertion Attack", 1998). I czy najpierw szyfrować, a potem uwierzytelniać, czy na odwrót?

Problem ten rozwiązują nowe tryby szyfrująco-uwierzytelniające, które w jednym kroku (jednej operacji API programistycznego) równocześnie zapewniają ochronę poufności i integralności, przy czym to drugie przy pomocy szyfru blokowego (np. AES), bez konieczności stosowania dodatkowych mechanizmów takich jak HMAC.

Dwa najpopularniejsze algorytmy tego typu to OCB i CCM. Poniżej krótka ich charakterystyka:

  • OCB (Offset Codebook Mode), najnowsza wersja 2.0 z 2005 roku
  • ilość szyfrowań prawie taka sama jak w CBC (czyli jest wydajny)
  • opatentowany
  • CCM (Counter Mode with CBC MAC)
  • tryb licznikowy (CTR) plus CBC MAC (Message Authentication Code)
  • prawie dwa razy więcej szyfrowań niż OCB
  • dostępny jako public domain

Z punktu widzenia wydajności najbardziej atrakcyjny jest tryb OCB, opracowany przez Philipa Rogaway'a, znanego z tworzenia kryptograficznych majstersztyków (takich jak szyfr Safer). Niestety programistów odstręcza od niego fakt istnienia patentu na algorytm i konieczność uzyskania licencji na jego stosowanie (choć Rogaway zapewnia, że opłata jest niewielka). Odpowiedzią na OCB jest otwarty CCM, ale jest on prawie dwukrotnie wolniejszy - choć i tak zapewne szybszy od tradycyjnego CBC z HMAC.

Nie miałem czasu analizować trybu GCM, ale fakt przyjęcia go przez CSRC NIST dobrze mu wróży.

Odpowiedzi

Opcje wyświetlania odpowiedzi

Wybierz preferowany sposób wyświetlania odpowiedzi i kliknij "Zapisz ustawienia" by wprowadzić zmiany.

Pol roku temu napisałem program ktory na podstawie utworzonych wczesniej sygnatur (trzeba bylo wczytac do bazy wszystkie lewe filmy i mp3) , potrafil rozpoznac czy te dane sa na dysku zaszyfrowanym trybem ECB. Dowód przydatny w sadzie to nie jest ale solidny argument do dalszego zajecia sie tym dyskiem.

Do ochrony przed policją szukającą DivXów te szyfratory Elcom są w zupełności wystarczające, a cena jest stosunkowo niska.

A sprzetowe szyfratory dzialace w ECB ida na allegro jak cieple buleczki.