zurück zum Artikel

Fallstricke des Encrypted File System von Windows vermeiden

Peter Dassow

Eingeschaltet ist es schnell, das Encrypted File System (EFS) von Windows 2000 und XP Professional. Vergisst man jedoch, seine die relevanten Benutzerdaten zu sichern, verwehrt einem Windows im Fehlerfall möglicherweise den Zugriff auf die eigenen Daten.

Nur wenige Klicks genügen, um das Encrypted File System (EFS) von Windows 2000 und XP Professional zu aktivieren: Im Eigenschaftendialog einer Datei oder eines Verzeichnisses muss man lediglich in den erweiterten Attributen die Option "Inhalte verschlüsseln" aktivieren. Einzelne Dateien verschlüsselt Windows ohne Rückfrage, bei Verzeichnissen will das System nach der EFS-Aktivierung zuvor noch wissen, ob es auch Unterverzeichnisse einbeziehen soll. Kopiert man zukünftig Dateien in ein EFS-Verzeichnis, verschlüsselt Windows diese ohne weiteres Zutun des Benutzers. Greift ein Benutzer auf die Daten zu, entschlüsselt sie Windows automatisch - die nötigen Rechte vorausgesetzt. Der Anwender merkt davon nichts, außer vielleicht einer kleinen Denkpause bei großen Dateien. Einzige Voraussetzung: EFS funktioniert nur auf Laufwerken mit dem NTFS-Dateisystem. Mit FAT16/32 arbeitet es nicht zusammen.

Nach der Aktivierung des verschlüsselnden Dateisystems sollte man jedoch noch nicht die Hände in den Schoß legen. Es muss nicht der totale System-Crash mit Neuinstallation von Windows sein, um sein für die Entschlüsselung nötiges Zertifikat zu verlieren. Es genügt bereits, wenn der Administrator das Benutzerpasswort ändert, damit man keinen Zugriff mehr auf seine verschlüsselten Daten bekommt. Die Daten sind zwar noch auf Festplatte vorhanden, die Windows bekannten Schlüssel sind aber unvollständig oder passen nicht.

Das von EFS benutzte Zertifikat mit dem für das Public-/Private-Key-Verschlüsselungsverfahren nötige Schlüsselpaar erzeugt Windows - falls noch kein geeignetes Zertifikat vorhanden ist - bei der ersten Benutzung von EFS automatisch. Woran jedoch nur die wenigsten Benutzer denken und worauf auch Windows nicht aufmerksam macht, ist, dass man diese Schlüssel gezielt sichern sollte. Diese Vorsichtsmaßnahme eignet sich für alle Anwender, egal, ob ihr Rechner in einem Firmennetzwerk in einer Domäne arbeitet oder als Einzelplatzcomputer seinen Dienst verrichtet.

Die gesicherten Schlüssel - egal, ob auf Diskette, CD-R oder einem anderen Medium - sind also vergleichbar mit dem zweiten Wohnungsschlüssel, den man für den Fall der Fälle beim Nachbarn deponiert hat. Ändert der Benutzer selbst sein Passwort, besteht übrigens keine Gefahr. Dann entschützt Windows die Schlüssel mit dem alten Passwort, ehe es sie mit dem neuen verschlüsselt ablegt.

Die Schlüssel sind über certmgr.msc einsehbar, einer Microsoft Management Console (mmc.exe), die durch Eingabe von certmgr.msc in "Ausführen" im Startmenü aufgerufen wird. Die EFS-Schlüssel sind Bestandteil eines Zertifikats. Im Zweig "Eigene Zertifikate" kann man sich seine Zertifikate anzeigen lassen.

