kire.ch Datenschutz
Encrypting File System EFS - Eine praktische Anleitung

Das mit Windows 2000 und XP mitgelieferte Encrypting File System verschlüsselt Informationen auf Dateiebene und bietet somit Schutz gegen physikalische Angriffsversuche, wie Festplatte in einen anderen Computer einbauen oder zweites Betriebssystem installieren und Filesystem auslesen, Administrator- oder User-Passwort zurücksetzen etc.. Es arbeitet dabei weitgehend transparent im Hintergrund, d. h. bei Zugriff wird eine Datei ent- beim Zurückspeichern automatisch wieder verschlüsselt. Allerdings gibt es einig Dinge zu beachten, wenn der gewünschte Schutz auch wirklich greifen soll.

Da es im Internet verschiedene ausführliche Texte zur Arbeitsweise gibt, werde ich mich auf eine kurze Einführung und die ausführlichere praktische Anleitung zum Einrichten von EFS beschränken.

Mit dem Artikel möchte ich (auch als Microsoft kritische Person) den Einsatz von EFS nicht uneingeschränkt empfehlen (siehe auch Bemerkungen). Da es mit Windows 2000 und XP gratis mitgeliefert wird und mir die grobe Architektur vielversprechend klang, habe ich mich eingehend mit EFS auseinander gesetzt. Das Einrichten hat sich dabei als nicht ganz einfach herausgestellt, daher möchte ich auch gerne meine Erfahrungen teilen und mit Computern und Verschlüsselung weniger versierten Personen ein Anleitung liefern. Fragen, Anregungen, Kritik nehme ich gerne entgegen.

Die Anleitung wurde mit grosser Sorgfalt und bestem Wissen und Gewissen zusammengestellt. Dennoch kann für allfällige Schäden aus der Benutzung keine Haftung übernommen werden. Die Verwendung geschieht auf eigene Gefahr!

Tipp zum Ausdrucken: Die Ausgabe muss wegen den Grafiken im Querformat erfolgen. Mit zwei Seiten pro Blatt kann Papier gespart werden...


Kurze Einführung

Wie bereits erwähnt verschlüsselt EFS transparent auf Datei-Ebene. Es wendet dabei z. Z. DESX (Data Encryption Standard eXtended, 128 Bit) und das Public-Private-Key Verfahren an. Das bedeutet, jedes Schlüssel-Paar besteht aus einem öffentlichen und einem privaten Teil. Informationen, welche mit dem Public-Key verschlüsselt worden sind, können nur mit dem Private-Key wieder entschlüsselt werden - und umgekehrt. Wird das erste mal auf einem Computer ein Verzeichnis oder eine Datei verschlüsselt, wird für den ausführenden User und für den Benutzer "Administrator" automatisch je ein Schlüssel-Paar angelegt. Auf die verschlüsselten Informationen können anschliessend nur noch diese beiden User zugreifen. Letzterer wird auch Recovery Agent genannt, und kann verwendet werden, sollte auf den Schlüssel des Users (aus welchen Gründen auch immer) nicht mehr zugegriffen werden können. Der private Schlüssel des Recovery Agents kann daher auch exportiert und auf einem anderen Computer oder unter einem anderen Benutzer bei Bedarf wieder eingelesen werden. Ein zweiter User auf demselben Computer erhält beim erstmaligen Verschlüsseln ein eigenes Schlüssel-Paar, der Recovery Agent bleibt jedoch der Gleiche. Obwohl es von der Architektur her möglich wäre, ist es unter Windows 2000 grundsätzlich noch nicht möglich, dass die beiden User sich verschlüsselte Dateien teilen können.

Es können nur Files verschlüsselt werden, welche sich auf mit NTFS 5.0 (ab Windows 2000) formatierten Partitionen befinden. Wird eine Datei z. B. auf eine Diskette verschoben (FAT), werden die Informationen dort für alle lesbar abgelegt. Beim Erstellen oder Kopieren einer Datei übernimmt diese die Einstellungen "seines" Verzeichnisses; beim Verschieben innerhalb der gleichen Partition nimmt sie "ihre" Einstellungen mit. Aber: wird ein verschlüsseltes File in ein unverschlüsseltes Verzeichnis kopiert, wird dieses verschlüsselt gespeichert.

