Quel est lavantage du XTS par rapport au mode CBC (avec diffuseur)?
On novembre 30, 2020 by adminJai du mal à comprendre l « avantage » dAES-XTS par rapport à CBC avec diffuseur.
Jai lu quelque chose sur FileVault , dans cet article ils mentionnent les deux modes dopérations XTS et CBC (avec diffuseur) et les avantages de XTS.
Les deux modes chiffrent unités de données presque de la même manière. Pour CBC, le numéro de secteur est en quelque sorte utilisé pour construire lIV, pour XTS, il y a une « valeur de réglage », qui comprend également (dune manière ou dune autre) le décalage de bloc, de sorte que chaque bloc de données peut être chiffré indépendamment (cela a du sens lors du chiffrement des disques durs / partitions). Je ne vois pas vraiment lavantage de XTS.
Maintenant, ils écrivent ce qui suit à propos de XTS:
Il y a plusieurs avantages par rapport aux alternatives comme AES dans CBC: il ny a aucune exigence pour un vecteur dinitialisation (la clé de réglage peut être dérivée du numéro de bloc); chaque bloc est chiffré différemment (puisque la valeur du tweak sera différente); et contrairement à AES-CBC, AES-XTS empêche un attaquant de modifier un bit spécifique dans une unité de données en xor-ing chaque entrée AES avec une version décalée différente du tweak crypté.
Peut-être quils comparent simplement XTS à CBC (sans diffuseur) … si oui, est-ce que quelquun connaît un avantage de XTS?
Et quelquun peut-il expliquer le deuxième avantage: « AES- XTS empêche un attaquant de modifier un bit spécifique dans une unité de données en xor-ing chaque entrée AES avec une version décalée différente du tweak crypté. « ?
Commentaires
- Quel est le ' " diffuseur "? " le numéro de secteur est en quelque sorte " comment? Vous navez pas ' décrit le schéma clairement. Si lalgorithme est prévisible, cela conduit à des faiblesses, et un algorithme imprévisible est cher.
- @CodesInChaos Je pense que la référence est au diffuseur déléphant de Microsoft ' utilisé dans BitLocker ( download.microsoft.com/download/0/2/3/… – avertissement: téléchargements PDF ).
- Bienvenue dans Cryptography Stack Exchange. Votre question a été migrée ici parce quelle nest pas directement liée au développement logiciel (le sujet de Stack Overflow), et quelle est plus sur le sujet ici. Veuillez également enregistrer votre compte ici pour pouvoir commenter et accepter une réponse.
Réponse
XTS contre CBC non diffusé. Le problème ici est la malléabilité . XTS et CBC empêchent tous deux un attaquant dapprendre des informations sur les données chiffrées. Cependant, ni lun ni lautre ne parvient complètement à empêcher un attaquant de falsifier les données chiffrées.
Cependant, il est sans doute plus facile de falsifier un texte chiffré CBC (non diffusé) que de falsifier un texte chiffré XTS. Disons quun attaquant connaît un message dit
« bla bla Give Alice \ $ 400 … bla bla blah « .
Si ce message est chiffré en utilisant CBC, lattaquant peut falsifier le texte chiffré de telle manière quil déchiffrera maintenant en
« bla bla! ^% @ ^^ Give Alice \ $ 800 bla bla bla »
Le \ $ 400 est devenu \ $ 800. Cest ce à quoi fait référence votre citation sur « AES-XTS empêche un attaquant de modifier un bit spécifique dans une unité de données ». Ici, jécris! ^% @ ^^ pour indiquer que le bloc de 16 octets précédent deviendra charabia une fois déchiffré, et ce charabia sera hors du contrôle de lattaquant.
Dun autre côté, en utilisant XTS empêche cette attaque. Lattaquant peut corrompre un message en transformant nimporte quel bloc de 16 octets en charabia aléatoire, mais il ne pourra pas avoir le même degré de contrôle que dans lexemple CBC.
Mais Microsoft a décidé de ne pas utiliser XTS de toute façon. La raison en est que la capacité de corrompre un bloc de 16 octets pourrait encore être dommageable. Voici la citation du document dchest lié:
Par exemple, il peut y avoir un fichier de configuration (ou une entrée de registre) avec une valeur qui, lorsquelle est définie sur 0, crée une faille de sécurité dans le système dexploitation. Sur le disque, le paramètre ressemble à « enableSomeSecuritySetting = 1 ». Si le début de la valeur tombe sur une limite de 16 octets et que lattaquant randomise la valeur en texte brut, il y a $ 2 ^ {16} $ chance que les deux premiers octets du texte brut sera 0x30 0x00 qui est une chaîne qui encode la valeur ASCII 0.
(Cette citation fait référence au chiffrement ajustable LRW, mais le chiffrement XEX ajustable utilisé dans XTS a le même problème).
Ajout dun diffuseur. Utilisation un diffuseur est la solution de Microsft à ce problème.Lidée ici est de « mélanger » le texte en clair avant de le chiffrer afin quun attaquant ne puisse « pas changer \ $ 400 en \ $ 800 — interférer avec une partie du texte chiffré changera presque tout le texte en clair, pas seulement de petites parties.
Cela semble bien, mais il ya un problème: personne ne sait si le diffuseur de Microsoft est réellement sécurisé. À ma connaissance, il n’a reçu aucune analyse formelle publiée de la part des cryptographes. Cela signifie que vous devez être sceptique quant à vous y fier. Microsoft reconnaît ceci:
Du côté des inconvénients, le diffuseur est un nouvel algorithme non prouvé, et cela conduit inévitablement à des questions. Sans examen public et analyse approfondis dun algorithme, il existe un scepticisme justifié quant à sa sécurité. Les gens hésitent à faire confiance aux nouveaux algorithmes. Alors pourquoi avons-nous choisi cette option de toute façon? Dans notre analyse finale, nous avons décidé que cétait le meilleur choix pour notre produit. Le gain de performance par rapport aux alternatives était suffisamment important pour compenser les inconvénients dun nouvel algorithme de diffusion. Le temps nous dira si nous avons fait le bon choix.
La ligne du bas. XTS est moins malléable que le CBC non diffusé. Cependant, CBC + Diffuser est probablement moins malléable que XTS, du moins pour des raisons pratiques.
Un aparté important. Ni CBC ni XTS nont été conçus pour être non malléables. Sassurer que les textes chiffrés ne sont pas falsifiés est un problème distinct, qui doit être résolu en utilisant des codes dauthentification de message (MAC), tels que HMAC-SHA256. Les raisons pour lesquelles les MAC ne sont généralement pas utilisés pour les algorithmes de chiffrement de disque complet sont (1) des problèmes de performances et (2) lutilisation dun MAC nécessite le stockage dinformations supplémentaires avec le texte chiffré, ce qui rend son ajout transparent un peu délicat.
Un terrain dentente entre les MAC et les diffuseurs serait dutiliser un mode de chiffrement à bloc large, tel que CMC, EME ou HEH. Vous pouvez les considérer comme ayant un diffuseur « intégré », ce qui les rend non malléables. Contrairement au diffuseur de Microsoft, ces algorithmes ont des définitions de sécurité formelles et des preuves mathématiques évaluées par des pairs. Ils sont sécurisés dans lhypothèse où AES est sécurisé. Microsoft a choisi de ne pas les utiliser en raison de (1) problèmes de performances et (2) brevets.
Commentaires
- Dans le contexte du chiffrement de disque simple Les MAC ne sont pas ' assez bons. Vous ' aurez besoin dun hashtree avec une racine authentifiée.
- merci pour cette excellente réponse !!! cela rendait tout clair … 5 *****
- Cela ne fonctionnait probablement pas ', mais ' t le problème de la malléabilité être résolu en déchiffrant deux fois les mêmes données en utilisant des mots de passe différents et / ou des algorithmes différents? Donc, au lieu dutiliser un algorithme de diffusion non éprouvé, pourquoi ne pas utiliser à nouveau AES éprouvé?
- @Yura Cela dépendra de la façon dont AES est utilisé (XTS par exemple, est généralement construit sur AES). Si vous utilisez le mode CTR-AES deux fois, le résultat ne ' t devient moins malléable (retourner un peu dans le texte chiffré retourne toujours le bit correspondant dans le texte en clair). Si vous utilisez le mode CBC-AES deux fois, vous pouvez toujours faire la même attaque que jai mentionnée dans ma réponse, mais la longueur du " garbage " va doubler. Enfin, utiliser AES dans un mode sécurisé " wideblock " serait à peu près aussi rapide que lune ou lautre de ces solutions, de toute façon. Autant le faire à la place.
- Mise à jour: Windows 10 offre la possibilité dutiliser le mode XTS. Mise à jour encore plus grande / pire: dans Windows 8, Microsoft a SUPPRIMÉ le diffuseur. Ainsi, Windows 8 Bitlocker na même pas le diffuseur '.
Laisser un commentaire