联系建和


建和诚达科技

QQ:2355642023
电话:0755-29186669 
咨询热线:13798598242



智能卡知识
您的位置:首页> 智能卡知识 > M1卡存储控制位使用方式详解
M1卡存储控制位使用方式详解
时间:2023-6-8 15:41:45
        目前市面上最常见的IC卡,如校园IC卡,水卡,门禁卡,会员IC卡,就诊卡,充电卡等,绝大部分的卡片类型均属于感应式IC卡,以下统称为M1卡。


M1卡内部存储基本结构
 

    M1卡片存储器内部平均分为16个扇区(编号0~15扇区),每个扇区分为4个数据块(编号0~3块),每个数据块的数据长度是16个字节。
 
每个扇区中数据块0~数据块2,用户可进行数据的读取和写入,加值、减值、值转移、值恢复等操作。
 
注意:其中扇区0中的数据块0用于存放M1卡的芯片号和厂商代码;这个数据在出厂的时候已经固话,只可读取,不能写入
每个扇区中数据块3,存放访问扇区的密钥数据和控制访问权限的字节(统称控制位字节)


M1卡存储结构
每个扇区中的数据块3;既存放密钥数据和控制权限字节的部分,数据块3结构如下:

M1卡密码及控制位存储结构
 
M1卡出厂的时候密码是一致的,默认每个扇区的数据块3中的数据都是:
 
                    FF FF FF FF FF FF FF 07 80 69 FF FF FF FF FF FF
 
 
 
其中:
        FF FF FF FF FF FF 为A密钥 
        FF 07 80 69 为控制字节 
        FF FF FF FF FF FF为B密钥
 
FF 07 80 69  也是最常用的M1卡控制位组合    
 
         这种字节组合方式是最常见的;只要A密钥或者B密钥验证通过,便可以读写数据块数据,修改A、B密钥,修改控制字节
 
        优点在于:控制字节直接出厂默认,无需重新设置。读写数据,修改密钥都比较方便。缺点在于:安全性能差,数据和密钥容易泄露和被修改

 
 解析权限过程详述
 
 
 
其中字节9目前是作为保留字节,一般固定为0x69;主要是看字节6,7,8这3个字节
 
步骤1:将字节6,7,8转换成对应的二进制格式,如下表
 
 
步骤2:对字节6,7,8进行相应的处理
 
 
步骤3:将处理后的字节6,7,8的8位2进制数组成1张表格;如下表
 
 
其中:
 
C10C20C30组合:表示扇区中数据块0的权限;具体权限需要对应下图的数据块权限真值表
 
 
C11C21C31组合:表示扇区中数据块1的权限;具体权限需要对应下图的数据块权限真值表
 
 
C12C22C32组合:表示扇区中数据块2的权限;具体权限需要对应下图的数据块权限真值表
 
 
C13C23C33组合:表示扇区中密钥数据块(即数据块3)的权限;具体权限需要对应下图的密钥块权限真值表
 
 
组合C10C20C30,C11C21C31,C12C22C32的值均为 0 0 0,对应到数据块控制权限真值表中权限为:读:A|B 写:A|B  增值:A|B 减值、转移值、恢复值:A|B
 
 
组合C13C23C33的值为 0 0 1,对应到密钥块控制权限真值表中权限为:
 
                                                        AKey:读:Never 写:A|B     
 
                                                        
控制字节:读:A|B 写:A|B   
 
                                                        
BKey:读:A|B 写:A|B
 
综上:FF 07 80 69
 
           
数据块权限为:读:A|B 写:A|B  增值:A|B 减值、转移值、恢复值:A|B  
 
           
 密钥块权限为:AKey:读:Never 写:A|B  
 
                                    
控制字节:读:A|B 写:A|B   
 
                                    
BKey:读:A|B 写:A|B
 
 
 
所以控制字节FF 07 80 69的控制权限是:
 
 
只要A密钥或者B密钥验证通过,便可以读写数据块0,1,2;还可以对数据块0,1,2进行增值,减值, 转移值,恢复值等操作
 
 
只要A密钥或者B密钥验证通过,便可以写入A密钥;
读写控制字节,读写B密钥;但无论任何条件下,都无法读取A密钥
 
 
 
 
根据所需要权限·生成对应控制字节
假设~~~
现在对扇区中数据块0,1,2,密钥块的控制权限分别是以下需求:
 
 
1.数据块0:只有B密钥验证通过;才可以读取数据;但无论任何条件下,都不可以写入数据;不可以进行增值,减值, 转移值,恢复值等操作
 
 
2.数据块1:只要A密钥或者B密钥验证通过,就可以读取数据;但无论任何条件下,都不可以写入数据;不可以进行增值,减值, 转移值,恢复值等操作
 
 
3.数据块2:只有B密钥验证通过;才可以读取数据;但无论任何条件下,都不可以写入数据;不可以进行增值,减值, 转移值,恢复值等操作
 
 
4.密钥块:只要A密钥或者B密钥验证通过,就可以读取控制字节,但无论任何条件下,控制字节都不能被修改;只有B密钥验证通过;才可以修改A密钥和B密钥;但无论任何条件下,都不能读取A密钥和B密钥
 
 
结合上述需求分析:
 
        
数据块0权限值C10C20C30  和  数据块2权限值C12C22C32  均为下表红框中的值,既是C10C20C30 = 1 0 1;C12C22C32 = 1 0 1
 
        
数据块1权限值C11C21C301为下表黄框中的值,既是C11C21C31 = 0 1 0
 
 
 
 
 
密钥块权限值C13C23C33为下表中绿框中的值,既是C13C23C33 = 1 0 0
 
 
步骤1:将分析需求得到的C10C20C30 = 1 0 1;C11C21C31 = 0 1 0;C12C22C32 = 1 0 1;C13C23C33 = 1 0 0;填入下表
 
 
步骤2:根据已经填入的值,对表格进行补全处理   
 
 步骤3:分别对3组8位2进制数进行格式转换
 
 
 
结合上述3个表格得到:字节6:0xD2;字节7:0xDA;字节8:0x52;字节9一般固定为0x69
 
所以根据需求最终生成的控制字节是:D2 DA 52 69
 
 
 
 
推荐产品
[返回]
建和首页 | 医院就诊卡 | 充电卡 | 智能门锁卡 | 门禁卡 | 物品标识卡 | 会员卡知识 | 会员卡应用方案 | 常见问题解答 | 关于建和 | 联系建和
点击这里给我发消息
点击这里给我发消息
点击这里给我发消息
点击这里给我发消息