Bezpiecze ństwo systemów komputerowych. Szyfrowane systemy plików Autor: Bartosz Łaśko bartol@simplusnet.pl Szyfrowane systemy plików
Plan wykładu: Wprowadzenie Zagrożenia dotyczące poufnych danych Środki zaradcze Plusy i minusy stosowania szyfrowanego systemu plików Przykłady szyfrowanych systemów plików - loop-aes - Podsumowanie
Wprowadzenie (1) Zagrożenia dotyczące poufnych danych Fizyczny dostęp do komputera Kradzież komputera, dysku Ominięcie ochrony zapewnianej przez system operacyjny Uruchomienie systemu z alternatywnego nośnika
Wprowadzenie (2) Środki zaradcze Ochrona hasłem BIOSa Określenie, z których urządzeń można uruchamiać system operacyjny nie pomogą, gdy dysk zostanie wyjęty i podłączony do innego komputera. Po uruchomieniu systemu operacyjnego z innego dysku można uzyskać dostęp do danych.
Wprowadzenie (3) Rozwiązanie: Użycie szyfrowanego systemu plików
Co daje szyfrowany system plików? Ochrona poufnych danych przed niepowołanymi osobami Przezroczysty dla użytkownika dostęp do zaszyfrowanych danych Nawet, gdy nośnik zostanie skradziony dane będ ą chronione
Minusy stosowania szyfrowanego systemu plików Dodatkowy narzut administracyjny -wdrażanie i utrzymywanie szyfrowanego systemu plików -odzyskiwanie zaszyfrowanych danych -zagubiony klucz -odejście pracownika Dodatkowe obciążenie procesora podczas szyfrowania i deszyfrowania -zaleca się szyfrowanie tylko katalogów z poufnymi danymi zamiast całego drzewa katalogów -należy rozsądnie planować pracę serwerów, na których wielu klientów używa systemu szyfrowania plików.
loop-aes Moduł loop-aes, implementuje symetryczny algorytm szyfrowania Rijndael nazywany AES (Advanced Encryption Standard) Jak dotąd, nie s ą znane przypadki złamania AES. Atak siłowy jest przy obecnych mocach obliczeniowych komputerów nieefektywny.
loop-aes AES został wyłoniony w 2000 roku w konkursie ogłoszonym przez amerykański urząd normalizacyjny National Institute of Standards and Technology (NIST) AES miał za zadanie zast ą pić wysłu ż ony algorytm DES AES, oprócz kryteriów technicznych, musiał spełniać warunki: -publicznej dostępności specyfikacji -brak ograniczeń patentowo licencyjnych -minimalnej długości klucza 128 bitów Algorytm AES użyty w module loop przetwarza niezaszyfrowane dane na dane zaszyfrowane o tej samej długości. Szyfrowanie przy użyciu klucza 128, 192 lub 256- bitowego w blokach 128-bitowych
loop-aes schemat działania AES
loop-aes - CBC loop-aes korzysta z AES w trybie CBC (Cipher-Block Chaining) -szyfrowania z wiązaniem bloków szyfrogramu.
loop-aes cechy CBC Tryb CBC posiada następuj ące zalety: -Identyczne jawne dane daj ą różne szyfrogramy na wyjściu. Dzieje si ę tak dzięki wprowadzeniu łańcuchowej zależności z poprzednim szyfrogramem. Radykalnie zwiększa si ę bezpieczeństwo działania algorytmu. Wady: -Proces deszyfrowania musi odbywać si ę w ściśle określonej kolejności. -Pojedynczy błąd w odczycie szyfrogramu ci wpływa nie tylko na poprawno ść odpowiadaj ącej mu porcji jawnych danych x i, ale także na poprawno ść jawnej porcji xi+1 otrzymanej w procesie deszyfrowania szyfrogramu kolejnego c i+1.
loop-aes loop-aes korzysta z urządzenia blokowego /dev/loopx. Każde z ośmiu standardowych urządze ń może zostać powiązane z jednym prawdziwym urządzeniem blokowym. W naszym przypadku urządzenie loopback służy do szyfrowania danych w locie. Proces szyfrowania odbywa si ę na poziomie jądra i jest przezroczysty dla programów pracujących w systemie.
loop-aes Potrzebne oprogramowanie: Moduł loop-aes (loop-aes-latest.tar.bz2) Ciphers (ciphers-latest.tar.bz2), zawiera dodatkowe moduły kryptograficzne (loop_serpent.o, loop_twofish.o, loop_blowfish.o) współpracujące z loop-aes. Aespipe (aespipe-latest.tar.bz2), służy do szyfrowania danych w potoku. Przydatne, gdy chcemy zaszyfrować już istniejącą partycję z danymi. Zestaw narzędzi Util-linux (util-linux-2.12pre.tar.bz2), mount, umount, losetup, swapon, swapoff, muszą one zostać spatchowane w celu zapewnienia obsługi kryptograficznej. Źródła jądra. Jeśli nasze jądro ma wkompilowane urządzenie loopback, konieczna jest rekompilacja jądra z wyłączoną opcją Loopback device support i włączoną opcją Enable loadable module support
loop-aes I. Nowa szyfrowana partycja Podłączamy partycję do urządzenia loopx losetup e AES256 T /dev/loopx /dev/hdan -Minimalna długość hasła to 20 znaków mkfs t ext2 /dev/loopx Odłączamy urządzenie: losetup d /dev/loopx mkdir /mnt/crypto Montujemy partycję i podajemy hasło: mount t ext2 /dev/hdan /mnt/crypto o loop=/dev/loopx, encryption=aes256 Od tej chwili dane zapisywane na partycję są w postaci zaszyfrowanej.
loop-aes Dla szyfrowania AES128 (klucz 128 b) -hasło jest haszowane przy pomocy SHA-256 -używane jest szyfrowanie AES 128 bitów Dla szyfrowania AES192 (klucz 192 b) -hasło jest hashowane przy pomocy SHA-384 -używane jest szyfrowanie AES 192 bity Dla szyfrowania AES256 (klucz 256 b) -hasło haszowane przy pomocy SHA-512 -używane jest szyfrowanie AES 256 bitów
loop-aes II. Szyfrowany plik Gdy dysk jest już podzielony na sformatowane partycje, możemy utworzyć szyfrowany plik pojemnik. Tworzymy plik o dowolnej pojemności. dd if=/dev/urandom of=/katalog/crypto_file bs=4k count=179200 (plik 700MB) Poleceniem losetup podłączamy go do urządzenia loop i wybieramy hasło. losetup e AES256 T /dev/loopx /katalog/crypto_file Formatujemy go, tworząc strukturę plików np. ext2 mkfs t ext2 /dev/loopx Montujemy plik do odpowiedniego katalogu.
loop-aes III. Szyfrowanie partycji wymiany. Jądro 2.4 lub nowsze. Konieczne wyłączenie partycji wymiany poleceniem swapoff a Modyfikacja w /etc/fstab /dev/hdan none swap sw, loop=/dev/loopx, encryption=aes128 0 0 Ponowne uaktywnienie partycji poleceniem swapon a Spowoduje to użycie losowego klucza i wykona mkswap na wskazanym urządzeniu loop.
loop-aes IV. Szyfrowanie istniejącej partycji z danymi. W tym przypadku korzystamy z programu Aespipe Odczytywanie zawartości partycji za pomocą dd, szyfrowanie w locie i zapisywanie w tym samym miejscu. Odmontowujemy partycję, a następnie dd if=/dev/hdan bs=64k aespipe e AES256 T dd of=/dev/hdan bs=64k conv=notrunc
loop-aes Zalety: Bezpłatny Stosunkowo małe obciążenie procesora Jak na razie bardzo bezpieczny Wady: Czasami istnieje konieczność kompilacji jądra Niezbędna kompilacja i instalacja binariów
Cechy: (Encrypted File System) jest nową funkcją dostępną od Windows 2000. Zapewnia ochronę danych na partycjach NTFS w Windows 2000, Windows XP i Windows Server 2003. Używa szyfrowania opartego na kluczu publicznym i prywatnym oraz algorytmu symetrycznego. Para kluczy publiczny/prywatny jest generowane automatycznie podczas pierwszego korzystania z, jeśli nie była wygenerowana wcześniej.
Cechy c.d.: Para kluczy publiczny/prywatny jest generowane automatycznie podczas pierwszego korzystania z, jeśli nie była wygenerowana wcześniej. Działa jako usługa w Windows, jest przezroczysty dla użytkowników i aplikacji. Funkcja jest włączona w systemie domyślnie. W przypadku szyfrowania folderu następuje automatyczne szyfrowanie wszystkich plików i podfolderów utworzonych lub dodanych do folderu.
Cechy c.d.: Tylko użytkownik, który zaszyfrował chroniony plik, oraz osoby do tego wyznaczone mogą go otworzyć i na nim pracować. Konto z uprawnieniami Przejęcie na własność, nie pozwala na otwarcie pliku bez upoważnienia. Konieczne są uprawnienia do modyfikowania pliku.
Cechy c.d.: Pliku nie można otworzyć nawet przy użyciu konta administratora, jeśli nie jest ono wyznaczone jako agent odzyskiwania danych. W systemie Windows XP funkcja działa również dla plików i folderów trybu offline. W Windows XP i Windows 2003 istnieje możliwość wyłączania agentów odzyskiwania plików.
Cechy c.d.: Funkcja może korzystać z algorytmów szyfrowania Data Encryption Standard (DESX) lub Triple-DES (3DES), a w Windows XP SP1 i Windows Server 2003 z algorytmu AES. Dla certyfikatów oraz do szyfrowania symetrycznych kluczy szyfrowania stosowany jest algorytm szyfrowania asymetrycznego RSA.
Cechy: Domyślnym algorytmem dla Windows 2000 i Windows XP jest DESX. Domyślna długość klucza w Windows 2000 to 56 bitów. Po zastosowaniu w Windows 2000 uaktualnienia Encryption Pack stosowana jest długość klucza 128 bitów. W Windows XP można włączyć używanie algorytmu 3DES. Domyślnym algorytmem dla Windows XP SP1 i Windows 2003 jest AES z kluczem 256 bitów.
Atrybut szyfrowania.
Jak działa Szyfrowanie i deszyfrowanie plików bez udziału użytkownika. Z punktu widzenia użytkownika szyfrowanie plików to jedynie kwestia określenia atrybutu pliku bądź foldera. Gdy atrybut jest włączony, przechowuje plik w postaci zaszyfrowanej. Inni użytkownicy nie mogą zobaczyć zawartości pliku.
Jak działa - szyfrowanie: Po ustawieniu atrybutu generuje pseudolosowy klucz szyfrowania pliku File Encryption Key (FEK). System używając symetrycznego klucza FEK i algorytmu np. DESX szyfruje plik i zapisuje na dysku twardym. Następnie szyfruje FEK kluczem publicznym użytkownika (oraz agenta odzyskiwania) i zapisuje razem z zaszyfrowanym plikiem. NTFS przechowuje listę zaszyfrowanych kluczy FEK z plikiem w specjalnych polach Data Encryption Fields (DEF) i Data Recovery Fields (DRF)
Jak działa - szyfrowanie:
Jak działa deszyfrowanie: Gdy użytkownik chce uzyskać dostęp do zaszyfrowanego pliku system używa prywatnego klucza użytkownika do odszyfrowania symetrycznego klucza FEK. Następnie używa FEK do deszyfrowania pliku używanym algorytmem.
Co można szyfrować? Pliki i zawartość folderów w systemie NTFS. Od Windows XP pliki trybu offline buforowanie udziałów sieciowych. Czego nie można szyfrowac? Folderów i plików systemowych. -ochrona pliku wymiany: czyszczenie zawartości podczas zamykania systemu. Lokacji w %SYSTEMROOT%\... Nie można tam też skopiować zaszyfrowanych plików.
Szyfrowanie plików trybu offline.
Współdzielenie zaszyfrowanych plików i katalogów. Dostępne od Windows XP pod przyciskiem Details zaawansowanych Atrybutów pliku lub foldera.
Współdzielenie zaszyfrowanych plików i katalogów.c.d.: W poniższym oknie można dodać dodatkowych użytkowników:
Współdzielenie zaszyfrowanych plików i katalogów.c.d.:
Odzyskiwanie danych: Dane są szyfrowane dla więcej niż jednej osoby. Odzyskiwanie danych nie musi oznaczać przejęcia czyjegoś klucza prywatnego. Symetryczny klucz FEK może być chroniony kluczami publicznymi kilku użytkowników, np. właściciela pliku i agenta odtwarzania. Odzyskiwanie danych ma miejsce, gdy użytkownik inny niż właściciel odszyfruje plik w tym przypadku zrobi to agent odtwarzania.
Odzyskiwanie danych c.d.:
Odzyskiwanie danych c.d.: W Windows 2000 Agent odtwarzania jest obowiązkowy i domyślnie jest nim administrator domeny. W Windows XP i Windows 2003 można go wyłączyć.
Exportowanie kluczy agenta odzyskiwania danych.
Exportowanie kluczy agenta odzyskiwania danych c.d.:
Exportowanie kluczy agenta odzyskiwania danych c.d. Po wyeksportowaniu prywatnego klucza agenta odzyskiwania klucz powinien zostać usunięty z systemu. Powinien być przechowywany na bezpiecznym nośniku w bezpiecznym miejscu. Klucz jest przechowywany w pliku *.PFX.
Exportowanie kluczy agenta odzyskiwania danych c.d.
Przesyłanie plików przez sieć. Pliki są przesyłane przez sieć niezaszyfrowane. Należy stosować szyfrowane połączenie sieciowe. Pliki szyfrowane nie mogą być współdzielone w sieci ze względów bezpieczeństwa.
Wyłączanie W konsoli MMC, Group Policy -Computer configuration -Windows settings -Security settings -Public Key Policies -Encrypting File System
Wskazówki: Szyfrowanie folderów Moje dokumenty Zalecanie użytkownikom szyfrowania całych folderów zamiast pojedynczych plików programy pracują z plikami w różny sposób. Klucze prywatne skojarzone z certyfikatami odzyskiwania są wyjątkowo wrażliwe. Powinny być generowane na komputerze fizycznie zabezpieczonym lub ich certyfikaty powinny być w całości exportowane do pliku PFX (), chronionego silnym hasłem i przechowywane na bezpiecznym wymiennym nośniku.
Wskazówki c.d.: Nie należy niszczyć certyfikatów odzyskiwania lub kluczy prywatnych po zmianie agentów odzyskiwania (należy to robić okresowo). Należy zachować wszystkie z nich, dopóki wszystkie pliki, które mogły zostać zaszyfrowane za ich pomocą, nie zostaną zaktualizowane. Należy archiwizować agenta odzyskiwania, aby upewnić się, że można odzyskać pliki szyfrowane przy użyciu przestarzałych kluczy odzyskiwania. Certyfikaty odzyskiwania i klucze prywatne należy wyeksportować i przechowywać w kontrolowany sposób.
Zalety: Od razu można zacząć korzystać z, bez przygotowań. Prostota obsługi. Przy pierwszej próbie zaszyfrowania pliku, certyfikat użytkownika jest automatycznie tworzony. W przypadku zgubienia klucza prywatnego użytkownika (reinstalacja systemu, utworzenie nowego użytkownika), agent odtwarzania może odszyfrować pliki. Wady: Cena wliczona w cenę systemu operacyjnego. niedostępny w Windows XP Home.
Podsumowanie: Szyfrowany system plików pozwala nam zabezpieczyć dostęp do poufnych danych. Zapewnia przezroczysty proces szyfrowania i deszyfrowania. Konieczne jest jednak właściwe zarządzanie systemem.
Artykuł o loop-aes Linux + stycze ń 2004 Strona domowa projektu loop-aes: http://loop-aes.sourceforge.net/projects/loop-aes/ Strona domowa projektu Rijndael: http://www.esat.kuleuven.ac.be/~rijmen/rijndael Strona firmy Microsoft: http://www.microsoft.com/technet/ Literatura: Strona MCSE World by Daniel Petri http://www.petri.co.il