DE102017106042A1 - Verfahren zum abgesicherten Hochfahren eines Computersystems, sowie Anordnung, umfassend ein Computersystem und ein an das Computersystem angeschlossenes externes Speichermedium - Google Patents

Verfahren zum abgesicherten Hochfahren eines Computersystems, sowie Anordnung, umfassend ein Computersystem und ein an das Computersystem angeschlossenes externes Speichermedium Download PDF

Info

Publication number
DE102017106042A1
DE102017106042A1 DE102017106042.1A DE102017106042A DE102017106042A1 DE 102017106042 A1 DE102017106042 A1 DE 102017106042A1 DE 102017106042 A DE102017106042 A DE 102017106042A DE 102017106042 A1 DE102017106042 A1 DE 102017106042A1
Authority
DE
Germany
Prior art keywords
file system
key
computer system
file
storage medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102017106042.1A
Other languages
English (en)
Inventor
Heinz-Josef Claes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Technology Solutions Intellectual Property GmbH
Original Assignee
Fujitsu Technology Solutions Intellectual Property GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Technology Solutions Intellectual Property GmbH filed Critical Fujitsu Technology Solutions Intellectual Property GmbH
Priority to GB1813787.7A priority Critical patent/GB2563165A/en
Priority to PCT/EP2017/081232 priority patent/WO2018114292A1/de
Priority to US16/095,911 priority patent/US11055414B2/en
Publication of DE102017106042A1 publication Critical patent/DE102017106042A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

Die Erfindung betrifft ein Verfahren zum abgesicherten Hochfahren eines Computersystems mit einem verschlüsselten Dateisystem. Das Verfahren umfasst die folgenden Schritte:- Auslösen eines Startprozesses des Computersystems durch Zugreifen auf für den Startprozess erforderliche Programmdaten,- Laden und Ausführen der Programmdaten,- Einbinden eines an das Computersystem angeschlossenen externen Speichermediums, wobei auf dem externen Speichermedium ein Dateisystem-Schlüssel für eine Entschlüsselung von Dateisystem-Daten des verschlüsselten Dateisystems hinterlegt ist, wobei der Dateisystem-Schlüssel auf dem externen Speichermedium verschlüsselt ist,- Laden des verschlüsselten Dateisystem-Schlüssels aus dem externen Speichermedium in das Computersystem,- Entschlüsseln des verschlüsselten Dateisystem-Schlüssels vermittels eines im Computersystem hinterlegten Schlüssels,- Setzen des entschlüsselten Dateisystem-Schlüssels in einem durch den Startprozess etablierten Kryptographiemodul, sowie- Entschlüsseln und Laden von Dateisystem-Daten des verschlüsselten Dateisystems durch das Kryptographiemodul vermittels des gesetzten Dateisystem-Schlüssels, wodurch das Computersystem vollständig hochgefahren wird.

