2.7. Replace Section 5.2.2 - Encrypted Values (Verschlüsselte Werte)
2.7. Replace Section 5.2.2 - Encrypted Values (Verschlüsselte Werte)
Abschnitt 5.2.2 von [RFC4210] beschreibt die Verwendung von EncryptedValue zum Transport verschlüsselter Daten. Dieses Dokument erweitert die Verschlüsselung von Daten, um vorzugsweise EnvelopedData zu verwenden.
Ersetzen Sie den Text des Abschnitts durch den folgenden Text:
5.2.2. Encrypted Values
Wenn verschlüsselte Daten (in dieser Spezifikation private Schlüssel, Zertifikate oder Widerrufspassphrase) in PKI-Nachrichten gesendet werden, wird die EncryptedKey-Datenstruktur verwendet.
EncryptedKey ::= CHOICE {
encryptedValue EncryptedValue, -- deprecated
envelopedData [0] EnvelopedData }
Siehe Certificate Request Message Format (CRMF) [RFC4211] für die Syntax von EncryptedKey und EncryptedValue und Cryptographic Message Syntax (CMS) [RFC5652] für die EnvelopedData-Syntax. Die Verwendung der EncryptedKey-Datenstruktur bietet die Wahl, entweder EncryptedValue (nur für Abwärtskompatibilität) oder EnvelopedData zu verwenden. Die Verwendung der EncryptedValue-Struktur wurde zugunsten der EnvelopedData-Struktur als veraltet erklärt. Daher wird EMPFOHLEN, EnvelopedData zu verwenden.
Hinweis: Die in CRMF [RFC4211] definierte EncryptedKey-Struktur wird hier wiederverwendet, was die Aktualisierung abwärtskompatibel macht. Die Verwendung der neuen Syntax mit der nicht getaggten Standardauswahl EncryptedValue ist bits-on-the-wire-kompatibel mit der alten Syntax.
Um die Unterstützung für EnvelopedData anzuzeigen, wurde pvno cmp2021 eingeführt. Details zur Verwendung der Protokollversionsnummer (pvno) werden in Abschnitt 7 beschrieben.
Die EncryptedKey-Datenstruktur wird in CMP verwendet, um einen privaten Schlüssel, ein Zertifikat oder eine Widerrufspassphrase in verschlüsselter Form zu transportieren.
EnvelopedData wird wie folgt verwendet:
-
Es enthält nur eine RecipientInfo-Struktur, da der Inhalt nur für einen Empfänger verschlüsselt ist.
-
Es kann einen privaten Schlüssel in der AsymmetricKeyPackage-Struktur enthalten, wie in
[RFC5958]definiert, der in eine SignedData-Struktur eingewickelt ist, wie in Abschnitt 5 von CMS[RFC5652]und[RFC8933]spezifiziert, und von der Schlüsselgenerierungsstelle (Key Generation Authority) signiert wurde. -
Es kann ein Zertifikat oder eine Widerrufspassphrase direkt im encryptedContent-Feld enthalten.
Der Inhalt der EnvelopedData-Struktur, wie in Abschnitt 6 von CMS [RFC5652] spezifiziert, MUSS unter Verwendung eines neu generierten symmetrischen Inhaltsverschlüsselungsschlüssels verschlüsselt werden. Dieser Inhaltsverschlüsselungsschlüssel MUSS dem Empfänger unter Verwendung einer von drei Schlüsselverwaltungstechniken sicher bereitgestellt werden.
Die Wahl der vom Sender zu verwendenden Schlüsselverwaltungstechnik hängt von den beim Empfänger verfügbaren Anmeldeinformationen ab:
-
Zertifikat des Empfängers mit einem Algorithmusidentifikator und einem öffentlichen Schlüssel, der Schlüsseltransport unterstützt, und bei dem jede gegebene Schlüsselverwendungserweiterung keyEncipherment erlaubt: Der Inhaltsverschlüsselungsschlüssel wird unter Verwendung der Schlüsseltransport-Schlüsselverwaltungstechnik geschützt, wie in Abschnitt 6.2.1 von CMS
[RFC5652]spezifiziert. -
Zertifikat des Empfängers mit einem Algorithmusidentifikator und einem öffentlichen Schlüssel, der Schlüsselvereinbarung unterstützt, und bei dem jede gegebene Schlüsselverwendungserweiterung keyAgreement erlaubt: Der Inhaltsverschlüsselungsschlüssel wird unter Verwendung der Schlüsselvereinbarungs-Schlüsselverwaltungstechnik geschützt, wie in Abschnitt 6.2.2 von CMS
[RFC5652]spezifiziert. -
ein Passwort oder gemeinsames Geheimnis: Der Inhaltsverschlüsselungsschlüssel wird unter Verwendung der passwortbasierten Schlüsselverwaltungstechnik geschützt, wie in Abschnitt 6.2.4 von CMS
[RFC5652]spezifiziert.