Symmetrische Verschlüsselung

Um das Ausspionieren der versendeten Daten durch eine dritte Partei zu verhindern, werden im Allgemeinen kryptographische Verfahren angewendet. Bei der symmetrischen Verschlüsselung werden die Daten mittels eines geheimen Schlüssels ver- bzw. entschlüsselt. Der Schlüssel muß dabei sowohl Sender und Empfänger bekannt sein und zu diesem Zweck vorher persönlich ausgetauscht werden. Die folgende Abbildung zeit die generelle Vorgehensweise:

Beispiele für bekannte symmetrischer Verschlüsselungsalgorithmen sind der Data Encryption Standard (DES), welcher mit einer Schlüssellänge von 56 Bit arbeitet, sowie der International Data Encryption Algorithm (IDEA), welcher mit einer Schlüssellänge von 128 Bit deutlich sicherer als DES ist. Triple-DES, oder verkürzt 3DES, ist eine Weiterentwicklung des Data Encryption Standard (DES).
3DES hingegen arbeitet mit drei Verschlüsselungsläufen und zwei od. drei Schlüsseln und garantiert eine Schlüssellänge von min. 112 Bit.
Die wohl wichtigste Neuerung, die mit Windows 2000 eingeführt wurde, ist auf einer Kombination eines symmetrischen Verschlüsselungsalgorithmus (DESX mit 128 Bit oder 3DES mit 168 Bit) und einem Public-Key-Verfahren (RSA mit 1024 Bit) auf der Basis von öffentlichen und privaten Schlüsseln.

Der generelle Nachteil dieses Algorithmus ist der direkte Austausch der geheimen Schlüssel, was seine Anwendung in einer Kunde-Händler Beziehung erschwert. Der Vorteil besteht in der relativ geringen benötigten Rechenleistung.

Verschlüsselung
EFS steht nach einer Standardinstallation des Betriebssystems automatisch zur Verfügung. Auch Schlüsselgenerierung und Verwaltung ist so im Betriebssystem integriert, daß der Benutzer im Normalfall nichts davon mitbekommt. Dabei wird bei der erstmaligen Verwendung von EFS durch den Benutzer für diesen ein Schlüsselpaar, bestehend aus einem öffentlichem und einem privatem Schlüssel generiert und anschließend seinem Benutzerkonto hinzugefügt. Dieses Schlüsselpaar wird normalerweise auf der Festplatte gesichert.

Um eine Datei zu verschlüsseln, wählt man es im Windows-Explorer aus und aktiviert im Kontextmenü den Punkt "Eigenschaften". Darauf erscheint das Fenster "Eigenschaften", in dem man jetzt auf die Schaltfläche "Erweitert" klickt. In dem daraufhin erscheinenden Fenster "Erweiterte Attribute" wird der Menüpunkt "Inhalt verschlüsseln, um Daten zu schützen" aktiviert.

EFS aktivieren

Es wird nun auf dem selben Laufwerk wie die zu verschlüsselnde Datei im Verzeichnis System Volume Information eine Log-Datei mit dem Namen Efs0.log angelegt. Dann wird über die geöffnete CryptoAPI eine Zufallszahl erzeugt, die als File Encryption Key (FEK) bezeichnet wird. Mit Hilfe des so ermittelten Schlüssels wird die Datei danach unter Verwendung einer stärkeren Variante des Data Encryption Standards (DES), von Microsoft mit DESX bezeichnet, verschlüsselt.

Eine weitere Verbesserung der Sicherheit kann unter Windows XP durch die Aktivierung des stärkeren Triple-DES-Algorithmus (3DES) erreicht werden. Allerdings muß 3DES über die lokale Sicherheitsrichtlinie erst aktiviert werden. Um zu überprüfen, ob 3DES verwendet wird, kann man in der Registry unter dem Schlüssel HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\FipsAlgorithmPolicy nachsehen. Dort müsste bei Verwendung von 3DES der Wert 1 stehen. Falls nicht vorhanden, überprüft EFS den Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EFS\AlgorithmID. Der Wert beträgt bei Verwendung von 3DES CALG_3DES, oder bei DESX CALG_DESX.

