关于电子单程双程车票(卡)的数据安全性问题探讨 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

关于电子单程双程车票(卡)的数据安全性问题探讨

来源:卡市场信息网  作者:语馨 收编  发布时间:2008-02-21 10:54:17  字体:[ ]

关键字:电子车票  地铁车票  数据安全  

摘   要:目前在各个城市的公共交通系统(地铁、公交巴士等)中广泛地使用了电子车票来作为进出站的控制,其中对于最简单的单程/双程车票的应用,一般我们会使用廉价的Mifare Light 卡(芯片)或上海华虹SHC1102卡(芯片)或复旦微电子FM11RF005卡(芯片)等来作为识别载体。这些车票的封装形式、可能的物理形状为一个圆形的“Token”筹码等。


    另外,作为一个非常专业的IC卡应用系统开发人员,本身还必须对钱包数据(一次性的单程/双程车票或反复使用的地铁/公交储值卡内的钱包数据)执行“一卡一密”的钱包数据加密。加密的结构和算法如下简单说明一下。 

    加密算法:可以采用公开标准的DES算法或3-DES算法;(具体的算法程序等比较复杂,如果有兴趣,可以与笔者联系获得。) 
    加密结构:如图所示为相应的一种典型的关系型加密结构。我们可以把DES算法看作是一个“黑盒子”,内部所有的数据和运算是保密的、不可逆的。 

关于电子单程双程车票(卡)的数据安全性问题探讨

加密操作说明如下: 

    如果要求加密的钱包金额数据B=0x10(元),而该张单程车票的唯一卡号为A=0x0001, 控制密钥为C=0xFFFF,则该张单程车票的加密后的钱包数据D(可能)=0x1a2b3c;(注意,一般从数据D是不可能推倒出数据输入量B的准确值的,这是由DES加密算法的“不可逆推特性”所决定的,否则不能作为加密算法!) 

    如果要求加密的另外一张单程车票的唯一卡号为A=0x0002,而所有其它的输入量A和C都一样(也即同样在两个单程车票中存入相同的钱包金额数据B=0x10(元)),则加密算法此时的输出量D(可能)=0x2a3c4d;等等,但是绝对不可能是和前一张的输出量D(=0x1a2b3c)相同!!!à 这一特性是由加密算法(DES或3-DES或RSA或其它算法)的“不同输入量一定形成不同的输出量”这一特性来决定的!!! 

    尽管两张单程车票的钱包金额相同,但实际存储在单程车票内部对应的数据是完全不同的,也即达到了“一卡一密”的目的!如果有任何的数据截取行为发生,受到威胁的只是当前的这张卡片(单程车票),整个应用系统还是非常安全的、保密的!并且如果截取者要改写钱包数据到这张卡片(单程车票),则如果他不知加密算法,不知该张卡片号(输入量A)、具体钱包金额(输入量B)和应该写入卡片的钱包金额(输出量D)之间的关系,那么写入的数据(输出量D)是无法正确还原到输入量B的。(读写器在读到该数据D后将做DES逆算法,将算出的D和卡片发送的该数据D相互比较,如果不一致,则认为卡片数据已遭篡改!) 

Mifare Light卡存储结构 

    Mifare Light卡共有384位,分为12页,每页为4个字节。存储结构如下:  

关于电子单程双程车票(卡)的数据安全性问题探讨

  ( 注:_b表示取反;AC-A_b为AC-A的取反数值  ) 

    1) 第0、1页存放着Mifare Light卡的序列号等信息,只可读。 
    2) 第2、3页及最后A、B两页数据块,可存贮一般的数据。 
    3) 和4、5页为数值块,可作为重要数据(例如钱包)使用,两字节的值以正和反两种形式存贮。只有减值操作,没有加值操作。如果不做钱包使用,则可以做为普通的数据块使用。 
    4)第6、7、8、9页存储着密码A(6字节)、密码B(6字节)及存取控制AC。 
    5)一次写操作可以操作一个页(4个字节),一次读操作可以操作两页(8个字节)。 
    6)第7页中的2字节(AC-A和AC-A_b)、第9页中的2字节(AC-B、AC-B_b)为数据存储控制字节,存储控制字节以正写和反写的形式各存一次。 

    存储控制字节AC-A和AC-B的数据格式如下,字节(byte)中每个位(bit)如果为“1”,则“使能”相应的功能;反之,如果是“0”,则关闭相应功能。 

关于电子单程双程车票(卡)的数据安全性问题探讨

    例如:如果AC-A的数据=“0xFF”=“11111111”b,则表示: 

      页Data1:可读、可写;  
      页Value:可写;  
      AC-A:可写;  
      Data2:可读、可写;  

二.上海华虹 SHC1102卡 

    上海华虹集成电路有限公司的 SHC1102 集成电路(IC)是非接触式IC卡芯片系列中面向低成本应用的一个产品,它能够用小型天线完成与读写终端之间的射频通信,其技术和测试标准符合ISO/IEC 14443-Type A 的国际标准,具有非常强的经济性和可靠性。SHC1102 芯片适用于轨道交通AFC收费系统中的可回收单程票、防伪无线电子标签、电子门锁、身份识别及代币筹码等领域。 

    主要技术参数  

    1.工作频率:13.56 MHz 
    2.通信速率:106k bps 
    3.调制方式:ISO/IEC 14443  Type A 
    4.工作温度:-20℃至80℃ 
    5.存贮容量:512 bits  
    6.无电池:  无线方式传递数据和能量 
    7.读写距离:在距读卡器天线0-40 mm区域内能正确进行数据交换和完成各项操作 
    8.采用半双工通讯协议 
    9.在无线通讯过程中通过以下机制来保证数据完整  
     i.---每帧有16位CRC检验  
     ii.---每字节有奇偶校验位  
     iii.---检查位数  
     iv.---用编码方式来区分l、0或无信息 
    10.数据安全性  
     i.---相互认证  
     ii.---每张卡的序列号唯一  
     iii.---传输密钥保护 
    11.灵活的的存储结构  
     i. ---512 位EEPROM (16 Blocks × 4 Bytes × 8 Bits )  
     ii. ---分为2个不同访问条件的数据区 ( DATA 1、DATA 2 )  
     iii. ---每个块为最小访问单位,由4个字节组成  
     iv. ---每个芯片可定义自己独立的密钥 (4 Bytes ) 
    12.数据保持时间大于10年 
    13.擦写次数大于10万次 
    14.典型交易时间小于200ms 

数据交易流程  

    当 SHC1102 芯片接收到读写器的指令后,经过指令译码,通过控制逻辑进行数据处理,并返回相应的处理结果。 

    当华虹 SHC1102 位于读写器的有效工作范围之外时,芯片处于无电状态,不能进行任何操作;当其进入读写器的有效工作范围,芯片上电复位,进入等待状态,在此状态下可正确接收和响应读写器发送的询卡/应答指令,并进行相互认证、读、写等操作。  

    数据操作指令 

    询卡/应答  

    读写器通过发出指令来确认是否有华虹非接触式IC卡产品(SHC1102)进入其操作范围,并通过应答确认产品的类型。并由产品类型确定相互之间的通讯协议和通讯速率。卡应在确认被选中后返回卡的用户码(CID)。  

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