Beim Umgang mit EFS gibt es einige Unterschiede (gerade im Bereich Recovery Agent und Syskey), sollte der PC in eine Active Directory Domäne eingebundenen sein. Dies dürfte bei einem Privat-PC aber kaum der Fall sein. Ansonsten sei auf die hier aufgeführten Links zu weiterführenden Texten verwiesen.

Die mir bekannten Artikel sind leider nur auf englisch abrufbar (da der recht gute Text aus c´t 15/2002 leider online nicht verfügbar ist) und ziemlich technisch aber auch ausführlich:

Microsoft White Paper - Encrypting File System for Windows 2000
Microsoft Windows 2000 Server Resource Kit - Distributed Systems Guide - Chapter 15 - Encrypting File System
Windows & .NET Magazine - Inside Encrypting File System - Part 1
Windows & .NET Magazine - Inside Encrypting File System - Part 2


Hier nun also die Schritt-für-Schritt-Anleitung für Windows 2000 (XP siehe weiter unten):

Die ersten beiden Punkte gehören nur indirekt zur Einführung von EFS. Bei einem tiefergehenden Eingriff sollten aber gewisse Vorsichtsmassnahmen selbstverständlich sein und daher unbedingt getroffen werden!

  1. Notfalldiskette erstellen

    Diese enthält die Informationen der Registrierungs-Datenbank (inkl. Benutzerdaten etc.).

    [Start], [Ausführen], "ntbackup", [OK], Allfällige Fehlermeldung von wegen Wechselmediendienst etc. kann mit [OK] beantwortet werden, [Notfalldiskette], [Wiederherstellungsverzeichnis sichern] auswählen, leere Diskette einlegen, [OK], [OK]

  2. Backup erstellen

    Möglichst das gesamte Systeme sollte gesichert und der Datenträger zusammen mit vorhin erstellter Diskette an einem sicheren und vor Zugriff geschützten Ort aufbewahren werden.

  3. Windows 2000 Service Pack 2 (oder höher) installieren.

    Damit eine Verschlüsselung mit 128-Bit möglich ist, muss mindestens SP 2 installiert sein.

  4. Syskey aktualisieren

    Mit dem Systemschlüssel Syskey werden u. a. die EFS-Schlüssel selber auf der Festplatte verschlüsselt. Wird also Syskey nicht im Modus 2 (Diskette) oder 3 (Kennwort) ausgeführt, bleibt die Festplatte trotz Dateiverschlüsselung angreifbar!

    [Start], [Ausführen], "syskey", [OK], [Aktualisieren], [Kennwort für den Systemstart], möglichst kompliziertes Passwort (mit Zahlen, 16 Stellen und allenfalls Sonderzeichen) eingeben, [OK]

    Bei der Verwendung von Sonderzeichen darauf achten, dass beim Systemstart, wenn das Kennwort eingegeben werden muss, noch der US-amerikanische Tastaturtreiber geladen sein könnte...

  5. Gewünschte Verzeichnisse verschlüsseln

    Es dürfen dabei keine Dateien verschlüsselt werden, die Windows z. B. zum Starten benötigt, da nach der Einrichtung von EFS gemäss dieser Anleitung nur noch der verschlüsselnde und angemeldete User auf die Dateien zugreifen kann!

    Damit die Angelegenheit nicht unübersichtlich wird, darf (sollte) nicht der User "Administrator", seines Zeichens Recovery Agent, angemeldet sein.

    Rechte Maustaste, [Eigenschaften], [Allgemein], [Erweitert], [Inhalt verschlüsseln, um Daten zu schützen] auswählen, [OK], [Änderungen für diesen Ordner, Unterordner und Dateien übernehmen] auswählen, [OK]

    - Datenverzeichnisse
    - c:\dokumente und einstellungen\[user]\eigene dateien
    - c:\dokumente und einstellungen\[user]\lokale einstellungen\temp
    - Verzeichnisse der E-Mails
    - etc.

  6. Spoolfiles-Verzeichnis verschlüsseln

    Das Verzeichnis kann leider nicht an seinem Ursprungsort verschlüsselt werden. Damit nicht auf die letzten (bereits gelöschten) Druckausgabedateien zugegriffen werden kann, muss dieses also verlagert und dann geschützt werden.

    [Start], [Einstellungen], [Drucker], [Datei], [Servereigenschaften], [Erweiterte Optionen], neues Verzeichnis für Spoolordner angeben (z. B. "c:\daten\spool"), [OK], nun muss dieses erstellt und gemäss 5. verschlüsselt werden

  7. TEMP-Verzeichnis verschlüsseln

    Auch das TEMP-Verzeichnis in c:\winnt kann nicht verschlüsselt und muss daher zuerst verlagert werden.

    Rechte Maustaste auf [Arbeitsplatz], [Erweitert], [Umgebungsvariablen], bei den Benutzervariablen TMP und TEMP [Varibalen-Name] bearbeiten oder hinzufügen und ein neues Verzeichnis bei [Wert] eintragen (z. B. d:\daten\temp) und speichern, nun muss auch dieses noch erstellt und gemäss 5. verschlüsselt werden

  8. Privater-Schlüssel des Recovery Agents exportieren

    Damit das System nicht durch Löschen der Benutzer-Datenbank angreifbar wird, muss der private Schlüssel des Recovery Agents exportiert und gelöscht werden. Da standardmässig der User "Administrator" Recovery Agent ist, muss dafür auch dieser angemeldet sein.

    [Start], [Ausführen], "secpol.msc", [OK], Doppelklick auf [Richtlinien öffentlicher Schlüssel], [Agenten für Wie...], [Administrator], [Vorgang], [Alle Tasks], [Exportieren], [Weiter], [Ja, privaten Schlüssel exportieren], [Weiter], [Privaten Schlüssel nach erfolgreichem Export löschen], [Weiter], kompliziertes Passwort eingeben, "a:\recovery.pfx", Diskette einlegen, [Weiter], [Fertig stellen]

    (siehe auch Hinweise zum Recovery Agent weiter unten)

  9. Eine neue ERD-Diskette erstellen (und alte Verson von der Platte entfernen)

    Damit der Schutz nicht mit Hilfe der ERD-Informationen ausgehebelt werden kann, müssen alle Dateien im Verzeichnis c:\winnt\repair ausser autoexec.net, config.net und setup.log gelöscht und eine neue Diskette gemäss 1. erstellt werden.


