Oracle de padding Padding oracle, oracle de bourrage
Si le système vous dit que le bourrage (padding) était faux, il vient de vous en dire assez pour déchiffrer le message entier.
Serge Vaudenay a montré en 2002 qu'un système qui révèle si le bourrage d'un message chiffré en CBC est valide se comporte comme un oracle. L'attaquant soumet des textes chiffrés modifiés et lit la réponse ; à raison d'environ 256 essais par octet, le texte clair se reconstitue à rebours, sans le moindre accès à la clé.
L'oracle n'a pas besoin d'être un message d'erreur. Une différence de temps de réponse suffit — ce qu'a exploité Lucky Thirteen en 2013 —, tout comme n'importe quelle distinction entre deux erreurs censées être génériques. POODLE a fait tomber SSL 3.0 de la même manière en 2014. Le remède : authentifier le texte chiffré avant toute tentative de déchiffrement — chiffrer puis authentifier (encrypt-then-MAC), ou un mode AEAD qui s'en charge à votre place.