HSM KitHSM Kit
中文

PIN 块 AES(格式 4):基于 AES 的 ISO 9564

Payment Security# PIN Block# AES# ISO 9564# 格式 4
Last Updated: 2026年5月21日6 min readBy HSM Kit Team
Need to calculate this now?
Use our free online PIN 块 AES 工具 tool.

PIN 块格式 4 是最新的 ISO 9564 PIN 块格式,专为 AES 加密 设计。本指南解释格式 4 的工作原理以及为什么它代表了支付系统中 PIN 安全的未来。

什么是 PIN 块格式 4?

PIN 块格式 4(也称为 ISO-4)在 ISO 9564-1 中定义,提供了基于 AES 的现代 PIN 加密方法。它取代了为 3DES 加密设计的传统格式 0

格式 4 是支付行业从 3DES 迁移到 AES 的更广泛计划的一部分,与 AES-DUKPTTR-31 版本 D 密钥块一起。

格式 4 结构

格式 4 PIN 块为 16 字节(128 位)——是格式 0 的 8 字节的两倍。结构包括:

字节 0:  控制字段(0x44 = 格式 4 标识符)
字节 1:  PIN 长度(0x04 到 0x0C)
字节 2-7:PIN 数字 + 随机填充
字节 8-13:PAN 哈希(从 PAN 派生)
字节 14-15:随机填充 + 补齐

控制字段

第一个字节标识格式:

  • 0x44 表示格式 4
  • 高半字节 4 是格式标识符
  • 低半字节包含标志位

PIN 数据

  • PIN 长度占一个半字节(4 位)
  • PIN 数字紧随其后
  • 剩余位置用随机数据填充(0x0-0x9 或 0xA-0xF)

PAN 哈希

格式 4 包含 PAN 的哈希值,将 PIN 块绑定到特定卡片:

PAN_哈希 = AES-ECB(PAN_填充, PAN_哈希密钥)

这提供了完整性验证——如果解密时使用了错误的 PAN,哈希值将不匹配。

格式 4 与格式 0 对比

特性格式 0格式 4
块大小8 字节16 字节
加密3DES ECBAES-128 ECB
需要 PAN是(XOR)是(哈希)
随机填充否(固定 0xF)
完整性检查PAN 哈希
安全级别传统现代
标准ISO 9564ISO 9564-1

主要区别

  1. 随机填充:格式 4 使用随机数据而非固定填充,使相同的 PIN 产生不同的 PIN 块
  2. PAN 绑定:格式 4 中的 PAN 哈希比格式 0 中的 XOR 方法更安全
  3. 块大小:16 字节适应 AES-128 的块大小
  4. 完整性:PAN 哈希提供内置的完整性检查

加密过程

步骤 1:构造 PIN 块

  1. 以格式标识符 0x44 开始
  2. 添加 PIN 长度
  3. 添加 PIN 数字
  4. 用随机数据填充剩余位置
  5. 计算 PAN 哈希并添加到块中
  6. 填充至 16 字节

步骤 2:使用 AES 加密

加密块 = AES-128-ECB(PEK, PIN_块)

PIN 加密密钥(PEK)是 128 位 AES 密钥,可以是:

步骤 3:传输

16 字节的加密 PIN 块放入交易消息中。对于 ISO 8583 消息,通常放在字段 52(PIN 数据)中。

PAN 哈希计算

PAN 哈希将 PIN 块绑定到特定卡号:

PAN_填充 = 将 PAN 右对齐到 16 字节,用 0x00 填充
PAN_哈希 = AES-ECB(PAN_哈希密钥, PAN_填充)

在解密期间,HSM:

  1. 解密 PIN 块
  2. 使用已知 PAN 重新计算 PAN 哈希
  3. 验证哈希值是否匹配
  4. 如果不匹配,拒绝 PIN 块

这防止了攻击者操纵 PAN 以导致 PIN 翻译错误的某些攻击。

格式 4 的安全优势

随机填充

与格式 0 的固定 0xF 填充不同,格式 4 使用随机值。这意味着:

  • 两个相同的 PIN 使用相同密钥加密会产生不同的 PIN 块
  • 攻击者无法确定两笔交易是否使用相同的 PIN
  • 减少信息泄露

PAN 哈希完整性

PAN 哈希提供:

  • PIN 和卡号之间的绑定
  • 检测 PAN 替换攻击
  • 验证翻译期间使用了正确的 PAN

AES-128 安全性

AES-128 比 3DES 提供更强的安全性:

  • 没有已知的实用攻击
  • 128 位密钥 vs 3DES 的 112 位有效密钥
  • NIST 批准的标准,有效期至 2030 年以后

实际交易流程

终端到收单方

  1. 客户在终端输入 PIN
  2. 终端使用随机填充构造格式 4 PIN 块
  3. 终端使用 PEK(或 AES-DUKPT 密钥)加密 PIN 块
  4. 加密的 PIN 块放入交易消息
  5. 消息连同 MAC 一起发送到收单方

收单方到发卡行

  1. 收单方接收包含加密 PIN 块的消息
  2. 收单方的 HSM 使用终端的 PEK 解密
  3. HSM 验证 PAN 哈希完整性
  4. HSM 使用交换密钥重新加密
  5. 翻译后的 PIN 块发送到发卡行

发卡行验证

  1. 发卡行的 HSM 解密 PIN 块
  2. HSM 验证 PAN 哈希
  3. HSM 提取 PIN
  4. HSM 根据存储的值验证 PIN(使用 PIN 偏移量PVV

迁移注意事项

HSM 支持

确保您的 HSM 支持格式 4:

  • Thales payShield:支持格式 4 和 AES-DUKPT
  • SafeNet Luna:支持格式 4
  • Futurex:支持格式 4

终端支持

新终端应原生支持格式 4。旧终端可能需要固件更新。

密钥管理

格式 4 需要 AES 密钥:

  • 使用 TR-31 版本 D 进行密钥传输
  • 在 HSM 中生成 AES 密钥
  • 考虑使用 AES-DUKPT 获取每笔交易的密钥

双格式支持

在迁移期间,系统可能需要同时支持格式 0 和格式 4:

  • 从控制字段检测格式
  • 相应处理
  • 逐步淘汰格式 0

常见问题

为什么格式 4 是格式 0 的两倍大小?

AES-128 在 16 字节块上操作,而 3DES 在 8 字节块上操作。更大的块大小也容纳了 PAN 哈希和随机填充。

可以在 3DES 密钥上使用格式 4 吗?

不可以。格式 4 专为 AES 加密设计。对于基于 3DES 的系统,使用格式 0 或格式 3。

格式 4 向后兼容吗?

不兼容。格式 4 是一种新格式,需要终端、HSM 和处理系统的明确支持。没有格式检测的情况下,不能与格式 0 混合使用。

什么时候应该迁移到格式 4?

新部署应从一开始就使用格式 4。现有系统应作为更广泛的 3DES 到 AES 迁移的一部分进行规划,特别是因为 NIST 于 2023 年弃用了 3DES。

亲自尝试

使用我们的 PIN 块格式 4 工具理解和练习基于 AES 的 PIN 块格式:

所有处理在您的浏览器本地完成——您的密钥不会离开您的设备。

Related Tool
PIN 块 AES 工具