《PSAM技术参考总结介绍资料(v34).doc》由会员分享,可在线阅读,更多相关《PSAM技术参考总结介绍资料(v34).doc(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 PSAM技术参考手册技术参考手册 Version 3.4 PSAMPSAM 深圳市卡芯科技有限公司深圳市卡芯科技有限公司 2008 年年 7 月最后修改月最后修改 * 目目 录录 1、文件结构、文件结构.4 1.1技术参数及 ATR.4 1.2 文件结构.5 1.3MF 区域说明.6 1.4ADF 区域说明.6 2、基本命令、基本命令.7 21 选择文件(SELECT).7 22 读记录文件(READ RECORD).8 23 写记录文件(UPDATE RECORD).8 24 读二进制文件(READ BINARY) .9 25 写二进制文件(UPDATE BINARY) .10 26 外部
2、认证(EXTERNAL AUTHENTICATION).10 27 内部认证(INTERNAL AUTHENTICATION) .11 28 取响应数据(GET RESPONSE).12 29 取随机数(GET CHALLENGE).12 3、个人化指令、个人化指令.14 31 建立文件指令(CREATE FILE).14 32 内部数据设定.16 33 WRITE KEY 增加或修改密钥 84 D4.16 34 通讯协议设定 F0 10.20 4、PBOC PSAM 指令指令.21 41 通用 DES 计算初始化(INIT_FOR_ DESCRYPT)80 1A.21 42 通用 DES 计
3、算(DES CRYPT)80 FA.22 43 MAC1 计算(INIT_SAM_FOR_PURCHASE)80 70.23 44 校验 MAC2(CREDIT_SAM_FOR_PURCHASE)80 72.24 45 应用解锁(APPLICATION UNBLOCK)84 18 .25 5、扩展指令、扩展指令.26 51 动态更新通讯密钥(UPDATA_WK) F0 D4 .26 52 下载 MWK 密钥(LOAD_MWK)00 D4 .26 53 计算通讯 MAC 专用命令(CAL_COMM_MAC) 80 FB.27 54 建设部 SAM 专用命令(CAL_MIFARE1)80 FC .
4、28 55 专用密钥装载/更新指令 80 A2.30 56 专用加密/MAC 计算指令 80 A6.31 57 *终端 KEY 计算指令(CT 专用)80 FA.33 58 校验 PIN (VERIFY PIN ) 00 20.34 59 修改 PIN (CHANGE PIN) 80 5E.34 510 双向认证初始化(INIT DUAL AUTHENTICATION) 00 74.35 511 双向认证( DUAL AUTHENTICATION) 00 86 .36 * 附录附录 A 卡片中的基本数据文件卡片中的基本数据文件.38 附录附录 B:指令集与返回代码:指令集与返回代码.39 附录
5、附录 C :PSAM 个人化指令使用流程参考个人化指令使用流程参考.41 1、清除 PSAM 卡数据(DELEATE MF).41 2、创建 MF (CREATE MF).41 3、 建 DIR 目录文件(CREATE EF01).41 4、 明文装载卡片主控密钥 CCK0(WRITE KEY AT PLAIN MODE).41 5、 建 PSAM 应用的公共应用基本数据文件(EF15,SFI=0X15) .42 51、建立EF15.42 52 更新EF15文件.42 6、 建 PSAM 终端编号文件(EF16,SFI=0X16).42 61建立EF16.42 62 更新EF16文件.43 7
6、、 建立 DF01 (CREATE DF01) .43 8、 CCK 的控制下装载应用主控密钥 ACK.43 9、 ACK 的控制下装载消费交易等密钥 .43 10、个人化结束(CREATE END).43 附录附录 D:简单发卡及应用数据流程:简单发卡及应用数据流程.44 1、个人化流程.44 2、应用举例.45 * 1、文件结构、文件结构 PSAM 卡用于商户 POS、网点终端、直联终端等端末设备上,负责机具的安全控管。 PSAM 卡具有一定的通用性。经过个人化处理的 PSAM 卡能在不同的机具上使用。 COS 遵循以下标准: GB/T 16649.31996 识别卡 带触点的集成电路卡
7、第3部分:电信号和传输协议 (ISO/IEC 7816-3:1989) ISO 8731-1:1987银行业务 已批准的报文鉴别算法 第1部分:DEA ISO 8732:1987信息处理64位块加密算法的运算方法 中 国 金 融I C卡 试 点P S A M卡 应 用 规 范 PSAM 卡支持多级发卡的机制,各级发卡方在卡片主控密钥和应用主控密钥的控制下 创建文件和装载密钥。 1.1 技术参数及技术参数及 ATR 芯片类型: 8051 8 位安全芯片 参数名称测试条件最小值最大值单位 操作电压27 5.5V 工作温度 -25+85 摄氏度 外部时钟频率25 摄氏度 14MHz 内部时钟 406
8、0MHz 休眠电流休眠状态 5A 工作电流25 摄氏度,3V-5V 310mA 功率 60mW EEPROM 擦25 摄氏度,3V-5V 操作 128 字 节 2mS EEPROM 写25 摄氏度,3V-5V 操作 128 字 节 20mS 通讯速率 9600115200BPS DES 加密时间25 摄氏度,3V-5V 40-60 MHz 70mS 对于 T=0 通讯协议的 ATR 下表: 符号符号字节内容字节内容 内容解释内容解释 * TS3B正向约定 T07CTB1 和 TC1 存在,历史字符为 9 个 TA195PPS 支持最高 112000BPS TB100无需额外的编程电压 TC10
9、0无需额外的保护时间 1-2 “SR” COS 标识 30 x34 COS 版本号 3.4 4卡个人化状态: 00 空白卡/出厂卡 01 个人化中/未个人化结束卡 02 个人化结束卡 T1-TC12 字节历 史字符 5-12卡唯一序号 1.2 文件结构文件结构 PSAM 卡文件结构符合 ISO/IEC78164。 本条款描述了符合本规范的应用文件结构,这些应用被定义为支付系统应用(PSA) 。 符合 ISO/IEC78164,但不符合本规范的其他应用也可出现在 PSA 上,并可以使用本规 范中定义的命令进行操作。 PSAM 卡中 PSA 的路径可以通过明确选择支付系统环境(PSE)来激活。 P
10、SAM 卡文件结构如下图所示: PSAM 卡文件结构 DF3 DF2 。 MF(PSE) DIR 文件 主控密钥文件 公共信息文件 终端信息文件 PBOC 应用 应用密钥文件 内部数据文件 应用公共信息文件 其他 DF 应用 * * 1.3 MF 区域说明区域说明 在 PSAM 卡的 MF 区域中,文件创建和密钥装载是在卡片主控密钥的控制下进行。 DIR 目录数据文件目录数据文件 DIR 目录数据文件的说明参考中国金融集成电路(IC)卡规范 ,但 DIR 目录数据 文件的入口地址必须包括全国密钥管理总中心应用 ADF。 卡片主控密钥卡片主控密钥 卡片主控密钥是卡片的控制密钥,由卡片生产商写入,
11、由发卡方替换为发卡方的卡片 主控密钥。卡片主控密钥的更新在自身的控制下进行。发卡方必须在卡片主控密钥的控制 下, 创建卡片 MF 区域的文件; 装载卡片维护密钥、应用主控密钥; 更新卡片主控密钥、卡片维护密钥。 卡片主控密钥的控制可通过外部认证操作实现,也可通过安全报文的方式实现。 卡片公共信息文件卡片公共信息文件 卡片公共信息文件存放卡片的公共信息,在卡片主控密钥的控制下创建,可自由读, 可在卡片维护密钥的控制下改写。 终端信息文件终端信息文件 终端信息文件存放终端的信息,在卡片主控密钥的控制下创建,可自由读,可在卡片 维护密钥的控制下改写。 1.4 ADF 区域说明区域说明 在 PSAM
12、卡的 ADF(Application Data File)区域中,文件创建和密钥装载是在应用主 控密钥的控制下进行。ADF 下的文件结构可由应用发行者自行确定。全国密钥管理中心应 用 ADF 的文件结构必须包括应用主控密钥、应用维护密钥、应用主工作密钥数据元、应用 公共数据文件和终端应用交易序号数据元。 应用主控密钥应用主控密钥 应用主控密钥是应用的控制密钥,在卡片主控密钥控制下写入。发卡方必须在应用主 控密钥的控制下, 装载应用维护密钥、应用主工作密钥; 更新应用主控密钥、应用维护密钥。 应用主控密钥的控制可通过外部认证操作实现,也可通过安全报文的方式实现。 应用公共信息文件应用公共信息文件
13、 应用公共信息文件存放应用的公共信息,在应用主控密钥的控制下创建,可自由读, 可在应用维护密钥的控制下改写。 内部数据文件内部数据文件 终端应用交易序号长度 4 字节,用于终端的脱机交易,在消费交易 MAC2 验证通过 的情况下由卡片操作系统改写。 终端应用交易序号只对本应用有效。 * 2、基本命令、基本命令 21 选择文件(选择文件(Select) 定义和范围定义和范围 SELECT 命令通过文件名或 AID 来选择 IC 卡中的 PSE、DDF 或 ADF。 命令执行成功后,PSE、DDF 或 ADF 的路径被设定。 应用到 AEF 的后续命令将采用 SFI 方式联系到所选定的 PSE、D
14、DF 或 ADF。 从 IC 卡的响应报文应由回送的 FCI 组成。 命令报文命令报文 SELECT FILE 命令报文见表 21。 代码值 CLA 00h INS A4h P1 引用控制参数(见表 22) P2 00h:第一个或仅有一个 02h:下一个 Lc 05h10h Data 文件名 Le 00h 表 21 SELECT 命令报文表 b8b7b6b5b4b3b2b1含义 00000 1通过文件名选择 00 表 22 SELECT 命令引用控制参数 命令报文数据域命令报文数据域 命令报文数据域应包括所选择的 PSE 名、DF 名或 AID。 响应报文数据域响应报文数据域 响应报文中数据域
15、应包括所选择的 PSE、DDF 或 ADF 的 FCI。表 23 到表 25 规 定了此定义所用的标志。本规范不规定 FCI 中回送的附加附加标志。 表 23 定义了成功选择 PSE 后回送的 FCI: 标志值存在方式 6FFCI 模板M 84DF 名M A5FCI 专用数据M 88目录基本文件的 SFIM 表 23 SELECT PSE 的响应报文(FCI) 表 24 定义了成功选择 DDF 后回送的 FCI: 标志值存在方式 6FFCI 模板M 84DF 名M * A5FCI 专用数据M 88目录基本文件的 SFIM 表 24 SELECT DDF 的响应报文(FCI) 表 25 定义了成
16、功选择 ADF 后回送的 FCI: 标志值存在方式 6FFCI 模板M 84DF 名M A5FCI 专用数据M 9F0C发卡方自定义数据的 FCIO 表 25 SELECT ADF 的响应报文(FCI) 22 读记录文件(读记录文件(Read Record) 定义和范围定义和范围 READ RECORD 命令用于读取记录文件中内容。 IC 卡的响应由回送的记录数据组成。 命令报文命令报文 READ RECORD 命令报文见表 26。 代码值 CLA 00h INS B2h P1 记录的序号 P2 引用控制参数(见表 27) Lc 不存在; Data 不存在; Le 00h 表 26 READ
17、RECORD 命令报文 b8b7B6b5b4b3b2b1含义 XXXXXSFI 100P1 为记录的序号 表 27 READ RECORD 命令引用控制参数 命令报文数据域命令报文数据域 命令报文数据域不存在。 响应报文数据域响应报文数据域 所有执行成功的 READ RECORD 命令响应报文数据域由读取的记录组成。 23 写记录文件(写记录文件(Update Record) 定义和范围定义和范围 UPDATE RECORD 命令用命令 APDU 中给定的数据更改指定的记录。 在使用当前记录地址时,该命令将在修改记录成功后重新设定记录指针。 在安全更新记录时,若安全报文连续三次出错,则永久锁定
18、应用。 命令报文命令报文 * UPDATE RECORD 命令报文见表 28。 代码值 CLA 00h 或 04h INS DCh P1 P1= 00h:表示当前记录 P1 00h:指定的记录号 P2 见表 28 Lc 后续数据域长度 Data 输入数据 Le 不存在 表 28 UPDATE RECORD 命令报文 b8b7b6b5b4b3b2b1含义 XXXXXSFI 000第一个记录 001最后一个记录 010下一个记录 011上一个记录 100记录号在 P1 中给出 其余值RFU 表 29 UPDATE RECORD 命令引用控制参数 命令报文数据域命令报文数据域 命令报文数据域由更新原
19、有记录的新记录组成。使用安全报文时,命令报文的数据 域中应包括 MAC。MAC 是由卡片维护密钥或应用维护密钥对更新原有记录的新记录计算 而得到的。 响应报文数据域响应报文数据域 响应报文数据域不存在。 24 读二进制文件(读二进制文件(Read Binary) 定义和范围定义和范围 READ BINARY 命令用于读取二进制文件的内容(或部分内容) 。 命令报文命令报文 READ BINARY 命令报文见表 210。 代码值 CLA 00h INS B0h P1 见表 211 P2 从文件中读取的第一个字节的偏移地址 Lc 不存在 Data 不存在 Le 00 表 210 READ BINA
20、RY 命令报文 * b8b7b6b5b4b3b2b1含义 X 1 读取模式: 用 SFI 方式 00RFU(如果 b81) XXXXXSFI(取值范围 2130) 表 211 READ BINARY 命令引用控制参数 命令报文数据域命令报文数据域 命令报文数据域不存在。 响应报文数据域响应报文数据域 当 Le 的值为 0 时,只要文件的最大长度在 256(短长度)或 65536(扩展长度)之内, 则其全部字节将被读出。 25 写二进制文件(写二进制文件(Update Binary) 定义和范围定义和范围 UPDATE BINARY 命令用命令 APDU 中给定的数据修改 EF 文件中已有的数据
21、。 命令报文命令报文 UPDATE BINARY 命令报文见表 212。 代码值 CLA 00h 或 04h INS D6h P1 见表 213 P2 要修改的第一个字节的偏移地址 Lc 后续数据域的长度 Data 修改用的数据 Le 不存在 表 212 UPDATE BINARY 命令报文 b8b7b6b5b4b3b2b1含义 X 1 读取模式: 用 SFI 方式 00RFU(如果 b81) XXXXXSFI(取值范围 2130) 表 213 UPDATE BINARY 命令引用控制参数 命令报文数据域 命令报文数据域包括更新原有数据的新数据。使用安全报文时,命令报文的数据域 中应包括 MA
22、C。MAC 是由卡片维护密钥或应用维护密钥对更新原有数据的新数据计算而 得到的。 响应报文数据域响应报文数据域 响应报文数据域不存在。 26 外部认证(外部认证(External Authentication) 定义和范围定义和范围 * EXTERNAL AUTHENTICATION 命令用于对卡片外部的安全认证。计算的方法是利 用卡片中的卡片主控密钥或应用主控密钥,对卡片产生的随机数(使用 GET CHALLENGE 命令)和接口设备传输进来的认证数据进行验证。 命令报文命令报文 EXTERNAL AUTHENTICATION 命令报文见表 214。 代码值 CLA 00h INS 82h
23、P1 00h P2 主控密钥或应用主控密钥的 KID (00-08h) Lc 08h Data 发卡方认证数据 Le 不存在 表 214 EXTERNAL AUTHENTICATION 命令报文 命令报文数据域命令报文数据域 命令报文数据域中包含 8 字节的加密数据,该数据是用主控密钥对此命令前一条命 令“GET CHALLENGE”命令获得的随机数后缀“00 00 00 00”之后做 3DES 加密运算产 生的。 响应报文数据域响应报文数据域 响应报文数据域不存在。 27 内部认证内部认证(Internal Authentication) 1).定义和范围定义和范围 Internal Aut
24、hentication 命令提供了利用接口设备发来的随机数和自身存储的相关密钥 进行数据认证的功能。 2).命令报文命令报文 Internal Authentication 命令报文编码如下: 代码代码值值 CLA 00 INS 88 P100 P2内部认证密钥 KID (00-FEh) *当当 P2=FFh 时时 对对 COS 系统密钥进行认证系统密钥进行认证 LcXX DATA认证数据 3).命令报文数据域命令报文数据域 命令报文数据域 DATA 的内容是:分散因子 + 认证数据(8 位) ; * Lc 必须为 8 的整数倍(每 8 位数据为 1 块) 。如待处理的输入数据大于 1 块,则
25、 COS 首先对密钥进行多级的分散,按最后一次分散因子在前、最先一次分散因子在后的顺序输 入。 4).响应报文数据域响应报文数据域 应答报文数据域内容是:内部认证数据=3DES(KEY,认证数据) 。 KEY内部认证密钥(依据分散因子进行分散) 28 取响应数据(取响应数据(Get Response) 定义和范围定义和范围 当 APDU 不能用现有协议传输时,GET RESPONSE 命令提供了一种从 IC 卡向接口 设备传送 APDU(或 APDU 的一部分)的传输方法。 命令报文命令报文 GET RESPONSE 命令报文见表 215。 代码值 CLA 00h INS C0h P1 00h
26、 P2 00h Lc 不存在 Data 不存在 Le 期望数据的最大长度 表 215 GET RESPONSE 命令报文 命令报文数据域命令报文数据域 命令报文数据域不存在。 响应报文数据域响应报文数据域 响应报文数据域的长度由 Le 的值决定。如果 Le 的值为 0,在后续数据有效时,IC 卡必须回送状态码6Cxx ,否则6F00 。 29 取随机数(取随机数(Get Challenge) 定义和范围定义和范围 GET CHALLENGE 命令用于从 IC 卡中获得一个 4 或 8 个字节的随机数。 该随机数服务于安全过程(如安全报文) ,在使用随机数的命令执行后失效。 命令报文命令报文 G
27、ET CHALLENGE 命令报文见表 216。 代码值 CLA 00h * INS 84h P1 00h P2 00h Lc 不存在 Data 不存在 Le 04h/08h 表 216 GET CHALLENGE 命令报文 命令报文数据域命令报文数据域 命令报文数据域不存在。 响应报文数据域响应报文数据域 IC 卡产生的随机数,长度为 4 或 8 字节。 * 3、个人化指、个人化指令令 31 建立文件指令建立文件指令(Create File) 定义和范围定义和范围 Create File 命令用于建立 MF 文件、DF 文件和 EF 文件。 当建立 MF 文件时,卡片必须为空;建立 DF 文
28、件时,只有 MF 存在且有足够的空间, 并且满足当前建立文件的安全条件,MF 没有被锁住,才可建立 DF。 建立 EF 文件时,只有卡空间EF 文件头+文件体,并且满足当前建立 EF 文件的安全 条件才可建立 EF。 命令报文命令报文 Create File 的命令报文如下: 代码代码值 CLA F0 INS F0 P1 文件类型 P200 Lc文件信息长度 DATA文件信息 命令数据说明命令数据说明 P1: 00-MF 01-DF 02-EF 03-个人化结束 04-删除 MF DATA:说明如下: 当 P1 为 00、01、02 是 DATA 如下表: 字节 DATA 长度 EF DF M
29、F 1-2EF 标识 FIDDF ID*3F002 3-4EF 空间大小DF 空间大小MF 空间大小2 * (记录个数+记 录长度) 5EF 状态DF状态状态*DF 总数量+DF 以 建立个数 (No.1) 1 6-8安全控制属性安全控制属性安全控制属性3 9文件类型Isf 密钥数量 Isf 密钥数量1 10AID (6 位, 其任一位值不 可为 0 xFF) 目录文件 sfi1 DF状态状态: 00自由访问自由访问 01卡复位后直接进入该应用(卡复位后直接进入该应用(MF下仅可以建立一个该应用)下仅可以建立一个该应用) 10应用下(应用下(CLA=04/84/80)的指令操作受)的指令操作受
30、PIN保护保护 2X应用下(应用下(CLA=04/84/80)的指令操作受认证保护,)的指令操作受认证保护,X为为KID FF禁止访问(应用永久锁定)禁止访问(应用永久锁定) 当 P1 为 03、04 是 DATA 如下表: 字节DATA长度 1-23F002 文件类型说明见下表: 文件类型文件类型类型描述类型描述 B7B6B5B4B3B2B1B0状态状态 0000二进制 0001定长记录 0010循环定长 0011变长记录 0100FCI 文件 安全控制属性: 字节MFDFEF 1-1/2建立文件 ACRFU读 AC 1-2/2主控密钥 KIDRFU读 KEY 2-1/2建立应用 AC应用锁
31、定/解锁 AC写/修改/追加 AC * 2-2/2主控密钥 KID维护密钥 KID维护密钥 KID 3-1/2删除 MF AC建立文件 AC RFU 3-2/2 主控密钥 KID应用主控密钥 KID RFU MF/DF AC 值: 00 x10 x20 x3 0 xE0 xF 自由PIN认证保留禁止 EFAC 值: 00 x10 x20 x30 x40 x5 0 xE0 xF 自由PIN认证明文 +MAC 密文 +MAC 保留禁止 AC KEY 为内部安全文件对应 KEY 记录 32 内部数据设定内部数据设定 定义和范围定义和范围 用以设定内部数据文件中的数据;本指令在应用建立后与个人化结束指令执行前有 效。 命令报文命令报文 代码值 CLA F0h INS 20h P1 00h P2 00h Lc 06h Data 内部数据 命令报文 命令报文数据域命令报文数据域 命令数据说明: 4 字节 内部脱机交易序号 1 字节 内部数据安全计数指针 1 字节 应用锁定安全 计数指针 响应报文数据域响应报文数据域 报文数据域不存在。 33 Write KEY 增加或修改密钥增加或修改密钥 84 D4 定义和范围定义和范围 * WRITE KEY 命令可向卡中装载或更新卡中已经存在的密钥,本命
限制150内