Bitlocker : volumes de données et autounlock

Bitlocker, dans Windows Vista, ne permet que de chiffrer le volume du système (le volume qui contient Windows). Ou, plus précisément, seul le chiffrement du volume du système est supporté dans Windows Vista. L'interface graphique (panneau de configuration, Bitlocker) ne permet pas le chiffrement d'un autre volume, mais il est possible, bien que non supporté, de chiffrer d'autres volumes en utilisant la commande manage-bde.wsf. Plusieurs articles décrivent ce procédé, qui sera très prochainement supporté dans Windows Vista SP1 et Windows Server 2008.

Tout d'abord, le volume du système doit être déjà chiffré avec Bitlocker avant de chiffrer un volume supplémentaire. L'idée est la suivante : pour le volume du système, les protecteurs de clé sont traités par bootmgr lors de la phase de boot. Bootmgr ne s'occupe pas de tous les volumes présents sur tous les disques de la machine.

Si l'on souhaite que le système qui démarre déverrouille tous les volumes de données chiffrés de façon automatique, il est nécessaire que le système dispose des clés permettant de déverrouiller chacun de ces volumes. C'est ce que l'on appelle l'autounlock. Le principe est d'ajouter au volume de données chiffré un protecteur supplémentaire de type clé externe, dont la clé n'est pas stockée sur une clé USB mais dans le registre du système. En l'occurrence, cette clé est stockée à cet endroit :

HKLM\SYSTEM\CurrentControlSet\Control\FVEAutoUnlock\{Volume ID}

où {Volume ID} est le GUID du volume concerné. Le blob binaire stocké à cet endroit contient le GUID du protecteur de clé, ce qui permet au système de débloquer le bon protecteur pour le bon volume. Cette clé est protégée lorsque le système tourne par une ACL qui ne permet qu'au compte SYSTEM d'y accéder. De plus, le registre, stocké sur le volume du système, est également protégé lorsque le système est arrêté par le chiffrement Bitlocker de ce volume.

Pratiquement, le chiffrement d'un volume de données se fait en deux commandes (dans une ligne de commande avec privilèges élevés).

Premièrement, on chiffre le volume de données (ici, F:) avec deux protecteurs de clé classiques : une clé externe sur une clé USB U: et un mot de passe de récupération.

 cscript manage-bde.wsf -on f: -rk u:\ -rp

Ensuite, on active l'autounlock sur le volume :

 cscript manage-bde.wsf -autounlock -enable f:

Cette deuxième commande ajoute le nouveau protecteur de clé et stocke la clé dans le registre. Au prochain démarrage, le volume F: sera automatiquement déverrouillé par le système.