BitLocker : le cryptage de Windows Vista
Date de publication : 19/04/2006 , Date de mise à jour : 19/04/2006
Par
Aymeric Morilleau (site de netah25)
La sécurité est aujourd'hui au cœur de l'informatique, Windows Defender, Windows
OneCare, ... Microsoft répond à la problématique avec une suite de nouveaux
produits. BitLocker répond au problème de sécurité lié aux ordinateurs volés
et dont le contenu doit être préservé de la divulgation, ainsi qu'au besoin
d'un système sûr, et ce, dès son démarrage.
I. Introduction
II. La TPM
II-A. Protection du boot
II-B. Le stockage des clés
III. BDE : BitLocker Drive Encryption
IV. Conclusions
I. Introduction
Toute information donnée ici est basée sur des tests effectués
sur les différentes versions bêta de Windows Vista. Ces informations
peuvent être modifiées ou n'être plus valide du jour au lendemain.
Prenez les à leur juste valeur informative.
BitLocker est la première concrétisation du projet "Palladium".
Ce projet, déjà lancé il y a 4 ans (juin 2002) visait à sécuriser
l'exécution des logiciels. Après plusieurs changements de cap et de
nom (notamment NGSCB pour Next Generation Secure Computing Base)
Microsoft présente aujourd'hui : BitLocker, une solution de
sécurité visant à protéger l'intégrité des données, ainsi qu'à
assurer un délai maximum dans la récupération malveillante de
données. En effet, aucune solution de sécurité n'est inviolable,
et c'est encore plus vrai dans le temps, un système de sécurité
intégrant de la cryptographie perdra forcement de son efficacité
avec les années. Si on considère les trois niveaux suivants : le
document, le disque utilisateur et le disque système, on peut sécuriser
chacun de ces niveaux, RMS pour les documents, EFS pour les
disques utilisateurs, et enfin BitLocker pour les disques systèmes.
BitLocker est l'union de deux solutions de sécurité. La première sécurise
l'exécution du code jusqu'au moment du boot, et la seconde protège
l'intégralité de votre disque dur, ainsi sont protégées vos données
mais également les fichiers systèmes.
En pratique, BitLocker s'applique notamment dans les cas suivants :
il protège vos données de la divulgation face aux attaques de type
exécution d'un liveCD ou de récupération du disque dur pour le monter
sur une autre machine et copier les informations. Le test successif de
la séquence de boot protège lui de toute attaque bas niveau qui
intervienne sur les étapes précédentes et permettant à l'OS de se lancer.
II. La TPM
Depuis quelques années, le projet TPM a été présenté aux principaux fabricants de Carte Mère, ce projet
vise à embarquer une puce (la TPM) qui contiendra des éléments de sécurité, ainsi que les clés du
cryptage BitLocker. La TPM est aujourd'hui dans sa version 1.2, et c'est cette même version qui
sera nécessaire pour pouvoir mettre en oeuvre la solution BitLocker sous Windows Vista.
La TPM est donc un composant hardware, implanté par le constructeur, cependant il n’existera pas un
driver par constructeur, mais un seul driver, développé et suivi par Microsoft.
II-A. Protection du boot
En premier lieu, les cartes mères qui présentent la solution TPM devront garantir que la zone
mémoire de stockage du code d'initialisation de la TPM soit "inviolable", en effet ce code sera
la base d'une chaîne de démarrage sécurisé.
On peut facilement décomposer le démarrage d'un PC en plusieurs modules :
- TPMinit
- BIOS
- MBR
- BootSector
- BootBlock
- BootManager
- OSLoader
La main passera d'un de ces modules à son suivant de la manière suivante :
Premièrement, la TPM repose sur une certification hardware, qui stipule explicitement que la ROM
dans laquelle est stockée le TPMinit n’est pas modifiable.
La TPM contient 14 registres, les 7 premiers stockent les hash (SHA-1) des modules lors de leur
précédent lancement. Chaque module compare son hash à celui stocké dans le TPM, s’exécute, puis
calcule le hash du module suivant, si les hash sont identiques, il passe la main au module suivant, et
ainsi de suite, jusqu'à l’OSloader.
Cette méthode sécurise totalement le lancement de la machine, ainsi que l’ensemble des exécutions
se faisant en « interne » et précèdent le lancement du système d’exploitation.
II-B. Le stockage des clés
La seconde, et principale fonction de la TPM est de stocker les clés de cryptage qui protègeront le
système d’exploitation. Ce stockage présente les spécificités suivantes :
- Une clé unique appelé EK (Encryption Key) : SHA-1 128bit, elle servira a crypter le contenu du
TPM, cette clé, fixée par le constructeur sera déterminé de manière totalement indépendante du numéro
de série du composant TPM
- La clé qui permettra de déverrouiller le système d’exploitation : SRK (Storage Root Key) RSA 2048 bit
- Les registres des hash de la plateforme : SHA-1
Il est à noter que le type de clé pour l’EK ainsi que la clé de verrouillage du disque système ne sont
pas sensibles au problème de sécurité qu’est le « Break Once, Break Everywhere ». En effet, casser une de ces
clés ne vous permettra pas de décrypter un autre disque que celui protégé par la clé cassée.
III. BDE : BitLocker Drive Encryption
BitLocker Drive Encryption (BDE) vise non seulement à protéger la divulgation de document en cas d’attaque
de type Log Off, mais également à garantir l’intégrité du système. En ce sens la partition contenant le
système d’exploitation sera entièrement cryptée.
Afin de répondre au besoin exposé, BDE se devait d’être situé sur une couche plus basse que Windows, pour que son
fonctionnement soit transparent du point de vue de l’utilisateur. Un des défis de son architecture était
que les clés de cryptage soient disponibles dès le démarrage de la machine. La TPM répond pleinement à cette
problématique.
Bien entendu il est impossible de penser que l’OSLoader sera capable de gérer le cryptage / décryptage
à la volée du disque système, il faudra donc prévoir une partition de quelques centaines de Mo (300 nécessaires
/ 500 recommandés) pour placer un kernel léger qui gérera cette tâche de cryptage . Le système de fichiers de
ces 2 volumes devra être NTFS.
Le chiffrage de la partition système sera AES 256 bit CBC (algorithme « éléphant »), cet algorithme de
diffusion assure une meilleure sécurité. Un algorithme de diffusion va éclater les changements résultants
d’une modification de la source sur le disque, de ce fait le changement d’un octet source entraînera la
modification de plusieurs octets dans le disque crypté, rendant ainsi plus complexe la détermination de
la clé utilisée.
Les prérequis pour mettre en place BDE sont les suivants :
- Microsoft Windows Vista (Enterprise ou Ultimate)
- Un hardware TPM 1.2
- Pas de dual boot sur le disque système
- BIOS compatible TGS (SRTM : Static Root Trusted Measurement)
- 2 partition NTFS
- Activer TPM dans le BIOS
IV. Conclusions
BitLocker regroupe une suite de bonnes idées, mais semble être encore
un peu jeune. Pour ces raisons je n'ai pas encore essayé d'installer
un Windows Vista crypté par BitLocker. Les informations de cet
article sont donc la somme de plusieurs informations assemblées (notament
la présentation de BitLocker au JMSI 2006).
Il reste beaucoup de questions autour de l'implication des fabricants
de cartes mères dans le déploiement de puce TPM dans les systèmes actuels.
Je n'ai également aucune idée de la consommation de ressources que prendra
le cryptage et décryptage à la volé du disque système. Il en ressort malgré
ces détails que BitLocker est une solution intéressante pour les PC nomades
ou exposés (comptoir d'accueil…) contenant des informations sensibles.
 
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
|