-
Die Erfindung betrifft ein Verfahren und eine Anordnung zur Verbesserung der Sicherheit von verschlüsselten Computerdaten. Insbesondere handelt es sich um die Verschlüsselung von Festplatten, wobei die erfindungsgemäße Lösung der Aufgabe gleichzeitig verbesserte Sicherheit, Kompatibilität zu aktuellen Computersystemen sowie einfache Handhabung bietet.
-
Einleitung, Stand der Technik und Problemstellung
-
Computersysteme, insbesondere auch tragbare Computer wie Notebooks, Netbooks usw., enthalten oft sensible Daten, die vor dem unbefugten Zugriff fremder Personen geschützt werden sollen. Die Datenverschlüsselung ist in der Industrie und in Betrieben gebräuchlich. Um die Sicherheit zu erhöhen, sind viele Anwender dazu übergegangen, nicht nur den Zugang zum Betriebssystem z. B. mit einem Passwort zu schützen, sondern den gesamten Inhalt der Festplatte automatisch zu verschlüsseln. Typische bekannte Lösungen dafür sind zum Beispiel die Software-Programme TrueCrypt oder PointSecure (auch Festplattenvollverschlüsselungssysteme genannt). Diese haben zum Ziel, dass ein potentieller Angreifer, selbst wenn er physisch im Besitz der Festplatte und damit der verschlüsselten Daten ist, die Informationen nicht entschlüsseln kann und somit nicht an die vertraulichen Daten gelangt.
-
Im Folgenden werden nun Mechanismen der aktuellen und weit verbreiteten Methoden zur Festplattenvollverschlüsselung (im Folgenden einfachheitshalber Festplattenverschlüsselung genannt) beschrieben und deren Unzulänglichkeiten erläutert, welche mit Hilfe der vorliegenden Erfindung behoben werden können. Dabei stehen die Festplattenverschlüsselungssysteme und Abläufe im Vordergrund, die während der sogenannten Bootphase bzw. Pre-Bootphase einen Schutz ermöglichen. Solche Verschlüsselungssysteme können dann auch einzelne Datenbereiche oder angeschlossene externe Datenspeicher schützen, die im laufenden Betrieb und nach dem Booten des Betriebssystems entschlüsselt zur Verfügung gestellt werden.
-
Bei typischen aktuellen Lösungen werden RSA- oder AES-Algorithmen oder vergleichbare Verschlüsselungsverfahren verwendet, wobei man zur Entschlüsselung der Daten das dazugehörige Schlüsselmaterial benötigt. Diese Verfahren gelten im Allgemeinen als sicher, wenn man Schlüssel mit hinreichender Länge verwendet und man den Schlüssel vor unbefugtem Zugriff schützen kann.
-
In typischen aktuellen Lösungen wird ein ausführbarer Code (auch Bootloader genannt) im Bootbereich einer Festplatte abgelegt, welcher noch vor dem Betriebssystem geladen und ausgeführt wird. Durch diesen Bootloader werden ferner weitere Benutzereingaben angefordert wie z. B. ein Passwort mit oder ohne Benutzername oder auch weitere Daten mit denen ein Zugriff auf benötigtes Schlüsselmaterial bzw. die Fortsetzung des Bootvorgangs möglich wird (bekannt auch als Pre-Boot-Authentisierung oder Benutzeridentifikation während der Bootphase). Dieses Schlüsselmaterial, das vom Festplattenverschlüsselungssystem verwendet wird, darf nicht ungeschützt auf dem System selbst gespeichert sein, da es ein Angreifer sonst auslesen und Systemzugang erhalten könnte. Üblicherweise wird derartiges Schlüsselmaterial auch mit Hilfe der zur Eingabe definierten Benutzerdaten geschützt oder sogar durch diese Benutzerdaten abgeleitet. Im Folgenden werden die für das Festplattenverschlüsselungssystem in dieser Phase vorgesehenen Benutzereingaben als CREDENTIALS bezeichnet. Eine mögliche alternative Bezeichnung ist Passwort.
-
Die beschriebene Vorgehensweise beinhaltet ein Sicherheitsrisiko, denn ein Angreifer kann, wenn er im Besitz der Festplatte ist, deren gesamten Inhalt inklusive des Bootbereiches kopieren und die Eingabe von CREDENTIALS simulieren beziehungsweise automatisieren. Durch diesen Ansatz kann der Angreifer immer wieder die original Platte kopieren und auf der Kopie die Angriffe durchführen. Das angegriffene System hat keine Möglichkeit, sich nach einer bestimmten Anzahl von Versuchen zu sperren und diese falschen Eingaben zu protokollieren, da der Angreifer bereits eine vollständige Kopie der Daten gespeichert hat und diese auch beliebig oft replizieren kann. Dies bedeutet, dass der Angreifer unendlich viele Versuche hat, das korrekte Passwort zu finden.
-
Die vom Benutzer eingegebenen Daten (CREDENTIALS) können als ein Stellvertreter für das benötigte Schlüsselmaterial betrachtet werden und dürfen daher aus kryptografischer Sicht nicht schwächer sein als dieses. Allerdings ist es dem Benutzer nicht zumutbar, sich Passwörter mit einer diesbezüglich hinreichenden Länge einzuprägen und mit dem damit verbunden Aufwand bei der Eingabe zu arbeiten. Diese Tatsache begrenzt die Länge des Passwortes auf ein Maß, welches das gesamte Verschlüsselungssystem schwächt.
-
Eine weitere Bedrohung, wogegen das oben beschriebene System nur unzureichend geschützt ist, stellen sogenannte Bootkits dar. Hier kann ein Angreifer, wenn er Zugang zum Rechner hat, von einem externen Speichermedium (zum Beispiel einem USB-Stick oder einer SD-Karte) booten. Somit kann der Angreifer seine Software noch vor dem Festplattenvollverschlüsselungssystem und dem Betriebssystem starten. Folglich kann das Startprogramm zur Festplattenvollverschlüsselung aus dem Bootbereich ausgelesen und manipuliert werden. Ein Angreifer könnte beispielsweise einen ausführbaren Code in den Bootbereich installieren, welcher beim nächsten Startvorgang durch den rechtmäßigen Benutzer das von ihm eingegebene Passwort und weitere Eingaben für die Festplattenverschlüsselung protokolliert, es speichert und für den Angreifer hinterlegt bzw. zugänglich macht.
-
Die beschriebenen Möglichkeiten zum Angriff auf die Festplattenverschlüsselung können durch die vorliegende Erfindung unterbunden werden, ohne die Nutzbarkeit des Systems im Alltag einzuschränken.
-
Beschreibung der Erfindung
-
Die Erfindung nutzt eine Kombination von verschiedenen Maßnahmen, um die Sicherheit zu erhöhen und zugleich eine einfache Nutzbarkeit sowie Kompatibilität sicher zu stellen. Zentrale Komponente der vorliegenden Erfindung ist ein Schlüsselgerät, welches eine Smartcard sowie eine Speichervorrichtung enthält und über eine Datenschnittstelle (zum Beispiel USB, SD oder auch eine drahtlose Schnittstelle) an das Computersystem gekoppelt und gebootet werden kann. Bei dem erwähnten Computersystem kann es sich sowohl um ein fest installiertes Gerät als auch um ein tragbares Gerät handeln. Im Folgenden sollen die Funktionsweise des erfindungsgemäßen Schlüsselgerätes und der dadurch verbesserte Schutz des Systems näher beschrieben werden.
-
Vor dem Einschalten des Systems wird das Schlüsselgerät mit der Datenschnittstelle verbunden. Das Schlüsselgerät hat dabei vorzugsweise kleine und kompakte Abmessungen, vergleichbar mit den aktuell weit verbreiteten USB- oder SD-Speichermedien. Das Computersystem bootet beim Start vom externen Schlüsselgerät, was bei einer Kopplung als USB-Gerät, oder allgemein als bootfähiges Speichermedium, problemlos möglich ist. Beim Startvorgang wird vom Nutzer das Kennwort für die im Schlüsselgerät enthaltene Smartcard abgefragt, im folgenden Smartcard-PIN genannt. Wichtig ist hierbei, dass die Smartcard, selbst wenn sie sich im Besitz eines nicht autorisierten Benutzers befinden sollte, im Gegensatz zur Festplatte des Computersystems nicht kopiert werden kann. Aus diesem Grund ist es möglich, die Höchstzahl der falschen Eingaben der Smartcard-PIN in der Smartcard zu speichern, sodass sich die Smartcard nach einer definierten Anzahl falscher Eingaben automatisch sperrt.
-
Mittels dieser sicher realisierten Einschränkung der Eingabeversuche erreicht eine relativ kurze Smartcard-PIN ein äquivalentes Sicherheitsniveau ähnlich dem eines hinreichend langen Passworts ohne Einschränkung der Eingabeversuche. Dies ist nur die erste Sicherheitsstufe.
-
Wenn der Benutzer beim Systemstart die korrekte Smartcard-PIN eingibt, werden aus dem sicheren Speicher des Schlüsselgerätes (Smartcard) die vom Festplattenverschlüsselungssystem erwarteten CREDENTIALS entschlüsselt und im Arbeitsspeicher geladen. Anschließend wird die Kontrolle des Bootvorgangs zurück an das BIOS übergeben. In einer weiteren möglichen Ausführungsform kann im Sinne eines sogenannten Chainloaders der reguläre Bootloader auch direkt gestartet werden. Bei Fortsetzung des Bootvorgangs bzw. während der Ausführung des regulären Bootloaders werden erfindungsgemäß sämtliche Benutzereingaben emuliert. In einer möglichen Ausführungsform der Erfindung hinterlässt der Bootloader des bootfähigen Schlüsselgerätes vor der oben beschriebenen Kontrolle des Bootvorgangs einen Tastatur-Emulator im Arbeitsspeicher des Computers. Dies ist eine Software, die beim Boote von dem Schlüsselgerät in den Arbeitsspeicher geladen wird. Diese Anwendung gibt die Daten die auf dem Schüsselgerät abgelegt sind automatisch weiter an das Festplattenverschlüsselungssystem, indem eine Tastatur für dieses Programm emuliert wird. Das Festplattenverschlüsselungssystem erhält somit alle vom Benutzer erwarteten Daten und/oder Geheimnisse (CREDENTIALS) automatisch bzw. indirekt und setzt das Booten fort. Daraufhin kann der Inhalt der Festplatte wie gewöhnlich entschlüsselt und das Betriebssystem gestartet werden.
-
Bei einer mehrmaligen falschen Eingabe der Smartcard-PIN kommt es nicht mehr zur Ausführung des Festplattenverschlüsselungssystems und somit zum Booten des Betriebssystems bzw. zur Entschlüsselung der Festplattendaten.
-
Vorteil dieser Konstellation ist, dass die in der Smartcard enthaltenen und vom Festplattenverschlüsselungssystem benötigten Benutzerdaten und Geheimnisse (CREDENTIALS) hinreichend lang und komplex sind um das vorliegende Festplattenverschlüsselungssystem nicht zu schwächen. Dies erhöht die Sicherheit der Verschlüsselung deutlich: Sollte ein potentieller Angreifer den gesamten Inhalt der Festplatte kopieren und mit der duplizierten Festplatte in einem Computersystem die Eingabe von Passwörtern simulieren, was er unendlich oft wiederholen kann, so hätte er bei kurzen und dem Benutzer im Alltag zumutbaren Passwörtern eine gute Chance, diese durch Testen der verfügbaren Kombinationen, zum Beispiel mit einem trivialen Brute-Force-Verfahren, zu erlangen. Durch die sichere Speicherung der vom Festplattenverschlüsselungsprogramm benötigten CREDENTIALS auf der Smartcard und deren automatisierter Übergabe an das Festplattenverschlüsselungssystem entfallen jedoch die im täglichen Betrieb zeitraubenden und fehleranfälligen Eingaben dieser CREDENTIALS. Zusätzlich wird ein Benutzer nicht dazu gezwungen sich eine nur schwer einzuprägende sehr lange Kombination aus zufälligen Zeichen zu merken, was die Benutzerfreundlichkeit stark erhöht.
-
In einer typischen Anwendung des erfindungsgemäßen Schlüsselgerätes wird der Nutzer das Schlüsselgerät ähnlich einem gewöhnlichen Schlüssel bei sich tragen und beim Start des Computersystems mit diesem verbinden. Der Nutzer muss sich lediglich die Smartcard-PIN für die im Schlüsselgerät enthaltene Smartcard merken, welche relativ kurz sein kann.
-
Für den Fall, dass das Schlüsselgerät verloren gehen sollte, greifen die vom Festplattenverschlüsselungssystem definierten Notfallpläne. Das lange Benutzerpasswort bzw. alle vorgesehenen/erwarteten Benutzereingaben (CREDENTIALS) sollten ausgedruckt oder auf einer CD gesichert werden und in einem Tresor hinterlegt werden. Wird das Computersystem ohne Verbindung zum Schlüsselgerät gestartet oder ist letzteres defekt, können die CREDENTIALS, wie vom Festplattenvollverschlüsselungsprogramm vorgesehen, manuell eingegeben und das System ohne das Schlüsselgerät gestartet werden. Im Falle eines verlorenen Schlüsselgerätes kann nach dem Notfallstart mit manueller Eingabe der CREDENTIALS dann ein neues Schlüsselgerät für das System konfiguriert werden.
-
Ein weiterer Sicherheitsmechanismus richtet sich gegen den Einsatz sogenannter Bootkits. Dies sind Manipulationen des Bootbereiches einer Festplatte. Dort könnte ein potentieller Angreifer eigene Software platzieren und starten, welche zum Beispiel Tastatureingaben protokolliert und eventuell Kennwörter und/oder Schlüssel hinterlegt und/oder überträgt. Dies wird mit dem Schlüsselgerät ebenfalls unterbunden, da das System im gewöhnlichen Fall nicht vom Bootbereich der im Computersystem vorhandenen Festplatte, sondern zuerst vom Bootbereich des Schlüsselgerätes gestartet wird. Dieser Bootbereich im Schlüsselgerät kann erfindungsgemäß nur gelesen, nicht jedoch ohne die korrekte Smartcard-PIN der ebenfalls im Schlüsselgerät enthaltenen Smartcard geschrieben und/oder manipuliert werden. Auf diese Weise ist eine Manipulation des Schlüsselgerätes selbst ausgeschlossen.
-
Eine weitere Absicherung richtet sich auf den Bootbereich der Festplatte des Computersystems. Eine Manipulation des Bootbereiches der Festplatte kann mit dem Schlüsselgerät festgestellt werden, indem z. B. eine Prüfsumme/Hashwert des aktuell auf der Festplatte befindlichen Bootbereichs errechnet und mit einem zuvor ermittelten und gesichertem Wert verglichen wird. Dazu enthält das Schlüsselgerät zusätzlich eine Kopie oder aber eine Prüfsumme der Daten des Bootbereiches der Festplatte des Systems. Diese Daten werden bei der ersten Installation des Schlüsselgerätes vom Bootbereich bestimmt und in einem gesicherten Bereich abgelegt. Diese Informationen sind ebenfalls in einem Speicherbereich des Schlüsselgerätes abgelegt, welcher ohne Kenntnis der korrekten Smartcard-PIN der Smartcard nur gelesen und nicht verändert werden kann. Bei einem gewöhnlichen Systemstart wird erfindungsgemäß der Bootbereich der Festplatte des Systems mit Hilfe der im Schlüsselgerät gespeicherten Daten verifiziert. Somit kann eine Manipulation detektiert und der Nutzer gewarnt werden.
-
Sollte ein potentieller Angreifer des Systems in den Besitz der Smartcard-PIN des Schlüsselgerätes bzw. der darin enthaltenen Smartcard gelangen, so ist dies ohne den Besitz der Smartcard wertlos. Das Festplattenverschlüsselungssystem wird also um einen weiteren Authentisierungsfaktor erweitert.
-
In einem weiteren Ausführungsbeispiel kann das gesamte Schlüsselgerät und/oder die darin enthaltene Smartcard auch Teil bzw. Subsystem eines Mobilfunkgerätes sein. In diesem Fall würde Smartcard-PIN für die Smartcard über die Tastatur des Mobilgerätes eingegeben werden, was eine Manipulation oder Ausspähung der Tastatureingaben zusätzlich erschwert. Die Datenanbindung des im Mobilfunkgerät enthaltenen Schlüsselgerätes bzw. der Smartcard kann dabei drahtgebunden oder aber auch kabellos erfolgen. In diesem Fall muss die Kommunikation zwischen Mobilfunkgerät und Computersystem entsprechend sicher verschlüsselt sein.
-
Das in der vorliegenden Erfindung beschriebene Schlüsselgerät bietet im Vergleich zu herkömmlichen Lösungen zur Festplattenverschlüsselung einen deutlich erweiterten Schutz, ist kompatibel mit aktuellen Hardware-Systemen und erfordert keine Einschränkung des Benutzers.
-
Figuren Beschreibung:
-
Die einzige Figur zeigt den Verfahrensablauf der vorliegenden Erfindung:
-
Detaillierte Figurenbeschreibung:
-
Im ersten Schritt wird vom eingeschobenen Schlüsselgerät gebootet. Dies kann erreicht werden, in dem z. B. der USB-Anschluss im Bios als erstes Bootgerät bestimmt wird. Das Schlüsselgerät ist über den USB-Anschluss verbunden, so dass ein Booten des Computers vom Schlüsselgerät erfolgt. Dadurch wird ein Programm aus dem Bootbereich des Schlüsselgerätes geladen (Bootloader), das eine PIN-Eingabe (Smartcard-PIN) fordert. Diese Smartcard-PIN wird bei korrekter Eingabe verwendet, um vom Cryptobereich des Schlüsselgerätes, die verschlüsselt abgelegten CREDENTIALS zu holen. Danach wird die Kontrolle des Bootprozess an das BIOS übergeben bzw. der Bootloader aus dem Bootbereich der Festplatte direkt gestartet und es erfolgt eine durch Tastatur-Emulation automatische Übergabe der CREDENTIALS an dem Bootloader des Festplattenverschlüsselungssystems, das zum Entschlüsseln der Festplatte dient. Danach arbeitet der Computer wie gewohnt.