内部操作 - AWS 支付密码学

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

内部操作

本主题介绍服务实现的内部要求,以保护全球分布式且可扩展的支付加密和密钥管理服务的客户密钥和加密操作。

HSM 规格和生命周期

AWS 支付密码学使用大量市售的 HSM。HSM 已通过 FIPS 140-2 3 级验证,还使用 ​​PCI 安全标准委员会批准的 PCI PTS 设备列表中列出的固件版本和安全策略,符合 PCI HSM v3 的要求。PCI PTS HSM 标准包括对 HSM 硬件的制造、运输、部署、管理和销毁的附加要求,这些要求对于支付安全性和合规性非常重要,但 FIPS 140 并未解决。

所有 HSM 均在 PCI 模式下运行,并配置了 PCI PTS HSM 安全策略。仅启用支持 AWS 支付加密用例所需的功能。 AWS Payment Cryptography 不提供打印、显示或返回明文 PIN。

HSM 设备物理安全

该服务只能使用在交付前由制造商通过 AWS 支付密码学证书颁发机构 (CA) 签署的设备密钥的 HSM。 AWS 支付密码学是制造商 CA 的子 CA,是 HSM 制造商和设备证书的信任根源。制造商的 CA 实施了 ANSI TR 34,并已证明符合 PCI PIN 安全附录 A 和 PCI P2PE 附录 A。制造商验证所有带有由 AWS 支付密码学 CA 签署的设备密钥的 HSM 均已运送到 AWS 的指定接收方。

根据 PCI PIN 安全性的要求,制造商通过与 HSM 发货不同的通信通道提供序列号列表。在将 HSM 安装到 AWS 数据中心的过程中的每个步骤都会检查这些序列号。最后, AWS 支付密码操作员将已安装的 HSM 列表与制造商的列表进行验证,然后再将序列号添加到允许接收 AWS 支付加密密钥的 HSM 列表中。

HSM 始终处于安全存储或双重控制之下,其中包括:

  • 从制造商运送到 AWS 机架组装设施。

  • 在机架组装期间。

  • 从机架装配设施运送到数据中心。

  • 接收并安装到数据中心安全处理室。HSM 机架通过卡门禁锁、报警门传感器和摄像头实现双重控制。

  • 操作期间。

  • 在停用和销毁期间。

为每个 HSM 维护和监控完整的 chain-of-custody个人问责制。

HSM 初始化

只有通过序列号、制造商安装的设备密钥和固件校验和验证其身份和完整性后,HSM 才会作为 AWS 支付密码群的一部分进行初始化。在验证 HSM 的真实性和完整性后,对其进行配置,包括启用 PCI 模式。然后,建立 AWS 支付密码区域主密钥和配置文件主密钥,HSM 可供该服务使用。

HSM 服务和维修

HSM 具有无需违反设备加密边界的可维护组件。这些组件包括冷却风扇、电源和电池。如果 HSM 或 HSM 机架内的其他设备需要维修,则在机架打开的整个期间都将保持双重控制。

HSM 停用

停用是由于 HSM end-of-life 的故障造成的。从逻辑上讲,HSM 在从机架上移除之前会被归零,如果可以正常运行,则在 AWS 数据中心的安全处理室中销毁。在销毁之前,其永远不会退回制造商进行维修,也不会用于其他目的,也不会以其他方式从安全的加工室中移走。

HSM 固件更新

如果更新与安全有关,或者确定客户可以从新版本中的功能中受益,则在需要时应用 HSM 固件更新,以与 PCI PTS HSM 和 FIPS 140-2(或 FIPS 140-3)列出的版本保持一致。 AWS 支付密码学 HSM 运行 off-the-shelf 固件,与 PCI PTS HSM 列出的版本相匹配。使用经过 PCI 或 FIPS 认证的固件版本对新固件版本进行完整性验证,然后在向所有 HSM 推出之前测试其功能性。

操作员访问权限

在极少数情况下,在正常操作期间从 HSM 收集的信息不足以识别问题或计划更改,操作员可以非控制台访问 HSM 进行故障排除。执行以下步骤:

  • 已制定并批准了故障排除活动,并安排了非控制台会话。

  • HSM 已从客户处理服务中删除。

  • 在双重控制下,主密钥被删除。

  • 允许操作员通过非控制台访问 HSM,以在双重控制下执行批准的故障排除活动。

    • 非控制台会话终止后,在 HSM 上执行初始配置过程,返回标准固件和配置,然后同步主密钥,再将 HSM 交还给服务客户。

    • 会话记录记录在变更跟踪中。

    • 从会话中获得的信息用于规划未来的更改。

对所有非控制台访问记录进行审查,以确定流程合规性以及 HSM 监控、 non-console-access 管理流程或操作员培训可能发生的变化。

密钥管理

一个区域中的所有 HSM 都与区域主密钥同步。区域主密钥可以保护至少一个配置文件主密钥。配置文件主密钥可保护客户密钥。

所有主密钥均由 HSM 生成,并使用非对称技术通过对称密钥分配进行分发,符合 ANSI X9 TR 34 和 PCI PIN 附录 A。

生成

AES 256 位主密钥是使用 PCI PTS HSM 随机数生成器在为服务 HSM 实例集配置的 HSM 上生成的。

区域主密钥同步

HSM 区域主密钥由跨区域实例集的服务同步,机制由 ANSI X9 TR-34 定义,其中包括:

  • 使用密钥分配主机 (KDH) 和密钥接收设备 (KRD) 密钥和证书进行相互身份验证,以提供公钥的身份验证和完整性。

  • 证书由符合 PCI PIN 附录 A2 要求的证书颁发机构 (CA) 签名,但适用于保护 AES 256 位密钥的非对称算法和密钥强度除外。

  • 分布式对称密钥的识别和密钥保护符合 ANSI X9 TR-34 和 PCI PIN 附录 A1,但适用于保护 AES 256 位密钥的非对称算法和密钥强度除外。

区域主密钥是通过以下方式为已通过身份验证和为区域配置的 HSM 建立的:

  • 主密钥是在该区域的 HSM 上生成的。该 HSM 被指定为密钥分配主机。

  • 该区域中所有已配置的 HSM 都会生成 KRD 身份验证令牌,其中包含 HSM 的公钥和不可重播的身份验证信息。

  • 在 KDH 验证 HSM 的身份和接收密钥的许可后,KRD 令牌将添加到 KDH 允许列表中。

  • KDH 为每个 HSM 生成一个可验证的主密钥令牌。令牌包含 KDH 身份验证信息和加密的主密钥,这些密钥只能在为其创建的 HSM 上加载。

  • 每个 HSM 都会收到为其构建的主密钥令牌。在验证 HSM 自己的身份验证信息和 KDH 身份验证信息后,主密钥由 KRD 私钥解密并加载到主密钥中。

如果必须将单个 HSM 与某个区域重新同步:

  • 它会经过重新验证并配备固件和配置。

  • 如果是该地区的新用户:

    • HSM 会生成 KRD 身份验证令牌。

    • KDH 将令牌添加到其允许列表中。

    • KDH 为 HSM 生成主密钥令牌。

    • HSM 加载主密钥。

    • HSM 可供该服务使用。

这可以保证:

  • 只有在一个区域内通过 AWS 支付加密处理验证的 HSM 才能接收该地区的主密钥。

  • 只有来自 AWS 支付密码学 HSM 的主密钥才能分发给队列中的 HSM。

区域主密钥轮换

区域主密钥将在加密期限到期时轮换,以防万一发生可疑的密钥泄露事件,或者在确定会影响密钥安全性的服务更改之后进行轮换。

与初始配置一样,将生成和分发新的区域主密钥。保存的配置文件主密钥必须转换为新的区域主密钥。

区域主密钥轮换不会影响客户处理。

配置文件主密钥同步

配置文件主密钥受区域主密钥保护。这会将配置文件限制在特定区域。

相应地配备了配置文件主密钥:

  • 配置文件主密钥是在已同步区域主密钥的 HSM 上生成的。

  • 配置文件主密钥与配置文件配置和其他上下文一起存储和加密。

  • 该区域中任何具有区域主密钥的 HSM 都将该配置文件用于客户加密功能。

配置文件主密钥轮换

配置文件主密钥将在加密期限到期、可疑密钥泄露后或在确定会影响密钥安全性的服务更改后进行轮换。

轮换步骤:

  • 与初始配置一样,将生成新的配置文件主密钥作为待处理的主密钥进行分发。

  • 后台流程将客户密钥材料从已建立的配置文件主密钥转换为待处理的主密钥。

  • 使用待处理密钥加密所有客户密钥后,待处理密钥将升级为配置文件主密钥。

  • 后台流程会删除受过期密钥保护的客户密钥材料。

配置文件主密钥轮换不会影响客户处理。

保护

密钥仅依赖于密钥层次结构进行保护。保护主密钥对于防止所有客户密钥丢失或泄露至关重要。

区域主密钥只能从备份中恢复到为服务进行身份验证和配置的 HSM。这些密钥只能存储为来自特定 HSM 的特定 KDH 的相互身份验证的加密主密钥令牌。

配置文件主密钥与按区域加密的配置文件配置和上下文信息一起存储。

客户密钥存储在密钥块中,由配置文件主密钥保护。

所有密钥都只存在于 HSM 中,或者由另一个具有同等或更强加密强度的密钥保护。

