Full Disk Encryption avec TPM, non soumis à une attaque de démarrage à froid

9

Voici un passage de Wikipedia sur BitLocker

Une fois qu'une machine protégée par BitLocker est en cours d'exécution, ses clés sont stockées dans la mémoire où elles peuvent être susceptibles d'être attaquées par un processus capable d'accéder à la mémoire physique, par exemple, via un canal DMA 1394. Tout matériel cryptographique en mémoire est menacé par cette attaque, qui n'est donc pas spécifique à BitLocker.

Je crois comprendre que les modules de plateforme sécurisée (TPM) , que BitLocker utiliserait prétendument, sont conçus pour protéger spécifiquement contre de telles attaques:

... une clé serait toujours vulnérable pendant qu'une application logicielle qui l'a obtenue du TPM l'utilise pour effectuer des opérations de chiffrement / déchiffrement, comme cela a été illustré dans le cas d'une attaque de démarrage à froid. Ce problème est éliminé si les clés utilisées dans le TPM ne sont pas accessibles sur un bus ou à des programmes externes et que tout le cryptage / décryptage est effectué dans le TPM

Le diagramme TPM implique que le stockage des clés et le moteur de chiffrement / déchiffrement doivent faire partie du module. Alors, pourquoi n'y a-t-il pas de produit de chiffrement complet du disque, qui utilise cette fonctionnalité? Par exemple: pourquoi n'y a-t-il pas de logiciel FDE, non vulnérable aux attaques de démarrage à froid?

galets
la source

Réponses:

3

Le diagramme TPM implique que le stockage des clés et le moteur de chiffrement / déchiffrement doivent faire partie du module. Alors, pourquoi n'y a-t-il pas de produit de chiffrement complet du disque, qui utilise cette fonctionnalité? Par exemple: pourquoi n'y a-t-il pas de logiciel FDE, non vulnérable aux attaques de démarrage à froid?

Si vous souhaitez que votre clé ne soit pas présente en dehors du TPM, votre TPM devra effectuer tout le cryptage. Ce n'est pas faisable car le TPM n'a pas les éléments suivants:

  1. chiffrement symétrique

    Le TPM lui-même ne peut pas effectuer un chiffrement symétrique comme AES sur les données externes fournies.

  2. performance

    Même si elle était capable du cryptage, les performances de la puce ne répondraient pas aux exigences d'un FDE. Un TPM est conçu pour être très très peu coûteux. La performance n'est pas un objectif de conception.

  3. bande passante

    Un TPM dans un système PC est connecté via le bus LPC qui peut transférer 6,67 Mo / s au maximum. (pas de duplex intégral non plus)

Le TPM n'est donc pas conçu pour exécuter FDE.

La solution consiste à laisser le disque dur lui-même effectuer le cryptage. Si vous souhaitez procéder de cette façon, vous devriez consulter le groupe de travail sur le stockage des données du TCG . Leur solution est basée sur des disques à chiffrement automatique (SED) qui stockent leurs clés dans le TPM. Par conséquent, la clé ne doit jamais être visible dans la RAM du système et seulement pendant une courte période sur le bus du système .

Il existe donc une solution pour FDE, mais elle nécessite un matériel spécial (= les SED).

Scolytus
la source
Cela ne rendrait-il pas encore le système vulnérable aux reniflements le long du bus, qu'il soit PCI ou USB (s'il est externe)? La clé de déchiffrement doit voyager le long de ce chemin vers le lecteur, et les données reviendront toujours - et seront dans la mémoire du PC - en clair.
deitch
@deitch oui, mais c'est une attaque différente. Si vous voulez vous défendre contre quelqu'un qui est capable de flairer votre bus PCIe - bonne chance avec ça.
Scolytus
je l'ai. En d'autres termes, si je veux me défendre contre l'attaque des données non chiffrées (pas la clé), alors je dois protéger le bus physique.
deitch
Mais alors, quelle est la valeur de ne jamais voir les clés des disques dans la RAM? Après tout, les données non cryptées seront là.
deitch
Oh, oui (désolé pour plusieurs commentaires). J'ai vu beaucoup de SED; en connaissez-vous qui stockent nativement leurs clés dans TPM?
deitch
4

À partir de l'article de Wikipedia sur le TPM , la spécification du TPM détaille «un cryptoprocesseur sécurisé qui peut stocker des clés cryptographiques qui protègent les informations» - en d'autres termes, un matériel généralisé qui effectue des opérations cryptographiques pour l'utilisateur.

Le TPM est généralisé pour être accessible à partir du système d'exploitation et des logiciels ultérieurs, et est donc intrinsèquement limité en termes de sécurité en raison de sa conception - les programmes doivent s'exécuter quelque part et doivent donc être chargés dans la RAM. Plusieurs autres programmes utilisent le module TPM à des fins d'authentification (par exemple, certains réseaux de sécurité d'entreprise) ou pour empêcher des ordinateurs non autorisés d'accéder à un réseau particulier.


Cela ne se limite pas à BitLocker, et d'autres solutions utilisant le TPM doivent également être prudentes pour atténuer les risques d'attaques de démarrage à froid / copie de RAM.

En théorie, il serait possible d'avoir un disque dur qui s'auto-crypte de la même manière qu'un module TPM intégré. Cela pose cependant une limitation très sévère: l'utilisateur final ne peut pas connaître la clé de déchiffrement (sinon, un virus ou un autre logiciel pourrait également la déterminer), il serait donc impossible de récupérer les données si nécessaire, comme vous n'ont aucun moyen d'obtenir la clé pour la décrypter.

Ce document illustrant les attaques de démarrage à froid sur presque tous les schémas de chiffrement du disque complet peut être utile:

Dans son «mode de base» par défaut, BitLocker protège la clé principale du disque uniquement avec le module de plateforme sécurisée (TPM) que l'on trouve sur de nombreux PC modernes. Cette configuration est [...] particulièrement vulnérable à notre attaque, car les clés de chiffrement du disque peuvent être extraites avec nos attaques même si l'ordinateur est éteint pendant une longue période. Lorsque la machine démarre, les clés sont chargées automatiquement dans la RAM (avant l'écran de connexion) sans entrer de secret.

Il semble que Microsoft soit au courant [...] et recommande de configurer BitLocker en «mode avancé», où il protège la clé de disque à l'aide du TPM avec un mot de passe ou une clé sur un périphérique USB amovible. Cependant, même avec ces mesures, BitLocker est vulnérable si un attaquant arrive sur le système alors que l'écran est verrouillé ou que l'ordinateur est en veille (mais pas s'il est en veille prolongée ou éteint).

Percée
la source