The invention itself, as well as a preferred mode of use, further objects, and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
Referring now to the drawings and in particular to
In accordance with a preferred embodiment of the present invention, a Trusted Platform Module (TPM) is used in conjunction with modifications to a basic input/output system (BIOS) for providing protection to an encryption key generated by the syskey utility intended to be used for the encryption of a Security Accounts Manager (SAM) file within a Windows® operating system. The TPM allows secure generation of cryptographic keys, and limits the use of those keys to either signing/verification or encryption/decryption, as it is known to those skilled in the art. There are three main components to the method of the present invention, namely, setup, boot up and recovery.
With reference now to
A SAM file encryption key is generated by encrypting a SAM file with a 128-bit key (16 bytes) via the syskey utility provided within the Windows® operating system, as shown in block 230. The SAM file encryption key is then written to the virtual floppy disk (instead of a physical floppy disk) by selecting the option to store the SAM file encryption key to a floppy disk in the syskey utility, as depicted in block 240.
Next, a 256-byte blob is generated based on the SAM file encryption key, as shown in block 250. The 256-byte blob of data is generated by reading the SAM file encryption key from the virtual floppy disk and by performing a TPM Seal command against the SAM file encryption key along with the value stored in the register 0 of a Platform Configuration Register (PCR) and a TPM Storage Root Key (SRK). The 256-byte blob is then passed to the BIOS for storage in a non-volatile storage area of the computer, such as a flash memory or a hard disk drive, as depicted block 260.
Because the protection of the SAM file encryption key is tied to the TPM SRK, there must be a recovery mechanism for the SAM file encryption key in case the motherboard is replaced or the TPM security chip is cleared. For such purpose, the SAM file encryption key must also be encrypted via some other mechanism. Thus, the SAM file encryption key is encrypted using an Advanced Encryption Standard (AES) key derived from the administrator password within the Windows® operating system to generate a second encrypted blob, as shown in block 270. The second encrypted blob can be stored on a removable storage media, such as a floppy disk, a universal serial bus (USB) key, etc., as depicted in block 280. The removable storage media is then removed from the computer system, as shown in block 290.
Referring now to
When the SAM file encryption key is needed during the system boot up, the BIOS the “tricks” the Windows® operating system into thinking it is reading the SAM file encryption key from a physical floppy disk drive. To this end, an INT 13h handler is utilized to present a virtual floppy drive to the Windows® operating system, as shown in block 320. Once the BIOS knows that the computer is booting from the hard drive, the INT 13h handler then traps the read request number to the floppy disk drive, and returns the SAM file encryption key to the Windows® operating system, as depicted in block 330.
The Windows® operating system is now able to decrypt the SAM file using the encryption key returned by the BIOS, and the Windows® operating system is loaded and continues as normal, as shown in block 340. The SAM file encryption key is no longer needed by the BIOS so the SAM file encryption key should be cleared from the system memory, as depicted in block 350.
With reference now to
On reboot, the BIOS reads the second encrypted blob, and since there is a flag indicating that the second encrypted key was encrypted with the administrator password, the BIOS prompts for the administrator password, as depicted in block 440. The administrator password is then used to decrypt the SAM file encryption key, as shown in block 450. The INT 13h handler subsequently passes the SAM file encryption key to the Windows® operating system as described in the normal boot process (blocks 320-330 of
After the Windows® operating system has been loaded, the TPM recovery process is run to enable the TPM and/or generate the SRK on the motherboard as needed, as depicted in block 460. Once the new SRK has been generated, the recovery process under the Windows® operating system can either re-generate the file encryption key, or decrypt the archive version of the SAM file encryption key using the administrator password, and re-seal it to the new SRK as described above.
The flag indicating that the BIOS is using a password-encrypted version of the key (from block 430) should be cleared, as shown in block 470, so that the BIOS knows that it is using the TPM-protected version of the SAM file encryption key from this point on, so that the normal boot process can be executed during subsequent boots.
As has been described, the present invention provides an improved method for protecting a SAM file within a Windows® operating system. The present invention improves upon the current methods of protecting SAM files provided by the Windows® operating system.
It is also important to note that although the present invention has been described in the context of a fully functional computer system, those skilled in the art will appreciate that the mechanisms of the present invention are capable of being distributed as a program product in a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing media utilized to actually carry out the distribution. Examples of signal bearing media include, without limitation, recordable type media such as floppy disks or compact discs and transmission type media such as analog or digital communications links.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.