Microsoft va apporter l’accélération matérielle à son chiffrement BitLocker, mais…
Disponible, mais pas vraiment
Crédits : JJ Ying (Unsplash)
BitLocker, la technologie de chiffrement intégral du disque chez Microsoft, recevra en 2026 une évolution majeure : le support de l’accélération matérielle. Les gains attendus sont significatifs, mais ce support sera très restreint dans un premier temps. En outre, des questions restent en suspens sur l’implémentation.
Le 22 décembre 2025 à 12h19
7 min
Hardware
Hardware
BitLocker est une technologie de Microsoft permettant de chiffrer intégralement le disque. Elle existe depuis longtemps, mais a surtout pris son envol avec Windows 10. Elle est présente dans Windows 11 et est même censée être active par défaut sur les installations neuves du système, à condition qu’elles se fassent avec la version 24H2. Un test récent sur un ordinateur portable, depuis une image ISO de Windows 11 25H2 (récupérable sur le site de Microsoft), nous a cependant montré que cette activation n’était toujours pas systématique.
Le chiffrement utilisé aujourd’hui est entièrement logiciel. Le gros avantage de cette approche est qu’elle rend BitLocker compatible avec toutes les configurations. Elle a pourtant deux inconvénients : le coût en performances et le niveau de sécurité.
Pour remédier à ces problèmes, Microsoft a annoncé ce 19 décembre l’arrivée de l’accélération matérielle. Malheureusement, aucune configuration n’a ce qu’il faut actuellement, et il faudra peut-être attendre fin 2026 pour en profiter, sur un nombre très limité de configurations.
Approche logicielle : un coût croissant en performances
Dans son billet, Microsoft indique que le coût en performances de BitLocker aurait dû continuer à s’exprimer via un pourcentage à un seul chiffre. Ce n’est plus possible aujourd’hui, à cause du niveau élevé de performances offert par les SSD NVMe.
Le constat peut paraitre contre-intuitif, mais l’explication est simple : certains disques sont si rapides que le processus galope pour suivre l’explosion du nombre d’opérations entrée/sortie (I/O) et répercuter les opérations de chiffrement attenantes.
« À mesure que les disques NVMe continuent d’évoluer, leur capacité à délivrer des débits de transfert de données extrêmement rapides a créé de nouvelles attentes en matière de réactivité système et de performance des applications. Bien que cela représente un avantage majeur pour les utilisateurs, cela signifie aussi que tout traitement supplémentaire — comme le chiffrement et le déchiffrement en temps réel par BitLocker — peut devenir un goulot d’étranglement s’il n’est pas correctement optimisé », explique Microsoft.
Le problème n’est pas nouveau : Tom’s Hardware en parlait par exemple en octobre 2023. Nos confrères avaient mesuré l’impact de BitLocker via plusieurs tests, qui avaient montré une chute de performances sur SSD pouvant atteindre 45 %. Dans sa communication, Microsoft ne donne pas de chiffres, mais évoque des baisses sensibles de performances dans des cas courants comme les chargements de gros fichiers vidéo, de grandes bases de code ou même dans certains jeux, où une latence peut se faire sentir. Et plus les SSD progressent, plus le problème est manifeste.
Décharger le CPU
L’arrivée de l’accélération matérielle pour BitLocker a été annoncée initialement durant la conférence Ignite, qui s’est tenue du 18 au 21 novembre. Microsoft est même déjà prête pour ce changement, puisque les bases en ont été posées dans la mise à jour de septembre pour Windows 11.
Comme toujours avec l’accélération matérielle, l’objectif est de décharger le processeur central (CPU) de certaines opérations, pour en finir avec les goulots d’étranglement. Dans le nouveau fonctionnement, tout sera ainsi traité par une nouvelle partie dédiée dans des processeurs à venir, de la même manière que le NPU (Neural Process Unit) prend en charge les opérations liées à l’IA dans certaines puces.
L’accélération matérielle se servira de l’algorithme XTS-AES-256 pour ses opérations, qui comprendront le chiffrement intégral, l’activation manuelle, l’activation pilotée par des politiques d’entreprise ainsi que celle basée sur des scripts. Microsoft ne donne pas de détails sur son protocole de test, mais dit avoir observé des performances équivalentes entre un disque NVMe avec chiffrement matériel et un autre sans chiffrement « sur les charges de travail courantes ». Des améliorations ont également été constatées sur les « écritures et lectures séquentielles et aléatoires ». L’entreprise dit aussi avoir constaté une baisse de 70 % des cycles CPU requis pour les opérations de chiffrement en moyenne.

