来源:卡市场信息网 作者:语馨 收编 发布时间:2008-02-21 10:54:17 字体:[大 中 小]
摘 要:目前在各个城市的公共交通系统(地铁、公交巴士等)中广泛地使用了电子车票来作为进出站的控制,其中对于最简单的单程/双程车票的应用,一般我们会使用廉价的Mifare Light 卡(芯片)或上海华虹SHC1102卡(芯片)或复旦微电子FM11RF005卡(芯片)等来作为识别载体。这些车票的封装形式、可能的物理形状为一个圆形的“Token”筹码等。
一.Mifare Light 卡
Mifare Light 卡的开发目的是为了在Mifare 技术平台中,为了高度集中于对芯片的存储器容量进行优化,满足“small memory application”(小存储容量应用)而设计的一款Mifare家族系列产品。注意,由于Mifare Light 卡是Mifare家族系列产品中的一员,特别地,它是Mifare 1 S50卡片的一种转换产品,即在卡片内部的容量等方面采取了小型化,从Mifare1 S50的16Kbits(2Kbytes)缩小到Mifare Light 卡的384bits(48字节),但是Mifare Light 卡仍然保持了大部分的Mifare1 S50卡芯片的特性,因此,对Mifare Light 卡的读写操作,可以完全使用/兼容已经应用在Mifare 1 S50卡的读写设备。
相比于Mifare 1 S50卡,由于Mifare Light 卡在存储器容量上得到了极大的优化、缩小处理(小容量卡),因此在(性能)价格(比)上具有非常大的优势,但存储容量的缩小,一般也只是适合于作为一个应用的卡片载体(例如单程或双程电子车票)。而Mifare 1 S50卡则可以适用在一些比较复杂的多个电子应用的项目中,例如作为可以反复充值的地铁/公交储值卡等。
如下是Mifare Light卡的一些主要特性和技术指标:
1.卡片容量为384位(48字节)的低功耗EEPROM存储器
2.具有唯一的32位(4字节)卡片序列号
3.含有16位(2字节)的数值计数器(芯片中已含有可以防止数据被分割破坏的功能),如果加上需要反写的数值计数器,总共占用8字节—64bits
4.128位(16字节—4页)的用户可编程序数据区(如果用户不启用上述的数值计数/校验功能,则数据区容量可达192位—24字节)
5.用户可自定义数据存储器中数据的读/写控制权限,有两套密码(KEYA和KEYB)来配合完成
6.读写距离:在10cm以内(与天线有关)
7.卡片内无需电源
8.Mifare Light卡兼容Mifare 1 S50卡的读/写设备模块,表现在:
(a)工作频率:13.56MHZ
(b) 通信速率:106KB波特率
(c)防冲突:同一时间可处理多张卡
(d)具有数据整体性校验功能(16bit的CRC,偶校验,位编码,位流计算,RF位通道监控等)
(e)具有和Mifare 1 (S50)卡相同的认证功能(authentication)和RF通道加密功能(RF channel encryption)
注意,上述第8条第(e)款的功能的启用或禁止,对于Mifare Light卡和读写器设备之间的空中交换的卡片数据或读写器命令数据的加密特性有直接的关联!如果读写器模块的RF通道加密功能被禁止,则空中交换的数据将是以“明文”方式存在,一旦数据被在此非法截取,将威胁到卡片原始数据的安全保密特性!!!
如果是一张单程地铁车票,这一威胁表现在:一张单程地铁车票中的数据可以被准确无误地被截取。
如何避免这一安全保密性不受到威胁,在应用系统开发阶段,应该在读写器模块(例如RC530/531等)的相应的RF通道寄存器设置中,必须启用加密特性,设置相应的寄存器数值!!!也就是将卡片和读写机具的空中数据传输模式由“transparence mode”(“明文数据模式”)设置为“encryption mode”(“加密数据模式”),由此避免卡片原始数据的安全保密特性受到被截取的威胁。
如果处于“encryption mode”,即使卡片数据被截取,由于截取者很难从已截取的(加密的)数据中反向推倒出卡片中的原始数据(除非该截取者知道这一加密算法),从而保护了卡片中的原始数据的安全保密特性!!!
如何设置读写模块的专用芯片,例如RC500/RC531等,可以查阅相应的文档资料。一般地,我们应该关注这些相关的寄存器的设置:
Control Register (Addr=0x09);Channel/Redundancy Register (Addr=0x22);Crypto1 Keys;LoadKey(Addr=0x19);Authent1(Addr=0x0C);Authent2(Addr=0x14);Working with the Transmit/Receive Command (Addr=0x1A, 0x1E,0x16);等等。如图所示为相关的一些寄存器(RC530)内部控制寄存器等。
如果控制寄存器(Control Register)中的第3个位(bit)Crypto1On被设置为“1”(在Mifare Light 卡片和读写器进行相互认证操作Authent2完成后),则,读写器和Mifare Light卡片进行非接触通信的空中数据将全部被加密,不再是明文传输。
举个简单的例子,如果单程车票(Mifare Light芯片)卡片中的钱包数据为5(元人民币),则实际读写器接收到的空中数据将不是“0x05”,而是一个经过了加密算法运算后的数据,例如可能为“0x1a2b3c”。由于一般人员不会知晓这一加密算法的构造,因此,即使他非常不容易地截取拿到了这个数据“0x1a2b3c”,他也没有办法回塑、反推到具体的钱包数据为“5”元还是其它数额等。钱包的数据仍然是安全保密的。
推荐文章
论坛热帖