第4章智能(CPU)卡技术第4章智能(CPU)卡技术4.1实训6:CPU卡的设定与读写操作4.2CPU卡概述4.3典型智能卡芯片4.4卡操作系统COS4.5智能卡安全技术4.6CPU卡的应用系统思考题第4章智能(CPU)卡技术4.1实训6:CPU卡的设定与读写操作1.实训目的(1)了解CPU卡的基本组成及功能。(2)通过最简应用系统实例了解CPU卡系统的基本工作过程。(3)学会通过读卡器对CPU卡进行发卡、存款、扣款等基本操作。第4章智能(CPU)卡技术2.实训设备与器件实训设备:个人计算机、接触式IC卡读写器。实训器材:标准CPU卡。3.实训步骤及要求1)RD系列接触式IC卡读写器及CPUDEMO软件的安装(1)按系统提示安装RD系列接触式IC卡读写器及CPUDEMO软件。(2)按标志连接RD系列接触式IC卡读写器的电源线及串口线,注意,电源+5V与地不可接反。第4章智能(CPU)卡技术2)使用CPUDEMO软件访问SLE44C20卡(或其他的CPU卡)(1)按使用手册的说明操作演示软件,对RD系列接触式IC卡读写器进行建立连接操作。正确连接后,在操作窗体下面的消息提示中会显示“联机”。(2)将SLE44C20卡插入读写器卡座,进入卡操作界面。(3)对SLE44C20卡进行读、写、擦除、建立文件操作,记录操作结果及操作条件,熟悉CPU卡的操作命令。3)使用CPUDEMO软件发放CPU卡第4章智能(CPU)卡技术发卡程序如下,相关命令解释参见4.6节。send800E000008FFFFFFFFFFFFFFFF;删除MFsend80E0000018FFFFFFFFFFFFFFFF0F01315041592E5359532E4444463031;建立MF00A40000023F00;选择MFsend80E00200070001020F0F011E;建立DIR文件send00E200081361114F09A00000000386980701500450424F43;写DIR文件:中国银行send00E200081361114F09D15600000500000001500450424F43;写DIR文件:建设银行send80E001000D2F010F00A00000000386980701;建立ADFsend80E00200076F02050F000A00;建立DF下密钥文件send80D400000A0101000B0F011F331234;安装个人密码PIN1234send80D4000018010100080F022F3311223344556677881122334455667788第4章智能(CPU)卡技术;安装外部认证密钥(DEAK):11223344556677881122334455667788send80D4000018020100000F00F03311223344556677881122334455667788;安装消费密钥DPKsend80D4000018010100010F00F0FF11223344556677881122334455667788;安装圈存密钥DLKsend80D4000018010100030F00F0FF11223344556677881122334455667788;安装圈提密钥DULKsend80D4000018010100020F00F0FF11223344556677881122334455667788第4章智能(CPU)卡技术;安装TAC的密钥DTKsend80D4000018010100050F00F0FF11223344556677881122334455667788;安装应用维护密钥DAMKsend80D4000018010100060F00F0FF11223344556677881122334455667788;安装PIN解锁密钥DPUKsend80D4000018010100070F00F0FF11223344556677881122334455667788;安装PIN重装密钥DRPKsend80D4000018010100040F00F0FF11223344556677881122334455667788第4章智能(CPU)卡技术;安装修改透支限额密钥DUKsend80E00200070015000F0F001E;建立公共应用基本文件send00D695001EA00000000300000103010000199808150000000120001001200212315566;写公共应用基本数据文件send80E00200070016000F0F0027;建立持卡者基本数据文件send00D6960027000053414D50000000000000000000000000000000003131303130383730303331373138390000;写卡持有者基本数据文件send80E00200070018030FF00A17;建立交易明细文件send80E002000700010600000000;建立电子钱包EP文件send80E002000700020700000000;建立电子存折ED文件send80E00101022F01;结束建立应用(DF)send80E001000D2F020f00D15600000500000001第4章智能(CPU)卡技术;建立ADF建设银行应用send80E00200076F02050F000A00;建立DF下密钥文件send80D400000A0101000B0F011F331234;安装个人密码PINsend80D4000018020100080F032F3311223344556677881122334455667788;安装外部认证密钥(DEAK):11223344556677881122334455667788send80D4000018020100000F00F03312345678123456781234567812345678;安装消费密钥DPK:12345678123456781234567812345678send80D4000018010100010F00F0FF12345678123456781234567812345678;安装圈存密钥DLKsend80D4000018010100030F00F0FF12345678123456781234567812345678第4章智能(CPU)卡技术;安装圈提密钥DULKsend80D4000018010100020F00F0FF12345678123456781234567812345678;安装TAC的密钥DTKsend80D4000018010100050F00F0FF12345678123456781234567812345678;安装应用维护密钥DAMKsend80D4000018010100060F00F0FF12345678123456781234567812345678;安装PIN解锁密钥DPUKsend80D4000018010100070F00F0FF12345678123456781234567812345678;安装PIN重装密钥DRPKsend80D4000018010100040F00F0FF12345678123456781234567812345678第4章智能(CPU)卡技术;安装修改透支限额密钥DUKsend80E00200070015000F0F001E;建立公共应用基本文件send00D695001EA00000000300000203010000199808150000000220020501200212315566;写公共应用基本数据文件send80E00200070016000F0F0027;建立持卡者基本数据文件send00D6960027000053414D50000000000000000000000000000000003131303130383730303331373138390000;写卡持有者基本数据文件send80E00200070018030FF00A17;建立交易明细文件send80E002000700010600000000;建立电子钱包EP文件send80E002000700020700000000;建立电子存折ED文件send80E00101022F02;结束建立应用DFsend80E00001023F00;结束建立MF第4章智能(CPU)卡技术4)使用CPUDEMO软件对CPU卡中的金额进行圈存操作表4.1CPU卡标准文件结构钱包文件0001存折文件0002交易明细文件0018TAC密钥圈存密钥ADF密钥文件个人密码PIN第4章智能(CPU)卡技术这里假设:圈存密钥为11223344556677888877665544332211;个人密码PIN为1234。操作流程如下:(1)选择应用。命令:00A4000002(命令头)XXXX(ADF标识符)(2)校验个人密码。命令:0020000002(命令头)1234(PIN)(3)圈存初始化。命令:805000010B(命令头)01(圈存密钥标识)00001000(交易金额)000000000001(终端机编号)返回:00000000(旧余额)0000(联机交易序号)01(密钥版本号)00(算法标识)72d5a089(随机数)82dc9807(MAC1)第4章智能(CPU)卡技术(4)圈存。①计算过程密钥SessionKey。SessionKey=DES/3DES(KEY,Data1)KEY=11223344556677888877665544332211Data1=72d5a089(随机数)0000(2字节的联机交易序号)8000(补充值)计算结果:SessionKey=c40123a4297d7dba第4章智能(CPU)卡技术②计算MAC2。MAC2=MAC(DES/3DES(SessionKey,Data2,InitialData))Data2=00001000(4字节的交易金额)01(交易类型)000000000001(6字节的终端编号)20010910(4字节的交易日期)130222(3字节的交易时间)InitialData=0000000000000000计算结果:MAC2=4e8b20d4③向卡片发送圈存指令。805200000B(命令头)20010910(4字节的交易日期)130222(3字节的交易时间)4e8b20d4(MAC2)第4章智能(CPU)卡技术5)使用CPUDEMO软件对CPU卡中的金额进行消费操作消费交易命令的执行必须在ADF下进行,且此ADF下必须包含表4.1所示的文件和密钥。这里假设:消费密钥为11223344556677888877665544332211;个人密码PIN为1234。操作流程如下:(1)选择应用。命令:00A4000002(命令头)XXXX(ADF标识符)(2)校验个人密码。命令:0020000002(命令头)1234(PIN)第4章智能(CPU)卡技术(3)消费初始化。命令:805001010B(命令头)01(消费密钥标识)00000010(交易金额)000000000001(终端机编号)返回:00001000(旧余额)0000(脱机交易序号)000000(透支限额)01(密钥版本号)00(算法标识)e398ed60(随机数)第4章智能(CPU)卡技术(4)消费。①计算过程密钥SessionKey。SessionKey=DES/3DES(KEY,Data1)KEY=11223344556677888877665544332211Data1=e398ed60(随机数)0000(2字节的脱机交易序号)0001(终端交易序号的后2个字节)计算结果:SessionKey=e6874578af758168第4章智能(CPU)卡技术②计算MAC1。MAC1=MAC(