摘要:针对金库门高保密性与安全性的要求,设计了一种新型金库门电子密码锁,能预防密码泄露,增加金库安全性。系统由金库门密码锁控制器和密码生成器组成,密码生成器提供开锁密码,密码重复概率低于1/1 000 000。当输入开锁密码错误超过三次则启动报警系统。论文介绍金库门电子密码锁系统硬件和软件的实现思路,给出了硬件原理图和程序流程图。
关键词:金库门电子密码锁系统;可变密码;密码锁控制器;密码生成器
0 引言
随着社会经济的快速增长,安全防盗已成为一个社会问题。特别是对于各金融机构以及许多企事业单位,为了资金周转方便,一般设有金库。然而近年来发生许多重大盗库案,如河北邯郸农行金库5 100万元被盗案,金库的安全管理已成为一个不可忽视的问题。本论文就加强金库的安全管理,针对目前金库的管理缺陷,设计了一种金库门电子密码锁系统。这种密码锁不需要更改密码却每次开锁密码都不一样。保密性很高,既需要输入一组随机序号,同时还需要输入一个经过密码生成器计算得出的可变密码。本设计在安全系数要求很高,且需要多人管理与参与才能开锁的场合下非常适用。每次开锁密码不同,解决了传统键盘式电子密码锁容易被他人在键盘上试探出来,或被旁观者窥测出来,保密性不足的缺点。
1 设计思路
整个设计由金库门密码锁控制器和密码生成器两大部分组成。两部分均有液晶显示模块和键盘模块,作为人机对话的界面和工具。不同的是密码锁控制器还包含密码识别模块和开锁控制模块,用户从键盘上输入密码信息,通过内置信息的计算、对比和判断,产生对开锁控制模块与报警系统的控制。而密码生成器主要包含密码生成模块,根据用户输入的信息,通过一定的算法计算出密码,并将密码通过液晶显示反馈给用户。
密码生成器由一名机构负责人掌管。当用户需要开启金库门时,金库门密码镇控制器先为用户产生六位随机码,用户获取了随机码之后需要向机构负责人索取密码。机构负责人在密码产生器上按照提示输入2位随机序号和用户所告知的6位随机码,密码产生器计算出6位密码,负责人员告知用户2位随机序号和6位密码,用户输入2位序号和6位密码后,金库门密码锁经同样算法计算,如果密码匹对正确,则开锁,否则不开。密码输入错误次数超3次则蜂鸣器鸣叫并启动报警系统,只有输入正确的系统内置口令才能使蜂鸣器停止鸣叫以及关闭报警系统。
金库门密码锁控制器和密码生成器具有同样的内置口令,该内置口令可重新设置,当重新设置时需要验证原口令,如果相同则可进行更改,并将新口令保存在单片机的EEP-ROM中。关机后,保存的口令不丢失。重新设置内置口令后,同样的随机码、随机序号,开锁密码是不一样的。
2 STC12系列单片机以及OCM12864的简介
STC12系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,与普通单片机相比,具有高速/低功耗/超强抗干扰/无法解密等优点,是新一代8051单片机,且指令代码完全兼容传统8051,速度却快8~12倍。工作电压为3.8 V~2.2 V(3 V单片机)/5.5 V~3.3 V(5 V单片机),有6个16位定时器,兼容普通8051的定时器或4个外部中断,具有看门狗和EEPROM功能,并且内部集成MAX810专用复位电路。基于上述优势,本设计采用STC12系列单片机。
液晶显示部分采用OCM12864图形点阵液晶显示模块,该图形点阵液晶显示模块有128×64点阵,可显示各种字符及图形,可与CPU直接接口,具有8位标准数据总线、6条控制线及电源线。OCM12864具有自己的指令集,结合OCM12864的接口时序,可以实现对液晶模块的读写操作。图1、图2分别为OCM12864的读操作和写操作时序,比较读写操作时序,可以发现读写操作时序的不同之处在于片选信号R/W在E有效时的取值。当E为高电平,R/W为高电平时则是单片机执行的是读操作;当E为高电平,R/W为低电平时则是单片机执行的是写操作。本设计采用OCM12864中的OCM12864-5(3 V)和OCM12864-2(5 V),根据金鹏电子有限公司提供的读写操作时序编程可以实现对液晶模块的读写。