アーキテクチャ概要
DuoKey PKCS#11 ライブラリが Oracle Database TDE と DuoKey Cockpit クラウド HSM プラットフォームをどのように橋渡しするか。
DuoKey PKCS#11 ライブラリ は、Oracle Database TDE を DuoKey Cockpit プラットフォームに接続する、PKCS#11 (Cryptoki) 標準のソフトウェア実装です。Oracle に対して標準の Cryptoki サーフェスを提示し、各マスターキー操作について、リクエストを HTTPS 経由で Cockpit に転送します。Cockpit はテナントキーストアに対して操作を実行します。この設計は、それぞれが特定の責務を担う明確なレイヤーに整理されています。
Oracle はこのライブラリを TDE マスターキーのパスのみ に使用します。すなわち、キーストアのオープン、SET KEY、およびマスターキーによる表領域キーとテーブルキーのラップ/アンラップです。バルクな表領域データの暗号化は、AES-NI によりハードウェアアクセラレートされ、データベースホスト上の ローカル で完結します。ネットワークを越えるのは、小さなマスターキー操作のみです。
高レベルアーキテクチャ
Oracle Database は標準の PKCS#11 呼び出しを発行し、ライブラリはマスターキー操作を HTTPS 経由で DuoKey Cockpit に転送します。Cockpit はテナントキーストアに対してそれらを実行します。本番環境では、このキーストアは Securosys HSM によって支えられ、開発環境では DuoKey ソフトウェアキーストアが使用されます。マスターキーの素材がプラットフォームから外に出ることは決してありません。
Oracle Database
TDE対応
TDEウォレット
暗号化されたDEK
PKCS#11 Library
libdke_pkcs11.so
構成
pkcs11.toml
Cockpit API
HTTPS リクエスト
認証
access_guid (Bearer)
KMS Service
マスターキー
MPC Storage
FIPS 140-2 L3
各レイヤーは独立しており、置き換え可能です。Oracle 互換性、Cockpit 通信、キー管理が明確に分離されているため、あるレイヤーの変更が他のレイヤーに波及することはありません。
主要コンポーネント
PKCS#11 インターフェイスレイヤー
標準の PKCS#11 (Cryptoki) サーフェスを Oracle に提示します — セッション管理、オブジェクトハンドル、メカニズム処理、属性処理。
DuoKey SDK レイヤー
各 Cryptoki 操作を、単一の access_guid ベアラートークンで認証しつつ HTTPS 経由で DuoKey Cockpit に運びます。シリアライズ、リトライ、エラー変換を伴います。
オブジェクトハンドルマッピング
PKCS#11 の整数オブジェクトハンドルと DuoKey のキー識別子を橋渡しし、動的なルックアップのためにセッションごとのマッピングテーブルを維持します。
暗号メカニズム
Oracle TDE が使用する Cryptoki メカニズム — AES キー生成と、長さを保持する AES-CBC / AES-CBC-PAD のラップパス。
構成システム
pkcs11.toml ファイル(サーバー URL + access_guid)と、オプションの DKE_PKCS11_* 環境変数による上書き — コンテナに適しており、デプロイが簡単です。
通信フロー
エラー変換、リトライロジック、接続再利用を伴うリクエスト/レスポンス処理。
データフロー
典型的な「キーストアを開く → マスターキーをプロビジョニングする → 表領域キーをラップする」というシーケンスは、Oracle からバックエンドキーストアまで、すべてのレイヤーを通って往復します。Cockpit に到達するのはマスターキー操作のみである点に注意してください。表領域のバルクデータは、(アンラップされた)表領域キーを用いてローカルで暗号化されます。
このアーキテクチャのメリット
関心の分離
各レイヤーが 1 つの責務を担います。PKCS#11 レイヤーは Oracle 互換性を、SDK レイヤーは Cockpit 通信を、Cockpit はキー管理を扱います。
スケーラビリティ
複数の同時 Oracle セッション、複数のデータベースインスタンス、高スループットの操作をサポートします。バルクなデータの暗号処理はローカルで完結するため、ネットワークを越えるのはマスターキー呼び出しのみです。
セキュリティ
マスターキーの素材がキーストアから外に出ることはなく、トランスポートは TLS で暗号化され、アクセスはベアラートークンで認証され、すべての操作は Cockpit で監査ログに記録されます。
柔軟性
同じインターフェイスの背後に Securosys HSM または DuoKey ソフトウェアキーストアを配置でき、ファイルと環境変数によるシンプルな構成と、コンテナベースのデプロイが可能です。
すべてのレイヤーを通じて、TDE マスターキーは DuoKey Cockpit キーストア(本番環境では Securosys HSM)の内部で生成、保管、使用されます。ライブラリが交換するのはオブジェクトハンドルとラップされたキーのみであり、生のマスターキー素材が交換されることは決してありません。