资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/3/2,#,智能卡基础知识1,1,内容概要,一、M1卡识别,二、M1卡存储结构,三、M1卡数据块存储的应用介绍,四、M1卡认证与指令,2,一、M1卡识别,3,如何识别出M1卡?,M1卡属于 A卡。,可以通过编码识别:,0200:M1 S70 4K,0400:M1 S50 1K,0800:,4403:,类中()方法获取。,(共有16位,根据7和8来判断是几级),4,二、M1卡存储结构,5,M1卡卡存储结构,6,M1卡卡存储介绍,M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,(也将16个扇区的64个块按绝对地址编号为063),第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改。,每个扇区的块0、块1、块2为数据块,可用于存贮数据。(数据块可作两种应用:数据保存和数据值操作),每个扇区的块3为控制块,包括了密码A、存取控制、密码B。,7,三、M1卡数据存储的应用介绍,8,数据存储区,块0、1、2存储数据。,块3为控制块,包括了密码A、存取控制、密码B,例如:,A 控制字节 B,A0 A1 A2 A3 A4 A5 07 80 69 B0 B1 B2 B3 B4 B5,9,数据值存储结构:,例如某一存储块数据为:000010000,那么数据值为1。0000可以做校验位,可以为固定值。,一般应用于钱包,存储金额数值。,10,控制字节介绍,每个块都有相应的三个控制位,定义如下:,块0:C10 C20 C30,块1:C11 C21 C31,块2:C12 C22 C32,块3:C13 C23 C33,11,控制字节介绍,控制位(0.2),访 问 条 件(对数据块 0、1、2),C1X,C2X,C3X,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,1,1,1,0,1,1,1,1,密码A,存取控制,密码B,C13,C23,C33,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,1,1,1,0,1,1,1,1,数据块存取控制:,控制块存取控制:,12,控制字节举例,举例:存取控制字为:07 80 69,1111 1111,0000 0111,1000 0000,0110 1001,对照右图标得:,块0:C10 C20 C30=000,块1:C11 C21 C31=000,块2:C12 C22 C32=000,块3:C13 C23 C33=001,例如:当块0的存取控制位C10 C20 C30=1 0 0时,验证密码A或密码B正确后可读;,验证密码B正确后可写;不能进行加值、减值操作。,例如:当块3的存取控制位C13 C23 C33=1 0 0时,表示:,密码A:不可读,验证或正确后,可写(更改)。,存取控制:验证或正确后,可读、可写。,密码B:验证或正确后,可读、可写。,13,四、M1卡认证与指令,14,、的认证,三次互相确认(3 ):,(6x),(),类中封装为:,(),(),15,卡操作指令:,对数据块的操作,读():读一个块;,写():写一个块;,加():对数值块进行加值;,减():对数值块进行减值;,存储():将块中的内容存到数据寄存器中;,传输():将数据寄存器中的内容写入块中;,中止():将卡置于暂停工作状态;,16,卡操作指令举例:,读第01块数据:,发送:3001,返回:0000000000,对于 操作卡片,类封装了所有操作指令。,()认证(入参:扇区号、),()认证(入参:扇区号、),()读数据(入参:块号),()写数据(入参:块号、16字节数据),()加值(入参:块号、加的值,()减值(入参:块号、减的值),()传输(入参:块号),()重载(入参:块号),()单数据透传(入参指令),17,操作卡片时序:,18,非常高兴跟大家一同分享,,以上是对智能卡,M1,卡粗浅的介绍,,希望大家有所收获,不足之处还请谅解与指正。,19,
展开阅读全文