Wprowadzenie do FileVault
Komputery Mac oferują funkcję FileVault — wbudowany mechanizm szyfrowania, zabezpieczający wszystkie dane w stanie spoczynku. FileVault używa algorytmu szyfrowania AES-XTS do ochrony całych woluminów na wewnętrznych i zewnętrznych urządzeniach pamięci masowej.
Funkcja FileVault na Macu z układem scalonym Apple jest zaimplementowana przy użyciu ochrony danych klasy C oraz klucza woluminu. Na komputerach Mac z układem scalonym Apple oraz komputerach Mac wyposażonych w układ zabezpieczający Apple T2 szyfrowane wewnętrzne urządzenia pamięci masowej podłączone bezpośrednio do koprocesora Secure Enclave wykorzystują oferowane przez ten koprocesor zabezpieczenia sprzętowe oraz silnik AES. Po włączeniu funkcji FileVault przez użytkownika, jego dane logowania są wymagane do rozruchu Maca.
Wewnętrzna pamięć masowa z włączoną funkcją FileVault
Bez prawidłowych danych uwierzytelnienia lub kryptograficznego klucza odzyskiwania woluminy wewnętrzne APFS pozostają zaszyfrowane i są chronione przed nieautoryzowanym dostępem — nawet, gdy fizyczne urządzenie pamięci masowej zostanie wymontowane i podłączone do innego komputera. W systemie macOS 10.15 dotyczy to zarówno woluminu systemowego, jak i woluminu danych. W systemie macOS 11 lub nowszym wolumin systemowy jest chroniony przy użyciu funkcji SSV (podpisu woluminu systemowego), natomiast wolumin danych pozostaje chroniony przy użyciu szyfrowania. Na komputerach Mac z układem scalonym Apple lub układem zabezpieczającym Apple T2 szyfrowanie woluminów wewnętrznych jest zaimplementowane przez tworzenie i zarządzanie hierarchią kluczy. Szyfrowanie wykorzystuje także sprzętowe technologie szyfrowania wbudowane do danego układu. Ta hierarchia kluczy ma jednocześnie zapewniać cztery cele:
Wymaganie hasła użytkownika do odszyfrowania
Ochrona systemu przez atakiem typu brute-force użytym bezpośrednio na urządzeniu pamięci masowej wyjętym z Maca
Zapewnianie szybkiej i bezpiecznej metody wymazywania zawartości przez usunięcie odpowiedniego materiału kryptograficznego
Umożliwianie użytkownikom zmiany hasła (a w efekcie zmiany kluczy kryptograficznych używanych do ochrony ich plików) bez konieczności ponownego szyfrowania całego woluminu
Na komputerze Mac z układem scalonym Apple oraz na komputerze Mac z układem T2 cała obsługa kluczy FileVault następuje wewnątrz koprocesora Secure Enclave. Procesor nigdy nie ma bezpośredniego dostępu do kluczy szyfrowania. Każdy wolumin APFS jest domyślnie tworzony z kluczem szyfrowania woluminu. Ten klucz szyfrowania woluminu używany jest do szyfrowania woluminu oraz jego metadanych. Sam klucz jest opakowywany przy użyciu klucza klasy. Gdy funkcja FileVault jest włączona, klucz klasy chroniony jest przy użyciu kombinacji hasła użytkownika i sprzętowego identyfikatora UID.
Wewnętrzna pamięć masowa z wyłączoną funkcją FileVault
Jeśli na Macu z układem scalonym Apple lub z układem zabezpieczającym Apple T2 funkcja FileVault nie zostanie włączona podczas początkowego procesu konfiguracji przeprowadzanego przy użyciu Asystenta ustawień, wolumin nadal jest szyfrowany, ale klucz szyfrowania woluminu chroniony jest tylko przy użyciu sprzętowego identyfikatora UID w koprocesorze Secure Enclave.
Jeśli funkcja FileVault zostanie włączona później (proces ten jest natychmiastowy, ponieważ dane są już zaszyfrowane), mechanizm zapobiegania powtarzaniu uniemożliwia odszyfrowanie danych przy użyciu starego klucza, opartego wyłącznie na sprzętowym identyfikatorze UID. Wolumin jest wówczas chroniony przy użyciu kombinacji hasła użytkownika i sprzętowego identyfikatora UID (zgodnie z wcześniejszym opisem).
Usuwanie woluminów FileVault
Usunięcie woluminu powoduje bezpieczne usunięcie klucza szyfrowania tego woluminu przez Secure Enclave. Uniemożliwia to wszelki dostęp przy użyciu tego klucza — nawet przez Secure Enclave. Wszystkie klucze szyfrowania woluminów są dodatkowo opakowane przy użyciu klucza nośnika. Klucz nośnika nie zapewnia dodatkowego zabezpieczenia danych, ale jest przeznaczony do ich szybkiego i bezpiecznego usuwania, ponieważ bez tego klucza odszyfrowanie danych nie jest możliwe.
Na komputerach Mac z układem scalonym Apple lub z układem zabezpieczającym T2 gwarantowane jest usunięcie klucza nośnika przy użyciu technologii obsługiwanej przez koprocesor Secure Enclave — na przykład za pomocą zdalnych poleceń MDM. Wymazanie w ten sposób klucza nośnika sprawia, że wolumin staje się kryptograficznie niedostępny.
Wymienialne urządzenia pamięci masowej
Szyfrowanie zewnętrznych urządzeń pamięci masowej nie używa funkcji oferowanych przez Secure Enclave i jest przeprowadzane w taki sam sposób, jak na komputerach Mac z procesorem Intel niewyposażonych w układ T2.