Description

  • Die Erfindung betrifft ein Verfahren zum abgesicherten Hochfahren eines Computersystems mit einem verschlüsselten Dateisystem, das in einem Speicher innerhalb des Computersystems gespeichert ist sowie ein Verfahren zum Bereitstellen von Maßnahmen zum abgesicherten Hochfahren eines solchen Computersystems. Ferner betrifft die Erfindung eine Anordnung, umfassend ein Computersystem und ein an das Computersystem angeschlossenes externes Speichermedium, sowie die Verwendung eines externen Speichermediums für ein oben genanntes Verfahren.
  • Um ein Computersysteme mit einem verschlüsselten Dateisystem, das in einem Speicher innerhalb des Computersystems gespeichert ist, hochzufahren, d.h. das Computersystem zu booten und das Dateisystem zu laden, ist es notwendig, während des Startvorgangs einen Schlüssel (auch Passphrase, Passwort, Kennwort, Schlüsselwort, Codewort, Losungswort oder Parole genannt) zu aktivieren bzw. zu setzen. Vermittels des aktivierten bzw. gesetzten Schlüssels können Dateisystem-Daten des verschlüsselten Dateisystems entschlüsselt und geladen werden. Hierfür ist in der Regel die Eingabe einer Passphrase durch einen Benutzer während des Startvorgangs notwendig. Die Eingabe der Passphrase erfolgt herkömmlich durch eine an das Computersystem angeschlossene Tastatur, ggf. unter Kontrolle einer auf einem angeschlossenen Monitor dargestellten Eingabemaske.
  • Auf diese Weise ist bei herkömmlichen Lösungen zum Hochfahren eines verschlüsselten Dateisystems ein Benutzer mit Kenntnis der korrekten Passphrase erforderlich. Ein Nachteil bei diesem Vorgehen besteht darin, dass der Benutzer kriminell oder bestechlich sein kann oder die Passphrasen durch einen kriminellen Dritten gestohlen wird. Es ist zum Beispiel denkbar, dass ein krimineller Dritter die Passphrase während der Eingabe durch einen befugten Benutzer an der Tastatur aufgrund einer Manipulation, zum Beispiel vermittels eines sogenannten Keyloggers, abgreift.
  • Ein weiterer Nachteil bei dem bekannten Vorgehen besteht darin, dass zumindest eine Tastatur und ggf. ein Monitor an das Computersystem angeschlossen sein müssen. Nachteilig daran ist der erforderliche Platz, den man für eine Tastatur bzw. einen Monitor benötigt. Ferner kann insbesondere das dauerhafte Anschließen einer Tastatur an ein Computersystem aus Sicherheitsgründen für einen Zugriffsschutz auf das Computersystem problematisch sein. Denn hierdurch besteht eine Eingabemöglichkeit, zum Beispiel zum Einloggen von Benutzern, und damit potenziell auch eine Manipulationsmöglichkeit bzw. allgemein eine Handlungsmöglichkeit, die unter Umständen nicht erwünscht ist oder unterbunden werden soll. Gerade bei sicherheitsrelevanten Computersystemen kann das Anschließen von Tastaturen ein Sicherheitsrisiko bedeuten. Auf der anderen Seite ist es - wie oben erläutert - notwendig, eine Passphrase zum Hochfahren eines verschlüsselten Dateisystems während eines Startvorgangs zu setzen.
  • Es existieren bereits Lösungen zum automatisierten Entschlüsseln eines verschlüsselten Dateisystems während eines Startvorgangs des Computersystems vermittels eines an das Computersystem angeschlossenen externen Speichermediums, z.B. eines USB-Sticks. Hierzu ist auf dem externen Speichermedium ein entsprechender Schlüssel zum automatisierten Entschlüsseln des verschlüsselten Dateisystems hinterlegt ist. Sobald das externe Speichermedium an das Computersystem angeschlossen wird, kann bei einem Startvorgang das Computersystem auf das externe Speichermedium zugreifen, den Schlüssel vom externen Speichermedium auf das Computersystem laden und Dateisystem-Daten des verschlüsselten Dateisystems vermittels des Schlüssels bedarfsweise entschlüsseln, sodass das Computersystem vollständig hochfährt.
  • Derartige Lösungen sind jedoch problematisch, wenn ein unbefugter Dritter Zugriff auf das externe Speichermedium (z.B. durch Diebstahl oder durch Nachlässigkeit eines befugten Benutzers) und damit auf den dort hinterlegten Schlüssel erhält, zum Beispiel durch Anschließen des externen Speichermediums an ein fremdes Computersystem. Ist der Schlüssel im Klartext in den Händen eines unbefugten Dritten, so kann dieser das verschlüsselte Dateisystem während eines Startvorgangs des Computersystems entschlüsseln oder den Speicher des Computersystems, in dem das verschlüsselte Dateisystem gespeichert ist, ausbauen, in ein fremdes Computersystem einbauen und dort vermittelst des Schlüssels auslesen.
  • Es ist daher eine Aufgabe der Erfindung, Maßnahmen zum abgesicherten Hochfahren eines Computersystems mit einem verschlüsselten Dateisystem aufzuzeigen, die einen verbesserten Prozess sowie eine robuste Absicherung gegen Manipulationen ermöglichen.
  • Die Aufgabe wird in einem ersten Aspekt durch ein Verfahren gemäß Patentanspruch 1 gelöst.
  • Ein derartiges Verfahren ist vorgesehen zum abgesicherten Hochfahren eines Computersystems mit einem verschlüsselten Dateisystem, das in einem ersten Speicherbereich eines Speichers innerhalb des Computersystems gespeichert ist. Das Verfahren umfasst die folgenden Schritte, die automatisiert beim Start des Computersystems durchgeführt werden:
    • - Auslösen eines Startprozesses des Computersystems durch Zugreifen auf einen zweiten Speicherbereich des Speichers, in dem für den Startprozess erforderliche Programmdaten hinterlegt sind,
    • - Laden und Ausführen der für den Startprozess erforderlichen Programmdaten aus dem zweiten Speicherbereich,
    • - Einbinden eines an das Computersystem angeschlossenen externen Speichermediums, wobei auf dem externen Speichermedium ein Dateisystem-Schlüssel für eine Entschlüsselung von Dateisystem-Daten des verschlüsselten Dateisystems hinterlegt ist, wobei der Dateisystem-Schlüssel auf dem externen Speichermedium verschlüsselt ist,
    • - Laden des verschlüsselten Dateisystem-Schlüssels aus dem externen Speichermedium in das Computersystem,
    • - Entschlüsseln des verschlüsselten Dateisystem-Schlüssels vermittels eines im zweiten Speicherbereich hinterlegten Schlüssels,
    • - Setzen des entschlüsselten Dateisystem-Schlüssels in einem durch den Startprozess etablierten Kryptographiemodul, sowie
    • - Entschlüsseln und Laden von Dateisystem-Daten des verschlüsselten Dateisystems durch das Kryptographiemodul vermittels des gesetzten Dateisystem-Schlüssels, wodurch das Computersystem vollständig hochgefahren wird.
  • Bei einem derartigen Verfahren erfolgt ein Entschlüsseln von Dateisystem-Daten des verschlüsselten Dateisystems innerhalb des Computersystems zum Hochfahren des Computersystems vollautomatisch, ohne dass eine Benutzereingabe erforderlich ist. Das bedeutet, dass kein Benutzer mit Kenntnis eines entsprechenden Schlüssels oder einer Passphrase erforderlich ist, der potentiell kriminell, bestechlich oder erpressbar sein könnte. Ferner ist auch eine Manipulation einer Eingabe eines Schlüssels über eine Tastatur bzw. ein unerlaubtes Abgreifen eines Schlüssels während einer solchen Eingabe unterbunden, weil eine derartige Eingabe nicht erfolgt.
  • Zum Durchführen des obigen Verfahrens wird ein auf einem externen Speichermedium hinterlegter Dateisystem-Schlüssel verwendet. Das externe Speichermedium wird hierzu mit dem Computersystem verbunden. Das externe Speichermedium kann z.B. ein USB-Stick, eine SD-Karte oder eine externe Festplatte sein. Aus Sicherheitsgründen ist es vorteilhaft, das externe Speichermedium nur speziell zur Durchführung des hier erläuterten Verfahrens mit dem Computersystem zu verbinden. Insbesondere sollte nach der Durchführung des Verfahrens (z.B. nach dem vollständigen Hochfahren des Computersystems oder bereits nach dem Laden des verschlüsselten Dateisystem-Schlüssels aus dem externen Speichermedium in das Computersystem) das externe Speichermedium wieder vom Computersystem getrennt werden. Dies verhindert, dass beide Geräte (externes Speichermedium und Computersystem) gleichzeitig (ggf. unkontrolliert) in physischem Zugriff sind. Alternativ ist jedoch auch denkbar, das externe Speichermedium dauerhaft mit dem Computersystem zu verbinden.
  • Im Unterschied zu herkömmlichen Lösungen ist bei dem hier erläuterten Verfahren der Dateisystem-Schlüssel selbst verschlüsselt. Ein Schlüssel zum Entschlüsseln des Dateisystem-Schlüssels auf dem externen Speichermedium ist in einem Speicherbereich innerhalb des Speichers des Computersystems hinterlegt, auf den während des Startvorgangs zugegriffen werden kann. Auf diese Weise kann der geladene Dateisystem-Schlüssel automatisiert entschlüsselt werden, so dass wiederum vermittels des entschlüsselten Dateisystem-Schlüssels eine Entschlüsselung von Dateisystem-Daten des verschlüsselten Dateisystems möglich ist.
  • Der Vorteil des Verfahrens gegenüber herkömmlichen Lösungen besteht somit darin, dass der Dateisystem-Schlüssel auf dem externen Speichermedium nicht im Klartext auslesbar ist, z.B. durch Auslesen des Inhalts des externen Speichermediums auf einem fremden Computersystem. Der auf dem externen Speichermedium hinterlegte, verschlüsselte Dateisystem-Schlüssel kann vielmehr nur in Zusammenspiel mit dem vorbestimmten Computersystem verwendet werden, in welchem der passende Schlüssel zum Entschlüsseln des Dateisystem-Schlüssels hinterlegt ist, sodass obige Verfahrensschritte zum Entschlüsseln von Dateisystem-Daten und Hochfahren des Computersystems durchgeführt werden können. Auf diese Weise wird verhindert, dass sich ein Unbefugter des Dateisystem-Schlüssels im Klartext bedient, um das verschlüsselte Dateisystem zu entschlüsseln, sei es indem er den Dateisystem-Schlüssel während des Startvorgangs eingibt oder sei es indem er den Speicher ausbaut, in ein anderes Computersystem einbaut und den Dateisystem-Schlüssel anwendet.
  • Das hier dargestellte Verfahren ermöglicht somit einen vollautomatisierten Prozess zum Hochfahren eines Computersystems mit einem verschlüsselten Dateisystem, wobei der Prozess gegen einen unbefugten Zugriff auf den notwendigen Dateisystem-Schlüssel abgesichert ist. Das verwendete externe Speichermedium dient quasi als abgesicherter Schlüssel zur Durchführung der Entschlüsselung von Dateisystem-Daten des verschlüsselten Dateisystems.
  • Das hier dargestellte Verfahren kann z.B. für ein Computersystem angewendet werden, das ein spezielles System zum Aufbauen einer gesicherten Verbindung (z.B. VPN-Verbindung) zu einem oder mehreren anderen Computersystemen (z.B. Servern) ist. Beispielsweise kann das Computersystem eine Art „Verschlüsselungsbox“ oder „Verschlüsselungsrouter“ (z.B. Router mit VPN-Funktionalität) sein, wobei das Verfahren ein abgesichertes Hochfahren des Systems zum Aufbauen einer gesicherten Verbindung ermöglicht. In dem verschlüsselten Dateisystem können z.B. Verbindungsschlüssel (insbesondere VPN-Schlüssel) oder sonstige Authentifizierungsinformationen hinterlegt sein. Die Verschlüsselung des Dateisystems schützt diese Verbindungsschlüssel vor Manipulationen. Das verschlüsselte Dateisystem kann daneben auch das Betriebssystem enthalten. Eine Verschlüsselung des Dateisystems verhindert bzw. erschwert in diesem Fall einen Zugriff auf die Verbindungsschlüssel durch Manipulation der Dateien des Betriebssystems. Es ist z.B. denkbar, das Computersystem in einer Filiale eines Unternehmens zu betreiben und durch Hochfahren eine gesicherte Verbindung zu einem oder mehreren Zentralservern des Unternehmens herzustellen. Das als abgesicherter Schlüssel fungierende externe Speichermedium kann z.B. durch Mitarbeiter der Filiale genutzt werden, um das System automatisiert hochzufahren. Andere Einsatzzwecke und Ausgestaltungen des Computersystems sind natürlich ebenfalls denkbar und durch obige Darstellungen nicht ausgeschlossen.
  • Es ist denkbar, dass nur das Dateisystem im ersten Speicherbereich des Speichers verschlüsselt ist und andere Daten im ersten Speicherbereich des Speichers unverschlüsselt sind. Alternativ ist denkbar, dass der gesamte erste Speicherbereich verschlüsselt ist, sodass alle Daten (Dateisystem und ggf. andere Daten) im ersten Speicherbereich verschlüsselt sind. Es ist möglich, dass mehrere Dateisysteme im Speicher gespeichert sind. Diese Dateisysteme können sämtlich verschlüsselt sein oder nur einzelne Dateisysteme verschlüsselt sein. Es ist denkbar, dass mehrere Dateisysteme mit unterschiedlichen Dateisystem-Schlüsseln oder mit einem einheitlichen Dateisystem-Schlüssel verschlüsselt sind. Je nach obigen Konstellationen können die mehreren Dateisysteme in einem definierten Speicherbereich oder in mehreren definierten Speicherbereichen gespeichert sein. Der Begriff „Speicherbereich“ kann eine definierte Partition des Speichers sein oder sich lediglich als ein (Adress-) Bereich des Speichers definieren, in dem bestimmte Daten (z.B. Dateisystem-Daten) gespeichert sind.
  • Es ist denkbar, das obige Verfahren auf mehrere verschlüsselte Dateisysteme anzuwenden. Hierzu können verschiedene externe Speichermedien eingesetzt werden, die einen oder mehrere unterschiedliche Dateisystem-Schlüssel enthalten. Es ist aber auch denkbar, für das Starten und Hochfahren von mehreren verschlüsselten Dateisystemen ein externes Speichermedium einzusetzen, auf dem ein oder mehrere unterschiedliche Dateisystem-Schlüssel enthalten sind.
  • Die für den Startprozess erforderlichen Programmdaten können beispielsweise ein spezielles Startprogramm (einen sogenannten Bootloader) umfassen. Ferner können die für den Startprozess erforderlichen Programmdaten Betriebssystem-Daten (einen Betriebssystemkern) umfassen. Beispielsweise werden die Betriebssystem-Daten durch den Bootloader geladen. Der Startprozess des Computersystems wird zum Beispiel durch ein BIOS (Basic Input/Output System) ausgelöst. Das BIOS kann auf den zweiten Speicherbereich des Speichers zugreifen und dort die für den Start erforderlichen Programme laden.
  • Durch den letzten obigen Verfahrensschritt werden Dateisystem-Daten des verschlüsselten Dateisystems entschlüsselt und können je nach Anforderung (bedarfsweise) in den Hauptspeicher geladen werden. Die Dateisystem-Daten umfassen gemäß dem hier erläuterten Verfahren zumindest Daten, die zum vollständigen Hochfahren des Computersystems benötigt werden. Solche Daten können beispielsweise weitere Betriebssystem-Daten (neben Betriebssystem-Daten im zweiten Speicherbereich), Programm-Daten, Anwender-Daten (zum Beispiel Login-Informationen) usw. sein. In verschlüsselter Form sind die Dateisystem-Daten insofern wertlos (beziehungsweise erfolglos), weil keine Verarbeitung derart durchgeführt werden kann, dass ein erfolgreiches Hochfahren des Dateisystems möglich ist. Erst in entschlüsselter Form (d.h. im Klartext) können die Dateisystem-Daten erfolgreich geladen und ausgeführt werden, sodass das Computersystem vollständig hochfahren kann.
  • Der Begriff „Kryptographiemodul“ umfasst ein Kryptographieprogramm oder einen Teil eines Kryptographieprogramms (Programmteil) bzw. einen oder mehrere Threads (z.B. Kernel-Thread) zur Abarbeitung der hier erläuterten Kryptographie-Aufgaben (Ver- bzw. Entschlüsselung).
  • Der Begriff „Entschlüsseln“ bedeutet bei dem hier erläuterten Verfahren generell, dass eine oder mehrere Komponenten (z.B. ein Kryptographiemodul) des Computersystems vermittels des an diese übergebenen Dateisystem-Schlüssels lesend und/oder schreibend auf Dateisystem-Daten, die im ersten Speicherbereich gespeichert sind, zugreifen können (und damit z.B. das Dateisystem booten können). Die Entschlüsselung von verschlüsselten Dateisystem-Daten kann in einem dedizierten Kryptographiemodul (z.B. bei Linux-Systemen im Modul „dmcrypt“) bzw. in einem Schlüsselverwaltungsprogramm (z.B. bei Linux-Systemen im sogenannten „Linux Unified Key Setup“, kurz „LUKS“) vermittels eines sogenannten Master-Schlüssels durchgeführt werden. Hierzu kann ein symmetrisches Kryptographieverfahren eingesetzt werden. Der Master-Schlüssel dient dabei der Ver- bzw. Entschlüsselung der Dateisystem-Daten. Alternativ kann auch ein asymmetrisches Kryptographieverfahren eingesetzt werden. Dabei erfolgen eine Verschlüsselung mit einem ersten Master-Schlüssel (zumeist als öffentlicher Schlüssel bezeichnet) und eine Entschlüsselung mit einem zweiten, davon unterschiedlichen Master-Schlüssel (zumeist als privater Schlüssel bezeichnet). In beiden Methoden wird ein eingesetzter Master-Schlüssel aus dem Dateisystem-Schlüssel generiert, durch den Dateisystem-Schlüssel selbst gebildet oder ist ein vom Dateisystem-Schlüssel separater Schlüssel, der vermittels des Dateisystem-Schlüssels seinerseits ver- bzw. entschlüsselt wird.
  • Ohne Entschlüsselung der verschlüsselten Dateisystem-Daten im Computersystem vermittels des gesetzten Dateisystem-Schlüssels ist somit ein Hochfahren des Computersystems blockiert. Ein unbefugter Dritter kann auf das Computersystem und etwaige vertrauliche Inhalte im Dateisystem dann nicht zugreifen.
  • Durch den letzten obigen Verfahrensschritt wird das Computersystem vollständig gebootet und ist danach in einem lauffähigen (laufenden) Betrieb, in dem auf das Dateisystem zugegriffen werden kann. Ein Entschlüsseln von Dateisystem-Daten des verschlüsselten Dateisystems kann bedeuten, dass das gesamte Dateisystem im Speicher während des Startprozesses entschlüsselt wird. Alternativ ist es jedoch - nicht zuletzt aus Performance- und Sicherheitsgründen - praktikabel, nicht das gesamte verschlüsselte Dateisystem zu entschlüsseln, sondern lediglich den Dateisystem-Schlüssel in einem Kryptographiemodul zu setzen, das als eine Kryptographieschicht zwischen laufenden Prozessen des Betriebssystems und dem verschlüsselten Dateisystem im ersten Speicherbereich des Speichers eingerichtet ist. So können bedarfsweise Dateisystem-Daten, die durch laufende Prozesse angefordert werden, automatisiert durch die Kryptographieschicht des Kryptographiemoduls verarbeitet werden, so dass sie für die laufenden Prozesse lesbar sind und z.B. in den Hauptspeicher geladen werden können. Ansonsten verbleiben die Dateisystem-Daten in verschlüsselter Form im ersten Speicherbereich des Speichers. Im Hauptspeicher geladene Dateisystem-Daten, die nicht mehr benötigt werden, werden in verschlüsselter Form (vermittels der Kryptographieschicht) in das Dateisystem in den ersten Speicherbereich des Speichers zurückgeschrieben.
  • Vorteilhaft sollte der zweite Speicherbereich gegen Manipulationen abgesichert sein. Dies kann z.B. durch Setzen eines Passworts gegen unerlaubten Zugriff auf den Speicher des Computersystems (auch im ausgebauten Zustand) erfolgen. Es ist auch vorteilhaft, den Startprozess ggf. durch Setzen eines BIOS-Passworts zusätzlich abzusichern. Auf diese Weise wird eine Manipulation des BIOS bzw. eine ungewollte Veränderung von Einstellungen innerhalb des BIOS erschwert. Auch ist es vorteilhaft, den physischen Zugriff auf das Dateisystem zu erschweren bzw. diesen durch Verwendung von Versiegelungen sichtbar zu machen.
  • In einer Ausgestaltung des Verfahrens ist der Dateisystem-Schlüssel auf dem externen Speichermedium innerhalb einer Schlüssel-Datei hinterlegt. Die Schlüssel-Datei enthält neben dem Dateisystem-Schlüssel zusätzlich eine Kennung des externen Speichermediums. Während des Verfahrens wird dann die Schlüssel-Datei aus dem externen Speichermedium in das Computersystem geladen. Zusätzlich kann der folgende Schritt durchgeführt werden:
    • - Überprüfen der in der Schlüssel-Datei enthaltenen Kennung des externen Speichermediums auf Identität mit einer durch Einbinden des externen Speichermediums ermittelten tatsächlichen Kennung.
  • Durch die genannten Maßnahmen erfolgt eine Kopplung des Dateisystem-Schlüssels mit einer Kennung des externen Speichermediums. Dadurch wird der Dateisystem-Schlüssel mit einem für das Verfahren zu verwendenden externen Speichermedium verknüpft. Der Dateisystem-Schlüssel kann mit der Kennung in einem speziellen Kombinationsverfahren kombiniert werden. Als Kennung eignet sich beispielsweise die Seriennummer des externen Speichermediums. Alternativ oder zusätzlich zur Kennung können auch andere Informationen in der Schlüssel-Datei enthalten und ggf. mit dem Dateisystem-Schlüssel kombiniert sein, z.B. ein frei wählbarer String (z.B. ein vergebener Name des externen Speichermediums, Benutzername, usw.).
  • Durch eine Verknüpfung des Dateisystem-Schlüssels mit einer Kennung oder mit sonstigen innerhalb der Schlüssel-Datei gespeicherten Informationen wird somit ein einfaches Kopieren der Schlüssel-Datei auf ein anderes externes Speichermedium erschwert. Denn durch Abgleich und Überprüfen der in der Schlüssel-Datei hinterlegten Kennung oder sonstiger Informationen auf Identität mit der durch Einbinden des externen Speichermediums ermittelten tatsächlichen Kennung des verwendeten externen Speichermediums oder sonstigen im Computersystem hinterlegten Informationen kann bereits während des Startprozesses erkannt werden, ob das zu verwendende Speichermedium oder ein anderes Speichermedium benutzt wird. Weicht die in der Schlüssel-Datei hinterlegte Kennung von der durch Einbinden des externen Speichermediums ermittelten tatsächlichen Kennung ab, so wird festgestellt, dass ein anderes als das zu verwendende Speichermedium benutzt wird. Anderenfalls wird das verwendete Speichermedium als das erwartete akzeptiert. Gleiches gilt neben der Kennung für sonstige hinterlegte Informationen.
  • Die erläuterten Maßnahmen einer Verknüpfung des Dateisystem-Schlüssels mit einer Kennung des externen Speichermediums und/oder mit sonstigen erläuterten Informationen und ggf. die Überprüfung der Identität der abgeglichenen Kennungen oder sonstigen Informationen verhindern (oder zumindest erschweren) somit den Einsatz des Dateisystem-Schlüssels durch Kopieren auf ein externes Speichermedium, das von dem zu verwendenden Speichermedium abweicht. Dadurch wird einer ungewollten Vervielfältigung des Dateisystem-Schlüssels bzw. der Schlüssel-Datei als solche entgegengewirkt.
  • Es ist denkbar, die gesamte Schlüssel-Datei (und nicht nur den Dateisystem-Schlüssel) auf dem externen Speichermedium zu verschlüsseln, so dass neben dem Dateisystem-Schlüssel auch die sonstigen Informationen innerhalb der Schlüssel-Datei verschlüsselt sind. In diesem Fall kann die verschlüsselte Schlüssel-Datei während des Startprozesses aus dem externen Speichermedium in das Computersystem geladen werden und vermittels des im zweiten Speicherbereich hinterlegten Schlüssels entschlüsselt werden, so dass der Dateisystem-Schlüssel zur Entschlüsselung von Dateisystem-Daten - wie erläutert - herangezogen werden kann. Ferner wird die in der Schlüssel-Datei hinterlegte Kennung nach Entschlüsseln der verschlüsselten Schlüssel-Datei überprüft.
  • Eine Verschlüsselung der gesamten Schlüssel-Datei hat den Vorteil, dass eine Abänderung der Schlüssel-Datei massiv erschwert wird. Dadurch sind die neben dem Dateisystem-Schlüssel innerhalb der Schlüssel-Datei hinterlegten sonstigen Informationen gegen Manipulationen abgesichert. Z.B. ist eine in der Schlüssel-Datei hinterlegte Kennung gegen eine manipulative Anpassung an eine Kennung eines fremden externen Speichermediums abgesichert, sodass der obige Prozess einer Überprüfung der Identität der verwendeten Kennungen nur schwer manipuliert werden kann.
  • Die Schlüssel-Datei oder auch nur der Dateisystem-Schlüssel (bei Verwendung ohne Schlüssel-Datei) sollte einen bestimmten Namen aufweisen, um eindeutig auf dem externen Speichermedium hinterlegt zu werden und während des Verfahrens aufgefunden werden zu können. Der Name kann immer derselbe, in Teilen oder ganz frei wählbar sein. Alternativ kann die Schlüssel-Datei oder der Dateisystem-Schlüssel aber auch anderweitig gespeichert werden, zum Beispiel zwischen partitionierten Bereichen auf dem externen Speichermedium gespeichert werden, um die Schlüssel-Datei bzw. den Dateisystem-Schlüssel quasi zu „verstecken“, so dass diese Information für unbefugte Dritte nicht ohne weiteres erkennbar ist.
  • Es kann sinnvoll sein, eine Hardwareinformation des verwendeten Computersystems in den Namen der Schlüssel-Datei oder des Dateisystem-Schlüssels zu kodieren. Sinnvollerweise wird dazu eine Information genommen, die nicht von außerhalb des Gerätes verfügbar ist, um die Zuordnung des externen Speichermediums zu einem bestimmten Computersystem durch Außenstehende zu erschweren. Sinnvoll wäre z.B. eine Seriennummer des externen Speichermediums. Alternativ oder ergänzend kommt auch die Verwendung einer im Dateisystem gespeicherten Zufallszahl in Betracht. Diese kann ggf. mit einer anderen Information verknüpft werden. Dann könnte - falls gewünscht - auch ein einzelnes externes Speichermedium problemlos für die Entschlüsselung von unterschiedlichen Dateisystemen ggf. mehrerer verschiedener Computersysteme verwendet werden.
  • In einer Ausgestaltung des Verfahrens werden nach dem vollständigen Hochfahren des Computersystems die folgenden weiteren Schritte durchgeführt:
    • - Laden einer Kopie der Schlüssel-Datei, die im Dateisystem hinterlegt ist,
    • - Überprüfen der aus dem externen Speichermedium geladenen Schlüssel-Datei auf Identität mit der geladenen Kopie der Schlüssel-Datei.
  • Ggf. können vor der Durchführung dieser Maßnahmen die folgenden zusätzlichen Schritte durchgeführt werden:
    • - Einbinden des an das Computersystem angeschlossenen externen Speichermediums in das hochgefahrene Dateisystem und
    • - Laden der Schlüssel-Datei aus dem externen Speichermedium in das hochgefahrene Computersystem.
  • Die letztgenannten Schritte sind erforderlich, falls nach dem vollständigen Hochfahren des Computersystems das externe Speichermedium erneut in das nun hochgefahrene Dateisystem eingebunden werden muss.
  • Alternativ sind die Maßnahmen dieser Ausgestaltung des Verfahrens nur auf den Dateisystem-Schlüssel (und nicht auf die gesamte Schlüssel-Datei) anwendbar. In dieser Ausgestaltung werden die folgenden Schritte durchgeführt:
    • - Laden einer Kopie des verschlüsselten (oder unverschlüsselten) Dateisystem-Schlüssels, die im Dateisystem hinterlegt ist,
    • - Überprüfen des aus dem externen Speichermedium geladenen verschlüsselten (und anschließend entschlüsselten) Dateisystem-Schlüssels auf Identität mit der geladenen Kopie des verschlüsselten (oder unverschlüsselten) Dateisystem-Schlüssels.
  • Auch hier können ggf. vor der Durchführung dieser Maßnahmen die folgenden zusätzlichen Schritte durchgeführt werden:
    • - Einbinden des an das Computersystem angeschlossenen externen Speichermediums in das hochgefahrene Dateisystem und
    • - erneutes Laden des verschlüsselten Dateisystem-Schlüssels aus dem externen Speichermedium in das hochgefahrene Computersystem.
  • Zur Durchführung der erläuterten Maßnahmen ist eine Kopie der verschlüsselten oder unverschlüsselten Schlüssel-Datei bzw. des verschlüsselten oder unverschlüsselten Dateisystem-Schlüssels im Dateisystem im ersten Speicherbereich des Speichers innerhalb des Computersystems vorhinterlegt. Ein Zugriff auf diese Kopie ist ohne das erläuterte Verfahren des Entschlüsselns der Dateisystem-Daten vermittels des externen Speichermediums nicht oder nur sehr schwer möglich, weil das Dateisystem innerhalb des Computersystems verschlüsselt ist. Somit ist diese im verschlüsselten Dateisystem vorhinterlegte Kopie gegen Manipulationen abgesichert.
  • Die im Dateisystem vorhinterlegte Kopie (je nachdem, ob sie die verschlüsselte oder unverschlüsselte Schlüssel-Datei bzw. den verschlüsselten oder unverschlüsselten Dateisystem-Schlüssel umfasst) wird mit der Version der verschlüsselten oder entschlüsselten Schlüssel-Datei bzw. des verschlüsselten oder entschlüsselten Dateisystem-Schlüssels aus dem externen Speichermedium verglichen. Die Überprüfung der Schlüssel-Datei bzw. des Dateisystem-Schlüssels auf dem externen Speichermedium auf Identität mit der entsprechenden im Dateisystem vorhinterlegten Kopie ist eine Sicherheitshürde, die durch das Computersystem mit hochgefahrenem Dateisystem geprüft wird. Das hochgefahrene Computersystem prüft hierbei, ob die Schlüssel-Datei bzw. der Dateisystem-Schlüssel auf dem externen Speichermedium mit einem entsprechenden Abbild übereinstimmt, welches zuvor (z.B. während einer Vorbereitung des erläuterten Verfahrens) im laufenden Dateisystem des hochgefahrenen Computersystems erstellt worden ist.
  • Somit kann das hochgefahrene Computersystem eine Manipulation der Schlüssel-Datei bzw. des Dateisystem-Schlüssels auf dem externen Speichermedium erkennen, selbst wenn eine derartige Manipulation während des Startprozesses (Laden und Entschlüsseln des Dateisystem-Schlüssels bzw. der Schlüssel-Datei und ggf. Überprüfen einer Kennung des externen Speichermediums) nicht erkannt worden ist, z.B. weil der Startprozess selbst manipuliert worden ist.
  • Es ist denkbar, zumindest während der Durchführung der oben erläuterten Maßnahmen nach dem vollständigen Hochfahren des Computersystems (wobei der Dateisystem-Schlüssel für eine Entschlüsselung von Dateisystem-Daten gesetzt wurde, so dass das Dateisystem zumindest teilweise unverschlüsselt geladen sein kann) einen Zugriff durch Benutzer auf das Computersystem auf vorbestimmte Benutzer einzuschränken oder jeglichen Zugriff zu verbieten. Letzteres kann z.B. dadurch erfolgen, dass keine Log-In-Möglichkeit auf das Dateisystem (z.B. über eine Shell oder Konsole) bereitgestellt wird. Dadurch kann sich kein Benutzer auf dem Computersystem einloggen, sodass auch eine Zugriffsmöglichkeit auf das Dateisystem unterbunden bzw. stark erschwert wird.
  • In einer Ausführung der obigen Ausgestaltung umfasst das Verfahren die weiteren Schritte:
    • - Extrahieren einer Kennung des externen Speichermediums aus der geladenen Kopie der Schlüssel-Datei, die im Dateisystem hinterlegt ist, sowie
    • - Überprüfen der aus der geladenen Kopie der Schlüssel-Datei extrahierten Kennung auf Identität mit einer durch Einbinden des an das Computersystem angeschlossenen externen Speichermediums in das hochgefahrene Dateisystem ermittelten tatsächlichen Kennung.
  • Falls in dieser Ausgestaltung des Verfahrens die Kopie der Schlüssel-Datei selbst verschlüsselt ist (z.B. vermittels des gleichen Schlüssels, mit dem ggf. auch die Schlüssel-Datei auf dem externen Speichermedium verschlüsselt ist, siehe oben), werden zunächst die folgenden Schritte durchgeführt:
    • - Laden eines im Dateisystem hinterlegten Schlüssels (der dem Schlüssel entsprechen kann, mit dem ggf. auch die aus dem externen Speichermedium geladene Schlüssel-Datei entschlüsselt wird, siehe oben),
    • - Entschlüsseln der geladenen Kopie der verschlüsselten Schlüssel-Datei in eine entschlüsselte Kopie der Schlüssel-Datei vermittels des geladenen Schlüssels.
  • Aus der entschlüsselten Kopie der Schlüssel-Datei kann dann die Kennung extrahiert und überprüft werden. Durch Abgleich einer in der Kopie der Schlüssel-Datei hinterlegten Kennung mit der Kennung des verwendeten externen Speichermediums durch das hochgefahrene Computersystem kann nicht nur eine Manipulation der Schlüssel-Datei bzw. des Dateisystem-Schlüssels auf dem externen Speichermedium im Allgemeinen erkannt werden. Es kann speziell überprüft werden, ob für das Verfahren genau das externe Speichermedium verwendet wird, das bei einem Einrichten des Prozesses verwendet wurde, d.h. auf das zuvor die Schlüssel-Datei bzw. der Dateisystem-Schlüssel gespeichert worden ist.
  • In diesem Zusammenhang ist zu erwähnen, dass eine Manipulation des Startprozesses des erläuterten Verfahrens derart denkbar wäre, dass die Schlüssel-Datei auf ein fremdes externes Speichermedium kopiert wird und der zweite (unverschlüsselte) Speicherbereich des Computersystems manipuliert wird, um eine Überprüfung der Kennung des verwendeten externen Speichermediums und/oder einen Abgleich mit einer in der Schlüssel-Datei gespeicherten Kennung während des Startprozesses - wie oben erläutert - zu beeinflussen.
  • Es ist auch denkbar, über eine Manipulation oder ein Auslesen des zweiten (unverschlüsselten) Speicherbereichs an den Schlüssel zur Entschlüsselung der verschlüsselten Schlüssel-Datei auf dem externen Speichermedium zu gelangen. Dann könnte die Schlüssel-Datei entschlüsselt und derart mit einer neuen Kennung des ausgetauschten Speichermediums versehen werden, dass dies bei einer Überprüfung während des Startprozesses nicht auffällt. Es sei angemerkt, dass durch eine Entschlüsselung der verschlüsselten Schlüssel-Datei ggf. auch der Dateisystem-Schlüssel selbst im Klartext erlangt werden kann. Falls jedoch das Computersystem, insbesondere der Speicher im Computersystem, gegen einen physischen Zugriff zum Ausbau des Speichers für eine Entschlüsselung in einem anderen Computersystem speziell abgesichert ist (z.B. über eine Versiegelung) und das Computersystem eine Eingabe des entschlüsselten Dateisystem-Schlüssels verhindert, um eine Entschlüsselung außerhalb des Prozessablaufs zu verhindern, könnte ein unberechtigter Dritter die obige Manipulation der verschlüsselten Schlüssel-Datei in Erwägung ziehen, um den Prozess zu manipulieren und dennoch eine (zumindest partielle) Entschlüsselung des Dateisystems für einen Zugriff auf Daten zu erwirken.
  • Um den dargestellten Manipulationsmöglichkeiten entgegenzuwirken, gleicht das hochgefahrene Computersystem eine in der vorhinterlegten Kopie der Schlüssel-Datei enthaltene Kennung mit der Kennung des verwendeten externen Speichermediums ab. Hierdurch fällt eine Abweichung der in der Schlüssel-Datei hinterlegten Kennung bzw. der durch Einbinden des externen Speichermediums ermittelten tatsächlichen Kennung von der in der Kopie hinterlegten Kennung auf. Aufgrund dieser Maßnahmen ist der Prozess daher robust gegen Manipulationen abgesichert.
  • In einer Ausgestaltung des Verfahrens wird nach dem vollständigen Hochfahren des Computersystems der folgende weitere Schritt durchgeführt:
    • - Überprüfen der Programmdaten innerhalb des zweiten Speicherbereichs auf Identität mit einer Kopie der Programmdaten des zweiten Speicherbereichs, die im Dateisystem im ersten Speicherbereich hinterlegt ist.
  • Zur Durchführung dieser Maßnahme ist eine Kopie der Programmdaten des zweiten Speicherbereichs im Dateisystem im ersten Speicherbereich des Speichers innerhalb des Computersystems vorhinterlegt. Ein Zugriff auf diese Kopie ist ohne die vorgenannten Maßnahmen des Entschlüsselns der Dateisystem-Daten vermittels des externen Speichermediums nicht möglich, weil das Dateisystem innerhalb des Computersystems verschlüsselt ist. Die oben dargestellte Überprüfungsmaßnahme zeigt eine Manipulation der Programmdaten des zweiten Speicherbereichs an, falls die Programmdaten des zweiten Speicherbereichs von der Kopie im Dateisystem innerhalb des Computersystems abweichen. Somit kann erkannt werden, falls Programmdaten des zweiten Speicherbereichs verändert worden sind. Auch diese Maßnahme sichert den Prozess zusätzlich ab und erschwert dessen Manipulation.
  • Nachfolgend werden Maßnahmen zur Vorbereitung eines Neustarts eines Computersystems mit einem verschlüsselten Dateisystem in einem Speicher des Computersystems dargestellt. Diese Maßnahmen können als spezielle Ausgestaltung des oben erläuterten Verfahrens angewendet werden. Es ist jedoch auch denkbar, diese Maßnahmen unabhängig von einem oben erläuterten Verfahren als separates eigenes Verfahren anzuwenden. In letzterer Konstellation startet das Verfahren, während das Computersystem hochgefahren ist und ein laufendes Dateisystem bereitstellt.
  • Nach dem vollständigen Hochfahren des Computersystems werden die folgenden Schritte zur Vorbereitung eines Neustarts des Computersystems durchgeführt:
    • - Bestimmen eines Zeitfensters mit einer vorbestimmten Anfangszeit und einer vorbestimmten Endzeit und Hinterlegen des Zeitfensters im Dateisystem,
    • - Erzeugen eines temporären Dateisystem-Schlüssels für eine Entschlüsselung von verschlüsselten Dateisystem-Daten des Dateisystems nach einem Neustart des Computersystems,
    • - Hinterlegen des temporären Dateisystem-Schlüssels im zweiten Speicherbereich, sowie
    • - Auslösen eines Neustarts des Computersystems.
  • Diese Schritte dienen zur Vorbereitung eines Neustarts des Computersystems. Das Bestimmen eines Zeitfensters mit einer vorbestimmten Anfangszeit und einer vorbestimmten Endzeit dient der Festlegung einer vordefinierten Zeitspanne, in der der Neustart erwartet wird bzw. in der der Neustart erfolgen muss, um das Computersystem wieder in einen Normalbetrieb mit vollständig hochgefahrenem Dateisystem zu bringen. Die Festlegung eines vordefinierten Zeitfensters für den Neustart verhindert oder erschwert somit Manipulationen des Neustart-Prozesses. Denn Manipulationen, die in den Neustart-Prozess eingreifen, benötigen eine gewisse Zeit und fallen durch Abprüfen einer vordefinierten (vergleichsweise kurzen) Zeitspanne auf. Insbesondere wird dadurch den folgenden denkbaren Manipulationen zur Erlangung des für den Neustart verwendeten temporären Dateisystem-Schlüssels zur Entschlüsselung von Dateisystem-Daten entgegengewirkt:
    • - Ausschalten des Computersystems, wenn das Computersystem gerade heruntergefahren ist, und/oder
    • - Ausbau (und ggf. Kopie) des im Computersystem verbauten Speichers, auf dem das verschlüsselte Dateisystem gespeichert ist.
  • Ferner ist vorteilhaft, das Computersystem bzw. einen Neustart-Prozess durch weitere Maßnahmen zusätzlich abzusichern. Derartige Maßnahmen können zum Beispiel sein:
    • - Ein durchgeführter Neustart-Prozess sollte nach Möglichkeit durch eine physisch am Computersystem anwesende Person überwacht werden; dann würde direkt auffallen, wenn der Neustart-Prozess zu lange dauert,
    • - Es sollte ein BIOS-Passwort vergeben sein, um Manipulationen der Systemzeit des Computersystems sowie anderweitige Manipulationen zur Umgehung des vordefinierten Zeitfensters zu verhindern,
    • - Das Computersystem (das physische Gehäuse des Computersystems) sollte speziell versiegelt sein, so dass Manipulationen am Gehäuse des Computersystems, zum Beispiel für einen Ausbau des internen Speichers, auffallen.
  • Das Erzeugen und Hinterlegen eines temporären Dateisystem-Schlüssels dient dem Entschlüsseln von Dateisystem-Daten des verschlüsselten Dateisystems nach einem erfolgreichen Neustart des Computersystems. Dies hat zudem den Vorteil, dass der Neustart und ein erneutes vollständiges Hochfahren des Computersystems trotz des verschlüsselten Dateisystems automatisiert durchgeführt werden können, ohne dass ein spezieller Prozess lokal am Computersystem selbst durchgeführt werden muss. Insbesondere ist es somit nicht notwendig, eine Passphrase zu Beginn des erneuten Startvorgangs durch einen Benutzer oder - wie oben im Rahmen eines entsprechenden Verfahrens erläutert - durch ein externes Speichermedium an das Computersystem zu übergeben. Insofern sind die Maßnahmen insbesondere für einen Neustart des Computersystems vorteilhaft, der aus der Ferne, zum Beispiel durch einen Administrator, ausgelöst wird.
  • In einer Ausgestaltung der obigen Maßnahmen wird vor dem Schritt des Auslösens eines Neustarts des Computersystems zusätzlich eine Kopie des temporären Dateisystem-Schlüssels im Dateisystem hinterlegt. Diese Kopie des temporären Dateisystem-Schlüssels im Dateisystem dient einer späteren Verifikation des temporären Dateisystem-Schlüssels, wie unten näher erläutert wird.
  • In einer Ausgestaltung der obigen Maßnahmen werden durch Auslösen des Neustarts des Computersystems die folgenden Schritte durchgeführt:
    • - Herunterfahren des Dateisystems, wobei das Dateisystem vollständig verschlüsselt und im ersten Speicherbereich gespeichert wird,
    • - Erneutes Auslösen des Startprozesses des Computersystems durch Zugreifen auf den zweiten Speicherbereich, in dem die für den Startprozess erforderlichen Programmdaten hinterlegt sind,
    • - Laden und Ausführen der für den Startprozess erforderlichen Programmdaten aus dem zweiten Speicherbereich,
    • - Laden des temporären Dateisystem-Schlüssels aus dem zweiten Speicherbereich,
    • - Setzen des geladenen temporären Dateisystem-Schlüssels in einem durch den Startprozess etablierten Kryptographiemodul,
    • - Entschlüsseln und Laden von verschlüsselten Dateisystem-Daten des Dateisystems durch das Kryptographiemodul vermittels des gesetzten temporären Dateisystem-Schlüssels, wodurch das Computersystem vollständig hochgefahren wird,
    • - Lesen der aktuellen Systemzeit des Computersystems, sowie
    • - Überprüfen, ob die aktuelle Systemzeit innerhalb des aus dem Dateisystem geladenen bestimmten Zeitfensters liegt.
  • Durch die genannten Maßnahmen wird das heruntergefahrene Computersystem schließlich neu gestartet, wobei ein Entschlüsseln von Dateisystem-Daten des verschlüsselten Dateisystems innerhalb des Computersystems vollautomatisch vermittels des hinterlegten, geladenen und angewendeten temporären Dateisystem-Schlüssels erfolgt. Zusätzlich wird nach dem Neustart durch das hochgefahrene Computersystem die aktuelle Systemzeit gelesen und überprüft, ob die aktuelle Systemzeit innerhalb des vorbestimmten Zeitfensters liegt. Dadurch können oben erläuterte Manipulationen verhindert bzw. erschwert werden. Zusätzlich sollte das Computersystem bzw. der Neustart-Prozess durch oben erläuterte Maßnahmen zusätzlich abgesichert sein. Falls das vorgegebene Zeitfenster nicht eingehalten wird, kann das Computersystem in einen abgesicherten Modus gebracht oder z.B. wieder heruntergefahren werden. Der abgesicherte Modus kann zum Beispiel einen restriktiven Startprozess umfassen, der nur von einem eingeschränkten Benutzerkreis ausgelöst werden kann. Alternativ ist denkbar, dass der abgesicherte Modus zwingend ein obiges Verfahren zum abgesicherten Hochfahren des Computersystems vorsieht, falls die hier erläuterten Maßnahmen im Rahmen eines derartigen Verfahrens durchgeführt werden.
  • In einer Ausgestaltung der obigen Maßnahmen wird nach dem erneuten vollständigen Hochfahren des Computersystems nach dem Neustart der folgende weitere Schritt durchgeführt:
    • - Überprüfen des im zweiten Speicherbereich hinterlegten temporären Dateisystem-Schlüssels auf Identität mit der geladenen Kopie des temporären Dateisystem-Schlüssels, die im Dateisystem hinterlegt wurde.
  • Durch diese Maßnahme kann eine Manipulation bzw. Abänderung des temporären Dateisystem-Schlüssels im zweiten (unverschlüsselten) Speicherbereich des Speichers erkannt werden. Falls der temporäre Dateisystem-Schlüssel im zweiten Speicherbereich von der im Dateisystem hinterlegten Kopie abweicht, kann das Computersystem in einen abgesicherten Modus gebracht oder z.B. wieder heruntergefahren werden (siehe obige Erläuterungen). Somit ist der Neustart-Prozess zusätzlich abgesichert.
  • Durch die erläuterten Maßnahmen zum Vorbereiten und Durchführen eines Neustart-Prozesses wird ein automatisierter und dennoch stark abgesicherter Prozess zum Neustarten eines Computersystems mit einem verschlüsselten Dateisystem bereitgestellt. Die genannten Maßnahmen verhindern bzw. erschweren insbesondere eine Erlangung des für den Neustart-Prozess eingesetzten temporären Dateisystem-Schlüssels.
  • Die obige Aufgabe wird in einem weiteren Aspekt durch ein Verfahren gemäß Patentanspruch 10 gelöst.
  • Ein derartiges Verfahren ist vorgesehen zum Bereitstellen von Maßnahmen zum abgesicherten Hochfahren eines Computersystems mit einem Dateisystem, das in einem ersten Speicherbereich eines Speichers innerhalb des Computersystems gespeichert ist. Das Verfahren umfasst die folgenden Schritte, die automatisiert während des laufenden Betriebs des hochgefahrenen Computersystems durchgeführt werden:
    • - Einbinden eines an das Computersystem angeschlossenen externen Speichermediums,
    • - Erzeugen eines Dateisystem-Schlüssels für eine spätere Entschlüsselung von Dateisystem-Daten des im ersten Speicherbereich des Speichers abgelegten Dateisystems,
    • - Verschlüsseln des erzeugten Dateisystem-Schlüssels,
    • - Hinterlegen des verschlüsselten Dateisystem-Schlüssels auf dem externen Speichermedium, sowie
    • - Hinterlegen eines Schlüssels in einem zweiten Speicherbereich des Speichers innerhalb des Computersystems für eine Entschlüsselung des auf dem externen Speichermedium hinterlegten, verschlüsselten Dateisystem-Schlüssels.
  • Ein derartiges Verfahren ermöglicht das Bereitstellen von Maßnahmen zum abgesicherten Automatisieren eines Prozesses zum Hochfahren eines Computersystems mit einem verschlüsselten Dateisystem durch Erzeugen eines Dateisystem-Schlüssels und Ablegen dieses Schlüssels auf einem externen Speichermedium, das während eines Startprozesses eingebunden werden kann. Zum Schutz gegen einen Zugriff auf den Dateisystem-Schlüssel im Klartext wird der Dateisystem-Schlüssel zudem verschlüsselt und ein entsprechender Schlüssel zum Entschlüsseln des verschlüsselten Dateisystem-Schlüssels in einem während des Startprozesses zugänglichen Speicherbereich des Speichers im Computersystem hinterlegt. Auf diese Weise werden Maßnahmen bereitgestellt, durch die ein oben erläutertes Verfahren mit den erläuterten Schutzmechanismen und Vorteilen einfach implementiert werden kann. Soweit die durch die nachfolgenden Ausgestaltungen erzielten Vorteile nicht ergänzend erläutert werden, wird auf die oben im Zusammenhang mit Ausgestaltungen eines Verfahrens zum abgesicherten Hochfahren eines Computersystems erläuterten Vorteile Bezug genommen.
  • Die Verschlüsselung des Dateisystem-Schlüssels im Rahmen des an dieser Stelle erläuterten Verfahrens erfolgt vorteilhaft durch ein Kryptographiemodul (z.B. pgp, gnupg oder dm-crypt). Ein derartiges Kryptographiemodul kann identisch oder unterschiedlich zu einem Kryptographiemodul zur Entschlüsselung eines verschlüsselten Dateisystem-Schlüssels im Rahmen des oben erläuterten Verfahrens zum abgesicherten Hochfahren eines Computersystems ausgeführt sein.
  • In einer Ausgestaltung des Verfahrens wird der Dateisystem-Schlüssel gemeinsam mit einer Kennung des externen Speichermediums in einer Schlüssel-Datei hinterlegt und die Schlüssel-Datei anschließend auf dem externen Speichermedium hinterlegt. Dadurch wird der Dateisystem-Schlüssel bewusst mit einer Kennung des externen Speichermediums gekoppelt. Dies erzwingt eine Verknüpfung des Dateisystem-Schlüssels mit dem externen Speichermedium. Der Dateisystem-Schlüssel kann mit der Kennung durch ein spezielles Kombinationsverfahren kombiniert werden.
  • Es ist denkbar, die gesamte Schlüssel-Datei (und nicht nur den Dateisystem-Schlüssel) auf dem externen Speichermedium zu verschlüsseln, so dass neben dem Dateisystem-Schlüssel auch die sonstigen Informationen innerhalb der Schlüssel-Datei verschlüsselt sind.
  • In einer Ausgestaltung des Verfahrens wird zusätzlich eine Kopie der Schlüssel-Datei im Dateisystem im ersten Speicherbereich des Speichers hinterlegt. Alternativ ist die Maßnahme dieser Ausgestaltung des Verfahrens nur auf den Dateisystem-Schlüssel (und nicht auf die gesamte Schlüssel-Datei) anwendbar. In dieser alternativen Ausgestaltung wird eine Kopie des Dateisystem-Schlüssels im Dateisystem im ersten Speicherbereich des Speichers hinterlegt. Das Hinterlegen einer Kopie der Schlüssel-Datei bzw. des verschlüsselten Dateisystem-Schlüssels im Dateisystem im ersten Speicherbereich des Speichers schafft eine Sicherheitshürde, die während eines nachfolgend durchgeführten Prozesses zum Hochfahren des Computersystems durch das Computersystem mit hochgefahrenem Dateisystem geprüft werden kann. Dadurch kann eine Manipulation der Schlüssel-Datei bzw. des verschlüsselten Dateisystem-Schlüssels auf dem während des Boot-Prozesses verwendeten externen Speichermedium erkannt werden.
  • In einer Ausgestaltung umfasst das Verfahren den folgenden weiteren Schritt:
    • - Überprüfen von Programmdaten, die innerhalb des zweiten Speicherbereichs des Speichers hinterlegt und für einen Startprozess des Computersystems erforderlich sind, auf Identität mit einer Kopie dieser Programmdaten, die im Dateisystem im ersten Speicherbereich hinterlegt ist.
  • Dieser Schritt kann als vorbereitende Maßnahme der obigen Verfahrensschritte durchgeführt werden. Es ist auch denkbar, den Schritt z.B. vor dem Erzeugen des Dateisystem-Schlüssels, vor dem Verschlüsseln des erzeugten Dateisystem-Schlüssels oder vor dem Hinterlegen eines Schlüssels in einem zweiten Speicherbereich des Speichers innerhalb des Computersystems für eine Entschlüsselung des auf dem externen Speichermedium hinterlegten, verschlüsselten Dateisystem-Schlüssels durchzuführen.
  • Die Kopie der Programmdaten des zweiten Speicherbereichs ist im Dateisystem im ersten Speicherbereich des Speichers innerhalb des Computersystems vorhinterlegt und spiegelt den Zustand der Programmdaten vor dem Durchführen der obigen Prozessschritte wieder. Falls die Programmdaten des zweiten Speicherbereichs kontrolliert geändert werden, z.B. während eines Software-Updates, sollte eine neue Kopie der geänderten Programmdaten im Dateisystem hinterlegt werden. Durch die genannte Maßnahme kann eine ungewollte Veränderung oder Manipulation der Programmdaten des zweiten Speicherbereichs erkannt werden, falls die obige Überprüfung keine Identität ergibt, d.h. die Programmdaten des zweiten Speicherbereichs von der Kopie im Dateisystem abweichen. Dies stellt eine Sicherheitshürde zur Überprüfung der Integrität der Programmdaten im zweiten Speicherbereich dar, bevor der zweite Speicherbereich für die obigen Verfahrensschritte herangezogen wird. Dadurch kann sichergestellt werden, dass der Schlüssel für eine Entschlüsselung des auf dem externen Speichermedium hinterlegten, verschlüsselten Dateisystem-Schlüssels nicht in einem manipulierten oder schadhaften zweiten Speicherbereich des Computersystems hinterlegt wird. Durch diese Überprüfung ist eine abgesicherte Durchführung des Prozesses ermöglicht. Falls eine ungewollte Veränderung oder Manipulation der Programmdaten des zweiten Speicherbereichs erkannt wird, kann das Verfahren beendet werden und/oder das Computersystem in einen abgesicherten Modus gebracht werden.
  • In einer Ausgestaltung umfasst das Verfahren den weiteren Schritt:
    • - Verschlüsseln des Dateisystems im ersten Speicherbereich des Speichers vermittels eines Kryptographiemoduls, wobei für die Verschlüsselung ein Dateisystem-Schlüssel herangezogen wird, der mit dem Dateisystem-Schlüssel für eine spätere Entschlüsselung von Dateisystem-Daten übereinstimmt oder mit diesem in Beziehung steht.
  • Der Dateisystem-Schlüssel zur Verschlüsselung des Dateisystems kann zum Beispiel ein erster Schlüssel eines asymmetrischen Schlüsselpaares sein, während der Dateisystem-Schlüssel zur späteren Entschlüsselung der Dateisystem-Daten ein zweiter Schlüssel eines asymmetrischen Schlüsselpaares ist. Alternativ ist denkbar, dass ein symmetrischer Dateisystem-Schlüssel zur Verschlüsselung und Entschlüsselung des Dateisystems herangezogen wird.
  • Alternativ zum obigen Schritt kann das Dateisystem im ersten Speicherbereich bereits verschlüsselt sein (z.B. während der Installation des Dateisystems bzw. als Vorbereitung des obigen Verfahrens). Dann muss lediglich der Dateisystem-Schlüssel für eine spätere Entschlüsselung mit dem bereits vorliegenden Dateisystem-Schlüssel korrespondieren, der für die Verschlüsselung des Dateisystems herangezogen wurde. Durch eine Verschlüsselung des Dateisystems im ersten Speicherbereich ist das Computersystem, insbesondere zu schützende Daten innerhalb des Dateisystems (z.B. ein oder mehrere VPN-Schlüssel für eine oder mehrere VPN-Verbindungen des Computersystems zu einem Zentralsystem), vor unbefugtem Zugriff geschützt. Nachfolgend kann dann bei einem nächsten Start des Computersystems ein oben erläutertes Verfahren zum abgesicherten Hochfahren des Computersystems mit dem verschlüsselten Dateisystem durchgeführt werden.
  • Die obige Aufgabe wird in einem weiteren Aspekt durch eine Anordnung gemäß Patentanspruch 16 gelöst.
  • Die Anordnung umfasst ein Computersystem und ein an das Computersystem angeschlossenes externes Speichermedium. Das Computersystem umfasst einen Speicher mit einem ersten Speicherbereich und mit einem zweiten Speicherbereich. Im ersten Speicherbereich ist ein verschlüsseltes Dateisystem abgelegt. Im zweiten Speicherbereich sind für einen Startprozess des Computersystems erforderliche Programmdaten hinterlegt. Auf dem externen Speichermedium ist ein Dateisystem-Schlüssel für eine Entschlüsselung von Dateisystem-Daten des im ersten Speicherbereich des Speichers abgelegten Dateisystems hinterlegt, wobei der Dateisystem-Schlüssel auf dem externen Speichermedium verschlüsselt ist. Im zweiten Speicherbereich des Computersystems ist ferner ein Schlüssel hinterlegt, der zur Entschlüsselung des auf dem externen Speichermedium hinterlegten verschlüsselten Dateisystem-Schlüssels vorgesehen ist. Das Computersystem ist eingerichtet, den verschlüsselten Dateisystem-Schlüssel aus dem externen Speichermedium in das Computersystem zu laden, den verschlüsselten Dateisystem-Schlüssel vermittels des im zweiten Speicherbereich des Computersystems hinterlegten Schlüssels zu entschlüsseln und schließlich vermittels des entschlüsselten Dateisystem-Schlüssels bedarfsweise Dateisystem-Daten des verschlüsselten Dateisystems zu entschlüsseln und zu laden.
  • Die Anordnung ist vorteilhaft dazu eingerichtet, Verfahren der oben erläuterten Art durchzuführen. Sämtliche vorteilhaften Ausgestaltungen, Aspekte und Modifikationen der oben erläuterten Verfahren können in Ausgestaltungen, Aspekten und Modifikationen einer speziell hierfür eingerichteten Anordnung der obigen Art Niederschlag finden und umgekehrt.
  • Die obige Aufgabe wird in einem weiteren Aspekt durch eine spezielle Verwendung eines externen Speichermediums gemäß Patentanspruch 17 gelöst.
  • Dies sieht eine Verwendung eines externen Speichermediums für ein Verfahren der oben erläuterten Art vor. Dabei ist auf dem externen Speichermedium ein Dateisystem-Schlüssel für eine Entschlüsselung von Dateisystem-Daten eines verschlüsselten Dateisystems innerhalb eines Computersystems hinterlegt, wobei der Dateisystem-Schlüssel selbst auf dem externen Speichermedium verschlüsselt ist.
  • Vorteilhafte Aspekte und Ausgestaltungen der Erfindung werden in den Unteransprüchen sowie in der nachfolgenden Figurenbeschreibung unter Zuhilfenahme mehrerer Zeichnungen offenbart.
  • Es zeigen:
    • 1A eine schematisierte Übersicht von Verfahrensschritten eines Verfahrens zum Bereitstellen von Maßnahmen zum abgesicherten Hochfahren eines Computersystems,
    • 1B eine schematisierte Übersicht weiterer Verfahrensschritte des Verfahrens gemäß 1A,
    • 2A eine schematisierte Übersicht von Verfahrensschritten eines Verfahrens zum abgesicherten Hochfahren eines Computersystems,
    • 2B eine schematisierte Übersicht weiterer Verfahrensschritte des Verfahrens gemäß 2A,
    • 2C eine schematisierte Übersicht weiterer Verfahrensschritte des Verfahrens gemäß 2A und 2B,
    • 3A eine schematisierte Übersicht von Verfahrensschritten eines Verfahrens zum abgesicherten Neustarten eines Computersystems,
    • 3B eine schematisierte Übersicht weiterer Verfahrensschritte des Verfahrens gemäß 3A,
    • 3C eine schematisierte Übersicht weiterer Verfahrensschritte des Verfahrens gemäß 3A und 3B.
  • Nachfolgend werden verschiedene Verfahren für ein Computersystem mit einem verschlüsselten Dateisystem erläutert. Die Beschreibung der Verfahren erfolgt am Beispiel eines Linux-Systems mit dem Kryptographie-Modul „dm-crypt“ und der Schlüsselverwaltung LUKS. Neben „dm-crypt“ können auch noch weitere Kryptographie-Module (z.B. gnupg) verwendet werden. Natürlich können die Verfahren auch auf andere Systeme angewendet werden.
  • Im Weiteren beschreibt der Begriff „/boot“ einen unverschlüsselten Speicherbereich eines Speichers innerhalb des Computersystems, der für ein anfängliches Booten des Computersystems verwendet wird und in dem die für den Startprozess erforderlichen Programmdaten hinterlegt sind. Der Begriff „/“ beschreibt einen Speicherbereich des Speichers, in dem das verschlüsselte Dateisystem abgelegt ist.
  • Das Computersystem kann insbesondere eingerichtet und verwendet werden für einen Verbindungsaufbau zu einem Zentralsystem, um Zugang zum Zentralsystem zu bekommen. Ein derartiger Verbindungsaufbau kann über eine oder mehrere VPN-Verbindungen erfolgen. Innerhalb des verschlüsselten Dateisystems können hierfür ein oder mehrere VPN-Schlüssel hinterlegt sein, die für einen Verbindungsaufbau über die eine oder die mehreren VPN-Verbindungen zum Zentralsystem verwendet werden. Eine Verschlüsselung des Dateisystems schützt hierbei sowohl diese VPN-Schlüssel als auch ein Betriebssystem des Computersystems vor Manipulationen.
  • 1A zeigt eine schematisierte Übersicht von Verfahrensschritten eines Verfahrens zum Bereitstellen von Maßnahmen zum abgesicherten Hochfahren des Computersystems.
  • In einem ersten Schritt A1 wird das Computersystem gestartet und bootet in „/boot“. Zum Starten des Computersystems wird ein Startprozess ausgelöst, indem auf den Speicherbereich „/boot“ des Speichers zugegriffen wird, in dem die erforderlichen Programmdaten hinterlegt sind. Der Zugriff auf den Speicherbereich „/boot“ kann beispielsweise durch ein BIOS erfolgen. Die in dem Speicherbereich „/boot“ hinterlegten Programmdaten umfassen einen so genannten Bootloader (unter Linux zum Beispiel den sogenannten „Grand Unified Bootloader“, kurz „GRUB“) und Betriebssystem-Daten eines Betriebssystem-Kerns, in dieser Ausführung z.B. des eigentlichen Linux-Kerns. Der Betriebssystem-Kern ist zum Beispiel innerhalb eines so genannten „cpio-Archivs“ („cpio““ steht für „copy in, copy out“) in „/boot“ abgelegt. Während des Startprozesses kann dieses cpio-Archiv in eine initiale RAM-Disk (unter Linux das Minimalprogramm „initramfs“) entpackt und geladen werden. Nach Laden und Ausführen der für den Startprozess erforderlichen Programmdaten liegt somit ein laufender Betriebssystem-Kern vor.
  • In dieser Phase erfolgt nun in einem Schritt A2 die Abfrage und Eingabe einer Passphrase, welche notwendig ist, um auf das verschlüsselte Dateisystem im Speicherbereich „/“ zugreifen zu können. Die Abfrage der Passphrase erfolgt beispielsweise vermittels dm-crypt im sogenannten „Device Mapper“ im Linux-Betriebssystemkern. Diese Passphrase wird zudem vom laufenden Dateisystem in „/“ aus für Konfigurationen und Eingaben an der Konsole verwendet. Die Passphrase kann über die Schlüsselverwaltung LUKS verwaltet werden und über den Befehl „cryptsetup luksOpen“ verwendet werden. In Schritt A2 wird die Passphrase von einem Benutzer (zum Beispiel über Konsole) eingegeben. Durch Setzen der Passphrase in LUKS kann das in „/“ gespeicherte und verschlüsselte Dateisystem bedarfsweise entschlüsselt werden. Das bedeutet, dass entweder das gesamte Dateisystem entschlüsselt wird oder alternativ lediglich Dateisystem-Daten des verschlüsselten Dateisystems entschlüsselt und geladen werden, die durch eine Zugriffsaufforderung auf das Dateisystem vom Betriebssystem-Kern angefordert werden. Der letztgenannte Fall ist aus Performancegründen des Computersystems zu bevorzugen.
  • Durch Entschlüsseln und Laden von Dateisystem-Daten des verschlüsselten Dateisystems durch die in LUKS gesetzte Passphrase kann das Computersystem schließlich im Schritt A3 in „/“ gebootet werden, wodurch das Computersystem vollständig hochgefahren wird.
  • In Schritt A4 wird ein an das Computersystem für nachfolgend erläuterte Zwecke angeschlossenes externes Speichermedium gemountet, d.h. in das laufende Dateisystem „/“ des hochgefahrenen Computersystems eingebunden. Das externe Speichermedium kann zum Beispiel durch einen Benutzer mit dem Computersystem verbunden, d.h. an das Computersystem angesteckt, eingesteckt oder angeschlossen werden. In der in 1A erläuterten Ausgestaltung des Verfahrens ist das externe Speichermedium ein USB-Stick. Alternativ könnte das externe Speichermedium jedoch zum Beispiel auch eine SD-Speicherkarte sein. Durch Mounten des USB-Sticks in Schritt A4 hat das laufende Computersystem somit Zugriff auf den USB-Stick.
  • In Schritt A5 erfolgt eine Überprüfung der Daten im Speicherbereich „/boot“ auf Identität mit einer zuvor (zum Beispiel während der Vorbereitung des erläuterten Verfahrens) erstellten Kopie dieser Daten, die in „/“ hinterlegt wurde. Dies kann z.B. mittels des Befehls „diff -r“ erfolgen. Durch den Schritt A5 kann erkannt werden, ob die Daten in „/boot“ nach dem Erstellen der Kopie in „/“ verändert wurden. Insofern kann erkannt werden, ob die Daten in „/boot“ manipulativ verändert wurden, um in den nachfolgenden Prozess manipulativ einzugreifen.
  • Zu Schritt A5 sei angemerkt, dass bei einem bewussten und gewollten Ändern der Daten in „/boot“, zum Beispiel während eines Software-Updates, eine neue Kopie der veränderten Daten erstellt und in „/“ während des hochgefahrenen, laufenden Computersystems hinterlegt werden sollte. Es ist denkbar, dass die Daten in „/boot“ nach einem Software-Update automatisch durch Daten in „/“ ersetzt werden und danach eine Kopie der Daten auf „/boot“ in „/“ hinterlegt wird. Damit sind die Daten in „/boot“ immer automatisch auf dem bewusst veranlassten Systemstand, der in der entsprechenden Kopie in „/“ hinterlegt ist. Alternativ kann das System angehalten werden, wenn die Daten auf „/boot“ nach einem Software-Update von der Kopie in „/“ abweichen. In diesem Fall wäre es denkbar, eine Überprüfung der Daten in „/boot“ durch einen Benutzer auszulösen und die Kopie der Daten auf „/boot“ händisch in „/“ zu hinterlegen. Beide Varianten haben Vor- und Nachteile. Es denkbar, für einen Benutzer eine Auswahlmöglichkeit vorzusehen, um die für den jeweiligen Einsatzzweck sinnvollere Variante der beiden Möglichkeiten auszuwählen. Vor Ersetzen der Daten in „/boot“ sollte in jedem Fall eine Abfrage erfolgen.
  • In einem Schritt A6 wird überprüft ob eine Identität zwischen den Daten in „/boot“ und der in „/“ hinterlegten Kopie gegeben ist oder nicht. Falls die Daten nicht identisch sind, wird von einer Manipulation ausgegangen, wobei das Verfahren abgebrochen wird. Das Computersystem kann dann zum Beispiel heruntergefahren werden. Es ist alternativ auch denkbar, das Computersystem in diesem Fall in einen abgesicherten Modus zu versetzen, in dem zum Beispiel nur vorbestimmte Benutzer Zugriff auf das Computersystem haben, um weitere erforderliche Aktionen am Computersystem vorzunehmen.
  • Falls jedoch eine Identität zwischen den in Schritt A5 überprüften Daten vorliegt, wird das Verfahren im Schritt A7 weitergeführt und ein Dateisystem-Schlüssel erzeugt. Der Dateisystem-Schlüssel dient zum späteren Entschlüsseln von Dateisystem-Daten des in „/“ gespeicherten, verschlüsselten Dateisystems. In der Schlüsselverwaltung LUKS können neben der oben in Schritt A2 abgefragten Passphrase weitere Schlüssel definiert sein. In LUKS können allgemein n Schlüssel definiert sein. Berücksichtigt man die in Schritt A2 abgefragte Passphrase und ggf. einen Platzhalter für das Ändern dieser Passphrase oder die Hinterlegung eines temporären Schlüssels (wie unter Zuhilfenahme von 3A später erläutert wird), so können n-2 zusätzliche Schlüssel in LUKS definiert sein. Bei n=8 können zum Beispiel 6 weitere Schlüssel definiert werden.
  • Es ist also denkbar, im Schritt A7 mehrere unterschiedliche Dateisystem-Schlüssel zu erzeugen. Der oder die Dateisystem-Schlüssel können gemäß einem vorbestimmten Kryptographieverfahren erstellt werden. So sind zum Beispiel Verschlüsselungsverfahren gemäß dem Advanced Encryption Standard (AES, Rijndael), Twofish, MARS, RC6 oder Serpent denkbar. Informationen über den oder die erzeugten Dateisystem-Schlüssel werden in LUKS anschließend hinterlegt, so dass bei einer späteren Abfrage des oder der Dateisystem-Schlüssel eine Erkennung, Zuordnung und Verarbeitung des oder der gesetzten Dateisystem-Schlüssel erfolgen kann. Nachfolgend wird zu weiteren Erläuterung davon ausgegangen, dass ein einzelner Dateisystem-Schlüssel in Schritt A7 erzeugt wird.
  • 1B erläutert schematisiert weitere Verfahrensschritte, die die Maßnahmen aus 1A fortführen. In einem Schritt A8 wird der erzeugte Dateisystem-Schlüssel mit einer Kennung des verwendeten USB-Sticks kombiniert. Die Kennung des USB-Sticks kann zum Beispiel die Seriennummer des USB-Sticks sein. Ggf. kann neben der Kennung noch ein frei wählbarer String (zum Beispiel ein Name für den USB-Stick und/oder ein Name eines zugeordneten Benutzers) verwendet werden. Der Dateisystem-Schlüssel wird mit derlei Informationen kombiniert. Hierzu sind verschiedene Kombinationsverfahren denkbar. Beispielsweise werden die Kennung des USB-Sticks und ggf. weitere Informationen an den Dateisystem-Schlüssel als Bit-Wort angehängt. Es ist jedoch alternativ auch denkbar, spezielle aleatorische Verfahren anzuwenden, um aus dem Dateisystem-Schlüssel und der Kennung des USB-Sticks, ggf. in Verbindung mit weiteren genannten Informationen, eine Zeichenkombination zu erstellen. Hierbei ist auch denkbar, Zufallszahlen anzuwenden, um die Entropie einer derartigen Kombination zu erhöhen und zum Beispiel gegen Brut-Force-Angriffe abzusichern. In diesem Zusammenhang sind dem Fachmann verschiedenste Verfahren geläufig, auf die nicht näher eingegangen werden muss.
  • Der Dateisystem-Schlüssel wird, kombiniert mit der Kennung des USB-Sticks und ggf. in Verbindung mit weiteren erläuterten Informationen, in einer Schlüssel-Datei zusammengefasst.
  • Nach dem Schritt A8 kann zur weiteren Absicherung des Verfahrens ggf. nochmals die Maßnahme, wie in den Schritten A5 und A6 erläutert, durchgeführt werden, um die Integrität der Daten in „/boot“ ggf. erneut zu überprüfen. Zur weiteren Erläuterung dieser Maßnahme sei nach oben verwiesen.
  • In einem Schritt A9 wird schließlich die Schlüssel-Datei mit einem hierfür vorgesehenen öffentlichen Schlüssel eines asymmetrischen Verschlüsselungsverfahrens zusätzlich verschlüsselt. Somit enthält die Schlüssel-Datei den zuvor erzeugten Dateisystem-Schlüssel, wobei die Schlüssel-Datei selbst verschlüsselt ist. Alternativ zum asymmetrischen Verschlüsselungsverfahren kann auch ein symmetrisches Verschlüsselungsverfahren eingesetzt werden. Die Verschlüsselung der Schlüssel-Datei kann über dm-crypt oder ein anderes Kryptographiemodul, z.B. gnupg, erfolgen.
  • Im Schritt A10 wird die verschlüsselte Schlüssel-Datei auf dem USB-Stick gespeichert. Zudem wird eine Kopie der verschlüsselten Schlüssel-Datei auf „/“ hinterlegt. Dies dient einer weiteren Sicherheitsmaßnahme, wie sie im Zusammenhang mit 2B unten näher erläutert wird.
  • In Schritt A11 wird der öffentliche Schlüssel, mit dem in Schritt A9 die Schlüssel-Datei verschlüsselt worden ist, gemeinsam mit einem hierzu korrespondierenden privaten Schlüssel auf „/“ hinterlegt, falls der öffentliche Schlüssel und/oder der private Schlüssel nicht bereits (z.B. zur Vorbereitung des Verfahrens) auf „/“ hinterlegt sind. Zudem wird in Schritt A12 der private Schlüssel auch in „/boot“ hinterlegt. Durch diese Maßnahmen ist sowohl in „/“ als auch in „/boot“ der private Schlüssel hinterlegt, der mit dem öffentlichen Schlüssel korrespondiert, mit dem die Schlüssel-Datei in Schritt A9 verschlüsselt worden ist. Der private Schlüssel dient im Weiteren, wie im Zusammenhang mit den 2A und 2C erläutert wird, zur späteren erneuten Entschlüsselung der verschlüsselten Schlüssel-Datei. Bei Verwendung eines symmetrischen Verschlüsselungsverfahrens wird lediglich ein Schlüssel zur späteren Entschlüsselung der verschlüsselten Schlüssel-Datei in „/boot“ und „/“ hinterlegt.
  • In Schritt A13 wird schließlich das Dateisystem in „/“ verschlüsselt, falls es nicht bereits zuvor verschlüsselt worden ist (z.B. während der Installation bzw. zur Vorbereitung des Verfahrens). Dabei ist denkbar, lediglich die Dateisystem-Daten des Dateisystems zu verschlüsseln oder alternativ den gesamten Speicherbereich (die gesamte Partition) „/“ zu verschlüsseln. Eine Verschlüsselung des Dateisystems kann durch ein symmetrisches oder ein asymmetrisches Verschlüsselungsverfahren erfolgen. Es ist denkbar, bei einem symmetrischen Verschlüsselungsverfahren das Dateisystem vermittels eines Master-Schlüssels zu verschlüsseln. Bei einem asymmetrischen Verschlüsselungsverfahren ist denkbar, das Dateisystem vermittels eines ersten Master-Schlüssels (öffentlicher Schlüssel) zu verschlüsseln, wobei ein zweiter Master-Schlüssel (privater Schlüssel) für eine nachfolgende Entschlüsselung des Dateisystems vorgesehen werden kann. Bei Einsatz eines symmetrischen Verschlüsselungsverfahrens kann der Master-Schlüssel mit dem erzeugten Dateisystem-Schlüssel übereinstimmen oder aus diesem generiert werden, sodass für eine spätere erneute Entschlüsselung des Dateisystems der Master-Schüssel aus dem angewendeten Dateisystem-Schlüssel regeneriert werden kann. Ferner ist denkbar, dass sich der Master-Schlüssel vom Dateisystem-Schlüssel unterscheidet und nach der Verschlüsselung des Dateisystems seinerseits mit dem Dateisystem-Schlüssel verschlüsselt und in verschlüsselter Form hinterlegt wird, z.B. in LUKS. In dieser Konstellation kann der verschlüsselte Master-Schlüssel für eine spätere erneute Entschlüsselung des Dateisystems durch den angewendeten Dateisystem-Schlüssel entschlüsselt und seinerseits für eine Entschlüsselung des Dateisystems angewendet werden. Analoge Konstellationen sind bei einem asymmetrischen Verschlüsselungsverfahren bezüglich des zweiten Master-Schlüssels (privater Schlüssel) denkbar.
  • Nach Durchführung des Schritts A13 ist das Dateisystem in „/“ verschlüsselt. Danach sollten alle temporär erzeugten Daten (insbesondere temporär erzeugte Schlüssel-Daten) in einem verschlüsselten Bereich (z.B. in „/“) abgelegt, in einer RAM-Disk gespeichert oder gelöscht werden. Danach kann das Computersystem beispielsweise heruntergefahren werden, wodurch das Verfahren beendet ist.
  • Durch die im Zusammenhang mit den 1A und 1B erläuterten Maßnahmen kann ein Verfahren zum abgesicherten Hochfahren eines Computersystems mit einem verschlüsselten Dateisystem bereitgestellt bzw. vorbereitet werden.
  • Im Folgenden werden Verfahrensschritte zum abgesicherten Hochfahren eines Computersystems mit einem entsprechend verschlüsselten Dateisystem näher erläutert.
  • 2A zeigt eine schematisierte Übersicht von Verfahrensschritten eines solchen Verfahrens zum abgesicherten Hochfahren eines Computersystems.
  • In einem Schritt B1 erfolgt ein Start des heruntergefahrenen Computersystems durch Booten in „/boot“. Der Schritt B1 kann analog zum Schritt A1 durchgeführt werden, wie im Zusammenhang mit 1A oben erläutert worden ist. An dieser Stelle bedarf es keiner weiteren Erläuterung.
  • In Schritt B2 gemäß 2A wird überprüft, ob es sich bei dem Start des Computersystems um einen Neustart (einen so genannten Reboot aus dem laufenden Betrieb, d.h. Herunterfahren und nachfolgendes Neustarten) handelt. Falls dies der Fall ist, läuft das Verfahren gemäß den in 3B erläuterten Schritten weiter. Derartige Maßnahmen werden weiter unten im Zusammenhang mit 3B näher erläutert. Falls es sich nicht um einen derartigen Neustart handelt, sondern um ein Starten des Computersystems aus einem initial abgeschalteten Zustand, wird mit Schritt B3 gemäß 2A fortgefahren. In Schritt B3 wird ein USB-Stick an das Computersystem angeschlossen und gemountet. Dies läuft analog zu Schritt A4 ab, wie oben im Zusammenhang mit 1A erläutert, und bedarf an dieser Stelle keiner weiteren Erläuterung.
  • In Schritt B4 wird die verschlüsselte Schlüssel-Datei vom genannten USB-Stick geladen und vermittels des in „/boot“ hinterlegten privaten Schlüssels (vergleiche Schritt A12 aus 1B) entschlüsselt. Eine Entschlüsselung der verschlüsselten Schlüssel-Datei kann über dm-crypt oder ein anderes Kryptographiemodul, z.B. gnupg, erfolgen. Es ist denkbar, dass die Entschlüsselung der verschlüsselten Schlüssel-Datei über das Kryptographiemodul erfolgt, vermittels dessen die Schlüssel-Datei zuvor verschlüsselt worden ist (vgl. Schritt A9 in 1B). Alternativ erfolgt die Entschlüsselung der verschlüsselten Schlüssel-Datei über ein anderes Kryptographiemodul als das, vermittels dessen die Schlüssel-Datei zuvor verschlüsselt worden ist. Anschließend erfolgt in Schritt B5 eine Extraktion der Kombination des Dateisystem-Schlüssels mit der Kennung des USB-Sticks (und ggf. weiteren hinterlegten Informationen) aus der Schlüssel-Datei (vergleiche hierzu Schritt A8 aus 1B).
  • In Schritt B6 erfolgt aus der extrahierten Kombination wiederum die Extraktion des Dateisystem-Schlüssels sowie der Kennung des USB-Sticks und ggf. weiterer hinterlegter Informationen. Nach Durchführung des Schritts B6 liegen somit zumindest der Dateisystem-Schlüssel und die Kennung des USB-Sticks sowie ggf. weitere Informationen (zum Beispiel frei wählbarer String, Name für den Stick und/oder Name des zugeordneten Benutzers, usw.) vor.
  • Aufgrund des Verbindendes eines USB-Sticks mit dem Computersystem konnte somit in einem automatisierten Prozess der in der verschlüsselten Schlüssel-Datei hinterlegte Dateisystem-Schlüssel entschlüsselt werden, so dass dieser im Klartext für eine weitere Prozessierung verwendet werden kann. Durch Zusammenspiel des verwendeten USB-Sticks mit dem im Speicherbereich „/boot“ hinterlegten privaten Schlüssel zum Entschlüsseln der verschlüsselten Schlüssel-Datei auf dem USB-Stick ist dieser Prozess ermöglicht.
  • Im weiterführenden Schritt B7 gemäß 2A erfolgt eine Überprüfung der aus der Schlüssel-Datei gemäß den Schritten B5 und B6 extrahierten Kennung auf Identität mit einer durch Mounten des USB-Sticks (vergleiche obigen Schritt B3) ermittelten, tatsächlichen Kennung des USB-Sticks. Beispielsweise erfolgt eine Überprüfung der hinterlegten bzw. ermittelten tatsächlichen Seriennummer des verwendeten USB-Sticks. Durch den Überprüfungsschritt B7 kann ermittelt werden, ob die tatsächliche Kennung des verwendeten USB-Sticks mit der in der Schlüssel-Datei hinterlegten Kennung übereinstimmt. Auf diese Weise kann erkannt werden, ob die Schlüssel-Datei auf einen anderen USB-Stick kopiert worden ist. Im letzteren Fall weicht die in der Schlüssel-Datei hinterlegte Kennung von der tatsächlichen Kennung des verwendeten USB-Sticks ab.
  • Der Schritt B7 stellt somit sicher, dass ausschließlich der USB-Stick verwendet wird, der im Vorfeld zur Vorbereitung des Verfahrens verwendet worden ist (während des Verfahrens gemäß 1A und 1B). Es sei angemerkt, dass der Schritt B7 dadurch manipuliert werden könnte, dass die Schlüssel-Datei manipuliert und die darin hinterlegte Kennung gefälscht wird, so dass diese mit der tatsächlichen Kennung des verwendeten USB-Sticks (fremder Stick) übereinstimmt. Eine andere Möglichkeit der Manipulation wäre dadurch gegeben, dass der Überprüfungsschritt B7 an sich während der Ausführung des Startprozesses im Speicherbereich „/boot“ ausgehebelt oder umgangen wird. In solchen Fällen der Manipulation würde die Verwendung eines fremden USB-Sticks nicht auffallen bzw. die Kontrolle in Schritt B7 versagen. Allerdings sei angemerkt, dass zur Fälschung einer in der Schlüssel-Datei hinterlegten Kennung eine Entschlüsselung der Schlüssel-Datei vermittels des in „/boot“ hinterlegten privaten Schlüssels notwendig wäre. Hierzu bedürfte es des Zugriffs auf „/boot“. Dies kann beispielsweise durch Setzen eines Festplatten-Passworts und/oder eines BIOS-Passworts verhindert oder zumindest erschwert werden.
  • In 2B sind weiterführende Schritte des Verfahrens gemäß 2A dargestellt.
  • In Schritt B8 erfolgt eine Abfrage, ob die Überprüfung in Schritt B7 (vergleiche 2A) eine Identität ergeben hat oder nicht. Falls die verglichenen Kennungen nicht identisch sind, führt dies zum Abbruch des Verfahrens. Alternativ kann das Computersystem beispielsweise in einen abgesicherten Modus gebracht werden (vergleiche obige Erläuterungen zu Schritt A6 in 1A).
  • Falls sich in Schritt B8 jedoch herausstellt, dass eine Identität der verglichenen Kennungen gegeben ist (was bedeutet, dass nicht von einer Manipulation der Schlüssel-Datei bzw. von einer Verwendung eines fremden USB-Sticks ausgegangen wird), so wird das Verfahren in Schritt B9 fortgesetzt. In diesem Schritt B9 wird der aus der verschlüsselten Schlüssel-Datei entschlüsselte bzw. extrahierte Dateisystem-Schlüssel zur Entschlüsselung von Dateisystem-Daten herangezogen. Insbesondere wird der Dateisystem-Schlüssel in einem Kryptographiemodul (in dieser Ausgestaltung des Verfahrens dm-crypt) gesetzt, das während des Startprozesses etabliert, d.h. geladen und ausgeführt wurde. Dies kann über den Befehl „cryptsetup luksOpen“ erfolgen.
  • Durch Setzen des Dateisystem-Schlüssels in LUKS kann überprüft werden, ob der verwendete Dateisystem-Schlüssel gültig ist bzw. den in LUKS hinterlegten Informationen bzw. Parametern entspricht. Dies verhindert bzw. erschwert die Verwendung eines nicht-autorisierten oder manipulierten Dateisystem-Schlüssels zusätzlich. Der Dateisystem-Schlüssel kann in LUKS beispielsweise dazu verwendet werden, seinerseits einen verschlüsselten Master-Schlüssel zu entschlüsseln. Vermittelst des so entschlüsselten Master-Schlüssels können dann Dateisystem-Daten des verschlüsselten Dateisystems in „/“ bedarfsweise entschlüsselt und geladen werden. Alternativ ist jedoch auch denkbar, dass der Dateisystem-Schlüssel selbst als Master-Schlüssel zur Entschlüsselung entsprechender Dateisystem-Daten fungiert. Ferner ist denkbar, dass der zur Entschlüsselung der Dateisystem-Daten erforderliche Master-Schlüssel aus dem Dateisystem-Schlüssel in LUKS regeneriert wird, so dass mit dem regenerierten Master-Schlüssel Dateisystem-Daten entschlüsselt werden können. Je nach Ausgestaltung einer zuvor erfolgten Verschlüsselung des Dateisystems (vgl. obige Erläuterungen zu Schritt A13 in 1B) sind vielerlei Abwandlungen und Modifikationen des erläuterten Verfahrens denkbar.
  • Durch Setzen des Dateisystem-Schlüssels in Schritt B9 erfolgt schließlich ein Entschlüsseln und Laden von Dateisystem-Daten des verschlüsselten Dateisystems, wodurch das Computersystem in Schritt B10 in „/“ bootet und vollständig hochgefahren wird. Am Ende des Schrittes B10 ist das Computersystem somit vollständig hochgefahren und umfasst ein laufendes (zumindest teilweise im Klartext verfügbares) Dateisystem. Es ist denkbar, das laufende Dateisystem aus Sicherheitsgründen im Weiteren derart abzusichern, dass keine Möglichkeit für einen Benutzer besteht, sich am laufenden Dateisystem zu authentifizieren oder überhaupt einzuloggen. Dabei ist denkbar, dass das hochgefahrene Computersystem automatisiert bestimmte Aktionen oder Tasks ausführt, z.B. einen Aufbau einer abgesicherten Verbindung zu einem entfernten Server. Alternativ ist denkbar, nur eingeschränkte Benutzeraktionen, z.B. in Linux über den Befehl „sudo“ gesteuert, zuzulassen, um bestimmte Aktionen oder Tasks zu veranlassen.
  • Zur weiteren Absicherung des Verfahrens können nachfolgend weitere Überprüfungsschritte durchgeführt werden. Hierzu wird in einem Schritt B11 der USB-Stick nochmals durch das vollständig hochgefahrene Computersystem gemountet und in das laufende Dateisystem eingebunden. Ggf. kann ein Mounten des USB-Sticks entfallen, falls der USB-Stick weiterhin durch Schritt B3 gemäß 2A eingebunden ist. Dies hängt von der Architektur und Implementierung des verwendeten Betriebssystems und ggf. von der verwendeten Hardware ab. Das Auslesen des USB-Sticks kann außer durch Mounten auch durch andere geeignete Maßnahmen erfolgen.
  • In Schritt B12 wird die verschlüsselte Schlüssel-Datei erneut vom USB-Stick in das nunmehr laufende Dateisystem geladen und mit einer in „/“ hinterlegten Kopie (vergleiche Schritt A10 in 1B) auf Identität überprüft. In diesem Überprüfungsschritt B12 kann erkannt werden, ob die Schlüssel-Datei auf dem verwendeten USB-Stick von einem während der Vorbereitung des Verfahrens (vergleiche 1A und 1B) erstellten Abbild (Kopie) der Schlüssel-Datei abweicht. Auf diese Weise kann erkannt werden, ob die Schlüssel-Datei auf dem verwendeten USB-Stick manipuliert worden ist.
  • Nachdem das Dateisystem in „/“ zumindest vor der bedarfsweisen Entschlüsselung von Dateisystem-Daten in den Schritten B9 bzw. B10 nur verschlüsselt im Speicher des Computersystems vorliegt, ist eine Fälschung der in „/“ hinterlegten Kopie der Schlüssel-Datei nicht möglich, extrem erschwert bzw. sehr unwahrscheinlich. Insofern könnte der Schritt B12 nur dadurch gefälscht werden, dass die in „/“ hinterlegten Kopie manipuliert bzw. gefälscht wird. Dies ist, wie erläutert, jedoch sehr schwer.
  • Aufgrund des Überprüfungsschrittes B12 kann somit eine Manipulation der vom USB-Stick geladenen Schlüssel-Datei erkannt werden, falls diese von der in „/“ hinterlegten Kopie abweicht. Insofern sichert der Schritt B12 das Verfahren weiter ab, selbst wenn zum Beispiel eine Überprüfung in Schritt B7 gemäß 2A, wie oben erläutert, fehlgeschlagen ist.
  • Ein Ergebnis des Überprüfungsschrittes B12 wird in Schritt B13 abgefragt. Falls die miteinander verglichenen Schlüssel-Dateien voneinander abweichen und somit keine Identität gegeben ist, führt dies zum Abbruch des Verfahrens. Vergleiche hierzu auch die Erläuterungen zu Schritt B8 bzw. A6 in 1A. Andernfalls, falls eine Identität gegeben ist, erfolgt in Schritt B14 eine Überprüfung der Daten in „/boot“ auf Identität mit einer in „/“ hinterlegten Kopie. Der Schritt B14 ist analog zum Schritt A5, der im Zusammenhang mit 1A oben erläutert worden ist. Insofern bedarf es an dieser Stelle keiner weiteren Erläuterung. Die Auswertung des Ergebnisses in Schritt B15 entspricht dem Schritt A6, wie im Zusammenhang mit 1A oben erläutert worden ist. Auch dies bedarf an dieser Stelle keiner weiteren Erläuterung.
  • 2C zeigt schematisiert weitere Verfahrensschritte des Verfahrens gemäß den 2A und 2B. In Schritt B16 erfolgt ein Entschlüsseln der in „/“ hinterlegten Kopie der verschlüsselten Schlüssel-Datei vermittels des in „/“ hinterlegten privaten Schlüssels (vergleiche auch die Schritte A10 und A11 aus 1B). In den weiteren Schritten B17 bis B20 erfolgt eine Extraktion und Überprüfung der aus der Kopie der verschlüsselten Schlüssel-Datei extrahierten Kennung des USB-Sticks auf Identität mit einer durch Mounten des USB-Sticks durch das laufende Dateisystem ermittelten tatsächlichen Kennung. Insofern entsprechen die Schritte B17 bis B20 den Schritten B5 bis B8, wie sie im Zusammenhang mit den 2A und 2B oben erläutert worden sind. Insofern werden diese Überprüfungsschritte nochmals auf die in „/“ hinterlegten Kopie der verschlüsselten Schlüssel-Datei angewendet. Dies stellt eine weitere Sicherheitsüberprüfung durch das laufende Dateisystem dar.
  • Wie bereits oben im Zusammenhang mit Schritt B12 erläutert, ist die Kopie der verschlüsselten Schlüssel-Datei in „/“ zumindest vor dem Durchführen der Schritte B9 und B10 gemäß 2B verschlüsselt. Das bedeutet, dass eine Änderung oder Manipulation der in „/“ hinterlegten Kopie der verschlüsselten Schlüssel-Datei nur extrem schwer, falls überhaupt, durchzuführen ist. Die Kopie der verschlüsselten Schlüssel-Datei stellt, wie erläutert, ein Abbild der Schlüssel-Datei während der Einrichtung des Verfahrens auf dem Computersystem dar. Insofern enthält die Kopie der verschlüsselten Schlüssel-Datei auch die Kennung des USB-Sticks, der zur Einrichtung des Verfahrens verwendet worden ist. Selbst wenn nun sämtliche Überprüfungsmechanismen, die vor dem Schritt B16 durchgeführt wurden, versagt haben bzw. durch Manipulationen umgangen worden sind, kann durch eine Überprüfung gemäß den Schritten B17 bis B20 dennoch eine Manipulation der Schlüssel-Datei auf den USB-Stick erkannt werden.
  • Falls die Überprüfung in Schritt B19 keine Identität der verglichenen Kennungen ergibt, kann das Verfahren in Schritt B20 abgebrochen werden. Dabei ist von einer Manipulation (oder fehlerhaften Abweichung) der Schlüssel-Datei zum Abbild der in „/“ hinterlegten Kopie der verschlüsselten Schlüssel-Datei auszugehen. Falls jedoch ein Ergebnis der Prüfung in Schritt B20 eine Identität ergibt, können in Schritt B21 ggf. weitere Aktionen veranlasst werden. Derartige weitere Aktionen können zum Beispiel das Bereitstellen einer Log-in-Maske an einer Konsole umfassen, so dass sich ein Benutzer am vollständig hochgefahren Computersystem einloggen kann und bestimmte weitere Aktionen durchführen kann. Es ist auch denkbar, restriktive Maßnahmen einer Benutzereinschränkung, wie sie zu Schritt B10 oben erläutert worden sind, zu lockern oder aufzuheben. Im Weiteren ist das Verfahren beendet.
  • 3A zeigt eine schematisierte Übersicht von Verfahrensschritten eines Verfahrens zum abgesicherten Neustarten eines Computersystems. Dieses Verfahren kann eigenständig oder in Kombination mit den in Zusammenhang mit den 1A bis 2C erläuterten Verfahren durchgeführt werden. Der Begriff „Neustarten“ bedeutet, dass das Computersystem aus einem laufenden Betrieb heruntergefahren wird, ausschaltet und anschließend einen neuen Startprozess durchläuft und wieder hochfährt. Somit unterscheidet sich ein Neustart von einem Start des Computersystems, bei dem das Computersystem initial ausgeschaltet ist und aus dem ausgeschalteten Zustand vermittels eines Startprozesses hochfährt. Das Verfahren wird beispielhaft unter Heranziehung eines Linux-Systems erläutert. Natürlich kann das Verfahren auch auf andere Systeme angewendet werden.
  • Gemäß 3A startet das Verfahren in Schritt C1, während das Computersystem mit einem hochgefahrenen und laufenden Dateisystem in einem ersten Speicherbereich „/“ läuft. In Schritt C2 wird ein Zeitfenster mit einer vorbestimmten Anfangszeit und einer vorbestimmten Endzeit bestimmt, welches eine vorbestimmte Zeitspanne zur Durchführung eines Neustarts des Computersystems vorgibt. Beispielsweise kann das Zeitfenster bestimmen, dass ein Neustart des Computersystems innerhalb der nächsten 1 bis 3 Minuten durchgeführt werden muss. Das bestimmte Zeitfenster wird in „/“ gespeichert.
  • In Schritt C3 wird ein temporärer Dateisystem-Schlüssel erzeugt und in „/“ hinterlegt. Der temporärer Dateisystem-Schlüssel hat eine analoge Funktion wie ein Dateisystem-Schlüssel gemäß dem Verfahren aus den 1A bis 2C, mit dem Unterschied, dass er lediglich temporär für einen Neustart des Computersystems zum Entschlüsseln eines im Computersystem in „/“ gespeicherten verschlüsselten Dateisystems nach dem Neustart Verwendung findet. Der temporäre Dateisystem-Schlüssel wird ferner in der Schlüsselverwaltung LUKS definiert und Informationen über den temporärer Dateisystem-Schlüssel hinterlegt. Dies kann beispielsweise an einem speziell hierfür in einer Schlüsseltabelle eingerichteten Platzhalter in LUKS erfolgen. Der temporäre Dateisystem-Schlüssel kann über den Befehl „cryptsetup luksAddKey“ in LUKS definiert werden.
  • In Schritt C4 wird der temporäre Dateisystem-Schlüssel ferner in dem zweiten Speicherbereich „/boot“ hinterlegt, in dem für den Startprozess erforderliche Programmdaten gespeichert sind. Anschließend wird in Schritt C5 ein Neustart des Computersystems ausgelöst. Dies kann zum Beispiel durch den Befehl „/sbin/reboot“ erfolgen. In Schritt C6 wird anschließend das Computersystem durch Booten in „/boot“ neu gestartet. Der Schritt C6 entspricht im Wesentlichen den Schritten A1 aus 1A bzw. B1 aus 2A und bedarf an dieser Stelle keiner weiteren Erläuterung.
  • 3B zeigt weiterführende Verfahrensschritte des Verfahrens gemäß 3A. In einem Schritt C7 wird der temporäre Dateisystem-Schlüssel, der in „/boot“ hinterlegt ist, zur Entschlüsselung von Dateisystem-Daten in LUKS gesetzt. Dieses Vorgehen entspricht den Maßnahmen des Schrittes B9 gemäß 2B und bedarf keiner weiteren Erläuterung. Anschließend werden in Schritt C8 Dateisystem-Daten entschlüsselt und geladen, so dass das Computersystem nach dem Neustart vollständig hochfahren kann und in „/“ bootet. Dieser Schritt entspricht dem Schritt B10 in 2B. Nach dem Schritt C8 ist das Computersystem nach dem Neustart vollständig hochgefahren und stellt das laufende Dateisystem erneut bereit.
  • In Schritt C9 erfolgt eine Überprüfung des in „/boot“ hinterlegten temporären Dateisystem-Schlüssels auf Identität mit der in „/“ hinterlegten Kopie (vergleiche Schritt C3 in 3A). Hierzu kann zunächst überprüft werden, ob der temporäre Dateisystem-Schlüssel in „/boot“ existiert. Anschließend wird der temporäre Dateisystem-Schlüssel von „/boot“ in „/“ kopiert, falls er in „/boot“ aufgefunden wurde. Dann kann der temporärer Dateisystem-Schlüssel in „/boot“ gelöscht werden. Ferner wird überprüft, ob die Kopie des temporären Dateisystem-Schlüssels in „/“ existiert. Falls dies der Fall ist, wird die Identität des aus „/boot“ in „/“ kopierten temporären Dateisystem-Schlüssels mit der in „/“ vorhinterlegten Kopie des temporären Dateisystem-Schlüssels überprüft.
  • In Schritt C9 kann somit überprüft werden, ob der in „/boot“ hinterlegte temporäre Dateisystem-Schlüssel mit dem vor dem Neustart erzeugten temporären Dateisystem-Schlüssel übereinstimmt. Falls dies nicht der Fall ist, wird von einer Manipulation des in „/boot“ hinterlegten temporären Dateisystem-Schlüssels ausgegangen. Dieses Ergebnis führt in Schritt C10 zu einem Abbruch des Verfahrens (vergleiche auch Schritte A6 in 1A, B13 und B15 in 2B sowie B20 in 2C). Falls jedoch eine Identität der verglichenen temporären Dateisystem-Schlüssel vorliegt, kann der temporäre Dateisystem-Schlüssel aus der Schlüsselverwaltung LUKS wieder entfernt werden. Dies kann beispielsweise vermittelst des Befehls „cryptsetup luksRemoveKey“ durchgeführt werden.
  • In Schritt C11 wird überprüft, ob die aktuelle Systemzeit, die während des Neustarts ermittelt worden ist, innerhalb des bestimmten Zeitfensters liegt (vergleiche Schritt C2 in 3A) .
  • Eine Überprüfung dieser Bedingung erfolgt in 3C in Schritt C12. Ist das bestimmte Zeitfenster nicht eingehalten, erfolgt ein Abbruch des Verfahrens. Vergleiche auch die Schritte A6, B13, B15, B20 und C10 wie oben erläutert.
  • In diesem Fall muss davon ausgegangen werden, dass der Neustart nicht schnell genug erfolgt ist. In diesem Fall ist von einer Manipulation des Neustarts auszugehen, die Zeit beansprucht hat, sodass das bestimmte Zeitfenster überschritten worden ist. Eine derartige Manipulation wäre beispielsweise denkbar, um den für den Neustart verwendeten temporären Dateisystem-Schlüssel zur Entschlüsselung des verschlüsselten Dateisystems zu erlangen. Dies wäre beispielsweise dadurch möglich, dass das Computersystem gerade dann ausgeschaltet wird, wenn es für den Neustart heruntergefahren ist. In diesem Fall könnte beispielsweise der Speicher des Computersystems ausgebaut und ggf. kopiert werden, so dass der Speicher vermittels des aus „/boot“ erlangten temporären Dateisystem-Schlüssels entschlüsselt werden kann.
  • Zur Umgehung dieser Manipulationsmöglichkeit ist denkbar, den Neustart durch eine autorisierte Person zu überwachen. Ferner sollte das Gerät versiegelt sein, um einen Ausbau des Speichers (z.B. des entsprechenden Massenspeichers) entweder zu erschweren oder zumindest nachvollziehbar zu machen. Außerdem kann ein BIOS-Passwort vergeben sein, um Manipulationen der Uhrzeit des Computersystems zur Manipulation des bestimmten Zeitfensters (vergleiche Schritt C2 in 3A) zu verhindern.
  • Falls jedoch das bestimmte Zeitfenster durch Prüfung in Schritt C12 eingehalten worden ist, ist davon auszugehen, dass das Verfahren ordnungsgemäß durchgeführt worden ist, das bedeutet, dass der Neustart schnell genug erfolgt ist, ohne dass von einer Manipulation des Neustarts ausgegangen werden muss.
  • In diesem Fall können in Schritt C13 weitere Aktionen veranlasst werden. Dies kann zum Beispiel ein Löschen aller erstellten Kopien des temporären Dateisystem-Schlüssels sowie des bestimmten Zeitfenster umfassen. Es ist hier auch denkbar, nochmals eine Überprüfung der Daten in „/boot“ auf Identität mit einer Kopie in „/“ durchzuführen (vergleiche zum Beispiel die Schritte A5 in 1A bzw. B14 in 2B). Anschließend ist das Verfahren beendet.
  • Die dargestellten Verfahren erlauben ein abgesichertes Hochfahren eines Computersystems mit einem verschlüsselten Dateisystem bzw. die Vorbereitung von Maßnahmen für solche Verfahren. Die genannten Prozesse können vollautomatisiert ablaufen. Insbesondere durch Zusammenspiel eines externen Speichermediums, auf dem ein verschlüsselter Dateisystem-Schlüssel zur Entschlüsselung des verschlüsselten Dateisystems im Computersystem hinterlegt ist, mit einer Entschlüsselung des verschlüsselten Dateisystem-Schlüssels während eines Startprozesses des Computersystems und nachfolgendes Verwenden des Dateisystem-Schlüssels ist ein abgesicherter, aber dennoch sehr komfortabler Prozess zum Booten des Computersystems implementiert. Durch weitere Überprüfungsprozesse der erläuterten Art kann der Prozess zusätzlich sehr effizient abgesichert werden.
  • Konfigurationsmöglichkeiten zur Vorbereitung und/oder Einstellung und/oder Durchführung sämtlicher Maßnahmen und Prozessschritte können über eine Konsole (command line) und/oder über eine graphische Benutzeroberfläche (GUI) ermöglicht werden. Dadurch können z.B. auch externe Speichermedien, darauf abgespeicherte Dateisystem-Schlüssel bzw. Schlüssel-Dateien oder sonstige Parameter verwaltet werden (z.B. Hinzufügen oder Löschen eines verwendeten USB-Sticks).
  • Die dargestellten speziellen Ausgestaltungen der erläuterten Verfahren, Anordnungen und Verwendungen sind lediglich beispielhaft gewählt. Im Zusammenhang mit den erläuterten Verfahren können bei einzelnen oder sämtlichen Überprüfungsmechanismen der Identitäten von abgeglichenen Informationen oder sonstigen Bedingungen die folgenden Maßnahmen ggf. kombiniert angewendet werden, falls eine jeweilige Überprüfung eine Abweichung der abgeglichen Informationen ergibt:
    • - das Verfahren wird abgebrochen,
    • - das Computersystem wird in einen abgesicherten Modus versetzt,
    • - es wird ein Eintrag in eine Log-Datei geschrieben,
    • - es werden temporäre Daten gelöscht und/oder in ein Backup gesichert,
    • - die Durchführung bestimmter Aktionen (wie z.B. die Erzeugung oder Veränderung eines Dateisystem-Schlüssels oder einer Schlüssel-Datei) werden von einem existenten Online Monitoring abhängig gemacht.
  • Generell sollten die einzelnen Verfahrensschritte und/oder auftretende Ereignisse in einer Log-Datei protokolliert werden.
  • In weiteren optionalen Ausgestaltungen der hier dargestellten Verfahren wäre denkbar, sämtliche Daten, die auf dem externen Speichermedium hinterlegt sind, nochmals zusätzlich zu den oben ausgeführten Maßnahmen zu verschlüsseln und eine entsprechende Eingabe einer Passphrase (z.B. über eine Tastatur) zu fordern, vermittels der eine Entschlüsselung dieser zusätzlichen Verschlüsselung herbeigeführt wird.
  • Bezugszeichenliste
  • A1 bis A13
    Verfahrensschritte
    B1 bis B21
    Verfahrensschritte
    C1 bis C13
    Verfahrensschritte

