Atalla 最初由 HP 开发,现由 Utimaco 拥有,使用一种称为 AKB(Atalla 密钥块)的专有密钥块格式。这种格式在传统银行基础设施中很常见,特别是在 PIN 处理领域。本指南介绍 AKB 结构、头部格式以及密钥保护方式。
什么是 AKB?
AKB(Atalla 密钥块)是 Atalla HSM 用于存储和传输密码密钥的专有格式。与简单的密钥加密不同,AKB 将密钥属性和完整性检查与密钥材料绑定,为密钥管理提供结构化容器。
AKB 的应用场景
- 传统 ATM 网络
- PIN 翻译系统
- 支付处理基础设施
- 较旧的银行 HSM 部署
AKB 结构概述
AKB 密钥块包含几个不同的部分:
+------------------+
| 头部 | 包含元数据的固定长度头部
+------------------+
| 密钥类型 | 密钥用途的标识符
+------------------+
| 加密密钥 | 在 MFK 下加密的密钥材料
+------------------+
| KCV | 用于验证的密钥校验值
+------------------+
| 尾部 | 完整性和格式标记
+------------------+
头部格式
AKB 头部标识密钥块并提供基本元数据。
头部字段
| 字段 | 长度 | 描述 |
|---|---|---|
| 格式代码 | 2字节 | 标识这是 AKB 块 |
| 版本 | 1字节 | AKB 格式版本 |
| 密钥类型 | 2字节 | 密钥用途(ZMK、ZPK 等) |
| 密钥长度 | 1字节 | 加密密钥的长度 |
| 标志 | 1字节 | 可导出性、使用限制 |
格式标识
头部通常以特定字节开头,标识其为 AKB:
00或01作为格式标识符- 版本指示符用于格式兼容性
密钥类型标识符
AKB 使用特定代码来标识密钥类型:
| 代码 | 密钥类型 | 描述 |
|---|---|---|
| 00 | MFK | 主文件密钥 |
| 01 | ZMK | 区域主密钥 |
| 02 | ZPK | 区域 PIN 密钥 |
| 03 | PVK | PIN 验证密钥 |
| 04 | CVK | 卡验证密钥 |
| 05 | TMK | 终端主密钥 |
| 06 | TPK | 终端 PIN 密钥 |
| 07 | DEK | 数据加密密钥 |
主文件密钥(MFK)加密
Atalla 使用 MFK 作为所有存储密钥的根加密密钥。
MFK 如何保护密钥
- MFK 在初始化期间在 HSM 内部生成
- MFK 被分成多个组件(双重控制)
- HSM 中存储的所有密钥都在 MFK 下加密
- MFK 永远不会以明文形式离开 HSM
MFK 变体系统
与其他 HSM 厂商类似,Atalla 可能为不同密钥类型使用 MFK 的变体:
ZMK 加密 = E(MFK XOR 变体, ZMK 明文)
ZPK 加密 = E(MFK XOR 变体, ZPK 明文)
这为密钥类型之间提供了密码学分离。
密钥校验值(KCV)
AKB 中的 KCV 与其他系统中的用途相同——验证密钥完整性。
KCV 计算
标准 KCV 计算方法:
- 使用密钥加密 8 字节的零
- 取结果的前 3 字节
- 显示为 6 个十六进制字符
KCV = E(Key, 0000000000000000) 的前 3 字节
AKB 中的 KCV
AKB 中的 KCV 与加密密钥一起存储,用作:
- 密钥加载后的快速验证
- 密钥交换期间的交叉检查
- 审计参考点
AKB 与 TR-31 对比
了解 AKB 与现代标准之间的差异很重要:
| 特性 | AKB | TR-31 |
|---|---|---|
| 标准 | 专有 | ANSI X9.143 |
| 厂商锁定 | 仅 Atalla | 厂商中立 |
| 密钥绑定 | 基本 | 密码学绑定 |
| 属性 | 有限 | 全面 |
| 采用率 | 传统 | 现代标准 |
许多组织正在从 AKB 迁移到 TR-31 以实现互操作性。
使用 AKB 密钥
解码 AKB
解码 AKB 密钥块:
- 解析头部以识别格式和版本
- 提取密钥类型标识符
- 读取加密密钥材料
- 提取 KCV
- 解密后验证 KCV
常见字段
使用 AKB 时,您通常会看到:
格式(十六进制)| 类型(十六进制)| 加密密钥(十六进制)| KCV(十六进制)
实际应用场景
PIN 处理
AKB 通常用于 PIN 翻译:
- PIN 在 ZPK 加密下到达
- HSM 在 AKB 格式中查找 ZPK
- HSM 使用 MFK 解密 ZPK
- HSM 将 PIN 从源 ZPK 翻译到目标 ZPK
- 将翻译后的 PIN 发送到目的地
密钥交换
与合作伙伴交换密钥时:
- 在 Atalla HSM 中生成 ZMK
- 以 AKB 格式导出 ZMK
- 将 AKB 传输给合作伙伴
- 合作伙伴导入到他们的 HSM
- 验证 KCV 匹配
常见问题
格式兼容性
AKB 是 Atalla 专有的——您不能将 AKB 密钥直接用于 Thales 或 Futurex HSM,除非进行转换或在 TR-31 下重新加密。
遗留迁移
从 Atalla 迁移到其他 HSM 时:
- 以 AKB 格式导出密钥
- 在 Atalla HSM 中解密
- 在 TR-31 或目标厂商格式下重新加密
- 导入到新 HSM
- 验证所有 KCV
头部解析错误
常见问题包括:
- 格式版本处理不正确
- 误解密钥类型代码
- 字节顺序(大小端)混淆
- 缺少尾部字节
在线体验
使用我们的 Atalla 密钥工具:
- 解码 AKB 密钥块
- 提取头部信息
- 解析密钥类型和长度
- 验证 KCV
该工具完全在浏览器中运行——数据不会离开您的设备。