1

I've been using VeraCrypt / TrueCrypt for years. Now, with a new computer (having Windows 10 Pro) I can consider BitLocker. But, either I am complete ignorant and don't see something awfully obvious or I can't understand how can BitLocker be considered safer than TrueCrypt. Or safe at all.

Two scenarios:

  1. Disk encrypted with TrueCrypt/VeraCrypt. Key isn't stored anywhere and bootloader asks for key upon each and every boot. Someone steals my whole computer (or I am loosing it somewhere) and has no access to my data due to fact that it is encrypted with key, they don't know, and providing this key is necessary during each boot.

  2. Disk encrypted with BitLocker. Key stored within TPM module on mainboard and bootloader never asks for it during boot. Someone steals my whole computer (or it is lost) and has a full, uninterrupted access to my data due to fact that it is decrypted on-the-fly during boot.

Some questions that actually narrows to single one:

  1. How can BitLocker be considered safe at all in given conditions (second scenario)?
  2. How can it be considered safer than VeraCrypt/TrueCrypt?
  3. What advantages (if any) do I get when using BitLocker over using TrueCrypt/VeraCrypt?

What am I missing here? For given scenario / arguments I consider crypting data with BitLocker as being completely unsafe? Maybe I am an ignorant, but for me using BitLocker should be prohibited.

schroeder
  • 123,438
  • 55
  • 284
  • 319
