Sicherheit auf dem PrüfstandBitLocker und die Komplexitäten des Vertrauens

Justin Troutman

Windows Vista. Ich habe diese beiden Wörter noch nie in einem Artikel verwendet, und beim Schreiben dieses Artikels fühle ich mich wie ein Fünfjähriger, der mit einem Blankoscheck in der Hand ein Spielwarengeschäft betritt. Es gibt Unmengen an Features zu besprechen, enorm viele Dinge zu untersuchen und viele Möglichkeiten für Diskussionen.

Vor einer Weile las ich den Blog von Sicherheitsguru Bruce Schneier und stieß dabei auf einen Eintrag über etwas, das mir damals neu war: BitLocker™. Mir wurde schnell klar, dass damit eine kryptografische Funktionalität in Windows Vista® bereitgestellt werden sollte, ich dachte sofort: „Oh, nein. Kryptografie in Windows Vista? Das kann nicht gut gehen. Selbst wenn es einigermaßen funktioniert, muss es irgendwo eine Hintertür geben.“

Es gibt einige (gültige oder nicht gültige) historische Argumente, warum Benutzer zögern könnten, sich auf Sicherheitsfeatures zu verlassen, die in Windows® integriert sind. Aber das ist nicht der Grund für diesen Artikel. Vielmehr soll im Detail nachgewiesen werden, warum es gute Gründe gibt, BitLocker eine Chance zu geben. Zudem wird die Art von Philosophie vorgestellt, die die Lebensfähigkeit von kryptografischer Software und Hardware sicherstellt.

Damit soll jedoch nicht gesagt werden, dass BitLocker ein Allheilmittel für die Sicherheit insgesamt ist. Vielmehr ist BitLocker nur eins von vielen Teilen im Sicherheitspuzzle. Das Ziel von BitLocker ist die Bereitstellung von Stabilität bei bestimmten Bedrohungsmodellen.

Besonders geht es dabei um verloren gegangene (oder gestohlene) Laptops. Mobile Arbeitskräfte tragen ständig alle möglichen vertraulichen Informationen mit sich herum – in der Bahn oder im Flugzeug, in Restaurants und Hotels, in Heimbüros und Zweigstellen. Diese Informationen befinden sich auf Laptops und anderen mobilen Geräten, die normalerweise nicht richtig gesichert sind, sodass die betreffenden Daten stark gefährdet sind. Was geschieht mit diesen Daten, wenn ein Benutzer einen Laptop irgendwo vergisst?

Schludrigkeit lässt sich nicht aus der Welt schaffen, doch gegen das sich daraus ergebende Durcheinander können Sie etwas tun. Die Kosten für das Ersetzen eines Laptops sind für ein Unternehmen gering im Vergleich zu den Kosten, die durch gefährdete vertrauliche Daten entstehen. Genau um diese Sicherheit geht es bei BitLocker.

Abspann

Meine Erörterungen zu BitLocker besitzen eine interessante Dimension. Ich selbst habe BitLocker noch nicht ausprobiert. Wahrscheinlich denken Sie: „Wie kann jemand, der BitLocker noch nicht verwendet hat, eine Meinung dazu haben und etwas Nützliches zum Thema sagen?“ Bitte haben Sie etwas Geduld. Hier geht es um eine Erörterung der Kryptografie von einer höheren Ebene aus und um die Entwurfsphilosophien, die für eine erfolgreiche Lösung wesentlich sind.

Das Ganze begann damit, was ich in Bruce Schneiers Blog gelesen habe. Angenommen, Sie möchten einen neuen Film sehen. Aufgrund der Vorschau und der Hauptdarsteller haben Sie einige Annahmen über den Film gemacht. Natürlich garantiert eine gute Besetzung allein keinen guten Film. Doch die Darstellerliste kann viel über den Film und realistische Erwartungen aussagen. Ist es ein Film mit Chris Rock und Ben Stiller? Oder einer mit Kate Winslet und Johnny Depp?

Ähnlich erging es mir, als ich den Blog eines international anerkannten Sicherheitsgurus über BitLocker las: Ich machte einige Annahmen. Offenbar ist diese neue Technologie gut genug, dass sie eine ehrenhafte Erwähnung verdient, oder so schlecht, dass dies öffentlich gesagt werden musste. Zu meiner Überraschung war die endgültige Beurteilung von Bruce Schneier positiv.

