一种改进的加密算法射频卡读写系统设计

2017-07-27 07:21张开生王吉
电脑知识与技术 2017年11期
关键词:射频卡读写器微控制器

张开生+王吉

摘要:该文以嵌入式系统芯片为主控制器,实现读卡器数据读写与算法的优化升级。重点介绍MF-RC500射频卡读写系统的硬件与软件的整体设计。硬件上,研究分析了系统硬件的工作原理、设计方法,通过计算确定硬件最佳阻抗大小,绘制读卡器电气接线图;软件上,完成了主控程序的优化升级设计,利用cast5算法,对数据进行加密。本文介绍的射频卡读写系统,拥有容错处理、键盘操作中断相关函数、上位机软件。利用不同模式间的相互转化使系统功耗降低,程序运行速度得到优化。实验证明,本文设计的系统稳定可行,有较强可移植性。可适用于考勤系统、自动售水系统、公交車收费系统等。

关键词:微控制器;读写器;射频卡;MF-RC500;加密

随着人们生活水平的不断提高与RFID技术的日趋成熟,RFID技术越来越多的的被应用于人们的日常生活中。例如人们通常使用的公交卡、银行卡、电话卡和门禁卡等。虽然给人们的生活提供了方便,但是一些不法分子利用非法手段盗取人们的信息来牟取暴利,给人们的生命财产带来极大的安全隐患,所以射频卡的安全性一直是社会关注的热点。现在市场上常用的安全措施加密过于简单,这种加密方式十分容易被不法分子破解,进而伪造假的数据,给用户造成无法估计的损失。

本文利用cast5算法,对数据进行加密。明显提高读卡器的信息安全性,并对数据读写与算法的优化升级。本文还对MF-RC500射频卡读写系统的硬件与软件的整体设计。确定硬件最佳阻抗大小,绘制读卡器电气接线图;完成了主控程序的优化升级设计,本文介绍的射频卡读写系统,拥有容错处理、键盘操作中断相关函数、上位机软件。利用不同模式间的相互转化使系统功耗降低,程序运行速度得到优化。

1系统总体设计

RFID的信息安全防御系统主要组成如图1所示。

主控芯片使用有较强数据处理能力的嵌入式芯片smart210,主控芯片与读卡器进行数据交互实现接受发送控制命令、信息数据流的处理接收;对数据库进行操作,实现相关数据的储存、读取。

根据系统需求进行选择的数据库系统存储所有标签的信息。标签发送其相关信息给读写器并与数据库进行数据交互,数据库为系统提供了足够大小的数据储存空间,并具有强数据处理能力。

RFID标签储存着RFID系统的相关信息,RFID标签通过耦合线圈的收放电,使RFID标签可以通过无线电与读写器进行通信。

RFID标签读写器是用于读写RFID标签的设备。

2硬件设计

射频识别技术(RFID,Radio Frequency Identification)是一种通过空间耦合无线电识别特定频率电磁波的非接触式的自动识别技术。标签处于读卡器可读写的磁场范围,读卡器通过耦合,无线电对RFID卡进行充电,为RFID卡提供电力支持,RFID卡再通过无线电与RFID读写器进行数据交互。在识别过程中无需建立光学或机械连接。

基于MF-RC500的读写器设计分为:MF-RC500设计、天线以设计及外围连接电路设计。

2.1MF-RC500芯片介绍

基于ISO/IEC 14443A标准的非接触式通信的MF-RC500射频卡读写芯片具有成本低、集成度高和良好的抗干扰能力,适合各种类型的物流管理、识别认证、钱款支付等场合、实用性强。Mifare卡基于13.56MHz非接触通信模式与读卡器进行数据交互,MF-RC500模块驱动13.56MHz天线,与Mifare卡进行通信,通信最大距离为10cm。

2.2天线设计

天线发射能量产生的电磁场区域一般就是射频卡读写器的可识别范围。因此要控制设计读写器的可识别读写范围,就需要对天线的相关参数的大小进行设计计算。为实现节约成本和减小体积,天线采用直接在PCB板制成的微带天线。MF-RC500的工作频率f是13.56MHz,所以采用适用于短波段通信的环形天线。在半径R,匝数N,通过线圈的电流强度为,以天线几何中心为中心,则距离中心x处的磁场强度可表示为(1)式:

由于PCB板制作要求及电路常用电压电流的局限,所以设计的电流强度I的大小一般不变,PCB板制作的外形及大小的限制下,线圈匝数N也不便更改,一般为3。则由公式可得天线半径是影响天线磁场强度主要因素。且半径过大,天线中心的磁场强度会很小,但过于小的半径,工作范围会不足以支持读写器正常工作。经综合计算,直径在15cm左右的圆形天线最为合适。为便于布板且矩形天线与圆形天线有类似的性质,所以采用矩形天线。则天线选择匝数为3,边长10cm的矩形天线。

2.3天线的匹配电路设计

在无线电系统中,连接发射电路与天线的同轴电缆一般阻抗为50Q。匹配电路可以使天线复阻抗转换为适合阻抗50Ω。天线等效为1个电感L与电阻R的串联,再与电容c并联,如图2所示:

天线设计重要参数品质因子Q与电流强度成正比关系。高品质因子Q能大大改善读写器传输功率,但品质因子Q过高会削弱天线传输带宽,使数据传输的正确性受到影响。MFRC500的读写器工作的波特率为109.5kHz/sec,数据传输使用Miller码脉宽T=3pus。脉宽为T脉冲,频域图如图3所示:

2.4系统整体电路图设计

微控制器选用嵌入式芯片smart210,一般工作电压在+5V,所以通过DC电源转换器将+220V电压降为+5V。采用IIC总线使主控芯片与读写器通讯。主控芯片同串口与报警器、显示器进行数据交互。数据库与主控芯片通过网络读写相关数据信息。系统整体电路图如图6所示。

3软件设计

3.1主控程序设计

为提高可移植性,便于在不同系统中应用,本系统拥有容错处理,键盘操作中断相关函数,上位机软件。利用不同模式间的相互转化使系统功耗降低,程序运行速度得到优化。使其适用场合更为广泛。主控程序流程图如图7所示:

主控程序包括,防冲突机制,冲突队列等待机制,三次相互验证,伪卡报警,睡眠模式与读写模式转化,数据读写,数据库数据互联,按键操作模式转化与数据的更改,与上位机互传数据程序。

RFID标签进入RFID读写器范围,读卡器自动从睡眠模式转化为读写模式,执行防冲突机制,若卡片多于一张,选择其中一张,其他卡片加入等待队列。对所选择的卡片进行身份认证,若为假卡报警,若为真卡进行相应的读写操作,及数据库互联数据交互。

3.2读写卡加密操作程序设计

系统程序采用灵活性及较高的可移植性C语言编写,使用keil C编译环境。

本文加入的CAST5加密算法,是一些对称Feistel网络密钥块密码,具有64位块大小,密钥大小在40到128位之间。当密钥大小超过80位时,使用全部16个回合。组件包括基于弯曲功能的大型8x32位S盒,按键依赖旋转,模块加法和减法以及XOR操作。有三种交替类型的圆函数,但它们的结构相似,仅在各点的精确运算(加法,减法或异或)的选择上有所不同。

一般通过微分密码分析、线性密码分析、密码相关分析很难解析CAST5加密的数据,不存在软弱或者半软弱的密钥,且符合SAC、BIC等标准。因此对于整个RFID系统而言,满足密码强壮、且所需空间小的需求。

4系统测试分析

对系统进行在线测试。通过主控计算机进行系统监控,在主控计算机上,设置有不同的数据读写选项,用于对读卡器的效果检测,上位机测试界面如图8所示。根据实际情况在上位机上设定读卡器所读信息量,写入相应信息,只需在对应的输入框中填写相应的信息并点击确定按钮。

5小结

基于RFID技术的射频卡读写系统基于MFRC500进行开发。在添加容错处理,加入操作中断函数和上位机控制驱动的基础上,实现了CAST5加密算法对信息数据进行加密,经过检测,本系统设计稳定可行,有较强可移植性,可适用于考勤系统、自动售水系统、公交车收费系统等,有推广价值。

猜你喜欢
射频卡读写器微控制器
水电双计节水灌溉RTU的设计
物联网技术在微控制器实验教学中的应用
基于视频抓拍读写器的高速公路防倒卡研究
Atmel针对新一代物联网应用发布全新32位微控制器
最新STM32设计工具增加对混合信号微控制器的支持
意法半导体(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
基于随机时隙的RFID读写器防冲突方法
RFID网络读写器冲突避免MAC协议
基于Intel R1000的超高频RFID读写器设计