Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OCI Vault 概要

OCI Vault 概要

ユーザーの暗号鍵・シークレットをセキュアに集中管理するOCI Vaultの機能概要と

Avatar for oracle4engineer

oracle4engineer PRO

November 18, 2024

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. OCI上での暗号化モデル クライアントサイド・暗号化 Oracleマネージド・暗号化 カスタマーマネージド・暗号化 ユーザーのデータはユーザー自身で事前に 暗号化しておき、OCIへ送信する デフォルトでは、OCIにあるユーザー・データ はOracleマネージドの暗号鍵で暗号化 されている 暗号鍵をユーザー自身で管理することが可能

    ユーザーはその暗号鍵を自身で管理する ことはできない ユーザー自身で用意した暗号鍵をインポート して利用可能 暗号鍵の作成・削除・ローテーション、 バックアップ、モニタリング等の運用管理 暗号鍵は、FIPS140-2 Level 3に準拠した HSMに格納してセキュアに保護 PCIDSS等のコンプライアンス要件に対応 low 3 Copyright © 2026, Oracle and/or its affiliates high
  2. Vault ユーザーの暗号鍵・シークレットをセキュアに集中管理 OCIの各ストレージサービスはデフォルト暗号化 暗号鍵の管理をデフォルトのOracle管理からユーザー自身による管理を実現 • 対応する暗号鍵: AES, RSA, ECDSA ユーザー

    • 暗号鍵の作成・削除、ローテーション、インポート、バージョン管理、モニタリング等 • キー作成や署名等のオペレーションはOCIのAPIを使用 • OCIサービスの各サービスとシームレスに連携 • クロスリージョン・レプリケーション、バックアップ FIPS 140-2 Security Level 3 に準拠したHSMを利用 暗号化 Vault Key A 暗号化 Key B 2種類のVault • Default Vault : 共有パーティション内で仮想的にユーザーのVaultを提供 File Storage シークレット (パスワード、証明書、SSHキー、認証トークン)なども格納可能 4 Copyright © 2026, Oracle and/or its affiliates Block Volume Secret A • Virtual Private Vault : ユーザー専用に完全分離された専用パーティションとして提供 新機能 External KMS、Dedicated KMSの提供 Object Storage コード
  3. Vault の基本要素 Vault 暗号鍵 シークレット ※2026年からはサービスとして独立 Virtual Private Vault Default

    Vault HSM HSM Keys • • • • Software Keys HSM Keys Software Keys ユーザー自身による暗号鍵の管理 (AES, RSA, ECDSA) HSMまたはソフトウェアによるマスター暗号鍵の保護を選択 BYOKのサポート 高い信頼性と冗長化 Object Storage 5 HSM File Storage Block Storage Copyright © 2026, Oracle and/or its affiliates Database System Streaming Kubernetes • Vaultの暗号鍵によってシークレットのストレージを暗号化 • シークレットの安全な格納と取り出し • OCI CLI, REST API, 各種SDK, Terraformの幅広い利用
  4. マスター暗号鍵の保護方式 HSM マスター暗号鍵は、FIPS140-2 Level 3に準拠したHSMに格納 暗号化・復号はHSM内で処理され、鍵がHSM外に出ることはない HSMで保護されたマスター暗号鍵はエクスポート不可 Default Vault (共有HSMパーティション)

    - 各テナントで共有され、トランザクションを最適化 - 無償、10Vaultまで、 1Vaultあたり最大100 キー・バージョン Virtual Private Vault (専用HSMパーティション) - 高い独立性と高速なトランザクションを保証 Protected マスター 暗号鍵 - 有償、1Vaultあたり最大1000 キー・バージョンの格納を保証 - バックアップ、クロスリージョン・レプリケーションのサポート ソフトウェア マスター暗号鍵は、Vaultサーバー内に暗号化され保管 暗号化・復号は、サーバーのCPU/メモリで処理実行される マスター暗号鍵のエクスポートが可能 無償 6 Copyright © 2026, Oracle and/or its affiliates Encrypts/ Decrypts Encrypts/ Decrypts Data Key1 TDE Data Key Secrets Native OCI Storage Database
  5. Dedicated KMS 専用KMS 専用のHSMパーティションとユーザー自身での直接管理が可能 FIPS 140-2 Level 3に準拠したHSM 3つ以上のHSMパーティションから構成されたHSMクラスターで 高可用性とトランザクション性能を向上

    PKCS#11 APIに対応したライブラリを提供 - 暗号化/復号、署名/検証、ダイジェスト関数等 ユーザー管理機能 Crypto Officer (暗号管理者) ユーザー管理 ユーティリティ Crypto User (暗号ユーザー) キー管理 ユーティリティ PKCS#11 Library 暗号化・復号 署名・検証 - Crypto Officer: ユーザーの作成、キーの検索・所有権の転送などの管理業務 - Crypto User: キーの生成、公開キーのエクスポートなどの実運用を行う アプリケーションの暗号化や署名機能に組み込んだ用途に対応 OCIのストレージ・サービスなどのネイティブ・サービスは対応しない 作成可能なキー数は最大3000 7 Copyright © 2026, Oracle and/or its affiliates HSM Cluster HSM Partition HSM Partition HSM Partition Dedicated KMS
  6. External KMS 外部のHSM暗号鍵を参照して使用することが可能 既存HSMと連携することによる暗号鍵の一元化 サポートするHSMは、THALES CipherTrust Manager External KMS •

    対応製品は最新のOracle公式ドキュメントを参照 参照できる暗号鍵は、AES 256のみ 暗号鍵の作成・削除等の管理は、外部HSM側にて行う マスター暗号鍵はOCI側でキャッシュ・保管されることはない 参照可能なキー数は最大100 暗号化・復号 リクエスト THALES CipherTrust Manager HSM 8 Copyright © 2026, Oracle and/or its affiliates HSM HSM
  7. 各Vaultの違い 特徴 9 Default Vault Virtual Private Vault Dedicated KMS

    External KMS 無償でHSMを使用できる 基本のVaultサービス 専用パーティションによりセキュア かつ安定した暗号処理パフォー マンスを提供 専用パーティションによりセキュア かつ安定した暗号処理パフォー マンスを提供 外部HSMの暗号鍵と連携した 暗号処理サービス Default Vaultでは不足する リソース確保、レプリケーションに よる可用性が必要な用途向け PKCS#11の標準ライブラリを使用 したアプリケーションなど、より HSMネイティブの機能が必要な 用途向け 既存のHSMを有効活用する 用途向け 対応するOCIサービスの 暗号化 各Storage Service Database Cloud Service等 各Storage Service Database Cloud Service等 × 各Storage Service Database Cloud Service等 キーの制限 100 key versions 1000 key versions 3000 keys 100 key versions HSMパーティション 共有 占有 占有 外部HSMに依存 バックアップ × 〇 〇 外部HSMに依存 クロスリージョン・レプリケーション 〇 〇 × N/A HSM内のコントロール × × 〇 外部HSMに依存 API OCI CLI, SDK OCI CLI, SDK PKCS#11 OCI CLI, SDK 価格 最初の20キー・バージョン無料 以降1キー・バージョンあたり ¥83/月 1 Vaultあたり ¥577/時間 1 KMS(3パーティション)あたり ¥813/時間 1キー・バージョンあたり ¥465/月 Copyright © 2026, Oracle and/or its affiliates
  8. サポートするアルゴリズム 共通鍵暗号: AES 128/192/256 非対称鍵 : RSA 2048/3072/4096, ECDSA NIST

    P-256/NIST P-384/NIST P-521 10 アルゴリズム 鍵サイズ 暗号化/復号 デジタル署名 AES 128 / 192 / 256 bit Yes No RSA 2048 / 3072 / 4096 bit Yes Yes ECDSA NIST P-256 / P-384 / P-521 No Yes Copyright © 2026, Oracle and/or its affiliates
  9. 公開鍵を用いた暗号及びデジタル署名のフロー 暗号化・復号 復号 暗号化 送信者 平文データ 公開鍵 暗号化 データ 秘密鍵

    平文データ 受信者 デジタル署名 で真正性を確認 受信者 デジタル署名 署名検証 署名 送信者 11 メッセージ ダイジェスト Copyright © 2026, Oracle and/or its affiliates 秘密鍵 デジタル署名 公開鍵
  10. マスター暗号鍵とデータ暗号鍵の違い Vault 2階層で管理する暗号鍵 • データ暗号鍵 は実際のユーザーデータを暗号化する • マスター暗号鍵 はデータ暗号鍵を暗号化する •

    IAMポリシーはマスター暗号鍵のアクセスを制御する • OCI Auditは、マスター暗号鍵の管理業務を監視 階層構造のメリット • 多数のデータ暗号鍵を、マスター暗号鍵によって一元的に 保護・管理 • 暗号鍵の漏洩時におけるリソースの影響範囲を制限 • 暗号鍵のローテーション時には、データ暗号鍵を再生成する 必要がない 12 Copyright © 2026, Oracle and/or its affiliates マスター 暗号鍵 Policies Data Key1 Data Key2 Data Key3 Data Key1 Data Key2 Data Key3 Block Storage Object Storage File Storage Auditing
  11. 例)Object Storageにおける暗号化・復号のフロー 暗号化プロセス 復号プロセス 平文 データ 2 1 平文データを 暗号鍵を使用

    して暗号化する 13 データ暗号鍵のリクエスト Vault Data Key マスター 暗号鍵 Data Key 4 Policies Data Key Buckets Copyright © 2026, Oracle and/or its affiliates Vaultは データ暗号鍵と 暗号化された データ暗号鍵の 両方を送信 7 Data Key 8 暗号化済み暗号化鍵 3 Object Storage 暗号化された データと暗号化 済み暗号化鍵を バケットに格納 ID & Access Management 平文 データ マスター暗号鍵は 生成もしくはインポートする 6 Object Storage Data Key 5 FIPS 140-2 Level 3 Data Key Buckets
  12. マスター暗号鍵のインポート: BYOK (Bring Your Own Key) ユーザー自身で用意したマスター暗号鍵をインポート • AES, RSAはインポート可能

    • ECDSAはインポート不可 インポートする鍵は、Vaultが提供するRSA公開ラッピング鍵を 使用して事前にラッピングする Oracleは、インポートされた暗号鍵にアクセスできない 新たな暗号鍵を使用して鍵のローテーションが可能 Vault User Private Vault Object Storage Key A Key B Block Volume BYOK File Storage 14 Copyright © 2026, Oracle and/or its affiliates
  13. データベース暗号化(TDE)のマスター暗号鍵を保管 Oracle Databaseの暗号化(TDE)のマスター暗号鍵のデフォルトは PKCS#12形式のキーストア・ファイルとしてストレージに格納されている キーストアからVaultに格納先を変更することが可能。逆はできない Autonomous Databases、BaseDB、ExaDB-Dに対応 Vault管理にすることのメリット - マスター暗号鍵の運用管理をオラクル管理からユーザー管理に

    - FIPS 140-2 Level 3に準拠したセキュアな鍵管理 - 各表領域暗号鍵を 暗号化/復号 コンプライアンス要件対応 ExaDB-Dの場合、PDB単位でマスター暗号鍵が異なる Oracle Keystore ADB-Dの場合、AD単位でマスター暗号鍵が異なる リストア時の運用要件を満たすかを要検討 - 別リージョンにリストアする場合は、クロスリージョン・レプリケーションが必要 15 Copyright © 2026, Oracle and/or its affiliates 表領域暗号鍵 Vault マスター暗号鍵 表領域
  14. OCI CLI コマンド例 暗号化 oci kms crypto encrypt -- key-id

    マスター暗号鍵OCID -- plaintext 平文データ(Base64, 最大4K) -- endpoint 暗号エンドポイント -encryption-algorithm 暗号アルゴリズム(AES_256_GCM, RSA_OAEP_SHA_1, RSA_OAEP_SHA_256) 復号 oci kms crypto decrypt -- key-id マスター暗号鍵OCID -- ciphertext 暗号データ -- endpoint 暗号エンドポイント --encryption-algorithm 暗号アルゴリズム(AES_256_GCM, RSA_OAEP_SHA_1, RSA_OAEP_SHA_256) マスター暗号鍵からデータ暗号鍵の生成 (AESのみ) oci kms crypto generate-data-encryption-key --key-id マスター暗号鍵OCID --include-plaintext-key (true/false) --endpoint Vaultの暗号エンドポイント --key-shape 暗号アルゴリズム マスタ暗号鍵のインポート oci kms management key import --wrapped-import-key RSAで暗号化したマスター暗号鍵 --compartment-id コンパートメントOCID -display-name マスター鍵名 --endpoint 暗号エンドポイント --key-shape キーの暗号アルゴリズム 18 Copyright © 2026, Oracle and/or its affiliates
  15. OCI CLI コマンド例 デジタル署名 oci kms crypto signed-data sign --key-id

    マスター暗号鍵OCID --message メッセージダイジェスト --signing-algorithm 署名アルゴリズム --endpoint 暗号エンドポイント デジタル署名検証 oci kms crypto verified-data verify --key-id マスター暗号鍵OCID --message メッセージダイジェスト --signing-algorithm 署名アルゴリズム --endpoint 暗号エンドポイント –signature デジタル署名(デジタル署名時に生成される) --key-version-id 暗号鍵OCID (デジタル署名時に生成される) 19 Copyright © 2026, Oracle and/or its affiliates
  16. Oracle Cloudだけでなく暗号鍵ソリューションとしてVaultを利用 データ暗号鍵の作成~使用~監視 データ暗号鍵の作成 • oci kms crypto generate-data-encryption-key --key-id

    マスター暗号鍵OCID --include-plaintext-key true --endpoint Vaultの暗号エンドポ イント --key-shape 暗号アルゴリズム AES 256bit データ暗号鍵の作成 • oci kms crypto generate-data-encryption-key ¥ --key-id ocid1.key.oc1.iad.bbpadvkaaacuu.abuwcljts3naex25mzgigkabghvlf45paa65hssuibn7p67zlzfhtui5lxxx ¥ --include-plaintext-key false ¥ --endpoint https://bbpadvkaaacuu-crypto.kms.us-ashburn-1.oraclecloud.com ¥ --key-shape "{¥"algorithm¥": ¥"AES¥", ¥"length¥": 32}" 実行結果 "data": { “ciphertext”: “IUjJ6Oknos1iAN6wCOkAux8JrO4SiWWI8++VGV6ugAAAAA=xxxxxxxxxx”, -->データ暗号鍵(マスタ暗号鍵で暗号済み) “plaintext”: “UL9uLGEjfEaxPbiQHCCf8i5O5+4//uXsRKz9vrrm2xxx ”, --> データ暗号鍵(平文) ※暗号処理で使用し、使用後に破棄 "plaintext-checksum": "599189376" } 20 Copyright © 2026, Oracle and/or its affiliates
  17. Oracle Cloudだけでなく暗号鍵ソリューションとしてVaultを利用 データ暗号鍵の作成~使用~監視 • OpenSSLで作成したファイルを暗号化する場合 暗号化にはデータ暗号鍵(平文)を使用する openssl aes-256-cbc -e -in

    test.txt -out enctest.txt -pass pass: UL9uLGEjfEaxPbiQHCCf8i5O5+4//uXsRKz9vrrm2xxx 暗号化した後は、暗号化ファイルとデータ暗号鍵(マスタ暗号鍵で暗号済み)の両方を保存しておく。データ暗号鍵(平文)は保存しない • OpenSSLで作成したファイルを復号する場合 復号には、データ暗号鍵(マスタ暗号鍵で暗号済み) をデータ暗号鍵(平文)に戻す必要がある。そのために、Vaultのマスター暗号鍵を使って復号する oci kms crypto decrypt --key-id マスター暗号鍵ID -- ciphertext データ暗号鍵 --endpoint Vaultの暗号エンドポイント oci kms crypto decrypt ¥ --key-id ocid1.key.oc1.iad.bbpadvkaaacuu.abuwcljts3naex25mzgigkabghvlf45paa65hssuibn7p67zlzfhtui5lqta ¥ --ciphertext " IUjJ6Oknos1iAN6wCOkAux8JrO4SiWWI8++VGV6ugAAAAA=xxxxxxxxxx " ¥ --endpoint https://bbpadvkaaacuu-crypto.kms.us-ashburn-1.oraclecloud.com • OpenSSLで暗号化ファイルを復号する openssl aes-256-cbc -d -in enctest.txt -out dectest.txt -pass pass:UL9uLGEjfEaxPbiQHCCf8i5O5+4//uXsRKz9vrrm2xxx 21 Copyright © 2026, Oracle and/or its affiliates
  18. FAQ 可用性: SLA 99.9%, SLO 99.99% Vaultは、リージョナルサービスとして提供。内部的に各ADに複製が作成される On-PやDB on IaaSのOracle

    DatabaseでHSMに格納したい場合は、Oracle Key Vault(オンプレミス製品)を使用する マスター暗号鍵のローテーションは、バージョンとして過去の鍵も保管されるため、既に暗号されたデータへの影響はない また、ローテーション後は、最新の鍵が暗号/復号処理に使用される マスター暗号鍵が危殆化してしまった場合、強制的にデータの再暗号を実施し、危殆化した鍵を削除しなければならない Vault及び暗号鍵の削除実行後は、デフォルト30日間 取り消しが可能 猶予期間を過ぎた削除プロセス完了後は、暗号化されたデータには永久にアクセスできない Default Vaultは、バックアップはできない 26 Copyright © 2026, Oracle and/or its affiliates
  19. シークレットとは? シークレットとは、ユーザー名やパスワード、APIに アクセスするためのAPIキー、証明書、SSHキーといった 各リソースにアクセスするための機密情報 多くのサービス = 多くの認証情報 = 多くのシークレット 認証情報が増えると、利便性を優先した安全でない

    管理が行われるリスクが高まる ソースコードや設定ファイル、コンテナイメージ等に 認証情報をハードコーディング 認証情報をメールやチャットツール(Slack等)で共有 シークレットの管理は、最も手軽で効果的な セキュリティ対策 27 Copyright © 2026, Oracle and/or its affiliates
  20. Vaultのシークレット管理 セキュア 手軽さ 自動化 • セキュアなデータベースに 暗号化され格納 • TLS通信の強制 •

    IAMによる粒度の細かい アクセスコントロール • OCI Monitoring、Logging等による 監視 • 一元化されたロケーションと管理 APIの提供 • どこにシークレットを 保存しているか覚える必要は ない • 25KBまでのデータを格納 • 無償 • スケーラブル 28 Copyright © 2026, Oracle and/or its affiliates • プログラムによる自動化のために CLI , SDK, Terraformを提供 • バージョン管理の自動化
  21. アプリケーションでのシークレット利用例 アプリケーションは、Vaultに アクセスし、シークレットID(Secret OCID)からシーク レットを取得 シークレット(例えば、ユーザ名・パスワード・接続文 字列等)を使い、データベースにアクセスする OCIの監査ログ、ログおよびメトリックを活用して、 シークレットの操作・利用状況を監視 DBのパスワードを変更する場合、シークレットの値

    も変更が必要 (シェルスクリプト、Functions、SDK 等で自動化可) Application Secrets 1. Secret OCIDからシークレットを取得 2. データベースの認証情報 3. 取得した認証情報を使って接続し、クエリー実行 4. クエリーの結果 29 Copyright © 2026, Oracle and/or its affiliates Database
  22. OCI CLI コマンド例 シークレット作成 oci vault secret create-base64 --compartment-id コンパートメントID

    --secret-name シークレット名 --vault-id ボールトID -key-id キーID --secret-content-content シークレット値 シークレット値の取得 oci secrets secret-bundle get --secret-id シークレットID --query 'data."secret-bundle-content".content' --raw-output シークレット更新 (新規バージョン作成) oci vault secret update-base64 --secret-id シークレットID --secret-content-content シークレット値 シークレット削除 oci vault secret schedule-secret-deletion --secret-id シークレットID ※シークレット値は、Base64エンコードを事前にしておくことが必要 30 Copyright © 2026, Oracle and/or its affiliates
  23. ユース・ケース 暗号鍵 • コンプライアンス要件上、データ暗号化の暗号鍵の管理 をサービスベンダーでなく、ユーザー自身で管理することが 必須、または推奨されている • コンプライアンス要件上、定期的な暗号鍵の変更が求め られている •

    コンプライアンス要件上、暗号鍵をHSMに格納することが 推奨されている • HSMの利用の場合、 FIPS 140-2 Level 3への準拠が金融 や公共・ヘルスケアといったシステムではデファクトスタン ダードとして求められる • 31 シークレット • バッチやアプリケーション内でデータベースの ユーザー名・パスワード、接続文字列といった 接続情報を直接ハードコーディングすることを 禁止したい • クラウドリソースのユーザー名やパスワード、 SSHキーなどをメールやチャットツールなどで 気軽に共有してしまう運用を廃止したい • Terraformやコンテナ等のインフラの自動化管理ジョブの中に できる限り機微な情報を含めたくない • だれが、いつ、どこからシークレットにアクセスしたのか、特定す るための監視手段が必要 • シークレットの有効期限を設定したい データの暗号化やデジタル署名のクラウド基盤 Copyright © 2026, Oracle and/or its affiliates
  24. 価格 暗号鍵 シークレット Default Vault 無償 デフォルト 5,000 シークレット 共有パーティションとして提供

    10Vaultまで使用可 テナントあたり20キー・バージョンまで無償、以降1キー・バージョン ごとに(¥83) ※新規キー作成は、1キー・バージョンとしてカウント キーのローテーションは、1キー・バージョンとしてカウント Virtual Private Vault HSM内にユーザー専用のパーティションを提供し、仮想HSM と同等の分離レベルを提供 1 Vaultあたり最大 1000キーまで格納可能 1 Vaultあたり: (¥577/hour) ※上記のVaultではなく、ソフトウェア保護キーの場合は制限なく無償 32 Copyright © 2026, Oracle and/or its affiliates 1シークレット 最大60バージョン(アクティブ30 +削除保留30) 1シークレット 最大25KB 100000 Write APIコール/月 無制限 Read APIコール/月