AES-XTS Block Cipher Mode is used in Kingston's Encrypted USB Flash Drives

Szyfrowanie XTS

Posiadanie certyfikatu potwierdzającego użycie najbezpieczniejszego szyfrowania pamięci USB to nie wszystko. Super bezpieczne szyfrowane pamięci flash USB firmy Kingston — DataTraveler® 4000G2 i DataTraveler Vault Privacy 3.0 — oferują 256-bitowe sprzętowe szyfrowanie AES w trybie szyfrowania blokowego XTS. Tryb XTS zapewnia lepszą ochronę danych niż inne tryby szyfrowania blokowego, takie jak CBC i ECB.

Poniżej przedstawiono szczegółowe informacje dotyczące zalet szyfrowanych pamięci flash USB DT4000G2 i DTVP30 w zakresie bezpieczeństwa danych.

Tryby działania szyfrowania blokowego AES obejmującego całe dyski

AES (Advanced Encryption Standard) to szyfrowanie blokowe służące do szyfrowania bloków danych o rozmiarze 128 bitów. Aby zaszyfrować dane o rozmiarze przekraczającym 128 bitów, algorytm AES używa trybu szyfrowania blokowego. Specyfikacja standardu AES obejmuje wiele różnych trybów szyfrowania blokowego AES. Najprostszy tryb szyfrowania blokowego to Electronic Code Book (ECB). Tryb Cipher Block Chaining (CBC) jest pozbawiony wad trybu ECB i jest jednym z najpopularniejszych trybów szyfrowania przenośnych pamięci flash. Tryb XTS to jeden z najnowszych trybów szyfrowania, który zapewnia lepszą ochronę danych niż tryby CBC i ECB. Poniżej znajdują się krótkie opisy każdego z tych trybów szyfrowania blokowego.

Electronic Code Book (ECB). W tym trybie szyfrowania blokowego proces szyfrowania AES jest powtarzany dla każdego 128-bitowego bloku danych. Na Ilustracji 1 przedstawiono szyfrowanie danych przy użyciu trybu ECB. Każdy blok jest szyfrowany niezależnie przy użyciu algorytmu AES i takiego samego klucza szyfrowania. Na potrzeby odszyfrowywania proces ten jest odwracany. W trybie ECB identyczne bloki niezaszyfrowanych danych, nazywane zwykłym tekstem, są szyfrowane w ten sam sposób, co powoduje powstawanie identycznych bloków zaszyfrowanych danych (zaszyfrowany tekst). Ten tryb szyfrowania nie jest idealny, ponieważ nie umożliwia ukrywania wzorców danych. Na Ilustracji 2 pokazano główną lukę w zabezpieczeniach związaną z tym trybem szyfrowania.

Figure 1, ECB

Electronic Code Book (ECB)
Ilustracja 1

Po lewej znajduje się niezaszyfrowany obraz. Na obrazie po prawej pokazano, jak mógłby wyglądać zaszyfrowany tekst, gdyby użyto innych trybów szyfrowania, takich jak CBC lub XTS. Na środkowym obrazie wyraźnie pokazano lukę w zabezpieczeniach związaną z trybem ECB. Identyczne wzorce pikseli obrazu w bloku szyfrowania są szyfrowane w taki sposób, że powstają identyczne zaszyfrowane bloki, więc oryginalny obraz „przebija” przez szyfrowanie.

Wyraźnie widać, że identyczne bloki danych nie powinny być szyfrowane w sposób powodujący powstawanie takiego samego zaszyfrowanego tekstu. Z tego powodu tryb szyfrowania blokowego ECB jest traktowany jako słaby i nie jest poleca się używania go.

Original Image Encrypted using ECB mode Encrypted using other mode

Oryginalny obraz

Szyfrowanie z użyciem trybu ECB

Szyfrowanie z użyciem innego trybu

Ilustracja 2

Cipher Block Chaining (CBC). Jak już wspomniano, główną słabością trybu ECB jest powstawanie identycznych bloków zaszyfrowanego tekstu w wyniku szyfrowania identycznych bloków danych. Celem jest znalezienie metody szyfrowania, dzięki której szyfrowanie każdego bloku przy użyciu tego samego klucza szyfrowania spowoduje powstanie innego zaszyfrowanego tekstu, nawet jeśli zwykły tekst w co najmniej dwóch blokach jest identyczny. Aby osiągnąć ten cel, utworzono tryb Cipher Block Chaining. Na Ilustracji 3 przedstawiono działanie trybu szyfrowania CBC.

