Sperrgebiet

Wichtige Daten auf einem USB-Stick gehören verschlüsselt. Mit der Software SecurStick klappt es ohne Administratorrechte .

In Pocket speichern vorlesen Druckansicht
Lesezeit: 10 Min.
Von
  • Matthias Withopf
  • Andreas Beier
Inhaltsverzeichnis

Wichtige Daten auf einem USB-Stick gehören verschlüsselt. Das gelingt derzeit nur unter idealen Voraussetzungen ohne Administratorrechte auf den beteiligten PCs. Mit der Software SecurStick klappt es immer und überall.

USB-Sticks sind flüchtig. Verschlüsselung schützt die enthaltenen Daten immerhin vor den Blicken etwaiger Stick-Finder. Die gängigen Lösungen dazu (siehe Kasten) haben aber nahezu alle den Nachteil, dass man Herr über den jeweiligen PC sein muss – sprich man braucht Administratorrechte. Am Arbeitsplatz oder im Seminarraum hat man die aber selten.

Die im Folgenden vorgestellte Software SecurStick löst dieses Problem und funktioniert deshalb auch dort, wo man mit eingeschränkten Rechten arbeiten muss. Der Trick, den das Programm anwendet, ist recht einfach: Es integriert einen kleinen, nur lokal erreichbaren Server, der den geschützten Inhalt eines USB-Sticks als ein Netzwerklaufwerk automatisch einbindet.

Der Server-Teil von SecurStick benutzt das WebDAV-Protokoll (Web-based Distributed Authoring and Versioning), das eine um Methoden zur Dateiverwaltung erweiterte Version des bewährten Internet-Protokolls HTTP ist. Alle gängigen Betriebssysteme können auf WebDAV-Freigaben zugreifen, entsprechend ist SecurStick für Linux, Mac OS und Windows zu haben. Manche WebDAV-Clients cachen Inhalte allerdings sehr agressiv, daher sollte man SecurStick möglichst nicht in offenen Umgebungen wie Internet-Cafes einsetzen. Weitere Hinweise zur Nutzung, etwa zum Löschen des Caches, führt die FAQ auf der SecurStick-Homepage auf.

Der zweite Teil der Software kümmert sich darum, die Daten auf dem Stick zu ver- und entschlüsseln, das dafür nötige Passwort abzufragen und die Dateien im jeweiligen Betriebssystem für die Anwendungen transparent einzublenden, sprich als Netzwerklaufwerk einzubinden – das gelingt je nach Betriebssystemalter unterschiedlich gut.

Windows 98 etwa kann WebDAV-Ordner zwar anzeigen, aber nicht als Laufwerk ansprechen – das heißt, im schlimmsten Fall muss man die Verbindung zum WebDAV-Server von Hand herstellen und die Dateien zunächst auf die lokale Platte kopieren (und damit entschlüsseln). Im Normalfall gelingt das Einbinden als lokales Laufwerk vollkommen automatisch.

Für die Inbetriebnahme brauchen Sie SecurStick nicht zu installieren. Packen Sie die Programmdatei einfach auf den Stick (oder zum Ausprobieren in ein Unterverzeichnis eines beliebigen lokalen Laufwerks) und starten Sie das Programm von dort aus. SecurStick öffnet im Standard-Browser ein Formular, in das Sie das Kennwort für die Verschlüsselung eingeben müssen.

SecurStick bedient sich zur Darstellung seiner Bedienoberfläche des Browsers.

Beim ersten Aufruf fragt SecurStick das Kennwort zur Verifikation zweimal ab, später dann nur einmal. Es dient als Schlüssel für den Zugriff auf die verschlüsselten und über den WebDAV-Server zugänglichen Dateien. Anschließend bindet SecurStick den Server als lokales Laufwerk oder Verzeichnis ein und öffnet ein Fenster, das die auf dem Stick enthaltenen verschlüsselten Dateien zeigt (anfangs keine). Optional lassen sich die Dateien vor Schreibzugriffen schützen.

Die verschlüsselten Daten auf dem USB-Stick sind anschließend direkt verwendbar, Sie müssen sich nicht weiter um die Ver- und Entschlüsselungsvorgänge kümmern. Beim Beenden des Programms wird das Laufwerk automatisch abgemeldet.

SecurStick legt in dem Verzeichnis (oder auf dem Stick, von dem es aus aufgerufen worden ist) das unsichtbare Verzeichnis „encrdata“ an. Es enthält eine Konfigurationsdatei namens „Cfg“ und einen Ordner, der die verschlüsselten Dateien enthält. SecurStick benutzt also das auf dem Stick vorhandene Dateisystem und erfindet kein eigenes Container-Format.