Zusätzliche Punkte, die beachtet werden sollten:

  1. Temporäre Dateien überschreiben

    Beim nachträglichen Verschlüsseln eines Verzeichnisses mit bereits vorhandenen Dateien werden temporär unverschlüsselte File-Versionen angelegt. Daher müssen nun einige grosse Dateien auf die Fesplatte kopiert werden (Im Idealfall die Harddisk komplett füllen), welche die unverschlüsselten, aber gelöschten Versionen endgültig überschreiben. Die kopierten Files können anschliessend natürlich wieder gelöscht werden...

  2. Backup testen (ob verschlüsselt auf Band und Recovery möglich)

    Nun sollte auf jeden Fall erneut ein (Full-) Backup des PCs gemacht und geprüft werden, ob die Daten wiederherstellbar sind, dabei aber auch verschlüsselt auf den Datenträger gesichert wurden: Nach einem Restore unter Verwendung des Users "Administrator", sollte dieser auf die wiederhergestellten Daten nicht, der User, welche die Files ursprünglich verschlüsselt hatte, jedoch schon zugreifen dürfen.

    Meine Erfahrung mit NTBACKUP: Die verschlüsselten Dateien werden so gesichert und auch wiederhergestellt.

    ARCserve: Verschlüsselte Dateien kommen mit gesetztem Verschlüsselungs-Attribut zurück, auch wenn im Restore-Job nicht so angegeben. Wiederherstellung auf eine Partition, die mit FAT formatiert wurde, ist nicht möglich, da keine verschlüsselte Daten geschrieben werden können. Die Daten werden genau so verschlüsselt gerestort, wie sie auf Band geschrieben wurden. Bei einigen Dateien kommt es hin und wieder zum Fehler "E3547 Unable to write encrypted data EC=1917". Werden dies dann nochmals wiederhergestellt, funktioniert es plötzlich.

    Tapeware: Es muss mindestens die Version 6.30 verwendet werden. Die verschlüsselten Dateien werden so gesichert und auch wiederhergestellt. Bei einer Installation (von zweien) war es nicht möglich, nach dem Importieren des Datenträgers aus dem Katalog verschlüsselte Dateien zum Restore auszuwählen.

