Pourquoi utiliser un Non-Random IV avec CBC Mode une vulnérabilité?

Je comprends le but d’un IV. Plus précisément, en mode CBC, ceci garantit que le premier bloc de 2 messages chiffrés avec la même clé ne sera jamais identique. Mais pourquoi est-ce une vulnérabilité si les IV sont séquentiels? Selon CWE-329, NON-Random IV permet la possibilité d’une attaque par dictionnaire. Je sais que, dans la pratique, des protocoles tels que WEP ne font aucun effort pour cacher le IV. Si l’attaquant a le message texte IV et un message texte chiffré, cela ouvre la porte à une attaque par dictionnaire contre la clé. Je ne vois pas comment une iv aléatoire change cela. (Je sais que les attaques contre wep sont plus complexes que cela.)

Quel avantage en matière de sécurité un iv aléatoire a-t-il? Est-ce toujours un problème avec un “Ideal Block Cipher”? (Un chiffrement de bloc parfaitement sécurisé sans aucune faiblesse possible.)

Les IV prévisibles peuvent être exploités par le texte brut choisi.

Prétendre qu’Eve est DBA dans une compagnie d’assurance. La société recueille des antécédents médicaux auprès des bénéficiaires, qui incluent de nombreuses cases à cocher vraies / fausses au sujet des conditions médicales. Cette entreprise arrive également à son propre fournisseur d’assurance maladie. Eve se rend compte qu’Alice pourrait être victime de chantage si elle peut découvrir qu’Alice a une condition médicale particulièrement embarrassante. Toutefois, la valeur de chacun de ces champs est chiffrée. Par conséquent, même si Eve est l’administrateur de firebase database, elle n’a access qu’au texte chiffré.

Dans CBC, l’IV est XORed (noté par “⊕” ci-dessous) avec le texte brut, puis parcourez le chiffre de bloc: C 1 = E k (IV ⊕ P 1 ).

Eve étant bénéficiaire de la compagnie d’assurance, elle peut choisir le texte en clair pour son propre dossier médical, et comme elle est DBA, elle peut examiner le texte chiffré de toute personne. En plus d’utiliser des IV prévisibles, le développeur d’applications n’a pas réussi à valider les entrées de l’application. Si Eve peut prédire à l’avance les IVs qui seront appliquées à ses enregistrements ( veille IV) et à ceux d’Alice ( Alice alice ), elle peut choisir le texte en clair pour son propre enregistrement comme ceci: ”

L’application crypte ce texte comme ceci:

C eve = E k (IV eve ⊕ P eve ) = E k (IV eve ⊕ (IV eve ⊕ IV alice ⊕ “faux”))

La veille IV ve IV s’annule, ce qui signifie que C eve = E k (IV alice false “faux”)

Maintenant, Eve peut comparer C eve et C alice . S’ils sont différents, elle sait qu’Alice a dû entrer “vrai” pour cette condition médicale.

Rendre les IV imprévisibles contrecarre cette attaque, et un moyen facile de les rendre imprévisibles est de les choisir au hasard après avoir fourni le texte brut.

Je veux expliquer votre question en utilisant WEP qui est vulnérable et maintenant, d’autres protocoles tels que WPA2 sont utilisés.

la règle simple IEEE dit que:

La règle de base est de ne jamais utiliser une clé + IV deux fois, jamais

L’une des raisons pour lesquelles le WEP est compromis est la raison de la génération IV.

texte alt

Comme on le voit sur l’image, lorsque WEP est apparu pour la première fois, la longueur de l’IV était de 24 bits (plus tard, il est augmenté de 48 bits) si l’attaquant sait comment le IV est généré ou dans cette situation messages.

Si quelqu’un connaît la génération de l’IV ou qu’il se chevauche (parce que les IV sont 24 bits, cela signifie 2 ^ 24 IV) pendant la transmission des paquets l’attaquant qui sniffe le trafic peut: si les IV sont séquentielles, cela signifie qu’il y a encore une possibilité que les IV se chevauchent dans un certain temps.

assumons,

 passphrase key Kp initialization vector Ivi plaintext data D1, D2 (for separateblocks) Traffic Key:Kti=Kp||Ivi Ciphertext: E(Kti,Di)=RC4(Kti) xor Di 

et supposer que

 IV1=IV2 (created sequentially and from 0 to 2^24 again returns back) 

L’attaquant a,

 (RC4(Kt1) xor D1) Xor (RC4(Kt1) xor D2) = D1 XOR D2 

Cela peut être cassé en utilisant Aircrack-NG en utilisant des traces de réseau. L’idée que j’ai montrée est que l’hypothèse de base la plus complexe peut être faite, encore une fois jamais utiliser la même IV qui se chevauchent.

Les autres réponses sont bonnes mais très techniques.

Pourquoi utiliser un Non-Random IV avec CBC Mode une vulnérabilité?

Lorsque vous cryptez des données avec une clé, si les données et la clé sont identiques (n’ont pas changé), les données cryptées seront les mêmes. Si les données cryptées sont identiques, alors des ensembles de données cryptées peuvent être analysés pour rechercher des modèles qui peuvent ensuite être utilisés pour acquérir des connaissances sur les données cryptées.

CBC (Cipher Block Chaining) résout ce problème en effectuant un XORAGE des données chiffrées du bock précédent avec les données à chiffrer. Cela signifie que les blocs avec les mêmes données seront différents si les données cryptées du bloc précédent sont différentes, même si les clés sont les mêmes.

Le problème avec CBC est de savoir quoi faire avec le premier bloc, car il n’y a pas de bloc précédent pour récupérer les données cryptées. Au lieu de cela, les données sont XOR avec un bloc de bits aléatoires appelé IV (vecteur d’initialisation).

Vous pouvez considérer que la sécurité de l’IV est identique à la sécurité des blocs de données chiffrés. En d’autres termes, s’ils peuvent recevoir les données chiffrées, ils peuvent également recevoir les données IV.