为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

中国金融集成电路(IC)卡借记贷记规范v2-卡片部分

2017-11-12 50页 doc 642KB 42阅读

用户头像

is_266065

暂无简介

举报
中国金融集成电路(IC)卡借记贷记规范v2-卡片部分中国金融集成电路(IC)卡借记贷记规范v2-卡片部分 中国金融集成电路(IC)卡 借记/贷记规范 第一部分:卡片规范 中国金融集成电路(IC)卡标准修订工作组 二零零四年九月 目 次 1. 2. 3. 4. 5. 6. 引言 ................................................................................................................................................
中国金融集成电路(IC)卡借记贷记规范v2-卡片部分
中国金融集成电路(IC)卡借记贷记v2-卡片部分 中国金融集成电路(IC)卡 借记/贷记规范 第一部分:卡片规范 中国金融集成电路(IC)卡标准修订工作组 二零零四年九月 目 次 1. 2. 3. 4. 5. 6. 引言 ........................................................................................................................................................1 范围 ........................................................................................................................................................1 参考资 料.................................................................................................................................................1 定义 ........................................................................................................................................................1 缩略语和符号表 示 ..................................................................................................................................2 概 述 ........................................................................................................................................................5 功能概 述 ........................................................................................................................................5 6.1.1 应用选择 (强 制) .....................................................................................................................5 6.1.2 应用初始化/读应用数据(强 制) ...............................................................................................5 6.1.3 脱机数据认证(可 选) ...............................................................................................................5 6.1.4 交易处理限制(强 制) ...............................................................................................................6 6.1.5 持卡人验证(强 制) ..................................................................................................................6 6.1.6 终端风险管理(强 制) ...............................................................................................................6 6.1.7 终端行为分析(强 制) ...............................................................................................................6 6.1.8 卡片行为分析(强 制) ...............................................................................................................7 6.1.9 联机处理(可 选) ......................................................................................................................7 6.1.10 6.1.11 6.2 交易结束(强 制) ..................................................................................................................7 发卡行 到卡片的脚本处理(可选) .........................................................................................7 6.1 强制与可选功 能..............................................................................................................................9 6.2.1 卡片功能需 求 .............................................................................................................................9 6.2.2 命令支持需 求 .......................................................................................................................... 10 7. 应用选 择...................................................................................................................................... ........ 11 7.1 卡片数 据 ..................................................................................................................................... 11 7.2 终端数 据 ..................................................................................................................................... 13 7.3 命 令 .................................................................................................................................... ......... 13 7.4 建立候选应用列 表 ....................................................................................................................... 14 7.4.1 目录选择方 式 .......................................................................................................................... 14 7.4.2 AID列表选择方 式 ................................................................................................................... 16 7.5 确定和选择应 用........................................................................................................................... 16 7.6 流程 图 .................................................................................................................................... ..... 17 7.7 后续相关流 程 .............................................................................................................................. 18 8. 应用初始 化 .................................................................................................................................... ...... 19 8.1 卡片数 据 ..................................................................................................................................... 19 8.2 终端数 据 ..................................................................................................................................... 20 8.3 命令 ............................................................................................................................................. 20 8.4 处理流 程 ..................................................................................................................................... 20 8.5 前期相关处 理 .............................................................................................................................. 22 8.6 后续相关处 理 .............................................................................................................................. 22 9. 读应用数 据 .......................................................................................................................................... 22 9.1 卡片数 据 ..................................................................................................................................... 22 9.2 终端数 据 ..................................................................................................................................... 23 9.3 命令 ............................................................................................................................................. 23 ii 9.4 9.5 9.6 处理流 程 ..................................................................................................................................... 23 前期相关处 理 .............................................................................................................................. 23 后续相关处 理 .............................................................................................................................. 23 脱机数据认 证 .................................................................................................................................. 23 密钥和证 书 .................................................................................................................................. 24 决定脱机数据认证方 法 ................................................................................................................ 24 卡片数 据 ............................................................................................................................. 24 处理流 程 ............................................................................................................................. 24 卡片数 据 ............................................................................................................................. 25 终端数 据 ............................................................................................................................. 26 命令 ..................................................................................................................................... 26 处理流 程 ............................................................................................................................. 26 卡片数 据 ............................................................................................................................. 27 终端数 据 ............................................................................................................................. 27 命令 ..................................................................................................................................... 28 处理流 程 ............................................................................................................................. 28 10. 10.1 10.2 10.2.1 10.2.2 10.3 10.3.1 10.3.2 10.3.3 10.3.4 10.4 10.4.1 10.4.2 10.4.3 10.4.4 10.5 10.6 静态数据认证 (SDA) ............................................................................................................... 25 动态数据认证 (DDA) ............................................................................................................... 26 前期相关处 理 .............................................................................................................................. 29 后续相关处 理 .............................................................................................................................. 30 处理限 制 ......................................................................................................................................... 30 卡片数 据 ..................................................................................................................................... 30 终端数 据 ..................................................................................................................................... 31 处理流 程 ..................................................................................................................................... 31 应用版本号检 查 ................................................................................................................... 31 应用用途控制检 查 ............................................................................................................... 31 应用生效日期检 查 ............................................................................................................... 32 应用失效日期检 查 ............................................................................................................... 32 11. 11.1 11.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.5 前期相关处 理 .............................................................................................................................. 32 后续相关处 理 .............................................................................................................................. 32 持卡人验 证 ...................................................................................................................................... 33 卡片数 据 ..................................................................................................................................... 33 终端数 据 ..................................................................................................................................... 36 命令 ............................................................................................................................................. 36 处理流 程 ..................................................................................................................................... 37 CVM列表处 理 ..................................................................................................................... 37 脱机明文PIN处理 ............................................................................................................... 37 其它CVM处理 ..................................................................................................................... 41 12. 12.1 12.2 12.3 12.4 12.4.1 12.4.2 12.4.3 12.5 12.6 前期相关处 理 .............................................................................................................................. 41 后续相关处 理 .............................................................................................................................. 41 终端风险管 理 .................................................................................................................................. 41 卡片数 据 ..................................................................................................................................... 41 终端数 据 ..................................................................................................................................... 42 命令 ............................................................................................................................................. 42 处理流 程 ..................................................................................................................................... 43 iii 13. 13.1 13.2 13.3 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.4.5 13.4.6 13.5 13.6 终端异常文件检 查 ............................................................................................................... 43 商户强制交易联机 ............................................................................................................... 43 最低限额检 查 ...................................................................................................................... 43 随机交易选 择 ...................................................................................................................... 43 频度检查 ............................................................................................................................. 43 新卡检 查 ............................................................................................................................. 43 前期相关处 理 .............................................................................................................................. 43 后续相关处 理 .............................................................................................................................. 44 终端行为分 析 .................................................................................................................................. 44 卡片数 据 ..................................................................................................................................... 44 终端数 据 ..................................................................................................................................... 45 命令 ............................................................................................................................................. 46 处理流 程 ..................................................................................................................................... 46 检查脱机处理结 果 ............................................................................................................... 46 请求密文处 理 ...................................................................................................................... 46 14. 14.1 14.2 14.3 14.4 14.4.1 14.4.2 14.5 14.6 前期相关处 理 .............................................................................................................................. 46 后续相关处 理 .............................................................................................................................. 46 卡片行为分 析 .................................................................................................................................. 46 卡片数 据 ..................................................................................................................................... 47 终端数 据 ..................................................................................................................................... 49 命令 ............................................................................................................................................. 49 处理流 程 ..................................................................................................................................... 49 卡片收到密文请 求 ............................................................................................................... 49 卡片风险管 理 ...................................................................................................................... 49 卡片风险管理流 程 ............................................................................................................... 51 卡片脱机拒绝交 易 ............................................................................................................... 55 卡片请求联机操 作 ............................................................................................................... 55 卡片脱机接受交 易 ............................................................................................................... 56 复合动态数据认证/生成应用密文响 应 ................................................................................. 56 15. 15.1 15.2 15.3 15.4 15.4.1 15.4.2 15.4.3 15.5 15.5.1 15.5.2 15.5.3 15.5.4 15.6 15.7 15.8 卡片提供响应密 文 ....................................................................................................................... 54 流程 图 ......................................................................................................................................... 57 前期相关处 理 .............................................................................................................................. 62 后续相关处 理 .............................................................................................................................. 63 联机处 理 ......................................................................................................................................... 63 卡片数 据 ..................................................................................................................................... 63 联机响应数 据 .............................................................................................................................. 64 命令 ............................................................................................................................................. 64 处理流 程 ..................................................................................................................................... 65 联机请 求 ............................................................................................................................. 65 联机响 应 ............................................................................................................................. 65 发卡行认 证 .......................................................................................................................... 65 16. 16.1 16.2 16.3 16.4 16.4.1 16.4.2 16.4.3 16.5 16.6 16.7 流程 图 ......................................................................................................................................... 66 前期相关处 理 .............................................................................................................................. 66 后续相关处 理 .............................................................................................................................. 67 交易结 束 ......................................................................................................................................... 67 iv 17. 17.1 17.2 17.3 17.4 17.5 17.6 卡片数 据 ..................................................................................................................................... 67 终端数 据 ..................................................................................................................................... 69 命令 ............................................................................................................................................. 70 结束操作概 述 .............................................................................................................................. 70 收到生成应用密文(GENERATE AC)命令 ............................................................................. 71 联机授权的交 易........................................................................................................................... 71 联机授权后请求AAC(拒绝) ............................................................................................ 72 联机授权后请求TC(接受) ............................................................................................... 73 卡片风险管 理 ...................................................................................................................... 75 无法联机上送后的卡片响 应 ................................................................................................ 77 17.6.1 17.6.2 17.7 17.7.1 17.7.2 17.8 17.9 请求联机操作,但是联机授权没有完 成 ...................................................................................... 75 复合动态数据认证/生成应用密文响应 ......................................................................................... 78 流程图 ......................................................................................................................................... 79 17.10 前期相关处 理 .............................................................................................................................. 85 17.11 后续相关处 理 .............................................................................................................................. 85 18. 18.1 18.2 18.3 18.4 18.5 18.6 脚本处 理 ......................................................................................................................................... 85 卡片数 据 ..................................................................................................................................... 85 终端数 据 ..................................................................................................................................... 86 发卡行脚本操作中的密钥管 理 ..................................................................................................... 86 认证响应数据 .............................................................................................................................. 88 命 令 ............................................................................................................................................. 88 处理流 程 ..................................................................................................................................... 90 授权响应报 文 ...................................................................................................................... 90 卡片脚本处 理 ...................................................................................................................... 90 卡片安全报 文 ...................................................................................................................... 90 结果指示 器 .......................................................................................................................... 91 流程 图 ................................................................................................................................. 91 18.6.1 18.6.2 18.6.3 18.6.4 18.6.5 18.7 18.8 前期相关处 理 .............................................................................................................................. 92 后续相关处 理 .............................................................................................................................. 93 卡片交易明 细 ........................................................................................................................... 93 交易明细记录文 件 ....................................................................................................................... 93 交易记录数据元............................................................................................... 错误~未定义书签。 19. 19.1 19.2 附录 ................................................................................................................................................................1 A. 卡片数据元素定 义 ..................................................................................................................................1 A.1 A.2 卡片和发卡行数据元描 述 ...............................................................................................................1 卡片和发卡行数据元需求 ............................................................................................................ 31 A.2.1 标签 (Tag) ........................................................................................................................... 31 A.2.2 需求 ......................................................................................................................................... 31 A.2.3 数据完整性(备 份) ............................................................................................................... 31 A.2.4 修改能 力 ................................................................................................................................. 32 A.2.5 取回能 力 ................................................................................................................................. 32 A.2.6 静态或动 态 .............................................................................................................................. 32 A.2.7 秘密数 据 ................................................................................................................................. 32 A.2.8 ADF或DDF数据 ..................................................................................................................... 32 A.2.9 数据需求 表 .............................................................................................................................. 33 v A.2.10 B.1 B.2 数据需求表-条件号对应 表 ................................................................................................... 41 B. 命令规范,描述卡片支持的命 令 ......................................................................................................... 42 发卡行脚本命令的基本处理原则 ................................................................................................. 43 应用锁定(APPLICATION BLOCK)命令APDU .................................................................... 43 B.2.1 定义和范 围 .............................................................................................................................. 43 B.2.2 命令报 文 ................................................................................................................................. 43 B.2.3 命令报文的数据 域 ................................................................................................................... 43 B.2.4 响应报文的数据 域 ................................................................................................................... 44 B.2.5 响应报文返回的处理状 态 ........................................................................................................ 44 B.3 应用解锁(APPLICATION UNBLOCK)命令 APDU .............................................................. 44 B.3.1 定义和范 围 .............................................................................................................................. 44 B.3.2 命令报 文 ................................................................................................................................. 44 B.3.3 命令报文的数据 域 ................................................................................................................... 44 B.3.4 响应报文的数据 域 ................................................................................................................... 44 B.3.5 响应报文返回的处理状 态 ........................................................................................................ 44 B.4 卡片锁定(CARD BLOCK)命令 APDU ................................................................................... 45 B.4.1 定义和范 围 .............................................................................................................................. 45 B.4.2 命令报 文 ................................................................................................................................. 45 B.4.3 命令报文的数据 域 ................................................................................................................... 45 B.4.4 响应报文的数据 域 ................................................................................................................... 45 B.4.5 响应报文返回的处理状 态 ........................................................................................................ 45 B.5 外部认证(EXTERNAL AUTHENTICATE)命令 APDU ........................................................ 45 B.5.1 定义和范 围 .............................................................................................................................. 45 B.5.2 命令报 文 ................................................................................................................................. 46 B.5.3 命令报文的数据 域 ................................................................................................................... 46 B.5.4 响应报文的数据 域 ................................................................................................................... 46 B.5.5 响应报文返回的处理状 态 ........................................................................................................ 46 B.6 生成应用密文(GENERATE AC)命令 APDU ......................................................................... 47 B.6.1 定义和范 围 .............................................................................................................................. 47 B.6.2 命令报 文 ................................................................................................................................. 47 B.6.3 命令报文的数据 域 ................................................................................................................... 48 B.6.4 响应报文的数据 域 ................................................................................................................... 48 B.6.5 响应报文返回的处理状 态. ....................................................................................................... 49 B.7 取数据(GET DATA)命令 APDU ............................................................................................ 49 B.7.1 定义和范 围 .............................................................................................................................. 49 B.7.2 命令报 文 ................................................................................................................................. 50 B.7.3 命令报文的数据 域 ................................................................................................................... 51 B.7.4 响应报文的数据 域 ................................................................................................................... 51 B.7.5 响应报文返回的处理状 态 ........................................................................................................ 51 B.8 取处理选项(GET PROCESSING OPTIONS)命令 APDU..................................................... 51 B.8.1 定义和范 围 .............................................................................................................................. 51 B.8.2 命令报 文 ................................................................................................................................. 51 B.8.3 命令报文的数据 域 ................................................................................................................... 52 B.8.4 响应报文的数据 域 ................................................................................................................... 52 B.8.5 响应报文返回的处理状 态 ........................................................................................................ 52 vi B.9 内部认证(INTERNAL AUTHENTICATE)命令 APDU ........................................................ 52 B.9.1 定义和范 围 .............................................................................................................................. 52 B.9.2 命令报 文 ................................................................................................................................. 52 B.9.3 命令报文的数据 域 ................................................................................................................... 53 B.9.4 响应报文的数据 域 ................................................................................................................... 53 B.9.5 响应报文返回的处理状 态 ........................................................................................................ 53 B.10 PIN修改/解锁(PIN CHANGE/UNBLOCK)命令 APDU........................................................ 53 B.10.1 B.10.2 B.10.3 B.10.4 B.10.5 B.11.1 B.11.2 B.11.3 B.11.4 B.11.5 B.11.6 定义和范 围 .......................................................................................................................... 53 命令报 文 ............................................................................................................................. 53 命令报文的数据 域 ............................................................................................................... 54 响应报 文的数据域 ............................................................................................................... 55 响应报文返回的处理状 态 .................................................................................................... 56 定义和范 围 .......................................................................................................................... 56 命令报 文 ............................................................................................................................. 56 命令报文的数据 域 ............................................................................................................... 57 响应报 文的数据域 ............................................................................................................... 57 响应报文返回的处理状 态 .................................................................................................... 57 SW2 ................................................................................................................................. .... 57 B.11 设置数据(PUT DATA)命令 APDU ......................................................................................... 56 B.12 读记录(READ RECORD)命令 APDU .................................................................................... 58 B.12.1 B.12.2 B.12.3 B.12.4 B.12.5 B.13.1 B.13.2 B.13.3 B.13.4 B.13.5 B.14.1 B.14.2 B.14.3 B.14.4 B.14.5 B.15.1 B.15.2 B.15.3 B.15.4 B.15.5 C.1 定义和范 围 .......................................................................................................................... 58 命令报 文 ............................................................................................................................. 58 命令报文的数据 域 ............................................................................................................... 58 响应报文的数据域 ............................................................................................................... 59 响应报文返回的处理状 态 .................................................................................................... 59 定义和范围 .......................................................................................................................... 59 命令报 文 ............................................................................................................................. 59 命令报文数据 域 ................................................................................................................... 60 应答报文数据域 ................................................................................................................... 60 应答报文状态 码 ................................................................................................................... 62 定义和范围 .......................................................................................................................... 62 命令报 文 ............................................................................................................................. 62 命令报文的数据 域 ............................................................................................................... 63 响应报文的数据域 ............................................................................................................... 63 响应报文返回的处理状 态 .................................................................................................... 63 定义和范 围 .......................................................................................................................... 64 命令报 文 ............................................................................................................................. 64 命令报文的数据 域 ............................................................................................................... 65 响应报 文的数据域 ............................................................................................................... 65 响应报文中的处理状 态 ........................................................................................................ 65 B.13 选择 (SELECT)命令 APDU .................................................................................................... 59 B.14 修改 记录(UPDATE RECORD)命令 APDU ........................................................................... 62 B.15 校验(VERIFY)命 令APDU ..................................................................................................... 64 C. 安全 报 文...................................................................................................................................... ........ 65 安全报文格 式 .............................................................................................................................. 65 vii C.2 报文完整性和认证 (MACing) .................................................................................................. 66 C.2.1 MAC位 置 ................................................................................................................................ 66 C.2.2 MAC长 度 ................................................................................................................................ 66 C.2.3 MAC密钥生 成 ......................................................................................................................... 66 C.2.4 MAC计 算 ................................................................................................................................ 66 C.3 数据加 密 ..................................................................................................................................... 67 C.3.1 数据加密密钥计 算 ................................................................................................................... 67 C.3.2 加密数据的结 构 ....................................................................................................................... 67 C.3.3 数据加密计 算 .......................................................................................................................... 68 C.3.4 数据解密计 算 .......................................................................................................................... 69 C.4 C.5 D.1 D.2 D.3 D.4 生成过程密 钥 .............................................................................................................................. 69 命令中的安全报 文 ....................................................................................................................... 70 数 据 源 .................................................................................................................................... ..... 70 生成TC,AAC和 ARQC .............................................................................................................. 70 生成 授权响应密文 ARPC ............................................................................................................. 72 密钥 分散方 法 .............................................................................................................................. 73 D. 认证密钥和算 法 ................................................................................................................................... 70 E. 支持的密文版 本 ................................................................................................................................... 75 F. 算法标 识...................................................................................................................................... ........ 76 图 表 图表 6-1:交易流程图例 子 ................................................................................................................................ 8 图表 7-1:卡片目录结构例 子 .......................................................................................................................... 15 图表 7-2:使用目录方式进行应用选 择 .......................................................................................................... 17 图表 7-3:使用AID列表选择方式进行应用选 择 ........................................................................................... 18 图表 8-1:应用初始化流程 图 .......................................................................................................................... 21 图表 12-1:检查PIN尝试计数 器 ..................................................................................................................... 38 图表 12-2:脱机明文PIN处 理 ......................................................................................................................... 40 图表 15-1:卡片行为分析处理流程图 (1) .................................................................................................. 57 图表 15-2:卡片行为分析处理流程图 (2) .................................................................................................. 58 图表 15-3:卡片行为分析处理流程图 (3) .................................................................................................. 59 图表 15-4:卡片行为分析处理流程图 (4) .................................................................................................. 60 图表 15-5:卡片行为分析处理流程图 (5) .................................................................................................. 61 图表 15-6:卡片行为分析处理流程图 (6) .................................................................................................. 62 图表 16-1:联机处理流程 图 ............................................................................................................................ 66 图表 17-1:交易结束处理流程 图 .................................................................................................................... 71 图表 17-2:交易流程图 (1) .......................................................................................................................... 80 图表 17-3:交易流程图 (2) .......................................................................................................................... 81 图表 17-4:交易流程图 (3) .......................................................................................................................... 82 图表 17-5:交易流程图 (4) .......................................................................................................................... 83 图表 17-6:交易流程图 (5) .......................................................................................................................... 84 图表 18-1:MAC密钥的生成和使 用 ............................................................................................................... 87 图表 18-2:安全报文加密密钥的生成和使 用 ................................................................................................ 88 图表 18-3:发卡行脚本处理流程 图 ................................................................................................................ 92 viii 图表 C-1:使用双长度DEA密钥计算MAC的算 法 ........................................................................................ 67 图表 C-2:用双长度DEA密钥进行数据加 密 ................................................................................................. 68 图表 C-3:使用双长度DEA密钥进行数据解 密 ............................................................................................. 69 图表 D-1:TC/AAC/ARQC的生成算 法。 ...................................................................................................... 71 图表 D-2:生成ARPC的算 法 .......................................................................................................................... 73 图表 D-3:密钥分 散 .................................................................................................................................... ..... 74 图表 D-4:使用UDK执行卡片认 证 ................................................................................................................ 75 表 格 表格 6-1:卡片功能需 求 .................................................................................................................................... 9 表格 6-2:命令支持需 求 .................................................................................................................................. 10 表格 7-1:应用选择——卡片数 据 .................................................................................................................. 12 表格 7-2:应用选择——终端数 据 .................................................................................................................. 13 表格 7-3:AID匹配例 子 .................................................................................................................................. 16 表格 8-1:应用初始化——卡片数 据 .............................................................................................................. 19 表格 8-2:应用初始化——终端数 据 .............................................................................................................. 20 表格 9-1:读应用数据——卡片数 据 .............................................................................................................. 22 表格 9-2:读应用数据——卡片文 件 .............................................................................................................. 23 表格 10-1:脱机数据认证——卡片数 据 ........................................................................................................ 24 表格 10-2:SDA中使用的卡片数 据 ................................................................................................................ 25 表格 10-3:脱机数据认证——DDA卡片数 据 ............................................................................................... 27 表格 10-4:脱机数据认证——DDA处理中卡片内部数据 元 ....................................................................... 27 表格 10-5:脱机数据认证——终端数 据 ........................................................................................................ 27 表格 11-1:处理限制——卡片数 据 ................................................................................................................ 30 表格 11-2:处理限制——终端数 据 ................................................................................................................ 31 表格 11-3:应用用途控制 (AUC) ............................................................................................................... 32 表格 12-1:CVM列表处理——卡片数 据 ....................................................................................................... 33 表格 12-2:CVM列表例 子 .............................................................................................................................. 35 表格 12-3:脱机PIN处理——卡片数 据 ......................................................................................................... 36 表格 12-4:PIN处理——终端数 据 ................................................................................................................. 36 表格 13-1:终端风险管理——卡片数 据 ........................................................................................................ 41 表格 13-2:终端风险管理——终端数 据 ........................................................................................................ 42 表格 14-1:终端行为分析——卡片数 据 ........................................................................................................ 44 表格 14-2:请求密文处理——卡片数 据 ........................................................................................................ 45 表格 14-3:检查脱机处理结果——终端数 据 ................................................................................................ 45 表格 14-4:请求密文处理——终端数 据 ........................................................................................................ 45 表格 15-1:卡片行为分析——卡片数 据 ........................................................................................................ 47 表格 15-2:卡片行为分析——终端数 据 ........................................................................................................ 49 表格 15-3:卡片风险管理检 查 ........................................................................................................................ 50 表格 15-4:卡片响应第一个生成应用密文命 令 ............................................................................................ 55 表格 16-1:生成应用密文响应——卡片数 据 ................................................................................................ 63 表格 16-2:决定发卡行认证——卡片数 据 .................................................................................................... 63 表格 16-3:联机处理,发卡行认证——卡片数 据 ........................................................................................ 64 表格 16-4:联机处理——终端数 据 ................................................................................................................ 64 ix 表格 17-1:交易结束——卡片数 据 ................................................................................................................ 67 表格 17-2:生成应用密文命令响 应 ................................................................................................................ 68 表格 17-3:交易结束——终端使用的卡片数 据 ............................................................................................ 69 表格 17-4:交易结束——终端数 据 ................................................................................................................ 69 表格 18-1:发卡行脚本处理——卡片数 据 .................................................................................................... 85 表格 18-2:发卡行脚本处理——终端数 据 .................................................................................................... 86 表格 18-3:发卡行脚本处理——联机响应数 据 ............................................................................................ 88 表格 A-1:卡片和终端的数据元描 述 ............................................................................................................... 1 表格 A-2:数据需 求 .................................................................................................................................... ..... 33 表格 A-3:条件号对应条 件 ............................................................................................................................. 41 表格 B-1:APPLICATION BLOCK命令报 文 ................................................................................................ 43 表格 B-2:APPLICATION UNBLOCK命令报 文 ........................................................................................... 44 表格 B-3:CARD BLOCK命令报 文 ............................................................................................................... 45 表格 B-4:EXTERNAL AUTHENTICATE命令报 文 .................................................................................... 46 表格 B-5:生成应用的密文类 型 ..................................................................................................................... 47 表格 B-6:GENERATE AC命令报 文 ............................................................................................................. 47 表格 B-7:GENERATE AC引用控制参 数 ..................................................................................................... 47 表格 B-8:GENERATE AC响应报文数据域格式 1 ....................................................................................... 48 表格 B-9:密文信息数据编 码 ......................................................................................................................... 49 表格 B-10:使用GET DATA命令访问的静态数 据 ....................................................................................... 50 表格 B-11:GET DATA命令报 文 ................................................................................................................... 50 表格 B-12:GET PROCESSING OPTIONS命令报 文 .................................................................................... 51 表格 B-13:GET PROCESSING OPTIONS响应报文数据域格 式 ................................................................ 52 表格 B-14:INTERNAL AUTHENTICATE命令报 文 ................................................................................... 52 表格 B-15:PIN CHANGE/UNBLOCK命令报 文 ........................................................................................... 54 表格 B-16:使用PUT DATA命令修改的数 据 ............................................................................................... 56 表格 B-17:PUT DATA命令报 文 ................................................................................................................... 56 表格 B-18:PUT DATA命令的警告响应 码 ................................................................................................... 57 表格 B-19:READ RECORD命令报 文 ........................................................................................................... 58 表格 B-20:READ RECORD命令引用控制参 数 ........................................................................................... 58 表格 B-21:READ RECORD响应报文数据 域 ............................................................................................... 59 表格 B-22:SELECT命令报 文 ........................................................................................................................ 59 表格 B-23:SELECT命令引用控制参 数 ........................................................................................................ 59 表格 B-24:SELECT命令的可选参 数 ............................................................................................................ 60 表格 B-25:选择PSE的应答报文 (FCI) .......................................................................................................... 60 表格 B-26:选择DDF的应答报文 (FCI) ......................................................................................................... 61 表格 B-27:选择ADF的应答报文 (FCI) ......................................................................................................... 61 表格 B-28:UPDATE RECORD命令报 文 ...................................................................................................... 62 表格 B-29:UPDATE RECORD命令引用控制参 数 ...................................................................................... 62 表格 B-30:UPDATE RECORD命令的警告响应 码 ...................................................................................... 63 表格 B-31:UPDATE RECORD命令的错误响应 码 ...................................................................................... 63 表格 B-32:VERIFY命令报 文......................................................................................................................... 64 表格 B-33:VERIFY命令参考数据定义 (P2) ............................................................................................ 64 表格 D-1:TC/AAC/ARQC数据元顺 序 .......................................................................................................... 70 表格 E-1:生成TC/AAC和ARQC的数 据 ....................................................................................................... 75 x xi 1.引言 《中国金融集成电路(IC)卡借记/贷记应用卡片规范》从卡片角度根据交易流程描述了芯片卡和终端在PBOC借记贷记交易中相关的技术细节,包括卡片内部处理细节、所使用数据元、卡片支持的指令集等。 2.范围 《中国金融集成电路(IC)卡借记/贷记应用卡片规范》适用于由银行发行或接受的金融借记/贷记IC卡。其使用对象主要是与金融借记贷记IC卡应用相关的卡片、制造、管理、发行、受理以及应用系统的研制、开发、集成和维护等部门(单位)。 3.参考资料 EMV规范文档 4.0, Book 1, Application Independent ICC to Terminal Interface Requirements Card Specification for Payment Systems,Version 4.0, Book 2, Security and Key Management 4.0, Book 3, Application Specification ons for Payment Systems,Version 4.0, Book 4, Cardholder, Attendant and Acquirer InterfaceRequirements VIS规范文档 Integrated Circuit Card Terminal Specification , Version 1.4.0 中国集成电路(IC)卡文件 《中国金融集成电路(IC)卡规范》第1部分:卡片规范 (V1.0) 《中国金融集成电路(IC)卡规范》第2部分:应用规范 (V1.0) 《中国金融集成电路(IC)卡规范》第3部分:终端规范 (V1.0) 4.定义 以下定义适用于本规范: 1 应用Application 卡片和终端之间的应用和相关的数据集 命令 Command 终端向IC卡发出的一条信息,该信息启动一个操作或请求一个应答 密码 Cryptogram 加密运算的结果 金融交易 Financial 持卡人、商户和收单行之间基于收、付款方式的商品或服务交换行为 Transaction 功能 Function 由一个或多个命令实现的处理过程,其操作结果用于完成全部或部分交易 集成电路Integrated 完成处理和/或存储功能的电子器件 Circuit(IC) 集成电路卡(IC卡) 内部封装一个或多个集成电路用于执行处理和存储功能的卡片 Integrated Circuit(s) Card 接口设备 Interface 终端上插入IC卡的部分,包括其中的机械和电气部分 Device 发卡行行为代码(Issuer 发卡行根据TVR的内容选择的动作。 Action Code) 磁条 Magstripe 包括磁编码信息的条状物 路径 Path 没有分隔的文件标识符的连接 支付系统环境 Payment 当符合本规范的支付系统应用被选择,或者用于支付系统应用目的的目录System Environment 定义文件(DDF)被选择后,IC卡中所确立的逻辑条件 响应 Response IC卡处理完收到的命令报文后,返回给终端的报文 脚本(Script) 发卡行向终端发送的命令或命令序列,目的是向IC卡连续输入命令。 终端 Terminal 为完成金融交易而在交易点安装的设备,用于同IC卡的连接。它包括接口 设备,也可包括其它部件和接口,例如与主机通讯的接口 终端行为代码(Terminal 终端行为代码(缺省、拒绝、联机)反映了收单行根据TVR的内容选择的动Action Code) 作。 5.缩略语和符号表示 以下缩略语和符号表示适用于本规范: AAC 应用认证密文(Application Authentication Cryptogram) AAR 应用授权参考(Application Authorization Referral) AC 应用密文(Application Cryptogram) ADA 应用缺省行为(Application Default Action) ADF 应用数据文件(Application Definition File) 2 AEF 应用基 AFL 应用文件定位器(Application File Locator) AID 应用标识符(Application Identifier) AIP 应用交互特征(Application Interchange Profile) APDU 应用协议数据单元(Application Protocol Data Unit) ARPC 授权响应密文(Authorization Response Cryptogram) ARQC 授权请求密文(Authorization Request Cryptogram) ATC 应用交易序号(Application Transaction Counter) ATM 自动柜员机(Automated Teller Machine) AUC 应用用途控制(Application Usage Control) BER 基本编码规则(Basic Encoding Rules) CA 认证中心(Certificate Authority) CAM 联机卡片认证(Card Authentication Method) CDA 复合动态数据认证/应用密文生成 CDOL 卡片风险管理数据对象列表(Card Rish Management Data Object List) CID 密文信息数据(Cryptogram Information Data) CLA 命令报文的类别字节(Class Byte of the Command Message) cn 压缩数字格式(compress numeric) C-TPDU 命令TPDU(Command TPDU) CVM 持卡人验证(Cardholder Verification Method) CVR 卡片验证结果(Card Verification Results) DDA 动态数据认证(Dynamic Data Authentication) DDF 目录数据文件(Directory Definition File) DDOL 动态数据认证数据对象列表(Dynamic Data Authentication Data Object List)DF 专用文件(Dedicated File) DIR 目录(Directory) DOL 数据对象列表(Data Object List) GPO 获取处理选项(GET PROCESSING OPTIONS) EF 基 3 EMV Europay MasterCard VISA FCI 文件控制信息(File Control Information) IAC 发卡行行为代码(Issuer Action Code) IC 集成电路(Integrated Circuit) IC卡 集成电路卡(Integrated Circuit Card) Lr 响应数据域的长度(Length of Response Data Field) M 必备(Mandatory) MAC 报文鉴别代码(Message Authentication Code) MDK 主密钥(Master DEA Key) MF 主文件(Mater File) n 数字型(Numeric) O 可选(Optional) P1 参数1(Parameter 1) P2 参数2(Parameter 2) P3 参数3(Parameter 3) PAN 主帐号(Primary Account Number) PBOC 中国人民银行(People Bank of China) PKI 公钥基础设施(Public Key Infrastructure) PIN 个人识别码(Personal Identification Number) PIX 专用应用标识符扩展(Proprietary Application Identifier Extension) RFU 保留(Reserved for Future Use) RID 注册应用提供商标识(Registered Application Provider Identifier) R-TPDU 响应TPDU(Response TPDU) SAD 签名的静态应用数据(Signed Static Application Data) SDA 静态数据认证(Static Data Authentication) SFI 短文件标识符(Short File Identifier) SW1 状态字1(Status Word One) SW2 状态字2(Status Word Two) TAC 终端行为代码(Terminal Action Code) 4 TC TDOL TLV TSI TVR UDK 专用的 必须 应该 交易证书(Transaction Certificate) 交易证书数据对象列表(Transaction Certificate Data Object List) 标签、长度、值(Tag Length Value) 交易状态信息(Transaction Status Information) 终端验证结果(Terminal Verification Results) 子密钥(Unique DEA Key) 本规范内未定义或/和超出本规范范围的 表示强制的要求 表示推荐的要求 6.概述 本章概述了PBOC借记/贷记交易。交易流程图画出了交易中各功能的执行顺序。本章最后描述了卡片和终端支持的功能和命令要求。 6.1 功能概述 下面是PBOC借记/贷记交易处理中用到的功能。有些强制功能中的某些步骤是可选。没有标注强制的功能是可选,是否执行要由卡片或终端中的参数决定。 6.1.1 应用选择 (强制) 面对一张PBOC借记/贷记卡片,终端要决定哪些是卡片和终端都支持的应用。终端显示所有两方都支持的应用,由持卡人选择哪一个应用用于支付。如果这些应用不能在终端显示出来,终端选择由发卡行在卡片个人化时指定的优先级最高的应用。 6.1.2 应用初始化/读应用数据(强制) 在选择了PBOC借记/贷记应用以后,终端要求卡片明确应用支持的数据和功能。根据应用的不同情况(国内或国外)卡片确定的数据或者支持的功能可能不同。终端读出卡片指定的数据,使用支持功能列表决定要执行的处理流程。 6.1.3 脱机数据认证(可选) 根据终端与卡片的支持情况,由终端决定是否使用脱机静态或动态数据认证进行卡片脱机认证。 静态数据认证(SDA)验证卡片中的重要数据在发卡后是否被篡改。终端使用卡片中的发卡行公钥验证卡片中的静态(不变)数据,发卡行公钥保存在卡片中的发卡行公钥证书中。数字签名包括一个重要数据哈希结果,使用发卡行私钥签名加密。还原出的哈希值与实际应用数据所产生的哈希值匹配证实了数据并未被修改。 动态数据认证(DDA)验证卡片中的重要数据在发卡后是否被篡改,同时验证卡片是否伪卡。DDA有两种形式:标准DDA和复合动态数据认证/应用密文生成(CDA)。这两种方式中,终端使用类似SDA 5 的方法验证卡片中的静态数据。 标准DDA,终端请求卡片使用来自卡片和终端的动态数据和IC卡私钥生成一个动态签名密文。终端使用从卡片中恢复出来的IC卡公钥对动态签名密文解密。恢复的数据和原始数据匹配验证了此卡片不是从一张合法卡片通过复制数据而生成的伪卡。 CDA,动态签名密文生成和卡片行为分析处理阶段的生成卡片应用密文组合在一起以确保应用密文来自有效的卡片。 6.1.4 交易处理限制(强制) 终端执行交易处理限制判断交易是否允许进行。终端检查卡片的有效期是否达到,卡是否失效,卡片和终端的应用版本是否匹配,应用用途控制(AUC)限制是否生效。发卡行可以使用AUC限制卡片的应用,包括:国内、国外,现金,货物,服务或返现。 6.1.5 持卡人验证(强制) 持卡人认证可以用来确保持卡人是合法而且卡片没有遗失或被盗。终端使用一个卡片中的卡片认证方式(CVM)列表数据决定认证的执行方式。CVM列表建立了持卡人认证方式优先级别,根据终端能力和交易特性提示用户采用特定的持卡人认证方式。如果持卡人认证方式是脱机PIN,终端提示持卡人输入PIN并传送持卡人输入的PIN到卡片中,卡片比较输入的PIN和卡片中的PIN值。CVM也可能指定联机PIN,签名或不需要持卡人认证。 如果卡片不支持CVM处理,或卡片中不存在CVM,终端可能使用一个缺省的CVM。 6.1.6 终端风险管理(强制) 终端风险管理检查交易是否超过了最低限额,账号是否在终端异常文件中,连续脱机交易次数是否超过了限制次数,是否新卡,以及商户是否强制进行联机,有些交易可能被随机的选择联机处理。 终端风险管理也包括可选的频度检查,终端使用卡片中的数据进行检查。在终端行为分析过程中要考虑终端频度检查的结果。 6.1.7 终端行为分析(强制) 终端行为分析根据脱机数据认证,交易处理限制,终端风险管理结果,持卡人验证结果和卡片和终 6 端里设置的规则来决定交易应该接受脱机,送去联机授权或拒绝。卡片规则在由卡片送给终端的发卡行行为代码(IACs)数据域中设置。支付系统的规则在终端行为代码(TACs)中设置。在决定了交易的处理结果后,终端向卡片请求一个应用密文。应用密文的类型取决于交易的处理结果:接受交易是交易证书(TC),联机是授权请求密文(ARQC),拒绝是应用认证密文(AAC)。终端请求中指明交易是否符合执行CDA。 6.1.8 卡片行为分析(强制) 收到终端发来的应用密文请求后,卡片执行卡片行为分析。卡片可以执行卡片风险管理,以决定是否改变由终端做出的交易处理结果。可以包括的检查有前次没完成的联机交易,前次交易中发卡行认证失败或脱机数据认证失败,频度检查的交易次数和金额总量是否达到限制数。卡片可以将终端请求的脱机接受改成联机授权或脱机拒绝。卡片不能推翻终端做出的拒绝交易的决定。 检查完成后,卡片使用应用数据和卡片中的一个对称密钥生成应用密文,返回给终端。对于脱机接受的交易,TC和用来生成TC的数据通过清算报文传送,用于未来持卡人争议或退单处理。TC可以作为一个交易“证据”当一个持卡人质疑一笔交易的时候用来证明商户或收单行没有修改交易数据。对于脱机拒绝交易,密文类型为AAC。对于请求联机授权的交易,密文类型为ARQC。 当卡片作出接受交易的结论(卡片返回TC)后,卡片会记录交易明细。 6.1.9 联机处理(可选) 如果卡片和终端决定交易需要一个联机授权,而且终端具有联机能力,则终端传送一个联机授权报文给发卡行。这个报文包括ARQC密文,生成ARQC的数据和脱机处理结果指示器。在联机处理阶段,发卡行使用一个名为联机卡片认证(CAM)的处理过程验证ARQC来鉴别卡片。发卡行可以在它的授权决定中考虑CAM和脱机处理的结果。 传送回终端的授权响应报文包括一个发卡行生成的授权响应密文(ARPC)(由ARQC,授权响应码和卡片对称密钥生成)。这个响应也可能包括称为发卡行脚本的二次发卡(post-issuance)更新。 如果授权响应包含ARPC而且卡支持发卡行认证,卡片通过验证ARPC执行发卡行认证,校验响应来自真实的发卡行(或其代理)。一旦发卡行认证成功,卡片可以重新设置卡片中一些和风险控制相关的参数。这样阻止了通过模拟联机处理和伪造接受交易来重新设置计数器和指示器攻击卡片的安全特性。如果发卡行认证失败,卡片的后续交易将联机进行授权直到发卡行认证成功。发卡行可以选择当发卡行认证失败时设置卡片拒绝交易。 6.1.10 交易结束(强制) 卡片和终端执行最后的交易结束处理。一个发卡行接受的交易可能因为发卡行认证结果和卡片中的发卡行编码参数而被修改为拒绝。卡片使用交易处理结果、发卡行认证结果和发卡行编码规则决定是否重新设置基于卡片的计数器和指示器(位)。卡片接受交易生成TC,拒绝交易生成AAC。 如果终端在授权报文后传送一个清算报文,TC要在清算报文中。 当卡片作出接受交易的结论(卡片返回TC)后,卡片会记录交易明细。 6.1.11 发卡行到卡片的脚本处理(可选) 如果发卡行在授权响应报文中包括了更新脚本,终端传递这些脚本命令给卡片。在处理更新之前,卡片执行安全校验确保脚本来自认证过的发卡行而且在传输过程中没有被修改。支持的脚本命令允许更新脱机处理参数,锁定和解锁应用,锁卡,重新设置脱机PIN尝试计数器,修改脱机PIN值。 7 1 - 如果支持DDA 2 - 在脱机PIN过 程中可选 3 - 如果支持脱机 PIN 图表 6-1:交易流程图例子 8 6.2 强制与可选功能 6.2.1 卡片功能需求 PBOC借记/贷记卡片必须支持下表中列出的强制功能。可选功能由发卡行或者 市场需求来决定。如果相关条件满足,有条件的功能也要支持。 表格 6-1:卡片功能需求 9 6.2.2 命令支持需求 卡片支持的命令在下表中描述。 表格 6-2:命令支持需求 10 7.应用选择 应用选择处理决定了选择哪一个卡片和终端都支持的应用来完成交易。这一处理分为两个步骤: 1. 终端建立终端和卡片都支持的应用列表 2. 从列表中确定一个应用来处理交易。 7.1 卡片数据 应用选择使用的卡片数据元和简单描述在下表中列出。附录A 卡片和发卡行数据元表中有这些数据元以及他们的使用的详细描述。 11 表格 7-1:应用选择——卡片数据 12 7.2 终端数据 应用选择使用的终端数据在下表中描述。终端数据的详细描述可参考终端规范。 表格 7-2:应用选择——终端数据 7.3 命令 选择(SELECT) 选择命令在附录B中有详细描述。 终端发送SELECT命令给卡片获取卡片支持的应用信息。应用信息包括发卡行 参数,例如:选择应用的优先级别,应用名称,语言优先级。命令中既可以包括支付系统环境目录名称(用于目录选择方式),一个目录名,或者一个被请求的AID(用于AID列表选择方式)。 命令的P1参数表明应用是按照名称方式选择的。P2参数表明在支持AID后缀的情况下是否有另外使用同样AID的应用被请求(当卡片支持多应用使用同样AID的时候) 命令可以有下列SW1 SW2返回状态码: ——SELECT命令成功返回 ——卡片不支持目录选择方式(命令中包括支付系统环境名称)和文件未找到 13 ——选择的文件没有找到或已经是相同AID的最后一个文件而P2参数指定还有下一个相 同AID的应用可选(命令包含AID) ——卡片锁定或命令不支持 ——应用锁定 如果卡片包括一个PDOL,PDOL作为FCI的一部分包括在SELECT命令的响应信息中。在应用初始化处理中终端将PDOL中指定的数据送入卡片。 读记录(READ RECORD) READ RECORD命令在附录B中有详细描述。 当使用目录选择方式时,READ RECORD命令用来读取支付系统环境目录中的记录。只有在一个ADF或DDF选择以后使用。命令包括要读取文件的短文件标识符(SFI)和文件中的记录号。 卡片在响应信息中返回请求的记录内容。SW1 SW2可以有下列返回值: ——成功执行 ——记录号不存在 7.4 建立候选应用列表 终端使用两种方法建立卡片和终端都支持的应用列表。 目录选择方式对于终端是强制要求,对于卡片是可选的。终端应优先选择此方式。终端从卡片 中读取支付系统环境文件。此文件列出卡片支持的所有支付应用。终端将卡片列表和终端列表中都有的应用加入候选列表中 列表选择方式是卡片和终端都强制要求的。终端为每一个终端支持的应用发送一个 SELECT命令给卡片。如果卡片响应指出卡片支持此应用,终端加此应用到候选列表。 7.4.1 目录选择方式 从卡片角度来看,目录选择方式处理包括下列步骤: 1. 卡片接收一个来自终端的SELECT命令,请求选择PSE(文件名“1PAY.SYS.DDF01”)。 如果卡片锁定或者SELECT命令不支持,卡片响应SW1 SW2=“6A81”。 如果卡片中没有PSE,卡片响应SELECT命令指出文件不存在(SW1 SW2=“6A82”) 如果PSE锁定,卡片响应“6283” 如果PSE找到,卡片响应“9000”返回PSE的FCI。 2. 如果PSE找到,卡片接受终端发出的表明短文件标识和记录号的READ RECORD命令,卡片 对每一个READ RECORD命令响应请求的记录内容和返回状态码SW1 SW2=“9000”。当请求的记录不存在,卡片返回SW1 SW2=“6A83”。 3. 终端处理记录中的每一个入口。如果入口表明一个DDF,终端发一个有此DDF名字的SELECT 命令,卡片响应DDF的FCI。FCI包括一个目录文件的SFI。 终端读取属于此DDF的目录文件中的所有记录,卡片对每个READ RECORD命令返回请求的记录和状态码“9000”。当请求的记录不存在,卡片响应“6A83”,终端返回步骤2继续读PSE下的目录文件。 终端执行的步骤显示在下图所示: 14 1. 从支付系统目录读记录1。 2. 检查ADF入口1或2中的AID是否和终端AIDs匹配。如果匹配,加入候选列表。 3. 从支付系统目录读记录2。 4. 选择记录2中入口1指出的DDF目录 5. 读DDF目录文件中的记录1。 6. 检查记录1中ADF入口1或2中的AID是否和终端AID匹配。如果匹配,加入候选列表。 7. 当卡片响应目录中没有其它记录时,返回前一个目录的处理入口和记录。 8. 检查支付系统目录文件中记录2内入口2是否和终端AID匹配。如果匹配,加入候选列表。 9. 当卡片响应支付系统目录中没有其它记录,建立候选列表结束。 图表 7-1:卡片目录结构例子 15 7.4.2 AID列表选择方式 从卡片的角度来看,AIDs列表选择方式包括下列步骤: 1. 卡片收到终端发来SELECT命令,命令包括终端支持的应用列表中的AID。卡片检查是否卡 片中有匹配的AID应用(卡片AID长度可以长于终端AID,但仍然认为匹配)。 AID匹配的例子在下表中显示。 表格 7-3:AID匹配例子 ”)。 如果卡片找不到匹配的AID,卡片响应状态码SW1 SW2=“6A82”指明应用没找到。 如果卡片锁定或不支持SELECT命令,卡片响应状态码SW1 SW2=“6A81”指明交易应 被中止。 2. 如果匹配的卡片AID长度比终端AID长,卡片在SELECT命令响应信息中返回完整的AID给 终端。 卡片接收终端发来的第二个SELECT命令,参数P2设置为“02”表明卡片要选择有同样 AID的下一个应用。 卡片选择下一个应用并在SELECT命令响应中提供这一应用给终端。 当卡片不再有应用有此AID,卡片响应“6A82”表明所有匹配的应用都已经选择。 7.5 确定和选择应用 如果候选列表中至少有一个双方都支持的应用,终端和持卡人决定选择哪个应用。终端发一个SELECT命令给卡片指出此应用确认用来处理交易。如果卡片决定此应用可以处理交易,响应“9000”。如果应用锁定,卡片响应“6283”。 16 7.6 流程图 图表 7-2:使用目录方式进行应用选择 17 图表 7-3:使用AID列表选择方式进行应用选择 7.7 后续相关流程 应用初始化 18 终端发送取处理选项(GET PROCESSING OPTIONS)命令给卡片,如果在应用选择时SELECT命令的响应信息中包括PDOL,GPO命令中包括PDOL中指定的终端数据,例如交易日志记录里需要的终端数据。 如果某些限制不允许选择的应用做初始化,终端中止应用并返回应用选择步骤选择另一个应用。 8.应用初始化 在应用初始化处理中,终端通过发送GET PROCESSING OPTIONS命令给卡片通知卡片交易处理开始。在命令中,终端提供给卡片在处理选项数据对象列表(PDOL)中请求的数据元。PDOL(一个数据元标签和长度的列表)是在应用选择处理中由卡片返回给终端的可选数据项。 卡片对GPO命令的响应信息包括:AIP和AFL。AIP列出了交易在处理过程中执行的功能;AFL列出交易需要读出的数据存放的短文件标识符、记录号、记录个数以及脱机数据认证需要的静态签名数据的存放位置。 8.1 卡片数据 应用初始化处理使用的卡片数据在下表中列出。 表格 8-1:应用初始化——卡片数据 19 8.2 终端数据 在应用初始化处理中使用的终端数据在下表中列出。 表格 8-2:应用初始化——终端数据 注:阴影部分的数据是VIS定义的PDOL处理需要的数据 8.3 命令 取处理选项(GET PROCESSING OPTIONS) 终端使用GET PROCESSING OPTIONS命令通知卡片交易开始。 命令中包含卡片在PDOL中列出的终端数据元的值部分,PDOL是卡片在应用选择阶段返回的可选数据。 卡片响应数据内容为AIP和AFL。AIP列出了交易在处理过程中执行的功能;AFL列出交易需要的数据存放的短文件标识符、记录号、记录个数以及脱机数据认证需要的静态签名数据的存放位置。 命令编码见附录B。 8.4 处理流程 卡片收到终端发送的GET PROCESSING OPTIONS命令后,卡片: 1. 如果卡片支持自定义限制检查并且处理选项命令中包括PDOL中指定的终端数据,卡片执行 自定义的限制检查。如果限制检查不通过,卡片响应“使用条件不满足”(SW1 SW2=”6985”)提示终端将当前应用从候选列表中删除并返回应用选择步骤选择另一个应用。 2. 决定要读取的文件记录,文件位置,建立AFL。针对交易的不同情况可以返回不同AFL和AIP 。 3. 如果自定义限制检查通过,卡片 a) ATC加1 b) 密文信息数据(CID)置零 c) 卡片验证结果(CVR)置零(长度指示位除外) d) 卡片返回AIP和AFL 下图显示了应用初始化处理流程图。 20 图表 8-1:应用初始化流程图 21 8.5 前期相关处理 应用选择 在SELECT命令响应的FCI中卡片提供PDOL(如果存在)给终端 8.6 后续相关处理 应用选择 如果地域限制或其它限制生效,交易返回应用选择阶段,此应用从候选列表中删除,选择另一个应用。 读应用数据 在GET PROCESSING OPTIONS命令的响应数据中,卡片返回AFL给终端,终端使用AFL决定要从卡片中读取的应用数据和那些数据用于脱机数据认证。 脱机数据认证 终端使用卡片在GET PROCESSING OPTIONS命令的响应信息中的AIP决定卡片支持的脱机数据认证的类型。 持卡人验证 终端使用卡片在GET PROCESSING OPTIONS命令的响应信息中的AIP决定卡片是否支持持卡人验证。 联机操作 终端使用卡片在GET PROCESSING OPTIONS命令的响应信息中的AIP决定卡片是否支持发卡行认证。 9.读应用数据 在读应用数据处理中,终端读出卡片中处理交易和执行SDA或DDA的必须数据。 9.1 卡片数据 下表列出在读应用数据处理中使用,在前一步应用初始化处理中卡片返回的数据。 表格 9-1:读应用数据——卡片数据 22 下表中列出读取卡片中应用基 表格 9-2:读应用数据——卡片文件 9.2 终端数据 卡片在此步骤中不使用终端数据。 9.3 命令 读纪录(READ RECORD) READ RECORD命令编码见附录B 卡片收到的命令中包括短文件标识符(SFI)和记录号。 卡片响应数据文件中的记录内容。 9.4 处理流程 卡片收到终端发送的READ RECORD命令,返回终端请求的记录内容给终端。AFL中指定的每一条记录都是用一个READ RECORD命令读出。 终端连续发READ RECORD命令,直到AFL中指定的所有记录都读出。 用于脱机数据认证的记录数据是标识为‘70’的TLV编码格式 使用READ RECORD命令读出的数据参见附录A.2。 9.5 前期相关处理 应用初始化 在应用初始化处理中,卡片返回AFL给终端指出终端要读出的数据记录。 9.6 后续相关处理 脱机数据认证 终端使用在读应用数据处理中建立的一个静态数据列表做SDA验证或DDA中使用的IC卡公钥验证。 10.脱机数据认证 脱机数据认证是终端使用公钥技术认证卡片中的数据的操作。脱机数据认证有两种类型: 静态数据认证(SDA) 23 动态数据认证(DDA) SDA是终端认证卡片中静态(不变)数据。SDA可以确保卡片在个人化之后,发卡行选定的数据不会被篡改。 DDA包括标准DDA和复合DDA/应用密文生成(CDA)两种认证方式。在DDA的处理过程中,终端认证卡片中静态数据和卡片用交易唯一数据生成的密文。DDA可以确保卡片在个人化之后,发卡行选定的数据不会被篡改;DDA还可以防止伪卡(复制)。 脱机数据认证的结果是卡片和终端决定交易脱机、联机或拒绝的参考条件之一。联机授权系统在作出认证响应决定时同样可能要参考脱机数据认证结果。 具有脱机能力的终端必须支持脱机数据认证,卡片是否支持是可选的。 10.1 密钥和证书 在安全规范“6.1密钥和证书”中描述。 10.2 决定脱机数据认证方法 终端使用卡片的应用交互特征(AIP)以及根据终端本身支持的脱机数据认证来决定是执行SDA,DDA还是CDA。 10.2.1 卡片数据 终端用来决定是否执行SDA或DDA的卡片数据在下表中列出。 表格 10-1:脱机数据认证——卡片数据 10.2.2 处理流程 一次交易中只进行一种脱机数据认证。CDA优先级高于DDA,DDA的优先级高于SDA。如果卡片和终端一种脱机数据认证都不支持,脱机数据认证不执行。 如果终端测定卡片和终端都支持CDA,执行CDA;否则,如果都支持DDA,执行DDA;否则,如果都支持SDA,则执行SDA。 用于脱机数据认证的记录数据是标识为‘70’的TLV编码格式,对于文件的SFI分别在‘1-10’和‘11-30’的这两类文件,在脱机数据认证处理过程中的数据处理不同,详细的参见本规范第二册安全部分的定义。 如果用于脱机数据认证的记录数据不是标识为‘70’的TLV编码格式,终端会认为脱机数据认证执行但是失败。终端将设置TSI中“脱机数据认证执行”位为1,同时设置TVR中相应的“SDA失败”或“DDA失败”或“CDA失败”位为1。 24 10.3 静态数据认证(SDA) 在SDA处理中,终端使用公钥技术验证卡片中的关键数据自发卡后没有被改动。 10.3.1 卡片数据 终端在SDA处理中使用的卡片数据在下表中列出。 表格 10-2:SDA中使用的卡片数据 25 下表中是和SDA相关的卡片内部数据。 表格 10-3:和SDA相关的卡片数据 10.3.2 终端数据 在SDA过程中,卡片不需要终端数据。 10.3.3 命令 SDA操作没有使用命令。 10.3.4 处理流程 在SDA处理中,终端使用公钥验证技术恢复和验证发卡行公钥,并且验证卡片中的SAD。详细描述见安全规范6.2静态数据认证(SDA).。概括的描述如下: 1. 检索CA公钥 终端使用卡片中的PKI和RID确定使用哪一个CA公钥 2. 恢复发卡行公钥 终端使用CA公钥验证卡片中的发卡行证书并恢复证书中的发卡行公钥 3. 验证签名的静态应用数据 a) 恢复哈希结果 b) 计算哈希 c) 比较哈希结果 如果所有的SDA步骤都成功,SDA通过。 10.4 动态数据认证(DDA) 在DDA处理中,终端使用公钥技术验证卡片中关键数据自发卡后没有被改动,同时验证卡片是否是伪卡。 PBOC支持两种DDA形式:标准DDA和CDA。在这两种方式里,终端验证卡片中的静态数据没有修改,同时验证一个卡片生成的动态密文。在标准DDA中,卡片在执行卡片行为分析之前,响应内 26 部认证命令时使用卡片、终端和交易的动态数据生成动态签名。在CDA中,卡片在响应生成应用密文命令时生成动态签名,签名中包括应用密文、密文信息数据、以及和标准DDA一样的终端、卡片和交易的动态数据。 10.4.1 卡片数据 除了SAD,SDA使用的所有数据DDA中都使用,下表中列出的数据仅用于DDA。 表格 10-4:脱机数据认证——DDA卡片数据 在DDA处理中,卡片内部使用的数据元在下表中列出。 表格 10-5:脱机数据认证——DDA处理中卡片内部数据元 10.4.2 终端数据 下表列出DDA处理中卡片使用的来自终端的数据。 表格 10-6:脱机数据认证——终端数据 27 10.4.3 命令 10.4.3.1内部认证(INTERNAL AUTHENTICATE)命令 在标准DDA处理过程中,终端发送INTERNAL AUTHENTICATE命令。命令包括了DDOL或缺省DDOL中指明的终端动态数据。 为了确保INTERNAL AUTHENTICATE命令返回数据在256字节限制内,签名的动态应用数据加上可选的TLV格式编码的长度应该限制在本规范安全部分中定义的范围内。 当卡片收到INTERNAL AUTHENTICATE命令,使用IC卡私钥生成签名的动态应用数据。在内部认证命令的返回中包含此动态签名。 具体的命令编码格式在附录B。 10.4.3.2生成应用密文(GENERATE APPLICATION CRYPTORAM (AC))命令 终端在卡片行为分析处理步骤中发送第一次GENERATE AC命令,下面两种情况满足一种,交易执行CDA: 卡片的CDOL数据中指定终端性能数据并且送回卡片的此数据表明支持CDA而且卡内的AIP 数据表明卡片也支持CDA 中没有终端性能数据而且生成应用密文命令中参数P1的第5位为“1”,表明执行CDA 。当卡片返回一个TC或ARQC时,TC或ARQC要包括在DDA密文中。具体的描述在安全规范部分 编码格式见附录B。 10.4.4 处理流程 在DDA处理步骤中,终端使用公钥技术验证卡片中的发卡行公钥证书、IC卡公钥证书和签名的动态应用数据(动态签名)。 在DDA处理过程中,卡片的唯一操作是生成动态签名。 DDA处理的详细描述在安全规范6.3动态数据认证(DDA)。下面是一个概括性的描述。 10.4.4.1标准动态数据认证(DDA) 标准DDA的处理有以下步骤 1. 检索CA公钥 终端使用卡片中的PKI和RID确定使用哪一个CA公钥 2. 恢复发卡行公钥 28 终端使用CA公钥验证卡片中的发卡行证书并恢复证书中的发卡行公钥 3. 恢复IC卡公钥 终端使用发卡行公钥验证卡片中的IC卡公钥证书并恢复证书中的IC卡公钥和静态数据哈希结果。IC卡公钥证书确保IC卡公钥的合法性。终端用卡片中的实际数据元重新计算哈希值检查是否和恢复的哈希值匹配。 4. 生成动态签名(仅用于标准DDA) 终端发送内部认证命令请求一个动态签名。命令中包括了DDOL中指定的数据。 收到内部认证命令后,卡片: a) 设置CVR中脱机动态数据认证执行位为“1”。 b) 连接内部认证命令中的终端数据和在IC卡动态数据中指定的卡片数据。详细描述见安全 规范2.3.5标准动态数据认证。 c) 用上一步连接的数据做哈希。 d) 将哈希包括在签名的动态应用数据中。 e) 使用IC卡私钥给签名的动态应用数据做签名 f) 在内部认证命令的响应信息中返回签名的动态应用数据。 5. 动态签名验证(仅用于标准DDA) 终端执行下列步骤验证动态签名: a) 使用IC卡公钥解密动态签名恢复数据元哈希值。 b) 使用动态数据元重新计算哈希。 c) 比较两个哈希是否匹配。 如果所有上述步骤成功,标准DDA通过。 10.4.4.2复合动态数据认证/应用密文生成(CDA) CDA处理包括下列步骤: 终端在读取应用数据后终端行为分析之前,执行标准DDA中步骤1到3。 剩下的卡片步骤是生成一个包括应用密文的动态签名。这一步在卡片收到生成应用密文命 令时执行。只有当交易符合CDA的执行条件,而且应用密文类型是TC或ARQC时发生。 剩下的终端步骤是验证卡片生成动态签名。这一步在联机处理过程中执行。如果验证失败, 交易拒绝。 10.5 前期相关处理 读应用数据 29 终端从卡片中读数据。如果卡片支持SDA,数据中包括发卡行公钥证书,其它和密钥相关的数据和签名的静态认证数据(SAD)。如果卡片支持DDA,那数据中也要有DDOL,IC卡公钥证书和其它和密钥相关数据。 10.6 后续相关处理 终端行为分析 终端使用SDA或DDA的结果和卡片与终端的参数决定交易是拒绝、上送联机或接受脱机交易。 卡片行为分析 如果交易符合CDA执行要求,卡片在响应终端之前,将ARQC或TC放到签名的动态应用数据中用IC卡私钥签名。 如果动态数据认证失败指示位是“1”,卡片设置CVR中上次交易动态数据认证失败,交易拒绝位为“1”。如果静态数据认证失败指示位是“1”,卡片设置CVR中一个类似的位。 如果当前交易拒绝而且终端送来的TVR中的动态数据认证失败指示位为“1”,卡片设置卡片中动态数据认证失败指示位为“1”。SDA也有类似处理。 联机操作 如果执行了CDA而且卡片返回的应用密文是ARQC或TC,终端在卡片响应生成应用密文命令后恢复并验证签名数据。 结束 当交易联机处理而且发卡行认证: 执行并通过 支持但可选并且没有执行,或 不支持 卡片中静态数据认证失败和动态数据认证失败指示位设为“0”。 如果交易拒绝而且终端送入的TVR中“CDA失败”位为“1”,卡片设置动态数据认证失败指示器为“1”。 11.处理限制 终端使用终端和卡片数据执行处理限制功能。包括检查应用版本,生效和失效日期等。 11.1 卡片数据 在处理限制过程中使用的卡片数据在下表中列出。 表格 11-1:处理限制——卡片数据 30 11.2 终端数据 在处理限制过程中使用的终端数据在下表中列出。 表格 11-2:处理限制——终端数据 11.3 处理流程 在处理限制过程中卡片不执行任何操作。下面部分描述了终端在处理限制过程中如何使用卡片数据。 11.3.1 应用版本号检查 终端比较卡片和终端中的应用版本号看是否一样。 11.3.2 应用用途控制检查 在应用用途控制处理中,终端检查交易发生地的不同情况,决定交易是否继续进行。如果在读应用数据步骤中终端读取到应用用途控制(AUC)和发卡行国家代码数据,终端检查下列应用限制: 1. 国内和国际检查 国内 终端比较发卡行国家代码和终端国家代码。如果相同,认为是国内交易。如果是国内交易,AUC中对应的国内交易类型指示位必须为“1”表明请求的服务允许进行。 举例:如果是一个现金交易,AUC中“国内现金交易有效”指示位必须为“1”。 国际 如果国家代码不同,认为是国际交易。如果是国际交易,AUC中对应的国际交易类型指示位必须为“1”表明请求的服务允许进行。 31 举例:如果是一个现金交易,AUC中“国际现金交易有效”指示位必须为“1”。 2. ATM检查 如果终端设备为ATM,AUC中ATMs有效位必须为“1”。如果终端设备不是ATM,AUC中“除ATM外的终端有效”位必须为“1”。 如果上述任何终端执行的检查失败,终端在TVR中标明“卡片产品不允许请求的服务”。 下表是AUC的编码格式,如果指示位的值为“1”说明支持此用途。 表格 11-3:应用用途控制(AUC) 11.3.3 应用生效日期检查 当卡片应用数据中包括应用生效日期时,终端执行应用生效日期检查。检查确保应用是有效的。如果应用生效日期大于交易日期,终端要在TVR中标明应用还未生效。 11.3.4 应用失效日期检查 应用失效日期检查是强制的。检查确保应用没有过期。如果应用失效日期小于交易日期,终端要在TVR中标明应用已经过期。 11.4 前期相关处理 读应用数据 终端使用READ RECORD命令取得卡片中记录数据。这些数据包括发卡行国家代码,应用版本号,应用失效日期和可选的AUC和应用生效日期。 11.5 后续相关处理 终端行为分析 32 在终端行为分析阶段,终端检查发卡行行为代码(IAC)和终端行为代码(TAC)决定交易结果。 12.持卡人验证 持卡人验证用于确保持卡人身份合法以及卡片没有丢失。 在持卡人验证处理中,终端决定要使用的持卡人验证方法(CVM)并执行选定的持卡人验证。CVM处理允许增加其它持卡人验证方法,例如生物识别等。如果使用脱机PIN方式,卡片要验证卡片内部的脱机PIN。脱机PIN验证结果包括在联机授权信息中,发卡行作授权决定的时候要考虑其验证结果。 终端使用卡片中的CVM列表规则选择持卡人验证方式。选择原则包括交易类型(现金或消费),交易金额,终端能力等。CVM列表还给终端指明如果持卡人验证失败要如何处理。 12.1 卡片数据 下表描述了CVM列表处理过程中终端使用的卡片数据。 表格 12-1:CVM列表处理——卡片数据 33 34 下面是一个发卡行如何定义CVM的例子: 例子 CVM列表 一个发卡行以下列方式验证持卡人: 所有ATM交易和返现交易使用联机PIN 如果终端支持脱机PIN,所有POS交易使用脱机PIN 如果终端不支持脱机PIN,POS交易使用签名 如果终端不支持脱机PIN或签名,不需要签名 CVM列表内容参考下表: 表格 12-2:CVM列表例子 35 卡片使用的卡片数据在下表中描述。 表格 12-3:脱机PIN处理——卡片数据 12.2 终端数据 下表列出了终端使用的数据 表格 12-4:PIN处理——终端数据 12.3 命令 脱机PIN处理中使用下列命令: 取数据(GET DATA)—终端用来从卡片中取得PIN尝试次数计数器的值, 可选。 如果卡片不支持用GET DATA命令返回PIN尝试次数计数器,卡片返回“6A88”。校验(VERIFY)——用于脱机明文PIN校验。 36 如果卡片支持脱机PIN处理就要支持VERIFY命令。 命令的响应状态码SW1 SW2可能有如下返回值: -“9000”校验成功 -“63Cx”PIN不匹配,“x”表明剩余的次数 -“6984”当在上次交易中尝试次数限制数已经超过,本次交易第一次处理VERIFY命令时返回 -“6983”当在本次交易中尝试次数限制数超过,卡片再次收到VERIFY命令时返回 12.4 处理流程 下面描述了在处理CVM列表中不同CVM时的卡片规则。 12.4.1 CVM列表处理 除了在读应用数据处理过程中提供给终端CVM列表外,卡片不作操作。 12.4.2 脱机明文PIN处理 当一个PIN传送给卡片后,卡片的处理: 1. 检查PIN尝试次数计数器 在终端决定要输入一个脱机PIN以后,终端可以发送一个GET DATA命令获取PIN尝试次数计数器值。 a) 如果卡片支持使用取数据命令返回PIN尝试次数计数器,卡片: 如果PIN尝试次数计数器为“0”,设置CVR中“PIN尝试限制数超过”位为“1”。 在GET DATA命令的响应信息中返回PIN尝试次数计数器。如果为“0”,终端不再 允许持卡人输入PIN。 b) 如果卡片不支持使用GET DATA命令返回PIN尝试次数计数器,卡片要返回“6A88”。 37 图表 12-1:检查PIN尝试计数器 2. 接收校验(VERIFY)命令 持卡人输入交易PIN以后,终端发送一个包含此被输入的交易PIN的VERIFY命令。当卡片收到VERIFY命令,卡片要设置CVR中“脱机PIN验证执行”位为“1”。 3. PIN验证 卡片执行下列PIN验证步骤: a) PIN尝试限制数已经超过,卡片: 设置CVR中“PIN尝试限制数超过”位为“1” 设置CVR中“脱机PIN验证失败”位为“1” 如果PIN尝试限制数是在上次交易中超过的,返回SW1 SW2=“6984” 如果PIN尝试限制数是在本次交易中超过的,返回SW1 SW2=“6983” b) PIN匹配 如果PIN尝试功能没有锁定,卡片进行PIN验证。如果匹配,卡片: 将PIN尝试次数计数器设置为最大值(PIN尝试限制数) 设置CVR中“脱机PIN验证失败”位为“0” 38 FY命令响应“9000” c) PIN不匹配 如果交易PIN和卡片内脱机PIN不匹配,卡片: 尝试计数器减1 设置CVR中“脱机PIN验证失败”位为“1” 卡片判断PIN尝试限制数是否超过 没有PIN尝试机会 如果PIN尝试计数器为“0”,卡片: -设置CVR中“PIN尝试限制数超过”位为“1” -如果有应用缺省行为(ADA)数据,而且ADA中“PIN尝试限制数在本次交易中超过,应用锁定”位为“1”,设置CVR中“因为PIN尝试次数超过卡片锁应用”位为“1”并且锁应用。卡片将允许当前交易执行到结束步骤。这里描述的应用锁定不会使应用或卡片永久无效。 -VERIFY命令响应“63C0” 还有尝试机会 如果PIN尝试计数器不为零,卡片响应VERIFY命令“63Cx”,x表示剩余的尝试次数。 39 图表 12-2:脱机明文PIN处理 4. 下一步处理 如果PIN核对失败而且PIN还有尝试次数,终端会提示持卡人再次输入交易PIN,并发送另一个VERIFY命令。 如果在PIN尝试次数减为零之前PIN校验成功,卡片: -PIN尝试次数计数器重置为最大值(PIN尝试限制数) -设置CVR中“脱机PIN校验失败”位为“0” 持卡人可以连续输入错误的PIN,直到尝试计数器为零。此时,终端不再给卡片发送VERIFY命令。 40 12.4.3 其它CVM处理 联机PIN或签名的持卡人验证处理过程中,卡片不执行操作。 12.5 前期相关处理 应用初始化 在GET PROCESSING OPTIONS命令响应中返回的应用交互特征(AIP)中指明卡片是否支持持卡人验证。 读应用数据 终端读出持卡认证件号、持卡认证件类型、CVM列表和其它处理CVM列表需要的卡片数据。 12.6 后续相关处理 终端行为分析 终端使用持卡人验证结果以及卡片和终端的参数决定交易是否拒绝、联机上送或接受交易。 卡片行为分析 卡片使用ADA中的参数决定当PIN尝试限制数超过是否生成通知。 卡片使用ADA参数决定当PIN尝试限制数在以前的交易中超过,交易是否拒绝或联机上送。 联机操作 CVM结果包括脱机PIN的校验结果,此数据包括在授权请求中,发卡行在作出授权决定的时候要考虑脱机PIN的验证结果。 如果CVM是联机PIN,联机请求中有加密的联机PIN。如果CVM是脱机PIN,联机授权请求中不包括此PIN值。 结束 如果终端尝试为一笔PIN尝试限制数超过的交易进行联机授权,而且尝试失败,卡片使用ADA参数决定交易是否拒绝或接受。 发卡行脚本操作 PIN修改/解锁命令用来重置PIN尝试计数器为最大值(PIN尝试限制数),也用来修改卡片中的脱机PIN值。 应用解锁命令可以用来解锁CVM处理过程中锁掉的应用。 13.终端风险管理 终端风险管理为大额交易提供了发卡行授权,确保芯片交易可以周期性的进行联机处理,防止过度欠款和在脱机环境中不易察觉的攻击。 发卡行需要支持终端风险管理。无论卡片是否支持,终端都需要支持终端风险管理。 13.1 卡片数据 终端在终端风险管理处理中使用的卡片数据在下表中列出: 表格 13-1:终端风险管理——卡片数据 41 13.2 终端数据 终端风险管理中使用的终端数据在下表中列出。 表格 13-2:终端风险管理——终端数据 13.3 命令 取数据(GET DATA)命令 42 如果终端中上次联机应用交易序号值和应用交易序号值不存在,终端发送GET DATA命令从卡片中读取上次联机应用交易序号(ATC)寄存器和应用交易序号计数器(ATC)。这些数据在终端频度检查和新卡检查时使用。 如果卡片支持终端频度检查或新卡检查,卡片要返回这些数据给终端。 如果卡片不支持终端频度检查或新卡检查,这些数据要存储为PBOC专用数据元并不能返回给终端。此时卡片响应SW1 SW2=“6A88”。 GET DATA命令,见附录B 13.4 处理流程 在终端频度检查和新卡检查中,除了响应取数据命令,卡片不做操作。 下面描述了终端在终端风险管理处理过程中如何使用卡片数据: 13.4.1 终端异常文件检查 如果有终端异常文件,终端要检查卡片中的应用主账号(PAN)是否在其中。 13.4.2 商户强制交易联机 在有联机能力的终端上,商户可以指示终端进行联机交易。在此步骤中不需要卡片数据。 13.4.3 最低限额检查 进行最低限额检查,当交易金额超过终端最低限额,交易联机上送。此步骤中不需要卡片数据。 13.4.4 随机交易选择 有脱机和联机能力的终端要执行随机选择交易联机处理。此步骤不需要卡片数据。 13.4.5 频度检查 在连续脱机次数达到一个特定的次数后,频度检查允许发卡行请求交易联机处理。发卡行可以选择不支持终端频度检查,则在个人化时,连续脱机交易的上限和下限(标签“9F14”和标签“9F23”)数据不写入卡中。 在频度检查处理中,终端发送GET DATA命令读取卡片中的上次联机ATC寄存器和ATC值。 卡片返回数据。 连续脱机交易的次数是ATC和上次联机ATC寄存器的差值。 注意:卡片在卡片行为分析处理时可以执行类似的处理。 13.4.6 新卡检查 如果终端执行新卡检查,终端检查上次联机ATC寄存器值是否为零(如果存在)。 终端发GET DATA命令给卡片读出上次联机ATC寄存器值。 注意:卡片在卡片行为分析处理时可以执行类似的处理。 13.5 前期相关处理 读应用数据 43 下列数据从卡片中读出: 应用主账号,用于终端异常文件检查 连续脱机交易上限/下限,用于终端频度检查(可选) 13.6 后续相关处理 终端行为分析 根据卡片和终端的设置,如果出现下列情况,终端作出处理决定。 卡片在终端异常文件中 商户强制交易联机 超过最低限额 交易被随机选择联机 频度检查中金额或计数器超过限制数 卡片是新卡 14.终端行为分析 在终端行为分析过程中,终端对脱机处理结果使用发卡行在卡片中设置的规则和支付系统在终端中设置的规则来决定交易是接受、拒绝还是上送联机授权。终端行为分析包括下面两个步骤: 1. 检查脱机处理结果——终端通过检查脱机处理结果,决定交易是联机上送、接受脱机或拒绝。 这个处理过程中要考虑发卡行在卡片中定义的发卡行行为代码(IACs)以及终端中定义的终端行为代码(TACs)。 2. 请求密文——终端请求卡片生成密文 终端行为分析过程中做出的交易联机或接受并不是一个最终的结果。卡片进行卡片行为分析处理时,卡片可能会推翻终端的决定。但是卡片不能推翻终端做出的交易拒绝的决定。 14.1 卡片数据 在终端行为分析处理过程中,终端使用的卡片数据在下表中列出。 表格 14-1:终端行为分析——卡片数据 44 IACs数据建议作为静态脱机数据认证用数据。 下表列出的数据是终端在之前的步骤中得到,在请求密文时使用的。 表格 14-2 :请求密文处理——卡片数据 14.2 终端数据 在终端行为分析处理过程中,终端使用的终端数据在下表中列出。 表格 14-3:检查脱机处理结果——终端数据 终端在请求应用密文时使用的终端数据元在下表中列出。 表格 14-4:请求密文处理——终端数据 45 14.3 命令 生成应用密文(GENERATE APPLICATION CRYPTOGRAM(AC)) 终端使用GENERATE AC命令请求卡片生成一个应用密文。 命令中的P1参数标明了密文类型以及是否执行CDA。命令的数据部分包括卡片在CDOL1中要求的终端数据元。CDOL1是终端在读应用记录处理过程中从卡片中读出的。当CDOL1中包含终端能力数据标签并且从终端返回终端能力数据值和卡片中的AIP表明两者都支持CDA,则执行CDA。 卡片处理GENERATE AC命令并响应。 具体的命令编码见附录B。 14.4 处理流程 14.4.1 检查脱机处理结果 终端行为分析中检查脱机处理结果步骤是完全由终端执行的,终端使用卡片中的IAC和终端中的TAC。 卡片在此步骤中没有操作。 14.4.2 请求密文处理 在请求密文处理过程中,终端发送一个GENERATE AC命令给卡片请求卡片生成一个应用密文。命令中包含CDOL1中指定的终端数据元。 当卡片收到命令后,卡片进行卡片行为分析处理。(下一章:卡片行为分析) 14.5 前期相关处理 读应用数据 在读应用数据处理中,卡片返回应用数据记录给终端,这些数据包括IAC,CDOL1等。 14.6 后续相关处理 卡片行为分析 在卡片行为分析阶段,卡片执行风险管理确定是否同意终端作出的交易拒绝、交易接受或联机上送的决定。 15.卡片行为分析 卡片行为分析允许发卡行设置在卡片内部执行频度检查和其它风险管理。本部分描述PBOC自定义的卡片风险管理,包括的检查有: 46 上次交易行为 卡片是否新卡 脱机交易计数和累计脱机金额 卡片行为分析结束后,卡片返回一个应用密文给终端。AAC表示交易拒绝,ARQC表示请求联机授权,TC表示脱机交易接受。如果卡片和终端都支持CDA, 卡片返回的ARQC或TC要作为签名的动态应用数据的一部分。 15.1 卡片数据 下表列出了在卡片行为分析处理过程中使用的卡片数据。 表格 15-1:卡片行为分析——卡片数据 47 48 15.2 终端数据 下表列出在卡片风险管理处理中是使用的终端数据。 表格 15-2:卡片行为分析——终端数据 15.3 命令 生成应用密文(GENERATE AC)命令 终端使用生成应用密文命令请求卡片提供一个应用密文。 命令中的P1参数表明了密文类型以及是否执行CDA。命令的数据部分包括CDOL1中指定的终端数据。 命令的响应信息包括应用密文和密文信息数据。如果卡片执行CDA,而且密文类型为ARQC或TC,密文要作为签名的动态应用数据使用IC卡私钥签名。具体描述在安全规范脱机数据认证部分中。 15.4 处理流程 15.4.1 卡片收到密文请求 卡片收到终端发来的GENERATE AC命令。命令的数据部分包括CDOL1中卡片指定的终端数据。 表格 15-1列出了CDOL1中支持卡片风险管理需要的数据。 15.4.2 卡片风险管理 下表总结了所有卡片风险管理检查,并标明这些检查是否强制或可选,同时描述了检查的结果。 49 如果发卡行选择执行任意一个可选的卡片风险管理检查,发卡行需要确保执行检查的数据在卡片个人化时被写入卡中,同时确保在CDOL1中列出了需要的终端数据的标签和长度。 如果指定的终端数据无效(即在GENERATE AC命令中,数据部分用零占位)卡片将跳过去处理下一个卡片风险管理检查。如果卡片中没有应用缺省行为(ADA),卡片认为该值缺省全零。 表格 15-3:卡片风险管理检查 50 15.4.3 卡片风险管理流程 卡片执行每一个卡片风险管理检查确定预设的情况是否发生,看是否有情况满足,然后执行下一个。如果有检查不被支持,卡片继续执行下一个检查。 15.4.3.1联机授权没有完成检查 如果支持发卡行认证或发卡行脚本命令,需要执行此检查。检查在上次交易中,在卡片请求一个联机授权之后,在终端接收到联机响应进行处理之前或无法联机的终端处理之前,卡片是否离开了终端设备。卡片中的联机授权指示位在上次交易请求联机授权的时候置“1”。 如果指示位设置了,卡片将请求联机处理,直到交易联机并且下面中的一个条件满足: 发卡行认证成功 发卡行认证可选并且没执行 不支持发卡行认证 注意:这些指示位在结束阶段根据发卡行认证的状态和卡片参数被重新设置 如果联机授权指示位设为“1”,卡片: 设置卡片请求联机指示位置“1”。 设置CVR中“上次联机交易没完成”位为“1”。 15.4.3.2上次交易发卡行认证失败(或强制未执行)检查 如果卡片AIP中表明支持发卡行认证,则必须执行此检查。如果上次交易发卡行认证(1)失败或 (2)强制(发卡行认证指示位表示)但是没有执行,卡片请求联机处理。 如果发卡行认证失败指示位设为“1”,卡片: 设置CVR中“上次联机交易发卡行认证失败”位为“1”。 如果应用缺省行为(ADA)中“发卡行认证失败,下次交易联机上送”位为“1”,设置卡片 请求联机指示位置“1”。 15.4.3.3上次交易静态数据认证(SDA)失败检查 如果支持SDA,此检查强制执行。检查上次脱机拒绝的交易中SDA是否失败。 51 如果SDA失败指示位为“1”,卡片设置CVR中“上次交易SDA失败而且交易拒绝”位为“1”。 15.4.3.4上次交易动态数据认证(DDA)失败检查 如果支持DDA,此检查强制执行。检查上次脱机拒绝的交易中DDA是否失败。 如果DDA失败指示位为“1”,卡片设置CVR中“上次交易DDA失败而且交易拒绝”位为“1”。 15.4.3.5上次联机交易发卡行脚本处理检查 如果支持发卡行脚本处理,此检查强制执行。使用上次联机交易处理的发卡行脚本命令计数器和脚本处理失败指示位数据元。 卡片设置CVR中第4字节的第8-5位为发卡行脚本命令计数器的值。 如果发卡行脚本失败指示位为“1”,卡片设置CVR中“上次交易发卡行脚本处理失败”位为“1”。 如果发卡行脚本失败指示位为“1”,如果ADA中“如果上次交易发卡行脚本失败,交易联机上送”位是“1”,设置卡片请求联机指示位为“1”。 15.4.3.6连续脱机交易下限频度检查 此检查可选。如果连续脱机交易次数超过此下限,卡片请求联机授权。 如果上次联机ATC寄存器和PBOC专有数据:连续脱机交易下限(标签“9F58”)存在,卡片可以执行此检查。 如果ATC和上次联机ATC寄存器的差值大于连续脱机交易下限,卡片: 设置CVR中“频度检查超过”位为“1”。 设置卡片请求联机指示位为“1”。在卡片风险管理结束时,卡片返回联机请求 15.4.3.7连续国际脱机交易(基于货币)限制数频度检查 此检查可选。如果连续脱机交易计数器(国际-货币)超过连续脱机交易限制数(国际-货币),卡片请求联机授权。此检查定义的国际脱机交易是终端发送的交易货币代码和卡片中的应用货币代码不同的交易。 如果数据应用货币代码、连续脱机交易计数器(国际-货币)、连续脱机交易限制次数(国际-货币)存在,卡片执行此检查。 卡片比较交易货币代码和应用货币代码,如果不等,而且连续脱机交易计数器(国际-货币)加1的值大于连续脱机交易限制次数(国际-货币),卡片: 设置CVR中“频度检查超过”位为“1”。 设置卡片请求联机指示位为“1”。 52 15.4.3.8连续国际脱机交易(基于国家)限制数频度检查 此检查可选。如果连续脱机交易计数器(国际-国家)超过连续脱机交易限制数(国际-国家),卡片请求联机授权。此检查定义的国际脱机交易是终端送进的终端国家代码和卡片中的发卡行国家代码不同的交易。 如果数据发卡行国家代码、连续脱机交易计数器(国际-国家)、连续脱机交易限制次数(国际-国家)存在,卡片执行此检查。 如果下面两个条件都满足: 终端国家代码和发卡行国家代码不同 连续脱机交易计数器(国际-国家)加1的值大于连续脱机交易限制次数(国际-国家) 卡片: 设置CVR中“频度检查超过”位为“1”。 设置卡片请求联机指示位为“1”。 15.4.3.9使用指定货币的脱机交易累计金额频度检查 此检查可选。如果使用应用指定货币的累计脱机交易金额超过累计脱机交易金额限制,卡片请求联机授权。 如果数据应用货币代码、累计脱机交易金额、累计脱机交易金额限制存在,卡片执行此检查。 如果下面两个条件都满足: 交易货币代码等于应用货币代码 累计脱机交易金额加本次授权金额大于累计脱机交易金额限制 卡片: 设置CVR中“频度检查超过”位为“1”。 设置卡片请求联机指示位为“1”。 15.4.3.10交易累计金额(双货币)频度检查 此检查可选。如果使用应用指定货币和第二应用货币并接受脱机的累计脱机交易金额超过累计脱机交易金额限制(双货币),卡片请求联机授权。 如果数据应用货币代码、第二应用货币代码、货币转换因子、累计脱机交易金额(双货币)、累计脱机交易金额限制(双货币)存在,卡片执行此检查。 如果交易货币代码等于应用货币代码,累计脱机交易金额(双货币)加本次授权金额和累计脱 机交易金额限制(双货币)进行比较 如果交易货币代码等于第二应用货币代码,使用货币转换因子将授权金额转换为近似的应用货 币代码金额。累计脱机交易金额(双货币)加这个近似的授权金额和累计脱机交易金额限制(双货币)进行比较 如果比较的结果是大于了限制数,卡片: -设置CVR中“频度检查超过”位为“1”。 53 -设置卡片请求联机指示位为“1”。 15.4.3.11新卡检查 此检查可选。如果卡片是新卡,交易请求联机。新卡是指从来没有联机接受过的卡片。 如果数据上次联机ATC寄存器、应用缺省行为存在,卡片执行此检查。 如果上次联机ATC寄存器值为零,卡片: 设置CVR中“新卡”位为“1”。 如果ADA中“如果新卡,交易联机”位为“1”,设置卡片请求联机指示位为“1”。 注意:如果卡片要求发卡行认证强制执行,除非发卡行认证成功,否则上次联机ATC寄存器值一直为零。 15.4.3.12脱机PIN验证没有执行(PIN尝试限制数超过)检查 当卡片支持脱机PIN验证,此检查可选。如果PIN尝试限制数在上次交易中就已超过,交易请求联机。 如果执行此检查,卡片中要有应用缺省行为(ADA)数据 如果下列所有条件成立: 卡片支持脱机PIN验证 卡片没有收到过校验命令 尝试次数计数器已经为零 卡片要执行下列操作: 设置CVR中“PIN尝试限制数超过”位为“1” 如果ADA中“如果上次交易PIN尝试限制数超过,交易拒绝”位为“1”,设置卡片请求拒绝 指示位为“1”。 如果ADA中“如果上次交易PIN尝试限制数超过,交易联机”位为“1”,设置卡片请求联机 指示位为“1”。 如果ADA中“如果上次交易PIN尝试限制数超过,交易拒绝并锁应用”位为“1”,拒绝交易 并锁应用。 15.5 卡片提供响应密文 根据卡片风险管理的结果,卡片响应GENERATE AC命令。卡片的响应可能会修改终端在GENERATE AC命令中参数P1指定的密文类型。修改要遵循下列原则: 卡片可以把终端做出的接受交易决定改为交易联机上送或交易拒绝 卡片可以把终端做出的交易联机决定改为交易拒绝 54 下表列出了修改原则。 表格 15-4:卡片响应第一个生成应用密文命令 为“1”表明卡片决定交易联机上送。 卡片设置CVR中第一个生成应用密文响应TC,AAC或ARQC指示位,卡片还设置CVR中“还没有请求第二个生成应用密文”指示位。 卡片使用终端提供的数据和卡片内部数据生成一个基于对称密钥算法的密文,需要的具体数据和算法在附录D中描述。 15.5.1 卡片脱机拒绝交易 当交易被脱机拒绝,卡片用AAC响应GENERATE AC命令,在响应之前,卡片: 1. 检查应用缺省行为(ADA): -在ADA中“如果交易脱机拒绝,生成通知”位为“1”,设置CID中需要通知位为“1” -如果PIN尝试限制数超过,而且ADA中标明需要通知: 设置CID中“需要通知”位为“1” 如果CID中的原因代码不是“服务不允许”,设置为“PIN尝试限制数超过” 注意:在CID中,“服务不被允许”原因代码比其它原因代码优先 2. 检查在GENERATE AC命令中提供的数据TVR -如果SDA失败位为“1”,设置卡片中SDA失败指示位为“1” -如果DDA失败位为“1”或者CDA失败位为“1”,设置卡片中DDA失败指示位为“1” 3. 计数器加1: -如果终端国家代码和发卡行国家代码不同,连续脱机交易计数器(国际-国家)加1 -如果交易货币代码和应用货币代码不同,连续脱机交易计数器(国际-货币)加1 15.5.2 卡片请求联机操作 当交易联机上送做授权,卡片用ARQC响应GENERATE AC命令。在响应之前,卡片设置卡片内联机授权指示位为“1”。 55 注意:此时下面的计数器不增加:连续脱机交易计数器(国际-货币),连续脱机交易计数器(国际-国家),累计脱机交易金额,累计脱机交易金额(双货币) 15.5.3 卡片脱机接受交易 当脱机接受交易,卡片使用TC响应生成应用密文命令。在响应之前,卡片内相关计数器加1: 如果终端国家代码不等于发卡行国家代码,连续脱机交易计数器(国际-国家)加如果交易货币代码等于应用货币代码: -累计脱机交易金额累加授权金额 -累计脱机交易金额(双货币)累加授权金额 如果交易货币代码不等于应用货币代码,连续脱机交易计数器(国际-货币)加1 如果交易货币代码等于第二应用货币代码,使用货币转换因子将授权金额转换为指定应用货币 的近似授权金额后累加到累计脱机交易金额(双货币)。 卡片记录交易明细,明细的内容在交易初始化阶段,通过GET PROCESSING OPTIONS命令 传送到卡片中。关于卡片交易明细的内容在19章中有详细描述。 15.5.4 复合动态数据认证/生成应用密文响应 下面列出的情况有一项发生,卡片执行CDA: 卡片的CDOL1中包括终端能力数据标签,而且终端回送的终端能力数据和卡片中的应用交互 特征(AIP)中都标明支持CDA。 卡片的CDOL1中不包括终端能力数据标签,终端发送的生成应用密文命令中的P1参数中CDA 位为“1”。 卡片: 1. 按照上面的描述执行卡片风险管理,生成应用密文 2. 如果卡片响应AAC,没有特殊处理 3. 如果卡片响应ARQC或TC,卡片响应的应用密文作为签名动态应用数据用IC卡私钥签名, 步骤如下: a) 设置CVR中“DDA执行”位为“1”。此步骤在步骤1生成应用密文之前执行。 b) 使用应用密文生成一个动态签名密文,详见安全规范6.3.6.。归纳为下面4个步骤: 在安全规范中6.3.6中描述的方法组织数据 用上述数据做一个哈希计算 将哈希包括到签名的动态应用数据中 使用IC卡私钥对签名的动态应用数据作签名 c) 在GENERATE AC指令响应中包括签名的动态应用数据。 56 15.6 流程图 图表 15-1:卡片行为分析处理流程图(1) 57 图表 15-2:卡片行为分析处理流程图(2) 58 图表 15-3:卡片行为分析处理流程图(3) 59 15-4:卡片行为分析处理流程图(4) 60 图表 图表 15-5:卡片行为分析处理流程图(5) 61 图表 15-6:卡片行为分析处理流程图(6) 15.7 前期相关处理 读应用数据 终端从卡片中读取CDOL1数据,和交易明细文件短文件标识符(SFI)。 卡片行为分析 终端发送第一个GENERATE AC命令给卡片请求密文。命令包括CDOL1中指定的终端数据,这些数据用来生成应用密文和进行卡片风险管理。 62 15.8 后续相关处理 联机处理 终端根据生成应用密文命令返回的密文类型决定是否执行联机授权。 结束 如果请求交易联机授权但是终端没有联机能力,卡片执行另外的风险管理。 根据发卡行认证的状态和发卡行认证的卡片设置,卡片中的一些计数器和指示位会被复位。 16.联机处理 联机处理允许发卡行使用发卡行主机系统中的风险管理参数对交易进行检查,作出批准或拒绝交易的决定。除了执行传统的联机检查以外,主机授权系统可以使用由卡片生成的动态密文执行联机卡片认证,并且在作出授权决定时可以考虑交易脱机处理的结果。 发卡行的响应可以包括给卡片的二次发卡更新和一个发卡行生成的密文。卡片验证密文确保响应来自一个有效的发卡行。此验证叫发卡行认证。 这一章描述卡片联机处理功能。 16.1 卡片数据 下表列出了在联机处理过程中终端使用的卡片数据。 表格 16-1:生成应用密文响应——卡片数据 下表列出了在收到联机请求后,终端使用的卡片数据 表格 16-2:决定发卡行认证——卡片数据 63 表12-3列出了在发卡行认证处理中卡片用到的数据 表格 16-3:联机处理,发卡行认证——卡片数据 16.2 联机响应数据 从发卡行到终端的联机响应信息中包括的数据在下表列出。终端用外部认证命令将此数据送入卡片中用于发卡行认证。除了下面的数据,联机响应中可以包括发卡行脚本数据。 表格 16-4:联机处理——终端数据 16.3 命令 外部认证(EXTERNAL AUTHENTICATE)命令 如果执行发卡行认证,终端发送外部认证命令给卡片。 外部认证命令里包括发卡行认证数据。 外部认证命令的响应码说明发卡行认证数据验证是否通过。如果验证通过,SW1 SW2=“9000”,如果失败,返回“6300”。 一次交易中,卡片允许处理一次外部认证命令,后续的外部认证命令卡片一律返回“6985”。 命令编码见附录B。 64 16.4 处理流程 联机处理由三部分组成:联机请求处理,联机响应处理和发卡行认证。卡片只在发卡行认证过程中有操作。 16.4.1 联机请求 当终端收到卡片返回的ARQC而且具有联机能力,终端发起一个联机请求。联机请求中包括终端之前从卡片取得的数据。在此步骤中,卡片不进行操作。 16.4.2 联机响应 在联机响应处理中,卡片不进行操作。 16.4.3 发卡行认证 如果卡片中的AIP数据表明卡片支持发卡行认证,而且终端收到的联机响应中包括发卡行认证数据,终端发送一个外部认证命令给卡片。 当卡片收到外部认证命令,卡片执行发卡行认证,步骤如下: 1. 如果在当前交易里,收到过外部认证命令: -设置发卡行认证失败指示位为“1”。 -返回状态码SW1 SW2=“6985”。 2. 将发卡行认证数据中的授权响应码分离出来保存,将来在交易结束阶段使用。 3. 使用第一次GENERATE AC命令响应时生成的ARQC和授权响应码生成一个授权响应密文 (ARPC)。附录D中描述密文生成用的密钥和算法。 4. 新生成的ARPC和外部认证命令里送进来的ARPC进行比较,如果相同,发卡行认证成功。 如果发卡行认证成功,卡片: 1. 设置发卡行认证失败指示位为“0”。 2. 外部认证命令响应“9000”。 如果发卡行认证失败,卡片: 1. 设置发卡行认证失败指示位为“1”。 2. 设置CVR中“发卡行认证执行但失败”位为“1” 3. 外部认证命令响应“6300” 卡片要确保当交易结束,卡片从终端中取出后,发卡行认证失败指示位继续设置为“1”。在下一个交易中,卡片行为分析过程中要检查此指示位来决定交易是否要联机上送。 在交易结束过程中,卡片在处理第二个GENERATE AC命令时,要检查发卡行认证是否执行以及是否成功。 65 16.5 流程图 图表 16-1:联机处理流程图 16.6 前期相关处理 应用初始化 卡片在GET PROCESSING OPTIONS命令中返回AIP给终端,AIP中标明卡片是否支持发卡行认证。 卡片行为分析 第一条GENERATE AC命令里,卡片响应应用密文。 66 16.7 后续相关处理 交易结束 在交易结束处理中,卡片使用发卡行认证结果决定交易的最终结果以及对一些计数器和指示位进行复位。 发卡行到卡片脚本处理 终端将在联机响应中包括的所有发卡行脚本命令发送到卡片, 卡片行为分析(后续交易) 如果联机授权指示位指出:上次交易联机处理没有完成,卡片将请求本次交易进行联机授权。 17.交易结束 终端和卡片执行交易结束步骤决定交易处理结果。包括下列步骤: 如果请求了联机处理但是终端不支持联机或者联机授权没有完成,终端和卡片执行另外的风险 管理决定交易是接受还是拒绝。 卡片可以根据发卡行认证的结果以及卡片卡片数据 下表列出卡片在交易结束处理过程中使用的数据。 表格 17-1:交易结束——卡片数据 67 下表列出了在交易结束处理中卡片使用的以及生成应用密文的响应数据。 表格 17-2:生成应用密文命令响应 68 下表列出了在交易结束处理过程中终端使用的卡片数据 表格 17-3:交易结束——终端使用的卡片数据 17.2 终端数据 下表列出了在交易结束处理过程中卡片使用的终端数据。 表格 17-4:交易结束——终端数据 69 17.3 命令 生成应用密文(GENERATE APPLICATION CRYPTOGRAM(AC))命令 终端发第二个GENERATE AC命令给卡片请求第二个应用密文。 命令的数据域包括CDOL2中指定的终端数据,包括授权响应码。 命令的P1参数表明终端请求的应用密文类型。 命令的响应信息中包括密文信息数据,说明卡片的授权结果,应用交易计数器(ATC),应用密文和发卡行自定义数据。自定义数据中包括记录处理结果的CVR。 第二次发GENERATE AC命令。见附件B。 17.4 结束操作概述 只有在卡片行为分析后,卡片返回ARQC申请联机授权的情况下卡片执行结束操作。 在卡片行为分析的最后,卡片: 请求脱机接受或拒绝。此时卡片的处理就已经结束,不再执行交易结束步骤 请求联机授权。这时卡片要执行交易结束步骤。 下图是结束处理的过程图。 70 图表 17-1:交易结束处理流程图 17.5 收到生成应用密文(GENERATE AC)命令 卡片在收到第二次GENERATE AC命令后,进行交易结束处理。根据命令中的授权响应码类型,结束操作分为两条线路执行:联机授权的交易17.6和请求联机,但是联机授权没有完成的交易17.7。 17.6 联机授权的交易 当交易进行了联机授权(授权响应码不是Y3或Z3),卡片作如下处理: 如果发卡行认证执行,检查在外部认证命令中送来的授权响应码: -授权响应码为00,10或11表明发卡行接受交易 71 -授权响应码为01或02表明发卡行请求参考, 则终端提示操作员打电话请求授权,根据发卡行授权结果(批准或拒绝)请求相应的密文。如果终端不支持参考,则终端请求AAC -其它值表明发卡行拒绝。终端要请求交易拒绝。 检查第二个生成应用密文命令中的P1参数: -如果P1表明请求TC(接受交易)而且认证响应码表明发卡行接受或推荐,执行交易接受处理。详细描述在17.6.2联机授权后请求TC(接受)中描述。 -如果P1表明请求AAC(拒绝交易)或者认证响应码表明发卡行拒绝,执行交易拒绝处理。详细描述在17.6.1联机授权后请求AAC中描述。 17.6.1 联机授权后请求AAC(拒绝) 当第二个GENERATE AC命令中请求生成AAC或者授权响应码表明交易发卡行拒绝,卡片要响应AAC,在响应之前,卡片: 设置CVR中“第二个GENERATE AC命令返回AAC位”为“1” 如果AIP中标明支持发卡行认证但是没有执行,设置CVR中“联机授权后,发卡行认证没有 执行”位为“1” 如果发卡行认证强制(由发卡行认证指示器标明)但是没有执行,设置发卡行认证失败指示位 为“1” 如果发卡行认证:(1)不支持,或者(2)可选而且没有执行,或者(3)执行并成功。下列指 示位归零: -联机授权指示位 -SDA失败指示位 -DDA失败指示位 -发卡行脚本命令计数器 -发卡行脚本失败指示位 下列指示位不变: -上次联机ATC寄存器 -累计脱机交易金额 -累计脱机交易金额(双货币) -连续脱机交易计数器(国际-货币) -连续脱机交易计数器(国际-国家) 生成应用密文 设置密文信息数据中密文类型为AAC 响应第二个GENERATE AC命令 72 17.6.2 联机授权后请求TC(接受) 当第二个GENERATE AC命令中终端请求TC而且授权响应码表示发卡行接受或推荐,卡片执行下列步骤: 如果AIP中标明支持发卡行认证但是没有执行,设置CVR中“联机授权后,发卡行认证没有 执行”位为“1” 卡片可以根据发卡行认证的设置情况决定是接受交易还是拒绝交易。 卡片接受——如果下面条件满足一条,卡片接受交易: -发卡行认证成功 -AIP中标明发卡行认证不支持 -发卡行认证可选而且没有执行 -发卡行认证失败,但是ADA中“如果发卡行认证失败,交易拒绝位”为“0” -发卡行认证强制但是没有执行,但是ADA中“如果发卡行认证强制但没有ARPC收到,交易拒绝位”为“0” 执行卡片接受交易的后续步骤,详细描述在17.6.2.1收到TC请求后卡片接受交易中。 卡片拒绝——如果下面条件满足一条,卡片拒绝交易: --发卡行认证失败,ADA中“如果发卡行认证失败,交易拒绝位”为“1” -发卡行认证强制但是没有执行,但是ADA中“如果发卡行认证强制但没有ARPC收到,交易拒绝位”为“1” 执行卡片拒绝交易的后续步骤,详细描述在17.6.2.2收到TC请求后卡片拒绝交易中。 17.6.2.1收到TC请求后卡片接受交易 当卡片接受交易,卡片: 1. 设置CVR中“第二个GENERATE AC命令返回TC”位为“1” 2. 设置CID中密文类型为TC 3. 根据发卡行认证的状态复位计数器 a) 如果发卡行认证(1)失败,或者(2)强制但是没有执行,卡片: 下列计数器值不变: -上次联机ATC寄存器 -累计脱机交易金额 -累计脱机交易金额(双货币) -连续脱机交易计数器(国际-货币) 73 -连续脱机交易计数器(国际-国家) -联机授权指示位 -SDA失败指示位 -DDA失败指示位 -发卡行脚本命令计数器 -发卡行脚本失败指示位 如果发卡行认证强制但是没有执行: -设置发卡行认证失败指示位为“1” --设置CVR中“联机授权以后,发卡行认证没有执行位”为“1” b) 如果发卡行认证(1)成功,或者(2)可选而且没有执行,或者(3)不支持,卡片: 如果AIP标明支持发卡行认证但是卡片没有收到外部认证命令,设置CVR中“联 机授权以后,发卡行认证没有执行位”为“1” 下列计数器和指示位复位: -联机授权指示位 -SDA失败指示位 -DDA失败指示位 -发卡行脚本命令计数器 -发卡行脚本失败指示器 -累计脱机交易金额 -累计脱机交易金额(双货币) -连续脱机交易计数器(国际-货币) -连续脱机交易计数器(国际-国家) 修改上次联机ATC寄存器的值为当前交易ATC。 4. 生成应用密文 5. 卡片记录交易明细,明细的内容在交易初始化阶段,通过GET PROCESSING OPTIONS 命令传送到卡片中。关于卡片交易明细的内容在19章中有详细描述。 6. 响应第二个GENERATE AC命令 17.6.2.2收到TC请求后卡片拒绝交易 当卡片收到接受交易请求后决定拒绝交易,卡片: 设置CVR中“第二个GENERATE AC命令返回AAC”位为“1” 74 如果支持发卡行认证而且是强制的,设置发卡行认证失败指示位为“1” 设置CID中的应用密文类型为AAC 如果ADA中“如果因为发卡行认证失败或没有执行造成交易拒绝,生成通知”位为“1”,设 置CID中“需要通知”位为“1” 下列计数器值不变: -累计脱机交易金额 -累计脱机交易金额(双货币) -连续脱机交易计数器(国际-货币) -连续脱机交易计数器(国际-国家) -上次联机ATC寄存器 -SDA失败指示器 -DDA失败指示器 -发卡行脚本命令计数器 -发卡行脚本失败指示器 卡片: 生成应用密文 响应第二个应用密文生成命令 17.7 请求联机操作,但是联机授权没有完成 当发送的第二个GENERATE AC命令中的授权响应码表明请求联机处理但是没有完成时(Y3或Z3),卡片: 执行可选的卡片风险管理,17.7.1卡片风险管理中描述 响应终端,17.7.2无法联机上送后的卡片响应 17.7.1 卡片风险管理 卡片风险管理执行的检查是可选的,包括检查连续脱机交易的次数是否超过了连续脱机交易上限,连续脱机累计金额是否超过限制数,卡片是否新卡和PIN 尝试限制数是否在上次交易中超过。 当联机授权没有完成,即使在第二个GENERATE AC命令中终端请求拒绝(AAC)或在之前的风险管理中卡片决定拒绝,卡片仍然要执行所有支持的卡片风险管理步骤。因为卡片执行所有的检查,执行检查的顺序不需要按照下面所描述的顺序。 17.7.1.1连续脱机交易上限频度检查 此检查可选。检查连续脱机交易次数是否超过了最大限制。 75 如果上次联机ATC寄存器和PBOC专有数据:连续脱机交易上限(标签“9F59”)存在,卡片执行此检查。 如果ATC和上次联机ATC寄存器的差值大于连续脱机交易上限,卡片: 设置CVR中“频度检查超过”位为“1”。 设置卡片请求脱机拒绝指示位为“1”。在卡片风险管理后,卡片返回交易拒绝 17.7.1.2新卡检查 此检查可选。检查以前是否有过联机接受的交易。 如果卡片中上次联机ATC寄存器存在,卡片执行此检查。如果ADA不存在,卡片认为缺省为零。 如果上次联机ATC寄存器值为零,卡片: 设置CVR中“新卡”位为“1”。 如果ADA中“如果是新卡而且交易无法联机,交易拒绝”位为“1”,设置卡片请求脱机拒绝 指示位为“1”。在卡片风险管理后,卡片返回交易拒绝。 17.7.1.3PIN尝试限制数超过 此项检查可选,检查PIN尝试限制数是否在之前的交易中就已经超过。 如果卡片中没有ADA数据,卡片认为ADA值缺省为零。 如果卡片支持脱机PIN验证,而且在本次交易中,卡片没有收到过校验命令,卡片: 如果PIN尝试计数器已经为零,而且如果ADA中“如果上次交易PIN尝试限制数超过而且交 易无法联机,交易拒绝”位为“1”: -设置卡片请求脱机拒绝指示位为“1” -设置CVR中“PIN尝试限制数超过”位为“1” 17.7.1.4累计脱机交易金额(上限)频度检查 此检查可选。检查使用指定货币的连续脱机交易累计金额是否超过了最大限制数。 如果累计脱机交易金额和累计脱机交易金额上限数据存在,卡片执行此检查。 如果累计脱机交易金额加本次授权金额大于累计脱机交易金额上限 卡片: 设置CVR中频度检查超过位为“1”。 设置卡片请求脱机拒绝指示位为“1”。 76 17.7.1.5累计脱机交易金额上限(双货币)频度检查 此检查可选。检查使用指定货币和第二应用货币的连续脱机交易累计金额是否超过了最大限制数。 如果累计脱机交易金额(双货币)和累计脱机交易金额上限数据存在,卡片执行此检查。 如果累计脱机交易金额加本次授权金额(如果使用第二应用货币要先使用货币转换因子转换)大于累计脱机交易金额上限 卡片: 设置CVR中频度检查超过位为“1”。 设置卡片请求脱机拒绝指示位为“1”。 17.7.2 无法联机上送后的卡片响应 根据终端请求的应用密文类型和卡片风险管理的结果,卡片响应第二个GENERATE AC命令。 如果下面的条件满足一条,卡片拒绝交易: 终端在生成应用密文命令中请求AAC 卡片风险管理的结果是卡片请求脱机拒绝指示位设置为“1” 交易拒绝处理在“17.7.2.1无法联机上送后,卡片拒绝交易”中描述。 如果下面的条件都满足,卡片接受交易: 终端在生成应用密文命令中请求TC 卡片风险管理的结果是卡片请求脱机拒绝指示位设置为“0” 交易接受处理在“17.7.2.2无法联机上送后,卡片接受交易”中描述。 17.7.2.1无法联机上送后,卡片拒绝交易 本部分描述了当交易请求联机但是联机授权无法完成(授权响应码为Y3或Z3),卡片拒绝交易的处理过程。卡片: 设置CVR中的下列指示位: -第二个GENERATE AC命令返回AAC -终端不能联机上送 如果TVR中“SDA失败”位为“1”,设置SDA失败指示位为“1” 如果TVR中“DDA失败”位为“1”,设置DDA失败指示位为“1” 如果TVR中“CDA失败”位为“1”,设置DDA失败指示位为“1” 如果终端国家代码和发卡行国家代码不同,连续脱机交易计数器(国际-国家)加如果交易货币代码和应用货币代码不同,连续脱机交易计数器(国际-货币)加1 77 如果ADA中“如果交易拒绝,生成通知”位为“1”,设置CID中“需要通知”位为上次联机ATC寄存器值不变 生成应用密文 设置CID中应用密文类型 响应GENERATE AC命令 17.7.2.2无法联机上送后,卡片接受交易 本部分描述了当交易请求联机但是联机授权无法完成(授权响应码为Y3或Z3),卡片接受交易的处理过程。卡片: 设置CVR中的下列指示位: -第二个生成应用密文命令返回TC -终端不能联机上送 如果终端国家代码和发卡行国家代码不同,连续脱机交易计数器(国际-国 家)加如果交易货币代码和应用货币代码相同, -累计脱机交易金额累加授权金额 -累计脱机交易金额(双货币)累加授权金额 如果交易货币代码和应用货币代码不同,连续脱机交易计数器(国际-货币)加1 如果交易货币代码和第二应用货币代码相同,累计脱机交易金额(双货币)累加转换后的授权 金额 上次联机ATC寄存器值不变 生成应用密文 设置CID中密文类型为TC 卡片记录交易明细,明细的内容在交易初始化阶段,通过GET PROCESSING OPTIONS命令 传送到卡片中。关于卡片交易明细的内容在19章中有详细描述。 响应生成应用密文命令 17.8 复合动态数据认证/生成应用密文响应 下面列出的情况有一项发生,卡片执行CDA: 卡片的CDOL2中包括终端能力数据标签,而且终端回送的终端能力数据和卡片中的应用交互 特征(AIP)中都标明支持CDA。 卡片的CDOL2中不包括终端能力数据标签,终端发送的生成应用密文命令中的P1参数中CDA 位为“1”。 78 卡片: 1. 按照上面的描述,生成应用密文 2. 如果卡片响应AAC,没有特殊处理 3. 如果卡片响应TC,卡片响应的应用密文作为签名动态应用数据用IC卡私钥做签名,步骤如下: a) 设置CVR中“DDA执行”位为“1”。此步骤在步骤1生成应用密文之前执行。 b) 使用应用密文生成一个动态密文,详见安全规范6.3.6.。归纳为下面4个步骤: 按照安全规范中6.3.6中描述组织数据。数据包括IC卡动态数据(包括IC卡动态数长度,IC卡动态数,密文信息数据和应用密文等)。 用上述数据做一个哈希计算 将哈希包括到签名的动态应用数据中 使用IC卡私钥对签名的动态应用数据作签名 c) 响应GENERATE AC指令信息中包括签名的动态应用数据 17.9 流程图 下图是卡片执行交易结束处理的流程图 79 图表 17-2:交易流程图(1) 80 图表 17-3:交易流程图(2) 81 图表 17-4:交易流程图(3) 82 图表 17-5:交易流程图(4) 83 脱机拒绝 图表 17-6:交易流程图(5) 84 17.10 前期相关处理 读应用数据 从卡片中读出交易明细文件短文件标识符。 卡片行为分析 卡片行为分析处理后,卡片作出交易联机、交易拒绝或交易接受的决定。只有当卡片作出交易请求联机授权的交易才执行交易结束处理步骤。此时终端向卡片发送第二个GENERATE AC命令。 联机处理 如果卡片收到终端发送的外部认证命令,卡片验证命令中的ARPC后设置指示器为“发卡行验证执行并通过”或“发卡行验证执行并失败”。 17.11 后续相关处理 卡片行为分析(后续交易) 在下一次交易时,卡片使用交易结束处理时设置的计数器和指示位进行判断和检查。 18.脚本处理 发卡行可以不用重新发卡而是通过发卡行脚本处理来修改卡片中的个人化数据。发卡行将脚本命令放在授权响应报文中传送给终端,终端将命令转发给卡片。当满足安全要求以后,卡片执行命令。 支持的命令有: 修改卡片参数 锁定或解锁应用 锁卡 重置PIN尝试计数器 修改脱机PIN值 脚本处理通过锁定恶意透支和失窃的卡片来限制信用和伪卡风险。卡片参数可以在不需要重新发卡的情况下根据持卡人情况的变化而修改。 18.1 卡片数据 下表描述了在发卡行脚本处理过程中卡片使用的计数器和指示位。 表格 18-1:发卡行脚本处理——卡片数据 85 18.2 终端数据 下表列出了发卡行脚本处理过程中使用的终端数据 表格 18-2:发卡行脚本处理——终端数据 18.3 发卡行脚本操作中的密钥管理 安全报文认证(MAC)密钥 安全报文加密密钥 详细内容在安全规范中描述 下图是安全报文认证(MAC)密钥的生成和使用 86 发卡行开始个人化交易过程中图表 18-1:MAC密钥的生成和使用 下图是安全报文加密密钥的生成和使用 87 发卡行开始 个人化 交易过程中 图表 18-2:安全报文加密密钥的生成和使用 18.4 认证响应数据 下表列出的是授权响应中发卡行脚本数据。 表格 18-3:发卡行脚本处理——联机响应数据 18.5 命令 下面列出的功能是发卡行脚本处理过程中可以执行的功能。推荐使用发卡行脚 本命令处理这些功能 88 。命令的详细编码在附录B。 除了卡片锁定命令,所有命令处理的都是当前选择应用。 应用锁定 如果发卡行决定当前使用的应用无效,执行应用锁定功能。此时锁定的应用可以在后面由发卡行解锁。 使用应用锁定(APPLICATION BLOCK)命令锁应用。应用锁定后,和应用有关的文件状态指示器要指明应用已经锁定。即使应用锁定,卡片内部数据访问仍然有效。一个锁定的应用,卡片对生成应用密文命令总是返回AAC。 如果应用在交易过程中锁定,卡片和终端允许交易继续执行到结束处理步骤。但是在后续交易时,卡片不允许锁定的应用被选择进行金融交易(终端可能选择一个锁定的应用进行解锁,因此卡片必须对生成应用密文(GENERATE AC)命令响应AAC)。 应用解锁 应用解锁解除了应用的锁定状态。应用解锁要在发卡行指定的特殊设备上执行。 因为应用解锁要在特殊设备上执行。处理流程不需要采用正常授权或金融交易的处理规则。在卡片对第一个GENERATE AC命令响应AAC后,设备要能将交易联机上送。即使卡片支持发卡行认证,也不需要执行。卡片风险管理和终端风险管理都不是必须进行的。也不需要第二个GENERATE AC命令。(如果由于一些原因,卡片在第二个GENERATE AC命令发送之前解锁了,设备要将响应的密文当AAC处理。) 卡片锁定 卡片锁定(CARD BLOCK)命令是一个二次发卡命令,使得卡片上的所有应用永久失效。 卡片锁定命令使卡片上所有应用无效而且实行卡片下电。除非卡片锁定,支付系统环境(PSE)不会无效而且总是可以访问。 如果卡片在交易处理过程中锁定,卡片和终端允许交易继续进行到交易结束步骤。一个锁定的卡片不能用发卡行脚本命令或其它命令解锁,因此卡片已经失效。此时PSE也无效。卡片对选择命令响应“功能不支持”(SW1 SW2=“6A81”)。卡片也不允许任何其它形式的应用选择。 当发卡行决定对卡片禁止使用任何功能,执行卡片锁定。例如丢失或被偷窃的卡片。在卡片锁定后,卡片上的应用都不能被解锁。 发卡行脚本中的卡片锁定命令用来实现锁卡功能。 PIN修改/解锁 PIN修改/解锁(PIN CHANGE/UNBLOCK)命令用来对PIN解锁或解锁加同时修改PIN值,卡片通过重新设置PIN尝试次数计数器到最大值(PIN尝试限制数)实现PIN解锁。 解锁 PIN修改/解锁命令执行成功,PIN尝试次数计数器复位成PIN尝试限制数 修改PIN值 如果要修改PIN值,PIN数据要用对称算法加密。算法描述在“18.6.3卡片安全报文”中描述。当PIN值修改时,PIN的尝试次数计数器自动复位成PIN尝试限制数。 修改PIN值必须在一个发卡行控制的安全环境中执行。 设置数据 卡片中的专有基本数据对象允许使用设置数据(PUT DATA)命令修改。只有有标签tag的基本数据对象才允许使用此命令修改。 89 在本版本的规范中,下列数据可以使用PUT DATA命令修改,这些数据放在卡片内部专有文件中: 连续脱机交易上限(“9F59”) 连续脱机交易下限(“9F58”) 连续脱机交易限制数(国际-国家) 连续脱机交易限制数(国际-货币) 累计脱机交易金额限制数 累计脱机交易金额限制数(双货币) 累计脱机交易金额上限 货币转换因子 EMV定义的连续脱机交易上限(“9F14”)和连续脱机交易下限(“9F23”)存在短文件标识符SFI1-10之间,使用发卡行脚本命令中的修改记录(UPDATE RECORD)命令修改。 修改记录 UPDATE RECORD命令用来修改文件中的一条记录内容,修改的内容在UPDATE RECORD命令的数据域中。 18.6 处理流程 18.6.1 授权响应报文 授权响应报文中的标签“72”表明,在第二个GENERATEAC命令后,执行发卡行脚本处理。一个脚本中可以包含多个命令。 附录B中定义了发卡行脚本命令的编码。 有用来修改、复位卡片内容的命令都必须包全报文,参考18.6.3。 18.6.2 卡片脚本处理 因为卡片不能识别命令是发卡行脚本命令还是其它命令,因此,卡片不能拒绝在第二个生成应用密文命令之前送来的命令。 “18.6.4结果指示器”中描述了卡片中PBOC专有的指示位,记录在第二个GENERATE AC命令之后收到的发卡行脚本命令执行情况。 18.6.3 卡片安全报文 在执行一个发卡行脚本命令之前,卡片使用安全报文认证发卡行。在脚本处理时不进行联机处理中描述的发卡行认证方法。 安全规范中描述了安全报文的执行方法。 使用安全报文的基本目的是保证数据的机密性、信息完整性和认证发卡行。信息完整和认证发卡行可以使用MAC,数据机密通过加密数据实现,例如PIN加 密。 90 报文认证(MACing)——报文认证(MACing)用来认证发卡行是发卡行脚本命令的合法发 出方,并且保证命令在发出后没有被修改 MAC用命令中的所有数据计算而成,包括命令头。先进行数据加密(如果需要)后生成MAC。 数据加密——数据加密用来保证命令中的明文数据的机密性。在生成命令的MAC之前进行。 发卡行和卡片中的应用都要知道数据加密方法。 MAC生成和数据加密的详细描述在附录C。 18.6.4 结果指示器 卡片使用发卡行脚本命令计数器记录第二个GENERATE AC命令后收到的有安全报文的命令个数。 在卡片处理第二个GENERATE AC命令后收到的命令时,如果下面列出的错误出现一种,卡片设置发卡行脚本失败指示位为“1”: 需要安全报文但是没有提供 安全报文验证失败 安全报文通过但是命令执行失败 一个不需要安全报文的命令执行失败时,不设置指示位。 18.6.5 流程图 下图是卡片在发卡行脚本处理过程中,卡片处理每个命令的流程。 91 图表 18-3:发卡行脚本处理流程图 18.7 前期相关处理 联机操作 终端收到的联机响应中可以包括发卡行脚本。 交易结束 92 如果终端收到的联机响应中包括发卡行脚本,在交易结束处理后,执行发卡行脚本处理。 18.8 后续相关处理 卡片行为分析(后续应用) 在下次交易的卡片行为分析阶段: 卡片设置CVR中第4字节第8-5位值为发卡行脚本命令计数器的值 如果发卡行脚本失败指示位为“1”,卡片设置CVR中“上次交易发卡行脚本处理失败”位为 “1”。 交易结束(后续应用) 一个联机交易以后,如果下列条件满足一条,发卡行脚本失败指示位和发卡行脚本计数器复位成“0”: 发卡行认证成功 发卡行认证可选并且没有执行 发卡行认证不支持 19.卡片记录交易明细 在卡片风险分析和交易结束这两个处理过程中,当卡片决定接受交易返回TC之前,卡片要进行记录交易明细步骤。 19.1 交易明细记录文件 交易明细记录文件是一个定长循环记录文件。记录格式不包括应用基本数据模版(标识‘70’)。记录文件的短文件标识符和记录个数在日志入口数据元(标识‘9F4D’)中规定,交易明细记录文件的短文件标识符取值范围必须在11-30之间,本规范推荐值为11,日志入口数据元是在选择应用的时候,有卡片在发卡行专用数据中返回。 记录内容由日志格式(标识‘9F4F’)决定。日志格式的值域是一串日志内容数据对象的标识和长度。终端通过Get Data命令取得日志格式数据元,可知交易明细记录文件需要记录的内容。 日志格式和交易日志记录在应用锁定后仍可以访问。 为了读取交易日志信息,特定设备使用下列步骤: 执行应用选择,在发卡行自定义数据处获得日志入口数据元。如果日志入口数据元不存在,应用 不支持交易日志功能。 发送一个GET DATA命令取得日志格式数据元。 发送READ RECORD命令读交易日志记录。交易明细记录文件的读权限为自由读,写权限不公开, 由卡片操作系统控制。 19.2 PBOC建议 日志入口数据元内容:?0B0A?,交易明细文件的SFI为11,记录个数为10个。 93 日志格式数据元内容是下表定义的数据对象的标识和长度 交易明细记录的内容在表19-1中列出。 表格 19-1:交易明细记录文件内容 在应用选择阶段,卡片对SELECT命令的相应信息中的发卡行专用数据中包含了日志入口数据元,还在PDOL数据元中,列出了需要终端输入的数据。则在下一条GET PROCESSING OPTIONS指令中,终端要把PDOL中列出的终端数据元送给卡片,卡片将这些数据保存起来。在卡片经过卡片风险管理或交易结束 处理,做出接受交易的结论后,卡片将根据日志格式中规定的交易明细内容一起保存到交易明细文件中。 如果发卡行发卡时没有建立交易明细文件,但是在选择应用的响应中包含了日志入口数据元,则卡片仍然不能记录交易明细。 只有当上一条GENERATE AC命令中,卡片响应TC的前提下,卡片才进行记录交易明细的处理。一次交易最多记录一次交易明细。 94 附录 A. 卡片数据元素定义 A.1 卡片和发卡行数据元描述 表格 A-A-1中列出了本规范所用的卡片和发卡行数据元,包括的格式有:格式(F),标签(T)和长度(L)。 支持的格式有: (数字) (压缩数字) (二进制) (字母数字) (特殊字母数字) 当为数据定义的长度超过数据实际长度,而位数没有占满时,补位规则如下: 格式n的数据元右对齐,左补0 格式cn的数据元左对齐,右补F 格式an的数据元左对齐,右补0 格式ans的数据元左对齐,右补0 需求列中列出的是对数据元的需求情况: (强制):此数据必须存在并提供给终端,终端在读应用数据过程中,如果没有读到强制数 据,终端中止交易。 (需要):数据必须存在,在读应用数据过程中,终端不检查。 (有条件):在一定条件下必须存在。 (可选):可选数据元。 表格 A-A-1:卡片和终端的数据元描述 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 A.2 卡片和发卡行数据元需求 表格 A-2中是卡片和发卡行数据元的需求。 A.2.1 标签(Tag) 标签列是数据元的标签(Tag)。 A.2.2 需求 强制/有条件/可选列是数据元的需求情况。加*号表示需求在未来会有变化,具 体描述在“其它”列 A.2.3 数据完整性(备份) 备份列是数据是否需要备份。 在一些特殊的情况下,例如在交易过程中突然拔出卡片、突然掉电等。卡片要 有能力保护一些应用数据的不被破坏。 31 A.2.4 修改能力 修改列是数据是否可以被修改。如果允许,则修改命令在命令列中列出。 A.2.5 取回能力 取回列是数据是否可以被终端取回或通过命令返回给终端。标明“SD”的数据表明此数据只能在特殊设备上取回,不能在金融交易过程中由终端取出。 A.2.6 静态或动态 卡片风险管理数据里,“静态”表明数据不能修改但是可以用取数据命令返回给终端。“动态”表明数据不能通过终端发命令修改,而且也不能返回给终端。 A.2.7 秘密数据 标明“秘密”的数据表示要在卡片中安全保存。终端或其它设备不能得到这些数据,而且也不能因为一些特殊情况而被修改。PIN可以通过由安全报文的命令PIN修改/解锁修改。 A.2.8 ADF或DDF数据 ADF或DDF列是数据是存在支付系统DDF还是ADF目录下。终端在应用选择阶段用读记录命令读出。 32 A.2.9 数据需求表 表格 A-2:数据需求 34 35 36 37 38 39 40 A.2.10 数据需求表-条件号对应表 数据需求表中条件号对应的具体条件见下表 表格 A-3:条件号对应条件 B. 命令规范,描述卡片支持的命令 此附录中描述了各个章节中使用到的卡片命令。 应用锁定(APPLICATION BLOCK)(发卡行脚本命令) 应用解锁(APPLICATION UNBLOCK)(发卡行脚本命令) 卡片锁定(CARD BLOCK)(发卡行脚本命令) 外部认证(EXTERNAL AUTHENTICATE) 生成应用密文(GENERATE APPLICATION CRYPTGRAM (AC)) 取数据(GET DATA) 取处理选项(GET PROCESSING OPTIONS) 内部认证(INTERNAL AUTHENTICATE) PIN修改/解锁(PIN CHANGE/UNBLOCK)(发卡行脚本命令) 设置数据(PUT DATA)(发卡行脚本命令) 读记录(READ RECORD) 选择(SELECT) 修改记录(UPDATE RECORD)(发卡行脚本命令) 校验(VERIFY) 上述命令可以在其它情况下使用,例如个人化卡片。 终端发送命令给卡片,卡片处理完毕后,返回命令响应给终端。每个命令包括的CLA,INS字节 42 标明了命令类型,参数字节P1,P2提供了处理信息。命令还可能包括一个数据域。 命令响应包括两个状态字节SW1和SW2,描述了命令运行结果。当命令执行成功,SW1和SW2等于“9000”,其它值说明命令执行错误。命令的响应中还可以包括响应数据。 B.1 发卡行脚本命令的基本处理原则 一些特殊功能的发卡行脚本命令要在非金融交易过程中,在发卡行控制的设备上发送给卡片,例如:APPLICATION UNBLOCK和PIN CHANGE/UNBLOCK。 发卡行脚本命令要求安全报文。报文验证码(MAC)用来验证命令来自有效的发卡行并且保证命令在传送过程中没有被修改。如果命令中包括秘密数据例如持卡人PIN,需要数据加密进行保护。 B.2 应用锁定(APPLICATION BLOCK)命令APDU B.2.1 定义和范围 APPLICATION BLOCK命令是使当前被选择的应用无效的一个发卡行脚本命 令。 在成功的APPLICATION BLOCK命令之后: 对SELECT命令,无效的应用应该返回状态字节“选择文件无效”(SW1 SW2=„6283?)。 对GENERATE AC命令,一个无效的应用应该返回AAC代替AC作为应答。 B.2.2 命令报文 APPLICATION BLOCK命令报文根据下表编码: 表格 B-1:APPLICATION BLOCK命令报文 B.2.3 命令报文的数据域 命令报文的数据域中包含了根据安全规范中描述的安全报文格式编码的MAC数据。 43 B.2.4 响应报文的数据域 响应报文没有数据域。 B.2.5 响应报文返回的处理状态 不论应用是否有效,?9000?编码总表示命令成功执行。 B.3 应用解锁(APPLICATION UNBLOCK)命令APDU B.3.1 定义和范围 APPLICATION UNBLOCK命令是一个发行行脚本命令,用来恢复当前被选择的应用。 当APPLICATION UNBLOCK命令成功之行后,此前通过应用锁定附加在该应用上的限制被解除。 B.3.2 命令报文 APPLICATION UNBLOCK命令报文通过下表编码。 表格 B-2:APPLICATION UNBLOCK命令报文 B.3.3 命令报文的数据域 命令报文的数据域中包含了根据安全规范中描述的安全报文格式编码的MAC数据。 B.3.4 响应报文的数据域 响应报文中没有数据域。 B.3.5 响应报文返回的处理状态 不论应用是否有效,?9000?编码表示命令成功执行。 44 B.4 卡片锁定(CARD BLOCK)命令APDU B.4.1 定义和范围 CARD BLOCK命令是一个发行后命令,用来永久地停止IC卡中所有的应用。 CARD BLOCK命令停止 IC卡中所有的应用,包括那些被隐式选中的应用。 当一个CARD BLOCK命令成功后,所有随后的选择命令都将收到状态字节为?功能不支持?(SW1 SW2=„6A81?)的反馈,并且不执行任何其它动作。 B.4.2 命令报文 CARD BLOCK命令报文根据下表编码。 表格 B-3:CARD BLOCK命令报文 B.4.3 命令报文的数据域 命令报文的数据域中包含了根据安全规范中描述的安全报文格式编码的MAC数据。 B.4.4 响应报文的数据域 响应报文没有数据域。 B.4.5 响应报文返回的处理状态 不论卡是否已经被锁,?9000?编码都表示命令成功执行。 B.5 外部认证(EXTERNAL AUTHENTICATE)命令APDU B.5.1 定义和范围 EXTERNAL AUTHENTICATE命令要求IC卡中的应用认证一个密码。 45 IC卡的应答应该包括该命令的处理状态。 一次交易中只执行最多一次外部认证命令。 B.5.2 命令报文 EXTERNAL AUTHENTICATE命令报文根据下表编码: 表格 B-4:EXTERNAL AUTHENTICATE命令报文 在EXTERNAL AUTHENTICATE命令中的引用算法(P1)值为,00?,表示该域无信息。对算法的引用或者在使用本命令前就已经完成,或者在本命令的数据域中定义。 B.5.3 命令报文的数据域 按照EMV规范的规定,本命令报文的数据域包含标签为?91?的值域,编码如下: 前8个字节为必选的授权响应密文ARPC。 附加的1-8个可选字节是专有数据。 在本版本中,发卡行认证数据包括下列两个数据元: (8字节) 授权响应码(2字节) B.5.4 响应报文的数据域 响应报文没有数据域。 B.5.5 响应报文返回的处理状态 “9000”编码表示命令成功执行。 46 如果验证失败,返回“6300”,如果在本次交易中卡片已经接收过外部认证命令,卡片返回“6985”。 B.6 生成应用密文(GENERATE AC)命令APDU B.6.1 定义和范围 GENERATE AC命令传送交易相关数据到IC卡,IC卡计算并且返回一个密文。这个密文是一个由本规范定义的应用密码( AC ),下表列出了密文类型。 表格 B-5:生成应用的密文类型 由IC卡返回的密文可能由于IC卡的内部处理过程而与命令报文中要求的密文不一样。 B.6.2 命令报文 GENERATE AC命令报文根据下表编码: 表格 B-6:GENERATE AC命令报文 GENERATE AC 命令中的引用控制参数根据下表编码 表格 B-7:GENERATE AC引用控制参数 47 B.6.3 命令报文的数据域 命令报文的数据域是用来生成应用密文的终端数据,具体的数据内容在附录D中描述。 B.6.4 响应报文的数据域 密文的生成算法在附录D中描述。 响应报文的数据域包含一个BER-TLV编码的数据对象。这个数据对象需要按照以下两种格式之一编码。 格式1: 响应报文中的数据对象是一个标签为?80?的基本数据对象。数据域由如下表所示的数据对象连接而成,各数据对象之间没有分隔符(标签和长度)。 表格 B-8:GENERATE AC响应报文数据域格式1 格式2: 响应报文的数据对象是一个标签为?77?的结构数据对象。数据域中可以包含多个BER-TLV编码对象,但是必须包括密码信息数据、应用交易序号和由IC卡计算出的密码(可以是应用密码或专有密码)。对于响应报文中可能包含的专有数据对象的应用和解释,不在本规范的范围之内。 如果响应报文是如本规范第10章,第15章及第17章定义的签名数据,对CDA的应答,则采用格式2。该应答数据单元格式参见安全规范第6.3.6.。 如果卡片不执行CDA,命令的响应报文数据域中的数据对象按照格式1编码。如果卡片执行CDA, 48 命令的响应报文数据域中的数据对象按照格式2编码。 以上两种格式中,在生成应用密码命令的响应报文中包括的密码数据按照下表的方式编码: 表格 B-9:密文信息数据编码 B.6.5 响应报文返回的处理状态. „9000?编码表示命令成功执行。 一次交易卡片最多处理两个生成应用密文命令,如果收到三个及以上个数,卡片返回“6985”。 B.7 取数据(GET DATA)命令APDU B.7.1 定义和范围 B.7.1.1用GET DATA命令得到的数据 下面描述的是在非金融交易过程中在特殊设备上使用GET DATA命令访问到的数据和一个金融交易过程中,使用GET DATA命令访问数据。 49 特殊设备 下表列出的静态数据可以在发卡行控制的特殊设备上通过GET DATA命令访问。普通终 端不能用取数据命令获得。 表格 B-10:使用GET DATA命令访问的静态数据 金融交易 GET DATA命令用来从当前应用中取得一个没有封装在记录中的基本数据对象。GET DATA命令可以用来获取基本数据对象ATC(标签为?9F36?)、上次联机ATC寄存器(标签为?9F13?)或密码重试计数器(标签为?9F17?)、日志格式(标签为?9F4F?)。 B.7.2 命令报文 GET DATA命令报文根据下表编码 : 表格 B-11:GET DATA命令报文 50 B.7.3 命令报文的数据域 命令报文没有数据域。 B.7.4 响应报文的数据域 响应报文的数据域中包含有如命令报文的P1 P2所述的基本数据对象。(即包括它的标签和它的长度)。 B.7.5 响应报文返回的处理状态 „9000?编码表示命令成功执行。 如果命令中请求的数据是专有数据不能返回,卡片返回“6A88”。 B.8 取处理选项(GET PROCESSING OPTIONS)命令APDU B.8.1 定义和范围 GET PROCESSING OPTIONS命令用来启动IC卡内的交易。 IC卡的响应报文中包含应用交互特征( AIP )和应用文件定位器( AFL )。 B.8.2 命令报文 GET PROCESSING OPTIONS命令报文根据下表编码 : 表格 B-12:GET PROCESSING OPTIONS命令报文 51 B.8.3 命令报文的数据域 命令报文的数据域根据IC卡提供的处理选择数据对象列表(PDOL)编码。PDOL通过标签“83”标记。 当IC卡没有提供数据对象列表时,这个模板的长度域设置为0。否则,这个模板的数据长度域的值等于传输给IC卡的数据对象的值域的总长度。 B.8.4 响应报文的数据域 响应报文的数据域包含一个BER-TLV编码数据对象。 这个数据对象需要按照下列格式编码: 响应报文中的数据对象是一个标签为?80?的基本数据对象。数据域由如下表所示的应用交互特征(AIP)和应用文件定位器(AFL)的值域连接而成,各数据对象之间没有分隔符(标签和长度)。 表格 B-13:GET PROCESSING OPTIONS响应报文数据域格式 应用交互特征定义了可以被IC卡中的应用支持的功能。 AFL包括一个不含有分隔符的由文件与记录组成的列表。 B.8.5 响应报文返回的处理状态 „9000?编码表示命令成功执行。 B.9 内部认证(INTERNAL AUTHENTICATE)命令APDU B.9.1 定义和范围 INTERNAL AUTHENTICATE命令引发卡片使用从IFD收到的随机数、数据和卡片中储存的私钥来计算出,签名动态应用数据?的过程。 B.9.2 命令报文 INTERNAL AUTHENTICATE命令根据下表编码 : 表格 B-14:INTERNAL AUTHENTICATE命令报文 52 在 对算法的引用应该或者在使用本命令前就已经完成,或者在本命令的数据域中定义。 B.9.3 命令报文的数据域 命令报文的数据域包括该应用专有的与认证有关的数据。它是根据本规范第二册中定义的动态数据认证数据对象列表(DDOL)规则来编码的。 为了确保INTERNAL AUTHENTICATE命令返回数据在256字节限制内,签名的动态应用数据加上可选的TLV格式编码的长度应该限制在本规范第二册安全部分中定义的范围内 B.9.4 响应报文的数据域 响应报文的数据域包括一个BER-TLV编码数据对象。这个数据对象的编码格式为: 响应报文中的数据对象是一个标签为?80?的基本数据对象。数据域中包括签名动态应用数据。签名动态应用数据按照安全规范中的规则定义。 B.9.5 响应报文返回的处理状态 „9000?编码表示命令成功执行。 B.10 PIN修改/解锁(PIN CHANGE/UNBLOCK)命令APDU B.10.1 定义和范围 PIN CHANGE/UNBLOCK命令是一个发卡行脚本命令。它的目的是让发卡行解锁PIN或同时既改变PIN也解锁PIN。 当PIN CHANGE/UNBLOCK命令成功后,卡片将执行下列功能: 尝试记数器的值将复位到PIN尝试限制数(最大值)。 如果有请求,脱机PIN值将被设置为新的PIN值。 为了保密,如果本命令包含有PIN数据,则该数据应该加密。 注:脱机PIN是存储在卡中与应用相关的PIN,它用来验证在验证命令中传来的PIN数据。 B.10.2 命令报文 PIN CHANGE/UNBLOCK命令报文根据下表编码。 53 表格 B-15:PIN CHANGE/UNBLOCK命令报文 当P2为“00”,当P2为“01”,PIN尝试计数器复位同时PIN修改,PIN修改时使用当前的PIN。 当P2为“02”,PIN尝试计数器复位同时PIN修改,PIN修改是不使用当前的PIN。 B.10.3 命令报文的数据域 本命令报文的数据域包括PIN加密数据,后面可以加上4到8字节的安全报文MAC数据。 如果 P2 等于,00?,参考PIN解锁,PIN尝试计数器被复位到PIN尝试限制数。命令数据域只包含MAC。因为PIN修改/解锁命令中不包含新的PIN值,所以PIN不会更新。 P2等于,01?或,02?的值的处理步骤分别在B.10.1和B.10.2中描述。 B.10.3.1使用当前PIN修改PIN值 如果命令中的P2参数等于“01”,命令数据域包括PIN加密数据和MAC,PIN加密数据的产生过程按照下列步骤进行: 1. 发卡行确定用来给数据进行加密的安全报文加密主密钥,并分散生成卡片的安全报文加密子密 钥:ENC UDK-A和ENC UDK-B。 2. 生成过程密钥Ks 3. 生成8字节PIN数据块D3: a) 生成一个8字节数据块D1: b) 生成第二个8字节数据块D2: 54 N:新PIN的数字个数(16进制) P:新PIN值,长度4-12个数字(2-6字节) c) D1和D2执行异或得到D3 4. 使用当前PIN生成8字节数据块D4: 5. 将数据块D3和D4执行异或得到D。 6. 用Ks对D进行加密,得到PIN加密数据。 B.10.3.2 不使用当前PIN修改PIN值 如果命令中的P2参数等于“02”,命令数据域包括PIN加密数据和MAC,PIN加密数据的产生过程按照下列步骤进行: 1. 发卡行确定用来给数据进行加密的安全报文加密主密钥,并分散生成卡片的安全报文加密子密 钥:ENC UDK-A和ENC UDK-B。 2. 生成过程密钥Ks 3. 生成8字节PIN数据块D3: a) 生成一个8字节数据块D1: b) 生成第二个8字节数据块D2: N:新PIN的数字个数(16进制) P:新PIN值,长度4-12个数字(2-6字节) c) D1和D2执行异或得到D 4. 用Ks对D进行加密,得到PIN加密数据。 B.10.4 响应报文的数据域 响应报文没有数据域。 55 B.10.5 响应报文返回的处理状态 ,9000?编码表示命令成功执行。 B.11 设置数据(PUT DATA)命令APDU B.11.1 定义和范围 PUT DATA命令用来修改卡片中的一些基本数据对象的值。只有有标签的数据 才能使用这条命令修改。此命令不能用来修改结构数据对象。 B.11.1.1可以用PUT DATA命令修改的数据 下表列出的数据可以使用此命令修改。 表格 B-16:使用PUT DATA命令修改的数据 B.11.2 命令报文 PUT DATA命令报文根据下表编码。 表格 B-17:PUT DATA命令报文 56 B.11.3 命令报文的数据域 命令数据域中包括的是要修改的数据对象的值,后面家一个4到8字节的 MAC。MAC的计算见附录C中描述。 B.11.4 响应报文的数据域 响应报文没有数据域。 B.11.5 响应报文返回的处理状态 ,9000?编码表示命令成功执行。 下表列出了命令可能返回的警告信息: 表格 B-18:PUT DATA命令的警告响应码 下表列出了命令可能返回的错误信息 表格 B-19:PUT DATA命令的错误响应码 57 B.12 读记录(READ RECORD)命令APDU B.12.1 定义和范围 READ RECORD命令从一个线性文件中读一条文件记录。 从 IC卡返回的应 答中将包含这条被读出的记录。 B.12.2 命令报文 READ RECORD命令报文根据下表编码: 表格 B-19:READ RECORD命令报文 下表定义了命令报文的引用控制参数。 表格 B-20:READ RECORD命令引用控制参数 B.12.3 命令报文的数据域 命令报文中没有数据域。 58 B.12.4 响应报文的数据域 任何成功的READ RECORD命令的响应报文的数据域都包含读出的记录值。对于在1-10范围内的SFI,这个记录是一个BER-TLV结构数据对象。它按照下表编码。 表格 B-21:READ RECORD响应报文数据域 对于不在1-10 B.12.5 响应报文返回的处理状态 ,9000?编码表示命令成功执行。 B.13 选择(SELECT)命令APDU B.13.1 定义和范围 SELECT命令通过文件名或AID来选择IC卡中的PSE、DDF或ADF。应用选择在本规范的第7章中描述。 成功执行该命令设定PSE、DDF或ADF的路径。后续命令作用于与用SFI选定的PSE、DDF或ADF相联系的AEF。 从IC卡返回的应答报文包含回送FCI。 B.13.2 命令报文 SELECT命令报文编码见下表: 表格 B-22:SELECT命令报文 下表定义了SELECT命令报文的引用控制参数: 表格 B-23:SELECT命令引用控制参数 59 下表定义了SELECT命令报文的选择选项P2: 表格 B-24:SELECT命令的可选参数 B.13.3 命令报文数据域 命令报文数据域应包括所选择的PSE名、DF名或AID。 B.13.4 应答报文数据域 应答报文中数据域应包括所选择的PSE、DDF或ADF的FCI。表格 B-25、表 格 B-26和表格 B-27定义了本规范所应用的标识。对于本规范所不规定的FCI中回送的附加标签应该被忽略。 下表定义了成功选择PSE后回送的FCI: 表格 B-25:选择PSE的应答报文 (FCI) 60 表格 B-26:选择DDF的应答报文 (FCI) 下表定义了成功选择ADF后回送的FCI: 表格 B-27:选择ADF的应答报文 (FCI) 注意:对于多应用卡片,强烈建议在响应报文中包含“应用标签”数据元,使得在终端用“AID列表”方法进行应用选择时,能方便持卡人选择/确认应用。 61 B.13.5 应答报文状态码 此命令执行成功的状态码是,9000?。 IC卡是否支持使用部分DF名进行DF文件选择不作强制规定。但是,如果IC卡支持部分名称选择,那么它应该遵守下列规则: 当一个DF成功选中后,终端重复发出选择(SELECT)命令,且P2设置为选择下一个文件的选项及使用相同的部分DF名时,卡片应该选中与部分DF名称匹配的不同的DF文件(如果这样的DF存在)。在没有应用层命令干扰的情况下重复发出相同的选择(SELECT)命令,卡片应该可以找到所有满足条件的DF文件,且每个文件不会被找到两次。当所有满足条件的DF都被选择后,再发出同样的 选择(SELECT)命令,应该得到没有文件被选择的结果,卡片应该响应SW1SW2=,6A82?(文件未找到)。 B.14 修改记录(UPDATE RECORD)命令APDU B.14.1 定义和范围 UPDATE RECORD命令用来修改文件中一条记录的内容,修改的内容在命令数据域中。 B.14.2 命令报文 UPDATE RECORD命令报文编码见下表: 表格 B-28:UPDATE RECORD命令报文 表格 B-29:UPDATE RECORD命令引用控制参数 62 B.14.3 命令报文的数据域 数据域中是要修改的新记录内容。MAC长度为4到8字节。算法见附录C。 B.14.4 响应报文的数据域 响应报文没有数据域。 B.14.5 响应报文返回的处理状态 ,9000?编码表示命令成功执行。 下表列出了命令可能返回的警告信息: 表格 B-30:UPDATE RECORD命令的警告响应码 下表列出了命令可能返回的错误信息 表格 B-31:UPDATE RECORD命令的错误响应码 63 B.15 校验(VERIFY)命令APDU B.15.1 定义和范围 VERIFY命令引发IC卡将命令报文数据域内的交易PIN数据和与该应用相关的参考PIN数据进行比较验证。验证方式由IC卡中的应用自行决定。如本规范第12章所述,当从CVM列表中选择的持卡人验证方式(CVM)是脱机PIN时,使用VERIFY命令。 B.15.2 命令报文 VERIFY命令报文根据下表编码: 表格 B-32:VERIFY命令报文 下表定义了参考数据(P2)的意义. 表格 B-33:VERIFY命令参考数据定义(P2) 1 本规范未采用P2= ‘00’。 64 明文脱机PIN 数据块按如下格式组织。 其中 PIN数据。 B.15.3 命令报文的数据域 命令报文的数据域中包含标签,99?的值域。 B.15.4 响应报文的数据域 响应报文中没有数据域。 B.15.5 响应报文中的处理状态 ,9000?编码表示命令成功执行。 如果对当前选择的应用, 通过验证命令对交易PIN数据和参考PIN数据进行的比较失败了,IC卡会返回SW2=,Cx?, ,x?代表还可以重新验证的次数;如果IC卡返回了,C0?,意味着不能再验证了,CVM会被锁死。 随后,在这个应用中进行的所有验证命令都会失败,并返回SW1 SW2=,6983?。 C. 安全报文 本部分描述了发卡行脚本命令中如何使用安全报文。 安全报文的基本目的是确保数据的机密性,报文完整性和进行发卡行认证。报文完整性和发卡行认证通过MAC实现。数据保密通过加密命令明文数据实现。 C.1 安全报文格式 在本规范中的描述的安全报文个是符合ISO7816-4标准。当命令中CLA字节的低半字节为4,命 65 令使用安全报文格式。 C.2 报文完整性和认证(MACing) 报文鉴别码(MAC)使用命令中所有的数据元包括命令头生成。命令的完整性包括命令中的数据域部分(如果存在)使用安全报文来保证。 C.2.1 MAC位置 MAC是命令数据域中最后的数据元。 C.2.2 MAC长度 PBOC规定MAC长度为4字节。 C.2.3 MAC密钥生成 在处理安全报文时使用MAC密钥过程密钥。过程密钥的生成见“C.4生成过程密钥”。MAC过程密钥由卡片中的安全报文认证(MAC)密钥(MAC UDK)生成。 C.2.4 MAC计算 命令中需要加密的数据加密以后再计算MAC。MAC使用对称密钥算法计算的,步骤如下: 1. 初始值为8字节全零。(此步骤可省略) 2. 下列数据按顺序排列得到一个数据块D: - - - CLA,INS,P1,P2,Lc(Lc的长度包括MAC的长度) ATC(对于发卡行脚本处理,此ATC在请求中报文中上送) 应用密文(对于发卡行脚本处理,此应用密文通常是ARQC,或AAC,在请求报文中上 送) 命令数据域中的明文或密文数据(如果存在) - 3. 将上述数据块D分成8字节长的数据块D1,D2,D3…最后一块数据块的字节长度为1到8。 4. 如果最后一块数据块的长度为8字节,后面补8字节数据块:80 00 00 00 00 00 00 00,执行步 骤5。 如果最后一块数据块的长度小于8字节,后面补一个字节80,如果长度到8字节,执行步骤5。如果仍然不够8字节,补00直到8字节。 5. 用MAC过程密钥对数据块进行加密。MAC过程密钥的生成见“C.4过程密钥生成”。 图表 C-1是使用MAC过程密钥A和B生成MAC的流程图。 6. MAC的计算结果为8字节,从最左边的字节开始取4字节。 66 图表 C-1:使用双长度DEA密钥计算MAC的算法 说明: I = 输入 DEA(e)= 数据加密算法(加密模式) DEA(d)= 数据加密算法(解密模式) O = 输出D = 数据块KMA = MAC过程密钥AKMB = MAC过程密钥B+ = 异或 C.3 数据加密 数据加密用来确保命令中的关键数据的机密性。 C.3.1 数据加密密钥计算 在处理安全报文时使用安全报文加密过程密钥。过程密钥的生成见“C.4生成过程密钥”。数据加密过程密钥由卡片中的安全报文加密密钥(ENC UDK)生成。 C.3.2 加密数据的结构 当命令中的明文数据需要加密时,首先要建立一个数据块,步骤如下: 数据明文的长度Ld(不包括补充字节长度) 数据明文 补充字节(“C.3.3数据加密计算”中描述) 67 然后对整个数据块进行加密。 C.3.3 数据加密计算 数据加密在MAC计算之前进行。步骤如下: 1. 设Ld为明文数据的长度。 2. 将数据C.3.2中得到的数据块分成8字节一组:D1,D2,D3…最后一组的长度为1到8字节 。 3. 如果最后一组数据块长度等于8,执行步骤4。如果长度小于8,在后面补80,如果长度到8 字节,执行步骤4。如果仍然不够8字节,补00直到8字节。 4. 每个数据块使用数据加密过程密钥加密。过程密钥的生成见“C.4生成过程密钥”。 下图是使用数据加密过程密钥A和B对数据块加密的流程。 图表 C-2:用双长度DEA密钥进行数据加密 说明: DEA(e)= 数据加密算法(加密模式) DEA(d)= 数据加密算法(解密模式) O = 输出加密的DND = 数据块KMA = MAC过程密钥AKMB = MAC过程密钥B 5. 结束后,所有的加密后的数据块顺序连接(加密的D1,加密的D2,加密的D3…)就是命令 数据域中的最终数据。 68 C.3.4 数据解密计算 收到命令后,卡片要把命令数据域中的加密数据进行解密,步骤如下: 1. 将命令数据中的数据分成8字节一组:D1,D2,D3…每个数据组用数据加密过程密钥解密。 下图是使用数据加密过程密钥A和B对数据块进行解密的流程。 图表 C-3:使用双长度DEA密钥进行数据解密 说明: DEA(e)= 数据加密算法(加密模式) DEA(d)= 数据加密算法(解密模式) O = 输出解密的DND = 数据块KMA = MAC过程密钥AKMB = MAC过程密钥B 2. 结束后,所有的解密后的数据块顺序连接(解密的D1,解密的D2,解密的D3…)就是命令 数据域中的Ld,数据明文和补充字节。 3. Ld表明了数据的真实长度。 C.4 生成过程密钥 本部分描述了过程密钥的生成方法。步骤如下: 1. 生成过程密钥的卡片密钥是:MAC DEA密钥A和B(MAC UDK),数据加密DEA密钥A和 B(ENC UDK)。 2. 将两字节的ATC右对齐,前面补6个字节00…(详细内容参考安全规范) 69 3. 将两字节的ATC取反后右对齐,前面补6个字节00…(详细内容参考安全规范) C.5 命令中的安全报文 D. 认证密钥和算法 本附录描述了和生成应用密文相关的密钥和算法。 D.1 数据源 发卡行要决定生成应用密钥的数据源。 下表列出了生成应用密文的数据顺序。 表格 D-1:TC/AAC/ARQC数据元顺序 D.2 生成TC,AAC和ARQC 密文生成的步骤如下: 1. 终端将CDOL中指定的终端数据通过生成应用密文命令传送给卡片。如果CDOL中有要交易 证书(TC)哈希结果。终端要将此数据放到命令数据域中。 2. 根据卡片风向管理的结果,卡片决定返回的密文类型为TC、AAC或ARQC。生成密文的数据 70 块: - - - 交易证书(TC)哈希结果(如果存在) 生成应用密文命令中送进卡片的数据。不包括TC哈希结果 卡片内部数据 3. 将上述数据块分成8字节一组:D1,D2,D3… 4. 如果最后一块数据块的长度为8字节,后面补8字节数据块:80 00 00 00 00 00 00 00。 如果最后一块数据块的长度小于8字节,后面补一个字节80,如果仍然不够8字节,补00直到8字节。 5. 使用过程密钥用对称密钥算法生成应用密文。 6. 过程密钥是由卡片中唯一分散密钥(UDK)生成,具体生成方法在C.4中。下图是使用过程密 钥A和B生成应用密文的流程。 说明: I = 输入 DEA(e)= 数据加密算法(加密模式) DEA(d)= 数据加密算法(解密模式) O = 输出 D = 数据块KA = 密钥AKB = 密钥B + = 异或 图表 D-1:TC/AAC/ARQC的生成算法。 71 D.3 生成授权响应密文ARPC 卡片在收到外部认证命令时,生成一个ARPC和命令中传送进来的ARPC进行比较。生成ARPC的步骤如下: 1. 将应用密文和授权响应码进行异或。 应用密文包括在上传的请求报文中,通常是ARQC,在一些特殊情况下是AAC。 授权响应码是在外部认证命令中送入卡片的。在执行异或前左对齐后面补6个字节00。 2. 异或的结果是一个8字节的数据块D1。 3. 使用过程密要用对称密钥算法计算ARPC。下图是ARPC的生成方法。 72 说明: I = 输入 DEA(e)= 数据加密算法(加密模式) DEA(d)= 数据加密算法(解密模式) O = 输出 D = 数据块KA = 密钥AKB = 密钥B 图表 D-2:生成ARPC的算法 D.4 密钥分散方法 本部分描述了密钥分散的方法。卡片中的唯一DEA密钥是在卡片个人化时,从主密钥MDK分散生成的。 73 下图是唯一DEA密钥A和B的生成流程。 发卡行主机安全模 块 发卡行生成双长度主分散密钥(MDK) 个人化时,发卡行为每张IC卡省成唯一DEA密钥A(UDKA)和唯一DEA密钥B(UDKB) UDKA使用应用主账号和主账号序列号,执行3DES计算生成 MDK 取反的UDKB使用取反的应用主账号和主账号序列号,执行3DES计算生成 图表 D-3:密钥分散 应用主账号(PAN)和应用主账号序列号用来组成一个8字节(16个数字)长的数据块D1,用来生成分散的唯一DEA密钥A。如果应用主账号序列号不存在,用一个字节00代替。如果应用主账号和应用主账号序列号的长度不等于16个数字: 如果长度小于16个数字,右对齐,前面补0 如果长度大于16个数字,取最右边16个数字 上述数据块D2取反,用来生成分散的唯一DEA密钥B。 下图是卡片使用唯一DEA密钥A和B(UDKA和UDKB)进行卡片认证的过程。 74 1 终端发送和交易相关的数据给卡片 2 IC卡使用UDK加1 数据2密数据生成ARQC返 UDKs回给终端 3 终端将ARQC和相关数据上送到发卡行做认证3 数 4 发卡行用MDK重据,ARQC新分散UDKs,校验 ARQC 图表 D-4:使用UDK执行卡片认证 如图所示,主机安全模块要得到分散的UDK验证ARQC E. 支持的密文版本 PBOC定义的密文版本为01(0x01)。 下表列出的是生成TC/AAC和ARQC的数据元和顺序。 表格 E-1:生成TC/AAC和ARQC的数据 75 密文版本01使用安全规范中定义的对称密钥算法计算应用密文。 F. 算法标识 发卡行自定义数据元中由一个PBOC自定义数据:算法标识。此数据定义了卡片计算应用密文和安全报文采用的算法。长度为1个字节。取值情况为: 表格 F-1:算法标识 76
/
本文档为【中国金融集成电路(IC)卡借记贷记规范v2-卡片部分】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索