7.5.5. Attaques de canonicalisation
7.5.5. Attaques de canonicalisation
Toute ambiguïté dans la génération de la base de signature pourrait donner à un attaquant un levier pour substituer ou briser une signature sur un message. Certaines valeurs de composants de message, en particulier les valeurs de champs HTTP, sont potentiellement sensibles à des implémentations défectueuses pouvant conduire à un comportement inattendu et non sûr. Des implémentations naïves de cette spécification pourraient traiter les champs HTTP en prenant la valeur unique d’un champ et en l’utilisant comme valeur de composant directe sans traitement approprié.
Par exemple, si le traitement des valeurs de champ obs-fold ne supprime pas le repli de ligne interne et les espaces blancs, des sauts de ligne supplémentaires pourraient être introduits dans la base de signature par le signataire, offrant un point d’appui potentiel pour une attaque par collision de signature (section 7.3.1). À l’inverse, si les champs d’en-tête qui apparaissent plusieurs fois ne sont pas fusionnés en une seule valeur de chaîne, comme l’exige cette spécification, des attaques similaires sont possibles, car une valeur de composant signée apparaîtrait plus d’une fois dans la base de signature et pourrait être substituée ou attaquée de cette façon.
Pour s’en prémunir, l’algorithme complet de traitement des valeurs de champ doit être implémenté par toutes les implémentations des signataires et des vérificateurs.