Claims (17)

  1. Verfahren zum abgesicherten Hochfahren eines Computersystems mit einem verschlüsselten Dateisystem, das in einem ersten Speicherbereich eines Speichers innerhalb des Computersystems gespeichert ist, wobei das Verfahren die folgenden Schritte umfasst, die automatisiert beim Start des Computersystems durchgeführt werden: - Auslösen eines Startprozesses des Computersystems durch Zugreifen auf einen zweiten Speicherbereich des Speichers, in dem für den Startprozess erforderliche Programmdaten hinterlegt sind, - Laden und Ausführen der für den Startprozess erforderlichen Programmdaten aus dem zweiten Speicherbereich, - Einbinden eines an das Computersystem angeschlossenen externen Speichermediums, wobei auf dem externen Speichermedium ein Dateisystem-Schlüssel für eine Entschlüsselung von Dateisystem-Daten des verschlüsselten Dateisystems hinterlegt ist, wobei der Dateisystem-Schlüssel auf dem externen Speichermedium verschlüsselt ist, - Laden des verschlüsselten Dateisystem-Schlüssels aus dem externen Speichermedium in das Computersystem, - Entschlüsseln des verschlüsselten Dateisystem-Schlüssels vermittels eines im zweiten Speicherbereich hinterlegten Schlüssels, - Setzen des entschlüsselten Dateisystem-Schlüssels in einem durch den Startprozess etablierten Kryptographiemodul, sowie - Entschlüsseln und Laden von Dateisystem-Daten des verschlüsselten Dateisystems durch das Kryptographiemodul vermittels des gesetzten Dateisystem-Schlüssels, wodurch das Computersystem vollständig hochgefahren wird.
  2. Verfahren nach Anspruch 1, wobei der Dateisystem-Schlüssel auf dem externen Speichermedium innerhalb einer Schlüssel-Datei hinterlegt ist, die neben dem Dateisystem-Schlüssel zusätzlich eine Kennung des externen Speichermediums enthält, wobei die Schlüssel-Datei aus dem externen Speichermedium in das Computersystem geladen wird und wobei zusätzlich der folgende Schritt durchgeführt wird: - Überprüfen der in der Schlüssel-Datei enthaltenen Kennung des externen Speichermediums auf Identität mit einer durch Einbinden des externen Speichermediums ermittelten tatsächlichen Kennung.
  3. Verfahren nach Anspruch 2, wobei nach dem vollständigen Hochfahren des Computersystems die folgenden weiteren Schritte durchgeführt werden: - Laden einer Kopie der Schlüssel-Datei, die im Dateisystem hinterlegt ist, - Überprüfen der aus dem externen Speichermedium geladenen Schlüssel-Datei auf Identität mit der geladenen Kopie der Schlüssel-Datei.
  4. Verfahren nach Anspruch 3, umfassend die weiteren Schritte: - Extrahieren einer Kennung des externen Speichermediums aus der geladenen Kopie der Schlüssel-Datei, sowie - Überprüfen der aus der geladenen Kopie der Schlüssel-Datei extrahierten Kennung auf Identität mit einer durch Einbinden des an das Computersystem angeschlossenen externen Speichermediums in das hochgefahrene Dateisystem ermittelten tatsächlichen Kennung.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei nach dem vollständigen Hochfahren des Computersystems der folgende weitere Schritt durchgeführt wird: - Überprüfen der Programmdaten innerhalb des zweiten Speicherbereichs auf Identität mit einer Kopie der Programmdaten des zweiten Speicherbereichs, die im Dateisystem im ersten Speicherbereich hinterlegt ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei nach dem vollständigen Hochfahren des Computersystems die folgenden weiteren Schritte zur Vorbereitung eines Neustarts des Computersystems durchgeführt werden: - Bestimmen eines Zeitfensters mit einer vorbestimmten Anfangszeit und einer vorbestimmten Endzeit und Hinterlegen des Zeitfensters im Dateisystem, - Erzeugen eines temporären Dateisystem-Schlüssels für eine Entschlüsselung von verschlüsselten Dateisystem-Daten des Dateisystems nach einem Neustart des Computersystems, - Hinterlegen des temporären Dateisystem-Schlüssels im zweiten Speicherbereich, sowie - Auslösen eines Neustarts des Computersystems.
  7. Verfahren nach Anspruch 6, wobei vor dem Schritt des Auslösens eines Neustarts des Computersystems zusätzlich eine Kopie des temporären Dateisystem-Schlüssels im Dateisystem hinterlegt wird.
  8. Verfahren nach Anspruch 6 oder 7, wobei durch Auslösen des Neustarts des Computersystems die folgenden Schritte durchgeführt werden: - Herunterfahren des Dateisystems, wobei das Dateisystem vollständig verschlüsselt und im ersten Speicherbereich gespeichert wird, - Erneutes Auslösen des Startprozesses des Computersystems durch Zugreifen auf den zweiten Speicherbereich, in dem die für den Startprozess erforderlichen Programmdaten hinterlegt sind, - Laden und Ausführen der für den Startprozess erforderlichen Programmdaten aus dem zweiten Speicherbereich, - Laden des temporären Dateisystem-Schlüssels aus dem zweiten Speicherbereich, - Setzen des geladenen temporären Dateisystem-Schlüssels in einem durch den Startprozess etablierten Kryptographiemodul, - Entschlüsseln und Laden von verschlüsselten Dateisystem-Daten des Dateisystems durch das Kryptographiemodul vermittels des gesetzten temporären Dateisystem-Schlüssels, wodurch das Computersystem vollständig hochgefahren wird, - Lesen der aktuellen Systemzeit des Computersystems, sowie - Überprüfen, ob die aktuelle Systemzeit innerhalb des aus dem Dateisystem geladenen bestimmten Zeitfensters liegt.
  9. Verfahren nach Anspruch 7 und 8, wobei nach dem erneuten vollständigen Hochfahren des Computersystems nach dem Neustart der folgende weitere Schritt durchgeführt wird: - Überprüfen des im zweiten Speicherbereich hinterlegten temporären Dateisystem-Schlüssels auf Identität mit der geladenen Kopie des temporären Dateisystem-Schlüssels, die im Dateisystem hinterlegt wurde.
  10. Verfahren zum Bereitstellen von Maßnahmen zum abgesicherten Hochfahren eines Computersystems mit einem Dateisystem, das in einem ersten Speicherbereich eines Speichers innerhalb des Computersystems gespeichert ist, wobei das Verfahren die folgenden Schritte umfasst, die automatisiert während des laufenden Betriebs des hochgefahrenen Computersystems durchgeführt werden: - Einbinden eines an das Computersystem angeschlossenen externen Speichermediums, - Erzeugen eines Dateisystem-Schlüssels für eine spätere Entschlüsselung von Dateisystem-Daten des im ersten Speicherbereich des Speichers abgelegten Dateisystems, - Verschlüsseln des erzeugten Dateisystem-Schlüssels, - Hinterlegen des verschlüsselten Dateisystem-Schlüssels auf dem externen Speichermedium, sowie - Hinterlegen eines Schlüssels in einem zweiten Speicherbereich des Speichers innerhalb des Computersystems für eine Entschlüsselung des auf dem externen Speichermedium hinterlegten, verschlüsselten Dateisystem-Schlüssels.
  11. Verfahren nach Anspruch 10, wobei der Dateisystem-Schlüssel gemeinsam mit einer Kennung des externen Speichermediums in einer Schlüssel-Datei hinterlegt wird und die Schlüssel-Datei anschließend auf dem externen Speichermedium hinterlegt wird.
  12. Verfahren nach Anspruch 11, wobei zusätzlich eine Kopie der Schlüssel-Datei im Dateisystem im ersten Speicherbereich des Speichers hinterlegt wird.
  13. Verfahren nach einem der Ansprüche 10 bis 12, umfassend den folgenden weiteren Schritt: - Überprüfen von Programmdaten, die innerhalb des zweiten Speicherbereichs des Speichers hinterlegt und für einen Startprozess des Computersystems erforderlich sind, auf Identität mit einer Kopie dieser Programmdaten, die im Dateisystem im ersten Speicherbereich hinterlegt ist.
  14. Verfahren nach einem der Ansprüche 10 bis 13, umfassend den weiteren Schritt: - Verschlüsseln des Dateisystems im ersten Speicherbereich des Speichers vermittels eines Kryptographiemoduls, wobei für die Verschlüsselung ein Dateisystem-Schlüssel herangezogen wird, der mit dem Dateisystem-Schlüssel für eine spätere Entschlüsselung von Dateisystem-Daten übereinstimmt oder mit diesem in Beziehung steht.
  15. Verfahren nach einem der Ansprüche 10 bis 14, wobei bei einem nächsten Start des Computersystems ein Verfahren gemäß einem der Ansprüche 1 bis 9 durchgeführt wird.
  16. Anordnung, umfassend ein Computersystem und ein an das Computersystem angeschlossenes externes Speichermedium, wobei das Computersystem einen Speicher mit einem ersten Speicherbereich und mit einem zweiten Speicherbereich umfasst, im ersten Speicherbereich ein verschlüsseltes Dateisystem abgelegt ist und im zweiten Speicherbereich für einen Startprozess des Computersystems erforderliche Programmdaten hinterlegt sind, und wobei auf dem externen Speichermedium ein Dateisystem-Schlüssel für eine Entschlüsselung von Dateisystem-Daten des im ersten Speicherbereich des Speichers abgelegten Dateisystems hinterlegt ist und der Dateisystem-Schlüssel auf dem externen Speichermedium verschlüsselt ist, wobei im zweiten Speicherbereich des Computersystems ferner ein Schlüssel hinterlegt ist, der zur Entschlüsselung des auf dem externen Speichermedium hinterlegten verschlüsselten Dateisystem-Schlüssels vorgesehen ist, wobei das Computersystem eingerichtet ist, den verschlüsselten Dateisystem-Schlüssel aus dem externen Speichermedium in das Computersystem zu laden, den verschlüsselten Dateisystem-Schlüssel vermittels des im zweiten Speicherbereich des Computersystems hinterlegten Schlüssels zu entschlüsseln und schließlich vermittels des entschlüsselten Dateisystem-Schlüssels bedarfsweise Dateisystem-Daten des verschlüsselten Dateisystems zu entschlüsseln und zu laden.
  17. Verwendung eines externen Speichermediums für ein Verfahren nach einem der Ansprüche 1 bis 9, wobei auf dem externen Speichermedium ein Dateisystem-Schlüssel für eine Entschlüsselung von Dateisystem-Daten eines verschlüsselten Dateisystems innerhalb eines Computersystems hinterlegt ist, wobei der Dateisystem-Schlüssel auf dem externen Speichermedium verschlüsselt ist.
