BitLocker
BitLocker – rozwiązanie pozwalające na kryptograficzną ochronę danych na dyskach, składnik systemu Microsoft Windows. Może wykorzystywać sprzętowe moduły Trusted Platform Module.
Mechanizm działania
[edytuj | edytuj kod]BitLocker szyfruje przy pomocy algorytmu AES (128 lub 256 bitów) każdy sektor partycji. Szyfrowanie i odszyfrowanie odbywa się w najniższej możliwej warstwie, przez co mechanizm jest praktycznie niewidzialny dla systemu i aplikacji. Niezależnie od AES, do szyfrowania wykorzystywany jest dyfuzor, pozwalający na lepszą dyfuzję zaszyfrowanych danych. Algorytm dyfuzora został opracowany przez firmę Microsoft i jest powszechnie dostępny, jednak aby nie zmuszać użytkowników do stosowania niecertyfikowanych algorytmów kryptograficznych, istnieje możliwość jego wyłączenia. Razem z algorytmem dyfuzora, opublikowany został formalny dowód, wykazujący, że połączenie AES i dyfuzora daje ochronę nie słabszą niż sam AES. Algorytmy kryptograficzne używane w mechanizmach BitLocker posiadają certyfikację FIPS.
GUI systemu Windows Vista pozwala na założenie ochrony BitLocker wyłącznie dla partycji systemowej. Przy użyciu wbudowanego w system skryptu manage-bde.wsf można jednak zaszyfrować dowolną inną partycję.
Jeżeli szyfrowana jest partycja systemowa, ważnym wymogiem dla działania mechanizmu BitLocker jest istnienie na dysku twardym niezaszyfrowanej partycji startowej o rozmiarze rzędu kilkuset MB. Znajdują się na niej niezaszyfrowane programy pozwalające na odczytanie kluczy szyfrujących i start całego mechanizmu.
Do szyfrowania partycji systemowej wykorzystywany jest klucz generowany przez TPM, klucze wprowadzane z klawiatury lub klucze z pamięci USB. Możliwe jest połączenie metod wprowadzania kluczy tak w sposób wymagający równoczesnego użycia kilku z nich jak i dający wybór którego klucza użyć.
Inne partycje nie mogą być chronione przez TPM, jednak jeżeli partycja systemowa jest zaszyfrowana, klucz można zapisać w rejestrze i automatycznie go używać przy każdym uruchomieniu systemu.
Uwierzytelnienie
[edytuj | edytuj kod]Dane umożliwiające dostęp do danych mogą pochodzić z:
- TPM – tylko dla partycji systemowej
- pliku (na przykład na nośniku USB)
- wprowadzonego z klawiatury kodu, składającego się z 48 cyfr
- rejestru – tylko dla partycji innych niż systemowa i pod warunkiem zaszyfrowania partycji systemowej
- hasła wprowadzanego z klawiatury – dla partycji niesystemowych lub dla partycji systemowej (tylko Windows 10) w przypadku braku TPM (musi być ustawiona odpowiednia zasada w Edytorze lokalnych zasad grupy (gpedit.msc)).
W przypadku dostępu do partycji innej niż systemowa i obsługi przez linię poleceń, można użyć dowolnego pliku zawierającego klucz. W przypadku GUI i startu systemu, klucz musi znajdować się w głównym katalogu nośnika USB. Jeden nośnik USB zawierać może klucze dla praktycznie dowolnej liczby partycji. W takiej sytuacji, właściwy klucz wybierany jest automatycznie na podstawie nazwy pliku identycznej z unikalnym identyfikatorem partycji.
Choć BitLocker znacząco zyskuje dzięki użyciu modułu TPM, jego istnienie w żaden sposób nie jest wymagane. Bez TPM zaszyfrować można tak partycję systemową jak i inne partycje. Wadą braku TPM jest konieczność wprowadzania klucza podczas startu systemu. TPM robi to automatycznie w sposób niezauważalny dla użytkownika.
Składający się z 48 cyfr kod, wprowadzany podczas startu systemu wprowadza się za pomocą klawiszy numerycznych lub klawiszy funkcyjnych F1 dla 1, F2 dla 2 itd., gdzie F10 oznacza zero. Wynika to z faktu, że niektóre klawiatury używają nietypowych kodów dla cyfr, podczas gdy klawisze funkcyjne zawsze obsługiwane są tak samo.
Konieczność wprowadzenia kodu pojawić się może w sytuacji, kiedy TPM nie może wygenerować klucza automatycznie. Wynikać to może na przykład ze zmian w sprzęcie lub oprogramowaniu. W takiej sytuacji, po użyciu kodu odzyskiwania należy ponownie wygenerować klucz dla TPM. Przy ponownym uruchomieniu klucz taki zostanie użyty automatycznie.
W systemie Windows 7 wprowadzona została obsługa mechanizmów BitLocker dla nośników wymiennych, w tym pamięci USB Flash, nazywana BitLocker to Go.
Z poziomu GUI w przypadku dostępności modułu TPM nie da się zaszyfrować partycji systemowej inną metodą niż przechowywanie klucza w TPM, da się jednak użyć innej metody (np. hasła), szyfrując partycję systemową, wydając polecenie z PowerShella (przykładowe polecenie znajduje się poniżej).
Enable-BitLocker -MountPoint "C:" -UsedSpaceOnly -PasswordProtector
Użycie innej metody zabezpieczenia partycji systemowej niż przechowywanie klucza w TPM wymaga ustawienie zasady w Edytorze lokalnych zasad grupy zezwalającej na użycie funkcji BitLocker bez zgodnego modułu TPM (Konfiguracja komputera → Szablony administracyjne → Składniki systemu Windows → Szyfrowanie dysków funkcją BitLocker → Dyski z systemem operacyjnym → Wymagaj dodatkowego uwierzytelnienia przy uruchamianiu) wybrać opcję Włączone i zaznaczyć opcję Zezwalaj na używanie funkcji BitLocker bez zgodnego modułu TPM.
Ataki
[edytuj | edytuj kod]Z założenia BitLocker służy wyłącznie do ochrony dysków przed nieuprawnionymi osobami oraz atakami offline, na które systemy Windows były dotąd podatne. W żaden sposób nie gwarantuje on kontroli przepływu informacji pomiędzy uprawnionymi użytkownikami tego samego komputera lub przesyłania jej na zewnątrz systemu.
Istnieje szereg scenariuszy, w których atakujący może uzyskać dostęp do zawartości zaszyfrowanego dysku, jeśli posiada do niego fizyczny dostęp[1][2].
Przypisy
[edytuj | edytuj kod]- ↑ Sven Tuerpe, Andreas Poller, Jan Steffan, Jan-Peter Stotz, Jan Trukenmueller: Attacking the BitLocker Boot Process. Fraunhofer Institute for Secure Information Technology, 2009.
- ↑ J. Alex Halderman, Seth D. Schoen, Nadia Heninger, William Clarkson, William Paul, Joseph A. Calandrino, Ariel J. Feldman, Jacob Appelbaum, Edward W. Felten: Lest We Remember: Cold Boot Attacks on Encryption Keys. Princeton University, 2008.