Od wielu lat na rynku dostępne są pen drive’y (a obecnie również dyski zewnętrzne SSD) ze wsparciem dla szyfrowania sprzętowego. Niewątpliwie sprzęt taki jest wygodniejszy dla laika, niż nauka obsługi VeraCrypt, LUKS czy BitLockera. Warto więc się zastanowić, czyje bezpieczeństwo taka opcja może poprawić, a czyje (i kiedy) raczej pogorszyć.
Przede wszystkim należy cały tego typu sprzęt podzielić na dwie kategorie:
- z kluczem wpisywanym z klawiatury fizycznej (jak np. model firmy Kingston z powyższego zdjęcia), bądź z poziomu komputera (takie modele wymagają instalacji dodatkowych sterowników, więc możesz mieć problem z ich odblokowaniem na nieswoim komputerze, na którym nie możesz zainstalować odpowiedniego sterownika)
- ze skanerem biometrycznym (np. odcisku palca w dyskach z serii Samsung Portable SSD T7 Touch)
Podział ten jest fundamentalny z punktu widzenia bezpieczeństwa danych. O ile modele biometryczne są o wiele wygodniejsze w codziennej obsłudze i ochronie mało wrażliwych danych przed „zwykłymi” złodziejami, o tyle taka ochrona w ogóle nie zadziała przeciwko napastnikowi (np. funkcjonariuszowi), który jest w stanie siłą zmusić użytkownika do przyłożenia palca do czytnika i odblokowania dostępu do danych.
Sytuacja historyczna i dzisiaj
Nośniki ze sprzętowym szyfrowaniem danych istnieją od dawna, natomiast ich główną słabością od zawsze jest sposób uwierzytelnienia i odblokowania dostępu do danych. O ile bowiem szyfrowanie właściwe od samego początku tego typu konstrukcji było implementowane w postaci realizowanego sprzętowo AES-128 lub AES-256, o tyle już sposób przechowywania i udzielania dostępu klucza był z reguły „wynalazkiem” producenta danej konstrukcji. W efekcie zdarzały się takie sytuacje (ten przykład pochodzi z 2010 roku, natomiast takich sytuacji było więcej).
Z biegiem czasu kolejne konstrukcje były ulepszane i w połowie 2020 roku zaryzykowalibyśmy stwierdzenie, że taki sposób ochrony danych jest wystarczający w przypadku „zwykłej” kradzieży – gorzej w przypadku przechwycenia nośnika przez policję kryminalną, albo co gorsza, służby specjalne: w 2018 roku holenderscy badacze z Radboud University zdołali uzyskać dostęp do zaszyfrowanych danych na wybranych dyskach Crucial (MX100, MX200, MX300) i Samsung (T3, T5, 840 EVO, 850 EVO) bez znajomości klucza szyfrującego.
Dlatego też, pomimo odporności na „zwykłą” kradzież, raczej nie rekomendujemy tego typu rozwiązań, jeśli tylko ktoś czuje się na siłach zorganizować sobie szyfrowanie programowo: urządzenia ze sprzętowym szyfrowaniem kosztują wielokrotnie więcej od „zwykłych” i mają ograniczoną wydajność (w szczególności w stosunku do modeli NVMe), gdy technologia nieustannie idzie do przodu.
Czy można szyfrować dane skuteczniej?
Oczywiście. Istnieje cały szereg skutecznych narzędzi do szyfrowania dysków. Najbardziej uznane i zalecane to:
- VeraCrypt – rekomendowane narzędzie dla Windows, działa też na Linuksie (ale tam bardziej zalecany jest LUKS). VeraCrypt to następca dobrze znanego TrueCrypta, umożliwia szyfrowanie zarówno nośników z danymi, jak i dysku systemowego. Możliwe jest kaskadowe szyfrowanie za pomocą kilku algorytmów, a klucz generowany jest algorytmem PBKDF2 na podstawie hasła i/lub zawartości wskazanego przez użytkownika pliku.
- BitLocker – jest to narzędzie od Microsoftu, które już masz w Windows, nie musisz więc niczego instalować. Prawidłowo użyty, gwarantuje bezpieczeństwo na poziomie porównywalnym do VeraCrypta. Jego słabością (albo siłą, zależnie od punktu widzenia) jest mechanizm „klucza przełożonego” – czyli klucza odzyskiwania, składowanego w różnych miejscach, dzięki czemu w środowisku korporacyjnym, administrator AD jest w stanie odszyfrować dane pracownika – co za tym idzie, są to w stanie wykonać np. służby specjalne, czy choćby „zwykła” policja kryminalna w odpowiednio „umotywowanych” przypadkach.
- LUKS (Linux Unified Key Setup) – jest to specyfikacja szyfrowania dysku twardego, w ramach której właściwe szyfrowanie realizowane jest przez natywne mechanizmy Linuxa (device mapper, moduł dm-crypt, program cryptsetup do zarządzania i podłączania nośników). Jego główne zalety to:
- bardzo wysoki poziom bezpieczeństwa
- zgodność ze schematem TKS1, zapobiegającym odtworzeniu klucza szyfrującego z przechwyconego nośnika
- możliwość tworzenia wielu (1-8) osobnych kluczy (jednak w przeciwieństwie do BitLockera, to użytkownik ma pełną kontrolę nad tworzonymi kluczami)
- wykorzystanie linuxowego frameworka device mapper, dzięki czemu szyfrowane mogą być nie tylko pojedyncze fizyczne nośniki, ale cokolwiek, co jest obsługiwane przez ten framework (np. macierze, udziały iSCSI, pliki z obrazami dysków/partycji, w tym osadzone w większych obrazach itd.), a całość można połączyć z replikacją DRBD, mapowaniem multipath i innymi technikami stosowanymi w dużych środowiskach serwerowych
Istnieje też wiele innych narzędzi szyfrujących, szczególnie dla Linuxa (np. eCryptfs), jednakże z różnych względów (nie tylko bezpieczeństwa, ale np. niskiej wydajności zapisu na niebuforowanych nośnikach zewnętrznych, czy skracania żywotności nośników SSD), nie są one zalecane dla początkujących użytkowników.
Czy istnieją inne podejścia?
Jak najbardziej. O ile w przypadku danych roboczych (które cały czas się zmieniają, dochodzą nowe pliki itp.) zalecanym sposobem szyfrowania jest jeden z powyższych (VeraCrypt, BitLocker, LUKS), o tyle w przypadku danych archiwalnych zalecanym sposobem jest szyfrowanie kopii zapasowych na poziomie pojedynczych archiwów, programem 7-Zip, włączając szyfrowanie nazw plików wewnątrz archiwum.
Dzięki temu można takie zaszyfrowane archiwa bezpiecznie kopiować na nośniki, nad którymi nie mamy pełnej kontroli (albo np. do chmury). A także można je dużo łatwiej odzyskać w przypadku fizycznej awarii nośnika (np. przelutowując poszczególne układy pamięci flash).