OCI Vaultを使用したOracle Integration Cloudでのメッセージレベルの暗号化の実装

メッセージレベル暗号化(MLE)は、転送中にメッセージの機密性と整合性を保護するために使用されるセキュリティー技術です。これには、暗号化アルゴリズムを使用してメッセージの内容をスクランブルし、復号化キーを使用する目的の受信者のみがそれを読み取れるようにする必要があります。

Rest APIはアーキテクチャによってステートレスです。つまり、サーバーはセッションを保持しておらず、クライアントに関する情報もありません。リクエストでは、サーバーが応答できるように、クライアントはすべての情報を送信する必要があります。Rest APIおよびセキュリティを使用する場合は、認証、認可および機密性に重点を置きます。

認証および認可には、APIキー、基本認証、JWTトークンからoAuthまでのプロトコルおよびベスト・プラクティスがあります。機密性を確保するために、トラフィックを暗号化してネットワーク経由で通信を保護するプロセスであるTLS (Transport Level Security)を有効にできます。そのため、ほとんどのRest APIでは、単純なHTTPではなくHTTPSが強制されます。これらはすべて独自の長所と短所を持ち、すぐにOracle Integration Cloudでサポートされています。

ネットワーク・レベルのセキュリティはほとんどの場合に要件を満たしますが、メッセージまたはペイロード・レベルの暗号化を強制する必要がある場合があります(たとえば、個人識別情報(PII)、クレジット・カード番号、銀行口座詳細、医療記録など、機密情報が含まれている場合)。そのため、多くの支払ゲートウェイ(Visa、MasterCard、政府機関)が機密データを含むRest APIにMLEを適用します。

Oracle Integration Cloudには、認証、認可およびTLSを満たす即時利用可能な機能があります。MLEは、OCI Vaultを使用して実現できます。

アーキテクチャ

このリファレンス・アーキテクチャでは、OCI Vaultを使用してOracle Integration CloudでMLEを達成する方法を示します。

OCI Vaultは、暗号化キーおよびシークレットを格納および管理し、リソースに安全にアクセスするための暗号化管理サービスです。これにより、キーの管理や、これらのキーを使用したデータの署名、暗号化および復号化を可能にするAPIが提供されます。

暗号化を使用する場合、データを保護するための2つの基本的なタイプのシステムがあります。

  • 対称暗号化では、暗号化と復号化に同じ(秘密)キーが使用されます。送信者と受信者は、データの暗号化と復号化に使用する秘密鍵が同じである必要があります。つまり、誰かがキーをインターセプトすると、データを復号化できます。
  • 一方、非対称暗号化では、公開キーと秘密キーの2つの異なるキーが使用されます。送信者は、受信者の公開鍵を使用してデータを暗号化し、受信者は秘密鍵を使用してデータを復号化します。秘密鍵は秘密にされ、共有されないため、対称暗号化よりもはるかにセキュアになります。

対称暗号化には速度という利点がありますが、暗号化と復号化の両方に同じキーを使用するため、安全性は低下します。非対称暗号化は低速ですが、復号化に使用される秘密キーは共有されず、受信者のみがアクセスできるため、より安全です。

OCI Vaultでは、これらのキー・シェイプ・アルゴリズムがサポートされています。

キー・シェイプ・アルゴリズム 摘要
Advanced Encryption Standard(AES) AESキーは、データの暗号化に使用できる対称キーです。
Rivest-Shamir-Adleman(RSA) RSA鍵は非対称鍵であり、鍵ペアとも呼ばれます。鍵ペアは、転送中のデータの暗号化、データの署名、および署名されたデータの整合性の検証に使用できる公開鍵と秘密鍵で構成されます。
楕円曲線暗号デジタル署名アルゴリズム(ECDSA) ECDSAキーは、データの署名および署名済データの整合性の検証に使用できる非対称キーです。

対称と非対称の両方を使用する必要がある場合があります。たとえば、顧客がRSA公開キーを共有し、AES秘密キーを生成して使用してデータを暗号化し、ペイロードで送信する顧客のRSA公開キーで秘密キーを暗号化します。顧客はRSA秘密キーを共有していないため、まずAESキーを復号化してからペイロードを復号化することで、データのみを復号化できます。これは、ペイロード・サイズがRSAキーが暗号化できるよりも大きい場合に実行されます。