Ein Satz schien mir besonders wichtig: „Es gibt keine Hintertüren für die Polizei.“ Diese Aussage hat viel Schlagkraft. Sie wurde mit viel Zuversicht geäußert und enthielt einen Link zum Microsoft® System Integrity-Teamblog. Der Link enthielt einen Beitrag von Niels Ferguson, einem Microsoft-Entwickler im Bereich Sicherheit, der Spekulationen verurteilte, denen zufolge Microsoft für Strafverfolgungszwecke absichtlich Hintertüren in BitLocker eingebaut habe. Ferguson erklärte, dass solche Hintertüren unannehmbar seien und er an keinem Projekt mitarbeiten würde, das sie unterstützt. (Er führte weiter aus, dass Microsoft eine solche Hintertür öffentlich bekannt geben oder das Feature ganz zurückziehen würde, wenn das Unternehmen gesetzlich gezwungen wäre, eine Hintertür zu integrieren.)

Der Name des Autors – Niels Ferguson – erklärt das Vertrauen von Schneier, und sorgte auch bei mir dafür, dass ich ihm Glauben schenkte. Ferguson weiß, wovon er spricht, und er kann auf eine Erfolgsgeschichte verweisen, die sicherstellt, dass seine Aussagen vertrauenswürdig sind. Bruce Schneier und Niels Ferguson sind die Mitverfasser von „Practical Cryptography“, einem bahnbrechenden Buch über das einfache, fehlerlose und sichere Anwenden guter Kryptografie, und die Mitentwickler der Blockverschlüsselung Twofish, eines 128-Bit-Feistel-Netzwerks, das Finalist im AES-Auswahlprozess war.

Natürlich ist die Mitarbeit eines erfahrenen Kryptografen an einem Projekt keine Garantie dafür, dass das endgültige Produkt sicher ist. Selbst die Meister dieser Kunst können Fehler machen. Doch unabhängig davon, wie sich BitLocker im Lauf der Zeit entwickelt, können Sie sicher sein, dass solide Entwicklungsstrategien bei der Entwicklung eine gewisse Rolle gespielt haben.

Natürlich gibt es gutgläubige Versuche von Entwicklern, die über keinerlei kryptografische Kenntnisse verfügen, und die bösgläubigen Versuche derjenigen, denen es im Prinzip nur darum geht, ein Produkt auf den Markt zu bringen. Bei beiden Bemühungen kann unabhängig von der zugrunde liegenden Absicht mit zukünftigen Sicherheitsfehlern gerechnet werden. Doch auf BitLocker scheint beides nicht zuzutreffen. Die Beteiligung von mindestens einem kompetenten Kryptografen und die umfassenden Ressourcen zur Unterstützung des Projekts verheißen Gutes.

Einige Anmerkungen zum Thema Vertrauen

Kürzlich hat mir Phil Zimmerman, Ersteller der PGP-Verschlüsselung, einige Faustregeln verraten. Sollte jemals ein „Sicherheitscredo für Entwickler“ veröffentlicht werden, würden seine Ratschläge sicherlich ganz oben stehen. Obwohl seine Ansichten nicht spezifisch für BitLocker galten, lassen sich seine Entwurfsphilosophien praktisch auf die meisten kryptografischen Lösungen anwenden. Vielleicht sind Sie der Meinung, dass sie offensichtlich sind oder von einem gewissen Übereifer zeugen. Doch vom heutigen Zustand der Sicherheit ausgehend, lohnt es sich, sie ausdrücklich zu nennen.

Beim Entwerfen einer kryptografischen Infrastruktur muss der Entwickler einfach, fehlerlos und sicher vorgehen. Obwohl Fehler unvermeidlich sind, sollten sie nicht als naturgegeben akzeptiert und einfach mit einem Achselzucken abgetan werden. Der Entwickler muss ein entschiedener Fürsprecher pedantischen Perfektionismus sein. Laut Zimmerman sollte eine Entwicklung so durchgeführt werden, als ob ein Fehler jemanden das Leben kosten könnte. Sie meinen, das sei übertrieben? Auf der 2005 Annual Computer Security Conference erklärte der NSA-Kryptograf Brian Snow, der sich seitdem aus dem Berufsleben zurückgezogen hat: „In einem Sicherheitsgerät müssen Funktionen und Sicherheiten vorhanden sein. Wir führen keine Betatests am Kunden durch. Wenn mein Produkt versagt, könnte jemand sterben.“ Denken Sie daran: Fehler können zu mehr als nur finanziellen Kosten führen.

