Passa al contenuto principale

7.3.3. Crittografia simmetrica (Symmetric Cryptography)

7.3.3. Crittografia simmetrica (Symmetric Cryptography)

Questo documento consente di applicare sia crittografia asimmetrica sia simmetrica ai messaggi HTTP. Per loro natura, i metodi crittografici simmetrici richiedono che lo stesso materiale di chiave sia noto sia al firmatario sia al verificatore. Ciò significa effettivamente che un verificatore è capace di generare una firma valida, poiché ha accesso allo stesso materiale di chiave. Un attaccante in grado di compromettere un verificatore potrebbe quindi impersonare un firmatario.

Ove possibile, dovrebbero essere usati metodi asimmetrici o meccanismi sicuri di accordo sulle chiavi per evitare questo tipo di attacco. Quando si usano metodi simmetrici, la distribuzione del materiale di chiave deve essere protetta dal sistema nel suo insieme. Una tecnica è l'uso di moduli crittografici separati che separano il processo di verifica (e quindi il materiale di chiave) da altro codice, minimizzando la superficie di attacco vulnerabile. Un'altra tecnica è l'uso di funzioni di derivazione delle chiavi che consentono a firmatario e verificatore di concordare chiavi uniche per ogni messaggio senza dover condividere direttamente i valori delle chiavi.

Inoltre, se algoritmi simmetrici sono consentiti in un sistema, occorre particolare cura per evitare attacchi di downgrade della chiave (Sezione 7.3.6).