Accueil » Blog » Le chiffrement intégral des disques soutenu par le TPM arrive dans Ubuntu

Le chiffrement intégral des disques soutenu par le TPM arrive dans Ubuntu

Avec pour mission d’atténuer les risques de violation de données et faciliter la récupération de données

Le chiffrement intégral du disque (Full disk encryption – FDE) fait depuis longtemps partie intégrante de la stratégie de sécurité d’Ubuntu. Sa mission est simple : atténuer les risques de violation de données dus à la perte d’un appareil ou à un accès non autorisé, en chiffrant les données stockées sur le disque dur de l’ordinateur ou sur un périphérique de stockage.

Pendant 15 ans, l’approche d’Ubuntu en matière de chiffrement intégral du disque s’est appuyée sur des passphrases (phrase de passe) pour l’authentification des utilisateurs. Sur Ubuntu Core, cependant, le FDE a été conçu et mis en œuvre à l’aide de modules de plate-forme de confiance (TPM) depuis plus de deux ans maintenant, en commençant par le Core 20.

Sur la base de la conception FDE d’Ubuntu Core, Ubuntu a travaillé à l’introduction du chiffrement intégral des disques soutenu par les TPM dans les systèmes de bureau Ubuntu classiques, en commençant par Ubuntu 23.10 (Mantic Minotaur), où il sera disponible en tant que fonctionnalité expérimentale. Cela signifie que les phrases de passe ne seront plus nécessaires sur les plateformes prises en charge, et que le secret utilisé pour déchiffrer les données chiffrées sera protégé par un TPM et récupéré automatiquement uniquement par un logiciel de démarrage anticipé autorisé à accéder aux données. Outre ses améliorations en termes de facilité d’utilisation, le FDE soutenu par un TPM protège également ses utilisateurs contre les attaques de type “evil maid” qui peuvent tirer parti de l’absence de moyen d’authentifier le logiciel de démarrage, à savoir initrd, auprès des utilisateurs finaux.

Comment le chiffrement intégral du disque est intégré dans Ubuntu aujourd’hui

Le chiffrement intégral du disque dans Ubuntu est réalisé à l’aide de la structure LUKS (Linux Unified Key Setup), qui fournit un chiffrement du disque au niveau du bloc. Voici une vue d’ensemble des principales étapes de la réalisation du FDE :

Configuration du processus de chiffrement : Lors de la configuration du chiffrement intégral du disque à l’aide de LUKS sur Ubuntu, il vous sera demandé de fournir une phrase de passe ou une clé.
Création de l’en-tête LUKS : La phrase de passe que vous entrez n’est pas utilisée directement comme clé de chiffrement. Au lieu de cela, elle est soumise à un processus de dérivation de clé coûteux en termes de calcul, qui génère une clé de chiffrement plus sûre, utilisée ensuite pour chiffrer la clé de chiffrement principale. Cette clé chiffrée, ainsi que d’autres informations nécessaires, est stockée dans un en-tête au début du dispositif chiffré.
Invite de phrase d’authentification au démarrage : Lorsque vous démarrez votre système Ubuntu, l’initrd vous demandera d’entrer la phrase d’authentification que vous avez fournie initialement. Cette phrase de passe est utilisée pour déchiffrer l’en-tête LUKS, obtenir la clé de chiffrement et déverrouiller le périphérique chiffré.
Intégration de Device Mapper : Le dispositif chiffré, qui peut être une partition ou un disque entier, est mappé à un périphérique de bloc virtuel à l’aide du sous-système de mappage de périphérique. Ce périphérique virtuel chiffre et déchiffre de manière transparente les données à la volée, au fur et à mesure qu’elles sont lues ou écrites sur le périphérique.
Décryptage et accès aux données : Une fois que le dispositif chiffré est déverrouillé, le sous-système de mappage de dispositifs déchiffre les données au fur et à mesure qu’elles sont lues, ce qui permet au système d’exploitation et aux applications d’accéder aux données comme si elles n’étaient pas chiffrées. De même, les données sont chiffrées à la volée lorsqu’elles sont écrites sur le dispositif.
Flexibilité : LUKS permet d’utiliser différents algorithmes et modes de chiffrement, ce qui offre la possibilité de choisir le niveau de sécurité et de performance qui convient à vos besoins. Ubuntu utilise des algorithmes bien établis, à savoir AES-256 avec le mode de chiffrement XTS.

Il est important de noter que la sécurité de vos données chiffrées dépend fortement de la force de votre phrase de passe. Une phrase de passe forte et unique renforce considérablement la sécurité de votre disque crypté.

Les éléments constitutifs du chiffrement intégral du disque

Amorçage vérifié

Les ordinateurs sont vulnérables pendant le processus de démarrage s’ils ne sont pas sécurisés. L’un de ces types de vulnérabilités est le bootkit, qui cible les premières étapes du processus de démarrage d’un système informatique et vise à obtenir un contrôle non autorisé sur le système en s’intégrant dans ces composants critiques, ce qui leur permet d’exécuter un code malveillant avant que le système d’exploitation et les autres mesures de sécurité ne soient pleinement opérationnels. Pour se prémunir contre de tels logiciels malveillants, l’amorçage vérifié est conçu pour renforcer la sécurité du processus d’amorçage en garantissant que seuls les composants logiciels fiables et correctement signés, tels que les microprogrammes, les chargeurs d’amorçage et les noyaux de système d’exploitation, sont autorisés à s’exécuter lors du démarrage du système. Si la signature d’un composant est valide et que sa clé de signature est approuvée, le composant est autorisé à s’exécuter. Dans le cas contraire, le microprogramme interrompt le processus de démarrage, empêchant ainsi l’exécution de codes potentiellement malveillants.

