Szybko i nieczytelnie

Nowe procesory AMD, Intela i VIA zawierają funkcje kryptograficzne pozwalające na wydajne szyfrowanie danych przesyłanych w sieci lub zawartości dysków twardych.

Nowe procesory AMD, Intela i VIA zawierają funkcje kryptograficzne pozwalające na wydajne szyfrowanie danych przesyłanych w sieci lub zawartości dysków twardych.

Od czasu liberalizacji amerykańskich przepisów eksportowych odnośnie do produktów kryptograficznych minęły już cztery lata. Zasięg i liczba zastosowań kryptografii znacznie się w tym czasie rozszerzyły. Coraz częściej stykamy się z nią tam, gdzie dotychczas nikt się jej nie spodziewał - w produktach przeznaczonych dla odbiorcy masowego. Coraz częściej też jest to nie tylko oprogramowanie, lecz także sprzętowa implementacja algorytmów szyfrujących pozwalająca na uzyskiwanie bardzo dużej wydajności.

To nowość. Rynek oprogramowania kryptograficznego zawsze był dość liberalny, jednak do niedawna wszelkie sprzętowe implementacje algorytmów kryptograficznych pozostawały pod ścisłą kontrolą krajów zarówno producenta, jak i importera. W najlepszym przypadku każdy fakt wywiezienia i wwiezienia danego urządzenia kryptograficznego podlegał rejestracji w państwach: wysyłającym i odbierającym towar. Barierą w rozprzestrzenianiu się sprzętowych rozwiązań kryptograficznych była także ich cena. Kilka lat temu sprzętowe akceleratory firm, takich jak Rainbow Technologies czy Baltimore Technologies, kosztowały dziesiątki, a nawet setki tysięcy dolarów!

To już jednak przeszłość - produkcja masowa dopadła także i ten rynek. Sprawcą zamieszania stał się Intel, za którym pospieszyły następne firmy: VIA i AMD. W tej sytuacji można przypuszczać, że wkrótce cena sprzętowych akceleratorów popularnych protokołów, takich jak SSL czy IPsec, będzie tak niska, że będzie je można montować w telefonach komórkowych.

Przecieranie szlaków

Pierwszy krok milowy ku popularyzacji wydajnej kryptografii uczynił Intel. W roku 1999 firma rozpoczęła sprzedaż układu 82802 - sprzętowego generatora liczb pseudo-losowych. Część producentów zaczęła standardowo umieszczać go na niektórych płytach głównych z chipsetem 810 dla procesorów Celeron i Pentium III.

Z roli pioniera Intel wywiązał się doskonale. Firmie udało się nie popełnić żadnego poważnego błędu. Poza tym jego implementacja algorytmów i funkcji kryptograficznych została doskonale udokumentowana, nie tylko jeśli chodzi o interfejs programistyczny (API), ale także zasady działania i konstrukcję generatora. Był to krok konieczny do tego, aby przełamać lody, a z czasem zbudować zaufanie środowiska kryptologicznego - założenia sceptycznego wobec wszelkich nowości.

Aby wzmocnić zaufanie do swojego produktu, Intel zlecił wykonanie analizy jego bezpieczeństwa niezależnej i cieszącej się sporym zaufaniem w środowisku producentów systemów ochrony informacji firmie Cryptography Research, kierowanej przez znanego kryptologa Paula Kochera. Opublikowany przez nią raport zawierał statystyczną analizę wyników potwierdzającą, że generowane ciągi są silne kryptograficznie, oraz analizę konstrukcji generatora pozwalającą zainteresowanym przeprowadzić własne testy.

Takie testy układu 82802 zostały przeze mnie powtórzone podczas przygotowywania do certyfikacji urządzeń w ówczesnym Urzędzie Ochrony Państwa szyfratora Optimus ABA IPsecGate. Uzyskane wyniki nie wykazały żadnych anomalii i po dodatkowych testach przeprowadzonych przez UOP urządzenie otrzymało certyfikat bezpieczeństwa ITSEC-E2.

