27 votes

Pourquoi utiliser un Non-Aléatoire IV avec le Mode CBC une vulnérabilité?

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

Quelles mesures de sécurité sont les avantages d'une étude randomisée iv? Est-ce encore un problème avec un "Idéal de Chiffrement par Bloc"? (Une parfaite sécurité de chiffrement par bloc, sans faiblesses.)

67voto

erickson Points 127945

Prévisible IVs peuvent être exploitées par des choisi de texte brut.

Prétendre que Eve est un DBA à une compagnie d'assurance. La société recueille des antécédents médicaux de la part des bénéficiaires qui incluent beaucoup de vrai/faux les cases à cocher des conditions médicales. Cette société produit aussi sa propre fournisseur d'assurance de santé. Eve se rend compte qu'Alice pourrait être l'objet d'un chantage si elle peut découvrir que Alice est particulièrement gênant condition médicale. Toutefois, la valeur dans chacun de ces champs est crypté, donc, même si Eve est l'administrateur de la base, elle n'a accès au texte chiffré.

Dans la CBC, le IV est XORed (noté par "⊕" ci-dessous) avec le texte, puis exécutez à travers l'algorithme de chiffrement par bloc: C1 = Ek(IV ⊕ P1).

Depuis Eve est un bénéficiaire de la compagnie d'assurance, elle peut choisir la forme de texte brut pour son propre dossier médical, et depuis qu'elle est administrateur de base de données, elle peut examiner de quelqu'un texte chiffré. En plus de l'utilisation prévisible IVs, la bâclée développeur de l'application a fait un mauvais travail de la validation de la demande d'intrants. Si Eve ne peut prédire l'IVs qui sera appliquée à son (IVeve) et Alice (IValice) documents à l'avance, elle peut choisir la forme de texte brut pour son propre record comme ça: Peve = IVeve ⊕ IValice ⊕ "false"

L'application crypte cette plaine texte comme ceci:

Ceve = Ek(IVeve ⊕ Peve) = Ek(IVeve ⊕ (IVeve ⊕ IValice ⊕ "faux"))

Le IVeve ⊕ IVeve annule, ce qui signifie que Ceve = Ek(IValice ⊕ "false")

Maintenant, Eve peut comparer Ceve et Calice. Si elles sont différentes, elle sait qu'Alice doit avoir entré "true" pour que l'état de santé.

Faire IVs imprévisible déjoue cette attaque, et un moyen facile pour les rendre imprévisible est de choisir au hasard d'après le texte a été fourni.

7voto

berkay Points 1986

je veux expliquer à votre question en utilisant WEP qui est vulnérable et maintenant, d'autres protocoles tels que le protocole WPA2 est utilisé.

la règle est simple IEEE dit que :

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

L'une des raisons que le WEP est compromis, c'est à cause de la raison de génération IV.

alt text

Comme on le voit dans l'image, quand WEP est apparu d'abord la longueur de la IV était de 24 bits (plus tard, il est en hausse de 48 bits) si l'attaquant connaît la façon dont les IV sont générées ou dans cette situation IVs sont suffisamment petits pour que l'attaquant d'exploiter les messages.

Si quelqu'un sait à propos de la génération de la IV ou il chevauche (parce que les IVs sont en 24 bits soit 2^24 IVs) lors de la transmission des paquets de l'attaquant qui est renifler le trafic peut : si les IVs sont séquentiels il signifie encore, il existe une possibilité que les IVs va se faire chevaucher dans un certain temps.

supposons,

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 supposons 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

Ceci peut être cassé en utilisant Aircrack-NG à l'aide de traces réseau. L'idée que j'ai montré est la base d'une plus complexe hypothèse ne peut être faite, encore une fois ne jamais utiliser les mêmes IV qui vont se chevaucher.

4voto

Trisped Points 2571

Les autres réponses sont bonnes, bien que très technique.

Pourquoi utiliser un Non-Aléatoire IV avec le Mode CBC une vulnérabilité?

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

CBC (Cipher Block Chaining) résout ce problème en XORing les données chiffrées de la précédente bock avec les données chiffrées. Cela signifie que les blocs avec les mêmes données seront différentes si les données chiffrées sur le bloc précédent est différent, même si les touches sont les mêmes.

Le problème avec la CBC est quoi faire avec le premier bloc, puisqu'il n'existe pas de bloc précédent pour obtenir les données chiffrées de. Au lieu de cela, les données sont XORed avec un bloc de bits aléatoires, appelé IV (Vecteur d'Initialisation).

Vous pouvez prendre en compte la sécurité de la IV à être la même que la sécurité des données chiffrées blocs. En d'autres termes, si ils peuvent être donnés aux données cryptées puis, ils peuvent également être compte tenu de la IV.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X