完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
随着电子信息技术的发展,非接触式智能卡(如RFID卡)已经在我们的生活中随处可见。与传统的接触式卡、磁卡相比,利用射频识别技术开发的非接触式智能卡,具有高度安全保密性和使用简单等特点,正逐渐取代传统的接触式IC卡,成为智能卡领域的新潮流。然而,由于RFID系统的数据交流处于开放的无线状态,外界容易对系统实施各种信息干扰及信息盗取。
|
|
相关推荐
2个回答
|
|
鉴于RFID系统数据交流开放的安全性问题,人们做了大量的研究工作,提出了很多安全机制设计方面的建议。在硬件物理实现方面,提出了如:Kill标签、法拉第电罩等方法;在软件系统实现方面,提出了一系列安全协议,如:Hash锁、随机Hash锁、Hash链以及改进的随机Hash锁等方法,而这些方法都是针对RFID标签芯片的制造而设计的,对已经大规模投入使用的智能卡而言,不具备实用性。目前在智能卡应用系统中,比较流行采用兼容ISO/IEC 14443协议的Mifare 1系列智能卡,其本身具有3次相互认证的安全协议,但其安全性仍有漏洞,有必要在它安全机制基础上,引入一种数据加密算法来进一步保障数据通信的安全性。TEA算法作为一种微型的加密算法,有着简单、快速、安全性能好等特点,在电子产品开发领域得到了广泛应用,例如PDA数据加密、嵌入式通信加密等领域,而TEA算法的广泛使用导致产生了针对该算法的攻击方法,所以有必要对TEA算法进行改进。
为此,本文提出利用TEA算法的改进算法——xxTEA算法进行RFID读卡器与RFID智能卡之间密码数据的动态变换,来解决RFID系统应用中所面对的非法读取、窃听、伪装哄骗及重放等攻击。 1 XXTEA加密算法原理 在数据的加解密领域,算法分为对称密钥与非对称密钥2种。对称密钥与非对称密钥由于各自特点,所应用的领域不尽相同。对称密钥加密算法由于其速度快,一般用于整体数据的加密,而非对称密钥加密算法的安全性能佳,在数字签名领域得到广泛应用。 TEA算法是由剑桥大学计算机实验室的Wheeler DJ和Needham RM于1994年提出,以加密解密速度快,实现简单著称。TEA算法每一次可以操作64 bit(8 byte),采用128 bit(16 byte)作为Key,算法采用迭代的形式,推荐的迭代轮数是64轮,最少32轮。为解决TEA算法密钥表攻击的问题,TEA算法先后经历了几次改进,从XTEA到Block TEA,直至最新的XXTEAt。XTEA也称作TEAN,它使用与TEA相同的简单运算,但4个子密钥采取不正规的方式进行混合以阻止密钥表攻击。Block TEA算法可以对32位的任意整数倍长度的变量块进行加解密的操作,该算法将XTEA轮循函数依次应用于块中的每个字,并且将它附加于被应用字的邻字。XXTEA使用跟Block TEA相似的结构,但在处理块中每个字时利用了相邻字,且用拥有2个输入量的MX函数代替了XTEA轮循函数,这一改变对算法的实现速度影响不大,但提高了算法的抗攻击能力,使得对6轮加密次数的算法攻击所需的明文数量由234上升为280,基本排除了暴力攻击的可能性。本文描述的安全机制所采用的加密算法就是TEA算法中安全性能最佳的改进版本——XXTEA算法。 XXTEA的加密轮次视数据长度而定,最少为6轮,最多为32轮,对应的每轮加密过程如图1所示。图1中,+表示求和,+表示异或,>>表示右移,< 从图1中可知,XXTEA算法主要包括加法、移位和异或等运算,它的结构非常简单,只需要执行加法、异或和寄存的硬件即可,且软件实现的代码十分短小,具有可移植性,非常适合嵌入式系统应用。由于XXTEA算法的以上优点,它可以很好地应用于嵌入式RFID系统当中。 |
|
|
|
2 RFID读写器安全机制
整个RFID安全系统的整体框图如图2所示。本系统的设计思路是由上位PC机通过RS232接口控制MCU操作射频模块对Mifare 1智能卡进行操作,再将Mifare 1卡中的数据由MCU进行加解密运算,返回到主机的数据管理系统中。在此过程中,假设MCU与PC后台数据管理系统的数据通信是安全的,那么会被进行安全攻击的环节,就是智能卡与读写器之间的数据交换。 Mifare 1智能卡的安全性能在最新的电子攻击面前变得日益单薄,且已被来自荷兰的黑客破译,考虑到硬件升级的成本过大,本系统在不对基于Mifare 1的RFID读卡器硬件系统进行变动的情况下,将XXTEA算法嵌入到RFID系统中,设置特定的安全机制,以保护RFID数据的安全性。 整个系统的安全机制分为3个部分:对Mifare 1卡的读取控制密码的加密;对存入Mifare 1卡中的数据进行的加密;动态地进行密码的变换。加解密的函数设为: Data_new=BTEA(Key,n,Data) (1) 式中:Data_new为数据进行加解密运算后的值;Key为XXTEA算法的密钥;n是数据组元的个数且用以控制加解密运算,n>0表示进行加密,n<0表示进行解密。在读卡器中,存放4个Key,Key_com,Key1,Key2,Key3分别作为4次XXTEA加解密运算的密钥,其中Key_com,Key1,Key2,Key3为16 byte且是固定在阅读器的存储器之中。根据XXTEA算法的输入与输出数据的长度限制,以2个长整数组元为加解密运算的基本单位,规定控制扇区读写权限的密钥KeyA,KeyB为XXTEA加密结果的前6个字节。 1)对Mifare 1卡的控制密码的加密:由Mifare 1卡特性决定,任意扇区X与扇区Y的控制密码是完全不相关的。由于Mifare 1卡的独一无二的序列号特性,在整个系统所能支持的智能卡系列中,可以规定第X个扇区的密码是与该智能卡的序列号相关的。序列号的得到不需要经历密码校验,而只要对智能卡的操作到达防冲突这一步骤,就可以得到。序列号SNR为4字节,而每次XXTEA加密的数组都为2个长整型的数组,可以规定x扇区的密码为2个SNR所构成的1个64 bit数组与公用密钥Key_com进行加密的结果。假设扇区X的密钥为KeyA,则KeyA为BTEA(Key_com,2,SNR |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2568 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2363 浏览 5 评论
3209 浏览 3 评论
2836 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2787 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
665浏览 1评论
904浏览 0评论
1025浏览 0评论
668浏览 0评论
498浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 17:04 , Processed in 1.288073 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号