Benutzer verdienen Sicherheit. Es ist von zentraler Bedeutung, sich das Vertrauen der Benutzer zu verdienen und zu pflegen. Zimmerman unterstreicht dies weiter: „Verdienen Sie sich das Vertrauen der Benutzer. Wenn Sie diese Last einmal auf sich nehmen, können Sie sie nie wieder ablegen.“ Auf diese Weise erhält ein Unternehmen das Vertrauen des Benutzers und seinen Ruf in Bezug auf die Sicherheit aufrecht. Wenn es dies nicht tut, können beide unwiderruflich verloren gehen.

Dieser Blickwinkel wurden von Microsoft bei der Entwicklung von BitLocker (oder anderen Produkten des Unternehmens) hoffentlich bedacht. Doch ich bin optimistisch, dass Microsoft es richtig gemacht und eine Kryptografietechnologie entwickelt hat, die es ernst zu nehmen gilt.

Der Elephant des armen Mannes

Im Prinzip bildet BitLocker die Methode der Verschlüsselung aller Systemvolumedaten bei Windows Vista (speziell bei der Enterprise- und der Ultimate-Edition). Dies mag sich nach einer einfachen Anwendung anhören, aber Sie sollten die Einschränkungen in Betracht ziehen. Da BitLocker Daten pro Sektor verschlüsselt und der verschlüsselte Text die Länge von Nur-Text nicht überschreiten darf, bleibt für anderes wie z. B. eine Nonce (eine Zahl oder Zeichenfolge, die nur einmal zur Authentifizierung verwendet wird), einen Initialisierungsvektor (IV) oder Nachrichtenauthentifizierungscode (Message Authentication Code, MAC) nichts übrig. Es war zu erwarten, dass solche starken Einschränkungen und die von ihnen auferlegten Bedingungen wahrscheinlich waren, aber gleichzeitig war klar, dass für die Nachrichtenauthentifizierung eine Lösung gefunden werden musste.

BitLocker stützt sich auf etwas, was oft als Authentifizierung des kleinen Mannes bezeichnet wird. Der Kompromiss ist nicht so konservativ, wie er normalerweise sein sollte, da von der Annahme ausgegangen wird, dass manipulierter verschlüsselter Text nicht zu sinnvollem Nur-Text führt. Anders ausgedrückt: Wenn verschlüsselter Text manipuliert wird, sollte dies beispielsweise zu einem Absturz des Systems führen, statt dass ein Gegner eine Funktion durchführen kann.

Das für BitLocker zuständige Microsoft-Team wusste, dass für die Analyse einer völlig neuen Blockverschlüsselung mehr Zeit erforderlich sein würde, als akzeptabel ist, doch vorhandene Entwürfe waren entweder noch nicht gut genug analysiert worden oder nicht effizient genug. Daher wählte Microsoft für die Verschlüsselung AES im CBC-Modus (Cipher Block Chaining). Diese Verschlüsselung wird im Folgenden als „AES-CBC“ bezeichnet. Dies ist unter dem ausgewählten Nur-Text-Angriffsmodell (= IND-CPA) nicht zu unterscheiden, die Integrität wird jedoch nicht aufrechterhalten. Da für MAC kein Platz vorhanden ist und CBC ein Vertraulichkeitsmodus ist, wird die Integrität überhaupt nicht aufrechterhalten. Das ist das Stichwort für Elephant.

Die neue Komponente Elephant weist zwei Diffusoren auf, die eine viel bessere „Authentifizierung des kleinen Mannes“ bieten als einfaches AES-CBC. (Es sollte jedoch darauf hingewiesen werden, dass es die Möglichkeit gibt, AES-CBC ohne Elephant auszuführen, wenn es strenge Richtlinien bei der Standardeinhaltung zu erfüllen gilt.) Obwohl sie nicht immer ideal ist, gilt die Authentifizierung des kleinen Mannes unter den gegebenen Einschränkungen als die geeignetste Lösung, und Elephant versucht, das Beste aus der Situation zu machen. Wie funktioniert dies alles?

