Kryptografische Mechanismen
Die DuoKey-PKCS#11-Bibliothek stellt einen Standardsatz von Cryptoki-Mechanismen bereit. Diese Seite beschreibt die für Oracle TDE relevanten Mechanismen, die beteiligten Schlüsselgrößen und — besonders wichtig — welchen Mechanismus Oracle TDE auf dem Masterschlüssel-Wrap-Pfad verwenden muss.
Oracle TDE nutzt nur die Mechanismen zur AES-Schlüsselgenerierung und zum Wrap / Unwrap (Encrypt / Decrypt). Die Bibliothek ist ein universeller Cryptoki-Provider und annonciert für andere DuoKey-Integrationen auch RSA- und EC-Mechanismen, doch Oracle TDE verwendet diese für den Masterschlüssel nie. Der TDE-Master-Encryption-Key ist immer AES-256.
Überblick
Symmetrische Verschlüsselung
AES-CBC und AES-CBC-PAD — der Wrap-Mechanismus für Oracle TDE
PKCS#11-Mechanismen: CKM_AES_CBC, CKM_AES_CBC_PAD
Auf dem Oracle-TDE-Masterschlüsselpfad werden die Tablespace- und Table-Keys mit einem längenerhaltenden AES-CBC / AES-CBC-PAD-Mechanismus unter dem Masterschlüssel gewrappt und entpackt. Dies ist der Mechanismus, auf den sich Oracle TDE stützt, und er muss längenerhaltend sein.
Warum die Längenerhaltung entscheidend ist:
Oracles SET KEY-Operation erwartet, dass der entpackte Schlüssel exakt die Größe hat, die er beim Wrappen hatte. AES-CBC (mit blockausgerichteter Eingabe) und AES-CBC-PAD erhalten die Schlüsselgröße, sodass der gespeicherte Schlüssel-Blob korrekt hin- und zurückwandert.
Ein expandierender AES-GCM-Envelope — der einen IV und ein Authentifizierungs-Tag anhängt — verändert die Länge des gespeicherten Schlüssel-Blobs. Auf dem Oracle-TDE-Wrap-Pfad beschädigt dies den von Oracle gespeicherten Tablespace-Key und löst Folgendes aus:
ORA-00600: internal error code, arguments: [kcbtse_populate_tbskey_1]
Der authentifizierte AES-GCM-Envelope-Modus wird nur als Fallback für Nicht-TDE-Aufrufer angeboten, die opake Blobs speichern. Er darf für Oracle TDE niemals ausgewählt werden.
Merkmale:
- Blockgröße: 128 Bit (16 Byte)
- IV: erforderlicher Initialisierungsvektor
- Padding:
CKM_AES_CBC_PADwendet PKCS#7-Padding automatisch an;CKM_AES_CBCerwartet blockausgerichtete Eingaben - Operationen: unterstützt sowohl einteilige (
C_Encrypt/C_Decrypt) als auch mehrteilige (C_EncryptUpdate/C_EncryptFinal) Formen
AES-GCM (wird von Oracle TDE nicht verwendet)
PKCS#11-Mechanismus: CKM_AES_GCM
AES-GCM ist ein authentifizierter Verschlüsselungsmodus, der Vertraulichkeit und Integrität bietet (mit einem IV, optionalen zusätzlichen authentifizierten Daten und einem Authentifizierungs-Tag). Da er den Ciphertext expandiert, ist er für den Oracle-TDE-Key-Wrap-Pfad ungeeignet (siehe Warnhinweis oben) und bleibt ausschließlich als Fallback für Nicht-TDE-Aufrufer reserviert.
Schlüsselgenerierung
AES-Schlüsselgenerierung
PKCS#11-Mechanismus: CKM_AES_KEY_GEN
Unterstützte Schlüsselgrößen:
- 128 Bit (16 Byte)
- 192 Bit (24 Byte)
- 256 Bit (32 Byte) — von Oracle TDE verwendet
Oracle-TDE-Verwendung:
- Master Encryption Key (MEK): 256-Bit-AES-Schlüssel. Oracles Master-Encryption-Keys sind immer AES-256.
- Table- und Tablespace-Keys: werden von Oracle generiert und mittels AES-CBC-PAD unter dem Masterschlüssel gewrappt.
RSA- und ECC-Schlüsselgenerierung (wird von Oracle TDE nicht verwendet)
Die Bibliothek annonciert außerdem CKM_RSA_PKCS_KEY_PAIR_GEN (2048 / 3072 / 4096 Bit) und CKM_EC_KEY_PAIR_GEN (P-256 / P-384 / P-521) für andere DuoKey-Integrationen. Oracle TDE verwendet für den Masterschlüssel weder RSA noch ECC.
Zusammenfassung der Oracle-TDE-Verwendung
| TDE-Operation | Mechanismus | Hinweise |
|---|---|---|
| Masterschlüsselgenerierung | CKM_AES_KEY_GEN | 256 Bit, CKA_LABEL wie z. B. TDE-MASTER-<date>; Wrap/Unwrap aktiviert |
| Table-Key-Wrap / -Unwrap | CKM_AES_CBC_PAD | Längenerhaltend; wrappt den Table Encryption Key unter dem Masterschlüssel |
| Tablespace-Key-Wrap / -Unwrap | CKM_AES_CBC_PAD | Längenerhaltend; wrappt den Tablespace-Key unter dem Masterschlüssel |
Die Bytes des Masterschlüssels sind sensitiv: C_GetAttributeValue gibt niemals CKA_VALUE zurück (die Anfrage wird mit CKR_ATTRIBUTE_SENSITIVE abgelehnt), sodass das Masterschlüsselmaterial den Backend-Keystore nie verlässt.
Sicherheitsüberlegungen
Schlüsselgrößen
- AES: 256 Bit ist der Oracle-TDE-Standard und die empfohlene Wahl.
IV-Verwaltung
- Verwenden Sie für jede Wrap-Operation einen frischen, zufälligen IV.
- Passen Sie die IV-Länge an die AES-Blockgröße an (16 Byte).
- Speichern Sie den IV zusammen mit dem gewrappten Schlüssel.
- Verwenden Sie einen IV niemals mit demselben Schlüssel erneut.
Leistungsüberlegungen
- Tablespace-Massendaten werden lokal auf dem Datenbank-Host verschlüsselt und durch die AES-NI-Instruktionen der CPU hardwarebeschleunigt — sie überqueren das Netzwerk nicht.
- Masterschlüssel-Operationen (Generieren, Wrap, Unwrap) sind klein und selten; nur diese werden an das DuoKey Cockpit übertragen.
- Objekt-Handles werden pro Session zwischengespeichert, um wiederholte Lookups zu vermeiden.
Anderswo genannte Durchsatzwerte sind Richtwerte, keine durch Benchmarks belegten Garantien.
Nächste Schritte
- PKCS#11-Schnittstellenschicht → - Sehen Sie, wie Mechanismen Oracle bereitgestellt werden
- Kommunikationsfluss → - Verstehen Sie den Operationsablauf
- Konfiguration → - Erfahren Sie, wie der Provider konfiguriert wird