CPU卡

CPU卡发卡程序与过程

心不动则不痛 提交于 2019-12-07 17:09:39
构建IC卡应用系统过程中,如何定义卡中的数据信息(相对逻辑加密卡)或卡中的应用类型及其数据信息(相对CPU卡)及将数据信息写入卡中,以便应用于系统中进行交易 是 一 个重要环节。这一环节在业界通常称为卡片个人化。卡片个人化既可以在专门的设备机器上进行,以便于对大批量的卡片进行个人化;也可以在PC机上通过连接 IC卡读写器进行,以便于对小批量的卡片进行个化。不管硬件设备如何,都必须设计一套程序软件来进行个人化。这个程序软件通常称为发卡程序。本文讨论 CPU卡发卡程序设计过程中将会遇到的关键技术问题及其解决方法。 CPU卡发卡大体可分为三个组成部分:(1)卡结构建立;(2)密钥写入;(3)个人化数据写入。当然,为确保正确发卡,程序设计过程中最好 是 采用一边建立卡结构,一边写入密钥和个人化数据。 2发卡前的准备工作 一般地,卡片供应商提供卡片时,已经对卡片进行过初始化(主要用于对卡片进行测试),亦即卡片上已经建立了主文件(MF)及主密钥文件(MF下的Keyfile文件),主密钥文件中也已写入了初始卡片 主控密钥 。 在对CPU卡建立特定的卡结构及写入密钥和数据之前,程序设计中的第一步应该对卡片进行外部认证。外部认证所使用的密钥正 是 初始卡片 主控密钥 。 当完成外部认证后,接下来最好 是 擦除卡片上已有的卡片结构,然后再开始重新建立卡片结构。 许多发卡程序在设计过程中

CPU卡调试与发卡总结

和自甴很熟 提交于 2019-12-07 03:41:02
1、 CPU卡的操作步骤:寻卡-防冲突-选卡-ATS,前面三步和M1操作完全一样,属于ISO14443A前面三层的操作,ATS成功后就进入ISO14443A-4协议层了,也就进入了CPU卡的操作层。[喝小酒的网摘]http://blog.hehehehehe.cn/a/17513.htm 2、 PPS是可以不做的,只有RATS的返回值表明其接收能力大于PCD的发送即可。PPS用来设置通信时的波特率,通过RATS命令响应数据07 77 80 A0 02 47 56可以判断该卡仅支持106K波特率。所以PCD也没有通过PPS指令修改通信波特率的必要了。当然PPS指令重新按106K波特率设置一下也是可以 的,RATS以及后续的PCD指令都需要加上CRC的。 3、 ISO14443-4只规定到PPS指令,后续的指令都需要由CPU卡内部的软件COS来解释,所以卡片完成SELECT,通过RATS和PPS指令后,必须发COS支持的指令。发COS支持的指令一般都需要加CRC的。 4、 发送取随机数命令00 84 00 00 04,根据块格式规定,除了发送这个指令外,还要发送PCB和CID,即实际发送的字符是0A 01 00 84 00 00 04,0A01这两个字节必须加在每个指令字符串的前面,并且块号不能重复,即如果你连续2次取随机数,需如下发送:0A 01 00 84 00 00 04 ,0B