Starter for someone who is not familiar with bitlocker part III


Last time we talked about TPM and what exactly it is. This time I will continue from where I left last time. As mentioned TPM is nothing but a device to store the secret or *blob and release it when it has measured and verified the integrity of the boot components.


As I mentioned last time Bitlocker only uses 11 pcr’s out of the 24 pcr’s in the TPM chip.  I will lay one by one details of what is stored in which pcr. Bios measures itself into pcr 0 and option ROM into pcr 2. pcr 1 is used for measuring bios data and pcr 0 for bios code. The code portion of the mbr is measured in the pcr 4 and partition table measured into pcr 5.  Within the mbr exists the boot code to read the active boot sector and measures the first few bytes of boot sector. This is measured in pcr 8 and rest of code of active boot sector is measured in pcr 9. Bootmgr is measured in pcr 10 and during boot process if TPM finds that the current value in pcr 0,2,4,8,9,10.11 is valid (i.e. same as against the values vmk was sealed) then it unseals the secret, if not recovery UI will pop up and ask for recovery password. Remember the pcr’s are always extended which I explained in last entry and when they are extended we also maintain a TCG log. There are few other things also measured which I am skipping right now to keep it simple.


Now there is a way how we can configure TPM platform validation profile or in simple words asking TPM to measure what and what not before releasing secret (not recommended though) we have a group policy …bitlocker drive encryption-configure TPM platform validation profile. Just for example if I don’t want to measure pcr 4, I can skip that, yes it will affect the security scenarios but may be used as a troubleshooting step. To describe further this concept of clean booting of pcr’s….let’s assume I enabled bitlocker and when I reboot it asks me for recovery password but I want to know what exactly changed or value in which pcr changed which is causing recovery UI to come up. So, I may disable pcr’s one by one (one at a time) and see disabling which pcr let me boot back into machine without asking for recovery password. If pcr 10 is culprit then I know that pcr 10 is measuring bootmgr and it has been modified. This is what I termed as a concept of clean boot of pcr’s.


*Blob = A binary large object, also known as a blob, is a collection of binary data stored as a single entity.


This posting is provided "AS IS" with no warranties, and confers no rights.


Gaurav Anand

Skip to main content