FileVault Service-Post

Seit Version 10.7 kommt Mac OSX mit der Möglichkeit daher, WDE – also "whole disc encryption" – für seine Systemplatte anzuschalten. Mit ein wenig Gefrickel kann man auch externe Platten verschlüsseln lassen. In diesem Text soll es aber darum gehen, wie man sein mobiles Gerät möglichst flughafenkontrollfest schützen kann. Apple nennt seine WDE "FileVault 2".

In fast allen bekannten WDE-Szenarien hat man ein Paßwort für seine Festplatte, das nicht das selbe ist, wie das Benutzerpaßwort. Letzteres gibt man nämlich gefühlte tausend Mal am Tag mitten im Desktop und eventuell einmal zu leichtfertig und zu oft ein und legt im Speicher seines – oder im schlimmsten Fall eines anderen – Computers diverse Kopien dieses Paßworts an. Das WDE-Paßwort hingegen benutzt man nur in sehr kontrollierten und nicht so leicht durch Software zu emulierenden Umgebungen: direkt beim Booten und nach dem Aufwachen. Die Macher von FileVault 2 unter OSX haben diese Trennung im Standardfall nicht so vorgesehen – das Festplattenpaßwort wird einmal generiert und mit dem (Haupt-)Benutzerpaßwort verschlüsselt. Im Normalfall muß man nur beim Booten dieses Paßwort eingeben und ist danach direkt eingeloggt. Apple hat aber in FileVault 2 eingebaut, bestimmten Benutzern das Entschlüsseln der Platte zu erlauben, anderen nicht. Dies machen wir uns zunutze, indem wir einen extra-Benutzer anlegen, der einzig für WDE zuständig ist und allen anderen Benutzern das Entschlüsseln versagen.

Am Einfachsten ist dies, wenn die WDE noch nicht angeschaltet ist. Man legt sich einen neuen Benutzer "WDE" oder "crypto" an (dieser braucht keine Admin-Rechte), loggt sich unter diesem Benutzerkonto ein und aktiviert in den Systemeinstellungen => "Sicherheit und Privatsphäre" => FileVault die FileVault-Verschlüsselung für die Systemplatte (hier braucht man kurz Benutzername und Paßwort des Admin-Benutzers). Dabei achtet man darauf, daß einzig der WDE-Benutzer in der Zugriffsliste für FileVault aktiv ist. Den Recovery-Key sollte man sich notieren und nicht mit auf Reisen nehmen. Dabei versteht sich von selbst, daß man den Service von Apple nicht wahrnehmen möchte, diesen Key bei ihnen zu verwahren. Man kann sich jetzt auch gleich wieder ausloggen, die Festplatte wird im Hintergrund komplett weiterverschlüsselt. Wenn es nur einen Benutzer gibt, der entschlüsseln darf, wird man beim Booten genauso nach dessen Paßwort gefragt und auch gleich unter diesem Benutzerkonto eingeloggt. (Hinweis für die Paßwortwahl: Hat man eine deutsche Tastaturbelegung, ist diese zumindest unter 10.7 im WDE-Login-Bildschirm noch nicht aktiviert. Zuweilen muß man seine Umlaute erst suchen.) Nun kann man sich gleich wieder ausloggen, um sich danach mit seinem Standardbenutzer anzumelden.

War FileVault 2 bereits aktiviert und dem Standardnutzer das Entschlüsseln erlaubt, kann man diesem auch nachträglich die Rechte zum Entschlüsseln entziehen. Dazu legt man wie oben einen neuen WDE-Benutzer an, gibt diesem im FileVault-Dialog die Entschlüsselungsrechte und verpaßt dem Standardbenutzer ein leeres Passwort. Das geht im Systemeinstellungs-Dialog für Benutzerkonten nicht, dazu muß man das Terminal bemühen. Dem Kommando "passwd" gibt man sein altes Paßwort mit und drückt danach zweimal Return. (UPDATE: in OSX 10.8 erlaubt passwd nicht mehr, ein leeres Passwort einzustellen. Nun braucht man das Kommando sudo dscl . -passwd /users/USERNAME "". UPDATE 2: Seit 10.14 kann man auch mit dem dscl nicht mehr leere Passwörter vergeben. Aber mit dem Kommando sudo fdesetup remove -user username kann man manuell Usern das Recht zum Platte entschlüsseln wegnehmen.) Da nun FileVault für diesen Standardbenutzer kein Paßwort zum Verschlüsseln des Festplattenpaßworts mehr hat, werden ihm die Rechte zum Entschlüsseln der Platte entzogen. Dies kann man im FileVault-Dialog der Systemeinstellungen überprüfen, ein kleines gelbes Dreieck sollte nun warnen, daß nicht alle Benutzer die Platte entschlüsseln dürfen. Wenn man dies überprüft hat, kann man sein altes Standardbenutzer-Paßwort wieder setzen. Dieser Benutzer ist nun ent-FileVault-et, man sollte dies mit eventuellen anderen Benutzerkonten wiederholen.

Dem aufmerksamen Beobachter wird aufgefallen sein, daß nach dem Zu- und wieder Aufklappen keine Eingabe des WDE-Benutzer-paßworts notwendig ist. Dies bedeutet, daß der Festplattenschlüssel noch ungesichert im Speicher liegen muß. Ist der Computer mit Thunderbolt ausgestattet, oder hat einen FireWire-Port in einem ungesicherten Modus (ab 10.6 ist der FireWire-Bus beim Schlafen standardmäßig aus), kann der Schlüssel (beispielsweise bei einer Kontrolle am Flughafen) über den direkt am RAM anliegenden Thunderbold/FW-Bus ausgelesen werden. Somit ist die Verschlüsselung angreifbar. Um dem Computer beizubringen, beim Zuklappen den beim Booten eingegebenen Festplattenschlüssel aus dem Speicher zu löschen, bedarf es nur dieses Kommandos: sudo pmset -a destroyfvkeyonstandby 1 hibernatemode 25

Nun dauert das Aufklappen bei meinem MacBook Air statt 5 rund 25 Sekunden. Ich habe aber ein deutlich besseres Gefühl dabei, mein ausgeschaltetes Gerät jemand anderem in die Hand zu geben.