Dan Griffin's Blog
Comments on security, PKI, smart cards, cryptography, and entrepreneurship.
BitLocker
December 10, 2009
I’m in the process of flattening and rebuilding my Lenovo T61 (widescreen = badass). It was previously running Vista SP2 and was starting to exhibit the kind of strange behavior that we’ve come to expect from computers that have been ridden hard for more than two years without an opportunity to revitalize.
It’s now running 64-bit Server 2008 R2, primarily so I have a convenient portable platform for demonstrating Restorify. Revitalization has been achieved.
Having become a bit more comfortable with the Windows BitLocker drive encryption feature than I was during the Vista era, it’s now our policy to use it on laptops. Here’s a step by step guide for turning on BitLocker.
Remember, if your computer has a TPM chip, BitLocker will by default use that chip for protecting the key which will in turn be used for encrypting your drive. This is good; it means that if your laptop is stolen, someone can’t simply remove the hard drive and read its contents from another computer. The protected drive can only be decrypted on the computer that has the exact TPM chip where the drive was encrypted.
On the the other hand, your stolen laptop can be booted with the drive still in it, and the data can still be attacked. That’s because certain common interfaces such as Firewall allow DMA (Direct Memory Access). So if the attacker can get such a device to be recognized by your laptop without having to login, he or she can read data directly from your system memory. Microsoft has documented this threat here (about half way down).
There’s no guarantee, with the DMA attack, that any particular piece of sensitive data stored on your drive will actually be in main memory, but it’s best not to risk it. The easy solution is to configure BitLocker to require a PIN at boot time.
First, configure local computer policy (via gpedit.msc, or by pushing out an updated group policy centrally) to allow (if not require) the TPM + PIN key protector on startup. That procedure is documented here (same guide as above). You should also require startup key backup to Active Directory (documented in the same guide).
Finally, run a command such as the following on your laptop(s):
C:\Windows\system32>manage-bde -protectors -add c: -TPMAndPIN
BitLocker Drive Encryption: Configuration Tool version 6.1.7600
Copyright (C) Microsoft Corporation. All rights reserved.
Type the PIN to use to protect the volume:
Confirm the PIN by typing it again:
Key Protectors Added:
TPM And PIN:
ID: {9205B1A3-36BE-4110-9353-00AB68022023}
Key protector with ID "{6998DDAB-E374-49EC-999A-F1BD13BE861B}" deleted.
Once BitLocker is setup, you should be aware that part of the key protection scheme employed by the TPM chip is to guard against major system configuration changes that could be part of an attack against a stolen machine. If the TPM suspects that something major has changed, it will prevent the drive from being decrypted (hence, you won’t be able to boot your computer). The following best-practices will give you three layers of defense against this happening:
- BitLocker creates a startup recovery key when you initially setup, and it recommends that you store that key on a separate USB fob. Follow that advice, and don’t lose the fob.
- Require startup key backup to AD, like I mentioned above.
- When making any major system changes, including most especially BIOS updates, pause BitLocker (press the Start button, type Manage BitLocker, hit Enter, click Suspend Protection).
2 Comments »
RSS feed for comments on this post. TrackBack URL
You wrote “manage-bde -protectors -add c: -TPMAndPIN” That’s understood. How would you add a PIN to TPM on a dual boot? TPM is currently working successfully on a Vista/Windows 7 dual boot. But I want to add a pin. Would it be an add for the c and say d drives? Also, in a dual boot the OS being booted into is always dynamically c: How does this interplay into your solution?
Comment by EJack — February 25, 2010 @ 4:18 am
There are some limitations to what I think you’re trying to accomplish. As long as your Vista and Win 7 are on separate volumes, you can protect one of them using the TPM. But not the other. And you shouldn’t try to protect one bootable volume from another, since the second one won’t be able to decrypt itself (in contrast to protecting separate data volumes, which you can, and usually should, do). Does that make sense?
Suppose you boot Win 7 and run manage-bde. Yes, it always sees the boot drive as “C”, but under the covers it sees the volume as separate from the one that boots Vista.
I already mentioned that you can’t protect a second boot volume with the TPM. But I *think* you could use any of the non-TPM-based protector types. That way you could still use the BitLocker Full Volume Encryption feature on multiple boot volumes.
Finally, to add the TPM+PIN protector to a volume that’s already protected with the TPM, first use manage-bde to remove the existing TPM protector. Then run the command in my post to add TPM+PIN.
Comment by dan — February 25, 2010 @ 1:25 pm