Avant d’autoriser l’exécution d’un système, bootmgr effectue plusieurs vérifications. La première validation concerne la chaîne de démarrage. Les éléments de cette chaîne sont exécutés les uns après les autres et chaque élément est examiné via son empreinte cryptographique par son prédécesseur. Le premier maillon est le BIOS et est donc considéré comme intègre par défaut et elle s’achève avec le bootmg. La seconde validation concerne les données qui ne peuvent pas être chiffrées par BitLocker. Il s’agit de métadonnées du volume et de la BCD.
Utilisation d’un module TMP : BitLocker n’utilise que le mode SRTM. Ce mode permet de protéger un secret et de vérifier l’intégrité via des empreintes cryptographiques de certains éléments du système. Un module TMP comporte 16 registres PCR, dont les spécifications du TCG indiquent la façon dont ils doivent être utilisés.
Validation de la chaine de démarrage : Lorsque BitLocker est activé, le fichier du chargeur se trouve sur un volume chiffré et bootmgr doit disposer de la VMK pour déchiffrer le volume. C’est à l’étape de récupération de la VMK que le contrôle d’intégrité du système est réalisé. Il existe plusieurs méthodes de protection de la VMK, mais celles basées sur l’utilisation d’un TMP sont privilégiées.
Validation des métadonnées : Afin d’assuré la validité des métadonnées, qui ne sont pas chiffrées car nécessaires au déchiffrement du volume. Pour cela, le bloc INFORMATION, contenant les métadonnées, est suivi par un bloc VALIDATION, qui correspond à un hash (chiffré via la VMK du volume) du bloc INFORMATION. La validation des métadonnées est effectuée avant de déverrouiller le volume.
Validation de la BCD : Une fois le bloc INFORMATION considéré comme intègre, il faut valider le BCD. Le bloc INFORMATION du volume système contient un tableau d’entrées. Lorsqu’une application est sélectionnée pour être exécutée, bootmgr cherche dans le tableau l’entrée correspondante à son empreinte. L’empreinte doit être de ‘1’. Les éléments de la BCD contrôlés et associés à cette application sont toutes les entrées ‘2’ situés à la suite de l’entrée de l’application jusqu’à la prochaine entrée ‘1’. Les empreintes avec des entrées 2 des éléments de la BCD doivent correspondre aux empreintes du tableau. Si toutes les empreintes correspondent, alors l’application est considérée comme intègre. Lorsque BitLocker est actif pour le volume système, winload.exe, winresume.exe et memtest.exe doivent être validées. Transfert de l’exécution et de la VMK : Si les diverses validations sont réussies, bootmgr transfert l’exécution à l’application. Pour cela, il déverrouille le volume. A partir de cet instant, il lui est possible d’accéder aux parties chiffrées du volume. Pour le démarrage d’un système d’exploitation, bootmgr charge le chargeur de noyau winload.exe, le noyau ntoskrnl.exe et le filter driver fvevol.sys, permettant le déchiffrement à la volée du disque système. Pour cela, bootmgr lui transmet la VMK.