Das Sichern von Zertifikaten erledigt man ebenfalls in certmgr.msc, über Alle Tasks/Exportieren im Kontextmenü des Zertifikats. Der Zertifikatsexport-Assistent führt durch den Vorgang. Sichern Sie unbedingt den privaten Schlüssel mit und wählen Sie die Optionen "Wenn möglich, alle Zertifikate im Zertifizierungspfad einbeziehen" und "Verstärkte Sicherheit aktivieren". Zum Abschluss verlangt der Assistent noch ein Passwort, um die Exportdatei zu schützen. Das Zertifikat nebst Schlüssel landet in einer PKCS#12-Zertifikatsdatei (Endung "pfx"). Löschen Sie diese nach dem Kopieren auf Diskette oder Brennen auf CD-R von der Festplatte. Sonst könnte sie ein Trojaner ausspähen.

Hat ein Benutzer versehentlich sein Zertifikat gelöscht oder der Administrator ein neues Zugangspasswort vergeben, erhält man nach dem Import des gesicherten Zertifikats wieder Zugriff auf seine Daten. Den Import startet ein Doppelklick auf die pfx-Datei; ein Assistent leitet durch den Vorgang.

Im Dienste von EFS Alternativ kann man bei Problemen auch einen so genannten Wiederherstellungsagenten (recovery agent) nutzen, um wieder an seine verschlüsselten Daten zu gelangen. Solch ein Agent ist im Prinzip ein spezielles, autorisiertes Benutzerkonto, das im Notfall die verschlüsselten Daten anderer Benutzer wiederherstellen kann. Agenten spielen zwar eher im Unternehmenseinsatz eine Rolle, können aber auch sehr praktisch sein, wenn sich mehrere Benutzer einen Rechner teilen.

Bei Windows 2000 ist der Administrator automatisch auch Wiederherstellungsagent, da sich bei diesem System ohne den Agenten EFS nicht nutzen lässt. Bei Windows XP muss man den Agenten erst manuell einrichten. Das nötige Zertifikat für einen Wiederherstellungsagenten stellt entweder das Active Directory aus (wenn ein Rechner zu einer Domäne gehört), oder man legt es mit dem Kommandozeilenbefehl cipher an.

Der Befehl cipher /R:dateiname (dateiname mit oder ohne Pfadangabe) erfordert Administratorrechte. Nach Eingabe eines Kennworts für das Wiederherstellungszertifikat schreibt cipher dieses in zwei Dateien. In der Datei mit der Endung "pfx" befindet sich wie im bereits beschriebenen Exportvorgang auch der private Schlüssel. Sie sollte man nach einer Sicherung von der Platte löschen. Die Datei mit der Endung "cer" enthält den öffentlichen Schlüssel.

Schlüsselexport

Beim Export seines Schlüssels sollte man unbedingt den privaten Schlüssel mitsichern. Melden Sie sich nun unter Windows XP mit dem Benutzerkonto an, welches Sie später für die Wiederherstellung benutzen wollen. Administratorrechte sind nicht nötig. Die mit cipher angelegte cer-Datei importieren Sie über das Sicherheitsrichtlinien-Snap-In. Man ruft es per Ausführen und der Eingabe secpol.msc auf. Im Zweig "Richtlinien öffentlicher Schlüssel/Dateisystem wird verschlüsselt" importiert man über die Funktion "Datenwiederherstellungs-Agenten hinzufügen" im Kontextmenü die cer-Datei.

Existiert ein Wiederherstellungsagent, speichert EFS den zur Verschlüsselung einer Datei benutzten File Encryption Key [1] mehrfach in der Datei: zum einem verschlüsselt mit dem öffentlichen Schlüssel des jeweiligen Benutzers, zum anderen verschlüsselt mit dem öffentlichen Schlüssel des Wiederherstellungsagenten. Der Agent hat also keinen Generalschlüssel, sondern eher einen Zweitschlüssel.

Zertifikate

Sein Zertifikat sollte man auf alle Fälle sichern. Es dient sozusagen als Zweitschlüssel, falls man sich einmal "aussperrt". Wenn der Notfall eingetreten ist und ein Benutzer seine Dateien nicht mehr entschlüsseln kann, meldet man sich mit dem Konto an, das man für die Wiederherstellung vorgesehen hat. Anschließend startet man per Doppelklick den Import der gesicherten pfx-Datei. Mit seinem privaten Schlüssel kann der Wiederherstellungsagent den mit seinem öffentlichen Schlüssel gesicherten File Encryption Key entschlüsseln, der wiederum zum Entschlüsseln der EFS-verschlüsselten Dateien dient. Dazu eignet sich beispielsweise auch der Kommandozeilenbefehl efsrecvr. Das Kommando