DE102017106042.1A 2016-12-22 2017-03-21 Verfahren zum abgesicherten Hochfahren eines Computersystems, sowie Anordnung, umfassend ein Computersystem und ein an das Computersystem angeschlossenes externes Speichermedium Withdrawn DE102017106042A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
GB1813787.7A GB2563165A (en) 2016-12-22 2017-12-01 Method for securely booting up a computer system, and assembly comprising a computer system and an external storage medium connected to the computer system
PCT/EP2017/081232 WO2018114292A1 (de) 2016-12-22 2017-12-01 Verfahren zum abgesicherten hochfahren eines computersystems, sowie anordnung, umfassend ein computersystem und ein an das computersystem angeschlossenes externes speichermedium
US16/095,911 US11055414B2 (en) 2016-12-22 2017-12-01 Method for a secured start-up of a computer system, and configuration comprising a computer system and an external storage medium connected to the computer system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016125416.9 2016-12-22
DE102016125416 2016-12-22

Publications (1)

Publication Number Publication Date
DE102017106042A1 true DE102017106042A1 (de) 2018-06-28

Family

ID=62510295

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017106042.1A Withdrawn DE102017106042A1 (de) 2016-12-22 2017-03-21 Verfahren zum abgesicherten Hochfahren eines Computersystems, sowie Anordnung, umfassend ein Computersystem und ein an das Computersystem angeschlossenes externes Speichermedium

