时间:2014-10-21 13:39 文章来源:http://www.lunwenbuluo.com 作者:汪浩等 点击次数:
摘 要: 设计并实现了一种基于FPGA的电子密码锁,具有解锁、报警、修改密码、死锁等功能。利用FPGA器件本身具有的并行性和其逻辑电路的本质,实现了高效、可靠的密码锁设计;采用基础电路加模式控制的设计方法,得到了简单稳定且低冗余的电路结构,节省了逻辑资源;提出了一种冗余编码结合掩码加密的硬件加密方法,使得开锁密码在对外部密码存储器读写的过程中难以被泄露,提高了密码锁的安全性。结果表明,设计的电子密码锁具有稳定高效、简单可靠、安全性高等优点。
关键词: FPGA; 电子密码锁; 模式控制; 冗余编码; 掩码加密
中图分类号: TN97-34 文献标识码: A 文章编号: 1004-373X(2014)19-0157-03
Design of electronic password lock based on FPGA
WANG Hao, CHEN Xue-ying
(University of Electronic and Technology of China, Chengdu 610054, China)
Abstract: The electronic password lock based on FPGA was designed and implemented. It possesses the functions of unlocking, alarming, password changing and deadlocking. An efficient and reliable password lock was realized by taking the advantages of parallelism and the logic circuit essence of FPGA. A simple, stable and low redundancy circuit structure was achieved with the design method of basis circuit and mode control, which reduced the consumption of logical resource. A hardware encryption method of combining redundant coding with mask encryption is proposed, which makes it much more difficult to leak the password during the process of reading or writing the extern password memory, and makes the security of password lock enhanced. The result shows that the electronic password lock possesses the advantages of high-stability, briefness, high-efficiency, high-reliability and high-security.
Keywords: FPGA; electronic password lock; mode control; redundant coding; mask encryption
0 引 言
随着人们生活水平的提高,对密码锁的可靠性和安全性也提出了更高的要求。电子密码锁与传统密码锁相比,具有安全性高、成本低、易操作等诸多优点。正因如此,电子密码锁近年来发展迅速,诸如按键式密码锁、卡片式密码锁、以及更加复杂的指纹识别、虹膜识别[1]等密码锁相继出现。目前应用最广泛、技术最成熟的电子密码锁还属按键式和卡片式密码锁,但卡片设备具有易磨损、寿命短、易受外界磁场干扰等缺点,并且一旦卡片丢失,将对密码锁的使用造成极大不便[2]。
FPGA[3]作为发展迅速的现代设计技术,已经被广泛应用于军事、空间、电子消费类产品等领域,是现代密码协议、算法实现的优选平台[4]。FPGA内部算法可以并行执行,且不存在程序跑飞等风险。利用FPGA平台本身的可靠性,李珍等[5]给出了一种基于FPGA的可靠性电子密码锁设计;王卫兵等[6]分析了密码编码总量对FPGA电子密码锁安全性的影响。论文针对当前电子密码锁的发展现状,设计了一种基于FPGA的按键密码锁。为简化电路结构,节省逻辑资源,充分发挥FPGA的可靠性,本文采用了基本电路加模式控制的设计方法;同时提出了一种冗余编码[7]结合掩码加密[8]的硬件加密方法,使得开锁密码在对外部密码存储模块读写的过程中难以被泄漏,从而极大地提高了密码锁的安全性。
1 电子密码锁设计原理
采用6位十六进制数作为开锁密码,外部密码输入正确,能成功指示,输入错误也能清除和重置;连续3次密码输入错误后,系统将死锁,此时密码锁不再响应按键输入信号,只能通过特定解锁信号解除死锁;具有修改密码功能,能够按照特定的流程对开锁密码进行修改。密码锁工作在正常解锁、修改密码和死锁三种状态下,状态转移如图1所示。
图1中,“正常解锁”状态下,按下特定功能按键使密码锁进入“修改密码”状态,密码修改完成后返回“正常解锁”状态;任一状态下连续三次输入密码错误,进入“死锁”状态,此时只有特定硬件解锁信号才能使密码锁返回“正常解锁”状态。
2 基于FPGA的逻辑电路实现
根据密码锁功能需求,密码锁电路原理框图如图2所示。
图2中,灰色方框内为FPGA内部模块,完成整个密码锁的逻辑功能。外接键盘是密码锁的输入设备,包括十六进制密码按键和密码锁功能按键。由于目前FPGA芯片大多基于SRAM架构[9],掉电后程序和数据都会清零,因此需要外接一片密码存储芯片对用户设置的密码进行存储。部分基于FLASH架构的FPGA芯片虽然具有掉电后保存程序的能力[10],但是内部FLASH的读写只能通过JTAG进行,仍旧需要外接密码存储芯片。显示、开锁和报警模块分别实现密码锁的按键位数显示、开锁信号和报警信号输出功能。
FPGA内部电路主要由输入控制、密码比较、输出控制、密码管理和模式控制等模块构成。其中输入控制模块完成对外接键盘信号的键值提取和按键消抖功能;密码比较模块用于对当前输入密码和密码存储模块中保存的正确密码进行比较;输出控制模块用于控制显示模块显示密码输入位数,并针对密码比较结果和当前电路模式,控制开锁和报警信号;密码管理模块负责处理对外部密码存储模块的读/写以及掩码加/解密等操作。当按键输入密码时,密码管理模块从密码存储模块中读取密码,送入密码比较模块与输入密码进行比较;当修改密码时,密码管理模块将按键输入新密码写入密码存储模块,更新密码锁的开锁密码。
联系方式
随机阅读
热门排行