Cześć,
Zacznę od tego, że rozumiem jak działa softwarowe szyfrowanie pendrive’a - np. bitlockerem. Po prostu klucz jest hasłem podawanym podczas szyfrowania i deszyfrowania, gdzie wspomniany software jest pośrednikiem pomiędzy człowiekiem, a sprzętem.
Jak to jest w przypadku pendrivów szyfrowanych sprzętowo? Np. https://www.kingston.com/pl/usb/encrypted_security/dtlpg3
Czy zawsze wymaga to instalacji sterowników/oprogramowania dla takiego urządzenia?
Jakim cudem może to być bezpieczne? Gdzie składowany jest klucz szyfrujący? Przecież musi być fizycznie wewnątrz urządzenia - na dodatek w postaci niezaszyfrowanej. Jak więc może to być bezpieczne?
Jeśli dobrze zrozumiałem, to na pendrive przechowywany jest klucz publiczny, którym szyfruje się dane. Użytkownik zaś jest w posiadaniu klucza prywatnego, do odszyfrowania.
Zobacz https://aphnetworks.com/reviews/kingston_datatraveler_locker_plus_g3_32gb/2
Jest tam pokazany mechanizm odblokowania. W skrócie - na pendrive jest dodatkowa nieszyfrowana partycja która robi za interfejs (w przeciwieństwie do wersji pendrive z klawiaturą numeryczną). Wpisane hasło jest przesyłane do sprzętowego kontrolera który realizuje sprzętowe szyfrowanie i odszyfrowanie w locie (co mocno zmniejsza prędkości transferu).
Wydaje się, że są mniej bezpieczne, bo klucz muszą przechowywać w swojej pamięci. Pewnie mają na to osobny obszar niedostępny poza firmware, ale jednak.
O czym konkretnie? Miałem kiedyś gdzieś jakieś materiały z przedmiotu Bezpieczeństwa Systemów Komputerowych ze swoich studiów, ale nie wiem czy byłbym w stanie je teraz odszukać.
Generalnie zasada jest taka, że dowolny klucz, niezależnie czy to “123” czy “correcthorsebatterystaple” jest hashowany i dane są szyfrowane tym hashem. W przypadku tego kingstona zawartość jest szyfrowana specjalizowanym układem scalonym przez algorytm AES256 więc klucz (czyli hash naszego hasła) też musi mieć dokładnie 256 bitów. Układ realizuje odszyfrowanie w locie, co oznacza, że wylutowanie i odczyt układów pamięci z pendrive’a na nic się nie zda, dane będą zaszyfrowane.
Czy to oznacza, że hasło, które wprowadzę po raz pierwszy nie jest składowane na pendrive?
Mam na mysli jego hasz. Jeśli ktoś dostanie w ręce pendrive, to czy wówczas nie oznacza to, że będzie w stanie odwrócić hasz?
Hasło ani w otwartej formie ani w hashowanej nie ma prawa być przechowywane gdziekolwiek na pendrive poza obszarem pamięci ulotnej układu szyfrującego po wprowadzeniu hasła przez użytkownika. Inaczej całe zabezpieczenia byłyby iluzoryczne.
Dlatego pytałem jak to jest możliwe. Jedyna opcja to bruteforcowanie i sprawdzanie czy otrzymane dane mają ludzki sens.
Krótko mówiąc: kupując pendrive z klawiaturką podam hasło szyfrowania, dane zapisywane na pendrive będą szyfrowane w locie (narzut czasowy), tak samo odczytywane.
Nie będzie potrzebne żadne dodatkowe oprogramowanie ani na Linuxa, ani na windowsa. Absolutnie wszystko dzieje się sprzętowo.
Czy się zgadza?
Tak to powinno działać. Natomiast o ile pendrive z klawiaturą nie wymaga dodatkowego oprogramowania, o tyle liczba możliwych haseł jest dużo mniejsza (raptem 10 tys. dla 4-cyfrowego pinu). Dane po 10 niepoprawnych pinach powinny się automatycznie skasować, ale… podejrzewam, że i na to są sposoby (jakieś kopiowanie banków pamięci czy coś). W przypadku odblokowania oprogramowaniem ryzykujesz wyciek hasła keyloggerem i uniemożliwiasz dostęp przez urządzenia które nie mają wspieranego systemu. W przypadku klawiaturki masz dużo słabsze hasła ale będzie działać z każdym urządzeniem. Coś za coś.
Ok, jest to zrozumiałe. Ale co jeśli pendrive daje możliwość podania (powiedzmy) 20 znakowego hasła, używająć także liter - są klawiaturki z literkami. Wtedy Twój argument nie powinien być w mocy.