OCI Vaultでは、独自のマスター暗号化キーをインポートまたは作成できます。インポートしたキー・マテリアルを使用する場合は、OCI Vaultがそのコピーを使用できるようにしながら、引き続きキー・マテリアルを担当します。キーのインポートの詳細は、詳細を参照してください。

OCI Vaultには、Oracle Integration Cloudで使用できる多数のAPIが用意されています。ボールト・キー管理APIの詳細を参照してください。次に、メッセージ・レベルの暗号化シナリオで一般的に使用されるAPIの一部を示します。

API 摘要
暗号化 リクエストの一部として提供された暗号化の詳細を使用してデータを暗号化します。
暗号化解除 リクエストの一部として提供された復号化詳細を使用してデータを復号化します。
署名 非対称キーとも呼ばれる公開- 秘密キー・ペアの秘密キーを使用して、メッセージまたはメッセージ・ダイジェストのデジタル署名を作成します。
検証 データの署名に使用したものと同じ非対称キーの公開キーを使用して、署名操作によって生成されたデジタル署名を検証します。サービス外でデジタル署名を検証する場合は、非対称キーの公開キーを使用して検証できます。

Oracle Integration Cloudで作業していて、リクエストをRest APIに送信する前にペイロードを暗号化する必要がある場合は、OCI Vaultを使用できます。対称暗号化を操作している場合は、AES秘密キーを受け取り、それをOCI Vaultにアップロードし、OCI Vault APIを使用してデータを暗号化し、この暗号化されたデータをRest APIに送信できます。非対称暗号化が必要な場合は、RSA公開キーを受信し、それをOCI Vaultにアップロードし、OCI Vault APIを使用してデータを暗号化し、この暗号化されたデータをRest APIに送信できます。同様に、Oracle Integration CloudのRest APIで暗号化されたペイロードを強制する場合は、キーを作成し、クライアントと共有し、OCI Vault APIを使用してデータを復号化して検証できます。また、非対称暗号化と対称暗号化の両方を使用する必要がある場合は、両方のキーを組み合わせることができます。

次の図は、このリファレンス・アーキテクチャを示しています。



oci-vault-architecture:oracle.zip

アーキテクチャには次のコンポーネントがあります。

  • Oracle Integration Cloud

    Oracle Integration Cloud (OIC)は、組織がオンプレミスとクラウドの両方で様々なアプリケーション、サービス、データ・ソースを統合できるように、包括的なツールとサービスを提供します。OICには、Oracle Fusion、Salesforce、SAP、Workdayなど、広く普及している様々なアプリケーションと統合するための事前構築済のコネクタや、他のアプリケーションやサービスと統合するためのカスタム・コネクタを含む様々な機能があります。また、統合を設計、テストおよびデプロイするための直感的なビジュアル・インタフェースを備えており、ユーザーはコーディング・スキルを必要とせずに複雑な統合ワークフローを簡単に作成できます。

  • Oracle Cloud Infrastructure Vault

    OCI Vaultは、Oracle Cloud Infrastructure (OCI)によって提供される、安全でスケーラブルなキー管理サービスです。OCIリソースおよびアプリケーションを保護するために使用される暗号化キーおよびシークレットを管理するための一元化された場所を提供します。OCI Vaultは、キーの生成とストレージ、キーの安全な配布、暗号化、復号化など、様々な機能を提供します。ユーザーは、独自のキーを管理したり、OCI管理キーを使用できます。ユーザーは、キーを定期的にローテーションして、最大限のセキュリティを確保することもできます。

    OCI Vaultには、ボールトおよびキーを管理するための豊富なRest APIセットも用意されています。

注意事項

このリファレンス・アーキテクチャを実装する場合は、次の点を考慮してください。

  • セキュリティ

    Oracle Cloud Infrastructure Identity and Access Management (IAM)ポリシーを使用して、クラウド・リソースにアクセスできるユーザー、および実行できる操作を制御します。IAMユーザーおよびグループの最小限のアクセス権限をリソース・タイプに割り当てます。

  • サービス制限

    トポロジで使用されるOCIサービスの制限と割当てを検討します。詳細の確認を参照してください。

承認

作成者:

  • Harris Qureshi

コントリビュータ:

  • John Sulyok