Cette hausse des performances permettrait aussi une meilleure autonomie des ordinateurs portables concernés, puisque les opérations consomment moins d’énergie.
Le chiffrement matériel est en outre présenté comme bénéfique pour la sécurité, car les clés utilisées pour le chiffrement de masse sont soustraites du périmètre logiciel pour être encapsulées matériellement, « ce qui aide à accroître la sécurité en réduisant leur exposition aux vulnérabilités CPU et mémoire ». Ce fonctionnement vient alors compléter celui de la puce TPM, qui s’occupe des clés intermédiaires de chiffrement.
Problèmes à l’horizon
La publication de Microsoft soulève un certain nombre de questions et de problèmes. Plusieurs cas ne seront par exemple pas pris en charge : si un algorithme ou une taille de clé non pris en charge a été spécifié manuellement, si la politique d’entreprise impose un algorithme incompatible, ou encore si la politique FIPS 140 est active dans l’organisation.
Microsoft indique que des solutions vont être apportées pour aider les entreprises à transiter vers le chiffrement matériel pour BitLocker. Au printemps, Windows 11 va ainsi être mis à jour pour procéder automatiquement à une augmentation de la taille de la clé quand c’est possible, mais le système ne pourra changer l’algorithme lui-même. En clair, il passera automatiquement de AES-XTS-128 à AES-XTS-256 quand le contexte s’y prêtera.
Rappelons également que BitLocker a bénéficié un temps d’un chiffrement matériel avec les disques auto-chiffrés eDrive. Le support avait été supprimé après la découverte de plusieurs vulnérabilités, qui avaient notamment affecté Dell. Un chiffrement logiciel avait l’avantage pour Microsoft de permettre la maitrise de toute la chaine. Le retour de l’accélération matérielle réintroduit une dépendance sur les implémentations matérielles, qui peuvent comporter des vulnérabilités (BitLocker lui-même n’est pas une protection absolue). On ne sait rien du processus qui conduira à d’éventuelles certifications.
Surtout, la question du support matériel est intrigante. Pour l’instant, seuls les processeurs Core Ultra Series 3 d’Intel (Panther Lake) sont présentés comme compatibles. Et encore, Microsoft ne parle que d’un « support initial ». Or, ces puces sont attendues pour le second semestre 2026, sans plus de précisions. Aucune mention d’AMD et des puces Arm (qui équipent l’immense majorité des PC Copilot+ via les Snapdragon X Elite de Qualcomm), Microsoft n’évoquant qu’un support prévu « pour d’autres fabricants et plateformes », sans plus de détails.
Microsoft va apporter l’accélération matérielle à son chiffrement BitLocker, mais…
-
Approche logicielle : un coût croissant en performances
-
Décharger le CPU
-
Problèmes à l’horizon
Commentaires (25)
Abonnez-vous pour prendre part au débat
Déjà abonné ? Se connecter
Cet article est en accès libre, mais il est le fruit du travail d'une rédaction qui ne travaille que pour ses lecteurs, sur un média sans pub et sans tracker. Soutenez le journalisme tech de qualité en vous abonnant.
Accédez en illimité aux articles
Profitez d’un média expert et unique
Intégrez la communauté et prenez part aux débats
Partagez des articles premium à vos contacts
Abonnez-vousLe 22/12/2025 à 12h33
Peut-être enfin une vraie raison à la puce TPM ?
En tout cas je n'avais pas réfléchi à la nécessité d'équilibre entre CPU et SSD pour Bitlocker mais effectivement ça a du sens maintenant qu'on me l'explique !
Le 22/12/2025 à 12h34
Apple (du temps de l'x64) l'utilisaient, tout comme Linux avec LUKS.
La variation au fil des ans sur l'AES-NI a été la possibilité d'utiliser d'utiliser l'approche SIMD au contraire du début, c'est-à-dire la possibilité d'appliquer un tour du chiffrement AES sur un vecteur de données.
Pourquoi Microsoft a besoin spécifiquement des Panther Lake ? Ils vont pas refaire de l'AES avec de l'AVX512 ?!!
Le retour de l’accélération matérielle réintroduit une dépendance sur les implémentations matérielles, qui peuvent comporter des vulnérabilités
C'est vrai, mais le gros point de l'accélérateur matérielle c'est, sous réserve d'un design correct, son invulnérabilité aux attaques par canal auxiliaire.
Dans le chiffrement AES, il a beaucoup d'implémentation réalisée par des personnes, qui ne sont pas formés à ce genre de détails, qui utilise un if. Or le if, s'il n'est pas traduit par un conditional move par le compilateur introduit de fait la possibilité de faire fuiter des infos.
Mais je pige pas le délire (d'un point de vue technique) de Microsoft de ne pas utiliser/s'appuyer sur l'AES-NI. Autant pour ses propres CPUs je peux comprendre (même si ARM fournit ce type de dispositif) autant pour du PC de Michu...
Le 22/12/2025 à 13h15
Je ne sais pas par contre si ça fait partie du socle commun ou si c'est une partie optionnelle de AVX512.
Le 22/12/2025 à 13h39
J'ai manqué de précision, mais par "Ils vont pas refaire de l'AES avec de l'AVX512 ?!!" je voulais dire que en pure AVX512 (i.e, fondation et co) sans recourir à VAES, GFNI, VPCLMULQDQ et VVPOPCNTDQ.
Le 22/12/2025 à 20h52
Le 23/12/2025 à 17h58
Le fait d'utiliser des instructions en assembleur n'est qu'une des façon pour interagir avec l'accélérateur. C'est comme une sorte d'API.
De toute façon tu consommes du CPU. Et le truc c'est que AES dans un accélérateur est tellement efficace que le CPU ne peut pas l'ignorer longtemps. Pour rappel, le débit de l'AES-NI est d'environ ~3.5 cycles/B. Soit en presque deux fois plus lent qu'une division en f64.
Mais mon point n'est pas de dire si ça consomme ou pas. Mon point de non compréhension et, pourquoi Microsoft ne veut pas utiliser l'AES-NI déjà présent sur les CPUs Intel, AMD et même chez ARM si besoin.
Le 23/12/2025 à 19h01
Mais ce n'est pas un accélérateur, ce sont des instructions AVX donc elles occupent le CPU.
Je suppose que l'accélérateur serait plus sous la forme de DMA : le CPU donne l'adresse d'un buffer à chiffrer/déchiffrer, la clé, et est notifié quand le résultat est disponible (soit au même endroit, soit dans un buffer de destination).
On pourrait même imaginer que le CPU puisse déléguer totalement l'opération de lecture au d'écriture à l'accélérateur (un peu comme DirectStorage), qui appliquerait l'AES au passage entre la RAM et le NVMe de manière transparente (donc non seulement le CPU n'aurait pas à traiter les données, mais il n'y aurait pas plus d'accès mémoire qu'en clair).
Le 22/12/2025 à 12h36
Visiblement, sur mac et sous Linux, c’est géré.
Modifié le 22/12/2025 à 12h54
Résultat, grosses pertes de performances, et impossibilité de reproduire ceci qui offre un gros boost de débits selon les situations : https://korben.info/compactgui-compression-accelere-jeux-windows.html
Et on ne peut même pas corriger la situation en forkant le support de BTRFS, il est impossible de supplanter via modprobe un module existant en dur au sein du noyau. Du coup il faudrait recompiler le noyau sans support du BTRFS, modifier le code de BTRFS pour le support materiel de la compression, et... Charger le module.
Autant dire que c'est super lourd...
En théorie, c'est faisable, en pratique, je ne sais pas pourquoi ils s'entêtent à ne pas prendre en charge les instructions matérielles quand elles sont présentent, pour le pilote BTRFS du noyau Linux, en switchant en mode logiciel si c'est absent...
Le 22/12/2025 à 13h35
1) retourner sous Windows qui fait correctement ce que tu demandes ; l'article de korben ne parle que de Windows.
2) proposer un patch à l'équipe de BTRFS ou plutôt aux équipes qui fournissent les lib de compression utilisées.
3)
acheter plus d'espace de stockage même si par les temps qui courent, ça risque d'être cher.4) ne pas utiliser BTRFS pour stocker des données que l'on veut compresser alors que l’espace réellement utilisable sur un disque correspond à sa taille maximale divisée par 2 pour une quantité de données identique.
En fait, la solution 4 me semble assez bonne.
Le 23/12/2025 à 10h41
Modifié le 24/12/2025 à 20h22
Dire qu'on ne peut utiliser que la moitié du stockage avec Btrfs est très approximatif et sous-entend qu'on utilise pas mal les snapshots et la redondance, ce qui n'est pas forcément le cas non plus. On peut l'utiliser aussi comme ext4 pour du stockage de fichiers simple sans snapshot ni redondance, ou alors avec des fichiers qui ne changent pas suffisamment souvent pour que les snapshots prennent beaucoup de place. Dans ce cas on a tout l'espace du disque disponible moins l'overhead de Btrfs qui est peut-être un peu plus important que d'autres mais pas forcément.
Modifié le 22/12/2025 à 13h50
Le 22/12/2025 à 14h17
Quand à Windows, ils utilisent visiblement des algorithmes plus modernes que BTRFS. Mais il faudrait si cette compression/décompression se fait dans l'user-space ou le kernel-space.
Transition parfaitement trouvée pour répondre à ton histoire de BTFRS dans le kernel. Et bien pourquoi on le fait pas dans le module BTFRS, pour une raison de performance. Les instructions matérielles (on préfère le terme d'instructions vectorielles) comme AVX et co sont rarement utilisées dans le kernel sauf pour des besoins de performances avérés.
La raison vient du fait qu'au niveau du noyau, il faut stocker/restaurer les valeurs des différents registres CPUs associés avec ces instructions. Pour rappel, avec l'AVX512 ça représente 32*512 bits = 16 kiB.
A première vu tu pourrais me dire "Mouais, 16 KiB c'est rien de nos jours". Ce qui est globalement vrai.
En revanche, les opérations pour load/store sur ces registres sont coûteuses : Comme règle générale, un CPU peut faire 2 loads en parallèle (ici, je suis raisonne en instructions exécutés par le CPU par en terme de coeur) et 1 store. Ce qui signifie que pour enregistrer les 32 registres de 512 bits, je dois faire 32 opérations stores et 16 opérations loads. Sachant que la latence L1 de ce genre d'instructions est d'environ en moyenne 5 cycles CPU, tu as besoin de 32*5 = 160 cycles (idéalement) pour l'écriture et de 80 cyles (idéalement) pour la lecture. Ce qui conséquent. Et évidemment c'est un cas idéal car en pratique si les données ne sont pas accessible dans le cache L1, tu dois les ramener du L2, L3, LLC et la RAM, et en conséquence tu augmentes encore plus cette latence.
En règle générale on n'utilise pas de tel instructions dans le kernel-space sauf quand on sait qu'elle vont réellement apporter un gain, car c'est toujours 16 KiB d'économisé et une centaine de cycles (au bas mot).
Évidemment tu as des cas où c'est utile comme pour le chiffrement (LUKS, Wireguard...) ou encore RAID.
Note qu'il n'est pas impossible dans le futur de voir de nouveaux algos plus propices arriver.
Enfin, il faut se rappeler qu'au delà de ces instructions la compression/décompression de données c'est aussi un monde à part. Premièrement car le volume de données dans ce genre de cas est variable (et certaines opérations avec les instructions vectorielles sont très pénibles à réaliser quand tu ne connais pas ta taille de sortie à l'avance).
Deuxièmement car les algorithmes utilisés sont plutôt propice à l'utilisation de structure de données éparses du genre arbre. Or optimiser correctement ces structures pour fonctionner avec des instructions vectorielles n'est pas trivial (et je parle en connaissance de cause pour avoir traiter en mode "HPC" des données topographiques). Le bottleneck de ce genre d'algorithme est, paradoxalement, sur le bus mémoire plus que ce sur le CPU.
Troisièmement et finalement, si tu introduis ce genre d'instructions pour BTRFS il faut gérer toutes les subtilités entre les différentes versions d'AVX, AVX2, AVX512 et ses extensions, avec parfois des "trous" entre générations de CPU (coucou Alder-Lake) ou au sein même d'une gamme.
Le 22/12/2025 à 13h04
En tous cas, perso, mes disques sont déjà en AES-XTS-256.
Le 22/12/2025 à 13h35
Modifié le 22/12/2025 à 13h59
Le 22/12/2025 à 14h20
Le 22/12/2025 à 14h19
Si tu te reposes dessus pour la protection de tes données, oublie immédiatement.
Modifié le 22/12/2025 à 15h19
C'est déjà dispo et transparent niveau perf car c'est dans le contrôleur du stockage que c'est fait... et d'ailleurs le chiffrement est toujours actif pour ce qui va sur les plateaux (HDD) ou dans les secteurs de flash (SSD). Le mot de passe ne fait que débloquer la machine à lire/écrire des LBA au boot.
D'ailleurs, normalement les UEFI sont censé verrouiller ces commandes de configuration de l'accès, vu que des ransomwares les ont utilisé afin... de rendre les données d'un disque instantanément inaccessibles à son utilisateur légitime!
Je dirais que tant on n'a qu'un stockage, c'est sans doute dans en usage perso le mieux à faire et cela n'ajoute qu'un mot de passe tôt dans le boot (tandis que bitlocker est transparent de ce point de vue, ne nécessitant que le login habituel).
Quand on a plusieurs stockages sur une machine, cela devient chiant car je n'ai jamais vu un BIOS proposer d'appliquer le même mot de passe de déblocage à tous les stockages présents. Ce qui oblige alors à en taper autant que de stockage ainsi protégés au boot... a se demander si ceux qui implémentent cela ont un cerveau.
Le 22/12/2025 à 16h42
Modifié le 22/12/2025 à 16h50
Le 22/12/2025 à 20h12
Le 23/12/2025 à 00h59
au pire, apres une mise a jour windows c'est deja arrive de devoir rentrer la cle de recuperation, ca s'arrete la. et si tu payes 200 balles pour ca, y a un probleme..
Le 30/12/2025 à 10h00
Signaler un commentaire
Voulez-vous vraiment signaler ce commentaire ?