Un meccanismo di incapsulamento delle chiavi (KEM) è un processo crittografico utilizzato per stabilire un secret condiviso tra due parti su un canale non attendibile. Un meccanismo di incapsulamento chiave prevede tre algoritmi principali:
- Generazione delle chiavi: viene generata una coppia di chiavi composta da una chiave pubblica e una chiave privata.
- Incapsulamento: la chiave pubblica viene utilizzata per produrre un segreto condiviso e un testo cifrato corrispondente.
- Decapsulamento: la chiave privata viene utilizzata per recuperare il secret condiviso dal testo cifrato.
I meccanismi di incapsulamento delle chiavi sono un elemento fondamentale per i protocolli di scambio di chiavi e la crittografia a chiave pubblica ibrida (HPKE).
Workflow di incapsulamento e decapsulamento
Di seguito viene descritto il processo di utilizzo di una coppia di chiavi KEM per l'incapsulamento e il decapsulamento dei dati. I due partecipanti a questo flusso di lavoro sono un mittente e un destinatario. Il mittente crea un testo cifrato e un segreto condiviso utilizzando la chiave pubblica del destinatario, mentre il destinatario decripta il testo cifrato utilizzando la propria chiave privata per recuperare il segreto condiviso. Solo chi conosce la chiave privata può decapsulare il testo cifrato per recuperare il secret condiviso originale.
Il mittente recupera la chiave pubblica del destinatario.
Il mittente utilizza la chiave pubblica per eseguire il passaggio di incapsulamento, che genera un secret condiviso e un testo cifrato corrispondente.
Il mittente invia il testo cifrato al destinatario.
Il destinatario utilizza la propria chiave privata per decapsulare il testo cifrato. Il destinatario e il mittente ora hanno lo stesso secret condiviso.
Meccanismi di incapsulamento delle chiavi post-quantistici (PQ-KEM)
I computer quantistici hanno il potenziale per decriptare materiale crittografato da algoritmi crittografici classici come gli algoritmi RSA ed ECDSA ampiamente utilizzati, il che può rendere questo materiale crittografato vulnerabile agli attacchi "store now, decrypt later" (SNDL). In questi attacchi, gli avversari raccolgono i dati crittografati di oggi che utilizzano algoritmi crittografici classici e li archiviano, con l'intenzione di decriptarli in un secondo momento, quando saranno disponibili potenti computer quantistici. I PQ-KEM sono progettati per resistere agli attacchi quantistici, garantendo che i dati crittografati con questi algoritmi oggi rimarranno sicuri anche nell'era quantistica, impedendo la decrittografia futura delle informazioni archiviate oggi.
Cloud Key Management Service supporta ML-KEM-768 e ML-KEM-1024, standardizzati dal NIST in FIPS-203, e X-Wing, un KEM ibrido che combina ML-KEM-768 con X25519. Questi algoritmi hanno i seguenti valori di dimensione (in byte):
| Algoritmo | Chiave pubblica | Testo crittografato | Secret condiviso |
|---|---|---|---|
| ML_KEM_768 | 1184 | 1088 | 32 |
| ML_KEM_1024 | 1568 | 1568 | 32 |
| KEM_XWING | 1216 | 1120 | 32 |
Funzionalità dei KEM di Cloud KMS
Cloud KMS offre le seguenti funzionalità relative ai meccanismi di encapsulamento delle chiavi:
Creazione di una chiave KEM con scopo della chiave
KEY_ENCAPSULATIONe un algoritmo di incapsulamento delle chiavi.Recupero della chiave pubblica per una chiave KEM.
Decapsulamento di un secret condiviso utilizzando la chiave privata per una chiave KEM.
Per l'incapsulamento con le chiavi Cloud KMS, devi utilizzare SDK e strumenti disponibili pubblicamente con la chiave pubblica. Cloud KMS non fornisce funzionalità di incapsulamento.