Ein Key Encapsulation Mechanism (KEM) ist ein kryptografisches Verfahren, mit dem ein gemeinsames Secret zwischen zwei Parteien über einen nicht vertrauenswürdigen Kanal erstellt wird. Ein Schlüsselkapselungsmechanismus umfasst drei Hauptalgorithmen:
- Schlüsselgenerierung: Es wird ein Schlüsselpaar generiert, das aus einem öffentlichen Schlüssel und einem privaten Schlüssel besteht.
- Kapselung: Der öffentliche Schlüssel wird verwendet, um ein gemeinsames Secret und einen passenden Chiffretext zu erzeugen.
- Entkapselung: Der private Schlüssel wird verwendet, um das gemeinsame Secret aus dem Chiffretext wiederherzustellen.
Schlüsselkapselungsmechanismen sind ein grundlegender Baustein für Schlüsselaustauschprotokolle und Hybrid Public Key Encryption (HPKE).
Workflow für Kapselung und Entkapselung
Im Folgenden wird beschrieben, wie ein KEM-Schlüsselpaar zum Ein- und Auskapseln von Daten verwendet wird. Die beiden Teilnehmer in diesem Workflow sind ein Absender und ein Empfänger. Der Absender erstellt mithilfe des öffentlichen Schlüssels des Empfängers einen Geheimtext und ein gemeinsames Secret. Der Empfänger entschlüsselt dann den Geheimtext mit seinem privaten Schlüssel, um das gemeinsame Secret abzurufen. Nur Personen, die den privaten Schlüssel kennen, können den Chiffretext entkapseln, um das ursprüngliche gemeinsame Secret abzurufen.
Der Absender ruft den öffentlichen Schlüssel des Empfängers ab.
Der Absender verwendet den öffentlichen Schlüssel, um den Kapselungsschritt auszuführen. Dadurch werden ein gemeinsames Secret und ein entsprechender Geheimtext generiert.
Der Absender sendet den daraus entstandenen Geheimtext an den Empfänger.
Der Empfänger verwendet seinen privaten Schlüssel, um den Chiffretext zu entpacken. Der Empfänger und der Absender haben jetzt dasselbe gemeinsame Secret.
Post-Quanten-Schlüsselkapselungsmechanismen (PQ-KEM)
Quantencomputer können Material entschlüsseln, das mit klassischen Verschlüsselungsalgorithmen wie den weit verbreiteten RSA- und ECDSA-Algorithmen verschlüsselt wurde. Dadurch kann solches verschlüsseltes Material anfällig für SNDL-Angriffe („store now, decrypt later“) sein. Bei solchen Angriffen sammeln Angreifer die verschlüsselten Daten von heute, die klassische Verschlüsselungsalgorithmen verwenden, und speichern sie, um sie später zu entschlüsseln, wenn leistungsstarke Quantencomputer verfügbar sind. PQ-KEMs sind so konzipiert, dass sie gegen Quantenangriffe resistent sind. So wird sichergestellt, dass mit ihnen verschlüsselte Daten auch im Quantenzeitalter sicher bleiben und eine zukünftige Entschlüsselung der heute gespeicherten Informationen verhindert wird.
Cloud Key Management Service unterstützt ML-KEM-768 und ML-KEM-1024, die vom NIST in FIPS-203 standardisiert wurden, sowie X-Wing, ein hybrides KEM, das ML-KEM-768 mit X25519 kombiniert. Diese Algorithmen haben die folgenden Größenwerte (in Byte):
| Algorithmus | Öffentlicher Schlüssel | Geheimtext | Gemeinsames Secret |
|---|---|---|---|
| ML_KEM_768 | 1184 | 1088 | 32 |
| ML_KEM_1024 | 1568 | 1568 | 32 |
| KEM_XWING | 1216 | 1120 | 32 |
Cloud KMS-KEM-Funktionen
Cloud KMS bietet die folgenden Funktionen in Bezug auf Schlüsselkapselungsmechanismen:
KEM-Schlüssel erstellen mit dem Schlüsselzweck
KEY_ENCAPSULATIONund einem Schlüsselkapselungsalgorithmus.Abrufen des öffentlichen Schlüssels für einen KEM-Schlüssel.
Wenn Sie Cloud KMS-Schlüssel verwenden möchten, müssen Sie öffentlich verfügbare SDKs und Tools mit dem öffentlichen Schlüssel verwenden. Cloud KMS bietet keine Kapselungsfunktionen.