Od generatora do szyfratora

Konkurencja nie dała na siebie długo czekać. W roku 2001 VIA rozpoczęła produkcję procesorów VIA C3 o nazwie kodowej Nehemiah. To pierwszy ogólnego stosowania mający wbudowany sprzętowy generator liczb losowych, a nie jedynie współpracujący z zewnętrznym układem kryptograficznym. Generator wykorzystany w procesorach C3 został zaprojektowany na zlecenie VIA przez firmę Centaur Technology.

Zawarty w procesorach C3 generator liczb losowych ma konstrukcję podobną do tej, jaką opracował Intel, jest jednak bogatszy funkcjonalnie i zawiera udogodnienia dla programistów, które uwzględniają praktyczne doświadczenia twórców bibliotek kryptograficznych z innymi generatorami liczb losowych. Idąc w ślady Intela, VIA opublikowała pełną dokumentację techniczną generatora i dodatkowo zleciła analizę jego architektury - również Computer Research. Rezultat prac badawczych opublikowano w postaci dokumentu zawierającego opis wszystkich aspektów działania generatora, włącznie z zużyciem mocy, charakterystyką emisji ciepła i zalecanymi trybami pracy w różnych zastosowaniach. Niezależnie opublikowano także wyniki testów.

Generator liczb losowych jest kluczowym elementem dobrej kryptografii, ale jako taki nie stanowi jeszcze kompleksowego urządzenia szyfrującego, dlatego VIA postanowiła pójść krok dalej. Kolejny procesor tej firmy VIA - C5P - zawiera sprzętową implementację algorytmu AES (Advanced Encryption Standard), będącego obecnie zalecanym standardem szyfrowania. W układzie C5P funkcje szyfrowania i deszyfrowania AES z trzema rodzajami kluczy (128, 192 i 256 bitów) są oferowane w postaci standardowej instrukcji procesora dostępnej każdej aplikacji. Co więcej, możliwe jest stosowanie wszystkich typowych metod szyfrowania blokowego, np. ECB, CBC, CFB czy OFB.

Dzięki implementacji sprzętowej algorytmu AES - opracowanego z myślą o implementacjach programowych - szyfrowanie i deszyfrowanie w C5P odbywa się niewiarygodnie szybko. Operacja szyfrowania jest przeprowadzana w dwóch cyklach procesora, podczas gdy zoptymalizowane implementacje programowe tego algorytmu potrzebują na to średnio "aż" 250 cykli. Niż więc dziwnego, że w procesorze taktowanym zegarem 1,2 GHz wydajność szyfrowania dochodzi do 15 Gb/s!

Szczegółowa analiza bezpieczeństwa procesora VIA C5P nie jest na razie dostępna. Ze wstępnego raportu opublikowanego przez Cryptography Research pod koniec 2003 r. wynika jednak, iż generator pseudolosowy i funkcje pomocnicze C5P zaprojektowano zgodnie z regułami sztuki. Twórcą rozwiązań kryptograficznych w VIA C5P, tak jak w przypadku procesorów VIA C3, jest firma Centaur Technology.

Do szyfru i podpisu

Sporym zaskoczeniem jest wprowadzony niedawno Au1550 - nowy procesor AMD, w którym producent zawarł pełną funkcjonalność specjalizowanego akceleratora kryptograficznego na licencji SafeNet. Lista funkcji jest tu znacznie dłuższa niż u poprzedników:

  • szyfrowanie algorytmami blokowymi DES, 3DES, AES w trybach ECB i CBC;

  • szyfrowanie algorytmem strumieniowym RC4;

  • funkcje skrótu MD5, SHA1;

  • generator liczb losowych;

  • sprzętowe wspomaganie dekodowania pakietów SSL i IPsecGate.
Produkt AMD jest funkcjonalnie najbardziej zaawansowany ze wszystkich dotychczasowych rozwiązań "popularnych", na razie jednak nie ukazała się niezależna analiza tej implementacji.