Country Status (4)

Country Link
US (1) US11055414B2 (de)
DE (1) DE102017106042A1 (de)
GB (1) GB2563165A (de)
WO (1) WO2018114292A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11204986B1 (en) * 2018-11-28 2021-12-21 American Megatrends International, Llc Control of a prompt for a credential to unlock a storage device
US11394546B2 (en) * 2019-10-11 2022-07-19 Fortanix, Inc. Encrypted data key management
US11829795B2 (en) * 2019-12-30 2023-11-28 UiPath, Inc. Trigger service management for robotic process automation (RPA)
CN111191196A (zh) * 2020-01-02 2020-05-22 日立楼宇技术(广州)有限公司 嵌入式程序运行方法、装置、计算机设备及存储介质
CN111209572B (zh) * 2020-01-07 2023-02-10 杭州涂鸦信息技术有限公司 一种基于加解密的Linux系统安全启动方法及系统
CN113839773A (zh) * 2021-08-17 2021-12-24 厦门市美亚柏科信息股份有限公司 一种luks密钥离线提取方法、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070083A1 (en) * 2001-09-28 2003-04-10 Kai-Wilhelm Nessler Method and device for encryption/decryption of data on mass storage device
US20120079287A1 (en) * 2010-03-26 2012-03-29 Maxlinear, Inc. Firmware Authentication and Deciphering for Secure TV Receiver
WO2015030742A1 (en) * 2013-08-28 2015-03-05 Intel Corporation Systems and methods for authenticating access to an operating system by a user before the operating system is booted using a wireless communication token

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1429224A1 (de) 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware Laufzeit Authentisierung
EP1913510A1 (de) * 2005-08-05 2008-04-23 Hewlett-Packard Development Company, L.P. System, verfahren und vorrichtung zum entschlüsseln von auf einem wechselbaren medium gespeicherten daten
US7934104B2 (en) * 2006-01-25 2011-04-26 International Business Machines Corporation Systems and methods for verifying a licensed installation at time of update
CA2780393C (en) * 2011-06-21 2016-06-07 Dls Technology Corporation Key based secure operating system with secure dongle and method, and cryptographic method
US8868898B1 (en) * 2012-07-16 2014-10-21 Robert Van Hoof Bootable covert communications module
US9239802B1 (en) * 2014-09-12 2016-01-19 Sze Yuen Wong System and method for protecting a plug server using encryption techniques without internet connectivity
US10089116B2 (en) * 2016-03-18 2018-10-02 Uber Technologies, Inc. Secure start system for an autonomous vehicle

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070083A1 (en) * 2001-09-28 2003-04-10 Kai-Wilhelm Nessler Method and device for encryption/decryption of data on mass storage device
US20120079287A1 (en) * 2010-03-26 2012-03-29 Maxlinear, Inc. Firmware Authentication and Deciphering for Secure TV Receiver
WO2015030742A1 (en) * 2013-08-28 2015-03-05 Intel Corporation Systems and methods for authenticating access to an operating system by a user before the operating system is booted using a wireless communication token

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Cryptography behind chip based credit card (smart cards)?. In: Stackexchange Information Security, 24. Januar 2014 und 17. März 2017. URL: https://security.stackexchange.com/questions/49280/cryptography-behind-chip-based-credit-cards-smart-cards [abgerufen am 30. Januar 2018] *
Cryptography behind chip based credit card (smart cards)?. In: Stackexchange Information Security, 24. Januar 2014 und 17. März 2017. URL: https://security.stackexchange.com/questions/49280/cryptography-behind-chip-based-credit-cards-smart-cards [abgerufen am 30. Januar 2018]
Installing Parabola on Libreboot with full disk encryption (including /boot). In: Parabola Wiki. Bearbeitungsstand: 25. Dezember 2016. URL: https://wiki.parabola.nu/index.php?title=Installing_Parabola_on_Libreboot_with_full_disk_encryption_(including_/boot)&oldid=18003 [abgerufen am 31. Januar 2018] *
Installing Parabola on Libreboot with full disk encryption (including /boot). In: Parabola Wiki. Bearbeitungsstand: 25. Dezember 2016. URL: https://wiki.parabola.nu/index.php?title=Installing_Parabola_on_Libreboot_with_full_disk_encryption_(including_/boot)&oldid=18003 [abgerufen am 31. Januar 2018]
Minimal instructions for installing arch linux on an UEFI system with full system encryption using dm-crypt and luks. In: GitHubGist. Bearbeitungsstand: 21. August 2016. URL: https://gist.github.com/mattiaslundberg/8620837/81b048ac6569a98fe015eb42d78dba0c4f6d93a1 [abgerufen am 31. Januar 2018] *

