PSAM技术参考手册(v34)_第1页
PSAM技术参考手册(v34)_第2页
PSAM技术参考手册(v34)_第3页
PSAM技术参考手册(v34)_第4页
PSAM技术参考手册(v34)_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 PSAM技术参考手册技术参考手册 Version 3.4PSAMPSAM深圳市卡芯科技有限公司深圳市卡芯科技有限公司2008 年年 7 月最后修改月最后修改SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 2 2 】页页 目目 录录1、文件结构、文件结构.41.1技术参数及 ATR.41.2 文件结构.51.3MF 区域说明.61.4ADF 区域说明.62、基本命令、基本命令.721 选择文件(SELECT).722 读记录文件(READ RECORD).823 写记录文件(UPDATE RECORD).824 读二进制文件(READ BINARY) .925

2、写二进制文件(UPDATE BINARY) .1026 外部认证(EXTERNAL AUTHENTICATION).1027 内部认证(INTERNAL AUTHENTICATION) .1128 取响应数据(GET RESPONSE).1229 取随机数(GET CHALLENGE).123、个人化指令、个人化指令.1431 建立文件指令(CREATE FILE).1432 内部数据设定.1633 WRITE KEY 增加或修改密钥 84 D4.1634 通讯协议设定 F0 10.204、PBOC PSAM 指令指令.2141 通用 DES 计算初始化(INIT_FOR_ DESCRYPT)

3、80 1A.2142 通用 DES 计算(DES CRYPT)80 FA.2243 MAC1 计算(INIT_SAM_FOR_PURCHASE)80 70.2344 校验 MAC2(CREDIT_SAM_FOR_PURCHASE)80 72.2445 应用解锁(APPLICATION UNBLOCK)84 18 .255、扩展指令、扩展指令.2651 动态更新通讯密钥(UPDATA_WK) F0 D4 .2652 下载 MWK 密钥(LOAD_MWK)00 D4 .2653 计算通讯 MAC 专用命令(CAL_COMM_MAC) 80 FB.2754 建设部 SAM 专用命令(CAL_MIFA

4、RE1)80 FC .2855 专用密钥装载/更新指令 80 A2.3056 专用加密/MAC 计算指令 80 A6.3157 *终端 KEY 计算指令(CT 专用)80 FA.3358 校验 PIN (VERIFY PIN ) 00 20.3459 修改 PIN (CHANGE PIN) 80 5E.34510 双向认证初始化(INIT DUAL AUTHENTICATION) 00 74.35511 双向认证( DUAL AUTHENTICATION) 00 86 .36SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 3 3 】页页 附录附录 A 卡片中的基

5、本数据文件卡片中的基本数据文件.38附录附录 B:指令集与返回代码:指令集与返回代码.39附录附录 C :PSAM 个人化指令使用流程参考个人化指令使用流程参考.411、清除 PSAM 卡数据(DELEATE MF).412、创建 MF (CREATE MF).413、 建 DIR 目录文件(CREATE EF01).414、 明文装载卡片主控密钥 CCK0(WRITE KEY AT PLAIN MODE).415、 建 PSAM 应用的公共应用基本数据文件(EF15,SFI=0X15) .4251、建立EF15.4252 更新EF15文件.426、 建 PSAM 终端编号文件(EF16,SF

6、I=0X16).4261建立EF16.4262 更新EF16文件.437、 建立 DF01 (CREATE DF01) .438、 CCK 的控制下装载应用主控密钥 ACK.439、 ACK 的控制下装载消费交易等密钥 .4310、个人化结束(CREATE END).43附录附录 D:简单发卡及应用数据流程:简单发卡及应用数据流程.441、个人化流程.442、应用举例.45SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 4 4 】页页 1、文件结构、文件结构PSAM 卡用于商户 POS、网点终端、直联终端等端末设备上,负责机具的安全控管。PSAM 卡具有一定的通

7、用性。经过个人化处理的 PSAM 卡能在不同的机具上使用。COS 遵循以下标准:GB/T 16649.31996 识别卡 带触点的集成电路卡 第3部分:电信号和传输协议(ISO/IEC 7816-3:1989)ISO 8731-1:1987银行业务 已批准的报文鉴别算法 第1部分:DEAISO 8732:1987信息处理64位块加密算法的运算方法 中 国 金 融I C卡 试 点P S A M卡 应 用 规 范PSAM 卡支持多级发卡的机制,各级发卡方在卡片主控密钥和应用主控密钥的控制下创建文件和装载密钥。1.1 技术参数及技术参数及 ATR芯片类型: 8051 8 位安全芯片 参数名称测试条件

8、最小值最大值单位操作电压275.5V工作温度-25+85摄氏度外部时钟频率25 摄氏度14MHz内部时钟4060MHz休眠电流休眠状态5A工作电流25 摄氏度,3V-5V310mA功率60mWEEPROM 擦25 摄氏度,3V-5V 操作 128 字节2mSEEPROM 写25 摄氏度,3V-5V 操作 128 字节20mS通讯速率9600115200BPSDES 加密时间25 摄氏度,3V-5V 40-60 MHz70mS对于 T=0 通讯协议的 ATR 下表:符号符号字节内容字节内容 内容解释内容解释SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 5 5 】

9、页页 TS3B正向约定T07CTB1 和 TC1 存在,历史字符为 9 个TA195PPS 支持最高 112000BPSTB100无需额外的编程电压TC100无需额外的保护时间1-2“SR” COS 标识30 x34 COS 版本号 3.44卡个人化状态:00 空白卡/出厂卡01 个人化中/未个人化结束卡02 个人化结束卡T1-TC12 字节历史字符5-12卡唯一序号1.2 文件结构文件结构PSAM 卡文件结构符合 ISO/IEC78164。本条款描述了符合本规范的应用文件结构,这些应用被定义为支付系统应用(PSA) 。符合 ISO/IEC78164,但不符合本规范的其他应用也可出现在 PSA

10、 上,并可以使用本规范中定义的命令进行操作。PSAM 卡中 PSA 的路径可以通过明确选择支付系统环境(PSE)来激活。PSAM 卡文件结构如下图所示:PSAM 卡文件结构DF3DF2。MF(PSE)DIR 文件主控密钥文件公共信息文件终端信息文件PBOC 应用应用密钥文件内部数据文件应用公共信息文件其他 DF 应用SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 6 6 】页页 SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 7 7 】页页 1.3 MF 区域说明区域说明在 PSAM 卡的 MF 区域中,文件创建和密钥装载是在卡片

11、主控密钥的控制下进行。DIR 目录数据文件目录数据文件DIR 目录数据文件的说明参考中国金融集成电路(IC)卡规范 ,但 DIR 目录数据文件的入口地址必须包括全国密钥管理总中心应用 ADF。卡片主控密钥卡片主控密钥卡片主控密钥是卡片的控制密钥,由卡片生产商写入,由发卡方替换为发卡方的卡片主控密钥。卡片主控密钥的更新在自身的控制下进行。发卡方必须在卡片主控密钥的控制下,创建卡片 MF 区域的文件;装载卡片维护密钥、应用主控密钥;更新卡片主控密钥、卡片维护密钥。卡片主控密钥的控制可通过外部认证操作实现,也可通过安全报文的方式实现。卡片公共信息文件卡片公共信息文件卡片公共信息文件存放卡片的公共信息

12、,在卡片主控密钥的控制下创建,可自由读,可在卡片维护密钥的控制下改写。终端信息文件终端信息文件 终端信息文件存放终端的信息,在卡片主控密钥的控制下创建,可自由读,可在卡片维护密钥的控制下改写。1.4 ADF 区域说明区域说明在 PSAM 卡的 ADF(Application Data File)区域中,文件创建和密钥装载是在应用主控密钥的控制下进行。ADF 下的文件结构可由应用发行者自行确定。全国密钥管理中心应用 ADF 的文件结构必须包括应用主控密钥、应用维护密钥、应用主工作密钥数据元、应用公共数据文件和终端应用交易序号数据元。应用主控密钥应用主控密钥应用主控密钥是应用的控制密钥,在卡片主控

13、密钥控制下写入。发卡方必须在应用主控密钥的控制下,装载应用维护密钥、应用主工作密钥;更新应用主控密钥、应用维护密钥。应用主控密钥的控制可通过外部认证操作实现,也可通过安全报文的方式实现。应用公共信息文件应用公共信息文件应用公共信息文件存放应用的公共信息,在应用主控密钥的控制下创建,可自由读,可在应用维护密钥的控制下改写。内部数据文件内部数据文件终端应用交易序号长度 4 字节,用于终端的脱机交易,在消费交易 MAC2 验证通过的情况下由卡片操作系统改写。终端应用交易序号只对本应用有效。SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 8 8 】页页 2、基本命令、基