efsrecvr /s:"Eigene Dateien" *.*

entschlüsselt alle verschlüsselten Dateien aus dem Verzeichnis "Eigene Dateien" und legt sie im aktuellen Verzeichnis ab.

Tücken des Objekts Zwar funktioniert EFS im Allgemeinen recht problemlos, dennoch sollte man sich einiger Eigenheiten bewusst sein. So legt Windows Benutzerdaten in einem geschützten Bereich der Registry ab, der SAM-Datenbank (Security Account Manager). Um auf Nummer Sicher zu gehen, sollte man die lokale SAM-Datenbank mit dem Befehl syskey verschlüsseln. Den hierzu verwendeten Schlüssel generiert Windows automatisch. Man kann ihn durch ein Kennwort schützen oder auf einer Diskette ablegen. Beim Systemstart verlangt Windows dann entweder nach Passwort oder Diskette. Eine teure, aber bessere Alternative ist die Ablage der Zertifikate auf intelligenten Smartcards oder USB-Tokens. Gehört ein Rechner zu einer Domäne, liegen die Zertifikate auf dem Domänen-Controller und nicht in der lokalen SAM-Datenbank.

Gewöhnungsbedürftig ist auch folgendes Verhalten: Bei der Kennwortänderung am Konto des Wiederherstellungsagenten und dem dadurch ungültig gewordenen Schlüssel wird - wenn man nicht sofort den passenden Schlüssel importiert - bei dem ersten erneuten Verschlüsselungsvorgang ein neuer Schlüssel generiert. Dies führt unter Umständen dazu, dass man fortan zwei Zertifikate nutzen muss.

Gibt man einen EFS-Schlüssel an eine andere Person, in der Absicht, dieser Zugriff auf die verschlüsselten Daten zu gewähren, übersieht man leicht einen Punkt: Der so ausgestattete Benutzer kann zwar nun Ihre Dateien entschlüsseln, nicht aber mit Ihrem Schlüssel verschlüsseln; doch nach jedem Entschlüsselungsvorgang werden die Dateien neu verschlüsselt - allerdings jetzt mit dem Schlüssel des zweiten Benutzers. Sie verlieren also ohne Besitz des anderen Benutzerschlüssels die Möglichkeit, auf Ihre eigenen Daten zuzugreifen.

Viele Anwender überrascht, dass Windows EFS-verschlüsselte Dateien auf Datenträgern mit Dateisystemen wie FAT16/32 oder in Verzeichnisse auf NTFS-Partitionen für die EFS nicht aktiviert wurde, unverschlüsselt ablegt. Auch auf einer Diskette landen Dateien nach dem Kopieren unverschlüsselt. Der Transfer über ein Netzwerk erfolgt ebenfalls ohne EFS-Schutz. Um hierbei die Datensicherheit zu gewährleisten, muss man zusätzlich ein VPN einrichten, etwa PPTP oder IPSec. Windows sorgt nur innerhalb von EFS-geschützten Verzeichnissen für die Verschlüsselung. Gerne übersehen wird auch, dass EFS nicht vor dem Löschen von Dateien durch einen Administrator schützt.

Hat man einen Wiederherstellungsagenten angelegt, kann dieser nur Dateien entschlüsseln, die nach seiner Konfiguration verschlüsselt wurden. Nur sie enthalten wie beschrieben, zusätzlich den mit dem öffentlichen Schlüssel des Agenten verschlüsselten File Encryption Key.

