メインコンテンツまでスキップ

概要

DuoKey は、標準の PKCS#11 インターフェイスを介して Oracle Transparent Data Encryption (TDE) と統合します。これにより、Oracle は TDE マスター暗号化キーをデータベースサーバー上のローカルウォレットファイルではなく、DuoKey に保管して使用します。Oracle から見ると、DuoKey は 外部 HSM キーストア として認識されます。マスターキーは堅牢な境界内に存在し、データベースホスト上に置かれることは決してありません。

Cockpit v2

この概要では、現行の Cockpit v2 統合について説明します。実践的な手順については はじめに を、構成リファレンスについては PKCS#11 プロバイダー構成 (pkcs11.toml) を参照してください。

Oracle TDE とは​

Oracle Transparent Data Encryption は、Oracle Database のテーブルおよび表領域内の機密データを保存時に暗号化します。これにより、PCI DSS、HIPAA、GDPR などのプライバシーおよびセキュリティ要件への対応を支援します。

主な機能​

  • 透過的暗号化: アプリケーションを変更することなく、保存データを暗号化します
  • 列暗号化: 特定の機密列を暗号化します
  • 表領域暗号化: 表領域全体を透過的に暗号化します
  • バックアップ保護: RMAN による暗号化バックアップ

TDE のキー管理における課題​

従来のアプローチ: ローカルウォレット保管​

デフォルトでは、Oracle TDE はマスター暗号化キーをデータベースサーバー上のウォレットファイルに保持します。攻撃者がホストへの特権アクセスを取得した場合、ウォレット(したがってマスターキー)が漏洩します。また、バックアップ、ローテーション、監査もサーバーごとに手動で行う必要があります。

最新のアプローチ: 外部 HSM キーストア​

代わりに、Oracle は PKCS#11 経由でアクセスする外部 HSM キーストアに TDE マスターキーを保管できます。DuoKey を利用すると、次の利点が得られます。

  • 物理的なキーの分離 — マスターキーがデータベースサーバー上に置かれることはありません
  • セキュアな境界内での操作 — ラップ/アンラップは DuoKey 内で実行され、キーのバイト列がエクスポートされることはありません
  • 多数のデータベースにわたる一元的なキー管理
  • Cockpit 内でのすべてのキー操作の 完全な監査証跡
  • オンラインでのキーローテーション とライフサイクル管理

マスターキーの保護方法​

Oracle のキーストアタイプは HSM です。DuoKey Cockpit の背後で、マスターキーはテナントのボールト/HSM に保持されます。DuoKey の信頼の基点は マルチパーティ計算 (MPC) KMS であり、ハードウェアによるキー管理については、DuoKey はスイスのパートナーであり FIPS 140-2 Level 3 認証を取得した Securosys HSM と提携しています。Oracle から見れば、これは単なる HSM キーストア (WRL_TYPE = HSM) であり、MPC および HSM の詳細はすべて DuoKey 側で処理されます。

HSM パートナー

DuoKey のハードウェアによるキー管理は Securosys HSM によって提供されます。

統合チェーン​

Oracle が Cockpit と直接通信することはありません。Oracle は DuoKey PKCS#11 プロバイダー(Linux では libdke_pkcs11.so、Windows では dke_pkcs11.dll)をロードし、各マスターキー操作を Cockpit v2 プロキシエンドポイントへの単一の HTTPS 呼び出しに変換します。プロキシはテナントのボールト/HSM に対して操作を実行します。

Oracle Database (ADMINISTER KEY MANAGEMENT …)
│ PKCS#11 — master-key path only
▼
DuoKey PKCS#11 provider (libdke_pkcs11.so / dke_pkcs11.dll)
│ HTTPS — one request per Cryptoki operation
▼
DuoKey Cockpit (v2 proxy endpoint)
│ generate / wrap / unwrap under the master key
▼
Tenant vault / HSM (Securosys HSM in production)
バルク暗号処理はローカルで完結

