使用 OCI VaultOracle Integration Cloud 中实施消息级别加密

消息级别加密 (Message-Level Encryption,MLE) 是一种安全技术,用于在传输期间保护消息的机密性和完整性。它涉及使用加密算法来扰乱消息的内容,以便只有目标收件人(使用解密密钥)可以读取消息。

Rest API 按体系结构处于无状态,这意味着服务器不维护会话,没有有关客户机的信息。在请求中,客户机需要发送所有信息以允许服务器响应。使用 Rest API 和安全性时,重点是验证、授权和机密性。

对于验证和授权,存在从 API 密钥、基本验证、JWT 令牌到 oAuth 不同的协议和最佳实践。对于机密性,您可以启用传输级别安全性 (Transport Level Security,TLS),通过加密通信来保护网络通信的过程。这就是大多数 Rest API 强制执行 HTTPS 而不是简单的 HTTP 的原因。所有这些都有自己的优点和缺点,并且由 Oracle Integration Cloud 现成提供支持。

虽然网络级别的安全性在大多数时间都满足要求,但有时需要强制执行消息或有效负载级别加密(例如,当它包含敏感信息时,例如:个人身份信息 [PII]、信用卡号、银行账户详细信息、医疗记录等)。这就是为什么许多支付网关(Visa、MasterCard、政府实体)对包含敏感数据的 Rest API 强制实施 MLE 的原因。

Oracle Integration Cloud 提供了现成的功能来满足验证、授权和 TLS。可以使用 OCI Vault 来实现 MLE。

体系结构

此参考体系结构演示如何使用 OCI VaultOracle Integration Cloud 中实现 MLE。

OCI Vault 是一种加密管理服务,用于存储和管理加密密钥和密钥以安全地访问资源。它提供 API 来允许管理密钥以及使用这些密钥对数据进行签名、加密和解密。

使用加密时,有两种基本的系统用于保护数据。

  • 对称加密使用相同的(专用)密钥进行加密和解密。发送者和接收者必须使用相同的密钥来加密和解密数据。这意味着如果有人拦截密钥,他们可以解密数据。
  • 另一方面,非对称加密使用两个不同的密钥:公钥和私钥。发件人使用收件人的公钥对数据进行加密,收件人使用其私钥对其进行解密。私钥是保密的,从不共享,这使得它比对称加密更安全。

对称加密具有速度优势,但安全性较低,因为它将同一密钥用于加密和解密。非对称加密虽然较慢,但更安全,因为用于解密的私钥永远不会共享,只能由接收者访问。

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。有关 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 架构 - 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 来管理 Vault 和密钥。

考虑事项

实施此引用体系结构时,请考虑以下几点。

  • 安全性

    使用 Oracle Cloud Infrastructure Identity and Access Management (IAM) 策略控制谁可以访问云资源以及可以执行哪些操作。将 IAM 用户和组的最小权限访问权限分配给资源类型。

  • 服务限制

    考虑拓扑中使用的 OCI 服务的限制和限额。请参见“浏览更多”。

确认

授权者

  • Harris Qureshi

内容提供者

  • John Sulyok