Die nächsten drei Punkte verhindern, dass nicht auf Daten zugegriffen werden kann, die vom Betriebssystem unverschlüsselt aus dem Hauptspeicher auf die Festplatte geschrieben werden.

  1. Drwtsn32 Speicherabbilder verhindern

    [Start], [Ausführen], "drwtsn32", [Datei für Absturzspeicherabbild erstellen] darf nicht gewählt sein, [OK]

    Anschliessend "C:\Dokumente und Einstellungen\All Users\Dokumente\DrWatson\user.dmp" löschen.

  2. Schreiben von Debuginformationen verhindern

    Rechte Maustaste auf [Arbeitsplatz], [Eigenschaften], [Erweitert], [Starten und Wiederherstellen], [Debuginformationen speichchern: (keine)], [OK]

    Anschliessend "c:\winnt\memory.dmp" und Dateien in "c:\winnt\minidump" löschen.

  3. Automatische Löschung des virtuellen Arbeitsspeichers beim Herunterfahren einschalten und Zwischenspeichern von Anmeldungen ausschalten

    [Start], [Ausführen], "secpol.msc", [OK], Doppelklick auf [Lokale Richtlinien], [Sicherheitsoptionen], Doppelklick auf [Anzahl zwischenzuspeichernder vorheriger Anmeldungen], "0", [OK], Doppelklick auf [Auslagerungsdatei des virtuellen Arbeitsspeichers beim Herunterfahren des Systems löschen], [Aktivieren], [OK]

  4. Protected Store neu verschlüsseln

    Allfällig Informationen im Protected Store, die bereits vor der Installation von Service Pack 2 vorhanden waren, müssen mit längerem Schlüssel neu verschlüsseln werden.

    Programm keymigrt.exe (untersteht nicht der Creative Commons Lizenz) nach c:\winnt\system32 runterladen. Oder (aus Sicherheitsgründen besser) von Microsoft-Homepage Security Update Q260219 besorgen, welches das Programm enthält; nicht installieren, aber Datei mit Parameter "-x" (Files entpacken) ausführen.

    [Start], [Ausführen], "cmd", "keymigrt -v"


Windows XP

EFS steht bei der Home Edition von Windows XP nicht zur Verfügung.

Es müssen die Punkte 3 und 15 nicht ausgeführt werden. Alle anderen "sinngemäss". Da ich selber kein Windows XP im Einsatz habe, weiss ich nicht, ob alle Menüs etc. noch gleich heissen und sich an den selben Orten befinden...

Unter Windows XP sollte noch 3DES (168 Bit) eingeschaltet werden (sonst wird wie bei Windows 2000 mit "nur" DESX verschlüsselt):

[Start], [Ausführen], "secpol.msc", [OK], Doppelklick auf [Lokale Richtlinien], [Sicherheitsoptionen], Doppelklick auf (sinngemäss deutsch) [System cryptography: Use FIPS compliant algorithms for encryption], [Aktivieren], [OK]

Der Recovery Agent wird von Windows XP nicht mehr automatisch hinzugefügt. Zuerst muss das Schlüsselpaar generiert werden (mit User "Administrator" anmelden):

[Start], [Ausführen], "cmd", Diskette einlegen, "a:", "cypher /r:recovery", kompliziertes Passwort eingeben und bestätigen

Die Datei recovery.pfx entspricht dem Recovery Agent analog 8., das Zertifikat muss nun noch hinzugefügt werden:

[Start], [Ausführen], "secpol.msc", [OK], Doppelklick auf [Richtlinien öffentlicher Schlüssel], rechte Maustaste auf [Agenten für Wieder...], [Hinzufügen], [Weiter], [Ordner durchsuchen], "recovery" in Laufwerk a: auswählen, [Öffnen], [Weiter], [Fertigstellen]


Recovery Agent

Muss der Schlüssel des Recovery Agents wieder installiert werden, sollte dies auf dem ursprünglichen Computer unter dem User Administrator, auf einem fremden PC aber unter einem speziell eingerichteten Account gemacht werden, da die einzelnen Schlüssel sonst leicht verwechselt werden können.

Rechte Maustaste auf Datei [recovery.pfx], [PFX installieren], [Weiter], [Weiter], Passwort eingeben, [Privaten Schlüssel als exportierbar markieren] auswählen, [Weiter], [Alle Zertifikate in folgendem Speicher speichern], [Durchsuchen], [Eigene Zertifikate], [OK], [Weiter], [Fertig stellen], [OK]