Der FEK wird nun mit dem öffentlichen Schlüssel des Nutzers sowie dem öffentlichen Schlüssel mindestens eines sog. Wiederherstellungsagenten über den RSA-Public-Key-Algorithmus verschlüsselt und die resultierenden Zeichenfolgen zusammen mit der Datei in speziellen Feldern, dem Data Decryption Field (DDF) bzw. dem Data Recovery Field (DRF) gespeichert.
Nun wird im selben Verzeichnis wie die zu verschlüsselnde Datei eine temporäre Datei mit dem Namen Efs0.tmp angelegt, in die der Inhalt der originalen Datei (Klartext) hineinkopiert wird. Danach wird die Original-Datei verschlüsselt und die temporäre Datei Efs0.tmp sowie die Log-Datei Efs0.log werden gelöscht.

Entschlüsselung
Bei der Entschlüsselung der Daten wird zunächst geprüft, ob der aktuelle Nutzer Zugriffsrechte auf die Datei und den zur Entschlüsselung notwendigen privaten Schlüssel besitzt. Ist dies nicht der Fall, so wird der Zugriff auf die Datei verweigert. Ansonsten wird der FEK durch Entschlüsselung des zusammen mit der Datei gespeicherten verschlüsselten FEKs mit Hilfe des privaten Schlüssels des Nutzers wiedergewonnen und anschließend für die Entschlüsselung der eigentlichen Nutzdaten mittels DESX oder 3DES verwendet.
Der Einsatz eines Wiederherstellungsagenten ermöglicht es, bei Verlust oder Beschädigung des Schlüsselpaares eines Nutzers trotzdem auf die von ihm verschlüsselten Daten zuzugreifen, welche ansonsten unwiederbringlich verloren wären. Standardmäßig übt der lokale bzw. Domänenadministrator die Rolle des Wiederherstellungsagenten aus.

Einschränkungen
Der Einsatz von EFS unterliegt gewissen Beschränkungen, derer man sich bewusst sein sollte.

  • Hat ein unbefugter Nutzer Zugriff auf ein verschlüsseltes Verzeichnis, kann er zwar die darin enthaltenen Daten nicht entschlüsseln, aber sehr wohl sehen, um welche Daten es sich dabei handelt. Der Zugriff auf ein verschlüsseltes Verzeichnis bleibt beim Einsatz von EFS vollkommen unberührt.

  • Antivirenprogramme haben bei verschlüsselten Dateien im Normalfall keinen Zugriff auf den eigentlichen Dateiinhalt und können diesen daher auch nicht auf einen möglichen Virenbefall überprüfen. Als Lösung bietet sich die Schaffung eines gesonderten Benutzers an, der als zusätzlicher Wiederherstellungsagent fungiert und dessen einzige Aufgabe die Durchführung von Virenscans ist. In ähnlicher Weise sollte verfahren werden, falls ein Backup-Programm genutzt wird, das die Daten nicht direkt unter Erhaltung der EFS-Verschlüsselung sichern kann. Derzeit unterstützt nur Microsoft Backup diese Funktionalität.

  • Mit EFS ist es nicht möglich, komprimierte Daten oder Systemdaten zu verschlüsseln. Diese Eigenschaft gewährleistet u.a. einen fehlerfreien Systemstart, da EFS zu diesem Zeitpunkt noch nicht aktiv ist.

  • Zu beachten ist weiterhin, daß temporäre Dateien, die möglicherweise bei der Bearbeitung eines verschlüsselten Dokumentes entstehen, nur dann verschlüsselt werden, wenn diese in einem verschlüsselten Ordner liegen. Es bietet sich daher an, einen zentralen Ordner für solchen temporären Dateien zu erstellen und für diesen das Attribut zur Verschlüsselung zu aktivieren.

  • Werden temporäre Dateien programmbedingt im selben Ordner wie die zu bearbeitende verschlüsselte Datei erstellt, wie dies z.B. bei Microsoft Word der Fall ist, so kann eine Verschlüsselung derselben nur durch die Aktivierung von EFS für den gesamten Ordner erreicht werden. Diese Vorgehensweise empfiehlt sich generell, da bei der nachträglichen Verschlüsselung einer einzelnen Datei Teile derselben innerhalb des Dateisystems erhalten bleiben können, da die zur Speicherung genutzten Sektoren auf der Festplatte beim Löschen der Ausgangsdatei nicht überschrieben werden.

  • Um Datenverlust durch einen möglichen Systemabsturz während eines laufenden Verschlüsselungsvorgangs zu vermeiden, wird beim Verschlüsseln einer einzelnen Datei immer eine unverschlüsselte Kopie erstellt, die erst nach der erfolgreichen Verschlüsselung gelöscht, jedoch ebenfalls nicht überschrieben wird. Mit dem von Microsoft ab Service Pack 1 für Windows 2000 bereitgestellten Programm CIPHER ist ein manuelles Überschreiben der als gelöscht markierten Sektoren möglich.

  • 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.

  • Bei einer 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, daß man fortan zwei Zertifikate nutzen muß.

  • Mit EFS verschlüsselte Daten werden zudem automatisch entschlüsselt, wenn diese auf ein Dateisystem übertragen werden, das keine Verschlüsselung unterstützt. Allerdings nur, wenn man sich als rechtmäßiger Benutzer der verschlüsselten Daten angemeldet hat. Ansonsten ist ein kopieren verschlüsselter Daten unmöglich. Beim Kopieren auf Netzwerklaufwerke werden die Daten grundsätzlich unverschlüsselt im Netzwerk übertragen und auf der Gegenseite erneut verschlüsselt, sofern das dort verwendete Dateisystem ebenfalls NTFS ist und die Verschlüsselung auf dem betroffenen System nicht deaktiviert wurde. Die Abhörsicherheit bei der Übertragung sensitiver Daten innerhalb des Netzwerks muß somit gegebenenfalls durch zusätzliche Maßnahmen gewährleistet werden.