Die Verzeichnis- und Dateinamen beginnen allerdings immer mit „S-“, damit es keine Komplikationen mit automatisch angelegten Systemdateien gibt, etwa „.DS_Store“ bei Mac OS X oder „desktop.ini“ unter Windows. Die würde das Betriebssystem sonst unerwartet in verschlüsselter Form vorfinden, aber nicht mit dem Inhalt zurechtkommen. Um Mac OS daran zu hindern, die verschlüsselten Dateien zu indizieren, legt SecurStick die Datei „.metadata_never_index“ an.

Verschlüsselte Dateien lassen sich zwischen den verschiedenen Betriebssystemen austauschen – am besten ist ein Stick dafür FAT-formatiert. Nur die Dateien, die Sie in das von SecurStick gemountete Laufwerk, also auf den WebDAV-Sever kopieren, verschlüsselt die Software. Alles, was Sie direkt auf den USB-Stick bewegen, wird wie gewohnt ohne Verschlüsselung abgelegt. So lassen sich unwichtige oder von jedem Anwender lesbare Dateien ebenso wie sichere Daten gleichzeitig auf einem Speicherstäbchen unterbringen.

Eine Aufteilung in verschiedene Partitionen ist nicht notwendig. Mehrere sichere Bereiche, etwa zum Trennen von privaten und beruflichen Daten, lassen sich nutzen, indem man mehrere Instanzen von SecurStick jeweils aus eigenen Unterverzeichnissen heraus startet und unterschiedliche Kennwörter vergibt.

Beim Anlegen des gesicherten Beriechs wird das Passwort zur Sicherheit doppelt abgefragt.

Sollte der WebDAV-Client streiken, muss man sich dennoch keine Sorgen darüber machen, wie man an seine verschlüsselten Daten gelangen kann. Da das von SecurStick verwendete WebDAV-Protokoll eine Erweiterung von HTTP ist, kann man auch mit einem Webbrowser über die Adresse http://127.0.0.1:2000/X auf den verschlüsselten Bereich zugreifen und benötigte Dateien zumindest unverschlüsselt separat abspeichern. Alternativ lassen sich die Dateien auch über die Kommandozeile mit CryptUtil ver- und entschlüsseln.

Sie sollten die Grenzen von SecurStick kennen. Die ergeben sich aus der Nutzung von WebDAV: Die Clients haben diverse Macken, um die herum man einen WebDAV-Server programmieren muss. Letztlich übertragen sie Dateien, auch wenn sich darin nur ein paar Byte ändern, vollständig. Entsprechend hat Microsoft die Dateigröße in seinem Client künstlich auf circa 47 MByte begrenzt (per Registry änderbar).

Entsprechend sollten Sie SecurStick für den sicheren Dateitransport nutzen, aber an die Live-Bearbeitung von Dateien auf dem Stick nicht allzu hohe Erwartungen knüpfen – besonders wenn die Dateien groß sind. Und: Die Software schützt nur den Inhalt von Dateien, nicht aber ihre Namen. Wer den Stick findet, kann möglicherweise schon aus den Dateinamen Schlüsse ziehen, etwa über die Bewerbung bei einem Konkurrenzunternehmen.

SecurStick verschlüsselt nach dem „Advanced Encryption Standard“ (AES, auch Rijndael-Algorithmus genannt) mit einem 256-Bit-Schlüssel. Dieser Algorithmus war Gewinner des Wettbewerbs, den 1997 das amerikanische „National Institute of Standards and Technology“ (NIST) ausgerufen hat. Seitdem vertraut die US-Regierung sogar Dokumente mit dem Status „Top Secret“ der AES-Verschlüsselung an.

AES ist ein symmetrisches Block-Verschlüsselungsverfahren, was bedeutet, dass derselbe Schlüssel zur Ver- und Entschlüsselung benutzt wird. Es lassen sich damit keine einzelnen Zeichen bearbeiten, sondern immer nur Datenblöcke von 16 Bytes Länge.

Ein Nachteil solcher Blockverschlüsselungen ist, dass sie jeden Block unabhängig voneinander bearbeiten und damit identische Quelldaten zu identischen verschlüsselten Daten führen. Dieser Modus heißt „Electronic Code Book (ECB)“. Da sich aber deshalb leicht Rückschlüsse auf die Struktur der Daten ziehen lassen, raten Experten, diesen Modus überhaupt nicht zu verwenden.

Hilfreich ist hier der sogenannte XTS-Modus, ein vom „Institute of Electrical and Electronics Engineers“ (IEEE) standardisiertes Verfahren (IEEE P1619), bei dem eine Blocknummer in die Verschlüsselung einfließt. Dadurch hat die Position der Daten im Quelldokument Einfluss auf die Verschlüsselung. So kann man selbst einer nur aus Nullen bestehenden Datei dies in ihrer verschlüsselten Form nicht ansehen, da sie nicht aus eine Folge von identischen 16-Byte-Blöcken besteht.

