From: tech-boun...@lists.lopsa.org [mailto:tech-boun...@lists.lopsa.org]
On Behalf Of David Lang
Full disk encryption of local drives on the servers would theoretically
give you
similar protection, except that people are very reluctant to have
servers that
cannot boot up without human intervention, and for most servers, it's
easier
to
steal (or dispose of) the entire server, and the drives have everything
on
I've given a few talks on this subject, and it's always fun - but your
comment about human intervention suggests I haven't given that talk to you.
;-)
There are many ways to implement non-interactive whole disk encryption,
but the one I talk about is bitlocker. It goes like this:
Years ago, when I was working at an IT consulting gig for a semiconductor
company, the CEO of the company asked me to lockdown the development
environment. Disable CD burning, restrict access to the internet, funnel
everything through a proxy, log it all, fill the USB ports with hot glue.
Seriously, fill the usb ports with glue. And put locks on the chassis so
users can't easily open them up to access non-USB ports. Etc.
The problem has always been physical security. If somebody steals your
laptop and takes out the hard drive, then they get to bypass all the
security you might have enabled in your OS. But if you similarly take your
laptop and fill the *whole chassis* with hot glue, then you sort-of
eliminate the problem. Not really, cuz of course, people can use cutting
tools to extract the HD from the glue, etc. But it becomes more difficult
to implement this type of attack vector.
Enter the concept of the TPM. The TPM is basically a teeny tiny computer,
sitting on your motherboard, which is its own separate, entirely isolated
and filled with concrete little computer. It has its own cpu, memory, and
nonvolatile storage. The only way to interact with it is via a bus on your
motherboard. The TPM is all contained within a single chip. Virtually all
systems nowadays have them. (Not apple).
Your OS tells the TPM, "I have a secret key I want you to store, and don't
release it to anybody except me." The TPM takes your fingerprint, in the
form of some black magic - A checksum of your bios, which device you boot
from, all the non-encrypted blocks at the beginning of the hard drive, and
some of the encrypted blocks. So if the hard drive is moved to a different
computer, of course, the new TPM doesn't know the key. So that attack
vector fails. If you boot from a different device in the right computer,
then the fingerprint checksum fails, and the key is not released. If you
hack the BIOS, or hack the OS, or basically do anything to modify the boot
process, then the system fingerprint fails, and the TPM won't release the
key.
The end result is: Now you can trust your security as much as you trust
your OS. If you have a hardened OS with strong password policy, etc,
suddenly those features *matter* even when the system is physically in a
hostile environment.
You get to boot your system without human interaction. Strong keys,
strong encryption all around. It's a very good solution.
The most obvious drawback: What happens if your motherboard dies and you
get the motherboard replaced? Well, your system won't boot. So whenever
the TPM fails to release the proper key, the OS handles it by prompting you
to type in a key. This is a 40-digit long random string of digits. I
didn't mention before, that part of the process to enable bitlocker
includes saving a copy of the decryption key somewhere. You have a few
choices - the best one in any sort of scale environment is to store all the
bitlocker keys in AD automatically so the helpdesk folks can take support
calls from users with locked laptops and read the key to them over the
phone.
You have to be careful about applying BIOS updates. Because that will
invalidate the checksum and lock the system. You need to know, before
applying the bios update, you go into control panel and toggle bitlocker
off (temporarily disabled, by storing the key in plaintext on disk). Then
apply bios update, and after successful reboot, re-enable bitlocker.
(Which re-keys so you don't have to worry about the previously unencrypted
one being compromised by reading free blocks of the unencrypted disk.) But
of course, *during* the period of time when you have bitlocker disabled,
you're vulnerable. The whole idea is, that should be a matter of minutes,
during which, you personally keep the system physically secure.
I've been, step by step, very impressed with the implementation of
bitlocker. Even when you disable and re-enable bitlocker, requiring
re-keying... They don't actually store the *key* on disk. They just store
a key that can be used to decrypt the real key. So when you re-key, it's a
near-instantaneous operation. They select a new key1, re-encrypt key2
using the new key1, so even if somebody were to later discover the
plaintext key that was formerly written on disk, it would be irrelevant.
Because the ciphertext that the key was able to unlock no longer exists.
There's only a new ciphertext, and a new key, which was never written to
disk. And in fact, your TPM doesn't know your key either. The TPM only
knows the key that can be used to unlock the real key. So once again,
re-keying your TPM is near instant. Doesn't require re-encrypting the
whole disk. Just a tiny block.
_______________________________________________
Tech mailing list
Tech@lists.lopsa.org
https://lists.lopsa.org/cgi-bin/mailman/listinfo/tech
This list provided by the League of Professional System Administrators
http://lopsa.org/