trejder
  • 3,329
  • 5
  • 23
  • 33
  • 1
    It sounds like your real question is: "how/when/under what conditions does Bitlocker decrypt the drive?" The rest is based on your admittedly incomplete information. So, why not complete the info before going straight to "Bitlocker cannot be considered safe". Once you ask the clarifying question, it becomes a lot easier to research for yourself. Like, for instance, your scenario #2 assumes that it is configured for automatic unlock only. Have you read the [FAQ](https://docs.microsoft.com/en-us/windows/security/information-protection/bitlocker/bitlocker-deployment-and-administration-faq)? – schroeder Oct 20 '19 at 09:12
  • Potential duplicate: https://security.stackexchange.com/questions/135158/at-what-point-is-a-bitlocker-drive-unlocked-and-how-does-additional-pre-boot-pin – schroeder Oct 20 '19 at 09:15
  • @schroeder From security specialist perspective you're correct that this might be considered a duplicate and the linked question does address some of my doubts. From the simple, regular user perspective this question should be reedited, again completely, into asking how can I enable TPM+PIN during preboot in my Windows 10? And a side question would be: Why it is not enabled by default since (my argumentation above) security seems to be decreased without it. – trejder Oct 20 '19 at 09:25
  • Also to add: BitLocker with pre-boot authentication (e.g. TPM+PIN) is significantly more secure than TPM alone. [more info here](https://docs.microsoft.com/en-us/windows/security/information-protection/bitlocker/bitlocker-countermeasures) – Andrew Oct 20 '19 at 11:02

2 Answers2

3

The TPM is part of the motherboard, not the disk. If someone gains access to the disk, but not the computer, they will not have access to the TPM, which contains the keys.

During boot, the TPM is unsealed by software. The TPM should not unseal, unless the boot environment matches some parameters:

Computers that incorporate a TPM can also create a key that has not only been wrapped, but is also tied to certain platform measurements. This type of key can be unwrapped only when those platform measurements have the same values that they had when the key was created. This process is referred to as “sealing the key to the TPM.” Decrypting the key is called unsealing. The TPM can also seal and unseal data that is generated outside the TPM. With this sealed key and software, such as BitLocker Drive Encryption, you can lock data until specific hardware or software conditions are met.

What this means is that the TPM should not unseal if you try to boot some other OS, or modify the windows binaries that you boot. In this case, the TPM should refuse to unseal, and thus rendering the key inaccessible.

This of course relies on the Windows authentication being secure, and that no security problems are present in the pre-logon environment. This may or may not be true.

In addition, you can require a pin code or password, which will improve security quite a lot, as the pin code or password will be required in addition to the TPM if configured correctly.

Disk encrypted with TrueCrypt/VeraCrypt. Key isn't stored anywhere and bootloader asks for key upon each and every boot. Someone steals my whole computer (or I am loosing it somewhere) and has no access to my data due to fact that it is encrypted with key, they don't know, and providing this key is necessary during each boot.

This is comparable to Bitlocker, with PIN or password required. PIN is used to unseal TPM, and you have a limited number of tries. Secure boot chain ensures that an attacker is unable to modify the binary requesting the PIN, to save it or transmit it.

Disk encrypted with BitLocker. Key stored within TPM module on mainboard and bootloader never asks for it during boot. Someone steals my whole computer (or it is lost) and has a full, uninterrupted access to my data due to fact that it is decrypted on-the-fly during boot.

They still have to bypass the windows login security. On a fully patched Windows with reasonable security policies (e.g. good passwords, DMA on Firewire disabled etc) it's reasonably secure. Porbably not NSA-secure, but almost certainly random theft-secure.

The secure boot chain ensures that the attacker is unable to modify any part of the OS, or boot with a different OS. In this situation, the security hinges on the security of the OS. It's somewhat similar to an attacker that gains access to a locked, but booted machine with Veracrypt or similar.

Bitlocker is fairly configurable. It can use the TPM, or it can not use the TPM. It can require a key stored on a USB medium, or it can require TPM + pin, or only TPM.

In short, security is never absolute. It's all about trade-off between security and convenience. Who are you protecting against, and how much hassle is it worth to protect yourself? You could keep your computer unconnected to the net, in a locked vault in your cellar. That would be inconvenient, but even an unencrypted device would be very safe against random theft. It would obviously not be secure at all against cops with a warrant.

vidarlo
  • 12,850
  • 2
  • 35
  • 47
  • While your answer is complex, I don't think it actually answers the question. Upon reading it three times and my own question two times, it came to me that the question is asked incorrectly. My proposal is that I completely re-edit it and then you'll see, if you can provide more direct answer. If yes then I'll be happy to accept it. – trejder Oct 20 '19 at 08:46
  • The real answer is as always tradeoffs. Automated unsealing of the TPM has drawbacks; you rely on your OS' security, but it's also convenient, and may be enough for low value data. But feel free to edit your question, and I'll try to adapt :) – vidarlo Oct 20 '19 at 08:52
  • I have reedited the question. As you can see, it is not about drawback, because for me using BitLocker (or automated unsealing of the TPM in general) is completely pointless and should be considered a security risk. I know that most likely I don't understand something obvious. But, right now your answer doesn't clarify, what I don't get. So, unless you re-edit it to provide this information (and actually answer the question) or I won't be able to accept it (+10 for the work already done). Thank you. – trejder Oct 20 '19 at 09:04
  • 4
    `They still have to bypass the windows login security.` Not necessarily. After the TPM gives out the key, it's stored in the memory, and thus vulnerable to a) *cold boot attacks* and b) attacks through *direct memory access*. – Esa Jokinen Oct 20 '19 at 15:45
  • 1
    @EsaJokinen DMA is restricted when BitLocker is enabled, so it's definitely not as simple as booting a BL-with-TPM-only machine and then plugging in a Firewire, etc. cable at the login screen. However, somebody with physical access probably could extract the key using various attacks on the hardware itself. To prevent that, you need a PIN/password or external key (on a flashdrive or similar). – CBHacking Oct 21 '19 at 06:59
3
  1. How can BitLocker be considered safe at all in given conditions (second scenario)?

It can't be considered safe in the specified scenario, as it is. After the TPM gives out the key, it's stored in the memory, and thus vulnerable to a) cold boot attacks and b) attacks through direct memory access. That's why it's suggested in the BitLocker Countermeasures documentation, that you use TPM with a startup key, a PIN or both.

  1. How can it be considered safer than VeraCrypt/TrueCrypt?
  2. What advantages (if any) do I get when using BitLocker over using TrueCrypt/VeraCrypt?

With VeraCrypt, the lenght of the password is crucial, because it's possible to perform brute force attacks against a weak password. This makes every boot a compromise between usability and security. In a modified scenario with BitLocker + TPM + PIN you can use a shorter PIN code, as the BitLocker enters recovery mode after several failed login attempts i.e. it has an anti-hammering protection.

Keep in mind that the TPM + PIN gives the extra protection only if you turn off the computer or hibernate it when you leave it unattended. In sleep mode the encryption key is still in the memory.

Esa Jokinen
  • 16,100
  • 5
  • 50
  • 55