DES算法在RFID安全中的应用

2012-09-17 12:30李洪旭刘宇红
通信技术 2012年12期
关键词:读卡器密文解密

李洪旭, 刘宇红

(贵州大学 计算机科学与信息学院,贵州 贵阳 550025)

0 引言

RFID系统由标签(Tag),读写器(Reader)和数据管理系统(DBOS)这3部分组成[1]。标签配备是有天线的微型电路,但通常没有处理器,仅由数千个逻辑门组成;读写器是一个有天线的无线发射与接收设备,它的处理能力、存储空间都比较大; 后台数据库是用户根据系统需求进行选择的数据库系统,存储所有标签的信息, 它通过可信的读写器获得标签发送的信息,具有很强的处理能力和存储空间。一般认为读写器到后台数据库的通信信道为安全信道,标签到读写器之间的信道为不安全信道。因为RFID标签本身具许多特点,如:容量大、体积小、寿命长、标签可重复使用等,并且还支持非可视识别、移动识别系统、快速读写、定位等功能。目前RFID射频识别技术已经广泛应用在商业自动化、办公自动化和大型交通运输设备管理等诸多与生活贴切的领域[2]。

1 RFID目前存在的安全问题

随着射频识别系统应用的不断扩大,RFID的安全问题也逐渐成为人们关注的焦点。在研究RFID射频识别技术的过程中,相信已经有许多研发者已经发现了它所存在的安全隐患。据美国系统网络安全协会(SANS Institute)称一所荷兰大学的研究人员破解了Mifare RFID芯片的安全代码。这款芯片被用于Oyster卡,即英国的公共交通预付费智能卡。据2008年6月24日出版的SANS NewsBites通讯称。Mifare RFID技术也被用在英国政府部门,医院和学校的门禁系统中。据报道,这项研究已被提交给荷兰议会。议会已于今年早些时候推迟了基于同样技术的预付费智能交通卡的实施。据SANS Institute的报告称,荷兰政府也更换了用于政府大楼门禁系统的Mifare卡。所以,加强射频识别系统的安全是不容忽视的问题。目前存在的主要安全问题有,重放、假冒、恶意阻塞、跟踪、窃听、隐私[3]泄露等[4]。

2 解决RFID安全问题的整体设计方案

以S50卡为例介绍本方案的设计思路和流程。S50卡是容量为8K位EEPROM,分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位,每个扇区有独立的一组密码及访问控制[5]。

2.1 标签和读卡器通信设计

读卡器对写入S50卡中的数据进行加密,加密算法采用现在金融行业广泛应用的DES加密算法[6]。读卡器校验从S50卡中的数据,主要是随机数校验、卡的有效性校验、金额的有效性校验、LRC校验等[7]。

图1为标签验证和读卡器加密处理过程,首先标签要验证一下密码是否正确,密码正确以后才能对标签里的数据进行读取和写入,读卡器读取到数据以后,先解密得到真实数据,再对真实数据做校验,校验通过以后就可以使用和修改数据了,最后读卡器产生一个四个字节的随机数加入到标签数据里,进行加密并将加密好的密文写入到标签中[8]。

图1 标签与读卡器通信

2.1.1 DES加密原理

采用基于DES的CBC模式进行加密,攻击者很难从传输的密文数据中分析出有用信息。该算法的不足是密钥长度过短,但是算法本身的结构是没有任何缺陷,破译该算法需要付出一定代价,花费较长时间, 所以至今仍然有着广泛 的应用。对于安全性要求很高的系统可以考虑采用更长的密钥[9],或者DES算法的变种(三重DES算法)

图2 DES基本构架

DES算法原理如图2所示,算法的输入有64位的明文,使用56位的密钥,输出是64位的密文,它使用16轮的混合操作,DES使用相同的算法来对数据进行加密和解密,所使用的加密密钥和解密密钥是相同的,目标是彻底地打乱明文的信息,使得密文的每一位都依赖于明文的每一位和密钥的每一位。

图3 密码分组链接CBC

CBC模式的DES算法特点如图3所示,每次加密的密文长度为64位(8个字节); 当相同的明文使用相同的密钥和初始向量的时候 CBC模式总是产生相同的密文; 密文块要依赖以前的操作结果,所以,密文块不能进行重新排列; 可以使用不同的初始化向量来避免相同的明文产生相同的密文,一定程度上抵抗字典攻击;一个错误发生以后,当前和以后的密文都会被影响。

2.1.2 密文中加入随机数

密文中加入随机数的目的有二,一是加入随机数加密使每次加密后的数据都不一样,这样使得破解起来有很大的难度;二是为了校验卡的有效性,如果用户的卡被非法复制以后,两张卡的随机数不会同步,所以只要同时使用两张卡的话,就会被发现。

2.1.3 标签和读卡器通信流程

标签和读卡器通信流程如图4所示,流程描述如下:

1)当S50卡移动到读卡器上时,读卡器首先进行KEY验证。

2)如果KEY验证成功以后,才可以读取相应扇区的内容,如果KEY验证失败,就不能访问所在扇区的数据。

3)读取到数据以后,首先需要对数据进行解码,解码得到真实的数据。

4)得到真实数据以后,在使用之前需要先对数据进行合法性验证和校验,比如随机数是否和后台一直,是否是黑卡,是否金额被改动过,是否LRC校验通过等。

