Microsoft Encrypting File System Assistant (EFS Assistant) jest aplikacją, która pozwala na centralne wymuszanie polityk szyfrowania EFS na stacjach klienckich Windows XP/Windows Vista.
EFS Assistant działa w tle, w jednym z dwóch trybów pracy (Rys. 1).

Rysunek 1: Tryby pracy EFS Assistant.
| • | Operational mode – tryb, w którym następuje określenie plików i katalogów, które powinny być chronione poprzez szyfrowanie EFS. |
| • | Reporting mode – tryb raportowania, który przeprowadza analizę pod kątem aktualnie zaszyfrowanych plików i katalogów, z drugiej strony podpowiada, które dane powinny zostać poddane ochronie EFS. |
Pomimo, że EFS Assistant został zaprojektowany do pracy z komputerami przenośnymi z powodzeniem może być stosowany także na komputerach stacjonarnych w organizacji.
Oprócz zalet EFS Assistant posiada pewne ograniczenia:
| • | nie jest wspierany na systemach serwerowych, |
| • | centralne zarządzanie jest możliwe wyłącznie w stosunku do komputerów będących w domenie, |
| • | szyfrowanie nie może być wykonywane na dyskach sieciowych lub pamięciach USB, |
| • | nie może być uruchamiany przez użytkowników posiadających profile mobilne. |
Właściwa instalacja EFS Assistant odbywać się może w dwóch trybach: interactive i non-interactive.

Rysunek 2: Tryby instalacji EFS Assistant.
Tryb Interactive wymaga interakcji ze strony użytkownika instalującego EFS Assistant. W trakcie instalacji przedstawiana jest licencja produktu, opcja pozwalająca na określenie ścieżki instalacji oraz okno pozwalające na wybór instalowanych komponentów:
| • | EFS Assistant – instaluje narzędzie wraz z niezbędnymi do działania plikami. Domyślnie aplikacja jest instalowana w lokalizacji %PROGRAMFILES%\Microsoft EFS Assistant. |
| • | Reporting Tool – instaluje skrypty, które pozwalają na generowanie raportów. |
| • | Evaluation Settings – konfiguruje ustawienia w rejestrze systemu (Rys. 3) tak aby EFS Assistant był uruchamiany w trybie podstawowego szyfrowania. Oznacza to, że szyfrowaniu podlegają foldery domyślnie skonfigurowane w ramach polityk grupowych oraz katalogi z danymi (np. My Documents) oraz pliki pakietu Office (.ppt, pptx, .doc, .docx, .xls, .xlsx). ![]() Rysunek 3: Ustawienia rejestru EFS Assistant po instalacji pakietu. |
| • | Administrative Templates – instaluje szablony administracyjne dla edytora polityk grupowych. |
| • | Install Shortcuts – instaluje skróty w Menu Start dla EFS Assistant oraz Results Viewer. |
W trybie Non-interactive nie jest wymagana interakcja od strony użytkownika a wśród domyślnie instalowanych komponentów znajdują się:
| • | EFS Assistant, |
| • | Evaluation Settings, |
| • | Install Shortcuts. |
Uruchomienie instalatora w tym trybie odbywa się poprzez podanie przełącznika /qn.
W celu modyfikacji domyślnej listy komponentów można zastosować opcje, które przedstawia tabela 1.
| Komponent | Opcje |
EFS Assistant Tool | N/A (Always installed) |
Reporting Tool | REPORT=1 |
Administrative Templates | TEMPLATES=1 |
Evaluation Settings | SETTINGS=1 |
Shortcut | SHORTCUTS=1 |
Tab. 1 Opcje instalacji komponentów EFS Assistant w trybie Non-interactive.
Przykładowe wywołania instalatora:
msiexec /qn –i EFSAssistant.msi msiexec /qn –i EFSAssistant.msi REPORT=1 msiexec /qn –i EFSAssistant.msi REPORT=1 TEMPLATES=1
EFS Assistant dostarczany jest w postaci pliku Windows Installer (.msi). Dzięki temu wdrożenie pakietu może zostać zrealizowane na różne sposoby:

Rysunek 4: Sposoby wdrażania EFS Assistant.
| • | Manual installation – instalacja ręczna wymagająca uruchomienia instalatora EFS Assistant w jednym z dwóch trybów instalacji. |
| • | Logon scripts – instalacja EFS Assistant poprzez skrypt logowania. |
| • | Group Policy – instalacja poprzez opcje instalacji oprogramowania dostępne w politykach grupowych. |
| • | SMS/SCCM – instalacja z wykorzystaniem serwerów Systems Management Server/System Center Configuration Manager. |
Działanie pakietu EFS Assistant składa się z kilku etapów. Prezentuje je rysunek 5.

Rysunek 5: Etapy działania EFS Assistant.
Initialization
Etap Initialization rozpoczyna się wraz z zalogowaniem użytkownika, w kontekście, którego EFS Assistant uruchamia się i przygotowuje środowisko pracy. Sprawdzane jest czy nie działa inna instancja narzędzia, odczytywane są informacje z rejestru oraz gromadzone są wpisy z list dotyczących klasyfikacji katalogów.
Scanning
Skanowanie rozpoczyna się od określenia woluminów z systemem plików NTFS. Następnie dokonywana jest analiza wszystkich katalogów (zaczynając od korzenia dysku).
Classification
Działanie etapu Classification jest uzależnione od wielu ustawień. Szczegóły są omówione w dalszej części artykułu.
Encryption
W tej części następuje właściwe nadawanie atrybutu E na katalogach i plikach. Szyfrowanie, domyślnie nie odbywa się w stosunku do katalogów, które są udostępnione. Równocześnie, jeśli nie jest ustawiona opcja Force decompression nie są szyfrowanie zasoby z ustawionym atrybutem C (Compress).
Działanie EFS Assistant opiera się na przeprowadzaniu klasyfikacji katalogów i określaniu czy znajdujące się w nich dane powinny być szyfrowane. Możliwe kategorie, do których są przypisywane katalogi prezentuje tabela 2.
| Klasyfikacja | Znaczenie |
Red | Katalog, nie został zaszyfrowany. |
Green | Katalog został zaszyfrowany. |
Unclassified | Katalog nie został sklasyfikowany a tym samym nie został zaszyfrowany. |
Tab. 2 Kategorie katalogów EFS Assistant.
Metody klasyfikacji folderów bazują na wielu różnych opcjach i są następujące:
| • | Do Not Scan list Lista zawiera katalogi, które nie podlegają klasyfikowaniu. Automatycznie w momencie uruchomienia EFS Assistant znajdują się na niej: o Katalog Windows o Profile innych użytkowników o Katalog System Volume Information | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| • | Default Folder lists EFS Assistant posiada dwie listy folderów domyślnych: o Default Red list – określa ścieżki, które nie są klasyfikowane. Jeśli w bazie zainstalowanych aplikacji znajdują się ścieżki, które nie zostały umieszczone w katalogu %PROGRAMFILES% są one automatycznie dodawane do tej listy. Tabela 3 przedstawia domyślne katalogi listy.
Tab. 3 Domyślne katalogi listy Default Red List. o Default Green list – określa ścieżki, które podlegają klasyfikacji (Tab. 4).
Tab. 4 Domyślne katalogi listy Default Green List. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| • | Group Policy folder lists Za pomocą polityk grupowych można określić listy Group Policy Red / Group Policy Green, których działanie jest analogiczne do list domyślnych. Pozwala to na dostosowanie ścieżek podlegających klasyfikacji według własnych wymagań. W przypadku jednoczesnego umieszczenia ścieżki na liście Group Policy Red i Group Policy Green priorytet ma zawsze lista Group Policy Red. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| • | System folders W trakcie klasyfikacji wszystkie obiekty z atrybutem System są umieszczane na liście Default Red list. Dotyczy to również obiektów podrzędnych. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| • | Folder content classification Włączenie opcji powoduje, że klasyfikacja odbywa się na podstawie zawartości katalogów. Analizie podlegają ścieżki, które zostały oznaczone jako Unclassified folder. Jeśli wszystkie pliki w katalogu są na liście plików zaszyfrowanych cały folder jest umieszczany na liście Default Green list. Omówione działanie nie jest dziedziczone na katalogi podrzędne (każdy katalog jest analizowany oddzielnie). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| • | Desktop.ini encryption disabled Plik desktop.ini określa opcje w zakresie wyświetlania i działania bieżącego folderu. Umieszczając w nim wpis: [Encryption] Disable=1 można wymusić wyłączenie szyfrowania. |
W trakcie pracy EFS Assistant mogą nastąpić zmiany. Dzieje się to pewnych sytuacjach i ma na celu usprawnienie działania pakietu. Szczególne przypadki zostały omówione poniżej.
| • | Działanie EFS Assistant jest wstrzymywane kiedy komputer jest zasilany z baterii. | |||||||||||||||||||||
| • | Procesowi EFS Assistant przydzielany jest priorytet Low (Rys. 6) dzięki czemu w minimalnym stopniu wpływa on na wydajność komputera. ![]() Rysunek 6: Informacja o priorytecie procesu EFSAssistant.exe zarejestrowana w pliku zdarzeń. | |||||||||||||||||||||
| • | W trybie działania reporting-mode EFS Assistant przygotowuje wszystkie opisane powyżej czynności i rejestruje obiekty, które zostałyby zaszyfrowane. | |||||||||||||||||||||
| • | W stosunku do katalogów używanych przez Internet Explorer EFS Assistant stosuje specjalne działanie. Tabela 5 przedstawia katalogi, które mają domyślnie ustawiony atrybut S (System) co zgodnie z metodami klasyfikacji powinno umieszczać ścieżki na liście Default Red List. EFS Assistant zeruje atrybut S i umieszcza jest na liście Default Green List.
Tab. 5 Specjalne katalogi Internet Explorer. |
Konfiguracja EFS Assistant jest możliwa za pomocą polityk grupowych z wykorzystaniem usługi katalogowej Active Directory. Ponieważ dostępne są szablony administracyjne zarówno w formacie ADM i ADMX zasięg działania EFS Assistant obejmuje stacje z Windows XP i Windows Vista.
Ustawienia EFS Assistant są przechowywane w gałęzi konfiguracji komputera (Computer Configuration > Administrative Teplates > EFS Assistant) co prezentuje rysunek 7.

