ISO/IEC 7816-4
标题:Identification cards — Integrated circuit cards — Part 4: Organization, security and commands for interchange
发布组织:ISO/IEC JTC 1/SC 17
版本:最新版 2020 或 2013
摘要:定义了智能卡与终端之间的应用协议数据单元 (APDU) 格式,包括命令 APDU 和响应 APDU 的结构、安全报文传送、文件管理、加密机制等。
核心内容:
- APDU 命令 (CLA, INS, P1, P2, Lc, Data, Le)
- 响应 APDU (数据字段 + SW1 SW2)
- 安全报文 (SM) 和数据认证
- 文件选择、读取、更新命令
官方下载链接: ISO 官网购买 (付费)
关联工具: TLV 解析器 | AID 查询
ISO/IEC 7816-4 规范详解
ISO/IEC 7816 是智能卡最重要的国际标准系列,由 ISO/IEC JTC 1/SC 17 技术委员会维护。其中 Part 4 定义了组织、安全和交换命令,规定了卡片与终端之间的应用协议数据单元(APDU)格式。
APDU 命令结构
命令 APDU 由 4 字节必选头部和可选数据体组成:CLA(1 字节)是指令类别,指示命令类型和安全属性;INS(1 字节)是指令代码,如 A4=SELECT、B0=READ BINARY、D6=UPDATE BINARY;P1 和 P2(各 1 字节)是参数;Lc(可选)是数据字段长度;Data(可选)是命令数据;Le(可选)是期望响应最大长度。
响应 APDU 结构
响应由可选数据体和 2 字节状态字(SW1 SW2)组成。常见状态码:9000 正常成功;61XX 正常但有 XX 字节待取;6A82 文件未找到;6982 安全状态不满足;63CX PIN 验证失败剩余 X 次;6400 执行错误。
安全报文与文件系统
ISO 7816-4 定义了安全报文传送机制,在 APDU 数据字段中嵌入 MAC 实现数据完整性和来源认证。CLA 的第 0x04 位指示是否使用安全报文。安全报文分为完整性级别(仅 MAC)和加密级别(数据加密 + MAC)。7816-4 还定义了 MF(主文件)、DF(专用文件)和 EF(基本文件)三层结构,EF 有透明、线性定长和循环三种结构。SELECT 命令通过 AID 或文件 ID 选择 DF/EF,READ BINARY / UPDATE BINARY 读写 EF 数据。文件访问受安全属性控制。本站 APDU 状态码速查 工具收录了完整状态码表。