czwartek, 24 listopada 2011

Po co nam instrukcje AES-NI?

Staram się dbać o aspekty bezpieczeństwa mojej codziennej pracy. Wychodzi mi to raz lepiej, raz gorzej. Na nowym laptopie zatrudniłem TrueCrypt 7.1 do zabezpieczenia danych biznesowych, zgodnie z wymaganiami moich klientów. W obecnej konfiguracji korzystam z kontenera plikowego, wewnątrz którego przechowuję zaszyfrowany wolumen NTFS o następujących parametrach:
Ku mej uciesze procesor Intel Core i5-2467M wspiera sprzętowe przyspieszanie operacji szyfrowania, w tym AES. Intel nazywa to AES-NI. TrueCrypt poprawnie rozpoznał rozszerzony zestaw instrukcji i potwierdził korzystanie z nich. 
Dzięki zastosowaniu dysku SSD (Crucial m4) cieszę się niskimi opóźnieniami i wysokimi transferami danych pracując z plikami. Zastanawiałem się, jak to będzie wyglądało po przełączeniu się na zaszyfrowany system plików. Dzisiaj to sprawdziłem - test wykonany na zamontowanym szyfrowanym wolumenie:
Okazało się, że wpływ operacji szyfrowania / deszyfrowania na wydajność jest znikomy. W tym czasie procesor pozostawał względnie dostępny dla innych procesów:
(odnoszę wrażenie, że to jest 100% czasu jednego rdzenia fizycznego "rozmazany" na 4 wątki logiczne)
Miałem okazję wcześniej pracować na konfiguracji HDD + Core2 Duo bez AES-NI i mam raczej bolesne wspomnienia z tego okresu (kilku-sekundowe oczekiwanie na odczyt pliku tekstowego). Teraz już rozumiem, że ten nowy zestaw instrukcji jest koniecznością dla osób pracujących na szyfrowanych danych.
Po chwili zreflektowałem się, że powinienem pokazać Wam również symulację z wyłączonym AES-NI. Oto ona:
Jak widzicie, bez rozszerzeń AES-NI nie nacieszyłbym się specjalnie zaletami SSD.

1 komentarz: