Oracle Integration Cloud 中使用 OCI Vault 實作訊息層級加密

訊息層次加密 (MLE) 是一種安全技術,可用來保護傳輸期間訊息的機密性和完整性。它牽涉到使用加密演算法來整理訊息的內容,以便只有使用解密金鑰的預期收件者才能讀取訊息。

Rest API 依架構無狀態,表示伺服器未維護階段作業,且沒有用戶端相關資訊。在請求中,用戶端需要傳送所有資訊以允許伺服器回應。使用 Rest API 和安全時,焦點會放在認證、授權及機密性。

為了進行認證和授權,API 金鑰、基本認證、JWT 權杖及 oAuth 有不同的協定和最佳做法。為了機密性,您可以啟用「傳輸層次安全 (TLS)」,這是透過加密流量透過網路保護通訊的程序。這就是大多數 Rest API 強制實行 HTTPS 而非簡單的 HTTP 的原因。所有這些都有專屬的優勝之處,並且由 Oracle Integration Cloud 的立即可用支援。

雖然網路層級安全性符合大多數時間的需求,但有時強制執行訊息或有效負載層級的加密是必要的 (例如,當其包含機密資訊時,例如:個人識別資訊 [PII]、信用卡號碼、銀行帳戶詳細資料、醫療記錄等等)。這就是為什麼許多付款閘道 (Visa、MasterCard、政府機構) 對包含敏感資料的 Rest API 強制執行 MLE。

Oracle Integration Cloud 提供立即可用的功能,可符合認證、授權和 TLS。MLE 可以透過使用 OCI Vault 來達成。

架構

此參考架構示範如何使用 OCI VaultOracle Integration Cloud 中實現 MLE。

OCI Vault 是一種加密管理服務,可儲存及管理加密金鑰和加密密碼,以安全地存取資源。它提供允許管理金鑰的 API,以及使用這些金鑰來簽署、加密及解密資料。

使用加密時,有兩種基本類型的系統可以保護資料。

  • 對稱式加密使用相同 (私密) 金鑰進行加密和解密。寄件者與接收者必須具有相同的秘密金鑰,用來加密和解密資料。這表示如果有人攔截金鑰,就能夠解密資料。
  • 另一方面,非對稱加密使用兩個不同的金鑰:公開金鑰和私密金鑰。寄件者會使用收件者的公開金鑰對資料進行加密,而收件者則使用其私密金鑰進行解密。私密金鑰會保密且不會共用,這比對稱加密還要安全。

對稱式加密的速度較快,但是較不安全,因為它在加密與解密中使用相同的金鑰。對稱式加密雖然較慢,但較為安全,因為用於解密的私密金鑰絕對不會共用,且只能由收件者存取。

OCI Vault 支援這些金鑰形狀演算法。

金鑰型態演算法 摘要
進階加密標準 (AES) AES 金鑰是用來加密資料的對稱金鑰。
Rivest-Shamir-Adleman (RSA) RSA 金鑰為非對稱金鑰 (亦稱為金鑰組),由公開金鑰和私密金鑰組成,可用來加密傳輸中的資料、簽署資料,以及驗證簽署資料的完整性。
橢圓曲線密碼學數位簽章演算法 (ECDSA) ECDSA 金鑰是非對稱金鑰,可用來簽署資料和驗證已簽署資料的完整性。

有時,您需要同時使用對稱和非對稱。例如,客戶與您共用 RSA 公開金鑰;您可以產生並使用 AES 私密金鑰來加密資料;並使用客戶 RSA 公開金鑰加密私密金鑰 (您在有效負載中傳送)。由於客戶並未共用 RSA 私密金鑰,因此只有先將 AES 金鑰解密,然後使用它來解密有效負載 (Payload)。當您的有效負載大小大於 RSA 金鑰可加密時,即可進行加密。

OCI Vault 可讓您匯入或建立自己的主要加密金鑰。當您使用匯入的金鑰資料時,仍需負責金鑰資料,同時允許 OCI Vault 使用它的複本。如需匯入金鑰的資訊,請參閱「瀏覽更多」。

OCI Vault 提供許多 Oracle Integration Cloud 可以使用的 API。如需 Vault 金鑰管理 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 保存庫還提供豐富的 Rest API 來管理保存庫和金鑰。

注意事項

實作此參考架構時,請考量以下各點。

  • 安全

    使用 Oracle Cloud Infrastructure Identity and Access Management (IAM) 原則控管可存取雲端資源的人員,以及可執行的作業。將 IAM 使用者與群組的最低權限存取指派給資源類型。

  • 服務限制

    請考量拓樸中所使用之 OCI 服務的限制和配額。檢視「深入瞭解」。

確認

作者

  • Harris Qureshi

提供者

  • John Sulyok