Also Published As

Publication number Publication date
US20210034750A1 (en) 2021-02-04
US11055414B2 (en) 2021-07-06
WO2018114292A1 (de) 2018-06-28
GB201813787D0 (en) 2018-10-10
GB2563165A (en) 2018-12-05

Similar Documents

Publication Publication Date Title
DE102017106042A1 (de) Verfahren zum abgesicherten Hochfahren eines Computersystems, sowie Anordnung, umfassend ein Computersystem und ein an das Computersystem angeschlossenes externes Speichermedium
DE102008021567B4 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
DE60313368T2 (de) Verfahren und Server zum Aktualisieren von Software
DE112019005701T5 (de) Sichere boot-unterstützung für vorrichtungen und zugehörige systeme, verfahren und vorrichtungen
EP2823429B1 (de) Pc absicherung durch bios/(u) efi erweiterungen
DE112009004762T5 (de) System und verfahren zum durchführen einer verwaltunosoperation
DE102022105069A1 (de) Systeme, verfahren und vorrichtungen für gesicherte nichtflüchtige speicher
EP2772856A1 (de) Verfahren zum Ausführen von Tasks auf einem Produktions-Computersystem sowie Datenverarbeitungssystem
EP3811260B1 (de) Kryptografiemodul und betriebsverfahren hierfür
EP1762956A2 (de) Computer mit mindestens einer Anschlussmöglichkeit für ein Wechselspeichermedium und Verfahren zum Starten und Betreiben eines Computers mit einem Wechselspeichermedium
EP3224756B1 (de) Verfahren zum nachladen von software auf eine chipkarte durch einen nachladeautomaten
DE102013210837B4 (de) Startanwendung kryptographischer Schlüsselspeicher
EP3105899B1 (de) Verfahren zum hochfahren eines produktions-computersystems
EP1912184A2 (de) Vorrichtung und Verfahren zur Erzeugung von Daten
DE102020207866A1 (de) Verfahren zum Durchführen einer abgesicherten Startsequenz eines Steuergeräts
DE102015212657A1 (de) Bereitstellen eines gerätespezifischen kryptographischen Schlüssels aus einem systemübergreifenden Schlüssel für ein Gerät
EP3690690B1 (de) Verfahren zum prüfen einer validität von daten und computerimplementierte vorrichtung zum verarbeiten von daten
DE102021212994B3 (de) Verfahren zur Erkennung von auf eine Manipulation hindeutenden Anomalien während eines sicheren Startvorgangs einer softwaregesteuerten Vorrichtung
WO2010040423A1 (de) Ausführen kryptographischer operationen
EP3347848B1 (de) Speicherprogrammierbarer baustein und verfahren zur geschützten übertragung von daten auf einen speicherprogrammierbaren baustein
DE102014113441A1 (de) Schutz vor Software-Komponenten mittels Verschlüsselung
EP4270228A1 (de) Software-implementierte sperre
DE102020207863A1 (de) Verfahren zur sicheren Aktualisierung von Steuergeräten
DE112008003806T5 (de) Vorrichtung und Verfahren zum Freigeben von Anwendungen auf einem Sicherheitsprozessor
DE102014203904A1 (de) Verfahren und Rechenvorrichtung zum Schreiben von vertraulicher Information auf ein Sicherheitsmodul

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee