您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > PBOC之CPU卡FM1208的发卡指令讲解
符合PBOC(中国人民银行)标准的CPU卡、PSAM卡操作说明广州恒天单片机淘宝店开发板网址:复制打开item.taobao.com/item.htm?spm=a1z10.1-c.w4004-7992909164.2.XNjhh8&id=541401124702第一章:CPU卡FM1208的发卡一、符合PBOC标准的CPU卡结构讲解二、MF下的文件建立及装载操作1、建3F00下0000密钥文件2、装载3F00下的密钥装载8字节的线路保护密钥装载16字节的外部认证密钥3、建3F00下的定长记录文件及增加记录三、DF下的文件建立及装载操作(PBOC应用文件)1、建3F01文件2、选择3F01文件3、建3F01文件目录下的密钥文件装载TAC密钥装载线路保护密钥装载外部认证密钥装载消费密钥载圈存密钥装载口令PIN密钥:装载内部密钥4、建立公共应用基本数据文件5、建ED/EP持卡人基本信息数据的文件6、建ED/EP应用的交易明细循环记录文件7、建ED电子存折文件8、建EP电子钱包文件第二章:CPU卡FM1208的应用一、应用篇1、读取CPU卡的0015公共应用基本数据文件2、读取CPU卡的0016持卡人基本信息文件3、圈存:对电子钱包存款口令验证圈存初始化执行圈存命令4、对电子钱包消费交易:消费初始化MAC1计算初始化(在PSAM卡中执行)执行消费命令校验MAC2:(在PSAM卡中执行)第三章:PSAM卡的发卡一、符合PBOC标准的PSAM卡结构讲解二、MF下的文件建立及装载操作1、建MF(3F00)文件2、建3F00下的0000密钥文件3、装载3F00下的密钥装载主密钥装载PIN解锁密钥装载PIN密钥装载维护密钥4、MF下建立0015的公共信息文件5、MF下建立0016的终端信息文件三、DF下的文件建立及装载操作(PBOC应用文件)1、建3F01文件2、创建3F01文件目录下的0000密钥文件装载主密钥装载维护密钥装载内部认证密钥装载消费密钥装载圈存密钥装载线路保护的密钥装载解密密钥装载加密密钥3、创建0017的公共信息文件4、创建0018的终端交易序号文件第四章:密钥管理的应用讲解一、CPU卡的安全性介绍对持卡者的认证卡合法性认证终端机的合法性认证二、SingleDES(DES)、TripleDES(3DES)应用三、MAC计算应用四、密钥的种子、因子、分散五、终端应用说明第五章:硬件原理图第一章:CPU卡FM1208的发卡一、符合PBOC标准的CPU卡结构MF(3F00)该根目录不可删除,以下的分支全部可删除。一张刚出厂的空白卡需先创建密钥文件,然后往里面装载密钥,然后再创建定长记录文件,最后创建DF(3F01)文件。MF(3F00)下可创建多个DF,而每个DF下必须创建密钥文件并装载密钥。因为每个DF是独立应用的,各自DF下的密钥只管理各自的DF下的其它文件的权限。必须要掌握理解的以下6要点:1、安全状态:表示一张卡当前是处于什么状态,是否允许给你读、写、删除等操作。用0~F代号表示。卡刚复位成功后它的状态值是为0(即缺省值为0)2、权限:有使用权、修改权、读权限、写权限等,这些都是一样理解的。在建文件时用一个字节的表示。例如:假设一字节的权限值为:XYX的取值范围:(0~F)Y的取值范围:(0~F)设一个访问权限:X的值=F,Y=任意,即FY,表示要求安全状态值大于等于Y。如某文件的读权限为F5,表示在对该文件进行读之前,必须使安全状态值大于等于5即上面介绍的安全状态值只要是5~F这些值都可以访问该文件,那么怎样才MF3F00密钥文件0000外部认证密钥线路保护密钥DF3F01密钥文件0000TAC密钥线路保护密钥外部认证密钥消费密钥圈存密钥口令PIN密钥内部密钥公共应用基本数据文件持卡人基本信息数据文件交易明细循环记录文件ED电子存折文件EP电子钱包文件定长记录文件0001能使安全状态值等于我要的值呢,先把问题留下,自己思考下稍后将介绍。如某文件的读权限为F0,到现在你应该知道它的安全状态值是多少了吧,是大于等于0,即0~F所有值都可以,那就是说明没有权限权制了,随便读。总结一下:访问权限为XY时,这里有三种情况:1、XY表示要求当前目录的安全状态值大于等于Y且小于等于X。2、X=Y表示要求当前目录的安全状态值等于X,这里就只有一个取值了,如我的访问权限为AA,那么就必须要求当前目录的安全状态值等于A才能访问了。3、XY表示禁止访问应用中我们前两种的情况用的最多。到这里对权限已有所了解了吧。3、这里来讲解刚才余留下的问题,怎样才能使安全状态值等于我要的值呢?这就需要密钥来验证啦,只要密钥验证通过后就会改变安全状态值,好像是有点道理,那么问题又来了,我这个安全状态值在哪里写入啊?答案是你在装载密钥时写入的,有一个述语叫做“后续状态”的就是了,意思就是你在验证密钥通过后的安全状态,简称后续状态。例如卡中某目录下有一个二进制文件,定义读二进制文件的权限为F1,写二进制文件权限为F2。即读的后续状态为1~F,都可以读这个二进制文件,如果后续状态为1时,则不能写。因为写的后续状态要为2~F才能写;好,接下来比如该目录下有一个口令密钥,口令核对通过之后的后续状态为1,这时就可以读这个二进制了;再如该目录下还有一个部认证密钥,使用权限为11,外部认证通过之后后续状态为2,这句能理解吧,即要用这个外部认证密钥,这里还有一个使用权限11,要先口令密钥通过后,才能用这个外部认证密钥,该外部认证密钥通过后才能写上面的二进制文件。可用我们提供的底层文件用串口助手,直接输入CPU卡的指令即可调试并查看实验结果!4、错误计数:用一个字节表示,高4位表示有多少次出错的机会,低4位表示当前还剩多少可出错的次数。比如我们的银行卡,在ATM机子上输入密码,如果连续输入3次密码错误即锁卡了,那么它是在哪里写入的呢?即口令密钥或其它密钥指令里面的“错误计数”这一项为33即可,高4位为3表示有3次机会,低4位为3表示当前还有3次,如果输入口令错误,即CPU卡返回63C2这里的2即表示还有2次机会,再错即返回63C1,又再错返回63C0,这时表示没机会了,如果这时再输入错误即锁卡了。我们在调试时,建议把错误计数设为FF,即有16次的机会。5、标识:就是一个文件(含密钥文件)的代号标识,例如,“公共应用基本数据文件的文件”标识为0015,即0015即表示是公共应用基本数据文件的文件;标识又分有短文标识,即取0015的低5位,二进制表示:10101。一般在MAC线路保护、加密保护中用的较多。这里还有一个算法标识:这个是固定的,00表示DES算法,01则3DES算法(DES或3DES算法,具体理解参阅“第三章:密钥管理的应用讲解”)6、文件空间:即你所建的一个文件可以放多少数据,例如,建“ED/EP持卡人基本信息数据的文件”这里的文件空间为27H,表示里面可以存放27H个字节的空间。当然还要包含一些命令中所用到的字节的空间,具体的可参阅“FMCOS通用技术手册”以上这些理解后,你就可以读懂以下指令的意思了,用串口助手输入对应的指令多试试,则一目了然了。以下所有章节是按照我们的开发板例程来讲解(所有章节的参数都是按16进制表示)二、MF下的文件建立及装载操作(空白的CPU卡或重新格式化的CPU卡)3F00这个根目录FM1208的COS出厂已建立的,不可删除00A40000023F00//打开该文件1、首先建立密钥文件:80E00000073F005001F0FFFF指令的内容的说明如下:命令报文:80E0000007CALINSP1P2文件标识LC报文数据:3F005001F0FFFF密钥文件文件空间(字节)短文件标识增加密钥的权限保留保留2、在上面所建的密钥文件里面装载密钥装载8字节的线路保护密钥:80D401000D36F0F0FF33FFFFFFFFFFFFFFFF指令的内容的说明如下:命令报文:80D401000DCALINSP1P2密钥标识LC数据长度报文数据:36F0F0FF33FFFFFFFFFFFFFFFF线路保护密钥使用权修改权保留错误计数器8字节的密钥内容装载16字节的外部认证密钥:80D401001539F0F0AA88FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF指令的内容的说明如下:命令报文:80D4010015CALINSP1P2密钥标识LC数据长度报文数据:39F0F0AA88FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF外部认证密钥使用权修改权后续状态错误计数器16字节的密钥内容3、建定长记录文件:80E00008072A0213F000FFFF指令的内容的说明如下:命令报文:80E0000807CALINSP1P2文件标识LC报文数据:2A0213F000FFFF定长记录文件文件空间(字节)读权限写权限保留注:文件空间第一个字节02为记录总个数,即可存2条记录,第二个字节13为记录长度,即一条记录的内容为13个字节增加记录内容:00E200081361114F09A00000000386980701500450424F43指令的内容的说明如下:命令报文:00E2000813CALINSP1P2当前文件LC61114F09A00000000386980701500450424F43记录的信息内容为目录名及PBOC的ASC码注:这是一个TLV格式的记录,61-11:(4F-09:A00000000386980701);50-04:(50424F43)A00000000386980701为目录名50424F43为PBOC的ASC码三、DF下的文件建立及装载操作(PBOC应用文件)1、建3F01文件:80E03F011138036FF0F095FFFFA00000000386980701指令的内容的说明如下:命令报文:80E03F0111CALINSP1P2文件标识LC报文数据:38036FF0F095FFFFA00000000386980701目录文件DF文件空间(字节)建立权限擦除权限应用ID保留DF名称2、选择3F01文件:00A40000023F01(注:上面刚建了DF文件,必面执行此命令打开)指令的内容的说明如下:命令报文:00A40000023F01CALINSP1P2LC文件标识3、建立该目录下(3F01)的密钥文件:指令的内容的说明如下:80E00000073F018F95F0FFFF命令报文:80E0000007CALINSP1P2文件标识LC报文数据:3F018F95F0FFFF密钥文件文件空间(字节)短标识符增加权限保留装载TAC密钥:80D401001534F002000134343434343434343434343434343434指令的内容的说明如下:命令报文:80D4010015CALINSP1P2密钥标识LC数据长度报文数据:34F002000134343434343434343434343434343434TAC密钥使用权修改权密钥版本号算法标识16字节的密钥内容装载线路保护密钥:80D401001536F002FF337C51F07910D8038D2097E58FDA793F1E指令的内容的说明如下:命令报文:80D4010015CALINSP1P2密钥标识LC数据长度报文数据:36F002FF337C51F07910D8038D2097E58FDA793F1E线路保护密钥使用权修改权保留错误计数器16字节的密钥内容装载外部认证密钥:80D401001539F00244FF5FD6760CDF6DD393FFDD6C5CCB6585BF指令的内容的说明如下:命令报文:报文数据:39F00244FF5FD6760CDF6DD393FFDD6C5CCB6585BF外部认证密钥使用权修改权后续状态错误计数器16字节的密钥内容装载消费密钥:80D40100153EF00200013E5E
本文标题:PBOC之CPU卡FM1208的发卡指令讲解
链接地址:https://www.777doc.com/doc-7027287 .html