基于SM7国密算法的RFID安全应用系统研究
引言
电子标签(RFID)应用系统由电子标签、读写器、中间件及相应的应用系统组成,通常使用低频、高频甚至超高频实现电子标签与读写器的通信。与传统条形码依靠光电效应不同的是,电子标签在读写器的感应磁场内,依靠电磁感应为反馈信号提供能量,完成向读写器发送标签内信息过程,从而实现无须人工操作的物品信息自动化处理功能。RFID技术的快速读写、抗污染能力和耐久性,信息识别的穿透性和无障碍,多应用支持等等的突出能力使这项技术应用日益广泛,而RFID技术与条码识别技术、互联网、通信、红外感应、全球定位、激光扫描、传感网络等信息技术融合,能够构筑一个信息无所不在的物体网络环境(物联网) ,并渗透到每个人的生活当中。因此这项技术正逐步发展成为后条码时代科技发展与应用的先锋,被认为是本世纪最有发展前途的信息技术之一,得到全球业界的高度重视。
随着RFID技术应用的发展, RFID技术在安全领域的应用潜力越发显现:它使我们可以在极短的时间内就能实现对电子标签身份的数字安全认证,并对通过身份安全认证的标签实施信息自动采集、交换及重要数据的加减操作,从而实现电子钱包功能或对附着有安全电子标签物品的安全防伪功能。因而RFID技术与我们之间的关系也越来越密切:乘车要用它,开车要用它,上班要用它,出门要用它,未来出国用的护照也要用它以后买东西可能也会很普遍地用它, RFID将与网路一样与我们的生活息息相关。相比RFID 技术在安全领域诱人的应用前景, RFID技术应用的安全性也越来越被大家所担心,关于电子标签存在安全漏洞的话题越来越多地出现并成为业界探讨的热点。RFID技术由于其固有的先天特性,如: RFID技术采用无线信号进行无接触的双向信息传输,在使用方便和灵活的同时,增加了信息被窃取的风险,而电子标签容量小,在硬件技术上难以给它们提供充分的保护;与有线信道不同,无线信道是一个公开的传输平台,任何人只要拥有相应频段的接收设备,就可以对无线信道进行监听,进而对RFID应用系统进行蓄意攻击。以上种种情况,都给RFID技术的安全应用造成了障碍。
1 RFID应用系统面临安全威胁
RFID应用系统所遇到的安全威胁,要比通常的计算机网络安全问题复杂。事实上, RFID应用系统前端的无线装置和传输协议是系统处理信息的依托,是整个系统的基础,其除了具有无线系统所通用的安全威胁之外,标签也有特定的安全问题。通过非法授权,可以轻易获得RFID应用系统信息的原因在于:
1) 电子标签本身的访问缺陷:由于成本所限,电子标签本身很难具备信息安全保障能力,非法用户可以利用合法的读写器或者自构一个读写器直接与标签进行通信,就能很容易地获取标签内所存数据。
2) 通信链路上的安全问题:RFID应用系统的数据通信链路是无线通信链路,传输的信号本身是开放的。通信链路通常遭到的攻击包括:截取通信数据、业务拒绝式攻击(发射干扰信号来堵塞通信链路) 、伪造标签数据信息等。
3) 应用系统内部的安全问题:在应用系统中,除了中间件被用来完成数据的遴选、时间过滤和管理之外,只能提供用户业务接口,而没有机制保障其内部信息安全。如果将应用系统作为身份识别或秘密载体来使用,由于有巨大经济或政治利益的诱惑存在,应用系统将面对非法访问、跟踪、窃听、伪造、物理攻击、数据演绎、恶意破坏等安全威胁。
2007年底,德国学者Henryk Plotz与美国维吉尼亚大学博士研究生Karsten Nohl利用逆向工程手段,从硬体上破解了Mifare1 (以下简称M1) 芯片所采用的逻辑加密算法[ 1 ] ,并于2008年3月在相关网站上对其破解方法做出披露[ 2, 3 ]。荷兰政府则在2008年2 月发出了相关警告, 称NXP 的MIFARE ClassicRFID芯片可相对容易地被破解。NXP使用Mifare安全算法的M1芯片是一种非接触式逻辑加密卡芯片,主要用于门禁系统访问控制以及一些小额支付。由于其制造成本相对较小(具有处理单元的非接触式CPU卡的制造成本是它的3 - 5倍) ,所以获得了广泛的市场应用,目前已有数十亿张卡的应用覆盖全球范围,因而M1芯片的安全算法被破解对全球范围内的大部分RFID应用系统的信息安全造成了极大的安全隐患。该卡在我国公交、门禁、票证等众多领域中的应用量也已达到1. 5亿张,因而引起我国相关部门的高度重视,并已制定了相关的防范措施以消除该安全隐患。
2 Mifare1芯片安全漏洞
M1芯片的安全漏洞主要存在于:使用该芯片卡片的身份安全认证实质上是卡片与基站芯片之间的认证。而常用的RC500等基站芯片的接口和通信协议是公开的,已经为业界广为熟知。在基站芯片与M1 卡片进行身份认证前,需要通过LoadKey命令将M1卡片内的密码上传并装载到基站芯片中。而这一过程是由终端设备(如读卡器) 主控单片机传送给RC500的一个明文写入的过程,并且单片机对RC500的命令传输是非加密的。这样,一个使用过RC500,并对单片机技术稍微了解的技术人员就能够轻易地通过截获单片机与RC500之间的通信数据来获取M1卡的认证密钥,从而实现对整个应用系统一代密码算法的破解。
在M1卡片安全问题暴露后,有些公司公开宣称已经有了较好的解决办法,其所谓的解决问题法宝就是“一卡一密”[ 5 ] :每一张卡片的每一个扇区密钥都不相同,并在读卡器中安装SAM卡(CPU卡) ,通过SAM卡计算卡片相关认证密钥实现一卡一密或一扇区一密( SAM卡装载相关应用系统的应用根密钥,根据M1卡的唯一序列号分散出每一张卡片的应用认证子密钥)的认证,从而防止因某一张卡片被破解而使整个系统的应用根密钥被破解。这种技术方案在M1卡密码认证密钥被破解之前就已经出现。那么,在读卡器中安装SAM卡,通过SAM卡计算卡片密钥实现一卡(或一扇区)一密是否就安全了呢?一卡一密(或一扇区一密)不但没有增加系统的安全,反而更加大了应用系统的安全漏洞。M1 卡通过SAM卡实现一卡一密(或一扇区一密)的应用密钥,本质上是根据从卡芯片上获取的公开信息(如卡芯片唯一的出厂序号等)以及SAM卡内的应用根密钥,通过相关的加密算法(如3DES加解密算法)发散(计算)获得。但是发散所得的应用密钥需通过终端单片机明文传送给RC500芯片才能完成对M1卡合法性的认证。这样,黑客只要获得一张SAM卡,就能够通过它获得所有应用卡片的所有应用密钥。这种破解,即使采用黑名单机制也难以避免因欺诈(伪造应用卡片)造成的巨大损失,因为非接触式卡信息的前端采集机制与后台黑名单删选处理存在延迟,黑名单机制是一种事后防范机制。在M1卡小额消费日益普及的今天,盗窃者只需将伪卡使用一次,就足以获得比仿造一张伪卡成本高得多的收益,如果M1卡被用于重要门禁系统,其造成的危害性将不言而喻。
3 使用我国SM7密码算法消除安全漏洞
在M1芯片被相关研究人员破解后, RFID业界对M1芯片的安全漏洞、RFID应用系统所存在的安全隐患及其应对策略有了更进一步的研究与思考。而随着我国相关部门对信息安全的关注程度越来越高, M1芯片已被成功破解的消息在2009年初引起了我国相关部门的密切关注,并得到了大量媒体的广泛报道,使我国众多RFID应用企业逐步重视并投入大量资源着手解决RFID应用系统所存在的安全隐患。
2007年,在上海华申智能卡应用系统有限公司参与上海2010年世博会电子门票安全规范制定时,就对M1卡存在的安全隐患(密钥长度、强度不足,身份认证机制有缺陷)提出了我们自己的看法,并在国家密码管理局的指导下,研究使用我国自主密码算法( SM1、SM2、SM7)实现RFID应用系统安全的可能性,同时制定了基于我国自主密码算法( SM1、SM2、SM7 ) 的RFID票证(非接触式逻辑加密卡)应用系统安全解决方案。安全方案通过对RFID电子票证应用系统的数据完整性、合法性验证、访问权限控制、应用系统通信信道安全等方面采取完整的密码安全措施,保证整个电子票证应用系统的信息安全。
{$page$}
4 RFID电子票证应用系统安全方案
4. 1 应用系统访问权限控制
4. 1. 1标签与读写器实现双向身份鉴别:标签的身份鉴别采用SM7国家密码算法加密的三重身份认证机制(身份鉴别所需要的加解密运算只能在读写器的安全模块及标签芯片的安全区域内进行,从而消除M1卡在身份鉴别过程中所发生的密钥泄漏的安全隐患) ,鉴别过程如图1所示。
图1 双向身份鉴别流程
4. 1. 2读写器与中间件的双向身份鉴别:读写器与中间件的双向身份鉴别采用基于PKI密码技术的SSL协议身份认证机制,保证读写器与中间件身份的合法性,从而使攻击者无法通过伪造合法身份侵入应用系统实施攻击。
4. 1. 3标签、读写器访问控制权限:对具有不同安全需求的信息及访问控制权限设置不同的密钥,使具有不同密钥的操作者具有不同的信息读取区域及不同的写入操作权限,以保证标签、读写器所存储信息在面临非法访问、数据篡改、恶意破坏等安全威胁时,攻击者不能进行相关读、写、修改、创建、删除等操作,从而保证敏感信息的安全。
4. 2 系统存储数据的完整性、合法性验证
4. 2. 1数字签名技术:发送方用自己的私钥对发送信息的散列值进行加密并形成数字签名。该技术用于标签、读写器及中间件的源鉴别、完整性服务及不可否认服务。
4. 2. 2数据完整性鉴别技术:对信息采用对称密码算法加密,并用杂凑算法SM3生成摘要信息,使信息数据一旦被改变,其摘要信息也会随之改变,从而保障信息数据的传输及存储安全。采用数字签名、数据完整性鉴别技术,可以保证标签内存储的敏感信息在面临数据篡改、物理攻击、数据演绎等安全威胁时,攻击者得不到明文数据,也无法伪造数据,同时在数据被篡改后也能被及时发现,从而保证敏感信息存储安全。
4. 3 应用系统通信信道安全
4. 3. 1电子标签与读写器之间数据双向传输加密:对电子标签与读写器之间数据双向传输信息采用对称密码算法加密,以保证传输信息在面临窃听、数据演绎等安全威胁时,攻击者得不到明文数据,从而保证敏感信息传输安全。
4. 3. 2读写器与中间件之间数据双向传输加密及数据安全鉴别:对读写器与中间件之间数据双向传输信息采用对称密码算法SM1加密并加入数字签名,以保证传输信息在面临窃听、数据演绎等安全威胁时,攻击者得不到明文数据,传输信息在面临数据篡改等安全威胁时,能及时发现数据被篡改,从而保证信息传输安全。
4. 3. 3密码算法及密钥长度:为了推进我国自主密码算法在RFID应用系统中的应用,我国国家密码管理局特地组织相关安全研究单位制定了既适合非接触式逻辑加密卡使用,又能避免M IFARE算法的安全隐患的我国自主SM7密码加密算法,并且将密钥长度定为128位,以保障算法的安全强度,从而使攻击者无法通过群举等攻击方式获得应用系统密钥,保证应用系统安全。
通过对以上RFID电子票证应用系统的安全方案的剖析可以看出, 该RFID安全应用系统不但消除了M1卡的安全漏洞,而且运用双向身份鉴别、访问控制权限设置、数字签名、数据完整性鉴别、数据传输加密、应用自主加密算法以及将48位密钥增加为128位密钥等安全手段,对已知的攻击手段均提出了相应足够安全的密码防范措施,从而能够最大程度上满足RFID应用的安全需求。该安全方案适用于证件、电子钱包、自动收费系统和公共交通自动售检票系统等多方面应用的安全防护。
5 安全方案的实现及应用示范
基于该安全方案,上海华申智能卡应用系统有限公司与上海华虹集成电路有限责任公司分别研发并生产了SRM0901国家自主安全算法RFID 电子标签读写安全模块、SSX0904( SHC1112)国家自主安全算法RFID芯片(此二款产品均已通过国家密码管理局组织的生产型号安全评审,获准进行生产与销售) ,并在此基础上依据安全方案开发了RFID电子票证应用安全系统,从而实现了:集成完全由我国自主开发密码安全产品构筑我国自主RFID应用安全系统,并以此推动我国RFID 产业、密码安全技术、信息安全实现快速发展的期望。
2009年8月, RFID电子票证应用安全系统在我国商用密码(10周年)成果展的门禁系统中得到示范性应用,并且系统的安全性、易用性得到了与会领导与专家广泛而一致的好评,同时也得到了展会组织单位———国家密码管理局的高度评价。随着M1卡被破解,目前国内的政府机关、军队系统、军工系统、公安系统、国家重点部门及各涉密单位等众多部门门禁系统的安全隐患已显露无疑,将原有M1逻辑加密卡门禁系统更换成更为安全的自主密码算法逻辑加密卡门禁安全系统或自主密码算法CPU卡门禁安全系统已经迫在眉睫。而RFID电子票证应用安全系统在安全性、易用性方面的优异表现(如获得大量推广应用,其成本也仅高于M1逻辑加密卡门禁系统5%左右) ,是国家密码管理局将此安全系统的门禁应用优化方案作为我国重要门禁系统安全改造唯一推荐(逻辑加密卡)方案的原因。
6 结论
本文提出的基于我国自主密码技术的安全方案及相关RFID安全应用系统, 适用于原使用M1卡, 具有一定安全需求的RFID 应用系统安全改造。安全应用系统对于有效防止不法分子利用违法手段进行攻击和破坏、不断提高我国RFID应用安全水平及国家信息安全水平、保证国家利益以及我国自主密码算法的推广应用,具有重大而广泛的现实意义。