8. Security Considerations (Considerazioni sulla sicurezza)
Punti chiave di sicurezza
8.1 Selezione della chiave
- Utilizzare chiavi di lunghezza sufficiente
- Seguire i requisiti di dimensione della chiave specifici dell'algoritmo
- RSA: Minimo 2048 bit
- HMAC: Almeno la stessa dimensione dell'output dell'hash
8.2 Generazione di numeri casuali
- Utilizzare generatori di numeri casuali crittograficamente sicuri
- Garantire un'entropia sufficiente
8.3 Selezione dell'algoritmo
- Dare priorità agli algoritmi raccomandati
- Evitare algoritmi obsoleti o con debolezze note
- RSA1_5 ha una vulnerabilità di attacco Bleichenbacher
8.4 Protezione dagli attacchi temporali
- La verifica HMAC utilizza il confronto a tempo costante
- Evitare la fuga di informazioni temporali
8.5 Avviso sull'algoritmo "none"
- Non accettare JWS non sicuri per impostazione predefinita
- Utilizzare solo quando esplicitamente necessario
- Le implementazioni devono (MUST) richiedere l'abilitazione esplicita
8.6 Gestione delle chiavi
- Proteggere adeguatamente le chiavi private e simmetriche
- Utilizzare meccanismi di distribuzione delle chiavi appropriati
- Considerare strategie di rotazione delle chiavi
8.7 Considerazioni sulla cifratura
- Utilizzare la cifratura autenticata
- Validare l'AAD (Additional Authenticated Data) (Dati autenticati aggiuntivi)
- Gestire correttamente i vettori di inizializzazione
Raccomandazioni di implementazione:
- Mantenere aggiornate le librerie e le implementazioni degli algoritmi
- Seguire le più recenti best practice di sicurezza
- Esaminare regolarmente gli avvisi di sicurezza e gli errata