《PSAM技术参考手册(v34).doc》由会员分享,可在线阅读,更多相关《PSAM技术参考手册(v34).doc(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 PSAM技术参考手册 Version 3.4PSAM深圳市卡芯科技有限公司2008年7月最后修改目 录1、文件结构41.1技术参数及ATR41.2文件结构51.3MF区域说明61.4ADF区域说明62、基本命令721选择文件(Select)722读记录文件(Read Record)823写记录文件(Update Record)824读二进制文件(Read Binary)925写二进制文件(Update Binary)1026外部认证(External Authentication)1027内部认证(Internal Authentication)1128取响应数据(Get Response)
2、1229取随机数(Get Challenge)123、个人化指令1431 建立文件指令(Create File)1432 内部数据设定1633 Write KEY 增加或修改密钥 84 D41634 通讯协议设定 F0 10204、PBOC PSAM指令2141 通用DES计算初始化(INIT_FOR_ DESCRYPT)80 1A2142 通用DES计算(DES Crypt)80 FA2243 MAC1计算(INIT_SAM_FOR_PURCHASE)80 702344 校验MAC2(CREDIT_SAM_FOR_PURCHASE)80 722445 应用解锁(Application Unb
3、lock)84 18255、扩展指令2651 动态更新通讯密钥(UPDATA_WK) F0 D42652 下载MWK密钥(Load_MWK)00 D42653 计算通讯MAC专用命令(CAL_COMM_MAC) 80 FB2754 建设部SAM专用命令(CAL_MIFARE1)80 FC2855 专用密钥装载/更新指令 80 A23056 专用加密/MAC计算指令 80 A63157 *终端 KEY计算指令(CT专用)80 FA3358 校验PIN (Verify PIN ) 00 203459 修改PIN (Change PIN) 80 5E34510 双向认证初始化(Init Dual A
4、uthentication) 00 7435511 双向认证( Dual Authentication) 00 8636附录A 卡片中的基本数据文件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、建立EF154252 更新EF15文件426、 建PSAM终端编
5、号文件(EF16,SFI=0x16)4261建立EF164262 更新EF16文件437、 建立DF01 (CREATE DF01)438、 CCK的控制下装载应用主控密钥ACK439、 ACK的控制下装载消费交易等密钥4310、个人化结束(CREATE END)43附录D:简单发卡及应用数据流程441、个人化流程442、应用举例451、文件结构PSAM卡用于商户POS、网点终端、直联终端等端末设备上,负责机具的安全控管。PSAM卡具有一定的通用性。经过个人化处理的PSAM卡能在不同的机具上使用。COS遵循以下标准:GB/T 16649.31996 识别卡 带触点的集成电路卡 第3部分:电信号
6、和传输协议(ISO/IEC 7816-3:1989)ISO 8731-1:1987银行业务 已批准的报文鉴别算法 第1部分:DEAISO 8732:1987信息处理64位块加密算法的运算方法中国金融IC卡试点PSAM卡应用规范PSAM卡支持多级发卡的机制,各级发卡方在卡片主控密钥和应用主控密钥的控制下创建文件和装载密钥。1.1 技术参数及ATR芯片类型: 8051 8位安全芯片 参数名称测试条件最小值最大值单位操作电压275.5V工作温度-25+85摄氏度外部时钟频率25摄氏度14MHz内部时钟4060MHz休眠电流休眠状态5A工作电流25摄氏度,3V-5V310mA功率60mWEEPROM擦
7、25摄氏度,3V-5V操作128字节2mSEEPROM写25摄氏度,3V-5V操作128字节20mS通讯速率9600115200BPSDES加密时间25摄氏度,3V-5V 40-60 MHz70mS对于T=0通讯协议的ATR下表:符号字节内容 内容解释TS3B正向约定T07CTB1和TC1存在,历史字符为9个TA195PPS支持最高112000BPSTB100无需额外的编程电压TC100无需额外的保护时间T1-TC12字节历史字符1-2“SR” COS标识30x34 COS版本号3.44卡个人化状态:00 空白卡/出厂卡01 个人化中/未个人化结束卡02 个人化结束卡5-12卡唯一序号1.2文
8、件结构PSAM卡文件结构符合ISO/IEC78164。本条款描述了符合本规范的应用文件结构,这些应用被定义为支付系统应用(PSA)。符合ISO/IEC78164,但不符合本规范的其他应用也可出现在PSA上,并可以使用本规范中定义的命令进行操作。PSAM卡中PSA的路径可以通过明确选择支付系统环境(PSE)来激活。PSAM卡文件结构如下图所示:MF(PSE)DIR文件主控密钥文件公共信息文件终端信息文件PBOC应用应用密钥文件内部数据文件应用公共信息文件其他DF应用。DF2DF3PSAM卡文件结构1.3 MF区域说明在PSAM卡的MF区域中,文件创建和密钥装载是在卡片主控密钥的控制下进行。DIR
9、目录数据文件DIR目录数据文件的说明参考中国金融集成电路(IC)卡规范,但DIR目录数据文件的入口地址必须包括全国密钥管理总中心应用ADF。卡片主控密钥卡片主控密钥是卡片的控制密钥,由卡片生产商写入,由发卡方替换为发卡方的卡片主控密钥。卡片主控密钥的更新在自身的控制下进行。发卡方必须在卡片主控密钥的控制下,l 创建卡片MF区域的文件;l 装载卡片维护密钥、应用主控密钥;l 更新卡片主控密钥、卡片维护密钥。卡片主控密钥的控制可通过外部认证操作实现,也可通过安全报文的方式实现。卡片公共信息文件卡片公共信息文件存放卡片的公共信息,在卡片主控密钥的控制下创建,可自由读,可在卡片维护密钥的控制下改写。终
10、端信息文件 终端信息文件存放终端的信息,在卡片主控密钥的控制下创建,可自由读,可在卡片维护密钥的控制下改写。1.4 ADF区域说明在PSAM卡的ADF(Application Data File)区域中,文件创建和密钥装载是在应用主控密钥的控制下进行。ADF下的文件结构可由应用发行者自行确定。全国密钥管理中心应用ADF的文件结构必须包括应用主控密钥、应用维护密钥、应用主工作密钥数据元、应用公共数据文件和终端应用交易序号数据元。应用主控密钥应用主控密钥是应用的控制密钥,在卡片主控密钥控制下写入。发卡方必须在应用主控密钥的控制下,l 装载应用维护密钥、应用主工作密钥;l 更新应用主控密钥、应用维护
11、密钥。应用主控密钥的控制可通过外部认证操作实现,也可通过安全报文的方式实现。应用公共信息文件应用公共信息文件存放应用的公共信息,在应用主控密钥的控制下创建,可自由读,可在应用维护密钥的控制下改写。内部数据文件终端应用交易序号长度4字节,用于终端的脱机交易,在消费交易MAC2验证通过的情况下由卡片操作系统改写。终端应用交易序号只对本应用有效。2、基本命令21选择文件(Select)定义和范围SELECT命令通过文件名或AID来选择IC卡中的PSE、DDF或ADF。命令执行成功后,PSE、DDF或ADF的路径被设定。应用到AEF的后续命令将采用SFI方式联系到所选定的PSE、DDF或ADF。从IC
12、卡的响应报文应由回送的FCI组成。命令报文SELECT FILE命令报文见表21。代码值CLA 00hINS A4hP1 引用控制参数(见表22)P2 00h:第一个或仅有一个 02h:下一个Lc 05h10h Data 文件名 Le 00h表21 SELECT命令报文表b8b7b6b5b4b3b2b1含义000001通过文件名选择00表22 SELECT命令引用控制参数命令报文数据域命令报文数据域应包括所选择的PSE名、DF名或AID。响应报文数据域响应报文中数据域应包括所选择的PSE、DDF或ADF的FCI。表23到表25规定了此定义所用的标志。本规范不规定FCI中回送的附加附加标志。表2
13、3定义了成功选择PSE后回送的FCI:标志值存在方式6FFCI模板M84DF名MA5FCI专用数据M88目录基本文件的SFIM表23 SELECT PSE的响应报文(FCI)表24定义了成功选择DDF后回送的FCI:标志值存在方式6FFCI模板M84DF名MA5FCI专用数据M88目录基本文件的SFIM表24 SELECT DDF的响应报文(FCI)表25定义了成功选择ADF后回送的FCI:标志值存在方式6FFCI模板M84DF名MA5FCI专用数据M9F0C发卡方自定义数据的FCIO表25 SELECT ADF的响应报文(FCI)22读记录文件(Read Record)定义和范围READ R
14、ECORD命令用于读取记录文件中内容。IC卡的响应由回送的记录数据组成。命令报文 READ RECORD命令报文见表26。代码值CLA 00hINS B2hP1 记录的序号P2 引用控制参数(见表27)Lc 不存在;Data 不存在;Le 00h表26 READ RECORD命令报文b8b7B6b5b4b3b2b1含义XXXXXSFI100P1为记录的序号表27 READ RECORD命令引用控制参数命令报文数据域命令报文数据域不存在。响应报文数据域所有执行成功的READ RECORD命令响应报文数据域由读取的记录组成。23写记录文件(Update Record)定义和范围UPDATE REC
15、ORD命令用命令APDU中给定的数据更改指定的记录。在使用当前记录地址时,该命令将在修改记录成功后重新设定记录指针。在安全更新记录时,若安全报文连续三次出错,则永久锁定应用。命令报文UPDATE RECORD命令报文见表28。代码值CLA 00h或04hINS DChP1 P1= 00h:表示当前记录 P1 00h:指定的记录号P2 见表28Lc 后续数据域长度Data 输入数据Le 不存在表28 UPDATE RECORD命令报文b8b7b6b5b4b3b2b1含义XXXXXSFI000第一个记录001最后一个记录010下一个记录011上一个记录100记录号在P1中给出其余值RFU表29 U
16、PDATE RECORD命令引用控制参数命令报文数据域命令报文数据域由更新原有记录的新记录组成。使用安全报文时,命令报文的数据域中应包括MAC。MAC是由卡片维护密钥或应用维护密钥对更新原有记录的新记录计算而得到的。响应报文数据域响应报文数据域不存在。24读二进制文件(Read Binary)定义和范围READ BINARY命令用于读取二进制文件的内容(或部分内容)。命令报文READ BINARY命令报文见表210。代码值CLA 00hINS B0hP1 见表211P2 从文件中读取的第一个字节的偏移地址Lc 不存在Data 不存在Le 00表210 READ BINARY命令报文b8b7b6
17、b5b4b3b2b1含义X1读取模式:用SFI方式00RFU(如果b81)XXXXXSFI(取值范围2130)表211 READ BINARY命令引用控制参数命令报文数据域命令报文数据域不存在。响应报文数据域当Le的值为0时,只要文件的最大长度在256(短长度)或65536(扩展长度)之内,则其全部字节将被读出。25写二进制文件(Update Binary)定义和范围UPDATE BINARY命令用命令APDU中给定的数据修改EF文件中已有的数据。命令报文UPDATE BINARY命令报文见表212。代码值CLA 00h或04hINS D6hP1 见表213P2 要修改的第一个字节的偏移地址L
18、c 后续数据域的长度Data 修改用的数据Le 不存在表212 UPDATE BINARY命令报文b8b7b6b5b4b3b2b1含义X1读取模式:用SFI方式00RFU(如果b81)XXXXXSFI(取值范围2130)表213 UPDATE BINARY命令引用控制参数命令报文数据域命令报文数据域包括更新原有数据的新数据。使用安全报文时,命令报文的数据域中应包括MAC。MAC是由卡片维护密钥或应用维护密钥对更新原有数据的新数据计算而得到的。响应报文数据域响应报文数据域不存在。26外部认证(External Authentication)定义和范围EXTERNAL AUTHENTICATION
19、命令用于对卡片外部的安全认证。计算的方法是利用卡片中的卡片主控密钥或应用主控密钥,对卡片产生的随机数(使用GET CHALLENGE命令)和接口设备传输进来的认证数据进行验证。命令报文EXTERNAL AUTHENTICATION命令报文见表214。代码值CLA 00hINS 82hP1 00hP2 主控密钥或应用主控密钥的KID (00-08h)Lc 08hData 发卡方认证数据Le 不存在表214 EXTERNAL AUTHENTICATION命令报文命令报文数据域命令报文数据域中包含8字节的加密数据,该数据是用主控密钥对此命令前一条命令“GET CHALLENGE”命令获得的随机数后缀
20、“00 00 00 00”之后做3DES加密运算产生的。响应报文数据域响应报文数据域不存在。27内部认证(Internal Authentication) 1).定义和范围Internal Authentication命令提供了利用接口设备发来的随机数和自身存储的相关密钥进行数据认证的功能。2).命令报文Internal Authentication命令报文编码如下:代码值CLA 00INS 88 P100P2内部认证密钥KID (00-FEh)*当P2=FFh 时 对COS系统密钥进行认证LcXXDATA认证数据3).命令报文数据域命令报文数据域DATA的内容是:分散因子 + 认证数据(8位
21、);Lc必须为8的整数倍(每8位数据为1块)。如待处理的输入数据大于1块,则COS首先对密钥进行多级的分散,按最后一次分散因子在前、最先一次分散因子在后的顺序输入。4).响应报文数据域应答报文数据域内容是:内部认证数据=3DES(KEY,认证数据)。 KEY内部认证密钥(依据分散因子进行分散)28取响应数据(Get Response)定义和范围当APDU不能用现有协议传输时,GET RESPONSE命令提供了一种从IC卡向接口设备传送APDU(或APDU的一部分)的传输方法。命令报文GET RESPONSE命令报文见表215。代码值CLA 00hINS C0hP1 00hP2 00hLc 不存
22、在Data 不存在Le 期望数据的最大长度表215 GET RESPONSE命令报文命令报文数据域命令报文数据域不存在。响应报文数据域响应报文数据域的长度由Le的值决定。如果Le的值为0,在后续数据有效时,IC卡必须回送状态码6Cxx,否则6F00。29取随机数(Get Challenge)定义和范围GET CHALLENGE命令用于从IC卡中获得一个4或8个字节的随机数。该随机数服务于安全过程(如安全报文),在使用随机数的命令执行后失效。命令报文GET CHALLENGE命令报文见表216。代码值CLA 00hINS 84hP1 00hP2 00hLc 不存在Data 不存在Le 04h/0
23、8h表216 GET CHALLENGE命令报文命令报文数据域命令报文数据域不存在。响应报文数据域IC卡产生的随机数,长度为4或8字节。3、个人化指令31 建立文件指令(Create File)定义和范围Create File命令用于建立MF文件、DF文件和EF文件。当建立MF文件时,卡片必须为空;建立DF文件时,只有MF存在且有足够的空间,并且满足当前建立文件的安全条件,MF没有被锁住,才可建立DF。建立EF文件时,只有卡空间EF文件头+文件体,并且满足当前建立EF文件的安全条件才可建立EF。命令报文Create File 的命令报文如下:代码值CLA F0INS F0P1 文件类型P200
24、Lc文件信息长度DATA文件信息命令数据说明P1:00 -MF01 -DF02 -EF03 -个人化结束04 -删除MFDATA:说明如下:当P1为00、01、02是DATA如下表:字节 DATA 长度 EF DF MF1-2EF标识FIDDF ID*3F0023-4EF空间大小(记录个数+记录长度)DF空间大小MF空间大小25EF状态DF状态*DF总数量+DF以建立个数(No.1)16-8安全控制属性安全控制属性安全控制属性39文件类型Isf 密钥数量 Isf 密钥数量110AID (6位,其任一位值不可为0xFF)目录文件sfi1DF状态:00 自由访问01 卡复位后直接进入该应用(MF下
25、仅可以建立一个该应用)10应用下(CLA=04/84/80)的指令操作受PIN保护2X应用下(CLA=04/84/80)的指令操作受认证保护,X为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写/修改/追加AC2-2/2主控密钥 KID维护密钥 K
26、ID维护密钥 KID3-1/2删除MF AC建立文件AC RFU3-2/2 主控密钥 KID应用主控密钥 KID RFUMF/DF AC值:00x10x20x3 0xE0xF自由PIN认证保留禁止EFAC值:00x10x20x30x40x5 0xE0xF自由PIN认证明文+MAC密文+MAC保留禁止AC KEY 为内部安全文件对应KEY记录32 内部数据设定定义和范围用以设定内部数据文件中的数据;本指令在应用建立后与个人化结束指令执行前有效。命令报文代码值CLA F0hINS 20hP1 00hP2 00hLc 06hData 内部数据命令报文命令报文数据域命令数据说明: 4字节 内部脱机交易
27、序号 1字节 内部数据安全计数指针1字节 应用锁定安全 计数指针 响应报文数据域报文数据域不存在。33 Write KEY 增加或修改密钥 84 D4定义和范围WRITE KEY命令可向卡中装载或更新卡中已经存在的密钥,本命令仅支持8字节或16字节的密钥,密钥写入可以是明文或密文的方式。当本命令用于明文方式执行是必须在卡片个人化结束前,否则将返回6E00。在密钥装载前必须用GET CHANLLEGE命令从IC卡取4字节的随机数。命令报文安装或修改KEY的命令报文如下:代码值CLA 80/84INS D4P1 00 或当CLA=84时 P1=FD/FE 创建TAK/TPK当CLA=84时 P1=
28、ED/EE 更新TAK/TPKP200 或当P1=FD/FE/ED/EE 时 P2=2Lc密钥信息长度DATA密钥信息命令报文数据域明文形式的数据域信息当P1=00时 密钥信息如下:密钥信息(密钥头+密钥值)密钥头(3字节)密钥值密钥用途密钥版本(KID)算法标识(08/16) 当P1=FD/ED/FE/EE 时 密钥信息如下: 密钥信息(密钥头+密钥值)密钥头(8字节)密钥值密钥用途密钥版本(KID)00算法标识00000000KeyCipData+CV注:密钥用途:长度为1字节,低5位为密钥类型,高三位为密钥分散级数。对于密钥类型为00、01和09的PSAM卡用密钥分散级数为0; IC卡个
29、人化结束指令成功执行后,除通讯密钥下载外COS不在支持明文下载密钥方式,此时指令返回6E00; 通讯密钥下载时,COS调用通讯主密钥进行解密;KeyCipData=3DES(KEY=MWK,DATA=TAK/TPK) CV=3DES(KEY=TAK/TPK,0x0000000000000000)的结果取前4字节。密钥类型约定如下表:KEY类型该类型KEY作用描述00外部认证密钥或主控密钥,用于外部认证过程及密钥安全控制01维护密钥(psam卡用)02灰锁消费密钥03PIN解锁密钥04PIN重装密钥05用户卡应用维护密钥06MAC密钥07加密密钥08MAC、加密密钥09内部认证密钥0x10*主工
30、作密钥(MWK) ;用于加密/MAC计算和保护类型为0x11/0xFE/0xFD密钥的载入与更新0x11*动态通讯密钥(WK)0x13主工作密钥TK(银联主密钥);用于保护类型为0x10/0x16/0x17密钥的载入与更新0x16MAC密钥(专用加密/MAC计算指令 工作密钥)0x17加密密钥(专用加密/MAC计算指令 PIN工作密钥、通讯工作密钥)0x1C建设部MIFARE 1专用加密密钥0x1D建设部MIFARE 1专用MAC认证密钥0x29随机数加密密钥,用于双向认证初始化0x2A验证加密数据,用于双向认证0x3APSAM卡PIN0XFE终端加密密钥 (TPK) CT*0XFD终端MAC
31、密钥 (TAK) CT*其他RFU CT*升腾定制。当KEY类型为0x3A时,算法标识为0x33 密钥版本(KID):指定某种类型密钥的标识,长度为1字节。算法标识:指定了密钥所支持的加密算法,长度为1字节。算法标识约定如下:0- 3DES1- DES2- 255 保留在MF下装载密钥的控制过程为:卡片主控密钥在卡片传输密钥的控制下装载。卡片主控密钥在卡片主控密钥的控制下更新。卡片维护密钥在卡片主控密钥的控制下装载和更新。在DF下装载密钥的控制过程为:应用主控密钥在卡片主控密钥的控制下装载。应用主控密钥在应用主控密钥的控制下更新。应用维护密钥在应用主控密钥的控制下装载和更新。应用主工作密钥在应
32、用主控密钥的控制下装载和更新。密文形式的数据域信息加密后的密钥信息4字节MAC密文安装密钥说明:在使用密文形式进行安装密钥时,命令报文数据域包括要装载的密钥密文信息和MAC。密文形式的数据域信息:密钥密文信息使用主控密钥对以下数据加密(按所列顺序)产生的:后续数据长度密钥用途密钥版本算法标识密钥值(8-16)SAFECOS/PSAM规定:密钥用途为00的外部认证密钥为主控密钥。应用下的其他密钥均可以由应用主控密钥加密安装。对密钥信息的加密方式按标准的Triple DES。MAC是用主控密钥对下数据进行MAC计算(按所列顺序)产生的:CLAINSP1P2Lc密钥密文信息加密和MAC计算的方法遵循
33、中国金融集成电路(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卡通讯协议设定为T=1响应报文数据域报文数据域不存在。4、PBOC PS
34、AM指令41 通用DES计算初始化(INIT_FOR_ DESCRYPT)80 1A定义和范围INIT_FOR_ DESCRYPT命令用来初始化通用密钥计算过程。PSAM卡将利用卡中指定的密钥进行运算,产生一个临时密钥。运算方式由指定的密钥类型、密钥分散级数和密钥算法标识确定。不支持计算临时密钥计算的密钥类型有:主控密钥维护密钥消费密钥双长度密钥产生双长度临时密钥的密钥类型有:PIN解锁密钥用户卡应用维护密钥双长度密钥左右异或产生单长度临时密钥的密钥类型有:重装PIN密钥双长度密钥产生双长度临时密钥,单长度密钥产生单长度临时密钥的密钥类型有:MAC密钥加密密钥MAC、加密密钥指定密钥经过几级处
35、理由密钥分散级数和Lc确定,若二者不一致,则返回错误信息。临时密钥在PSAM卡下电后自动消失,不允许读。临时密钥产生后,与原密钥的属性一致。命令报文INIT_FOR_ DESCRYPT命令报文见表代码值CLA 80hINS 1AhP1 密钥用途P2 密钥版本(KID)Lc 待处理数据的长度Data 待处理的数据Le 无INIT_FOR_ DESCRYPT命令报文命令报文数据域命令报文数据域包括待处理的输入数据。数据长度为8的整数倍,长度也可以为0。密钥类型取密钥用途的低5位,密钥分散级数取密钥用途的高3位。如待处理的输入数据包括多级的分散因子,按最后一次分散因子在前、最先一次分散因子在后的顺序
36、输入。响应报文数据域 响应报文数据域不存在。42 通用DES计算(DES Crypt)80 FA定义和范围 DES CRYPT命令利用指定的密钥来进行运算。若一条命令无法传输所有的待处理数据,可分几条命令输入。 加密计算采用ECB模式,数据的填充在卡片外面进行,卡片只支持长度为8的整数倍数据的加密。MAC计算遵循中国金融集成电路(IC)卡规范,数据的填充在卡片外面进行,卡片只支持长度为8的整数倍数据的MAC计算。DES CRYPT命令必须在INIT_FOR_ DESCRYPT命令成功执行后才能进行。卡片状态在执行无后续块计算后,复原为通用DES计算初始化执行前的状态。命令报文 DES CRYP
37、T命令报文见表代码值CLA 80hINS FahP1 见下表P2 00hLc 要加密的数据长度Data 要加密的数据Le 不存在DES CRYPT命令报文b8b7b6b5b4b3b2b1含义X计算模式0,加密1,MAC计算X后续块0,无后续块1,有后续块X初始值(仅对MAC计算有效)0,无初始值1,有初始值DES CRYPT命令引用控制参数P1值计算模式如下:0,无后续块加密1,最后一块MAC计算2,有后续块加密3,下一块MAC计算5,唯一一块MAC计算7,第一块MAC计算其他,保留命令报文数据域 命令报文数据域包括要加密的数据。加密数据的长度为8的整数倍。在P1的b3位为1时,待处理数据的前
38、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。PSAM卡产生脱机交易流程中MAC1的过程如下所示:l PSAM在其内部用GMPK(全国消费主密钥)对
39、城市标识分散,得到二级消费主密钥BMPK;l PSAM在其内部用BMPK对成员行标识分散,得到成员行消费主密钥MPK;l PSAM在其内部用MPK对卡片应用序列号分散,得到卡片消费子密钥DPK;l PSAM在其内部用DPK对卡片传来的伪随机数、IC卡脱机交易序号、终端交易序号加密,得到过程密钥SESPK,作为临时密钥存放在卡中;l PSAM在其内部用SESPK 对交易金额、交易类型标识、终端机编号、交易日期(终端)和交易时间(终端)加密得到MAC1,将MAC1传送出去。在此过程中,所有的中间结果只保留在卡片内部,外界无法得到。只有进行本命令后,才允许进行MAC2校验的命令。参与处理的终端机编号由卡片操作系统从卡片中取得。INIT_SAM_FOR_PURCHASE命令可支持多级消费密钥分散机制,消费密钥的分散过程由Lc和消费密钥共同确定,如果二者不一致,则返回错误信息。命令报文 INIT_SAM_FOR_PURCHASE命令报文见表36。代码值CLA 80hINS 70hP1 00hP2 00hLc 14h8N(N1,2,3
限制150内