您的位置 首页 FPGA

根据FPGA的电子按键密码锁规划

电子密码锁与传统密码锁相比,具有安全性高、成本低、易操作等诸多优点。正因如此,电子密码锁近年来发展迅速,诸如按键式密码锁、卡片式密码锁、以及更加复杂的指纹识别、虹膜识别等密码锁相继出现。目前应用最广泛

  电子暗码锁与传统暗码锁比较,具有安全性高、成本低、易操作等许多长处。正因如此,电子暗码锁近年来开展迅速,比如按键式暗码锁、卡片式暗码锁、以及愈加杂乱的指纹辨认、虹膜辨认等暗码锁相继呈现。现在运用最广泛、技能最老练的电子暗码锁还属按键式和卡片式暗码锁,但卡片设备具有易磨损、寿命短、易受外界磁场搅扰等缺陷,而且一旦卡片丢掉,将对暗码锁的运用形成极大不方便。

  FPGA作为开展迅速的现代规划技能,现已被广泛运用于军事、空间、电子消费类产品等范畴,是现代暗码协议、算法完结的优选渠道。FPGA 内部算法能够并行履行,且不存在程序跑飞等危险。论文针对当时电子暗码锁的开展现状,规划了一种依据FPGA的按键暗码锁。为简化电路结构,节约逻辑资源,充分发挥FPGA的可靠性,本文选用了根本电路加方式操控的规划办法;一起提出了一种冗余编码结合掩码加密的硬件加密办法,使得开锁暗码在对外部暗码存储模块读写的进程中难以被走漏,然后极大地进步了暗码锁的安全性。

  1 电子暗码锁规划原理

  选用6位十六进制数作为开锁暗码,外部暗码输入正确,能成功指示,输入过错也能铲除和重置;接连3次暗码输入过错后,体系将死锁,此刻暗码锁不再呼应按键输入信号,只能通过特定解锁信号免除死锁;具有修正暗码功用,能够依照特定的流程对开锁暗码进行修正。暗码锁作业在正常解锁、修正暗码和死锁三种状况下,状况搬运如图1所示。

  图1中,“正常解锁”状况下,按下特定功用按键使暗码锁进入“修正暗码”状况,暗码修正完结后回来“正常解锁”状况;任一状况下接连三次输入暗码过错,进入“死锁”状况,此刻只要特定 硬件解锁信号才能使暗码锁回来“正常解锁”状况。

  

  图1 暗码锁状况搬运图

  2 依据FPGA的逻辑电路完结

  依据暗码锁功用需求,暗码锁电路原理框图如图2所示。

  

  图2 暗码锁电路原理框图

  图2中,灰色方框内为FPGA内部模块,完结整个暗码锁的逻辑功用。外接键盘是暗码锁的输入设备,包含十六进制暗码按键和暗码锁功用按键。因为现在FPGA芯片大多依据SRAM 架构,掉电后程序和数据都会清零,因而需求外接一片暗码存储芯片对用户设置的暗码进行存储。部分依据FLASH 架构的FPGA 芯片尽管具有掉电后保存程序的才能,可是内部FLASH的读写只能通过JTAG进行,依旧需求外接暗码存储芯片。显现、开锁和报警模块别离完结暗码锁的按键位数显现、开锁信号和报警信号输出功用。

  FPGA 内部电路主要由输入操控、暗码比较、输出操控、暗码办理和方式操控等模块构成。其间输入操控模块完结对外接键盘信号的键值提取和按键消抖功用;暗码比较模块用于对当时输入暗码和暗码存储模块中保存的正确暗码进行比较;输出操控模块用于操控显现模块显现暗码输入位数,并针对暗码比较成果和当时电路方式,操控开锁和报警信号;暗码办理模块担任处理对外部暗码存储模块的读/写以及掩码加/解密等操作。当按键输入暗码时,暗码办理模块从暗码存储模块中读取暗码,送入暗码比较模块与输入暗码进行比较;当修正暗码时,暗码办理模块将按键输入新暗码写入暗码存储模块,更新暗码锁的开锁暗码。

  上述输入操控、暗码比较、输出操控、暗码办理等模块足以确保上锁、解锁这一根本功用得以完结。可是本文规划要求中还包含修正暗码和 死锁报警功用,使得电路逻辑愈加杂乱。为此,本文选用一种根底电路加方式操控的办法来规划暗码锁,便是将一个功用相对杂乱的逻辑电路划分为几个相对独立的作业方式,针对不同方式别离规划电路模块;然后归纳各个方式共用的电路模块作为根底电路,并引进方式操控模块对根底电路的作业方式进行有用的办理。详细到本规划傍边,整个暗码锁能够分为正常解锁、修正暗码和死锁三种方式。其间正常解锁和修正暗码的流程别离如图3(a)和图3(b)所示。

  

  图3 正常解锁和修正暗码流程图

  如图3 所示,在正常解锁和修正暗码方式下,都需求完结按键输入、原暗码读取、暗码比较、暗码输入过错计数、显现输出等功用。因而根底电路能够由图2中的输入操控、暗码比较、输出操控、暗码办理等模块构成,而方式操控模块担任操控根底电路在不同方式间进行切换。例如,在正常解锁方式下,根底电路依照图3(a)中的流程作业;按下修正暗码键,方式变为修正暗码,根底电路作业流程如图3(b)所示。

  根底电路中各个模块在不同方式下各司其职,分方式复用,不会发生冗余的功用模块;方式操控模块统领大局,操控整个根底电路的方式转化。因而,选用上述规划办法,能够简化电路结构,节约逻辑资源,使得逻辑流程愈加明晰,便于电路结构和功用的拓宽。

  3 暗码锁安全性规划

  安全性作为暗码锁的首要特性,一直以来都是暗码锁规划的要点。可是以往依据FPGA 的暗码锁都是参阅机械式暗码锁的办法,通过进步暗码位数来进步暗码的破译难度。可是因为依据FPGA的电子暗码锁与机械暗码锁结构的不同,这种办法对FPGA暗码锁安全性的进步并不全面。前面现已说到,因为FPGA芯片数据掉电易失的特色,必须将暗码锁的正确暗码存储在外部暗码存储器中,每次解锁都需求从暗码存储器中读取正确暗码与按键输入进行比对,这就使得正确暗码很简单在暗码存储器读写的进程中被走漏出去,严重影响暗码锁的安全性。为处理这一问题, 本文提出一种冗余编码结合掩码加密的硬件加密办法,该办法能够大大下降开锁暗码走漏的可能性。

  3.1 规划原理

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

  K⊕M = K′

  K′⊕M = K⊕M⊕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 暗码办理模块框图

  4 结语

  本文规划了一种依据FPGA的的电子暗码锁,具有解锁、报警、修正暗码、死锁等功用。因为电路逻辑流程较为杂乱,本文对电路进行分方式规划,归纳各方式电路得到根底电路,再在根底电路之上参加方式操控模块的规划办法,然后避免了冗余模块的发生,节约了逻辑资源,并得到结构简练、逻辑明晰的电路规划。该办法关于依据FPGA的杂乱电路的规划具有学习含义。一起,针对FPGA器材数据掉电易失的特性,提出了一种冗余编码结合掩码加密的硬件加密办法。该办法使得在对外部暗码存储模块读/写的进程中开锁暗码难以被走漏,然后进步了暗码锁的破解难度,使其安全性得到很大进步。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/246867.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部