Passa al contenuto principale

2.7. Replace Section 5.2.2 - Encrypted Values (Valori crittografati)

2.7. Replace Section 5.2.2 - Encrypted Values (Valori crittografati)

La Sezione 5.2.2 di [RFC4210] descrive l'uso di EncryptedValue per trasportare dati crittografati. Questo documento estende la crittografia dei dati per utilizzare preferibilmente EnvelopedData.

Sostituire il testo della sezione con il seguente testo:

5.2.2. Encrypted Values

Quando i dati crittografati (in questa specifica, chiavi private, certificati o passphrase di revoca) vengono inviati nei messaggi PKI, viene utilizzata la struttura dati EncryptedKey.

EncryptedKey ::= CHOICE {
encryptedValue EncryptedValue, -- deprecated
envelopedData [0] EnvelopedData }

Vedere Certificate Request Message Format (CRMF) [RFC4211] per la sintassi di EncryptedKey e EncryptedValue e Cryptographic Message Syntax (CMS) [RFC5652] per la sintassi di EnvelopedData. L'utilizzo della struttura dati EncryptedKey offre la scelta di utilizzare EncryptedValue (solo per compatibilità all'indietro) o EnvelopedData. L'uso della struttura EncryptedValue è stato deprecato a favore della struttura EnvelopedData. Pertanto, si RACCOMANDA di utilizzare EnvelopedData.

Nota: La struttura EncryptedKey definita in CRMF [RFC4211] viene riutilizzata qui, il che rende l'aggiornamento retrocompatibile. L'utilizzo della nuova sintassi con la scelta predefinita non etichettata EncryptedValue è compatibile bit per bit sul filo con la vecchia sintassi.

Per indicare il supporto per EnvelopedData, è stato introdotto pvno cmp2021. I dettagli sull'uso del numero di versione del protocollo (pvno) sono descritti nella Sezione 7.

La struttura dati EncryptedKey viene utilizzata in CMP per trasportare una chiave privata, un certificato o una passphrase di revoca in forma crittografata.

EnvelopedData viene utilizzato come segue:

  • Contiene solo una struttura RecipientInfo perché il contenuto è crittografato solo per un destinatario.

  • Può contenere una chiave privata nella struttura AsymmetricKeyPackage, come definito in [RFC5958], che è avvolta in una struttura SignedData, come specificato nella Sezione 5 di CMS [RFC5652] e [RFC8933], e firmata dall'autorità di generazione delle chiavi (Key Generation Authority).

  • Può contenere un certificato o una passphrase di revoca direttamente nel campo encryptedContent.

Il contenuto della struttura EnvelopedData, come specificato nella Sezione 6 di CMS [RFC5652], DEVE essere crittografato utilizzando una chiave di crittografia del contenuto simmetrica appena generata. Questa chiave di crittografia del contenuto DEVE essere fornita in modo sicuro al destinatario utilizzando una delle tre tecniche di gestione delle chiavi.

La scelta della tecnica di gestione delle chiavi da utilizzare da parte del mittente dipende dalle credenziali disponibili presso il destinatario:

  • certificato del destinatario con un identificatore di algoritmo e una chiave pubblica che supporta il trasporto di chiavi e dove qualsiasi estensione di utilizzo delle chiavi consente keyEncipherment: La chiave di crittografia del contenuto sarà protetta utilizzando la tecnica di gestione delle chiavi di trasporto delle chiavi, come specificato nella Sezione 6.2.1 di CMS [RFC5652].

  • certificato del destinatario con un identificatore di algoritmo e una chiave pubblica che supporta l'accordo di chiavi e dove qualsiasi estensione di utilizzo delle chiavi consente keyAgreement: La chiave di crittografia del contenuto sarà protetta utilizzando la tecnica di gestione delle chiavi di accordo delle chiavi, come specificato nella Sezione 6.2.2 di CMS [RFC5652].

  • una password o segreto condiviso: La chiave di crittografia del contenuto sarà protetta utilizzando la tecnica di gestione delle chiavi basata su password, come specificato nella Sezione 6.2.4 di CMS [RFC5652].