您当前的位置:   首页 > 新闻中心
支付安全:Thales Key Blocks及其在 payShield HSM 中的使用方式
发布时间:2021-06-13 11:51:36   阅读次数:

payShield 10K(图1)

Thales Key Blocks是一种必不可少的加密密钥包装格式。与其他Key Block(密钥块)格式相比,它们是专有的,仅适用于 Thales payShield HSM。在下文中,我们将深入研究这种Key Block格式的细节。


Thales Key Blocks 格式的描述

Thales Key Blocks 与X9.TR-31格式兼容。他们通过提供附加功能来进一步实现和扩展它。


支付卡行业安全标准委员会 (PCI SSC) 要求零售银行业实施符合 ANSI X9.24/TR-31的Key Block,但是,TR-31 是一份技术报告,而不是规范。 


ANSI 标准将“通用”Key Block定义为具有标头字段、包含加密敏感数据(包括密钥本身)的有效载荷字段以及用于检查标头完整性和数据的额外字段的结构。

支付安全:Thales Key Blocks及其在 payShield HSM 中的使用方式(图2)

插图:通用 TR-31 键块


基于这个非常通用的方案,可以改进 TR-31 Key Block以添加更多功能和子组件。 


Thales Key Block结构

Thales Block结构定义了四个区块,而不是 TR-31 定义的三个区块:

  • Header (标头,16 bytes)

  • Optional header(可选标题)

  • Encrypted key data(加密密钥数据)

  • Authenticator(身份验证器)

支付安全:Thales Key Blocks及其在 payShield HSM 中的使用方式(图3)

插图:Thales 密钥块格式


主要区别在于添加了一个可选的标题块,它允许在密钥管理方面有更多的余地。标头包含一个字段,用于注册用于加密的 Thales HSM本地主密钥 (LMK)的值  。因此,理论上,只有 Thales Key Blocks才能与 Thales HSM配合使用。 


标题包含一个字段,用于通知是否有可选标题,如果有,有多少。可选报头使用 TLV(标签长度值)编码,用于提供性质可能不同的附加信息。 


以下是 Thales 密钥块中通常允许的可选标头列表。

可选的标签

用法

KS

Key set identifier(密钥集标识符)

KV

Key block version values(密钥块版本值)

00

Status (状态,T=Test, L=Live, etc.)

01

Algorithm and mode used to encrypt the data block(用于加密数据块的算法和模式)

02

Algorithm and mode used to authenticate the data block(用于验证数据块的算法和模式)

03

Validity start date(有效期开始日期)

04

Validity end date(有效期结束日期)

05

Free usage (for information, etc.)(免费使用)

PB

Padding block(填充块)



Thales Key Block格式分析

Thales Key Block 提供两种类型的密钥加密:3DES和 AES Keyblock LMK(例如,由 LMK 加密)。在这两种情况下,初始化向量 (IV) 都是通过从头中获取字节来使用的,因此直接将头和加密的密钥数据绑定在一起。


例如,Atalla Key Block 使用其头域的全部 8 个字节,而 Thales Key Block 仅使用其头域的一部分进行 IV 计算。


标头中指定的任何类型的密钥都可以通过这种方式加密。加密仅在CBC 模式下完成,这可能是一个问题,因为 CBC 模式对某些填充预言机攻击的抵抗力不是很强。


加密密钥源自 HSM LMK(AES 或3DES)。


通过从加密数据、报头的串联和可选报头计算 3DES CBC-MAC 或 AES CMAC 来使用身份验证器部分。使用的密钥也是从 LMK 派生的。 


在 Thales HSMs 中使用 Thales Key Blocks格式

由于 Thales Key Blocks 仅适用于 payShields HSM(payShield 8000、9000 和 payShield 10k 等),因此我们需要提及如何在这样的环境中使用它们。 


只有本地密钥用于加密密钥块。理论上,这提供了更高的安全性。 


Thales payShield 支持多个 LMK。这意味着 HSM 可以通过加密方式分成几个组来管理密钥块。 


可以使用 Thales HSM 创建和维护的 Thales 密钥块通常包括 ZMK(用于将密钥从一个 HSM 导出到另一个 HSM)、PMK(用于加密 pin 块的 PIN 主密钥)等。


揽阁信息可提供的部分安全产品和解决方案信息

联系揽阁信息,您可以获取到更多满足全球合规性要求的信息安全产品资料,以及相关的整体解决方案的相关资料。如:


您还可以得到揽阁信息所提供的优质服务。

揽阁信息 · 值得您信赖的信息安全顾问!


相关阅读

购买咨询电话
021-54410609