5)所有校验都通过以后,就可以进行消费或其他交易。

6)做完交易以后,读卡器再重新产生一个随机数,重新对要写入S50卡上的数据进行加密。

7)最后将加密好的数据,再次写入到S50卡中。

图4 标签和读卡器通信流程

2.2 S50卡区域的数据存储结构设计

下面只罗列了钱包区、公共信息区和个人信息区这3个比较重要区域的设计,具体设计如表1、表2和表3所示。

表1 钱包区各个块数据存储结构设计

钱包区主要包含钱包、钱包备份和信息校验数据,钱包区的0块主要用来保存数据有效性的校验数据,保存在卡里的数据是被加密以后的数据,解密之后数据的保存结构和表格中的一致,透资额度不能超过规定值,现有金额备份必须和钱包的金额一致,允许最大值不能超过规定值,随机数必须和系统中的一致,LRC校验必须能吻合才能校验通过。钱包区的1、2块主要是用来保存钱包数据,钱包数据需要符合钱包数据格式存储,所以这两个块的数据不加密保存,但是金额会和加密数据进行校验。不影响数据的保密性。如果破解者改动了1、2块的数据,校验数据的时候就会和0块加密数据中的现有金额备份不符合从而造成校验不通过。

表2 公共信息区各个块数据存储结构设计

公共信息区的0块主要用来保存校验的数据,数据以加密方式保存,解密以后的数据满足表格中的存储结构,读卡器读取标签的时候主要核对一下,黑名单标志是不是规定好的值,如果是就提示说是黑名单卡,随机数是否和数据库中的符合,LRC校验是否正确。

表3 个人信息文件区各个块数据存储结构设计

个人信息文件区,主要用来保存用户的个人信息,这个信息属于个人隐私,所以保存的时候都是以加密方式保存。解密以后满足上表中的数据存储格式,随机数需要和数据库中随机数进行校验,LRC也需要校验。其中有一个不满足都要置成黑卡并报警。

3 测试与分析

如表4所示,解密后换算出上面所列数据以后,校验钱包数据是否是100.00,钱包数据是否超过1000.00,钱包数据是否低于0.00,数据库中的的随机数是否是EF A1 32 D1,前面15个字节的LRC是否是BD。只有所有的校验通过了,这张卡的钱包区的校验才算通过。只要有一个不满足都将卡置黑并报警。

表4 仿真实例(DES密码:12345678,CBC模式加密)

4 结语

此方案有4大优点:①不需要对RFID加任何的硬件,节约成本;②标签里存储的数据是密文,保护用户的隐私;③读卡器读取数据以后对标签里的解密数据包含随机数和各种校验,防止了RFID中金额等敏感数据被任意窜改;④即便卡被复制随机数不同步也会被识别出来。但是也有3个不足:①不能防止卡被复制;②如果真卡一直不刷卡的情况下,不能防止假卡冒充真卡;③如果安全密码和软件加密的密码都被破解也会不安全。

安全问题存在制约着RFID技术的发展与应用,软加密、并融入随机数及合法性校验的思路,不但对标签的要求低,而且大大的提高了RFID应用中的安全性,是一套思路和算法上的改进,将会有广泛的应用前景。当然这套思想也有它自己的局限性,因为目前市场上应用标签的局限性,标签本身的保密性不高,造成了标签里的数据对破解者来说几乎是可见数据,破解者再根据大量的标签数据进行分析和对比,就会有破解卡内数据存储结构和密码的可能性,即便如此,破解者也需要耗费巨大的代价。

[1] 郎为民.射频识别 RFID技术原理与应用[M].北京:机械工业出版社,2006:48-52,59.

[2] 周永彬,冯登国.RFID安全协议的设计与分析[J].计算机学报,2006,4(29):581-589.

[3] 韩立毛,赵跃华,钱宇力.基于RFID技术的物品跟踪识别方案研究[J].通信技术,2009,42(10):142-144.

[4] 孔令荣,樊矾.一种RFID标签信息安全传输协议[J].信息安全与通信保密,2011(07):90-91,94.

[5] 张辉,黄银龙,王占斌.基于RFID技术的跨行业应用数据公共模式[J].通信技术,2011,44(02):123-124,127.

[6] 胡瑛,吕慧强.无线射频系统安全问题概述[J].浙江大学学报,2006,34(03): 327-330.

[7] 李剑,黄银龙,陶鹏.RFID涉车应用基站数据分发系统研究[J].信息安全与通信保密,2011(07):59-60,65.

[8] 周永彬,冯登国.RFID 安全协议的设计与分析[J].计算机学报,2006,4(29):581-589.

[9] 于宇,杨玉庆,闵昊.RFID标签的安全建模及对 EPC C1G2协议的改进[J].小型微型计算机系统,2007,7(28): 1339-1343.

猜你喜欢
读卡器密文解密
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
炫词解密
解密“一包三改”
与淘汰命运抗争 看懂笔记本的读卡器
密钥共享下跨用户密文数据去重挖掘方法*
炫词解密
基于EMV非接通信规范的非接触读卡器设计
多合一读卡器
为二维码识别的献礼之作——评测平治二维码门禁读卡器