Passa al contenuto principale

7.5.5. Attacchi di canonicalizzazione (Canonicalization Attacks)

7.5.5. Attacchi di canonicalizzazione (Canonicalization Attacks)

Qualsiasi ambiguità nella generazione della base della firma potrebbe dare a un attaccante leva per sostituire o rompere una firma su un messaggio. Alcuni valori di componenti del messaggio, in particolare i valori dei campi HTTP, sono potenzialmente suscettibili a implementazioni difettose che potrebbero portare a comportamenti inaspettati e non sicuri. Implementazioni ingenui di questa specifica potrebbero implementare l'elaborazione dei campi HTTP prendendo il singolo valore di un campo e usandolo come valore del componente diretto senza elaborarlo appropriatamente.

Ad esempio, se la gestione dei valori di campo obs-fold non rimuove il line folding interno e lo spazio bianco, potrebbero essere introdotti newline aggiuntivi nella base della firma dal firmatario, offrendo un potenziale punto per un attaccante per montare un attacco di collisione della firma (Sezione 7.3.1). In alternativa, se i campi di intestazione che compaiono più volte non sono uniti in un'unica stringa di valore, come richiesto da questa specifica, possono essere montati attacchi simili, poiché un valore di componente firmato apparirebbe nella base della firma più di una volta e potrebbe essere sostituito o altrimenti attaccato in questo modo.

Per contrastare ciò, l'intero algoritmo di elaborazione del valore del campo deve essere implementato da tutte le implementazioni di firmatari e verificatori.