Zum Hauptinhalt springen

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 verwendet ausschließlich den AES-Pfad

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.

Keinen expandierenden Envelope auf dem TDE-Pfad verwenden

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_PAD wendet PKCS#7-Padding automatisch an; CKM_AES_CBC erwartet 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-OperationMechanismusHinweise
MasterschlüsselgenerierungCKM_AES_KEY_GEN256 Bit, CKA_LABEL wie z. B. TDE-MASTER-<date>; Wrap/Unwrap aktiviert
Table-Key-Wrap / -UnwrapCKM_AES_CBC_PADLängenerhaltend; wrappt den Table Encryption Key unter dem Masterschlüssel
Tablespace-Key-Wrap / -UnwrapCKM_AES_CBC_PADLä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​