期刊鉴别 论文检测 免费论文 特惠期刊 学术答疑 发表流程

基于FPGA的电子密码锁设计(2)

时间:2014-10-21 13:39 文章来源:http://www.lunwenbuluo.com 作者:汪浩等 点击次数:

  上述输入控制、密码比较、输出控制、密码管理等模块足以保证上锁、解锁这一基本功能得以实现。然而本文设计要求中还包括修改密码和死锁报警功能,使得电路逻辑更加复杂。为此,本文采用一种基础电路加模式控制的方法来设计密码锁,就是将一个功能相对复杂的逻辑电路划分为几个相对独立的工作模式,针对不同模式分别设计电路模块;然后综合各个模式共用的电路模块作为基础电路,并引入模式控制模块对基础电路的工作模式进行有效的管理。具体到本设计当中,整个密码锁可以分为正常解锁、修改密码和死锁三种模式。其中正常解锁和修改密码的流程分别如图3(a)和图3(b)所示。

  如图3所示,在正常解锁和修改密码模式下,都需要完成按键输入、原密码读取、密码比较、密码输入错误计数、显示输出等功能。因此基础电路可以由图2中的输入控制、密码比较、输出控制、密码管理等模块构成,而模式控制模块负责控制基础电路在不同模式间进行切换。例如,在正常解锁模式下,基础电路按照图3(a)中的流程工作;按下修改密码键,模式变为修改密码,基础电路工作流程如图3(b)所示。

  基础电路中各个模块在不同模式下各司其职,分模式复用,不会产生冗余的功能模块;模式控制模块统领全局,控制整个基础电路的模式转换。因此,采用上述设计方法,可以简化电路结构,节省逻辑资源,使得逻辑流程更加清晰,便于电路结构和功能的拓展。

  3 密码锁安全性设计

  安全性作为密码锁的首要特性,一直以来都是密码锁设计的重点。然而以往基于FPGA的密码锁都是参考机械式密码锁的方法,通过提高密码位数来提高密码的破译难度[6]。但是由于基于FPGA的电子密码锁与机械密码锁构造的不同,这种方法对FPGA密码锁安全性的提高并不全面。前面已经提到,由于FPGA芯片数据掉电易失的特点,必须将密码锁的正确密码存储在外部密码存储器中,每次解锁都需要从密码存储器中读取正确密码与按键输入进行比对,这就使得正确密码很容易在密码存储器读写的过程中被泄露出去,严重影响密码锁的安全性。为解决这一问题,本文提出一种冗余编码结合掩码加密的硬件加密方法,该方法能够大大降低开锁密码泄露的可能性。

  3.1 设计原理

  所谓掩码加密,就是将原开锁密码[K]同一未知掩码[M]进行异或运算,再将运算得到的新开锁密码[K]存储在密码存储模块中,如:

  从上式中可以看出,由于掩码[M]未知,即使在密码读取的过程中[K]被泄露,也无法得到原开锁密码[K;]解锁过程中只需要将[K]再次与掩码进行[M]异或运算,就能得到原开锁密码[K。]然而上述掩码加密方法还存在一个不足,就是当掩码[M]取值数量较少的时候,加密效果将会受到很大的限制。如前所述,密码锁的密码为6位十六进制数。一般编码方式将这6位密码分别以4 b二进制数的形式进行编码,对应掩码[M]一共只有24种取值,被破解的风险就比较大;而掩码[M]一旦被破解,掩码加密对原密码[K]的保护作用也将不复存在。

  为解决这一问题,本文在掩码加密之前对密码进行了冗余编码,即用16 b二进制数对原密码进行编码。这样一来,掩码[M]为一个16 b二进制数,具有216种取值,被破解的概率大大降低了。

  如表1所示,一个未知十六进制数[K,]经过冗余编码和掩码加密处理,即使掩码加密后的密码泄露,但由于掩码未知且掩码数量巨大,原密码[K]的值也无法被破解。由此可见,采用冗余编码结合掩码加密的设计方法,密码锁的安全性可以得到极大的提高。

  3.2 设计实现

  如前所述,图2中密码管理模块在正常解锁模式下,从密码存储模块中读取正确密码;在修改密码模式下,负责处理如图3(b)所示的修改流程,并将新密码写入密码存储模块。除此之外,密码锁的掩码加密也需要在密码管理模块中完成,其内部框图如图4所示。

  输入控制模块提取按键信号并对其进行冗余编码。正常解锁模式下,逻辑控制模块控制读写控制模块读取密码存储模块中的正确密码,经过掩码解密后与输入控制模块生成的冗余码同时输入密码比较模块进行比较;修改密码模式下,逻辑控制模块按照图3(b)中的流程完成新密码的输入,并将掩码加密后的新密码写入到密码存储模块。

  4 结 语

  本文设计了一种基于FPGA的的电子密码锁,具有解锁、报警、修改密码、死锁等功能。由于电路逻辑流程较为复杂,本文对电路进行分模式设计,综合各模式电路得到基础电路,再在基础电路之上加入模式控制模块的设计方法,从而避免了冗余模块的产生,节省了逻辑资源,并得到结构简洁、逻辑清晰的电路设计。该方法对于基于FPGA的复杂电路的设计具有借鉴意义。同时,针对FPGA器件数据掉电易失的特性,提出了一种冗余编码结合掩码加密的硬件加密方法。该方法使得在对外部密码存储模块读/写的过程中开锁密码难以被泄露,从而提高了密码锁的破解难度,使其安全性得到很大提高。

  参考文献

  [1] 王蕴红,朱勇,谭铁牛.基于虹膜识别的身份鉴别[J].自动化学报,2002,28(1):1-10.

  [2] 陆继远.电子密码锁的FPGA实现[J].微计算机信息,2011,27(7):3-5.

  [3] 尹常永.EDA技术与数字系统设计[M].西安:西安电子科技大学出版社,2004.

  [4] 孙海涛,刘洁,何循来,等.FPGA密码模块恶意木马后门设计[J].微型机与应用,2013,32(22):20-22.

  [5] 李珍,王国宇,崔丽娟.基于FPGA的可靠性电子密码锁设计[J].现代电子技术,2013,36(7):151-153.

  [6] 王卫兵,刘克刚,朱秋萍.用FPGA的电子密码锁[J].电子技术,2005(1):26-28.

  [7] 刘东,周晴天.利用字符的冗余编码携带隐藏信息的文本数字化水印技术[J].计算机应用研究,2007(2):155-157.

  [8] 彭涛,王栓杰,席伟,等.FPGA密码芯片改进掩码防护方法研究[J].信息技术,2011(11):31-33.

  [9] 王红,彭亮,于宗光.FPGA现状与发展趋势[J].电子与封装,2007,7(7):32-37.

  [10] 杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子与信息学报,2010,32(3):714-727.


  •   论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
  •   论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
  •  
  •   论文投稿客服QQ: 论文投稿2863358778 论文投稿2316118108
  •  
  •   论文投稿电话:15380085870
  •  
  •   论文投稿邮箱:lunwenbuluo@126.com

联系方式

  • 论文投稿客服QQ: 论文投稿2863358778
  • 论文投稿客服QQ: 论文投稿2316118108
  • 论文投稿电话:15380085870
  • 论文投稿邮箱:lunwenbuluo@126.com

热门排行

 
QQ在线咨询
咨询热线:
15380085870
微信号咨询:
lunwenbuluoli