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

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

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

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

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

Oracle Integrationは、認証、認可およびTLSを満たすすぐに使用できる機能を提供します。MLEは、OCI Vaultを使用して実現できます。

アーキテクチャ

このリファレンス・アーキテクチャでは、OCI Vaultを使用してOracle Integrationで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で使用できる多数のAPIが用意されています。ボールト・キー管理APIの詳細を参照してください。次に、メッセージ・レベルの暗号化シナリオで一般的に使用されるAPIの一部を示します。

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

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

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



oci-vault-architecture-oracle.zip

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

  • Oracle Integration

    Oracle Integrationは、組織が様々なアプリケーション、サービス、データ・ソース(オンプレミスとクラウドの両方)を統合するのに役立つ包括的なツールとサービス・セットを提供します。Oracle Integrationは、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サービスの制限および割当てを考慮します。詳細は、参照してください。

詳細の参照

詳細は、次のリファレンスを参照してください。

リファレンス・アーキテクチャに記載されているリンク:

APIタイプ:

サービス制限:

その他のリソース:

確認

文書作成者:

  • Harris Qureshi

コントリビュータ:

  • John Sulyok