Generowany jest 128-bitowy wektor inicjalizacji (IV) i łączony ze zwykłym tekstem pierwszego bloku w sektorze. Te dane są łączone przy użyciu funkcji XOR (OR wyłączne). Powstałe w ten sposób 128 bitów danych jest następnie szyfrowane za pomocą algorytmu szyfrowania AES i przechowywane na nośniku. Powstały zaszyfrowany tekst jest przekazywany do następnego bloku, gdzie jest łączony ze zwykłym tekstem w tym bloku, a następnie jest szyfrowany i przechowywany. Ten proces tworzenia łańcucha jest powtarzany dla każdego bloku w sektorze. Ta metoda gwarantuje, że bloki identycznych danych przyjmą postać całkowicie różnych bloków zaszyfrowanego tekstu. Dzięki temu tryb CBC jest o wiele bezpieczniejszy od trybu ECB i jest uznawany za przydatny w większości zastosowań związanych z zabezpieczeniami. Tryb CBC jest powszechnie używany w szyfrowanych pamięciach flash.

Figure 3, ECB

Electronic Code Book (ECB) - Encryption
Ilustracja 3

Tryb szyfrowania blokowego AES-XTS. Specyfikacja tego trybu została określona jako standard IEEE Std 1619-2007, a organizacja NIST dodała tryb XTS do listy trybów szyfrowania blokowego AES w 2010 roku. Tryb XTS to najnowszy tryb szyfrowania blokowego i jest on używany do szyfrowania pamięci DataTraveler 4000G2 i DataTraveler Vault Privacy 3.0. Opracowano go jako silniejszą alternatywę dla innych trybów szyfrowania blokowego, takich jak CBC. Eliminuje on potencjalne luki związane z bardziej zaawansowanymi atakami polegającymi na wykorzystaniu danych z działającego systemu szyfrowania (side channel attack), dzięki którym można wykorzystać słabości innych trybów. Na Ilustracji 4 przedstawiono uproszczony diagram blokowy trybu XTS.

W trybie XTS są używane dwa klucze AES. Jeden klucz jest używany do wykonania szyfrowania blokowego AES, a drugi służy do szyfrowania tzw. „Tweak Value”. Ten zaszyfrowany "tweak" jest następnie modyfikowany za pomocą funkcji wielomianowej Galois (GF) i funkcji logicznej XOR, wykonywanych na zwykłym tekście oraz na zaszyfrowanym tekście każdego bloku. Funkcja GF zapewnia dalszą dyfuzję i gwarantuje, że bloki identycznych danych nie będą powodować powstawania identycznego zaszyfrowanego tekstu. Dzięki temu na podstawie bloków identycznego zwykłego tekstu tworzone są unikatowe bloki zaszyfrowanego tekstu, bez użycia wektorów inicjalizowania i funkcji tworzenia łańcucha. W efekcie tekst jest prawie w całości podwójnie szyfrowany przy użyciu dwóch niezależnych kluczy. Odszyfrowywanie danych jest wykonywane przez odwrócenie tego procesu. Każdy blok jest niezależny i nie jest używana funkcja tworzenia łańcucha, więc w sytuacji, gdy dojdzie do uszkodzenia przechowywanych zaszyfrowanych danych, nie będzie można odzyskać tylko danych znajdujących się w blokach objętych uszkodzeniem. W przypadku trybów, w których jest używana funkcja tworzenia łańcucha, te błędy są przenoszone do innych bloków podczas odszyfrowywania.

Figure 4

Ilustracja 4

Podsumowanie

Pamięci DT4000G2 i DTVP30 zapewniają większe bezpieczeństwo danych niż inne dostępne na rynku pamięci tego typu. Wszystkie funkcje zabezpieczeń są zawarte w zainstalowanym w module procesorze zabezpieczeń, co gwarantuje najwyższy poziom zabezpieczeń i przenośności.

Ponadto obie te pamięci wymuszają stosowanie ochrony za pomocą złożonych haseł i blokują się po określonej liczbie nieudanych prób wprowadzenia hasła. Wzmocniona i wodoodporna obudowa tych urządzeń zapewnia najwyższy poziom zabezpieczenia danych. Wszystkie szyfrowane pamięci flash USB firmy Kingston® klasy korporacyjnej i przeznaczone do zastosowań wojskowych są objęte pięcioletnią gwarancją i bezpłatną pomocą techniczną.