Abbildung 1 veranschaulicht den Ablauf. Wenn die Verschlüsselung stattfindet, wird der Nur-Text über XOR mit einem Sektorschlüssel verbunden. Der Text fließt dann durch zwei nicht mit Schlüsseln versehene Diffusoren. Anschließend wird er mithilfe von AES-CBC verschlüsselt. Sowohl der Sektorschlüssel als auch AES-CBC brauchen Schlüsselmaterial und werden daher unabhängig voneinander mit Schlüsseln versehen. Diese Methode vereinfacht die Formalisierung eines Nachweises für die Reduzierung der Sicherheit von AES-CBC mit Elephant auf die von AES-CBC. Elephant ist ein neuer Primitive, und neuen Primitives wird möglicherweise mit Zurückhaltung begegnet, bis sie ausführlich analysiert wurden. Doch dieser Ansatz bietet Ausgewogenheit, da BitLocker zeigen kann, dass AES-CBC mit Elephant nicht leichter angegriffen werden kann als AES-CBC allein.

Abbildung 1 Authentifizierung des kleinen Mannes mit Elephant

Abbildung 1** Authentifizierung des kleinen Mannes mit Elephant **

Der Sektorschlüssel und die AES-CBC-Komponenten empfangen beide 256 Bit Schlüsselmaterial, sodass die Schlüssellänge 512 Bit beträgt. Standardmäßig verwenden diese Komponenten jedoch nur 128 Bit Schlüsselmaterial, was bedeutet, dass ein Teil des Schlüsselmaterials nicht verwendet wird. Der Grund dafür ist einfach: Es ist leichter, nicht erforderliche Bits wegzuwerfen, als die Schlüsselverwaltungsinfrastruktur bei variierender Schlüssellänge zu ändern.

Die Blocklänge kann eine beliebige Potenz von zwei im Bereich von 512 bis 8192 Byte sein. Um sicherzustellen, dass eine Veränderung des verschlüsselten Texts dazu führt, dass der gesamte Nur-Text eines Sektors nach dem Zufallsprinzip geändert wird, funktioniert die Blockverschlüsselung mit einer solchen veränderlichen Blockgröße. Wenn sie sich zudem wie eine einstellbare Blockverschlüsselung verhält (wie von Liskov, Rivest und Wagner beschrieben), wobei sich der Algorithmus von Sektor zu Sektor leicht ändert, kann ein Gegner den verschlüsselten Text eines Sektors nicht in einen anderen Sektor verschieben.

Die Zukunft wird es zeigen

Beim Spekulieren über die kryptografische Sicherheit von BitLocker wird etwas viel Wichtigeres außer Acht gelassen. Dass BitLocker sicher ist, reicht nicht unbedingt aus, denn BitLocker ist keine Lösung an sich, sondern nur einer von vielen Zusätzen zu Windows Vista. Laut Microsoft ist BitLocker eng in Windows Vista integriert. Doch wenn eine so enge Integration in das Betriebssystem besteht, ist es dann nicht plausibel, dass der Fehler einer anderen Komponente wiederum dazu führen könnte, dass BitLocker versagt oder beeinträchtigt wird?

Ich persönlich halte viel von Modularität und isoliertem Fehlschlagen. Enge Integration ohne Modularität führt zu Komplexität. Das mag bei Windows Vista und BitLocker nicht der Fall sein, aber nur im Lauf der Zeit (und bei umfangreicher Analyse) wird sich erweisen, ob dies wirklich stimmt.

Was ist nun meine Meinung zu BitLocker? Ich ziehe den Hut vor dem Microsoft System Integrity-Team, weil es sich auf echte, zuverlässige Kryptografen verlassen hat, die ihre Aufgabe so durchführen, wie es für Kryptografen angemessen ist. Es ist offensichtlich, dass dieses Feature für die Kryptografie und nicht für eine Marketingkampagne entworfen wurde. Daher lautet meine Antwort auf diese Frage, dass BitLocker ernst zu nehmen ist. Damit bilde ich mir jedoch kein Urteil über die Sicherheit selbst. Auch dies wird sich im Lauf der Zeit und bei der alltäglichen Bewertung zeigen. Viele kryptografische Primitives und Protokolle wurden verletzt. Doch zumindest hat das Microsoft System Integrity-Team für Einsichten und Plattformen gesorgt, auf denen sich noch bessere Lösungen erstellen lassen.

Justin Troutman ist Kryptograf und Student der Mathematik. Er interessiert sich besonders für die symmetrische Kryptografie. Außerdem ist er Gründer von Extorque, einem Unternehmen, das auf die kryptografische Forschung und Beratung spezialisiert ist.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.