DuoKey が関与するのは マスターキーのパス のみです。すなわち、キーストアのオープン、SET KEY、および表領域キーのラップ/アンラップです。Oracle はすべてのバルクなテーブルおよび表領域の AES 暗号化を、ハードウェア (AES-NI) を用いて自ら実行するため、通常のワークロードのスループットは影響を受けません。

TDE のキー階層​

マスターキー

TDEマスター暗号化キー (KEK)

DuoKey KMSに保存

AES-256
暗号化 · マスター → データキー
データ暗号化キー
表領域暗号化キー (DEK)

Oracle Databaseに暗号化して保存

テーブル暗号化キー (DEK)

Oracle Databaseに暗号化して保存

暗号化 · データキー → アプリケーションデータ
アプリケーションデータ

アプリケーションデータ

データベースファイル内で保存時に暗号化されたデータ

TDE マスター暗号化キー (MEK)

  • DuoKey の HSM キーストアに保持される AES-256 キーです
  • テーブルおよび表領域キーのラップ/アンラップに使用されます
  • セキュリティ管理者によって管理され、平文でエクスポートされることはありません

テーブルおよび表領域キー (DEK)

  • 暗号化されてデータベースに保管され、暗号化されたテーブルまたは表領域ごとに 1 つずつ存在します
  • Oracle によって自動的に管理されます
  • DuoKey に保持される MEK によってラップ/アンラップされます

認証モデル​

Cockpit v2 は、単一の access_guid ベアラートークン でプロバイダーを認証します。このトークンはプロキシの server_url に埋め込まれ、pkcs11.toml ファイルに記載されます。OAuth2、クライアント ID/シークレット、ユーザー名/パスワード、テナントヘッダーはいずれも使用されません。テナントは (app_id, access_guid) のペアからサーバー側で解決されます。PKCS#11 プロバイダー構成 (pkcs11.toml) を参照してください。

主な特長​

セキュアなキー保管​

  • マスターキーは DuoKey の HSM キーストアに保持され、本番環境では Securosys HSM によって支えられます
  • マスターキーのバイト列がバックエンドから外に出ることはなく、CKA_VALUE は Oracle に対して拒否されます
  • 改ざんが検知可能なキー操作

透過的な運用​

  • アプリケーションの変更は不要です
  • RAC、Data Guard、RMAN を含む Oracle Database の機能と互換性があります

一元的な管理​

  • 単一の Cockpit から多数のデータベースのキーを管理します
  • キーのライフサイクルとローテーションの自動化
  • アプリごとの完全な監査証跡

マスターキーのライフサイクル​

マスターキーは、Cockpit で Oracle TDE アプリがプロビジョニングされる際に作成されます(初期の AES-256 アクティブキー)。ローテーションでは新しいキーがアクティブになり、以前のキーは 無効化されますが保持されます。これにより、古いマスターキーでラップされた表領域キーは引き続き復号可能です。

キー生成

マスターキーを作成

DuoKey KMS内
キーローテーション

定期的なローテーション

6~12か月
キーバックアップ

ウォレットバックアップ

災害復旧

メリット​

セキュリティチームにとって​

  • 職務の分離: DBA はデータベースを管理し、セキュリティ管理者はキーを管理します
  • 規制コンプライアンス: PCI DSS、HIPAA、GDPR の要件への対応を支援します
  • 一元的な制御 と リスクの低減 — キーがデータベースホスト上に置かれることはありません

データベース管理者にとって​

  • Oracle RAC、Data Guard、RMAN との 互換性
  • パフォーマンス: バルク暗号化は AES-NI を用いてローカルで完結し、DuoKey を呼び出すのはマスターキーのパスのみです
  • Cockpit が生成するデプロイバンドルによる 運用の簡素化

組織にとって​

  • 一元管理による コスト効率
  • スケーラビリティ: 新しいデータベースを個別のアプリとして追加できます
  • 将来性: 標準ベースの PKCS#11 インターフェイス

サポートされる Oracle バージョン​