Systemadministratoren, die den Einsatz des verschlüsselnden Dateisystems unterbinden wollen, können dies in der Registry einstellen. Dazu muss man im Zweig HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Efs den DWORD-Wert des Schlüssels EFSConfiguration auf 1 setzen. Um die Verschlüsselung eines Verzeichnisses zu verhindern, kann man die Datei DESKTOP.INI um folgenden Abschnitt ergänzen:

[Encryption] Disable=1

Unter Windows 2000 lässt sich EFS relativ leicht aushebeln [2]. Es genügt, die Zugangspasswörter zu ändern, etwa durch Starten von einer Diskette und einem Passwortänderungsprogramm (siehe auch c't 11/03, S. 210). Dies ist besonders für Notebook-Anwender problematisch, die die Daten auf ihrem Gerät bei Diebstahl bisher in Sicherheit wähnten. Bei Windows XP funktioniert dieser Angriff nicht.

Die russische Firma Elcomsoft bietet mit Advanced EFS Data Recovery [3] ein Programm an, welches sich die Schwäche von Windows 2000 zu Nutze macht. Es kann ohne privaten Schlüssel Dateien entschlüsseln, sein Einsatz hängt aber von einer ganzen Reihe von Nebenbedingungen ab (Demo-Version und eine Aufzählung der Einschränkungen siehe [4]). Die Dauer des eigentlichen Entschlüsselungsvorgangs hängt stark von der Passwortlänge ab. Passwörter sollten deshalb mindestens zehn Zeichen lang sein und mindestens ein Sonderzeichen enthalten.

Nach Starten mit einer DOS-Diskette und dem Tool NTFSDOS von WinInternals [1] kann man EFS-verschlüsselte Dateien von der Festplatte kopieren und im stillen Kämmerlein in aller Ruhe mit einem Brute-Force-Angriff versuchen, sie zu knacken. Im Microsoft Developer Network haben die Redmonder weitere Einschränkungen von EFS beschrieben, die teilweise recht theoretischer Natur sind [5].

Alternativen zu Microsofts EFS wurden bereits in [1] aufgezeigt. Das Werkzeug PGPDisk aus dem PGP-Paket wurde durch die Neugründung der PGP Corporation als wichtige Alternative wiederbelebt. Es ist mittlerweile auch unter Windows XP ohne Einschränkungen nutzbar. Durch Einsatz eines intelligenten USB-Token, wie ihn etwa die Firma Aladdin anbietet (www.aladdin.de), können sogar PGP-Schlüssel darauf sicherer abgelegt werden. Dadurch sind Trojaner-Attacken und Brute-Force-Angriffe auf den Schlüssel ohne USB-Token nahezu unmöglich. Andere neue Werkzeuge wie RSA Surefile, CyProtects Disk Encryption oder Strongdisk Pro mit polymorphen Verschlüsselungsverfahren müssen noch ihre Tauglichkeit im Alltag unter Beweis stellen. Für den gelegentlichen Einsatz kann bereits der Packer PKZip mit langem Passwort ausreichenden Schutz gewähren. Kostenlose Verschlüsselungswerkzeuge gibt es darüber hinaus in großer Menge. Erwähnt sei an dieser Stelle nur Dirk Pähls Dcrypto, das verschiedene Kryptoalgorithmen zur Verschlüsselung anbietet.

[1] Peter Dassow, Datei-Schlösser, Verzeichnis- und Dateiverschlüsselung unter Windows, c't 15/02, S. 202

[2] Andreas Marx, Dateiverschlüsselung von Windows 2000 unsicher, c't 23/02, S. 33

[3] Andreas Marx, Generalschlüssel, Datenretter für verschlüsselte Dateien, c't 9/03, S. 76

[4] Demoversion [2] des "Advanced EFS Data Recovery"

[5] The Windows Server 2003 Family Encrypting File System, MSDN [3] (adb [4])


URL dieses Artikels:
https://www.heise.de/-270184

Links in diesem Artikel:
[1] http://www.wininternals.com
[2] http://www.elcomsoft.com/aefsdr.html
[3] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsecure/html/WinNETSrvr-EncryptedFileSystem.asp
[4] mailto:adb@ct.de