WO2018114292A1 - 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
WO2018114292A1
WO2018114292A1 PCT/EP2017/081232 EP2017081232W WO2018114292A1 WO 2018114292 A1 WO2018114292 A1 WO 2018114292A1 EP 2017081232 W EP2017081232 W EP 2017081232W WO 2018114292 A1 WO2018114292 A1 WO 2018114292A1
Authority
WO
WIPO (PCT)
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.)
Ceased
Application number
PCT/EP2017/081232
Other languages
English (en)
French (fr)
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 US16/095,911 priority patent/US11055414B2/en
Publication of WO2018114292A1 publication Critical patent/WO2018114292A1/de
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

Definitions

  • the invention relates to a method for secure
  • Computer system is stored as well as a procedure for
  • the invention relates to an arrangement comprising a computer system and an external storage medium connected to the computer system, as well as the use of an external storage medium for a method mentioned above.
  • a key also called a passphrase, password, password, keyword, codeword, password or password
  • file system data of the encrypted file system can be decrypted and loaded.
  • This usually requires the input of a passphrase by a user during startup.
  • the passphrase is entered conventionally by a keyboard connected to the computer system, possibly under the control of an input mask displayed on a connected monitor.
  • a disadvantage of this approach is that the user may be criminal or bribery or the passphrase is stolen by a criminal third party. It is conceivable, for example, that a criminal third party taps the passphrase during the input by an authorized user at the keyboard due to a manipulation, for example by means of a so-called keylogger.
  • Another disadvantage of the known approach is that at least one keyboard and possibly a monitor must be connected to the computer system.
  • the disadvantage of this is the space required for a keyboard or a monitor.
  • the permanent connection of a keyboard to a computer system for security reasons can be problematic for access protection to the computer system. Because this is an input option, for example, to log in
  • Storage medium a corresponding key to
  • Storage medium is connected to the computer system, the computer system can access the external storage medium at a boot process, the key from the external
  • the object is achieved in a first aspect by a method according to claim 1.
  • Such a method is provided for the safe booting of a computer system with an encrypted file system, which in a first memory area of a
  • Memory is stored within the computer system.
  • the procedure comprises the following steps, which are carried out automatically at the start of the computer system:
  • Storage medium a file system key for one
  • decrypting file system data of the encrypted file system within the computer system to power up the computer system is fully automated without the need for user input. This means that no user with knowledge of a corresponding key or passphrase is required, which could potentially be criminal, corruptible or blackmailable. Furthermore, a manipulation of an input of a key via a keyboard or a tampering with a key during such an input is prevented because such an input does not occur.
  • the external storage medium is connected to the computer system for this purpose.
  • the external storage medium may e.g. a USB stick, an SD card or an external one
  • File system key on the external storage medium is in a storage area within the memory of the
  • Storage medium deposited, encrypted file system key can only in conjunction with the
  • predetermined computer system in which the appropriate key for decrypting the file system key is deposited, so that the above method steps for decrypting file system data and booting of the computer system can be performed. In this way, an unauthorized person of the file system key is prevented from using the encrypted text in plain text
  • the external storage medium used acts as a kind of
  • Secure key for performing the decryption of file system data of the encrypted file system may e.g. for a
  • Computer system which is a specialized system for establishing a secure connection (e.g., VPN connection) to one or more other computer systems (e.g., servers).
  • the computer system may be some kind of "encryption box” or “encryption router” (e.g., router with VPN functionality), where the
  • Connection key especially VPN key
  • connection key against manipulation may also contain the operating system. Encryption of the file system prevents or
  • Connection key by manipulating the files of the operating system. It is conceivable, for example, to operate the computer system in a branch of a company and to establish a secure connection to one or more central servers of the enterprise by booting up.
  • the external storage medium acting as a secure key can be used by employees of the branch, for example the system starts up automatically.
  • Other purposes and embodiments of the computer system are of course also conceivable and not by the above representations
  • Memory area of the memory is encrypted and other data in the first memory area of the memory are unencrypted.
  • Memory area is encrypted, so all data
  • File system and possibly other data are encrypted in the first memory area. It is possible that multiple file systems are stored in memory. These file systems can all be encrypted or only individual file systems can be encrypted. It is conceivable that multiple file systems are encrypted with different file system keys or with a uniform file system key. Depending on the above constellations, the multiple file systems in a defined memory area or in several
  • storage area can be a defined partition of the
  • Memory or define itself merely as an (address) area of the memory in which certain data (e.g.
  • the program data required for the startup process may be a special launcher (a
  • the program data required for the startup process may include operating system data (an operating system kernel).
  • operating system data an operating system kernel
  • the operating system data is loaded by the bootloader.
  • the boot process of the computer system is triggered, for example, by a BIOS (Basic Input / Output System).
  • BIOS Basic Input / Output System
  • the BIOS can access the second memory area of the memory and load there the necessary programs for the start.
  • the file system data comprises at least according to the method explained here
  • Data needed to fully power up the computer system may include, for example, other operating system data (in addition to operating system data in the second memory area), program data, user data (for
  • Example login information and so on.
  • the file system data is worthless insofar
  • the term "cryptography module” includes a
  • Cryptography program program part
  • Threads eg kernel thread
  • decryption generally means, in the method discussed herein, that one or more components (e.g., a cryptographic module) of the computer system, by means of the file system key passed to it, read and / or write to file system data stored in the first
  • Memory area are stored (and thus, for example, the file system can boot).
  • the decryption of encrypted file system data can be done in a dedicated cryptography module (eg in Linux systems in the module "dm-crypt") or in a key management program (eg in Linux systems in the so-called “Linux Unified Key Setup", in short "LUKS” ) by means of a so-called master key
  • the master key is used to encrypt or decrypt the
  • Cryptography be used.
  • an encryption with a first master key (usually referred to as a public key) and a
  • an inserted master key is generated from the file system key, formed by the file system key itself, or is a separate key from the file system key, which is used by the file system key
  • File system key in turn encrypted or decrypted.
  • booting of the computer system is blocked.
  • An unauthorized third party can not access the computer system and any confidential content in the file system.
  • Decrypting file system data of the encrypted file system may mean that the entire file system in memory during the
  • Start process is decrypted.
  • it is practicable - not least for performance and security reasons - not to decrypt the entire encrypted file system, but merely to set the file system key in a cryptographic module that functions as a
  • Cryptography layer of the cryptography module are processed so that they are readable for the running processes and e.g. can be loaded into main memory.
  • the file system data remains in encrypted form in the first memory area of the memory.
  • Main memory loaded file system data which are no longer needed, are written back in encrypted form (by means of the cryptography layer) in the file system in the first memory area of the memory.
  • the second memory area should oppose
  • BIOS Changing settings within the BIOS makes it difficult. Also, it is advantageous to make physical access to the file system more difficult or to make it visible by using seals.
  • the file system key is stored on the external storage medium within a key file.
  • the key file also contains an identifier of the external storage medium.
  • the key file is then loaded from the external storage medium into the computer system.
  • the following step can be performed:
  • the file system key can handle the identifier in a special combination procedure
  • the identifier is, for example, the Serial number of the external storage medium.
  • other information may also be contained in the key file and possibly combined with the file system key, eg a freely selectable string (eg an assigned name of the external storage medium, user name, etc.).
  • the identifier stored in the key file differs from the actual identifier determined by incorporating the external storage medium, it is determined that a storage medium other than the storage medium to be used is used. Otherwise, the storage medium used is accepted as the expected one. The same applies in addition to the identifier for other deposited information.
  • the explained measures prevent a combination of the file system key with an identifier of the external storage medium and / or with other explained information and, if necessary, the verification of the identity of the matched identifiers or other information (or at least
  • the encrypted key file can be loaded from the external storage medium into the computer system during the start process and deposited by means of the second storage area
  • Decrypted key so that the file system key for decrypting file system data - as explained - can be used. Furthermore, the identifier stored in the key file is checked after decrypting the encrypted key file.
  • An encryption of the entire key file has the advantage that a modification of the key file is massively more difficult. This places the files next to the file system key inside the key file
  • an identifier stored in the key file is secured against manipulative adaptation to an identifier of a foreign external storage medium, so that the above process of verifying the identity of the identifiers used is difficult to manipulate.
  • the key file or even just the file system key should have a specific name in order to be unique on the external storage medium to be deposited and discovered during the procedure.
  • the name can always be the same, in parts or completely freely selectable.
  • the key file or file system key may be stored elsewhere, for example between partitioned ones
  • Serial number of the external storage medium is also possible to use a random number stored in the file system. This can possibly be linked to another information. Then, if desired, a single external storage medium could easily be used for the decryption of different file systems, if necessary several different computer systems.
  • File system key identity to the loaded copy of the encrypted (or unencrypted) file system key. Again, if necessary, the following additional steps may be performed prior to performing these actions:
  • the copy stored in the file system (depending on whether it contains the encrypted or unencrypted key file or the encrypted or unencrypted file system key) is issued with the version of the encrypted or decrypted key file or the encrypted or decrypted file system key compared to the external storage medium. Checking the key file or the file system key on the external
  • File system pre-empted copy is a security hurdle caused by the computer system with booted file system is checked.
  • the booted computer system checks in this case whether the key file or the file system key on the external storage medium corresponds to a corresponding image which has been previously created (eg during a preparation of the method explained) in the running file system of the started-up computer system.
  • the powered-up computer system may detect manipulation of the key file or file system key on the external storage medium, even if such manipulation occurs during the start-up process (loading and unloading)
  • Storage medium has not been detected, e.g. because the startup process itself has been manipulated.
  • Restrict computer system to predetermined users or prohibit any access can e.g. by providing no log-in capability to the file system (e.g., via a shell or console).
  • the method comprises the further steps: - extracting an identifier of the external storage medium from the loaded copy of the key file deposited in the file system, and - verifying the identifier extracted from the loaded copy of the key file for identity with an external by attaching the computer connected to the computer system
  • Storage medium in the uploaded file system detected actual identifier.
  • the copy of the key file itself is encrypted (for example, by means of the same key with which possibly the key file is also encrypted on the external storage medium, see above), the following steps are initially performed:
  • the identifier can then be extracted and checked from the decrypted copy of the key file.
  • a stored in the copy of the key file identifier with the identifier of the external storage medium used by the powered-up computer system not only a manipulation of the key file or the file system key on the external storage medium are generally recognized. It can be checked specifically for that Method exactly the external storage medium is used, which was used in a process set up, ie on the previously the key file or the file system key has been stored.
  • the key file could be decrypted and provided with a new identifier of the exchanged storage medium such that it would be checked during the
  • Access for expanding the memory for decryption in another computer system is specifically secured (eg, via a seal) and the computer system prevents entry of the decrypted file system key to allow decryption off-process could prevent an unauthorized third party from considering the above manipulation of the encrypted key file to manipulate the process while still obtaining (at least partial) decryption of the file system for accessing data.
  • the powered-up computer system compensates for an identifier contained in the pre-stored copy of the key file with the identifier of the external storage medium used. This results in a deviation of the stored in the key file identifier or determined by integrating the external storage medium
  • File system is stored in the first memory area
  • Program data of the second memory area if the program data of the second memory area is different from the copy in the file system within the computer system. Thus it can be recognized if program data of the second
  • Start time and a predetermined end time and deposit of the time window in the file system - generating a temporary file system key for decrypting encrypted file system data of the file system after a restart of the computer system, - Deposit the temporary file system key in the second memory area, as well
  • the determination of a time window having a predetermined start time and a predetermined end time serves to establish a predefined time period in which the restart is expected or in which the restart must take place in order to bring the computer system back into normal operation with a fully booted file system.
  • Such measures may be, for example: - A reboot process should be monitored by a person physically present on the computer system if possible; then you would notice directly if the
  • Computer system should be specially sealed, so that tampering with the housing of the computer system, for example, for an expansion of the internal memory, notice.
  • the creation and storage of a temporary file system key is to decrypt file system data of the encrypted file system after a successful one
  • the measures are particularly advantageous for a restart of the computer system, the remotely, for
  • Example by an administrator is triggered.
  • a copy of the temporary file system key is additionally stored in the file system before the step of triggering a restart of the computer system. This copy of the temporary file system key is additionally stored in the file system before the step of triggering a restart of the computer system. This copy of the temporary file system key
  • File system within the computer system is done fully automatically by means of the stored, loaded and applied temporary file system key.
  • the current system time is read and it is checked whether the current system time is within the predetermined time window.
  • manipulations explained above can be prevented or made more difficult.
  • the computer system or the restart process should be through the above-mentioned measures
  • the secure mode may include, for example, a restrictive startup process that can only be initiated by a limited user population.
  • the protected mode necessarily provides an above method for safe booting of the computer system, if the measures explained here are carried out within the scope of such a method.
  • the following further step is performed: Checking the temporary file system key stored in the second memory area for identity with the loaded copy of the temporary file system key stored in the file system has been.
  • Performing a reboot process becomes an automated, yet highly secure process for rebooting a computer system with an encrypted file system
  • Such a method for providing measures for safely booting up a computer system with a file system that is in a first memory area a memory is stored within the computer system.
  • the method comprises the following steps, which are automated during the ongoing operation of the
  • Memory area of the memory within the computer system for decrypting the encrypted file system key stored on the external storage medium is
  • Such a method allows provisioning of measures to securely automate a process of powering up a computer system with a computer
  • the file system key is also encrypted and a corresponding file system key
  • a cryptography module for example pgp, gnupg or dm-crypt.
  • a cryptography module can be identical or
  • the file system key together with an identifier of the external
  • the file system key is intentionally coupled with an identifier of the external storage medium. This forces a linking of the file system key to the external storage medium.
  • the file system key can be combined with the identifier by a special combination method.
  • the measure of this embodiment of the method is applicable only to the file system key (and not to the entire key file).
  • a copy of the file system key is stored in the file system in the first memory area of the memory.
  • the method comprises the following further step:
  • File system is stored in the first memory area.
  • This step can be performed as a preparatory measure of the above method steps. It is also conceivable for example, prior to generating the file system key, encrypting the generated file system key, or storing a key in a second memory area of the memory within the computer system for decrypting the encrypted file system key stored on the external storage medium
  • the copy of the program data of the second memory area is stored in the file system in the first memory area of the memory within the computer system and reflects the state of the program data before performing the above process steps. If the program data of the second memory area is changed in a controlled manner, e.g. During a software update, a new copy of the changed program data should be stored in the file system.
  • a controlled manner e.g. During a software update, a new copy of the changed program data should be stored in the file system.
  • Manipulation of the program data of the second memory area are recognized, if the above check does not give an identity, i. the program data of the second memory area is different from the copy in the file system. This poses a safety hurdle to verify the integrity of the
  • Program data in the second memory area before the second memory area is used for the above method steps. As a result, it can be ensured that the key for decrypting the encrypted file system key stored on the external storage medium is not stored in a manipulated or defective second storage area of the computer system. This check enables the secure execution of the process. If an unwanted change or manipulation of the program data of the second
  • Memory area is detected, the process can be terminated be placed and / or the computer system in a safe mode.
  • the method comprises the further step:
  • Decryption of file system data matches or is related to it.
  • the file system may be a first key of an asymmetric key pair, while the file system key is a second key of an asymmetric key pair for later decryption of the file system data.
  • File system key is used for encryption and decryption of the file system.
  • the file system in the first storage area may already be encrypted (e.g., during installation of the file system or in preparation for the above procedure). Then, only the file system key for subsequent decryption must correspond to the already existing file system key which was used for encrypting the file system.
  • Memory area is the computer system, in particular data to be protected within the file system (eg one or more VPN keys for one or more VPN connections the computer system to a central system), protected against unauthorized access. Subsequently, at a next start of the computer system, an above-described method for safely booting up the computer system with the file system (eg one or more VPN keys for one or more VPN connections the computer system to a central system), protected against unauthorized access. Subsequently, at a next start of the computer system, an above-described method for safely booting up the computer system with the
  • the above object is achieved in a further aspect by an arrangement according to claim 16.
  • the arrangement comprises a computer system and an on the
  • Computer system connected external storage medium.
  • the computer system includes a memory with a first
  • the first storage area stores an encrypted file system.
  • the second memory area are for a
  • File system data stored in the first storage area of the storage file system wherein the file system key is encrypted on the external storage medium.
  • a key is also stored, which is used to decrypt the encrypted stored on the external storage medium
  • File system key is provided.
  • the computer system is set up to load the encrypted file system key from the external storage medium into the computer system, to decrypt the encrypted file system key by means of the key stored in the second storage area of the computer system, and finally by means of the decrypted file system key as required
  • Storage medium is encrypted.
  • Figure 1A is a schematic overview of
  • FIG. 1B is a schematic overview of others
  • Figure 2A is a schematic overview of
  • Figure 2B is a schematic overview of others
  • Figure 2C is a schematic overview of others
  • Figure 3A is a schematic overview of
  • FIG. 3B is a schematic overview of others
  • FIG. 3C is a schematic overview of others
  • / boot describes an unencrypted storage area of a memory within the computer system that is used for an initial boot of the computer system and in which the memory for the computer
  • the computer system can be set up and
  • one or more VPN keys can be stored for this, which are used for establishing a connection via the one or more VPN connections to the central system. Encryption of the file system protects both these VPN keys and a
  • FIG. 1A shows a schematic overview of FIG
  • a first step AI the computer system is started and boots into "/ boot.”
  • a boot process is triggered by accessing the storage area "/ boot" of the memory in which the computer is booting
  • deposited program data include a so-called
  • Bootloader under Linux, for example, the so-called “Grand Unified Bootloader", short “GRUB"
  • operating system data of an operating system kernel in this embodiment, e.g. the actual Linux kernel.
  • the operating system core is for
  • Example within a so-called “cpio archive” (“cpio” stands for “copy in, copy out”) stored in “/ boot”.
  • this cpio archive can be unpacked and loaded into an initial RAM disk (under Linux, the minimal program “initramfs”) After loading and executing the program data required for the startup process, there is a running operating system kernel.
  • the passphrase is queried, for example, by means of dm-crypt in the so-called “Device Mapper” in the Linux operating system kernel.This passphrase is also used by the running file system in "/" for
  • the passphrase can be managed through the LUKS key management and used with the cryptsetup luksOpen command
  • the passphrase is entered by a user (for example, via console), which can be set in "/" by setting the passphrase in LUKS and
  • Encrypted file system can be decrypted as needed. That means either the entire file system
  • the computer system can finally be booted in step A3 in "/", causing the computer system
  • step A4 an external storage medium connected to the computer system for purposes explained below is mounted, i. into the running file system "/" of the
  • Storage medium may be connected to the computer system by, for example, a user, i. to the computer system
  • the external storage medium is a USB stick.
  • the external storage medium could be an SD memory card, for example.
  • A4 has the running computer system access to the USB stick.
  • step A5 the data is checked in
  • step A5 it should be noted that in a deliberate and deliberate change of the data in "/ boot", for example during a software update, a new copy of the changed data is created and stored in "/" during the start-up, running computer system should. It is conceivable that the data in "/ boot” after a software update
  • a step A6 it is checked whether an identity exists between the data in "/ boot” and the copy deposited in "/" or not. If the data is not identical, a manipulation is assumed and the process is aborted. The computer system can then be shut down, for example. It is alternatively also conceivable to put the computer system in this case in a safe mode, in which, for example, only predetermined users have access to the computer system to more
  • step A5 if there is an identity between the data checked in step A5, the process continues in step A7 and a file system key is generated.
  • the file system key is used to later decrypt file system data of the encrypted file system stored in the "/" In LUKS key management, other than the passphrase queried in step A2 above, further
  • the file system key (s) may be selected according to a predetermined
  • Cryptography be created. For example, encryption methods according to Advanced Encryption
  • File system keys are subsequently stored in LUKS, so that a subsequent query of the file system key (s) can be used to recognize, assign and process the set file system key (s).
  • FIG. 1B schematically illustrates further method steps which continue the measures from FIG. 1A.
  • the generated file system key is combined with an identifier of the USB stick used.
  • the identifier of the USB stick can be, for example, the serial number of the USB stick. Possibly.
  • a freely selectable string for example a name for the USB stick and / or a name of an assigned user.
  • the file system key will contain such information
  • USB stick and, if appropriate, further information are appended to the file system key as a bit word.
  • special algorithmic methods it is alternatively also conceivable to use special algorithmic methods in order to obtain from the
  • the file system key is combined with the identifier of the USB stick and possibly in conjunction with others
  • step A9 the key file is supplemented with a public key of an asymmetrical encryption method provided for this purpose
  • the key file contains the previously generated file system key, the key file itself being encrypted.
  • Encryption method can also be a symmetric
  • Encryption of the keyfile can be done via dm-crypt or another cryptographic module, e.g. gnupg, done.
  • step A10 the encrypted key file is stored on the USB stick.
  • a copy of the encrypted key file is stored on the USB stick.
  • step All the public key with which the key file has been encrypted in step A9 is shared with a corresponding private one
  • step A12 the private key is also stored in "/ boot".
  • the private key corresponding to the public key with which the key file was encrypted in step A9 is stored in both "/" and "/ boot”.
  • the private key is used subsequently, as will be explained in connection with FIGS. 2A and 2C, for later renewal
  • step A13 the file system is encrypted in "/" if it has not been previously encrypted (e.g., during installation)
  • Encrypting the file system can be done by a symmetric or a
  • Encryption method is conceivable, the file system by means of a first master key (public
  • Decryption of the file system can be provided.
  • the master key can match or be generated from the generated file system key so that it can be regenerated from the applied file system key for later re-decryption of the file system of the master key.
  • the master key differs from the file system key and, after the encryption of the file system, in turn is encrypted with the file system key and stored in encrypted form, eg in LUKS.
  • the encrypted master key can be used for later re-decryption of the file system by the decrypted file system key and decrypted
  • Analog constellations are conceivable in an asymmetric encryption method with regard to the second master key (private key).
  • step A13 the file system is encrypted in "/", after which all temporarily generated data (especially temporarily generated key data) should be stored in an encrypted area (eg in "/"), stored in a RAM disk or deleted , After that, that can
  • a method for safely booting up a computer system with an encrypted file system can be provided or prepared.
  • method steps for safely booting up a computer system with a correspondingly encrypted file system will be explained in greater detail.
  • FIG. 2A shows a schematic overview of FIG
  • Step Bl the computer system shut down is started by booting into "/ boot.”
  • Step B1 can be carried out analogously to step AI, as in FIG.
  • step B2 it is checked whether the start of the computer system is a restart (a so-called reboot from current operation, ie
  • step B3 of Figure 2A a USB stick is attached to the
  • step B4 the encrypted key file is loaded from said USB stick and decrypted by means of the private key stored in "/ boot" (compare step A12 of FIG. 1B)
  • encrypted keyfile can be sent via dm-crypt or another cryptographic module, e.g. gnupg, done. It is conceivable that the decryption of the encrypted
  • step B5 an extraction of the combination of the file system key with the identifier of the USB stick (and optionally further stored information) from the key file (compare step A8 of Figure 1B).
  • step B6 the extraction of the file system key as well as the identifier of the USB stick and, if necessary, further stored data are again carried out from the extracted combination
  • step B6 After performing step B6, at least the file system key and the identifier of the USB stick and, if appropriate, further information (for example freely selectable string, name for the stick and / or name of the assigned user, etc.) are thus present.
  • Computer system could thus in an automated process deposited in the encrypted key file
  • File system keys are decrypted so that they can be used in plain text for further processing.
  • the used USB stick By interacting with the used USB stick with the private key stored in the memory area "/ boot" to decrypt the encrypted key file on the USB stick, this process is possible.
  • step B7 the identifier extracted from the key file according to the steps B5 and B6 is checked for identity with a by mounting the USB stick (see step B3 above).
  • step B7 can be determined whether the actual identifier of the USB stick used matches the stored in the key file identifier. In this way it can be detected if the key file has been copied to another USB stick. In the latter case, that differs in the key file deposited identifier of the actual identifier of the
  • Step B7 thus ensures that only the USB stick used in advance to prepare the process (during the process according to FIGS. 1A and 1B) is used. It should be noted that step B7 could be manipulated by manipulating the key file and forcing the identifier stored therein to match the actual identifier of the used USB stick (foreign stick).
  • FIG. 2B shows further steps of the method according to FIG. 2A.
  • step B8 a query is made as to whether the check in step B7 (see FIG. 2A) has given an identity or not. If the compared identifiers are not identical, this will result in the termination of the procedure.
  • the computer system may, for example, be secured Mode (see above explanation of step A6 in FIG. 1A).
  • step B9 is the from the
  • the file system key can be used in LUKS to check whether the file system key used is valid or corresponds to the information or parameters stored in LUKS. This additionally prevents or impedes the use of an unauthorized or manipulated file system key.
  • the file system key can be used in LUKS to check whether the file system key used is valid or corresponds to the information or parameters stored in LUKS. This additionally prevents or impedes the use of an unauthorized or manipulated file system key.
  • the file system key can be used in LUKS to
  • Decryption of appropriate file system data acts. It is also conceivable that the decoding of the File system data required master key is regenerated from the file system key in LUKS, so that with the regenerated master key file system data
  • step B9 decrypting and loading of file system data of the encrypted file system will occur, thereby booting the computer system into "/" at step BIO and booting up completely, thus fully booting up the computer system at the end of step BIO
  • the powered-up computer system automatically performs certain actions or tasks, e.g. a set-up of a secure connection to a remote server.
  • certain actions or tasks e.g. a set-up of a secure connection to a remote server.
  • step Bll the USB stick again through the
  • Reading out the USB stick can also be done by other suitable measures in addition to mounting.
  • step B12 the encrypted key file is again loaded from the USB stick into the now running file system and checked for identity with a copy deposited in "/" (compare step A10 in Figure 1B)
  • Checking step B12 can be recognized if the
  • step B12 could only be forged by the fact that the deposited in "/" copy manipulated or falsified , However, as explained, this is very difficult.
  • Due to the verification step B12 can thus a
  • step B12 thus continues to back up the process, even if, for example, a check in Step B7 according to Figure 2A, as explained above, failed.
  • step B12 A result of the checking step B12 is retrieved in step B13. If the key files compared with each other deviate from each other and therefore no identity is given, this leads to the termination of the procedure.
  • step B14 the data in "/ boot” is checked for identity with a copy deposited in "/".
  • step B14 is analogous to the step A5, which in
  • step B15 corresponds to FIG.
  • FIG. 2C schematically shows further method steps of the method according to FIGS. 2A and 2B.
  • step B16 the copy of the encrypted key file stored in "/" is decrypted by means of the private key stored in "/" (cf.
  • Steps B17 to B20 an extraction and checking of the identifier of the USB stick extracted from the copy of the encrypted key file for identity takes place with an actual identifier ascertained by mounting the USB stick by the current file system.
  • the steps B17 to B20 correspond to the steps B5 to B8, as they have been explained in connection with Figures 2A and 2B above.
  • these verification steps are repeated on the in "/" deposited copy of the encrypted key file applied. This represents another security check by the current file system.
  • the copy of the encrypted key file in "/" is encrypted at least before performing steps B9 and BIO according to FIG. that a change or manipulation of the deposited in "/" copy of
  • the copy of the encrypted key file is, as explained, an image of the
  • the copy of the encrypted key file also contains the identifier of the USB key.
  • step B19 If the check in step B19 does not give an identity of the compared identifiers, the method may be aborted in step B20. In this case, a manipulation (or incorrect deviation) of the key file to the image of the copy of the encrypted key file stored in "/" is to be assumed, however, if a result of the check in step B20 results in an identity, then in step B21, if necessary Actions may be initiated
  • actions may include providing a log-in mask to a console so that a user can log on completely boot up computer system can log in and perform certain other actions. It is also conceivable to relax or remove restrictive measures of user restriction as they have been explained in step BIO above. Furthermore, the process is completed.
  • FIG. 3A shows a schematic overview of FIG
  • Restarting means that
  • the method is exemplified using a Linux system. Of course, the method can also be applied to other systems.
  • step C1 the process starts in step C1 while the computer system is running with a booted and running file system in a first memory area "/.”
  • step C2 a time window is opened with a predetermined memory area
  • Start time and a predetermined end time determines which predetermines a predetermined period of time for performing a restart of the computer system. For example, that can
  • Time windows determine that the computer system must be restarted within the next 1 to 3 minutes.
  • the specific time window is stored in "/”.
  • a temporary file system key is generated and stored in "/.”
  • the temporary file system key has an analogous function as a file system key according to the method of Figs. 1A to 2C, except that it is temporary to one
  • Key Management LUKS defined and stored information about the temporary file system key. This can be done, for example, on a special one in one
  • Key table set placeholders in LUKS done.
  • the temporary file system key can be defined using the "cryptsetup luksAddKey" command in LUKS.
  • step C4 the temporary file system key is stored in the second storage area "/ boot" in which program data required for the startup process is stored, and then, in step C5, the computer restarts
  • step C6 Computer system triggered. This can be done, for example, by the command "/ sbin / reboot.”
  • step C6 substantially corresponds to the steps AI from Figure 1A or Bl from Figure 2A and requires no further explanation at this point.
  • FIG. 3B shows further method steps of FIG
  • a step C7 the temporary file system key deposited in "/ boot” is set to decrypt file system data in LUKS
  • step B9 according to Figure 2B and requires no further Explanation.
  • step C8 file system data is decrypted and loaded so that the computer system can boot up completely after rebooting and boot into "/"
  • step BIO step BIO in Fig. 2B
  • step C9 a check is made in the "/ boot"
  • the temporary file system key is copied from / boot to / if it was found in / boot, then the temporary file system key in / boot can be deleted. It also checks to see if the copy of the temporary file system key exists in "/.” If so, the identity of the temporary file system key copied from "/ boot” to "/" becomes the one prefixed with "/" Checked copy of the temporary file system key.
  • step C9 it can thus be checked whether the temporary file system key stored in "/ boot" corresponds to the temporary file system key generated before the restart
  • step CIO a termination of the method in step CIO (see also steps A6 in FIGS. 1A, B13 and B15 in FIG. 2B and B20 in FIG. 2C).
  • step Cl1 it is checked whether the current system time, which has been determined during the restart, lies within the specific time window (compare step C2 in Figure 3A) takes place in Figure 3C in
  • the memory of the computer system could be removed and, if necessary, copied, so that the memory can be decrypted by means of the temporary file system key obtained from "/ boot".
  • the device should be sealed to allow removal of the Memory (eg the corresponding mass memory) either to make it difficult or at least traceable.
  • a BlOS password may be assigned to
  • Step C12 has been followed, it can be assumed that the procedure has been carried out correctly, which means that the restart has taken place quickly enough without having to start from a manipulation of the restart.
  • step C13 further actions
  • This may include, for example, deleting all created copies of the temporary file system key and the particular time window. It is here too
  • the illustrated methods allow a secured
  • File system is stored in the computer system, with a decryption of the encrypted file system key during a startup process of the computer system and Subsequent use of the file system key is a secure but very convenient process for booting the computer system. By further verification processes of the type described, the process can be additionally secured very efficiently.
  • GUI graphical user interface
  • Storage media stored file system keys or key files or other parameters are managed (for example, adding or deleting a used USB stick).
  • the computer system is placed in a safe mode
  • a passphrase e.g.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

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

Beschreibung
Verfahren zum abgesicherten Hochfahren eines Computersystems, sowie Anordnung, umfassend ein Computersystem und ein an das Computersystem angeschlossenes externes Speichermedium
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 „dm- crypt") 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 BlOS-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üsseins 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 i ersten Speicherbereich des Speichers innerhalb des
Computersystems vorhinterlegt. Ein Zugriff auf diese Kopie ist ohne die vorgenannten Maßnahmen des Entschlüsseins 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 BlOS-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:
Figur 1A eine schematisierte Übersicht von
Verfahrensschritten eines Verfahrens zum Bereitstellen von Maßnahmen zum abgesicherten
Hochfahren eines Computersystems, Figur 1B eine schematisierte Übersicht weiterer
Verfahrensschritte des Verfahrens gemäß Figur 1A,
Figur 2A eine schematisierte Übersicht von
Verfahrensschritten eines Verfahrens zum abgesicherten Hochfahren eines Computersystems,
Figur 2B eine schematisierte Übersicht weiterer
Verfahrensschritte des Verfahrens gemäß Figur 2A,
Figur 2C eine schematisierte Übersicht weiterer
Verfahrensschritte des Verfahrens gemäß Figuren 2A und 2B,
Figur 3A eine schematisierte Ubersicht von
Verfahrensschritten eines Verfahrens zum abgesicherten Neustarten eines Computersystems,
Figur 3B eine schematisierte Übersicht weiterer
Verfahrensschritte des Verfahrens gemäß Figur 3A,
Figur 3C eine schematisierte Übersicht weiterer
Verfahrensschritte des Verfahrens gemäß Figuren 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.
Figur 1A zeigt eine schematisierte Übersicht von
Verfahrensschritten eines Verfahrens zum Bereitstellen von Maßnahmen zum abgesicherten Hochfahren des Computersystems.
In einem ersten Schritt AI 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 Figur 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 Figur 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. Figur 1B erläutert schematisiert weitere Verfahrensschritte, die die Maßnahmen aus Figur 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 Figur 2B unten näher erläutert wird.
In Schritt All 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 Figuren 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 Figuren 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.
Figur 2A zeigt eine schematisierte Übersicht von
Verfahrensschritten eines solchen Verfahrens zum
abgesicherten Hochfahren eines Computersystems.
In einem Schritt Bl erfolgt ein Start des heruntergefahrenen Computersystems durch Booten in ,,/boot". Der Schritt Bl kann analog zum Schritt AI durchgeführt werden, wie im
Zusammenhang mit Figur 1A oben erläutert worden ist. An dieser Stelle bedarf es keiner weiteren Erläuterung. In Schritt B2 gemäß Figur 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 Figur 3B erläuterten Schritten weiter. Derartige Maßnahmen werden weiter unten im Zusammenhang mit Figur 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äß Figur 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 Figur 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 Figur 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 Figur 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 Figur 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äß Figur 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äß Figur 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 BlOS-Passworts verhindert oder zumindest erschwert werden.
In Figur 2B sind weiterführende Schritte des Verfahrens gemäß Figur 2A dargestellt.
In Schritt B8 erfolgt eine Abfrage, ob die Überprüfung in Schritt B7 (vergleiche Figur 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 Figur 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 Figur 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 BIO in „/" bootet und vollständig hochgefahren wird. Am Ende des Schrittes BIO 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 Bll 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äß Figur 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 Figur 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 Figuren 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. BIO 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äß Figur 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 Figur 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 Figur 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 Figur 1A oben erläutert worden ist. Auch dies bedarf an dieser Stelle keiner weiteren Erläuterung . Figur 2C zeigt schematisiert weitere Verfahrensschritte des Verfahrens gemäß den Figuren 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 All aus Figur 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 Figuren 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 BIO gemäß Figur 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-inMaske 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 BIO oben erläutert worden sind, zu lockern oder aufzuheben. Im Weiteren ist das Verfahren beendet.
Figur 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 Figuren 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äß Figur 3A startet das Verfahren in Schritt Cl, 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 Figuren 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 AI aus Figur 1A bzw. Bl aus Figur 2A und bedarf an dieser Stelle keiner weiteren Erläuterung.
Figur 3B zeigt weiterführende Verfahrensschritte des
Verfahrens gemäß Figur 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äß Figur 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 BIO in Figur 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 Figur 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 CIO zu einem Abbruch des Verfahrens (vergleiche auch Schritte A6 in Figur 1A, B13 und B15 in Figur 2B sowie B20 in Figur 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 Cll wird überprüft, ob die aktuelle Systemzeit, die während des Neustarts ermittelt worden ist, innerhalb des bestimmten Zeitfensters liegt (vergleiche Schritt C2 in Figur 3A) . Eine Überprüfung dieser Bedingung erfolgt in Figur 3C in
Schritt C12. Ist das bestimmte Zeitfenster nicht eingehalten, erfolgt ein Abbruch des Verfahrens. Vergleiche auch die
Schritte A6, B13, B15, B20 und CIO 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 BlOS-Passwort vergeben sein, um
Manipulationen der Uhrzeit des Computersystems zur
Manipulation des bestimmten Zeitfensters (vergleiche Schritt C2 in Figur 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 Figur 1A bzw. B14 in Figur 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.
Bezugs zeichenliste :
AI bis A13 Verfahrensschritte Bl bis B21 Verfahrensschritte Cl bis C13 Verfahrensschritte

Claims

Patentansprüche
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.
PCT/EP2017/081232 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 Ceased WO2018114292A1 (de)

Priority Applications (2)

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
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 (4)

Application Number Priority Date Filing Date Title
DE102016125416.9 2016-12-22
DE102016125416 2016-12-22
DE102017106042.1A 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
DE102017106042.1 2017-03-21

Publications (1)

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

Family

ID=62510295

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/081232 Ceased 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

Country Status (4)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111191196A (zh) * 2020-01-02 2020-05-22 日立楼宇技术(广州)有限公司 嵌入式程序运行方法、装置、计算机设备及存储介质
CN111209572A (zh) * 2020-01-07 2020-05-29 杭州涂鸦信息技术有限公司 一种基于加解密的Linux系统安全启动方法及系统

Families Citing this family (29)

* 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)
US12314408B2 (en) * 2021-06-04 2025-05-27 Apple Inc. Ephemeral data storage
US12505200B2 (en) 2022-05-23 2025-12-23 Wiz, Inc. Techniques for improved virtual instance inspection utilizing disk cloning
US12278840B1 (en) 2021-07-16 2025-04-15 Wiz, Inc. Efficient representation of multiple cloud computing environments through unified identity mapping
US20230161614A1 (en) 2021-11-24 2023-05-25 Wiz, Inc. Detecting vulnerabilities in configuration code of a cloud environment utilizing infrastructure as code
US12278819B1 (en) 2021-07-16 2025-04-15 Wiz, Inc. Cybersecurity threat detection utilizing unified identity mapping and permission detection
US20240137382A1 (en) 2021-07-16 2024-04-25 Wiz, Inc. Techniques for cybersecurity identity risk detection utilizing disk cloning and unified identity mapping
US12579251B2 (en) 2021-11-24 2026-03-17 Wiz, Inc. System and method for detecting excessive permissions in identity and access management
CN113839773B (zh) * 2021-08-17 2024-07-19 厦门市美亚柏科信息股份有限公司 一种luks密钥离线提取方法、终端设备及存储介质
US12489781B2 (en) 2021-11-24 2025-12-02 Wiz, Inc. Techniques for lateral movement detection in a cloud computing environment
US12219048B1 (en) 2021-12-27 2025-02-04 Wiz, Inc. Techniques for encrypted disk cybersecurity inspection utilizing disk cloning
US11936785B1 (en) 2021-12-27 2024-03-19 Wiz, Inc. System and method for encrypted disk inspection utilizing disk cloning techniques
US12081656B1 (en) 2021-12-27 2024-09-03 Wiz, Inc. Techniques for circumventing provider-imposed limitations in snapshot inspection of disks for cybersecurity
US11841945B1 (en) 2022-01-31 2023-12-12 Wiz, Inc. System and method for cybersecurity threat detection utilizing static and runtime data
US12531881B2 (en) 2022-01-31 2026-01-20 Wiz, Inc. Detection of cybersecurity threats utilizing established baselines
US11936693B2 (en) 2022-04-13 2024-03-19 Wiz, Inc. System and method for applying a policy on a network path
US12395488B2 (en) 2022-04-13 2025-08-19 Wiz, Inc. Techniques for analyzing external exposure in cloud environments
US12443720B2 (en) 2022-08-10 2025-10-14 Wiz, Inc. Techniques for detecting applications paths utilizing exposure analysis
US12267326B2 (en) 2022-04-13 2025-04-01 Wiz, Inc. Techniques for detecting resources without authentication using exposure analysis
US12244627B2 (en) 2022-04-13 2025-03-04 Wiz, Inc. Techniques for active inspection of vulnerability exploitation using exposure
US12061719B2 (en) 2022-09-28 2024-08-13 Wiz, Inc. System and method for agentless detection of sensitive data in computing environments
US12506755B2 (en) 2022-05-23 2025-12-23 Wiz, Inc. Technology discovery techniques in cloud computing environments utilizing disk cloning
US12212586B2 (en) 2022-05-23 2025-01-28 Wiz, Inc. Techniques for cybersecurity inspection based on runtime data and static analysis from cloned resources
US12217079B2 (en) 2022-05-23 2025-02-04 Wiz, Inc. Detecting security exceptions across multiple compute environments
US12287899B2 (en) 2022-05-23 2025-04-29 Wiz, Inc. Techniques for detecting sensitive data in cloud computing environments utilizing cloning
US20250013751A1 (en) * 2023-07-05 2025-01-09 Forcepoint Federal Holdings Llc Fully encrypted operating system installation media
CN120850276A (zh) * 2024-04-26 2025-10-28 戴尔产品有限公司 用于验证密码的方法、设备和计算机程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387237A2 (de) * 2002-07-30 2004-02-04 Texas Instruments Incorporated Sicherheit für Rechnereinrichtungen
US20120331304A1 (en) * 2011-06-21 2012-12-27 Dong Liang She 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

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592877B (zh) * 2001-09-28 2010-05-26 高密度装置公司 用于对大容量存储设备上数据加密/解密的方法和装置
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
WO2011119985A2 (en) * 2010-03-26 2011-09-29 Maxlinear, Inc. Firmware authentication and deciphering for secure tv receiver
US9390248B2 (en) * 2013-08-28 2016-07-12 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
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
EP1387237A2 (de) * 2002-07-30 2004-02-04 Texas Instruments Incorporated Sicherheit für Rechnereinrichtungen
US20120331304A1 (en) * 2011-06-21 2012-12-27 Dong Liang She 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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111191196A (zh) * 2020-01-02 2020-05-22 日立楼宇技术(广州)有限公司 嵌入式程序运行方法、装置、计算机设备及存储介质
CN111209572A (zh) * 2020-01-07 2020-05-29 杭州涂鸦信息技术有限公司 一种基于加解密的Linux系统安全启动方法及系统

Also Published As

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

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
DE112016000576T5 (de) Sicheres Booten eines Computers von einer für den Benutzer vertrauenswürdigen Einheit aus
DE112009004762T5 (de) System und verfahren zum durchführen einer verwaltunosoperation
DE102009044576A1 (de) Verwaltung von Hardwarepasswörtern
DE102012101876A1 (de) PC Absicherung durch BIOS/(U) EFI Erweiterungen
DE102009059077A1 (de) Externe Vorrichtung mit mindestens einem Speicher
EP3811260B1 (de) Kryptografiemodul und betriebsverfahren hierfür
DE202015009482U1 (de) System einer Festplattenvollverschlüsselung mit Prüfung der Kompatibilität der Boot-Platte
EP4139820B1 (de) Booteinrichtung für ein computerelement und verfahren zum booten eines computerelements
WO2023088523A1 (de) Verfahren zur erkennung von auf eine manipulation hindeutenden anomalien während eines sicheren startvorgangs einer softwaregesteuerten vorrichtung
EP3105899B1 (de) Verfahren zum hochfahren eines produktions-computersystems
DE102015212657A1 (de) Bereitstellen eines gerätespezifischen kryptographischen Schlüssels aus einem systemübergreifenden Schlüssel für ein Gerät
EP3224756B1 (de) Verfahren zum nachladen von software auf eine chipkarte durch einen nachladeautomaten
DE102013210837B4 (de) Startanwendung kryptographischer Schlüsselspeicher
DE102020207863A1 (de) Verfahren zur sicheren Aktualisierung von Steuergeräten
EP1762956A2 (de) Computer mit mindestens einer Anschlussmöglichkeit für ein Wechselspeichermedium und Verfahren zum Starten und Betreiben eines Computers mit einem Wechselspeichermedium
DE102010052246A1 (de) Verfahren zum Zugang zu einem Betriebssystem, Wechselspeichermedium und Verwendung eines Wechselspeichermediums
EP2915046A1 (de) Verfahren zum geschützten wiederherstellen von daten, computerprogrammprodukt sowie computersystem
WO2010040423A1 (de) Ausführen kryptographischer operationen
DE10319778A1 (de) Tragbare Speicherkarte mit einer Schnittstelle, System aus Datenverarbeitungsgerät und entsprechender Speicherkarte sowie Verfahren zum Betrieb eines derartigen Systems
EP4270228A1 (de) Software-implementierte sperre
WO2026077979A1 (de) Verfahren zum verifizieren der gültigkeit von credentials
WO2025180706A1 (de) Verfahren zum gewähren von zugriff auf funktionalität in einem industriellen automatisierungssystem, computerprogrammprodukt und industrielles automatisierungssystem
DE112008003806T5 (de) Vorrichtung und Verfahren zum Freigeben von Anwendungen auf einem Sicherheitsprozessor

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 201813787

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20171201

WWE Wipo information: entry into national phase

Ref document number: 1813787.7

Country of ref document: GB

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17811526

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17811526

Country of ref document: EP

Kind code of ref document: A1