web-dev-qa-db-fra.com

Comment une réinitialisation nonce permet-elle le déchiffrement?

Je suis sûr que la plupart des amateurs d'InfoSec ont entendu parler de KRACK . Si ce n'est pas le cas, consultez cette excellente explication par un collègue StackExchanger .

C'est une nouvelle attaque contre WPA2 qui permet le déchiffrement et la falsification de paquets dans certains (et certainement beaucoup d'entre eux) scénarios en abusant d'une faille dans la poignée de main à 4 voies.

En lisant le document de recherche , je ne comprends toujours pas pourquoi cette attaque est possible. J'ai compris comment nous pouvons abuser de la retransmission du message 3 lors d'une poignée de main à 4 pour forcer la réinstallation des clés.

Pourquoi la réinstallation des clés (ou plus spécifiquement une réinitialisation nonce du client) permet-elle le déchiffrement ou la falsification?

35
FMaz

Cela est dû au fait de pouvoir déterminer le flux de clés pour une clé et un nonce donnés lorsque vous pouvez obtenir la réutilisation des deux et que le flux contient des informations prévisibles.

Dans de nombreux chiffres, une clé est utilisée pour produire une série de uns et de zéros qui sont xor'd avec les données pour produire une valeur chiffrée. Cette chaîne de uns et de zéros est connue sous le nom de flux de clés. Si vous êtes en mesure de réutiliser un nonce et que le flux de clés n'est pas modifié en fonction du contenu des blocs de texte en clair précédents, vous pouvez rechercher des paquets connus qui apparaîtront dans le contenu. Lorsque ces paquets connus se produisent, vous verrez un schéma prévisible se produire et vous pourrez déterminer que vous connaissez cette partie du flux de clés.

En répétant le processus, vous pouvez éventuellement acquérir de plus en plus de connaissances sur le flux de clés, puis lire ou manipuler tout ce qui se trouve sur une partie connue du flux de clés. RC4 est EXTRÊMEMENT vulnérable à la réutilisation nonce car c'est un pur flux de clés xor'd. De même, les modes CTR d'AES seront extrêmement sensibles. AES CBC-MAC sera un peu moins impacté, mais une réinitialisation constante des clés pourrait potentiellement contourner le chaînage en raison de toujours utiliser le même ensemble de blocs initiaux, de sorte qu'une fuite d'informations serait toujours possible, en particulier pour l'attaquant truquant un nouveau client où la course ne sera pas un facteur.

20
AJ Henderson