8. Tassonomia degli algoritmi utilizzati da COSE
In questa sezione viene presentata una tassonomia dei diversi tipi di algoritmi che possono essere utilizzati in COSE. Questa tassonomia non deve essere considerata esaustiva. Verranno creati nuovi algoritmi che non rientreranno in questa tassonomia.
8.1. Algoritmi di firma
Gli algoritmi di firma sono utilizzati per l'autenticazione e la difesa contro le modifiche. Gli algoritmi di firma consistono in una coppia di chiavi: una chiave privata (la chiave di firma) e una chiave pubblica (la chiave di verifica).
8.2. Algoritmi di codice di autenticazione del messaggio (MAC)
Gli algoritmi MAC sono utilizzati per l'autenticazione e la difesa contro le modifiche. Gli algoritmi MAC utilizzano una chiave segreta condivisa. Il generatore e il consumatore possiedono la stessa chiave.
8.3. Algoritmi di crittografia del contenuto
Gli algoritmi di crittografia del contenuto sono utilizzati per proteggere la riservatezza dei dati. Questi algoritmi sono algoritmi di crittografia autenticata (AEAD). Ciò fornisce un controllo dell'integrità dei dati oltre alla riservatezza. L'algoritmo utilizza una chiave, un vettore di inizializzazione (IV) e testo in chiaro, e produce testo cifrato e un tag di autenticazione.
8.4. Funzioni di derivazione della chiave (KDF)
Le funzioni di derivazione della chiave sono utilizzate per generare nuove chiavi basate su un segreto principale.
8.5. Metodi di distribuzione della chiave del contenuto
I metodi di distribuzione della chiave del contenuto sono utilizzati per fornire la chiave di crittografia del contenuto (CEK) a un destinatario.
8.5.1. Crittografia diretta
Questo metodo è utilizzato per i destinatari che possiedono una copia della CEK. Questa può essere una chiave pre-condivisa o una chiave negoziata.
8.5.2. Key Wrap (Avvolgimento della chiave)
Questo metodo è utilizzato quando la CEK viene generata casualmente e quindi crittografata da una chiave posseduta dal destinatario. Questa chiave è chiamata chiave di crittografia della chiave (KEK).
8.5.3. Accordo diretto sulle chiavi
Questo metodo è utilizzato quando viene impiegato un algoritmo di accordo sulle chiavi per generare la CEK. Il segreto condiviso risultante dall'accordo sulle chiavi viene quindi passato attraverso una KDF per derivare la CEK. La chiave pubblica del destinatario e la chiave privata del mittente vengono utilizzate per l'algoritmo di accordo sulle chiavi.
8.5.4. Accordo sulle chiavi con Key Wrap
Questo metodo è utilizzato quando viene impiegato un algoritmo di accordo sulle chiavi per generare una KEK. La CEK viene generata casualmente e crittografata utilizzando la KEK.