14、本命令21 选择文件(选择文件(Select)定义和范围定义和范围SELECT 命令通过文件名或 AID 来选择 IC 卡中的 PSE、DDF 或 ADF。命令执行成功后,PSE、DDF 或 ADF 的路径被设定。应用到 AEF 的后续命令将采用 SFI 方式联系到所选定的 PSE、DDF 或 ADF。从 IC 卡的响应报文应由回送的 FCI 组成。命令报文命令报文SELECT FILE 命令报文见表 21。代码值CLA 00hINS A4hP1 引用控制参数(见表 22)P2 00h:第一个或仅有一个 02h:下一个Lc 05h10h Data 文件名 Le 00h表 21 SELECT 命

15、令报文表b8b7b6b5b4b3b2b1含义000001通过文件名选择00表 22 SELECT 命令引用控制参数命令报文数据域命令报文数据域命令报文数据域应包括所选择的 PSE 名、DF 名或 AID。响应报文数据域响应报文数据域响应报文中数据域应包括所选择的 PSE、DDF 或 ADF 的 FCI。表 23 到表 25 规定了此定义所用的标志。本规范不规定 FCI 中回送的附加附加标志。表 23 定义了成功选择 PSE 后回送的 FCI:标志值存在方式6FFCI 模板M84DF 名MA5FCI 专用数据M88目录基本文件的 SFIM表 23 SELECT PSE 的响应报文(FCI)表 2

16、4 定义了成功选择 DDF 后回送的 FCI:标志值存在方式6FFCI 模板M84DF 名MSAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 9 9 】页页 A5FCI 专用数据M88目录基本文件的 SFIM表 24 SELECT DDF 的响应报文(FCI)表 25 定义了成功选择 ADF 后回送的 FCI:标志值存在方式6FFCI 模板M84DF 名MA5FCI 专用数据M9F0C发卡方自定义数据的 FCIO表 25 SELECT ADF 的响应报文(FCI)22 读记录文件(读记录文件(Read Record)定义和范围定义和范围READ RECORD 命令

17、用于读取记录文件中内容。IC 卡的响应由回送的记录数据组成。命令报文命令报文 READ RECORD 命令报文见表 26。代码值CLA 00hINS B2hP1 记录的序号P2 引用控制参数(见表 27)Lc 不存在;Data 不存在;Le 00h表 26 READ RECORD 命令报文b8b7B6b5b4b3b2b1含义XXXXXSFI100P1 为记录的序号表 27 READ RECORD 命令引用控制参数命令报文数据域命令报文数据域命令报文数据域不存在。响应报文数据域响应报文数据域所有执行成功的 READ RECORD 命令响应报文数据域由读取的记录组成。23 写记录文件(写记录文件(

18、Update Record)定义和范围定义和范围UPDATE RECORD 命令用命令 APDU 中给定的数据更改指定的记录。在使用当前记录地址时,该命令将在修改记录成功后重新设定记录指针。在安全更新记录时,若安全报文连续三次出错,则永久锁定应用。命令报文命令报文SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 1010 】页页 UPDATE RECORD 命令报文见表 28。代码值CLA 00h 或 04hINS DChP1 P1= 00h:表示当前记录 P1 00h:指定的记录号P2 见表 28Lc 后续数据域长度Data 输入数据Le 不存在表 28 UPD

19、ATE RECORD 命令报文b8b7b6b5b4b3b2b1含义XXXXXSFI000第一个记录001最后一个记录010下一个记录011上一个记录100记录号在 P1 中给出其余值RFU表 29 UPDATE RECORD 命令引用控制参数命令报文数据域命令报文数据域命令报文数据域由更新原有记录的新记录组成。使用安全报文时,命令报文的数据域中应包括 MAC。MAC 是由卡片维护密钥或应用维护密钥对更新原有记录的新记录计算而得到的。响应报文数据域响应报文数据域响应报文数据域不存在。24 读二进制文件(读二进制文件(Read Binary)定义和范围定义和范围READ BINARY 命令用于读取

20、二进制文件的内容(或部分内容) 。命令报文命令报文READ BINARY 命令报文见表 210。代码值CLA 00hINS B0hP1 见表 211P2 从文件中读取的第一个字节的偏移地址Lc 不存在Data 不存在Le 00表 210 READ BINARY 命令报文SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 1111 】页页 b8b7b6b5b4b3b2b1含义X1读取模式:用 SFI 方式00RFU(如果 b81)XXXXXSFI(取值范围 2130)表 211 READ BINARY 命令引用控制参数命令报文数据域命令报文数据域命令报文数据域不存在。

21、响应报文数据域响应报文数据域当 Le 的值为 0 时,只要文件的最大长度在 256(短长度)或 65536(扩展长度)之内,则其全部字节将被读出。25 写二进制文件(写二进制文件(Update Binary)定义和范围定义和范围UPDATE BINARY 命令用命令 APDU 中给定的数据修改 EF 文件中已有的数据。命令报文命令报文UPDATE BINARY 命令报文见表 212。代码值CLA 00h 或 04hINS D6hP1 见表 213P2 要修改的第一个字节的偏移地址Lc 后续数据域的长度Data 修改用的数据Le 不存在表 212 UPDATE BINARY 命令报文b8b7b6

22、b5b4b3b2b1含义X1读取模式:用 SFI 方式00RFU(如果 b81)XXXXXSFI(取值范围 2130)表 213 UPDATE BINARY 命令引用控制参数命令报文数据域命令报文数据域包括更新原有数据的新数据。使用安全报文时,命令报文的数据域中应包括 MAC。MAC 是由卡片维护密钥或应用维护密钥对更新原有数据的新数据计算而得到的。响应报文数据域响应报文数据域响应报文数据域不存在。26 外部认证(外部认证(External Authentication)定义和范围定义和范围SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 1212 】页页 EXT

23、ERNAL AUTHENTICATION 命令用于对卡片外部的安全认证。计算的方法是利用卡片中的卡片主控密钥或应用主控密钥,对卡片产生的随机数(使用 GET CHALLENGE命令)和接口设备传输进来的认证数据进行验证。命令报文命令报文EXTERNAL AUTHENTICATION 命令报文见表 214。代码值CLA 00hINS 82hP1 00hP2 主控密钥或应用主控密钥的 KID (00-08h)Lc 08hData 发卡方认证数据Le 不存在表 214 EXTERNAL AUTHENTICATION 命令报文命令报文数据域命令报文数据域命令报文数据域中包含 8 字节的加密数据,该数据

24、是用主控密钥对此命令前一条命令“GET CHALLENGE”命令获得的随机数后缀“00 00 00 00”之后做 3DES 加密运算产生的。响应报文数据域响应报文数据域响应报文数据域不存在。27 内部认证内部认证(Internal Authentication) 1).定义和范围定义和范围Internal Authentication 命令提供了利用接口设备发来的随机数和自身存储的相关密钥进行数据认证的功能。2).命令报文命令报文Internal Authentication 命令报文编码如下:代码代码值值CLA 00INS 88 P100P2内部认证密钥 KID (00-FEh)*当当 P2

25、=FFh 时时 对对 COS 系统密钥进行认证系统密钥进行认证LcXXDATA认证数据3).命令报文数据域命令报文数据域命令报文数据域 DATA 的内容是:分散因子 + 认证数据(8 位) ;SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 1313 】页页 Lc 必须为 8 的整数倍(每 8 位数据为 1 块) 。如待处理的输入数据大于 1 块,则 COS首先对密钥进行多级的分散,按最后一次分散因子在前、最先一次分散因子在后的顺序输入。4).响应报文数据域响应报文数据域应答报文数据域内容是:内部认证数据=3DES(KEY,认证数据) 。 KEY内部认证密钥(依据

26、分散因子进行分散)28 取响应数据(取响应数据(Get Response)定义和范围定义和范围当 APDU 不能用现有协议传输时,GET RESPONSE 命令提供了一种从 IC 卡向接口设备传送 APDU(或 APDU 的一部分)的传输方法。命令报文命令报文GET RESPONSE 命令报文见表 215。代码值CLA 00hINS C0hP1 00hP2 00hLc 不存在Data 不存在Le 期望数据的最大长度表 215 GET RESPONSE 命令报文命令报文数据域命令报文数据域命令报文数据域不存在。响应报文数据域响应报文数据域响应报文数据域的长度由 Le 的值决定。如果 Le 的值为

27、 0,在后续数据有效时,IC卡必须回送状态码6Cxx ,否则6F00 。29 取随机数(取随机数(Get Challenge)定义和范围定义和范围GET CHALLENGE 命令用于从 IC 卡中获得一个 4 或 8 个字节的随机数。该随机数服务于安全过程(如安全报文) ,在使用随机数的命令执行后失效。命令报文命令报文GET CHALLENGE 命令报文见表 216。代码值CLA 00hSAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 1414 】页页 INS 84hP1 00hP2 00hLc 不存在Data 不存在Le 04h/08h表 216 GET CHA

28、LLENGE 命令报文命令报文数据域命令报文数据域命令报文数据域不存在。响应报文数据域响应报文数据域IC 卡产生的随机数,长度为 4 或 8 字节。SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 1515 】页页 3、个人化指、个人化指令令31 建立文件指令建立文件指令(Create File)定义和范围定义和范围Create File 命令用于建立 MF 文件、DF 文件和 EF 文件。当建立 MF 文件时,卡片必须为空;建立 DF 文件时,只有 MF 存在且有足够的空间,并且满足当前建立文件的安全条件,MF 没有被锁住,才可建立 DF。建立 EF 文件时,只

29、有卡空间EF 文件头+文件体,并且满足当前建立 EF 文件的安全条件才可建立 EF。命令报文命令报文Create File 的命令报文如下:代码代码值CLA F0INS F0P1 文件类型P200Lc文件信息长度DATA文件信息命令数据说明命令数据说明P1:00-MF01-DF02-EF03-个人化结束04-删除 MFDATA:说明如下:当 P1 为 00、01、02 是 DATA 如下表:字节 DATA 长度 EF DF MF1-2EF 标识 FIDDF ID*3F0023-4EF 空间大小DF 空间大小MF 空间大小2SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页

30、第第【 1616 】页页 (记录个数+记录长度)5EF 状态DF状态状态*DF 总数量+DF 以建立个数(No.1)16-8安全控制属性安全控制属性安全控制属性39文件类型Isf 密钥数量 Isf 密钥数量110AID (6 位,其任一位值不可为 0 xFF)目录文件 sfi1DF状态状态:00自由访问自由访问01卡复位后直接进入该应用(卡复位后直接进入该应用(MF下仅可以建立一个该应用)下仅可以建立一个该应用)10应用下(应用下(CLA=04/84/80)的指令操作受)的指令操作受PIN保护保护2X应用下(应用下(CLA=04/84/80)的指令操作受认证保护,)的指令操作受认证保护,X为为

31、KIDFF禁止访问(应用永久锁定)禁止访问(应用永久锁定)当 P1 为 03、04 是 DATA 如下表:字节DATA长度1-23F002文件类型说明见下表:文件类型文件类型类型描述类型描述B7B6B5B4B3B2B1B0状态状态0000二进制0001定长记录0010循环定长0011变长记录0100FCI 文件安全控制属性:字节MFDFEF1-1/2建立文件 ACRFU读 AC1-2/2主控密钥 KIDRFU读 KEY2-1/2建立应用 AC应用锁定/解锁 AC写/修改/追加 ACSAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 1717 】页页 2-2/2主控密

32、钥 KID维护密钥 KID维护密钥 KID3-1/2删除 MF AC建立文件 AC RFU3-2/2 主控密钥 KID应用主控密钥 KID RFUMF/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 F0hINS 20hP1 00hP2 00h

33、Lc 06hData 内部数据命令报文命令报文数据域命令报文数据域命令数据说明: 4 字节 内部脱机交易序号 1 字节 内部数据安全计数指针1 字节 应用锁定安全 计数指针 响应报文数据域响应报文数据域报文数据域不存在。33 Write KEY 增加或修改密钥增加或修改密钥 84 D4定义和范围定义和范围SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 1818 】页页 WRITE KEY 命令可向卡中装载或更新卡中已经存在的密钥,本命令仅支持 8 字节或16 字节的密钥,密钥写入可以是明文或密文的方式。当本命令用于明文方式执行是必须在卡片个人化结束前,否则将返回

34、当本命令用于明文方式执行是必须在卡片个人化结束前,否则将返回 6E00。在密钥装载前必须用 GET CHANLLEGE 命令从 IC 卡取 4 字节的随机数。命令报文命令报文安装或修改 KEY 的命令报文如下:代码代码值值CLA 80/84INS D4P1 00 或当 CLA=84 时 P1=FD/FE 创建 TAK/TPK当 CLA=84 时 P1=ED/EE 更新 TAK/TPKP200 或当 P1=FD/FE/ED/EE 时 P2=2Lc密钥信息长度DATA密钥信息命令报文数据域命令报文数据域明文形式的数据域信息明文形式的数据域信息当 P1=00 时 密钥信息如下:密钥信息(密钥头密钥信

35、息(密钥头+密钥值)密钥值)密钥头(密钥头(3 字节)字节)密钥值密钥值密钥用途密钥版本(KID)算法标识(08/16) 当 P1=FD/ED/FE/EE 时 密钥信息如下: 密钥信息(密钥头密钥信息(密钥头+密钥值)密钥值)密钥头(密钥头(8 字节)字节)密钥值密钥值密钥用途密钥版本(KID)00算法标识00000000KeyCipData+CV注:密钥用途:长度为 1 字节,低 5 位为密钥类型,高三位为密钥分散级数。对于密钥类型为 00、01 和 09 的 PSAM 卡用密钥分散级数为 0; IC 卡个人化结束指令成功执行后,除通讯密钥下载外 COS 不在支持明文下载密钥方式,此时指令返

36、回 6E00;SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 1919 】页页 通讯密钥下载时,COS 调用通讯主密钥进行解密;KeyCipData=3DES(KEY=MWK,DATA=TAK/TPK) CV=3DES(KEY=TAK/TPK,0 x0000000000000000)的结果取前)的结果取前 4 字节。字节。密钥类型约定如下表:KEY 类型类型该类型该类型 KEY 作用描述作用描述00外部认证密钥或主控密钥,用于外部认证过程及密钥安全控制01维护密钥(psam 卡用)02灰锁消费密钥03PIN 解锁密钥04PIN 重装密钥05用户卡应用维护密钥06

37、MAC 密钥07加密密钥08MAC、加密密钥09内部认证密钥0 x10*主工作密钥(MWK) ;用于加密/MAC 计算和保护类型为 0 x11/0 xFE/0 xFD 密钥的载入与更新0 x11*动态通讯密钥(WK)0 x13主工作密钥 TK(银联主密钥) ;用于保护类型为0 x10/0 x16/0 x17 密钥的载入与更新0 x16MAC 密钥(专用加密专用加密/MAC/MAC 计算指令计算指令 工作密钥)0 x17加密密钥(专用加密专用加密/MAC/MAC 计算指令计算指令 PIN 工作密钥、通讯工作密钥)0 x1C建设部 MIFARE 1 专用加密密钥0 x1D建设部 MIFARE 1

38、专用 MAC 认证密钥0 x29随机数加密密钥,用于双向认证初始化0 x2A验证加密数据,用于双向认证0 x3APSAM 卡 PIN0XFE终端加密密钥 (TPK) CT*0XFD终端 MAC 密钥 (TAK) CT*其他其他RFU CT*升腾定制。升腾定制。当当 KEY 类型为类型为 0 x3A 时,算法标识为时,算法标识为 0 x33 密钥版本(KID):指定某种类型密钥的标识,长度为 1 字节。算法标识:指定了密钥所支持的加密算法,长度为 1 字节。算法标识约定如下:0-3DES1-DESSAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 2020 】页页 2

39、-255 保留在在 MF 下装载密钥的控制过程为:下装载密钥的控制过程为:卡片主控密钥在卡片传输密钥的控制下装载。卡片主控密钥在卡片主控密钥的控制下更新。卡片维护密钥在卡片主控密钥的控制下装载和更新。在在 DF 下装载密钥的控制过程为:下装载密钥的控制过程为:应用主控密钥在卡片主控密钥的控制下装载。应用主控密钥在应用主控密钥的控制下更新。应用维护密钥在应用主控密钥的控制下装载和更新。应用主工作密钥在应用主控密钥的控制下装载和更新。密文形式的数据域信息密文形式的数据域信息加密后的密钥信息加密后的密钥信息4 字节字节 MAC密文安装密钥说明:密文安装密钥说明:在使用密文形式进行安装密钥时,命令报文

40、数据域包括要装载的密钥密文信息和MAC。密文形式的数据域信息:密文形式的数据域信息:密钥密文信息使用主控密钥对以下数据加密(按所列顺序)产生的:后续数据长度密钥用途密钥版本算法标识密钥值(8-16)SAFECOS/PSAM 规定:密钥用途为 00 的外部认证密钥为主控密钥。应用下的其他密钥均可以由应用主控密钥加密安装。对密钥信息的加密方式按标准的 Triple DES。MAC 是用主控密钥对下数据进行 MAC 计算(按所列顺序)产生的:CLAINSSAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 2121 】页页 P1P2Lc密钥密文信息加密和 MAC 计算的方法

41、遵循中国金融集成电路(IC)卡规范 。生成 MAC 码的初始值为:4 个字节的随机数+00 00 00 00。密文安装应用主控密钥时,所使用的密钥为上一层的卡片主控密钥。34 通讯协议设定通讯协议设定 F0 10定义和范围定义和范围本指令必须在 MF 下执行(如在 ADF 下则卡返回 5985) ,用以设定 PSAM 卡的通讯协议;如卡片已经成功执行个人化结束 指令,则必须在 MF 下认证卡片主控密钥后才可以成功执行否则卡返回 6982。命令报文命令报文代码值CLA F0hINS 10hP1 通讯方式P2 00hLc 00h当 P1=0 PSAM 卡通讯协议设定为 T=0当 P1=1 PSAM

42、 卡通讯协议设定为 T=1响应报文数据域响应报文数据域报文数据域不存在。SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 2222 】页页 4、PBOC PSAM 指令指令41 通用通用 DES 计算初始化(计算初始化(INIT_FOR_ DESCRYPT)80 1A定义和范围定义和范围INIT_FOR_ DESCRYPT 命令用来初始化通用密钥计算过程。PSAM 卡将利用卡中指定的密钥进行运算,产生一个临时密钥。运算方式由指定的密钥类型、密钥分散级数和密钥算法标识确定。不支持计算临时密钥计算的密钥类型有:主控密钥维护密钥消费密钥双长度密钥产生双长度临时密钥的密钥

43、类型有:PIN 解锁密钥用户卡应用维护密钥双长度密钥左右异或产生单长度临时密钥的密钥类型有:重装 PIN 密钥双长度密钥产生双长度临时密钥,单长度密钥产生单长度临时密钥的密钥类型有:MAC 密钥加密密钥MAC、加密密钥指定密钥经过几级处理由密钥分散级数和 Lc 确定,若二者不一致,则返回错误信息。临时密钥在 PSAM 卡下电后自动消失,不允许读。临时密钥产生后,与原密钥的属性一致。命令报文命令报文INIT_FOR_ DESCRYPT 命令报文见表代码值CLA 80hINS 1AhP1 密钥用途P2 密钥版本(KID)Lc 待处理数据的长度Data 待处理的数据Le 无INIT_FOR_ DES

44、CRYPT 命令报文命令报文数据域命令报文数据域命令报文数据域包括待处理的输入数据。数据长度为 8 的整数倍,长度也可以为 0。SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 2323 】页页 密钥类型取密钥用途的低 5 位,密钥分散级数取密钥用途的高 3 位。如待处理的输入数据包括多级的分散因子,按最后一次分散因子在前、最先一次分散因子在后的顺序输入。响应报文数据域响应报文数据域 响应报文数据域不存在。42 通用通用 DES 计算(计算(DES Crypt)80 FA定义和范围定义和范围 DES CRYPT 命令利用指定的密钥来进行运算。若一条命令无法传输所有

45、的待处理数据,可分几条命令输入。 加密计算采用 ECB 模式,数据的填充在卡片外面进行,卡片只支持长度为 8 的整数倍数据的加密。MAC 计算遵循中国金融集成电路(IC)卡规范 ,数据的填充在卡片外面进行,卡片只支持长度为 8 的整数倍数据的 MAC 计算。DES CRYPT 命令必须在INIT_FOR_ DESCRYPT 命令成功执行后才能进行。卡片状态在执行无后续块计算后,复原为通用 DES 计算初始化执行前的状态。命令报文命令报文 DES CRYPT 命令报文见表代码值CLA 80hINS FahP1 见下表P2 00hLc 要加密的数据长度Data 要加密的数据Le 不存在DES CR

46、YPT 命令报文b8b7b6b5b4b3b2b1含义X计算模式0,加密1,MAC 计算X后续块0,无后续块1,有后续块X初始值(仅对 MAC 计算有效)0,无初始值1,有初始值DES CRYPT 命令引用控制参数P1 值计算模式如下:0,无后续块加密1,最后一块 MAC 计算2,有后续块加密SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 2424 】页页 3,下一块 MAC 计算5,唯一一块 MAC 计算7,第一块 MAC 计算其他,保留命令报文数据域命令报文数据域 命令报文数据域包括要加密的数据。加密数据的长度为 8 的整数倍。在 P1 的 b3 位为1 时,

47、待处理数据的前 8 个字节为 MAC 计算的初始值。响应报文数据域响应报文数据域在 P1 的 b1 位为 0 时,响应报文数据域包括加密结果,数据长度是 8 的整数倍。在 P1 的 b1 位为 1,且 P1 的 b2 位为 0 时,响应报文数据域包括 4 字节的 MAC。43 MAC1 计算计算(INIT_SAM_FOR_PURCHASE)80 70定义和范围定义和范围INIT_SAM_FOR_PURCHASE 命令可支持多级消费密钥分散机制,产生中国金融集成电路(IC)卡规范中定义的 MAC1。可以通过城市标识、成员行标识、卡片应用序列号、随机数和交易信息得到过程密钥,进而加密得到 MAC。

48、PSAM 卡产生脱机交易流程中MAC1 的过程如下所示:PSAM 在其内部用 GMPK(全国消费主密钥)对城市标识分散,得到二级消费主密钥BMPK;PSAM 在其内部用 BMPK 对成员行标识分散,得到成员行消费主密钥 MPK;PSAM 在其内部用 MPK 对卡片应用序列号分散,得到卡片消费子密钥 DPK;PSAM 在其内部用 DPK 对卡片传来的伪随机数、IC 卡脱机交易序号、终端交易序号加密,得到过程密钥 SESPK,作为临时密钥存放在卡中;PSAM 在其内部用 SESPK 对交易金额、交易类型标识、终端机编号、交易日期(终端)和交易时间(终端)加密得到 MAC1,将 MAC1 传送出去。

49、在此过程中,所有的中间结果只保留在卡片内部,外界无法得到。只有进行本命令后,才允许进行 MAC2 校验的命令。参与处理的终端机编号由卡片操作系统从卡片中取得。INIT_SAM_FOR_PURCHASE 命令可支持多级消费密钥分散机制,消费密钥的分散过程由 Lc 和消费密钥共同确定,如果二者不一致,则返回错误信息。命令报文命令报文 INIT_SAM_FOR_PURCHASE 命令报文见表 36。代码值CLA 80hINS 70hP1 00hP2 00hLc 14h8N(N1,2,3)Data 要处理的数据Le 08INIT_SAM_FOR_PURCHASE 命令报文命令报文数据域命令报文数据域命

50、令报文数据域包括的数据以下列顺序排列:SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 2525 】页页 用户卡随机数,4 字节用户卡交易序号,2 字节交易金额,4 字节交易类型标识,1 字节交易日期(终端) ,4 字节交易时间(终端) ,3 字节消费密钥版本号,1 字节消费密钥算法标识,1 字节用户卡应用序列号,8 字节成员银行标识,8 字节试点城市标识,8 字节响应报文数据域响应报文数据域响应报文数据域包括以下数据(按顺序返回):_4 字节的终端脱机交易序号4 字节的 MAC144 校验校验 MAC2(CREDIT_SAM_FOR_PURCHASE)80 72

51、定义和范围定义和范围CREDIT_SAM_FOR_PURCHASE 命令利用 INIT_SAM_FOR_PURCHASE 命令产生的过程密钥 SESPKP 校验 MAC2,过程如下所示:检查 MAC2 尝试计数器,如 MAC2 未被锁定,PSAM 在其内部用 SESPK 对交易金额加密得到 MAC2,与命令报文中的数据进行比较;如命令执行不成功,PSAM 卡将 MAC2 尝试计数器减 1,并回送状态码63Cx,这里x是 MAC2 尝试计数器的新值;如果x为零,PSAM 卡将锁定消费密钥所在的 ADF。在此过程中,所有的中间结果只保留在卡片内部,外界无法得到。CREDIT _ SAM _ FOR

52、_ PURCHASE 命令必须在INIT _ SAM _ FOR _ PURCHASE命令成功执行后才能进行。若 MAC2 尝试计数器为 0 的话,消费密钥所在的应用将被锁定,只能在应用维护密钥的控制下应用解锁后使用。应用 MAC2 错误计数器在应用下所有消费密钥 MAC2 校验错误的情况下都要被减1。卡片的状态在命令执行后将复原为 MAC1 校验前的状态。命令报文命令报文 CREDIT_SAM_FOR_PURCHASE 命令报文见表代码值CLA 80hINS 72hP1 00hP2 00hLc 04hData MAC2Le 不存在SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 474

53、7 页页 第第【 2626 】页页 CREDIT_SAM_FOR_PURCHASE 命令报文命令报文数据域命令报文数据域 命令报文数据域包括 4 字节的 MAC2。响应报文数据域响应报文数据域 响应报文数据域不存在。45 应用解锁(应用解锁(Application Unblock)84 18定义和范围定义和范围APPLICATION UNBLOCK 命令用于恢复当前应用。当命令成功完成后,对应用访问的限制将被取消,利用消费密钥校验 MAC2 的错误计数器将被重置。如果应用解锁连续失败三次,卡将永久锁定此应用。在 APPLICATION UNBLOCK 命令执行前必须执行 GET CHANLLE

54、NGE 命令取得 4字节的随机数。命令报文命令报文 APPLICATION UNBLOCK 命令报文见表代码值CLA 84hINS 18hP1 00P2 00Lc 数据字节数Data 报文鉴别代码数据元Le 不存在命令报文数据域命令报文数据域命令报文数据域包括报文鉴别代码,由应用维护密钥对以下数据(按所列顺序)进行 MAC 计算而得到的:CLAINSP1P2LcMAC 计算的方式参见中国金融集成电路(IC)卡规范。 响应报文数据域响应报文数据域响应报文数据域不存在。SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 2727 】页页 5、扩展指令、扩展指令51 动态

55、更新通讯动态更新通讯密钥(密钥(UPDATA_WK) F0 D4定义和范围定义和范围本命令用于动态更新通讯加密密钥 WK。当命令成功完成后,IC 卡内对应通讯密钥WK 将被更新,如通讯密钥 WK 不存在则产生一个新通讯密钥 WK。 命令报文命令报文 命令报文见表代码值CLA F0hINS D4hP1MWK 的 KIDP2待更新通讯密钥 WK 的 KIDLc 08/10hData 加密数据Le 不存在命令报文数据域命令报文数据域命令报文数据域为被通讯主密钥加密的通讯密钥 WK,加密方式依据通讯主密钥(MWK)算法标识不同表示如下: DES(KEY=MWK,DATA=WK)或 3DES(KEY=M

56、WK,DATA=WK)52 下载下载 MWK 密钥(密钥(Load_MWK)00 D4定义和范围定义和范围本命令用于下载加密机产生 MWK 密钥。当命令成功完成后,卡内将产生对应 KID的 MWK 密钥,如密钥已存在则卡返回 6985。 命令报文命令报文 命令报文见表代码值CLA 00hINS D4hP1TK 密钥 KIDP2MWK 密钥 KIDLc 0Ch/14 h Data 密钥密文 + checkvalueLe 不存在SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 2828 】页页 TK 为为 MWK 的约定保护密钥的约定保护密钥执行本指令前执行本指令前

57、IC 卡内应当已经下载对应卡内应当已经下载对应 KID 的的 TK 密钥密钥命令报文数据域命令报文数据域命令报文数据域包含加密密钥密文(为被 TK 密钥加密的 MWK 密钥)+4 位checkvalue,密钥密文为被 TK 加密的 MWK,加密方式依据 TK 密钥算法标识不同表示如下: 密钥密文=DES(TK)或 3DES(TK)checkvalue 为用 MWK 加密 0000000000000000 后产生的加密数据取前 4 位: DES(MWK,000000000000000) 或 3DES(MWK,0000000000000000)53 计算通讯计算通讯 MAC 专用命令(专用命令(C

58、AL_COMM_MAC) 80 FB1).定义和范围定义和范围在 SAM 卡的控制下,计算通讯加密 MAC。该指令的加密和 MAC 计算功能使用 DES 或 3DES 加密算法,通过密钥属性中的算法标识字节确定密钥所支持的算法;该指令只支持对长度为 8 字节的倍数的数据进行加密计算;如果明文数据长度不是 8 字节的倍数,则需要将数据补足到 8 字节的倍数,然后进行加密计算。数据补足办法根据项目需要而定。该指令支持连续块加密和连续块 MAC 计算。该指令支持最长到 128 字节的数据块加密计算,如果待加密的数据长度超过 128字节,则使用带后续块的加密模式。2).命令报文命令报文CAL_MAC

59、专用命令报文编码如下:代码代码值值CLA 80INS FBP1高半字节=0 通讯主密钥加密=1 通讯密钥加密低半字节= 0 第一块数据(数据长度必须大于 16 字节)= 1 下一块数据= 2 最后一块数据= 8 仅有一块数据(数据最大长度 128 字节)P2高半字节:计算 MAC 的方式= 0 采用方式一= 1 采用方式二= 2 采用方式三MAC 计算方式参考 MAC 计算说明低半字节:密钥版本(KID)Lc数据长度(必须为 8 的整数倍)SAFECOS/PSAM 深圳市卡芯科技有限公司 共共 4747 页页 第第【 2929 】页页 DATA数据MAC 计算说明:计算说明: IC 首先首先将

60、输入数据以 8 字节为单位组合,共组为 1、2、3、 N 块,进行 MAC 计算,计算方法流程如下:方式一(先异或后加密):1、将第 1 块每字节异或上第 2 块产生异或块 XOR2、用通讯 密钥对 XOR 块进行 DES 加密,将加密结果与下一块输入数据每字节异或产生新的异或块 XOR3、重复第 2 步操作直到最后一块(第 N 块)4、用通讯密钥对最后 XOR 块进行 DES 加密,加密结果即为通讯 8 位 MAC 值方式二(先加密后异或):1、用通讯 密钥对第 1 块进行 DES 加密,将加密结果与下一块输入数据每字节异或产生异或块 XOR2、用通讯 密钥对 XOR 块进行 DES 加密,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论