Oracle 11g R2+Patch 18948524
Oracle 12c12.1 / 12.2
Oracle 18c完全サポート
Oracle 19c長期サポート
Oracle 21cイノベーションリリース
Oracle 23ai最新バージョン
Oracle 11g の要件

Oracle 11g R2 では、パッチ 18948524 が適用されていることを確認してください。

デプロイメントシナリオ​

単一インスタンススタンドアロンDB
Oracle RACクラスタ化されたDB
Data GuardDR/スタンバイ
マルチテナントCDB + PDBs

エンタープライズデータベースの統合​

多数の Oracle データベースの TDE キーを、統一されたポリシーと自動ローテーションによって一元的に管理します。

クラウド移行​

BYOK アプローチを用いてデータベースをクラウドプロバイダーに移行する際にも、暗号化キーの制御を維持します。

規制コンプライアンス​

外部 HSM キーストアと包括的な監査証跡により、厳格なコンプライアンス要件を満たします。

暗号化オプション​

列暗号化

選択的暗号化

  • 特定の列のみ
  • SALT/NO SALTオプション
  • 5~15%のオーバーヘッド
  • インデックスの制限
クレジットカード、SSN
表領域暗号化

推奨される方式

  • 表領域全体
  • より優れたパフォーマンス
  • 2~5%のオーバーヘッド
  • インデックスへの影響なし
本番データベース
RMAN Backups

暗号化されたバックアップ

  • 自動暗号化
  • 透過的なリストア
  • キーが必要
  • パフォーマンスへの影響なし
バックアップ保護

パフォーマンス特性​

参考値

以下の数値は、ハードウェア、ワークロード、ネットワーク、トポロジーに依存する 参考目標値 です。キャパシティプランニングの根拠とする前に、必ずご自身の環境でベンチマークを実施してください。

  • バルク暗号化: Oracle が AES-NI を用いてローカルで実行します。DuoKey へのマスターキーのパスは行レベルのデータパスには含まれません
  • 列暗号化: 暗号化された列について 5〜15% のオーバーヘッド
  • 表領域暗号化: 多くのワークロードで 2〜5% のオーバーヘッド
  • マスターキー操作: キーストアのオープン、SET KEY、ローテーションのみが DuoKey に到達します

システム要件​

Oracle Database​

  • サポートされる Oracle Database のバージョン(11g R2 から 23ai まで)
  • Oracle Advanced Security オプションのライセンス
  • DuoKey Cockpit ホストへのネットワーク接続 (HTTPS)

DuoKey​

  • DuoKey Cockpit v2 へのアクセス
  • Oracle Linux 8 / glibc 2.28 向けにビルドされた DuoKey PKCS#11 プロバイダーライブラリ
  • Oracle TDE アプリとそのデプロイバンドル

オペレーティングシステム​

  • Linux: Oracle Linux 8 を推奨
  • プロバイダーライブラリは、プラットフォームの glibc に一致している必要があります。はじめに を参照してください

はじめに​

Oracle TDE を DuoKey と統合する準備はできましたか。

  1. はじめに — Cockpit v2 のクイックスタート
  2. インストールガイド — 概念と全体像の把握
  3. PKCS#11 プロバイダー構成 — pkcs11.toml リファレンス

セキュリティに関する考慮事項​

キーの保護​

  • マスターキーが平文で DuoKey の外に出ることはありません
  • 本番環境では Securosys HSM によって支えられます
  • セキュアなキー生成

アクセス制御​

  • Cockpit におけるロールベースアクセス制御 (RBAC)
  • DBA とセキュリティ管理者の間での職務の分離
  • アプリごとの単一の access_guid ベアラートークン。サーバー側でテナントに解決されます

ネットワークセキュリティ​

  • すべての通信に対する TLS(デフォルトで verify_tls = true)
  • Cockpit ホストへの HTTPS を許可するファイアウォールルール

サポート​

ベンダードキュメントの参照​

Oracle 公式ドキュメント​

DuoKey リソース​