Current Windows and Windows Server operating systems include the
Encrypting File System (EFS) for encrypting files and folders. Using EFS, users can protect
sensitive data so that it can be accessed only by using their public
key certificate. Encryption certificates are stored as part of the
data in a user’s profile. As long as users have access to their
profiles and the encryption keys they contain, they can access their
encrypted files.
Although EFS offers excellent protection for your data, it
doesn’t necessarily safeguard the computer from attack by someone who
has direct physical access. In a situation where a user loses a
computer, a computer has been stolen, or the attacker is logging on to
a computer, EFS might not protect the data because the attacker might
be able to gain access to the computer before it boots. He could then
access the computer from another operating system and change the
computer’s configuration. He might then be able to hack into a logon
account on the original operating system so that he can log on as the
user or configure the computer so that he can log on as a local
administrator. If he can do this without having to reset the password
of the user who encrypted the files or the administrator, the attacker
could eventually gain full access to a computer and its encrypted
data.
To seal a computer from physical attack and wrap it in an
additional layer of protection, current Windows and Windows Server
operating systems include the Trusted Platform Module (TPM) Services architecture. TPM Services protect a
computer using a dedicated hardware component called a TPM. A TPM is a
microchip that is usually installed on the motherboard of a computer
where it communicates with the rest of the system using a hardware
bus. Computers can use a TPM to provide enhanced protection for data,
to ensure early validation of the boot file’s integrity, and to
guarantee that a disk has not been tampered with while the operating
system was offline.
A TPM has the ability to create cryptographic keys and encrypt them so that they can be
decrypted only by the TPM. This process, referred to as
wrapping or binding,
protects the key from disclosure. A TPM has a master “wrapping” key
called the Storage Root Key (SRK). The SRK is stored within the TPM itself to ensure
that the private portion of the key is secure.
Computers that have a TPM can create a key that has not only
been wrapped but also sealed. The process of sealing the key ensures the key is tied to specific
platform measurements and can be unwrapped only when those platform
measurements have the same values that they had when the key was
created. This is what gives TPM-equipped computers increased
resistance to attack.
Because TPM stores private portions of key pairs separately from
memory controlled by the operating system, keys can be sealed to the
TPM to provide absolute assurances about the state of a system and its
trustworthiness. TPM keys are unsealed only when the integrity of the
system is intact. Further, because the TPM uses its own internal
firmware and logical circuits for processing instructions, it does not
rely upon the operating system and is not subject to external software
vulnerabilities.
The TPM can also be used to seal and unseal data that is
generated outside of the TPM, and this is where the true power of the
TPM lies. In current Windows and Windows Server operating systems, the
feature that accesses the TPM and uses it to seal a computer is called
BitLocker Drive Encryption. Although BitLocker Drive Encryption can be
used in both TPM or non-TPM configurations, the most secure method is
to use TPM.
When you use BitLocker Drive Encryption and a TPM to seal the
boot manager and boot files of a computer, the boot manager and boot
files can be unsealed only if they are unchanged since they were last
sealed. This means you can use the TPM to validate a computer’s boot
files in the pre-operating system environment. When you seal a hard
disk using TPM, the hard disk can be unsealed only if the data on the
disk is unchanged since it was last sealed. This guarantees that a
disk has not been tampered with while the operating system was
offline.
When you use BitLocker Drive Encryption and do not use
TPM to seal the boot manager and boot files of a
computer, TPM cannot be used to validate a computer’s boot files in
the pre-operating system environment. This means there is no way to
guarantee the integrity of the boot manager and boot files of a
computer.
A computer must be equipped with a compatible TPM and compatible
firmware to take advantage of TPM. Current Windows and Windows Server
operating systems support TPM version 1.2 and require Trusted
Computing Group (TCG)–compliant firmware. Firmware that is TCG-compliant is firmware that supports the Static Root
of Trust Measurement as defined by the Trusted Computing Group. In
some configurations of TPM and BitLocker Drive Encryption, you also
need to make sure the firmware supports reading USB flash drives at
startup.
The TPM Services architecture provides the basic features
required to configure and deploy TPM-equipped computers. This
architecture can be extended with a feature called BitLocker Drive
Encryption.
Before you can use TPM, you must turn on TPM in firmware and initialize the TPM for first use in
software. As part of the initialization process, you set the owner
password on the TPM. After TPM is enabled, you can manage the TPM
configuration.
In some cases, computers that have TPM might ship with TPM
turned off. If so, you must turn on TPM in firmware. With one of my
computers, I needed to do the following:
-
Start the computer, and then press F2 during startup to
access the firmware. In the firmware, I accessed the Advanced
screen and then the Peripheral Configuration screen.
-
On the Peripheral Configuration screen, Trusted Platform
Module was listed as an option. After scrolling down to
highlight this option, I pressed Enter to display an options
menu. From the menu, I chose Enable and then pressed
Enter.
-
To save the changes to the setting and exit the firmware,
I pressed F10. When prompted to confirm that I wanted to exit, I
pressed Y, and the computer then rebooted.
Next, you need to initialize and prepare the TPM for first use in software. As part of this
process, you take ownership of the TPM, which sets the owner
password on the TPM. After TPM is enabled, you can manage the TPM
configuration. Several tools for working with TPM are available:
-
Trusted Platform Module
Management An MMC console for configuring and managing TPM. You can access this tool by typing
tpm.msc in the Apps Search box
and then pressing Enter.
-
Manage The TPM Security
Hardware A wizard for creating the required TPM owner
password. You can access this tool by typing tpminit in the Apps Search box and then
pressing Enter.
When you are working with the Trusted Platform Module
Management, you’ll be able to determine the exact state of the TPM.
If you try to start Trusted Platform Module Management without
turning on TPM, you’ll see an error like the one shown in Figure 1.
Similarly, if you try to run Manage The TPM Security Hardware
without turning on TPM, you’ll see an error like the one shown in
Figure 2.
Important
To perform TPM management tasks on a local computer, you must
be a member of the local computer’s Administrators group or be
logged on as the local computer administrator. Additionally,
access to the Trusted Platform Module Management console can be
restricted in Group Policy. If you are unable to open the console,
check to see if a Group Policy Object (GPO) being processed
includes Management Console restrictions. Related policies
are found in the Administrative Templates for User Configuration
under Windows Components\Microsoft Management Console.
Only when you’ve turned on TPM in firmware will you be able to
access and work with the TPM tools. When you are working with the Trusted Platform
Module Management console, shown in Figure 3, you should
note the TPM status and the TPM manufacturer information. The TPM status indicates
the state of the TPM. The TPM manufacturer information shows whether
the TPM supports specification version 1.2 or 2.0. Support for TPM
version 1.2 or later is required.
Although earlier releases of Windows showed the exact
TPM state as listed in Table 1, Windows 8 and
Windows Server 2012 normally show either a status of “The TPM is
ready for use” or “The TPM is not ready for use.” If the TPM is
ready for use, the TPM is on and ownership has been taken.
Table 1. TPM status indicators and their meaning
Status Indicator |
Meaning |
The TPM is on, and ownership has not been
taken. |
The TPM is turned on in firmware, but it hasn’t
been initialized yet. |
The TPM is on, and ownership has been
taken. |
The TPM is turned on in firmware and has been
initialized. |
The TPM is off, and ownership has not been
taken. |
The TPM is turned off in software, but it
hasn’t been initialized yet |