SecurStick benutzt AES mit einen 256 Bit langen Schlüssel, den es aus dem vom Anwender vergebenen Kennwort bildet. Seien Sie beim Kennwort kreativ, der Name des Familienhamsters ist nicht geeignet. SecurStick erwartet ein Kennwort, das mindestens fünf Zeichen lang ist, Groß- und Kleinbuchstaben enthält sowie mindestens eine Ziffer und ein Sonderzeichen (beispielsweise !,-,? oder #).

Den AES-Schlüssel berechnet SecurStick mittels eines sogenannten Hash-Verfahrens, das beliebig große Daten auf einen wesentlich kürzeren, eindeutigen Wert reduziert, quasi eine Art Fingerabdruck. SecurStick berechnet den Hash-Wert mit dem WHIRLPOOL-Algorithmus des AES-Mitschöpfers Vincent Rijmen, der einen 512-Bit-Hashwert aus dem benutzerdefinierten Kennwort berechnet. Dieser lässt sich praktischerweise in zwei Schlüssel aufteilen, einen für AES und den anderen für den XTS-Modus.

Nach Eingabe des Kennworts ruft SecurStick die Hash-Funktion zur Schlüsselberechnung zehntausendmal auf. Da dies ein paar Sekunden dauert, sind Brute-Force-Angriffe, die etwa anhand großer Wortlisten das Kennwort herausfinden wollen, sehr zeitintensiv und damit wenig praktikabel. Außerdem fließt noch ein Zufallswert (Salt) in die Berechnung des Schlüssels ein, was Angriffe mit vorberechneten Rainbow-Tabellen wenig aussichtsreich macht. Den Salt vermerkt SecurStick in der eingangs erwähnten Cfg-Datei.

Alle Dateien des gesicherten Bereichs sind auf dem Medium im Verzeichnis „encrdata\data“ abgelegt. Die Datei- und Verzeichnisstruktur bleibt erhalten. Jede Datei enthält am Anfang einen Header, gefolgt von den verschlüsselten Daten der Originaldatei. Im Header steht unter anderem die Originallänge der Datei, da sich mit AES als Blockverschlüsselung die Länge der Daten ändert. So wächst beispielsweise eine Datei mit einer Länge von 100 Bytes durch die Verschlüsselung auf 112 Bytes mit Nullen aufgefüllt (ganzzahliges Vielfaches der Blockgröße). Bei der Entschlüsselung stellt SecurStick die Datei aber in der Originalgröße her.

Der Quelltext der Verschlüsselung steht als Kommandozeilenprogramm „encr“ zum Download bereit. Es benutzt die Bibliothek libtomcrypt für die kryptografischen Funktionen. Zusätzlich wird noch die Mathematikbibliothek libtommath benötigt.

  1. FIPS PUB 197: the official AES standard, csrc.nist.gov/publications/fips/fips197/fips-197.pdf
  2. Whirlpool-Algorithmus: www.larc.usp.br/~pbarreto/WhirlpoolPage.html
  3. RFC 4918 – HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV): tools.ietf.org/html/rfc4918
  4. SecurStick-Homepage www.withopf.com/tools/securstick/
Mehr Infos

Klassiker und Bordmittel

Wenn es um das Verschlüsseln von Dateien auf Sticks geht, kommt häufig TrueCrypt zum Einsatz: Die Software ist kostenlos und sogar im Quelltext zu haben; sie läuft auf Linux, Mac OS und Windows. Ohne Administratorrechte kriegt man sie allerdings nicht an den Start. Und: Da das Programm eine Systemerweiterung installieren muss, kann es durchaus sein, dass man auf eine Anpassung an die neueste Betriebssystemversion einige Zeit warten muss – mehrere Monate bei Mac OS 10.6.

Die in Windows eingebaute Dateiverschlüsselung, die Bestandteil des NTFS-Dateisystems ist (EFS), kann jeder Nutzer ohne spezielle Rechte verwenden. Leider lässt sie sich auf üblicherweise mit FAT-Dateisystem versehenen Sticks nur mit Aufwand anwenden: Der Stick muss NTFS-formatiert sein und der Transport von verschlüsselten Daten von einem zum anderen Rechner gelingt allenfalls mit aufwendigem Zertifikatsgehampel. Andere Betriebssysteme bleiben außen vor.

Die neueste Erfindung aus Redmond, das in Windows 7 eingebaute „BitLocker to Go“, hat ebenfalls Haken: Sticks lassen sich damit zwar insgesamt verschlüsseln und auf mehreren Rechner nutzen, aber das Einrichten gelingt nur mit den teuren Windows 7 Versionen (Ultimate/Enterprise). Die billigen Varianten können einen eingerichteten immerhin verwenden, ältere Windows-Versionen wie XP und Vista jedoch nur lesend zugreifen.

(ps)