Rysunek 7: Polityki grupowe EFS Assistant.
Poszczególne polityki, ich przeznaczenie, możliwe ustawienia oraz położenie w rejestrze i dopuszczalne wartości związane z EFS Assistant prezentuje tabela 6.
| Reporting mode | |||||
Przeznaczenie | Ustawienie odpowiada za stan działania trybu raportownia | ||||
Możliwe ustawienia polityki |
| ||||
Rejestr | HKEY_LOCAL_MACHINE\Software\Policies \Microsoft\EFSAssistant\Report Only | ||||
Możliwe ustawienia w rejestrze | • Disabled No [REG_DWORD value = 0] • Enabled Yes [REG_DWORD value = 1] |
| Folder encryption mode | |||||||
Przeznaczenie | Określa działanie trybu szyfrowania katalogów | ||||||
Możliwe ustawienia polityki |
| ||||||
Rejestr | HKEY_LOCAL_MACHINE\...\FolderEncryptionMode | ||||||
Możliwe ustawienia w rejestrze |
|
| Encrypt individual files | |||||
Przeznaczenie | Ustawienie określa czy stosowany jest tryb szyfrowania „plik po pliku”. Oznacza to, że szyfrowaniu podlegają pliki, znajdujące się w folderach określonych jako Unclassified i których rozszerzenia są zawarte na liście Files types to encrypt. | ||||
Możliwe ustawienia polityki |
| ||||
Rejestr | HKEY_LOCAL_MACHINE\...\EncryptIndividualFiles | ||||
Możliwe ustawienia w rejestrze |
|
| Debug logging | |||||
Przeznaczenie | Ustawienie określa czy rejestrowane są szczegółowe zdarzenia związane z działaniem EFS Assistant. | ||||
Możliwe ustawienia polityki |
| ||||
Rejestr | HKEY_LOCAL_MACHINE\...\DebugEnabled | ||||
Możliwe ustawienia w rejestrze |
|
| Folders to encrypt | |
Przeznaczenie | Określa listę ścieżek do katalogów, które zawsze powinny być szyfrowane. |
Możliwe ustawienia polityki | Prawidłowo zdefiniowana ścieżka do katalogu z możliwością zastosowania dowolnej zmiennej środowiskowej. Przykład: „E:\Magazyn” |
Rejestr | HKEY_LOCAL_MACHINE\...\FolderPathsToEncrypt |
Możliwe ustawienia w rejestrze | Prawidłowo zdefiniowana ścieżka do katalogu z możliwością zastosowania dowolnej zmiennej środowiskowej. Każda ścieżka musi reprezentowana przez oddzielny wpis (typ danych REG_SZ). Przykład: „D:\Archiwum\%USERNAME%” |
| Folders not to encrypt | |
Przeznaczenie | Określa listę ścieżek do katalogów, który nigdy nie powinny być szyfrowane. |
Możliwe ustawienia polityki | Prawidłowo zdefiniowana ścieżka do katalogu z możliwością zastosowania dowolnej zmiennej środowiskowej. Przykład: „D:\Archiwum\%USERNAME%” |
Rejestr | HKEY_LOCAL_MACHINE\...\FolderPathsNotToEncrypt |
Możliwe ustawienia w rejestrze | Prawidłowo zdefiniowana ścieżka do katalogu z możliwością zastosowania dowolnej zmiennej środowiskowej. Każda ścieżka musi reprezentowana przez oddzielny wpis (typ danych REG_SZ). Przykład: „E:\Magazyn” |
| File types to encrypt | |
Przeznaczenie | Określa listę rozszerzeń plików, które powinny być szyfrowane. |
Możliwe ustawienia polityki | Prawidłowo zdefiniowane rozszerzenie pliku. Przykład: „.txt1” |
Rejestr | HKEY_LOCAL_MACHINE\...\FileExtensionsToEncrypt |
Możliwe ustawienia w rejestrze | Prawidłowo zdefiniowane rozszerzenie pliku. Każde rozszerzenie musi być reprezentowane przez oddzielny wpis (typ danych REG_SZ). Przykład: „.txt1” |
| Force decompression of folders that should be encypted | |||||
Przeznaczenie | Określa czy zostanie wymuszone wyzerowanie atrybutu C na katalogu, który powinien być zaszyfrowany. | ||||
Możliwe ustawienia polityki |
| ||||
Rejestr | HKEY_LOCAL_MACHINE\...\AutomaticallyDecompressForEncryption | ||||
Możliwe ustawienia w rejestrze |
|
| Encrypt shared folders | |||||
Przeznaczenie | Określa czy szyfrowaniu podlegać będą udostępnione foldery zaklasyfikowane jako foldery Green. | ||||
Możliwe ustawienia polityki |
| ||||
Rejestr | HKEY_LOCAL_MACHINE\...\EncryptSharedFolders | ||||
Możliwe ustawienia w rejestrze |
|
| Display status balloons | |||||
Przeznaczenie | Określa czy będą wyświetlane komunikaty w obszarze powiadomień paska zadań Windows. | ||||
Możliwe ustawienia polityki |
| ||||
Rejestr | HKEY_LOCAL_MACHINE\...\DisplayBalloons | ||||
Możliwe ustawienia w rejestrze |
|
Tab. 6 Polityki grupowe oraz ustawienia rejestru EFS Assistant.
Lista ustawień EFS Assistant jest na tyle duża, że pozwala uzyskać rozwiązania z różnymi poziomami szyfrowania danych. Poniżej zostały przedstawione przykłady.
Założenia:
| • | szyfrowane są katalogi z list Default Green list oraz Group Policy Green list, |
| • | szyfrowane są katalogi według podanych ścieżek, |
| • | istnieje możliwość zadeklarowania ścieżek do katalogów, które nie mogą być szyfrowane. |
Realizacja powyższych założeń jest możliwa poprzez zastosowanie opcji konfiguracyjnych przedstawionych w tabeli 7.
| Polityka grupowa | Ustawienie |
Folder encryption mode | Encrypt specified folders only |
Folders to encrypt | Folder paths that you want encrypted |
Folders not to encrypt | Folder paths that you want to leave unencrypted |
Tab. 7 Ustawienia polityk przy szyfrowaniu minimalnym.
Założenia:
| • | szyfrowane są katalogi z list Default Green list oraz Group Policy Green list, |
| • | odbywa się klasyfikacja folderów pod kątem zawartości, |
| • | szyfrowane są katalogi według podanych ścieżek, |
| • | uwzględniane są określone rozszerzenia plików przy decyzji o szyfrowaniu, |
| • | istnieje możliwość zadeklarowania ścieżek do katalogów, które nie mogą być szyfrowane. |
Tabela 8 przedstawia ustawienia, które pozwalają na uzyskanie poziomu szyfrowania moderowanego.
| Polityka grupowa | Ustawienie |
Folder encryption mode | Encrypt specified and content classified folders |
Folders to encrypt | Folder paths that you want encrypted |
Folders not to encrypt | Folder paths that you want to leave unencrypted |
File types to encrypt | List of file extensions (including the period) that should be considered data files |
Tab. 8 Ustawienia polityk przy szyfrowaniu moderowanym.
Założenia:
| • | szyfrowane są katalogi z list Default Green list oraz Group Policy Green list, |
| • | odbywa się klasyfikacja folderów pod kątem zawartości, |
| • | szyfrowane są katalogi według podanych ścieżek, |
| • | uwzględniane są określone rozszerzenia plików przy decyzji o szyfrowaniu, |
| • | szyfrowane są pliki zgodnie z trybem „plik-po-pliku”, |
| • | istnieje możliwość zadeklarowania ścieżek do katalogów, które nie mogą być szyfrowane. |
Tabela 9 przedstawia ustawienia, które pozwalają na uzyskanie poziomu szyfrowania silnego.
| Polityka grupowa | Ustawienie |
Folder encryption mode | Encrypt specified content classified folders |
Folders to encrypt | Folder paths that you want encrypted |
Folders not to encrypt | Folder paths that you want to leave unencrypted |
File types to encrypt | List of file extensions (including the period) that should be considered data files |
Encrypt individual files | Enabled |
Tab. 9 Ustawienia polityk przy szyfrowaniu silnym.
Założenia:
| • | szyfrowane są wszystkie katalogi za wyjątkiem tych, które znajdują się na listach Default Red list oraz Group Policy Red list . |
| • | istnieje możliwość zadeklarowania ścieżek do katalogów, które nie mogą być szyfrowane. |
Tabela 10 przedstawia ustawienia, które pozwalają na uzyskanie poziomu szyfrowania bardzo silnego.
| Polityka grupowa | Ustawienie |
Folder encryption mode | Maximize encryption |
Folders not to encrypt | Folder paths that you want to leave unencrypted |
Tab. 10 Ustawienia polityk przy szyfrowaniu bardzo silnym.
W skład pakietu EFS Assistant wchodzi skrypt EFS Assistant Results Viewer. Umożliwia on stworzenie raportu (Rys. 8) w formacie CSV zawierającego następujące informacje:
| • | Name – nazwa folderu. |
| • | Classification – informacja o wyniku klasyfikacji |
| • | Source od Classification – wskazuje źródło klasyfikacji szyfrowania |
| • | Encryption Status – wskazuje czy folder lub plik (nie)został zaszyfrowany. |
| • | Encryption Substatus – dostarcza dodatkowe informacje na szyfrowania folderów. |
| • | Encryption Timestamp – znacznik daty i czasu szyfrowania |

