11. Security Considerations (Considerazioni sulla sicurezza)
Tutti i problemi di sicurezza pertinenti a qualsiasi applicazione crittografica sono rilevanti per gli agenti JWS/JWE/JWK. Questi problemi includono la protezione delle chiavi private asimmetriche e delle chiavi segrete simmetriche dell'utente e l'impiego di contromisure contro vari attacchi.
Tutte le considerazioni sulla sicurezza nella specifica JWS si applicano anche a questa specifica. Allo stesso modo, tutte le considerazioni sulla sicurezza in XML Encryption 1.1 [W3C.REC-xmlenc-core1-20130411] si applicano anche, ad eccezione di quelle specifiche di XML.
11.1 Key Entropy and Random Values (Entropia della chiave e valori casuali)
Vedere la sezione 10.1 di [JWS] per le considerazioni sulla sicurezza relative all'entropia delle chiavi e ai valori casuali. Oltre agli usi dei valori casuali elencati lì, si noti che i valori casuali sono utilizzati anche per le chiavi di crittografia del contenuto (CEK) e i vettori di inizializzazione (IV) durante l'esecuzione della crittografia.
11.2 Key Protection (Protezione della chiave)
Vedere la sezione 10.2 di [JWS] per le considerazioni sulla sicurezza relative alla protezione delle chiavi. Oltre alle chiavi che devono essere protette elencate lì, le implementazioni che eseguono la crittografia devono anche proteggere le chiavi di crittografia delle chiavi e le chiavi di crittografia del contenuto. La compromissione di una chiave di crittografia delle chiavi può portare alla compromissione di tutti i contenuti protetti con quella chiave. Allo stesso modo, la compromissione di una chiave di crittografia del contenuto può portare alla compromissione del contenuto crittografato associato.
11.3 Using Matching Algorithm Strengths (Utilizzo di forze algoritmiche corrispondenti)
Gli algoritmi di forze corrispondenti dovrebbero essere utilizzati insieme quando possibile. Ad esempio, quando AES Key Wrap viene utilizzato con una determinata dimensione di chiave, si raccomanda di utilizzare AES GCM con la stessa dimensione di chiave se anch'esso viene utilizzato. Se gli algoritmi di crittografia delle chiavi e di crittografia del contenuto sono diversi, la sicurezza effettiva è determinata dal più debole dei due algoritmi.
Vedere anche RFC 3766 [RFC3766] per informazioni sulla determinazione delle forze per le chiavi pubbliche utilizzate per lo scambio di chiavi simmetriche.
11.4 Adaptive Chosen-Ciphertext Attacks (Attacchi adattivi con testo cifrato scelto)
Durante la decrittografia, deve essere prestata particolare attenzione per non consentire che il destinatario JWE venga utilizzato come oracolo per decrittografare i messaggi. RFC 3218 [RFC3218] dovrebbe essere consultato per contromisure specifiche agli attacchi su RSAES-PKCS1-v1_5. Un attaccante potrebbe modificare il contenuto del parametro di intestazione "alg" da "RSA-OAEP" a "RSA1_5" al fine di generare un errore di formattazione che può essere rilevato e utilizzato per recuperare la CEK anche se la CEK è stata crittografata utilizzando RSAES-OAEP. È quindi particolarmente importante segnalare tutti gli errori di formattazione, chiave di crittografia del contenuto, dati autenticati aggiuntivi o testo cifrato come un singolo errore quando il contenuto crittografato viene rifiutato.
Inoltre, questo tipo di attacco può essere prevenuto restringendo l'uso di una chiave a un insieme limitato di algoritmi - tipicamente uno. Ad esempio, ciò significa che, se una chiave è contrassegnata come destinata solo a "RSA-OAEP", qualsiasi tentativo di decrittografare un messaggio utilizzando quella chiave con l'algoritmo "RSA1_5" dovrebbe fallire immediatamente a causa dell'uso non valido della chiave.
11.5 Timing Attacks (Attacchi temporali)
Per mitigare gli attacchi descritti in RFC 3218 [RFC3218], il destinatario non deve (MUST NOT) distinguere tra errori di formato, riempimento e lunghezza sulla chiave di crittografia. Si raccomanda vivamente che, alla ricezione di una chiave malformata, il destinatario sostituisca una CEK generata casualmente e proceda al passaggio successivo, per mitigare gli attacchi temporali.