《基于IC卡技术的高安全性门禁系统.pdf》由会员分享,可在线阅读,更多相关《基于IC卡技术的高安全性门禁系统.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机与现代化2007年第3期J ISUANJ I YU XI ANDA IHUA总第139期文章编号:100622475(2007)0320118203收稿日期:2007201229作者简介:胡伟(19822),女,江西南昌人,武汉理工大学信息工程学院硕士研究生,研究方向:电路与系统;杜谦(19622),男,湖北武汉人,副教授。基于I C卡技术的高安全性门禁系统胡 伟,杜 谦(武汉理工大学信息工程学院,湖北 武汉430070)摘要:研究并设计了一种可联机使用也可单独使用的高安全性无线IC卡读写模块,它以AT89C51单片机为微控制器,以MF RC500芯片为I C卡读写器,构建出了一个使用简
2、单、可联机操作也可单机使用的IC卡读写系统,并对系统中基于MF RC500芯片构成的读写模块,以及微控制器与读写芯片的通讯方式作了详细介绍。本系统的最大特点在于其高安全性的数据加密算法。关键词:非接触式I C卡;单片机;MF RC500;数据加密算法中图分类号:TP273 文献标识码:AEmbedded Access Control System Based on IC Card TechnologyHU Wei,DU Qian(School of Information Engineering,Wuhan University of Technology,Wuhan 430070,China
3、)Abstract:A high security access control system based on IC card technology is designed and realized in thispaper.TheAT89C51microcomputer used asmicro2controller and theMF RC500 r/w chip constitute the system which can operate on2line or not.Thereading and writingmodule based onMF RC500 chip and the
4、 communication between the module and themicro2controller are de2scribed in detail.The mostmajor characteristic of this system is its data encryption algorithm of high security.Key words:non2contact2type IC card;single chip microcomputer;MF RC500;data encryption algorithm0 引 言随着门禁系统的发展,它要求更高的安全性、可靠性
5、、高效性、灵活性和方便性。传统的门禁系统由专门的工作人员对出入人员进行登记放行,这种方法费事、费力又容易出错,而且管理不严格,已经不能满足当前的需要。随着微电子技术的发展,门禁系统逐渐由原来的机械门锁,演变到现在的门禁管理1。目前门禁系统大多使用的是I D卡系统,使用时通过对比主控制器数据库中数据和每张I D卡出厂时就具有的固定序列号,来决定进出门的权利。在这样的系统中,I D卡一旦丢失,那么需要修改在主控制器数据库中的数据才可以消除此卡权限,很不方便。而利用IC卡易擦写性的特点,可以很好地避免此类问题,并且IC卡中还有一定的存储单元,除去必要的密码数据外还可以存储另外一些信息,比如持卡人的信
6、息等,这就方便了管理方的工作,使系统的设计更加智能化。此外,在此系统的设计过程中充分地考虑了安全问题,数据传输时采用数据加密算法,写入卡中的数据为含密钥的数据,控制器在收到含密钥的数据后再进行解码工作,这种方式必然会提高系统的安全性。1 非接触式IC卡工作原理非接触式IC卡可用以存储数字、字母编码信息,具有智能读写和加密通信的功能,卡中存储的需要识别、交互的数据可以随时写入、更改或擦除。它通过无线电波与读写设备进行数据交换,不需要电气触点,读写频率高2。卡中的集成电路除了带加密逻2007年第3期胡伟等:基于IC卡技术的高安全性门禁系统119辑、串行EEPROM(可擦除、可编程只读存储器)、微处
7、理器CPU外,还带有射频收发及相关电路。无源非接触式IC卡框图如图1所示。非接触式I C卡接收射频脉冲,经整流给电容器充电,再经稳压后作为工作电压。数据解调部分从接收到的射频脉冲中解调出数据送到控制逻辑,控制逻辑接受指令完成存储、发送数据或接收读写器的数据3。图1 无源非接触式IC卡框图系统以13.56MHz的工作频率,半双工方式在读写器与IC卡之间双向传递数据。读写器将要发送的信号,编码后加载在频率为13.56MHz的载波信号上经天线向外发送,进入读写器工作区域的IC卡接收此脉冲信号,一方面卡内芯片中的射频接口模块由此信号获得电源电压、复位信号、时钟信号;同时卡内芯片中的有关电路对此信号进行
8、调制、解码、解密,然后对命令请求、密码、权限等进行判断,若为读命令,控制逻辑电路则从存储器中读取有关信息,经加密、编码、调制后经卡内天线发送给读写器,读写器对接收到的信号进行解调、解码、解密后送至后台计算机处理4。若为修改信息的写命令,有关控制逻辑引起的内部电荷泵提升工作电压,提供擦写EEPROM时所需的高压,以便对EEPROM中的内容进行改写。若经判断其对应的密码和权限不符,则返回出错信息与接触式IC卡相比较。2 系统硬件设计系统工作前,通过读写器中的写卡功能对所有的I C卡写入指定的数据,在正式的工作中,由读写卡模块的读卡功能将放入感应区的IC卡中的数据读出,并将数据传输到微处理器中,然后
9、再由微处理器通过对比判断读卡模块上传的数据是否正确,最后根据微处理器得出的结果决定是否开门。系统的原理框图如图2所示。图2 系统原理图2.1 读写卡模块IC卡读写模块中采用的芯片是MF RC500,它的并行微控制器接口自动检测连接的8位并行接口的类型,它包含一个易用的双向FIFO缓冲区和一个可配置的中断输出,这样就为连接各种MCU提供了很大的灵活性,即使使用非常低成本的器件也能满足高速非接触式通信的要求。数据处理部分执行数据的并行串行转换,它支持的帧包括CRC和奇偶校验,它以完全透明的模式进行操作5,因而支持ISO14443A的所有层,状态和控制部分允许对器件进行配置以适应环境的影响并使性能调
10、节到最佳状态,当与M I2FARE Standard和M IFARE产品通信时,使用高速CRYPTO1流密码单元和一个可靠的非易失性密匙存储器。模拟电路包含了一个具有非常低阻抗桥驱动器输出的发送部分使得最大操作距离可达100mm。接收器可以检测到并解码非常弱的应答信号6,由于所采用的接收器已不再是限制操作距离的因素,在此使用的I C卡读写模块具有比较大的科学先进性,比以往使用的I D卡系统拥有更高的性能。2.2 微处理器模块在微处理器上采用了AT89C51单片机为处理芯片。由于系统中IC卡方面的功能已经可以用RC500处理,处理器只负责对读写器的读写和外部通讯,所以此单片机完全符合上述功能。微
11、处理器的P0口连接读写卡模块的一些控制信号端口,P1口连接读写卡模块的数据和地址端口。在单机连接使用时可直接使用微处理器的串口,如果是多机连接时,可再加入串口转RS485模块,这样对每一个使用的系统进行编号处理就构成了多机的联机使用状态,非常适合使用在大型的商场和住宅小区。3 软件设计在系统的主程序流程图中主要画出的是微控制器的程序流程,而加密算法作为一个子程序嵌入到主程序当中。在此系统中,微控制器中的程序使用的是C语言,但在编写数据加密系统中使用的是专用的编图3 主程序流程图写程序。由于两种编程语言使用的并不是相同的语言,如何将两种语言在同一系统中体现出各自的功能120计 算 机 与 现 代
12、 化2007年第3期是本系统软件编写的重点和难点。本系统主程序流程图如图3所示。3.1 微控制器软件设计此模块中的设计主要是I C卡模块与微控制器之间的通讯设计。其中重要的是密码的写入与读写的操作过程。以下便是本模块的部分原始程序。装载密码的应用程序:uint8 PCDLoadKey(uint8 KEYAB,uint8 SecNr,uint83Key)uint8 Status;SerBfrCMDTYPE=1;/对IC卡存储芯片写时续操作SerBfrCOMMAND =E;/定义数据长度SerBfrLENGTH =8;/写入卡的密码数据SerBfrDATA =KEYAB;/进行加密操作SerBfr
13、DATA+1=SecNr;memcopy(&Ser BfrDATA+2,Key,6);/对写入的数据进行验证Status=R500_Cmd(SlvAddr);if(Status=OK)/判断加密操作Status=SerBfr STATUS;return Status;写读卡芯片寄存器的应用程序:uint8 PCDW riteReg(uint8 RegAddr,uint8 RegValue)uint8 Status;SerBfrCMDTYPE=1;/对IC卡存储芯片写时续操作SerBfrCOMMAND =F;/定义数据长度SerBfrLENGTH =2;/定义写数据的地址SerBfrDATA =
14、RegAddr;/调整地址SerBfrDATA+1=RegValue;/调用写数据程序Status=R500_Cmd(SlvAddr);if(Status=OK)/验证数据正确性Status=SerBfr STATUS;return Status;读读卡芯片寄存器的应用程序:uint8 PCDReadReg(uint8 RegAddr,uint83RegValue)uint8 Status;Ser BfrCMDTYPE=1;/对I C卡存储芯片写时续操作Ser BfrCOMMAND =G;/定义数据长度Ser BfrLENGTH =1;/定义读数据的地址Ser BfrDATA =RegAddr
15、;/调用读数据程序Status=R500_Cmd(SlvAddr);if(Status=OK)Status=SerBfr STATUS;if(Status=OK)/验证数据正确性3RegValue=Ser BfrDATA;return Status;3.2 数据加密软件设计私钥加密算法和哈希值加密算法是本设计中用到的加密方法。其中私钥加密中使用单个私钥来加密和解密数据。哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值,哈希值是一段数据唯一且极其紧凑的数值表示形式。在本系统中,数据在读卡系统和微控制器之间相互传输,微控制器接受由读卡系统发送来的用户数据。数据在
16、读卡系统中,首先对要传送的数据使用哈希算法将得到数据的哈希值,然后使用用户的自有私钥密码对数据和使用哈希算法得到的哈希值加密,然后传到微控制器中,再由微控制器对得到的数据进行解密,恢复传输的原始数据。本模块的设计主要使用的是数据加密算法的专业编程语言。功能是将I C卡模块中的数据进行加密处理,然后将加密的数据传出和对接受的数据进行解密处理。但由于两种语言的不一致性,通过微处理器读取的数据不能直接通过加密算法进行加密处理,所以在此程序中特意编写了与微控制器通讯的通讯端口,将微处理器得到的数据通过此端口传入数据的加密算法程序中,对数(下转第123页)2007年第3期周卫民:ERP系统实施 BOM系
17、统实施要点分析123解工厂订单编号,业务人员与客户沟通得不够,订单双数和型体资料无法肯定,经常作修改。请注意图5第二组文本框中“型体编号”文本框,曾发生过订单预计用计算后型体编号发生改变的事。存在重算预计用量时,用量会发生改变。图5 订单主档维护图3 结束语本文在参与制造业ERP软件开发的基础上写成,该ERP软件先后在制鞋、制衣等行业的多家大型OEM企业成功实施,已经形成较为成熟、有自主知识产权的产品。通过对ERP环境下BOM的应用和实践分析,进一步研究了BOM的关键理论和方法,以使其更适应我国的国情和生产力,并在工程等制造业ERP系统中进行了应用,取得了很好的效果。参考文献:1 罗鸿,王忠明
18、.ERP原理设计实施(第2版)M.北京:电子工业出版社,2003.2Zhe Zhang,Matthew K O Lee,Pei Huang,等.A frame2work of ERP systems implementation success in China:Anempirical study J .International Journal of ProductionEconomics,2005,98(1):56-80.3Jorina Choy.SAP racesOracle in ERP deploymentN.A2sia ComputerWeekly,Singapore:Mar 7,
19、2005.1(上接第120页)据进行加密处理后,再通过此端口将数据传到微处理器中,这样就方便两种语言进行数据的转换和传递。以下便是本模块软件设计的部分原始程序。生成对称密钥:TripleDESCryptoServiceProvider TDES=new TripleDESCryp2toServiceProvider();TDES.GenerateI V();TDES.GenerateKey();生成不对称密钥:RSACryptoServiceProvider RSA=new RSACryptoServicePro2vider();/Save the public key information
20、 to an RSAParametersstructure.RS AParameters RS AKeyInfo=RS A.ExportParameters(false);将不对称密钥存储在密钥容器中:CspParameters cp=new CspParameters();cp.KeyContainerName=ContainerName;RSACryptoServiceProvider rsa=new RSACryptoServicePro2vider(cp);/得到保存的密钥RSACryptoServiceProvider rsa=new RSACryptoServicePro2vide
21、r(cp);rsa.ToXmlString(true);/删除保存的密钥rsa.PersistKeyInCsp=false;rsa.Clear();4 结束语现代门禁系统融合各种先进的技术,作为一种出入口安全管理手段,正在得到越来越多的应用。本设计应用成熟的I C卡技术结合数据加密,能很好地达到设计要求,体现了方便、安全、可靠、高效的门禁系统设计理念。本系统的研究正是基于以上几个需求而开发的。目前本系统的调试已经初步完成。由于系统留有通讯扩展接口,所以本系统也可以作为一个小系统,搭配相应的软件就可以应用于大型的带网络的系统中,比如住宅小区、大型商场以及大型的办公楼等。参考文献:1 黄筱霞.I C卡门禁系统 J.北京工商大学学报,2003,33(4):6267.2 张明鸣.体育场门禁系统的设计 J.东北大学学报,2005(3):167173.3 李岩.基于S3C44B0X嵌入式uCLinux系统原理及应用M.北京:清华大学出版社,2005.22147.4 赵冬艳.智能(I C)卡技术全书M.北京:电子工业出版社,1996.52257.5 李战明.基于串行接口芯片的单片机智能控制器的设计与实现J.电子技术应用,1999(12):6667.6 宋红梅.非接触式IC卡门禁考勤管理系统J.机车车辆工艺,2002(4):2528.