AS2805 是澳大利亚电子资金转账(EFT)安全标准,规定了澳大利亚支付网络中 PIN、密钥和消息的保护方式。本指南涵盖 AS2805 定义的密码学操作。
什么是 AS2805?
AS2805 是澳大利亚标准协会发布的多部分标准,定义了电子金融交易的安全要求。它涵盖:
- PIN 加密和翻译
- 密钥管理流程
- 消息认证码(MAC)
- 密码算法及其使用
该标准广泛应用于澳大利亚的银行、支付处理商和 ATM 网络。它与 ISO 9564 和 ISO 16609 等国际标准保持一致,但包含澳大利亚特有的要求和适配。
终端密钥集
AS2805 的核心概念是终端密钥集——加载到终端(ATM 或 POS)中的一组密钥,用于与主机/HSM 进行安全通信。
组件
终端密钥集通常包含:
- 终端主密钥(TMK):用于加密其他密钥以便注入终端,有时称为密钥加密密钥(KEK)。
- PIN 加密密钥(PEK):加密 PIN 块,用于从终端到主机的传输。
- MAC 密钥:用于计算消息认证码,确保交易完整性。
- 数据加密密钥:加密消息中的敏感数据字段。
密钥层次结构
LMK(在 HSM 中)
└── TMK(终端主密钥)
├── PEK(PIN 加密密钥)
├── MAC 密钥
└── 数据密钥
TMK 在密钥加载仪式期间注入终端,以 HSM 内部的 LMK 加密形式存储。然后从 TMK 派生或传输工作密钥。
PIN 块翻译
AS2805 定义了在不同区域之间移动时(例如从终端到发卡行网络)如何翻译 PIN 块。PIN 块翻译是将一个密钥加密的 PIN 块转换为另一个密钥加密的过程,且不会暴露明文 PIN。
翻译过程
- 终端使用 PEK(终端密钥)加密 PIN 块
- HSM 接收加密的 PIN 块
- HSM 使用终端的 PEK 解密
- HSM 使用交换密钥(区域密钥)重新加密
- 翻译后的 PIN 块发送到目的地
这在 HSM 内部执行,PIN 明文永远不会在安全边界外暴露。
AS2805 PIN 块格式
AS2805 主要使用 ISO 9564 格式 0(ISO-0)作为 PIN 块格式:
PIN 块 = PIN 字段 XOR PAN 字段
PAN 字段使用 PAN 最右边 12 位数字(不含校验位),这与 ISO-0 标准一致。
MAC 计算
AS2805 指定了消息认证码(MAC)来确保交易消息的完整性和真实性。MAC 保护免受:
- 消息篡改
- 重放攻击
- 未授权消息注入
MAC 算法
AS2805 通常使用基于 3DES 的 CBC-MAC:
- 将消息分成 8 字节块
- 使用 MAC 密钥加密第一块
- 将结果与下一块进行 XOR
- 再次使用 MAC 密钥加密
- 对所有块重复此过程
- 最终结果(或其一部分)就是 MAC
MAC 在放入消息之前通常被截断为 4 或 8 字节。这与 ISO 8583 消息中使用的 MAC 算法类似。
OWF(单向函数)
AS2805 使用单向函数进行密钥派生和 PIN 验证。OWF 是正向计算容易但逆向计算不可行的密码学操作。
AS2805 中的应用
- 密钥派生:使用 OWF 从主密钥派生工作密钥
- PIN 验证:从 PIN 创建验证值,该值无法逆向恢复 PIN
- 令牌生成:为存储的 PIN 引用创建不可逆令牌
常见 OWF 算法
- 基于 DES/3DES 的 OWF:使用密钥加密数据,将结果用作派生密钥或验证值
- 基于 SHA 的 OWF:用于较新实现的基于哈希的单向函数
- ANSI X9.24 OWF:使用 CMAC 或零售 MAC 的标准化密钥派生
实际场景
ATM 交易流程
- 客户插入卡片并在 ATM 输入 PIN
- 终端将 PIN 格式化为 PIN 块(格式 0)
- PIN 块使用 PEK 加密
- 对交易消息计算 MAC
- 消息发送到收单方/处理方
- HSM 将 PIN 块从 PEK 翻译为交换密钥
- HSM 验证 MAC
- 交易转发到发卡行进行 PIN 验证
密钥加载仪式
- 在 HSM 内部生成 TMK 组件
- 导出以 LMK 加密的 TMK
- 将 TMK 注入终端(通常通过 TR-31 密钥块)
- 派生或注入工作密钥(PEK、MAC 密钥、数据密钥)
- 通过测试交易验证密钥加载
AS2805 与国际标准对比
| 特性 | AS2805 | ISO 9564 | ISO 16609 |
|---|---|---|---|
| 区域 | 澳大利亚 | 国际 | 国际 |
| PIN 格式 | 格式 0 | 所有格式 | N/A |
| MAC 标准 | CBC-MAC | N/A | CBC-MAC |
| 密钥管理 | 澳大利亚特定 | ANSI X9.24 | ANSI X9.24 |
安全注意事项
- 密钥保管:所有密钥必须以 HSM 中 LMK 加密形式存储
- 双控:密钥加载需要分拆知识和双控
- 密钥轮换:工作密钥应按照 AS2805 指南定期轮换
- 审计跟踪:所有密钥管理操作必须记录日志
- 算法迁移:较新的实现应考虑使用 AES 和 DUKPT AES,因为 3DES 已被弃用
亲自尝试
使用我们的 AS2805 工具练习澳大利亚支付安全操作:
- AS2805 工具 —— 终端密钥集管理、PIN 块翻译、MAC 计算和 OWF 操作
所有处理在您的浏览器本地完成——您的密钥不会离开您的设备。