Modules de plateforme de confiance

Un module de plateforme de confiance (Trusted platform modules – TPM) est un composant de sécurité matériel qui réside sur la carte mère d’un ordinateur. Il s’agit d’un microcontrôleur dédié qui joue un rôle essentiel dans la génération, le stockage et la gestion des clés cryptographiques, ainsi que dans l’exécution de diverses tâches liées à la sécurité. Les registres de configuration de la plate-forme (Platform Configuration Registers – PCR) sont un élément central des TPM. Il s’agit d’un ensemble de registres qui stockent des hachages cryptographiques représentant les mesures des composants critiques du système. Ces hachages créent une chaîne de confiance qui permet une attestation à distance, garantissant l’intégrité et l’authenticité du système.

Amorçage mesuré

L’amorçage mesuré implique l’utilisation de mesures cryptographiques pour créer un enregistrement sécurisé, ou journal, des différents composants et étapes de la séquence d’amorçage. Ces mesures sont prises à des moments critiques du processus de démarrage, depuis l’initialisation du microprogramme jusqu’au chargement du noyau du système d’exploitation. L’amorçage mesuré utilise les PCR du TPM pour stocker les mesures en toute sécurité et garantir qu’elles ne peuvent pas être modifiées. Ce profil de démarrage peut être comparé à une mesure de référence connue pour déterminer si des changements non autorisés ou inattendus se sont produits dans le processus de démarrage, indiquant une altération potentielle ou une infection par un logiciel malveillant.

https://www.youtube.com/embed/lr8iMnuW6aw?wmode=transparent&fs=1
Architecture de la solution

Le FDE soutenu par le TPM apporte un certain nombre d’améliorations. Parce qu’il élimine la nécessité pour les utilisateurs de saisir manuellement des phrases de passe lors du démarrage, il constitue un obstacle moins important à l’activation du chiffrement sur les appareils partagés dans les environnements d’entreprise, et rationalise le processus de démarrage dans les déploiements d’entreprise à grande échelle, ce qui permet d’accroître l’efficacité opérationnelle. Les utilisateurs qui choisissent d’utiliser une phrase de passe (en plus du TPM) renforcent encore leur sécurité, car ils éliminent la possibilité pour les pirates d’effectuer des attaques hors ligne par force brute contre la phrase de passe.

Protection de la clé dans la TPM

Étant donné que l’espace de stockage d’un MTP est limité, les objets ne doivent pas nécessairement être stockés dans son espace de stockage interne. Au lieu de cela, ils sont souvent chiffrés par une clé dérivée d’une graine associée à la clé de stockage parentale, puis stockés à l’extérieur de la MPT. Pour le chiffrement intégral du disque, Ubuntu stocke la clé de chiffrement du disque à l’extérieur du TPM, protégée par la hiérarchie de stockage du MPT à l’intérieur d’un objet de données scellé.

Le TPM ne révèle la clé au code s’exécutant à l’intérieur de l’initramfs que si l’environnement de démarrage a été préalablement autorisé à accéder aux données confidentielles. Si certains composants de l’environnement de démarrage sont modifiés, le TPM n’autorisera pas l’accès à la clé. Pour ce faire, l’objet TPM doit disposer d’une politique d’autorisation appropriée.

Politique d’autorisation

Pour accéder à une ressource dotée d’une politique d’autorisation ou l’utiliser, une session de politique est créée. La politique est ensuite exécutée en lançant un ensemble de commandes d’assertion de politique qui modifient le résumé associé à la session de politique. Lors de l’exécution d’une commande qui utilise une ressource dotée d’une politique d’autorisation, le TPM vérifie que le condensé associé à la session de politique fournie correspond au condensé de politique de la ressource.

Il est possible de créer une politique d’autorisation exigeant que les valeurs d’une sélection de PCR correspondent à un ensemble de valeurs précalculées. L’objet de données scellé qui protège la clé de chiffrement du disque utilise cette politique pour garantir que la clé ne peut être consultée que par un environnement de démarrage spécifique. Cette politique est configurée de manière à ce que l’accès soit refusé si l’un des composants de l’environnement de démarrage essentiels à la protection des données est modifié. Il s’agit notamment du chargeur de démarrage, du noyau et du code initramfs, de la configuration de démarrage sécurisée et de la ligne de commande du noyau.

Le rôle de Snapd

Le FDE soutenu par TPM sur les systèmes Ubuntu Desktop classiques est basé sur la même architecture qu’Ubuntu Core, et il partage un certain nombre de ses principes de conception et de mise en œuvre. En particulier, le chargeur d’amorçage (shim et GRUB) et les actifs du noyau seront livrés sous forme de paquets Snap (via les gadgets et les snaps du noyau), au lieu d’être livrés sous forme de paquets Debian. C’est donc l’agent Snapd qui sera chargé de gérer le chiffrement intégral du disque tout au long de son cycle de vie. La logique du chargeur de démarrage comprend la sélection du mode de démarrage et du noyau, et est encodée dans la configuration GRUB fournie par Snapd, au lieu d’être générée automatiquement sur l’appareil. Enfin, des images de noyau unifiées sera utilisées, où le noyau et l’initramfs seront encapsulés dans un seul binaire PE contenant un petit stub pour exécuter le noyau.Ce binaire sera signé en tant qu’artefact unique.

Au-delà du noyau et du chargeur de démarrage, le reste du système d’exploitation, à savoir son espace utilisateur, sera exactement celui d’un environnement Ubuntu classique.

Source : Ubuntu

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *