很多用户在购买了IC卡应用系统之后,如果需要购进新卡,因为未掌握密码,就不得不出高价从原销售公司买卡。要想自行买卡使用就必须掌握卡的密码。
一、非接触式感应卡类型及背景:
非接触式感应卡是通过电磁波磁场通讯,无接触点所以被称为“非接触式感应卡”,又被广泛称为“射频卡”,其类型分为:IC卡、ID卡两大类。
IC卡分为Philips公司开发的S50芯片生产的Mifare one卡与瑞士LEGIC公司开发的LEGIC芯片生产的LEGIC卡,均可读写数据,使用频率均为13.56MHz;LEGIC卡由于卡片与设备都需要LEGIC公司统一进行授权密码卡进行加密才可进行读写,用户不可自行加密造成使用麻烦不方便,而且价格是Philips公司开发的S50芯片生产的Mifare one卡的几倍,所以市场逐步被Philips公司占领及主导。
ID卡分为瑞士EM公司与HID公司生产的芯片完成,其特点为只读,没有任何加密措施,靠该芯片固化的全球唯一ID号码作为标识进行识别应用,通讯频率为125KHz。
二、Mifare one卡背景:
Mifare one卡最早由Philips公司开发,目前Mifare系列卡有S50、S70两种芯片,由于Mifare one卡密码用户可自行加密及价格便宜,使用方便,可存储数据应用领域不断增大,而且逐步取代LEGIC卡,ID卡的应用领域,现国内也有多家微电子厂商生产兼容芯片;Mifare one卡在国内市场被广泛称为“MF1卡”,“IC卡”,“M1卡”,MF1 IC卡”,应使用广泛,每个地区都取了自己习惯的名称而形成了这么多种卡片名称;以下我们简称“MF1卡”。
三、MF1卡特征:
3.1、MF1卡RF 接口ISO/IEC 14443A
无线传送数据和能量不需要电池;
工作距离最高可达50mm 由天线的结构geometry 决定;
工作频率13.56MHz;
数据传送速度快106kbit/s;
数据高度可靠正确16 位CRC 奇偶校验位编码位计数;
真正的反冲突;
典型的处理ticketing transaction <100ms 包括备份管理。
3.2、MF1卡EEPROM
1K 字节分成16 个区每区又分成4 段每一段中有16 个字节;
用户可以定义每一个存储器段的访问条件;
数据可以保持10 年;
可写100,000 次。
3.3、MF1卡保密性(Security)
需要通过3 轮确认ISO/IEC DIS9798-2 Mutual three pass authentication
RF 信道的数据加密有重放攻击保护;
每个区有两套独立的密钥每应用支持带密钥层次的(support multi-application with key hierarchy);
每张卡有唯一的序列号;
在传输过程中访问EEPROM有传输密钥保护(transport key protects access to EEPROM on chip delivery)。
3.4、无线传送数据和能量
Mifare系统中MF1 IC S50 连接着几匝线圈线圈嵌入到塑料中这就形成了一张无源的无线智能卡这种卡不需要电池当智能卡靠近读写装(Read Write Device RWD) 的天线时高速RF 通讯接口可以以106kBit/s 的速度传送数据。
3.5、反冲突
智能的反冲突功能允许同一工作区域中有不止一张卡同时工作反冲突算法每次只选择一张卡确保对被选中的卡正确执行操作而且同一区域中的其他卡不会破坏数据。
3.6、保密性
这个卡一个特殊的要点是保密防止欺骗相互询问Mutual challenge 和响应确认数据保密和报文确认检查防止系统受到任何干扰使应用更有吸引力序列号不可修改保证了每张卡都是唯一的。
四、MF1卡结构:
4.1、存储器结构
1024x8 位的EEPROM 存储器被分成16 个区每个区中有4 个段每段有16 字节在擦除状态时读EEPROM 单元的值是逻辑“0” 在写状态时读EEPROM 单元的值是逻辑“1”
4.2、厂商段
厂商段是存储器第一个区的第一个数据段(段0) 它包含了IC卡厂商的数据及全球唯一ID标识。基于保密性和系统的安全性,这一段在IC卡厂商编程之后被置为写保护。
4.3、数据段
所有的区都包含3个段(每段16 字节)保存数据(区0只有两个数据段和一个只读的厂商段)。
数据段可以被以下的访问位access bits 配置:
读/写段,用于譬如无线访问控制;
值段,用于譬如电子钱包,它需要额外的命令,像直接控制保存值的增加和减少在执行任何存储器操作前都要先执行确认命令。
4.4、值段
值段,实现电子钱包的功能。(有效的命令有:读,写,增,减,恢复,发送)。
值段有一个固定的数据格式,可以进行错误检测和纠正并备份管理。
值段只能在值段格式的写操作时产生:
值:表示一个带符号4字节值。这个值的最低一个字节保存在最低的地址中。取反的字节以标准2的格式保存。为了保证数据的正确性和保密性,值被保存了3 次,两次不取反保存,一次取反保存。
Adr:表示一个1字节地址,当执行强大的备份管理时用于保存存储段的地址。地址字节保存了4次,取反和不取反各保存两次。在执行增、减、恢复、传送操作时,地址保持不变。它只能通过写命令改变。
4.5、区尾(段3)
每个区都有一个区尾,它包括:
密钥A和B(可选),读密钥时返回逻辑“0”
访问这个区中4个段的条件(保存在第6字节-第9字节)。访问位(access bits)也可以指出数据段的类型(读/写或值)。
如果不需要密钥B,那么段3的最后6字节可以作为数据字节。
用户数据可以使用区尾的第9字节。这个字节具有和字节6、7和8一样的访问权。
五、MF1卡典型应用方法:
5.1、门禁系统中的应用方法
MF1卡在门禁系统中通过读卡器读取卡中的唯一ID标识,读卡器将读取的卡号发送给控制主机,控制主机判断该卡片ID是否有权限开门,“有”则开门发行,“无”则报警或不处理。
5.2、消费系统中的应用方法
MF1卡在消费系统中通过密码对卡片进行合法判断,密码正确并又合法消费权限,消费机对卡片金额增、减等功能操作。