持久性

即使在通常会导致中断的极端情况下,也必须提供用于交易加密和业务功能的客户密钥。 AWS 支付密码学利用跨可用区域和区域的多级冗余模型。 AWS 如果客户要求支付加密操作的可用性和耐久性高于服务所能提供的范围,则应实施多区域架构。

HSM 身份验证和主密钥令牌已保存,如果必须重置 HSM,则可用于恢复主密钥或与新的主密钥同步。令牌已存档,仅在需要时在双重控制下使用。

通信安全

外部

AWS Payment Cryptography API 端点符合 AWS 安全标准,包括 1.2 或以上的 TLS 和用于请求身份验证和完整性的签名版本 4。

传入的 TLS 连接在网络负载均衡器上终止,并通过内部 TLS 连接转发给 API 处理程序。

Internal

服务组件之间以及服务组件与其他 Amazon Web Service 服务之间的内部通信由 TLS 使用强大的加密技术进行保护。

HSM 位于只能通过服务组件访问的专用非虚拟网络上。HSM 和服务组件之间的所有连接均通过 TLS 1.2 或更高版本的相互 TLS (mTLS) 进行保护。TLS 和 mTLS 的内部证书由 Amazon Certificate Manager 使用 AWS 私有证书颁发机构进行管理。监控内部 VPC 和 HSM 网络是否存在无异常的活动和配置更改。

客户密钥的管理

在 AWS,客户信任是我们的首要任务。您可以完全控制自己在 Amazon Web Services 账户下的服务中上传或创建的密钥,并负责配置对密钥的访问。

AWS Payment Cryptography 对服务管理的密钥的 HSM 物理合规性和密钥管理负全部责任。这需要拥有和管理 HSM 主密钥,并将受保护的客户密钥存储在 AWS 付款密码学密钥数据库中。

客户密钥空间分离

AWS Payment Cryptography 对所有密钥的使用都强制执行密钥政策,包括将委托人限制为拥有密钥的账户,除非明确与其他账户共享密钥。

备份和恢复

区域的密钥和密钥信息由 AWS备份到加密存档中。存档需要双重控制 AWS 才能恢复。

密钥块

所有密钥都存储在 ANSI X9 TR-31 格式的密钥块中。

密钥可以从支持的密码或其他密钥块格式导入到服务中。 ImportKey同样,如果密钥可导出,也可以将其导出为其他密钥块格式或密钥导出配置文件支持的密码。

密钥用途

密钥的使用仅限于服务 KeyUsage 所配置的。如果密钥使用、使用模式或所请求的加密操作算法不当,该服务将使任何请求失败。

密钥交换关系

PCI PIN Security 和 PCI P2PE 要求共享加密 PIN 的密钥的组织(包括用于共享这些密钥的 KEK)不得与任何其他组织共享这些密钥。最佳做法是,对称密钥仅在两方之间共享,包括在同一个组织内。这可以最大限度地减少可疑密钥泄露的影响,从而强制更换受影响的密钥。

即使业务案例需要在超过 2 方之间共享密钥,也应将参与方数量保持在最低数量。

AWS Payment Cryptography 提供了密钥标签,可用于在这些要求范围内跟踪和强制使用密钥。

例如,可以通过为与该服务提供商共享的所有密钥设置“KIF”=“POSStation”来识别不同密钥注入设施的 KEK 和 BDK。另一个例子是将与支付网络共享的密钥标记为 “网络” = “PayCard”。使用标记,您可以创建访问控制并创建审计报告,以强制执行和演示您的密钥管理实践。

删除密钥

DeleteKey 将数据库中的密钥标记为在客户可配置的时间段后删除。在这段时间之后,密钥将被不可挽回地删除。这是一种防止意外或恶意删除密钥的安全机制。标记为删除的密钥不可用于任何操作,除 RestoreKey了。

删除的密钥将在删除后的服务备份中保留 7 天。在此期间,它们无法修复。

属于已关闭 Amazon Web Services 账户的密钥被标记为删除。如果在达到删除期限之前重新激活账户,则所有标记为删除的密钥都将被恢复,但会被禁用。您必须重新启用才能将其用于加密操作。

日记账记录和监控

内部服务日志包括:

  • CloudTrail 该服务发出的 AWS 服务调用的日志

  • CloudWatch 两个事件的日志都直接记录到 CloudWatch 日志或从 HSM 的事件中

  • 来自 HSM 和服务系统的日志文件

  • 日志档案

所有日志源都会监控和过滤敏感信息,包括有关密钥的信息。日志会经过系统性审查,以确保其中包含或不包含敏感客户信息。

对日志的访问仅限于完成工作角色所需的个人。

所有日志均按照 AWS 日志保留策略进行保留。