[基于国密SM7算法的电子标签在防伪中的应用] 防伪电子标签
摘要:本文提出了一种基于国密SM7算法的电子标签在防伪中的应用方法。该方法中采用的标签是华虹的SHC1112非接逻辑卡,数据加密算法是SM7算法。通过对标签出厂时写入防伪认证识别码,标签发行时验证识别码,使用时标签的认证码参与扇区密钥分散等手段达到防伪的目的。
Abstract: This paper presents a national algorithm SM7 based on electronic tags in the security of the application method. The label hereinafter featuring SM7 algorithm is contactless logic card SHC1112 of Huahong. To achieve anti-counterfeit, some protection means can be used such as written security certification label ID in factory, verified ID label in release, calculated key with the authentication code label in use.
1 国密SM7算法产生的背景
2007年12月,K.Nohl和H.Plotz在柏林举行的CCC会议上介绍了他们对Mifare Classic芯片进行逆向工程和安全分析的部分结果,公布了Mifare Classic卡用于认证过程的随机数(nonce)产生方法和算法,并指出其中的48比特流密码算法(即CRYPTO1)也已经被还原。2008年,荷兰奈梅亨Raboud大学(NRU)F.D.Garcia领导的研究小组还原出CRYPTO1算法和认证方法,并找到了攻击Mifare Classic系统的有效方法,后续发表其研究结果。
非接触式IC卡的安全问题,已引起国家有关部门和城市运营机构的高度重视。按照国家密码管理的相关政策和规定,政府及重点企业门禁系统,防伪类门票以及电子标签应使用国产密码算法。防伪类电子标签采用SM7算法代替Mifare算法完成流加密。
2 华虹国密SM7算法RFID标签简介
华虹基于国密SM7算法的RFID标签是采用获得国密资质的SHC1112芯片制成的,芯片的国密型号是:SSX0904。
该芯片无线通讯接口符合ISO/IEC 14443 Type A协议的第2和第3 部分。安全协议采用了专用加密算法SM7来保护数据交换的安全。内有高速的CMOS EEPROM。标签的高速RF通讯接口能达到的数据传输速率高达106kbit/s。 标签具有防冲突功能:能在同一时间处理在标签读写器天线的有效工作距离内的多个标签。该防冲突算法确保只选中一个标签,并保证在与选中的标签进行数据交换过程中,不受其它标签进入或离开射频区域的影响。
芯片的特征:
◆ 采用SM7国密算法加密保护数据交互的安全
◆ 三重相互认证体制
◆ 通讯过程所有数据加密以防信号截取
◆ 具有8个相互独立的密钥,支持一卡多用
◆ 每张卡的4字节序列号唯一
◆ 满足10万次擦写,十年数据存储
◆ 可耐受最大工作场强8A/m
◆ 工作温度:-20℃至70℃
◆ 高数据安全性:
◆ 每个Block有16位CRC检验
◆ 每字节有奇偶校验位
◆ 用编码方式来区分0,1或无信息
◆ 符合《ISO/IEC14443-2,ISO/IEC14443-3》
◆ 符合《ISO/IEC DIS9798-2》
芯片结构图,如图1示。
3 SM7电子标签在防伪中的应用
方案原理图,如图2图示。
采用国密SM1分组加密算法进行密钥分散,实现一卡一密;采用国密SM7分组加密算法进行标签与标签读卡器之间的身份鉴别与通信数据加密。
在标签读卡器中,射频接口模块负责读卡器与标签之间的射频通信;MCU负责读卡器内部的数据交换,与后台管理系统及门禁执行机构的数据通信。
SM7/SM1安全模块负责读卡器中的安全密码运算,鉴别标签的的合法性,存放系统根密钥,计算防伪认证码。
数据通讯需要的密钥流由SM7/SM1安全模块产生,流加密在MCU中实现。
SM7 RFID标签的应用过程包括:标签出厂;标签发行;标签的使用。
3.1 标签出厂
采用标签的UID号产生防伪认证识别码,在SM7标签出厂前将防伪认证识别码写入0扇区0块地址的后四字节内,该数据块出厂后不可擦写,由此保证防伪认证识别码的唯一性及合法性。写入信息及位置如图3示。
3.2 标签发行
采用发卡PSAM卡发行标签:出厂的电子标签到了客户手里发卡时,客户首先认证出厂时的用户卡key0;认证通过后,读取0扇区0块的后四个字节,将其送入PSAM卡中,PSAM卡产生并且比对防伪认证识别码,通过则表明是合法的标签。
比对通过后,PSAM卡才能执行发用户卡的指令,产生Key0~key7的密钥。分散因子是UID+防伪认证码+扇区号。采用SM1算法对此分散因子分散得到的密钥作为SM7标签的密钥写入对应的密钥区,此步骤实现了防伪认证识别码参与密钥运算过程。数据区内容根据使用要求写入,标签发行完毕。流程如图4示。
3.3 标签使用
标签在使用时,PSAM卡首先要认证所要读取的数据区的密钥。PSAM卡通过寻卡得到标签UID号,通过对标签UID进行密钥分散产生防伪认证识别码,该防伪认证识别码+标签的UID号+扇区号作为分散因子,采用SM1算法对此分散因子分散得到该数据区的密钥。
PSAM卡采用该密钥对标签指定数据区密钥进行认证,认证通过后用户可以对该数据区进行读写操作。流程如图5示。
4 总结
通过发行标签时写入识别码信息,使用时标签时验证识别码信息,可以达到标签防伪的目的。上述方案表明,华虹基于国密SM7算法的SHC1112非接逻辑卡能够完全适用于低成本的防伪应用中。该方案目前已推广到多种防伪系统中,如门窗标签防伪,图章防伪,门票防伪等。该方案目前已经在这些项目市场得到小规模的使用,并得到了用户的好评。
作者简介
田涛,上海华虹集成电路有限公司,架构工程师。
苏董杰,上海华虹集成电路有限公司,应用工程师。
赫松龄,上海华虹集成电路有限公司,软件工程师
贾峻,上海华虹集成电路有限公司,系统应用总监
谢文录,上海华虹集成电路有限公司,副总经理。