关于城市轨交Ultralight单程票安全升 芯片SHC1103
苏董杰
上海华虹集成电路有限责任公司
【摘要】:由于应用简单及价格低廉等因素,国内有部分城市的轨道交通自动售票系统选用Mifare Ultralight卡作为单程票卡。Ultralight为数据存储芯片,无安全机制,存在容易伪造的隐患。本文介绍了上海华虹集成电路有限责任公司设计生产的SHC1103非接逻辑芯片,并提出了针对Ultralight本身无安全机制等风险问题在自动售票系统中的升 解决方案。SHC1103芯片集成了上海华虹拥有自主知识产权的华虹算法,支持ISO/IECDIS9798-2三重认证机制,该芯片卡相对于Ultralight卡是一种同样具有低成本竞争力,高速度轻量 密码算法IC卡。
1. Ultralight卡
Mifare Ultralight拥有一个与现有Mifare架构完全兼容的512-bit EEPROM读/写存储器,符合ISO-14443A标准。它是NXP公司推出的低成本电子票证解决方案,它是目前市场中价格 的ISO-14443兼容型智能芯片之一,是公共交通票证、景区门票等场合的理想选择,同时也是目前磁条接触式读取设备的 方案。
Ultralight芯片EEPROM存储区容量为512 Bits,分成16个Page,即Page0~ Page15。每个Page由4个字节组成,每个字节有8位。其主要技术参数:符合ISO/IEC14443TypeA非接触通讯方式,操作频率13.56MHz±7KHz;7字节 序列号UID,支持两 抗冲突协议;数据通讯速率106Kbps,数据完整性包含16位CRC、奇偶校验、位编码和位计数;用户可定义EEPROM访问权限,EEPROM数据保存时间大于10年,EEPROM数据擦写次数大于10万次;支持XOA2、COB和Flip-Chip等多种封装工艺,天线输入引脚ESD可达4000V(HBM)。图表1为Ultralight芯片存储区的具体结构示意,其中Page0、Page1以及Page2的字节0和字节1是特殊的数据区,用于存放产品 序列号及其异或校验码,以及制造商信息。Lock0和Lock1定义了OTP Page和Data Page锁定状态,其每一位对应一项锁定功能。Page3为OTP数据区,OTP数据区的所有位在出厂时均为0,由0置1后不可再被改写。Page4~Page15为普通数据区,可以由用户根据Lock字节的设置来进行读或写。
Byte Number | 0 | 1 | 2 | 3 | Page |
Serial Number | SN0 | SN1 | SN2 | BCC0 | 0 |
Serial Number | SN3 | SN4 | SN5 | SN6 | 1 |
Internal/Lock | BCC1 | Internal | Lock0 | Lock1 | 2 |
OTP | OTP0 | OTP1 | OTP2 | OTP3 | 3 |
Data r/w | Data0 | Data1 | Data2 | Data3 | 4 |
Data r/w | Data4 | Data5 | Data6 | Data7 | 5 |
Data r/w | Data8 | Data9 | Data10 | Data11 | 6 |
Data r/w | Data12 | Data13 | Data14 | Data15 | 7 |
Data r/w | Data16 | Data17 | Data18 | Data19 | 8 |
Data r/w | Data20 | Data21 | Data22 | Data23 | 9 |
Data r/w | Data24 | Data25 | Data26 | Data27 | 10 |
Data r/w | Data28 | Data29 | Data30 | Data31 | 11 |
Data r/w | Data32 | Data33 | Data34 | Data35 | 12 |
Data r/w | Data36 | Data37 | Data38 | Data39 | 13 |
Data r/w | Data40 | Data41 | Data42 | Data43 | 14 |
Data r/w | Data44 | Data45 | Data46 | Data47 | 15 |
图表1 Ultralight-EEPROM组织结构
2. 城市轨交单程票应用现状及潜在风险
自动售检票系统(automatic fare collection,AFC)是以磁卡(纸或塑胶介质)或智能卡(接触式IC卡或非接触式IC卡)为车票介质,利用自动售检票机,通过计算机网络实现轨道交通运营自动售票、自动检票、自动收费、自动统计的封闭式票务管理自动化系统。轨道交通单程票指的是出发站到目的站的可回收的单程票,由于单程车票往往票价较低,而车票制作成本较高,因此单程票介质选型是一个比较困难的问题,通常需要考虑如下几个方面的因素:外观尺寸、车票成本、安全机制以及IC卡读写器的兼容性等。
目前国内有部分城市的地铁AFC选用Mifare Ultralight作为单程车票票卡,与非接触逻辑加密卡和CPU卡不一样,Ultralight是一种存储卡,其本身不具备安全机制。为了防止乘客伪造信息造成通行费的流失,AFC售票设备通常会在票卡中写入相应信息的同时,通过单程票交易密钥对写入的信息进行某种加密算法运算,得到一安全报文码(MAC),并将该MAC码写入票卡。但由于Ultralight卡可自由读写,风险存在于可将一张单程票的信息简单地复制到另外一张卡中而实现伪造;更重要的是存储卡中信息明文和MAC码也可被自由读取,存在以穷举等方式破解AFC系统交易密钥的可能!为了解决这一问题,本文提出了采用上海华虹集成电路有限责任公司设计生产的非接芯片SHC1103作为单程票卡的安全解决方案。本方案基于SHC1103芯片的ISO/IECDIS9798-2三重认证机制,且采用硬件华虹算法来实现线路加密保护,还可以做到一卡一密,即使获取卡片子密钥也无法穷举出发卡母密钥,具有极高的 性。
3. SHC1103华虹算法RFID芯片
SHC1103由射频电路、控制逻辑、EEPROM接口和小容量EEPROM组成,是非接触式IC卡芯片系列中面向中端应用的产品。它能够使用小型天线完成与读写终端之间的射频通信,其技术和测试标准符合非接触式卡的国际标准,具有非常强的经济性和可靠性。 SHC1103芯片特别适用于身份识别、小额电子钱包、低容量信息存储及管理、小型一卡通项目等领域。图表2为SHC1103的系统框图,相对Ultralight增加了加解密及认证权限模块,同时根据地铁AFC系统应用的特点取消了抗冲突模块。
图表2 系统框图
SHC1103采用半双工的通讯形式在PCD和PICC之间传输数据,PCD 发出信号,启动通讯。从PCD到PICC的数据传输遵从ISO/IEC14443TypeA,采用 的ASK幅变调制。典型的信号波形如下图表3:
图表3 PCD到PICC的数据传输典型的信号波形
系统的典型数据速率是106Kbps,一个位帧bit frame的长度是9.44μs,Miller编码的脉冲的典型长度是3μs。SHC1103采用改进的Miller编码方式,具体如下图表4所示:
图表4 编码方式
SHC1103芯片EEPROM存储区容量为512 Bits,分成16个Block,即Block0~ Block15。每个Block由4个字节组成,每个字节有8位。图表5为SHC1103芯片存储区的具体结构示意,其中Block0和Block1是特殊数据块,用于存放客户代码、制造商代码与产品 序列号。普通数据块包括密钥块与数据区,其中Block8密钥数据块用于存储认证密钥,数据区可以用来存储用户数据;普通数据块的信息在产品使用过程中,可以根据权限进行读或写。
Byte Block | 0 | 1 | 2 | 3 |
00H | 客户代码(CID) | 制造商代码(MID) |
01H | 序列号(UID) |
02H | 数据区 |
03H | 数据区 |
04H | 数据区 |
05H | 数据区 |
06H | 数据区 |
07H | 数据区 |
08H | 密钥块(KEY) |
09H | 数据区 |
0AH | 数据区 |
0BH | 数据区 |
0CH | 数据区 |
0DH | 数据区 |
0EH | 数据区 |
0FH | 数据区 |
图表5 SHC1103-EEPROM组织结构
4. 安全升 方案
对比分析发现,目前的使用Ultralight作为单程车票票卡的应用系统隐患存在于系统前端,包括用户IC卡和车票读卡器。 ,用户IC卡作为车票信息明文的 存储载体却没有任何安全保护机制,可以自由读写里面的数据,这样不但会影响到整个系统的运营,更严重的是可能会为具有一定专业技术水平的犯罪分子提供侵入AFC系统密钥的危害。其次,车票读卡器内部无发卡母密钥,也不进行子密钥计算和数据加密的操作和处理,只负责发送预写入Ultralight内的数据,可以简单理解为重复地进行着“透明传输”。倘若在卡片与读卡器通信过程中截取了读卡器即将发送的数据,由于没有加密保护理论上可以对数据进行篡改,而卡片端却无法判断接收到的数据是否合法和正确。安全且理想的升 方法是系统前端更换为具有密码认证功能的用户IC卡和读卡器,与此同时原系统的后台运营无需改动,可以继续按照原有方式运行。
我们提出采用集成了华虹算法,且支持ISO/IECDIS9798-2三次传送鉴别相互认证机制的SHC1103芯片来满足升 需求,同时配套使用上海华虹设计生产全兼容NXP-RC531的SHC1509读写芯片来提供硬件华虹算法的加解密处理。由于使用了密码算法对数据信息进行加解密保护,所以在用户IC卡和读卡器上都分别存放了对应的密钥,在读卡器上可具体表现为实时在线密钥或安全模块(PSAM卡)的形式。实时在线密钥或安全模块提供系统应用母密钥,通过华虹算法对每一张SHC1103芯片内部 或特征值(如UID)进行加密分散出卡片子密钥,将该子密钥写入SHC1103的Block8密钥数据块内用于认证,这样真正做到了一卡一密。实际应用过程中,采用华虹加密算法进行SHC1103与读卡器之间的身份鉴别与通信数据加密,同时每张卡片都拥有自己的子密钥从而也提高了整个系统的安全等 。
方案原理框图如下图表6所示:
图表6 非接触式IC卡应用系统
5. 总结
非接触式卡在全世界公共交通领域的成功应用已是尽人皆知的事实,它使用快速、方便、简单、安全。随着我国经济的发展,很多城市都在建设地铁,希望提供给城市居民方便、廉价、快速的公共交通。在大力发展城市轨道交通的同时,现有Ultralight票卡的“透明”性及安全机制问题也日渐突显,这也是目前很多地铁公司给予重视并急需解决的课题。
上海华虹非接单程票芯片SHC1103,采用半双工通讯协议,无线通讯过程中通过CRC、奇偶校验及信道监测机制来保证数据完整。EEPROM容量为512 bits,EEPROM编程时间典型值为3.26ms,典型票务交易时间小于100ms。数据安全性支持ISO/IECDIS9798-2三重认证,认证后的流程中所有数据均使用华虹算法加密以防止信号截取。可靠性方面,EEPROM数据保持时间大于10年,可擦写次数大于10万次,天线输入引脚ESD可达4000V(HBM)。同时支持XOA2、COB和Flip-Chip等多种封装工艺,可以方便地制作成TOKEN或薄卡形式的地铁单程票。
本升 方案采用上海华虹设计的自主加密算法芯片SHC1103,配套使用SHC1509射频读写芯片,在安全性方面较Ultralight应用具有更好的可靠性保证。方案中SHC1103的数据访问权限与安全机制有如下特点:1.可读数据区提供与Ultralight相似的自由度,即在密钥未认证前可自由读取Block0~ Block7数据,但无权进行写操作;只有通过密钥认证后,才可以进行Block2~ Block15的读/写操作。2.当PCD选定要处理的PICC之后,PCD与PICC之间要进行三次相互认证,确认双方使用相同的加密算法和密钥,认证过程如下图表7所示:
图表7 认证过程
对于新建地铁AFC系统可以直接采用该方案,而对已使用Ultralight的地铁AFC系统则需要更换读卡器及用户卡SHC1103,上述两种IC卡均符合ISO/IEC14443TypeA非接触通讯方式,相关指令也符合同样的标准,所以后台运营管理系统原则上可以保留。以上采用华虹算法非接逻辑加密芯片SHC1103的地铁AFC系统已成功应用于上海地铁项目,同时也正在向其他城市地铁AFC系统中推广。