设为首页 | 成都一卡通
当前位置: 首页 > 一 卡 通 > 其他一卡通 >
其他一卡通
关于电子单程双程车票(卡)的数据安全性问题探讨
发布时间:2013-03-28 来源:未知
一.MifareLight卡MifareLight卡的开发目的是为了在Mifare技术平台中,为了高度集中于对芯片的存储器容量进行优化,满足“smallmemoryapplication”(小存储容量应用)而设计的一款Mifare家族系列产品。注意,由于MifareLight卡是Mifare家族系列产品中的一员,特别地,它是Mifare1S50卡片的一种转换产品,即在卡片内部的容量等方面采取了小型化,从Mifare1S50的16Kbits(2Kbytes)缩小到MifareLight卡的384bits(48字节),但是MifareLight卡仍然保持了大部分的Mifare1S50卡芯片的特性,因此,对MifareLight卡的读写操作,可以完全使用/兼容已经应用在Mifare1S50卡的读写设备。 相比于Mifare1S50卡,由于MifareLight卡在存储器容量上得到了极大的优化、缩小处理(小容量卡),因此在(性能)价格(比)上具有非常大的优势,但存储容量的缩小,一般也只是适合于作为一个应用的卡片载体(例如单程或双程电子车票)。而Mifare1S50卡则可以适用在一些比较复杂的多个电子应用的项目中,例如作为可以反复充值的地铁/公交储值卡等。 如下是MifareLight卡的一些主要特性和技术指标: 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.MifareLight卡兼容Mifare1S50卡的读/写设备模块,表现在: (a)工作频率:13.56MHZ (b)通信速率:106KB波特率 (c)防冲突:同一时间可处理多张卡 (d)具有数据整体性校验功能(16bit的CRC,偶校验,位编码,位流计算,RF位通道监控等) (e)具有和Mifare1(S50)卡相同的认证功能(authentication)和RF通道加密功能(RFchannelencryption) 注意,上述第8条第(e)款的功能的启用或禁止,对于MifareLight卡和读写器设备之间的空中交换的卡片数据或读写器命令数据的加密特性有直接的关联!如果读写器模块的RF通道加密功能被禁止,则空中交换的数据将是以“明文”方式存在,一旦数据被在此非法截取,将威胁到卡片原始数据的安全保密特性!!! 如果是一张单程地铁车票,这一威胁表现在:一张单程地铁车票中的数据可以被准确无误地被截取。 如何避免这一安全保密性不受到威胁,在应用系统开发阶段,应该在读写器模块(例如RC530/531等)的相应的RF通道寄存器设置中,必须启用加密特性,设置相应的寄存器数值!!!也就是将卡片和读写机具的空中数据传输模式由“transparencemode”(“明文数据模式”)设置为“encryptionmode”(“加密数据模式”),由此避免卡片原始数据的安全保密特性受到被截取的威胁。 如果处于“encryptionmode”,即使卡片数据被截取,由于截取者很难从已截取的(加密的)数据中反向推倒出卡片中的原始数据(除非该截取者知道这一加密算法),从而保护了卡片中的原始数据的安全保密特性!!! 如何设置读写模块的专用芯片,例如RC500/RC531等,可以查阅相应的文档资料。一般地,我们应该关注这些相关的寄存器的设置: ControlRegister(Addr=0x09);Channel/RedundancyRegister(Addr=0x22);Crypto1Keys;LoadKey(Addr=0x19);Authent1(Addr=0x0C);Authent2(Addr=0x14);WorkingwiththeTransmit/ReceiveCommand(Addr=0x1A,0x1E,0x16);等等。如图所示为相关的一些寄存器(RC530)内部控制寄存器等。 如果控制寄存器(ControlRegister)中的第3个位(bit)Crypto1On被设置为“1”(在MifareLight卡片和读写器进行相互认证操作Authent2完成后),则,读写器和MifareLight卡片进行非接触通信的空中数据将全部被加密,不再是明文传输。 举个简单的例子,如果单程车票(MifareLight芯片)卡片中的钱包数据为5(元人民币),则实际读写器接收到的空中数据将不是“0x05”,而是一个经过了加密算法运算后的数据,例如可能为“0x1a2b3c”。由于一般人员不会知晓这一加密算法的构造,因此,即使他非常不容易地截取拿到了这个数据“0x1a2b3c”,他也没有办法回塑、反推到具体的钱包数据为“5”元还是其它数额等。钱包的数据仍然是安全保密的。第1页第2页第3页