HSM KitHSM Kit
中文

PIN 偏移量(IBM 3624):PIN 验证与十进制化

Payment Security# PIN 偏移量# IBM 3624# PIN 验证
Last Updated: 2026年5月21日5 min readBy HSM Kit Team
Need to calculate this now?
Use our free online PIN 偏移量计算器 tool.

IBM 3624 PIN 验证方法(也称为 PIN 偏移量)是银行行业中最古老且部署最广泛的 PIN 验证方案之一。本指南解释 PIN 偏移量的工作原理以及它在 ATM 和 POS 网络中的使用方式。

什么是 IBM 3624 PIN 偏移量?

IBM 3624 方法通过从卡号(PAN)计算"自然 PIN"并使用偏移量值将其与实际 PIN 进行比较来验证客户的 PIN。偏移量是客户选择的 PIN 与计算的自然 PIN 之间的差值。

核心概念

自然 PIN = f(PAN, PIN_派生密钥)
PIN 偏移量 = 客户_PIN - 自然_PIN(模 10)

验证 PIN 时:

预期 PIN = 自然_PIN + PIN_偏移量(模 10)

如果预期 PIN 与提交的 PIN 匹配,则验证成功。

PIN 偏移量工作原理

自然 PIN 生成

自然 PIN 使用 PIN 派生密钥(PDK)从 PAN 派生:

步骤 1:准备 PAN

取 PAN(主账号),排除校验位,并格式化:

PAN_格式化 = PAN 最右边 12 位数字(不含校验位)

步骤 2:使用 PDK 加密

使用 PIN 派生密钥进行 3DES 加密:

加密结果 = 3DES_Encrypt(PDK, PAN_格式化)

步骤 3:十进制化

使用十进制化表将加密结果转换为十进制数字:

  1. 取加密结果的每个十六进制数字
  2. 使用表将其映射到十进制数字
  3. 选择前 N 位数字(N 为 PIN 长度,通常为 4)

十进制化表

十进制化表将十六进制数字(0-F)映射到十进制数字(0-9):

十六进制: 0 1 2 3 4 5 6 7 8 9 A B C D E F
十进制:  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

这是默认表。银行可以自定义以增加安全性——如果攻击者知道算法但不知道表,就无法计算自然 PIN。

PIN 偏移量计算

生成自然 PIN 后,计算 PIN 偏移量:

PIN 偏移量 =(客户_PIN - 自然_PIN)模 10

每位数字独立计算:

偏移量_数字[i] =(客户_数字[i] - 自然_数字[i])模 10

示例

给定:

  • PAN:4012345678901234(校验位是 4)
  • PDK:0123456789ABCDEF FEDCBA9876543210
  • 客户 PIN:1234
  • 十进制化表:默认

步骤 1:格式化 PAN

PAN(不含校验位):401234567890123
最右边 12 位:012345678901

步骤 2:加密

加密结果 = 3DES_Encrypt(PDK, 012345678901)
结果:A1B2C3D4E5F6A7B8

步骤 3:十进制化

使用默认表:012345078056
自然 PIN(前 4 位):0123

步骤 4:计算偏移量

偏移量 =(1234 - 0123)模 10 = 1111

存储值:PIN 偏移量 = 1111

PIN 验证过程

当客户在 ATM 输入 PIN 时:

  1. ATM 将加密的 PIN 块发送到主机
  2. 主机的 HSM 解密 PIN 块
  3. HSM 检索该卡的存储 PIN 偏移量
  4. HSM 使用 PDK 和 PAN 计算自然 PIN
  5. HSM 将偏移量加到自然 PIN 上
  6. HSM 将结果与提交的 PIN 进行比较
  7. 如果匹配,交易继续进行

HSM 命令流程

1. 解密 PIN 块 → 提取提交的 PIN
2. Encrypt(PDK, PAN_格式化) → 加密结果
3. 十进制化(加密结果) → 自然 PIN
4. 自然_PIN + PIN_偏移量 → 预期 PIN
5. 比较(提交_PIN, 预期_PIN) → 结果

PIN 偏移量存储位置

PIN 偏移量可以存储在多个位置:

  • 在磁条上:编码在磁道 2 或磁道 3 中
  • 在发卡行数据库中:与卡记录关联
  • 在芯片中:对于 EMV 卡,可能存储在芯片中

磁条存储

传统上,PIN 偏移量存储在磁道 2 的自由数据字段中:

磁道 2:PAN | 有效期 | 服务码 | 自由数据(包含 PIN 偏移量)

安全注意事项

优势

  1. 简单性:易于实现和理解
  2. 高效性:每次验证只需一次加密操作
  3. 兼容性:与现有磁条基础设施兼容

弱点

  1. 无 PIN 加密:偏移量本身未加密——如果数据库泄露,攻击者可以计算 PIN
  2. 表依赖性:安全性依赖于保密十进制化表
  3. 自然 PIN 暴露:如果 PDK 泄露,可以为所有卡计算自然 PIN

缓解措施

  • 将 PDK 安全保存在 HSM 内部
  • 使用非默认十进制化表
  • 保护 PIN 偏移量数据库
  • 考虑迁移到 PVV 以获得更强的安全性

PIN 偏移量与 PVV 对比

特性PIN 偏移量(IBM 3624)PVV(VISA)
来源IBMVISA
验证将偏移量加到自然 PIN比较 PVV 值
存储偏移量在磁条/数据库PVV 在磁条上
算法3DES + 十进制化3DES + 十进制化
安全性中等更高
密钥PDKPVK

PVV 提供更强的安全性,因为验证值本身是加密的,而不仅仅是一个偏移量。详情参见 PIN PVV 指南

实际应用

ATM 网络

PIN 偏移量仍在全球 ATM 网络中广泛使用:

  • 大多数 ATM 支持 IBM 3624 验证
  • 与传统系统的向后兼容性
  • 在 HSM 中简单实现

迁移路径

许多银行正在从 PIN 偏移量迁移到 PVV 或 EMV 芯片验证:

  1. 实现双重验证(支持两种方法)
  2. 逐步重新发行带有 PVV 的卡
  3. 最终淘汰 PIN 偏移量

亲自尝试

使用我们的 PIN 偏移量工具理解和验证 IBM 3624 方法:

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

Related Tool
PIN 偏移量计算器