Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Convergence & attaque par confirmation e1c4

La clé est une fonction déterministe et publique du contenu. Donc on peut deviner un fichier et vérifier sa présence — sans rien déchiffrer.

Comme la transformation clair → chiffré est fixe et publique (on ne mise jamais sur le secret de l’algorithme), n’importe qui possédant un fichier candidat peut recalculer lui-même son chiffré, puis vérifier s’il existe dans le stockage. C’est l’attaque par confirmation de fichier, et elle ne demande aucun déchiffrement.

Pire cas — faible entropie Quand le contenu possible est petit ou prévisible (un modèle de document où seul varie un salaire, une config qui n'est qu'une des N versions connues, un chunk d'en-tête plein de zéros), l'attaquant n'a même pas besoin de détenir le fichier : il énumère toutes les valeurs candidates et trouve la correspondance.

C’est un résultat prouvé : le chiffrement convergent — formalisé sous le nom de message-locked encryption par Bellare, Keelveedhi & Ristenpart — n’offre de confidentialité que pour des messages imprévisibles. Solide pour des données réellement uniques ; quasi nul pour tout ce qui est devinable.

Toutes ces attaques ont besoin d’un oracle — un moyen de tester « ce chiffré existe-t-il ? ». Or un client stateless en fournit un par construction : sans index local, il doit demander « as-tu déjà X ? » avant d’uploader. Et même le simple fait que l’upload soit sauté trahit l’existence (canal auxiliaire documenté par Harnik et al., 2010).