Rysunek 8: Raport EFS Assistant.
EFS Assistant nie uruchamia się cyklicznie. W każdym razie istnieje możliwość takiej konfiguracji aby był uruchamiany w regularnym odstępach czasach. W tym celu można zastosować jedno z rozwiązań:
| • | Dodanie wpisu do klucza HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run dzięki czemu EFS Assistant będzie uruchamiany przy każdym logowaniu się dowolnego użytkownika. |
| • | Dodanie wpisu do klucza HKEY_USERS\S…\Software\Microsoft\Windows\CurrentVersion\Run dzięki czemu EFS Assistant będzie uruchamiany przy każdym logowaniu się określonego użytkownika. |
| • | Uruchomienie narzędzia poprzez skrypt logowania/wylogowania. |
| • | Dodanie skrótu do katalogu Startup w kontekście użytkownika. |
| • | Dodanie EFS Assistant do harmonogramu zadań. |
W trakcie korzystania z EFS Assistant mogą wystąpić problemy. Jest wiele możliwości analizy i poszukiwania błędów. Poniżej zostały przedstawione informacje jak sobie radzić w różnych sytuacjach.
| • | EFS Assistant ma możliwość tworzenia plików zdarzeń. Jeśli włączony jest tryb śledzenia (ang. debug mode) tworzony jest plik EFSAssistant.log w lokalizacjach: o Windows XP %USERPROFILE%\Local Settings\Application Data\Microsoft\EFS Assistan o Windows Vista %LOCALAPPDATA%\Microsoft\EFS Assistant Wybraną część pliku zdarzeń prezentuje rysunek 9. ![]() Rysunek 9: Plik zdarzeń EFSAssistant.log. | ||||||||||||||||||||||||||
| • | W sytuacji, kiedy zajdzie taka konieczność można bez obaw zatrzymać proces odpowiedzialny za działanie pakietu - EFSAssistant.exe - (Rys. 10) z poziomu menadżera zadań. ![]() Rysunek 10: Proces EFSAssistant.exe. Jest to bezpieczne gdyż w trakcie analizy EFS Assistant tworzy tymczasowe pliki, które mają być szyfrowane i dopiero po zakończeniu szyfrowania zastępuje je w oryginalnych lokalizacjach. | ||||||||||||||||||||||||||
| • | Jeśli pliki zostały przypadkowo lub błędnie zaszyfrowane można ręcznie dokonać zerowania atrybutu E za pomocą polecenia cipher. | ||||||||||||||||||||||||||
| • | EFS Assistant domyślnie tworzy wpisy dotyczące błędów w działaniu w gałęzi Application. W tabeli 11 są przedstawione rejestrowane zdarzenia i ich znaczenie.
Tab. 11 Zdarzenia błędów działania EFS Assistant. | ||||||||||||||||||||||||||
| • | Dla każdego folderu EFS Assistant tworzy nową instancję klasy EFSAssistantResults w przestrzeni nazw narzędzi instrumentalizacji Windows WMI. Dzięki poleceniom wmic.exe i wbemtest.exe można wysyłać zapytania poprzez WMI dotyczące komputera lokalnego jak również zdalnego. |
Usuwanie EFS Assistant wiąże się z wykonaniem trzech kroków:
| • | Odinstalowanie pakietu EFS Assistant z poziomu panelu sterowania. |
| • | Wykasowanie plików zdarzeń z lokalizacji: o w Windows XP %USERNPROFILE%\Local Settings\Application Data\Microsoft\EFS Assistant o w Windows Vista %LOCALAPPDATA%\Microsoft\EFS Assistant • Wykasowanie całego klucza HKEY_LOCAL_MACHINE\Software\Policies \Microsoft\EFSAssistant (Rys. 11) lub usunięcie odpowiadającego obiektu w politykach grupowych. |

Rysunek 11: Klucz z ustawieniami EFSAssistant w rejestrze.
W dobie ogromnego upowszechnienia się i wykorzystania usług katalogowych Active Directory, EFS Assistant daje możliwość centralnego zarządzania zabezpieczeniami danych użytkowników przy pomocy EFS. Liczba opcji oraz ustawień pakietu z całą pewnością zapewni wiele indywidualnych konfiguracji i pomimo pewnych ograniczeń nie wpłynie znacząco na zastosowanie EFS Assistant.
Nie udało się dokonać sprawdzenia działania EFS Assistant w środowisku Windows 7 Beta gdyż plik instalatora nie pozwolił na uruchomienie instalacji pakietu. W każdym razie należy spodziewać się, że omówione konfiguracje i ustawienia będą identyczne jak w Windows Vista.
Przedstawiony w dwóch artykułach Data Encryption Toolkit for Mobile PCs powinien być dla każdego administratora i inżyniera pomocny w planowaniu, wdrażaniu i utrzymaniu rozwiązań ochrony danych na komputerach w organizacji z pomocą technologii BitLocker i EFS.
![]() | Paweł Pławiak |