Wird eine Datei mit diesem Schlüssel geöffnet, verschlüsselt der neue Recovery Agent (wenn nicht der ursprüngliche Administrator) das File mit seinem eigenen Haupt-Schlüssel automatisch neu. D. h. der ursprüngliche User kann die Datei anschliessend nicht mehr öffnen. Es sei denn, er ist gleichzeitig Recovery Agent seines Recovery Agents - oder wie oder was...

Nach Gebrauch sollte der Schlüssel unbedingt wieder exportiert und gelöscht werden. Ein Export gemäss 8. kann nur funktionieren, wenn das Zertifikat des Recovery Agents unter dem ursprünglichen Administrator wieder importiert wurde; dies scheint aber auch nicht immer zu klappen. Daher:

[Start], [Einstellungen], [Systemsteuerung], [Benutzer und Kennwörter], [Erweiter], [Zertifikate], richtiges(!) Zertifikat für Dateiwiederherstellung auswählen, [Exportieren], [Weiter], [Ja, privaten Schlüssel exportieren], [Weiter], [Privaten Schlüssel nach erfolgreichem Export löschen], [Weiter], kompliziertes Passwort eingeben, "c:\recovery.pfx", [Weiter], [Fertig stellen]

Anschliessend kann die Datei "c:\recovery.pfx" gelöscht und die Festplatte sollte sicherheitshalber gemäss Punkt 10. gefüllt werden.


Bemerkungen

An verschiedenen Orten der Festplatte werden (temporär) automatisch Dateien angelegt, die hin- und wieder gelöscht werden sollten. Dazu gehört der Papierkorb, aber z. B. auch die Caches der Webbrowser.

Verschiedene Installationsroutinen verwenden das gemäss Punkt 7 verschlüsselte TEMP-Verzeichnis, um Dateien zu entpacken. Werden diese anschliessend an die gewünschten Orte kopiert, bleiben sie verschlüsselt. Wenn es sich dabei z. B. um einen Treiber handelt, kann dieser während dem Booten des Computers nicht geladen werden, da der User "System" nicht darauf zugreifen kann. Das kann unangenehme Folgen haben! Mit dem Befehl "cipher" kann dies jedoch relativ einfach geprüft werden:

[Start], [Ausführen], "cmd", "cipher /s:c:\winnt >c:\cipher.txt", "notepad c:\cipher.txt", [Bearbeiten], [Suchen], "E " (Leerzeichen beachten!), [Gross-/Kleinschreibung], [Weitersuchen], allenfalls [Weitersuchen] bis zum Ende der Datei wiederholen

Alle verschlüsselten Files in der ganzen Verzeichnis-Struktur können aber auch (gleich ungesehen) entschlüsselt werden:

[Start], [Ausführen], "cmd", "cipher /s:c:\winnt /d /a"

Das Verhalten der hoffentlich vorhandenen Antiviren-Software sollte geprüft werden. Ein Zugriffsschild wird noch immer einwandfrei funktionieren. Ein Service, der im Hintergrund die Festplatte automatisch nach Viren absucht und unter einem User-Kontext läuft, welcher auf die verschlüsselten Dateien nicht mehr zugreifen darf, wird vom Betriebssystem natürlich abgewiesen werden...

Zu beachten ist auch, dass Dateinamen von verschlüsselten Files für alle sichtbar bleiben. Diese sollten also mit bedacht gewählt werden. Auch können andere User, verschlüsselte Dateien weiterhin löschen, falls sie über genügend Rechte verfügen.

Und zu guter Letzt: Da der Quellcode von EFS, dem Crypto-API etc. von Microsoft nicht veröffentlicht ist, kann nicht mit Bestimmtheit gesagt werden, dass es nicht doch eine Hintertür für die NSA oder ähnliche Institutionen gibt. Allerdings hat gerade auch die Diskussion um den NSAKey gezeigt, dass speziell die National Security Agency noch erheblich mehr Möglichkeiten besitzt, an gewünschte Informationen zu gelangen.

Der Vorteil der Transparenz während der täglichen Arbeit und die Möglichkeit, beliebige Verzeichnisse auch nachträglich an ihrem Urspurngsort(!) verschlüsseln zu können, hat für mich aber schlussendlich den Ausschlag gegeben, EFS einzusetzen. Bestimmt werde ich mir aber zukünftig auch noch andere Produkte genauer ansehen.

zurück
Copyright © 1997, 2010 some rights reserved - letztmals geändert am 31. Mai 2009 von Kire.