Empfehlungen
Sobald Daten mit EFS verschlüsselt werden, sollte unbedingt der private Schlüssel auf Diskette oder CDROM gesichert werden, da sonst bei einer Beschädigung bzw. Neuinstallation von Windows nicht mehr auf die verschlüsselten Daten zugegriffen werden kann - selbst wenn man ursprünglich der rechtmäßige Benutzer war! 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 der Festplatte vorhanden, die Windows bekannten Schlüssel sind aber unvollständig oder passen nicht. Ändert der Benutzer selbst sein Passwort, besteht übrigends keine Gefahr. Dann entschützt Windows die Schlüssel mit dem alten Passwort, ehe es sie mit dem neuen verschlüsselt ablegt.

Nachdem man den privaten Schlüssel auf ein anderes Medium exportiert hat, sollte man dieses an einem sicheren Ort aufbewahren. Wenn eine andere Person Zugriff auf diesen privaten EFS-Schlüssel erlangt, kann sie auch Zugriff auf die verschlüsselten Daten erlangen!

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.

Um einen bestmöglichen Schutz der Daten zu gewährleisten, sollte unter Windows 2000 und XP unbedingt das NTFS-Dateisystem auf sämtlichen Laufwerken eingesetzt werden. Weiterhin sollten Zugriffsrechte für die einzelnen Nutzer so gewährt werden, daß diese bei ihrem täglichen Umgang mit Daten zwar keinerlei Einschränkungen in Kauf nehmen müssen, jedoch ebenfalls keine nicht benötigten Zugriffsprivilegien besitzen.

Bei der Verwendung von EFS können eine Reihe von Sicherheitsrisiken auftreten. Insbesondere besteht hierbei die Gefahr, seine Daten allein durch den bloßen Einsatz der Dateiverschlüsselung mittels EFS in vollkommener Sicherheit zu wähnen. Ohne eine Reihe von zusätzlichen Maßnahmen ist dies jedoch keineswegs der Fall.

Besonders problematisch ist die Verwendung von EFS auf standalone Systemen, zu welchen ein potentieller Angreifer womöglich auch noch ungehinderten physischen Zugriff hat. So kann es dem Angreifer z.B. möglich sein, Zugang zum System als lokaler Administrator zu erlangen. Da dieser, wie bereits erwähnt, standardmäßig als Wiederherstellungsagent für alle lokalen Benutzer fungiert, hat der Angreifer somit Zugriff zu allen auf dem System von den einzelnen Nutzern verschlüsselt oder unverschlüsselt gespeicherten Daten.

Zwar funktioniert EFS im Allgemeinen recht problemlos, dennoch sollte man sich einiger Eigenheiten bewusst sein. So legt Windows Benutzerdaten in einem geschützen 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 speichern. Beim Systemstart verlangt Windows dann entweder nach Passwort oder Diskette.

Systemadministratoren, die den Einsatz des verschlüsselnden Dateisystems unterbinden wollen, können dies in der Registry einstellen. Dazu muß 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