This invention relates to a method, an apparatus and computer software for computer hard disk security.
With use of computers becoming widespread, there is a growing problem of loss of data from computer hard disks. It is known to protect data on a computer at times when the computer is in use by requiring a computer user to enter a password before software on the computer's hard disk grants access to the data. Some operating systems may be configured in accordance with an intention that computer users only have restricted data access, i.e. access to some but not all of the data on the disk: for example, users may not be able to alter any vital operating system file and configuration information. The combination of a password and restricted data access is intended to protect the data both while the computer is switched on and also when it is switched off.
To protect data against loss or theft and other perils, data encryption is often used. Some encryption techniques only encrypt files or groups of files: these techniques, although often cheap, do not provide adequate protection. For example, a thief may steal a computer, surreptitiously add malicious software which records a bona fide computer user's password, and return the computer to the user without the computer's absence being detected. Upon the bona fide computer user entering his password, the password is captured by the malicious software. The thief can then steal the computer once more and use the captured password to obtain full access to data on the computer. Additionally, temporary or “work” files may be created that are not encrypted and not fully deleted from the hard disk. An attacker who steals the computer can potentially be able to read data in work files.
GB2264373A discloses encrypting data blocks for storage using different keys derived from a common key as a function of storage location.
EP 0855652 A1 discloses a method for maintaining data integrity by generating an access key from a designated part of data requiring preservation. The access key is then used for encoding. It may be generated from a condensed version of data obtained cryptographically from uncondensed data. A reading key may be used to generate the access key.
EP 0455064 A2 discloses encrypting data using an encryption key consisting of data bytes at a key address in a memory. The key is used to encrypt all data in the memory.
US 2003/0140239 A1 discloses encryption key generation from key information common to recording blocks on a recording medium and further key information unique to each to recording block.
US 2002/0131595 A1 discloses a method for encrypting data in continuous unit blocks in a precedence order one block at a time. A seed for an encryption key for one unit block is derived from one or more preceding blocks.
Improved encryption techniques are known that encrypt whole partitions on a computer hard disk, and may encrypt all but the Master Boot Record. With such techniques all work files are automatically encrypted but there still exists a risk of a password being captured by an attacker using malicious software. As an example, data can be read in many cases by an attacker who boots the computer using a floppy disk instead of the computer's hard disk, thereby bypassing all software controls that would have been in place if the computer were to have been booted normally.
Full disk encryption products are commercially available which eliminate the threat of malicious software being installed as described above. Such a product replaces a computer's hard disk with new hardware which is equivalent to a combination of a physically smaller hard disk and an encryption unit which performs encryption and decryption. It has the same size and electrical interface as a conventional hard disk but has a cryptographic function built-in. The exact installation method is product dependent. When the computer is booted, the new hardware in the product modifies the boot sequence and requests a valid password or equivalent. If the valid password or equivalent is entered, the new hardware notes the fact that a valid password has been entered and reboots the computer. Upon reboot, the new hardware becomes effectively transparent to data flow and appears to be an unencrypted hard disk as far as communication with the rest of the computer is concerned.
Data on the product's hard disk is initially encrypted using a cryptographic key is entered into the encryption unit: the key is used to perform encryption and decryption that is a function of security information such as a password or passphrase entered by the user and potentially other information too.
However, full disk encryption products can be overcome by an attacker who has learnt (stolen) the encryption unit password (e.g. by covertly observing a bona fide computer user entering the password). The attacker enters the stolen password and waits for the computer to start the process of rebooting. While the computer is rebooting, the attacker can insert rogue boot media such as a floppy disk or a CD ROM into the computer and then gain access to the entire hard disk, thus bypassing all software access controls implemented by a normal boot operation. It is an object of the present invention to provide protection against such an attacker.
The present invention provides a method for computer hard disk security characterised in that it incorporates the step of encrypting data on a computer's hard disk with a cryptographic key which is derived at least partly from contents of the computer's memory not expected to change with time.
The invention provides the advantage that, with a binary input output system (BIOS) memory configured so that the computer boots only from the hard disk, hostile alteration of the BIOS memory contents results in failure to decrypt because the key cannot now be used to decrypt the hard disk. This defeats an attacker who alters BIOS settings using rogue computer boot media.
The memory areas which are excluded from cryptographic key derivation may be those indicated to have variable contents by memory scanning. They may include those having real-time clocks and hardware status registers.
The method may incorporate the steps of:
The step of combining the hash with security information may involve an exclusive OR (XOR) of the hash with the security information and providing an XOR result for use as a password in a full disk encryption process. The XOR result password may be XORed with a block number of the hard disk to provide a cryptographic key for use with an encryption/decryption algorithm to encrypt or decrypt data on the hard disk.
In another aspect, the present invention provides computer apparatus for hard disk security, the computer apparatus being programmed to implement the step of encrypting data on a computer's hard disk with a cryptographic key which is derived at least partly from contents of the computer's memory not expected to change with time.
The computer apparatus may be programmed to exclude from cryptographic key derivation memory areas which are indicated by memory scanning to have variable contents, such as those having real-time clocks and hardware status registers.
The computer apparatus may be programmed to carry out the steps of:
The computer apparatus may be programmed to carry out the step of combining the hash with security information by an exclusive OR (XOR) of the hash with the security information and providing an XOR result for use as a password in a full disk encryption process.
The computer apparatus may be programmed to carry out the steps of:
In a further aspect, the present invention provides computer software for computer hard disk security, the computer software containing instructions for controlling computer apparatus to implement the step of encrypting data on a computer's hard disk with a cryptographic key which is derived at least partly from contents of the computer's memory not expected to change with time.
The computer software may contain instructions for controlling computer apparatus to exclude from cryptographic key derivation memory areas which are indicated by memory scanning to have variable contents, such as those having real-time clocks and hardware status registers. It may have instructions for deriving the cryptographic key by cryptographically hashing contents of at least one of the computer's RAM and BIOS memory to produce a hash, and combining the hash with security information (e.g. a password) entered by a user of the computer. It may be arranged to provide for combining the hash with security information by an exclusive OR (XOR) of the hash with the security information and providing an XOR result for use as a password in a full disk encryption process. It may contain instructions for XORing the XOR result password with a block number of the hard disk to provide a cryptographic key, and using the cryptographic key with an encryption/decryption algorithm to encrypt or decrypt data on the hard disk.
In order that the invention might be more fully understood, an embodiment thereof will now be described, by way of example only, with reference to the accompanying drawings, in which:
The invention will first be outlined, and then an example described in more detail. Referring to
Data on the smaller hard disk 14 is encrypted by the encryption unit 12 using a method described in more detail below: to implement encryption, a cryptographic key is entered into the encryption unit 12, the key being a function of a computer user's security information such as a password or passphrase entered by the user and possibly other information also. In accordance with the invention, the key is constructed in such a way that it depends at least partly on contents of the computer's memory. The contents of the computer's random access memory (RAM) are cryptographically hashed: this produces a hash with a length suitable for combining with security information entered by the user. The hash and security information are combined in such a way that the cryptographic key used to protect data on the hard disk depends on the RAM contents. The RAM can be expected to have contents which are at least partially constant as a result of early states of a computer boot sequence that initialises and checks the RAM. Any such contents which are not constant are excluded from the hash operation.
Computers also have a binary input-output system (BIOS) memory having fixed contents which may advantageously be included in the process of generating the cryptographic key. As a result, provided that the key was initially generated with the BIOS memory configured to require the computer to boot only from the hard disk, any alteration of the BIOS memory contents results in the encryption unit 12 being given the wrong key to decrypt the information on the hard disk 14, resulting in failure to decrypt. The net result of this is that it defeats an attacker who alters BIOS settings to attempt a boot attack using rogue boot media such as a floppy disk or a CD ROM inserted into the computer. Consequently the invention provides protection against there being a gap in security between a hard disk 14 being booted and an operating system providing security.
Memory areas which are variable are excluded from the hashing process, e.g. an area of memory with real-time clocks and hardware status registers. Areas of memory that are known to change may be eliminated automatically by scanning computer memory and noting which areas of it have variable contents.
An example of the invention will now be described in more detail. Referring now also to
If at 22 it is found that a cryptographic key is contained in the encryption unit (ECU) 12, then another process is followed. The encryption unit 12 responds to the presence of a key by using software to:
Number | Date | Country | Kind |
---|---|---|---|
0423559.4 | Oct 2004 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB05/03826 | 10/6/2005 | WO | 4/13/2007 |