Bases et applications de la cryptographie
Un serveur qui reçoit des données chiffrées en mode CBC renvoyait des erreurs différentes selon que le remplissage était incorrect après déchiffrement ou que le remplissage était correct mais que la vérification du contenu échouait. Quelle affirmation décrit correctement cette situation ?
- AUn attaquant peut envoyer des textes chiffrés modifiés et, en se servant de la différence entre les erreurs comme indice, risque de retrouver le texte clair octet par octet sans connaître la clé
- BLa différence entre les erreurs ne révèle que la longueur du remplissage ; tant que la clé ne fuit pas, le contenu du texte clair lui-même ne peut pas fuiter
- CPasser d'une clé AES-128 à une clé AES-256 supprime le risque que le texte clair soit retrouvé à partir de la différence entre les erreurs
Afficher la réponse et l'explication
Réponse : A. Un attaquant peut envoyer des textes chiffrés modifiés et, en se servant de la différence entre les erreurs comme indice, risque de retrouver le texte clair octet par octet sans connaître la clé
Lors du déchiffrement en mode CBC, inverser un bit d'un bloc de texte chiffré inverse le bit de même position dans le résultat déchiffré du bloc suivant. En envoyant des variantes du dernier octet du bloc précédent et en cherchant une valeur jugée « remplissage correct », un attaquant trouve le dernier octet du texte clair, puis, en répétant l'opération, révèle le texte clair octet par octet. C'est l'attaque par oracle de remplissage (padding oracle), dans laquelle les différences de type d'erreur ou de temps de réponse servent d'indice (l'oracle). La contre-mesure de base consiste à utiliser un chiffrement authentifié comme GCM, ou à vérifier d'abord un MAC joint au texte chiffré et à rejeter uniformément, avant tout déchiffrement, les textes chiffrés falsifiés.
Continuer : 9 autres questions sur Bases et applications de la cryptographie