?
本論文就加強(qiáng)金庫的安全管理,針對(duì)目前金庫的管理缺陷,設(shè)計(jì)了一種金庫門電子密碼鎖系統(tǒng)。這種密碼鎖不需要更改密碼卻每次開鎖密碼都不一樣。保密性很高,既需要輸入一組隨機(jī)序號(hào),同時(shí)還需要輸入一個(gè)經(jīng)過密碼生成器計(jì)算得出的可變密碼。本設(shè)計(jì)在安全系數(shù)要求很高,且需要多人管理與參與才能開鎖的場(chǎng)合下非常適用。每次開鎖密碼不同,解決了傳統(tǒng)鍵盤式電子密碼鎖容易被他人在鍵盤上試探出來,或被旁觀者窺測(cè)出來,保密性不足的缺點(diǎn)。
1 設(shè)計(jì)思路
整個(gè)設(shè)計(jì)由金庫門密碼鎖控制器和密碼生成器兩大部分組成。兩部分均有液晶顯示模塊和鍵盤模塊,作為人機(jī)對(duì)話的界面和工具。不同的是密碼鎖控制器還包含密碼識(shí)別模塊和開鎖控制模塊,用戶從鍵盤上輸入密碼信息,通過內(nèi)置信息的計(jì)算、對(duì)比和判斷,產(chǎn)生對(duì)開鎖控制模塊與報(bào)警系統(tǒng)的控制。而密碼生成器主要包含密碼生成模塊,根據(jù)用戶輸入的信息,通過一定的算法計(jì)算出密碼,并將密碼通過液晶顯示反饋給用戶。
密碼生成器由一名機(jī)構(gòu)負(fù)責(zé)人掌管。當(dāng)用戶需要開啟金庫門時(shí),金庫門密碼鎮(zhèn)控制器先為用戶產(chǎn)生六位隨機(jī)碼,用戶獲取了隨機(jī)碼之后需要向機(jī)構(gòu)負(fù)責(zé)人索取密碼。機(jī)構(gòu)負(fù)責(zé)人在密碼產(chǎn)生器上按照提示輸入2位隨機(jī)序號(hào)和用戶所告知的6位隨機(jī)碼,密碼產(chǎn)生器計(jì)算出6位密碼,負(fù)責(zé)人員告知用戶2位隨機(jī)序號(hào)和6位密碼,用戶輸入2位序號(hào)和6位密碼后,金庫門密碼鎖經(jīng)同樣算法計(jì)算,如果密碼匹對(duì)正確,則開鎖,否則不開。密碼輸入錯(cuò)誤次數(shù)超3次則蜂鳴器鳴叫并啟動(dòng)報(bào)警系統(tǒng),只有輸入正確的系統(tǒng)內(nèi)置口令才能使蜂鳴器停止鳴叫以及關(guān)閉報(bào)警系統(tǒng)。
金庫門密碼鎖控制器和密碼生成器具有同樣的內(nèi)置口令,該內(nèi)置口令可重新設(shè)置,當(dāng)重新設(shè)置時(shí)需要驗(yàn)證原口令,如果相同則可進(jìn)行更改,并將新口令保存在單片機(jī)的EEP-ROM中。關(guān)機(jī)后,保存的口令不丟失。重新設(shè)置內(nèi)置口令后,同樣的隨機(jī)碼、隨機(jī)序號(hào),開鎖密碼是不一樣的。
2 STC12系列單片機(jī)以及OCM12864的簡(jiǎn)介
STC12系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),與普通單片機(jī)相比,具有高速/低功耗/超強(qiáng)抗干擾/無法解密等優(yōu)點(diǎn),是新一代8051單片機(jī),且指令代碼完全兼容傳統(tǒng)8051,速度卻快8~12倍。工作電壓為3.8 V~2.2 V(3 V單片機(jī))/5.5 V~3.3 V(5 V單片機(jī)),有6個(gè)16位定時(shí)器,兼容普通8051的定時(shí)器或4個(gè)外部中斷,具有看門狗和EEPROM功能,并且內(nèi)部集成MAX810專用復(fù)位電路?;谏鲜鰞?yōu)勢(shì),本設(shè)計(jì)采用STC12系列單片機(jī)。
液晶顯示部分采用OCM12864圖形點(diǎn)陣液晶顯示模塊,該圖形點(diǎn)陣液晶顯示模塊有128×64點(diǎn)陣,可顯示各種字符及圖形,可與CPU直接接口,具有8位標(biāo)準(zhǔn)數(shù)據(jù)總線、6條控制線及電源線。OCM12864具有自己的指令集,結(jié)合OCM12864的接口時(shí)序,可以實(shí)現(xiàn)對(duì)液晶模塊的讀寫操作。圖1、圖2分別為OCM12864的讀操作和寫操作時(shí)序,比較讀寫操作時(shí)序,可以發(fā)現(xiàn)讀寫操作時(shí)序的不同之處在于片選信號(hào)R/W在E有效時(shí)的取值。當(dāng)E為高電平,R/W為高電平時(shí)則是單片機(jī)執(zhí)行的是讀操作;當(dāng)E為高電平,R/W為低電平時(shí)則是單片機(jī)執(zhí)行的是寫操作。本設(shè)計(jì)采用OCM12864中的OCM12864-5(3 V)和OCM12864-2(5 V),根據(jù)金鵬電子有限公司提供的讀寫操作時(shí)序編程可以實(shí)現(xiàn)對(duì)液晶模塊的讀寫。
?
3 硬件設(shè)計(jì)
系統(tǒng)硬件設(shè)計(jì)由兩大部分組成:密碼生成器硬件設(shè)計(jì)和密碼鎖控制器硬件設(shè)計(jì)。
3.1 密碼生成器硬件設(shè)計(jì)
以STC12系列單片機(jī)STC12LE5410AD(3 V單片機(jī))為核心,結(jié)構(gòu)框圖如圖3所示。其功能模塊主要由電源電路模塊、鍵盤電路、液晶顯示模塊和指示控制模塊四部分組成的。
?
電源模塊設(shè)計(jì)采用雙電源切換供電,即既可以通過USB接口供電,也可以通過電池為系統(tǒng)供電。經(jīng)USB或電池引出來的電壓是5 V,再經(jīng)1117-33穩(wěn)壓管穩(wěn)壓之后為CPU提供3.3V電壓。STC12LE5410AD的P1口與鍵盤電路相連接,P3.6接LED燈作為系統(tǒng)的指示燈。P3.0與OCM12864的數(shù)據(jù)/指令引腳RS相連,實(shí)現(xiàn)數(shù)據(jù)/指令選擇,當(dāng)RW=1時(shí),數(shù)據(jù)DB0-DB7將送入顯示RAM;當(dāng)RW=0時(shí),數(shù)據(jù)DB0-DB7將送入指令寄存器執(zhí)行。數(shù)據(jù)的讀寫選擇R/W由P3.4來控制。E為0CM12864的液晶屏的讀寫使能端,并通過STC12LE5410AD的P3.2和P3.3選擇OCM12864左半屏和右半屏。除此之外,V0是LCD的調(diào)整電壓,必須與VEE一起與10 k電位器相連,可對(duì)液晶屏的對(duì)比度進(jìn)行調(diào)整。
3.2 金庫門密碼鎖控制器硬件設(shè)計(jì)
以STC12系列的STC12C5410AD(5V單片機(jī))為核心,結(jié)構(gòu)框圖如圖4所示,主要包括電源電路模塊、液晶顯示驅(qū)動(dòng)模塊、鍵盤電路模塊、報(bào)警輸出模塊以及和STC12C2052AD通信的串口通信模塊、開鎖控制電路。
?
在該系統(tǒng)中,電源電路模塊主要是由一個(gè)12 V變壓器與一個(gè)LM7805穩(wěn)壓器電路所組成的,為CPU提供電壓。由于STC12C5410AD是5 V的單片機(jī),所以液晶顯示模塊同樣采用5 V的OCM12864-2液晶模塊。8位標(biāo)準(zhǔn)數(shù)據(jù)總線與單片機(jī)STC12C5410AD的P2口相連接;讀寫選擇管腳R/W與P3.3相連;讀寫使能管腳CS1、CS2分別與P3.7、P3.5相連接;RS與P3.4相連,控制數(shù)據(jù)/指令的選擇。系統(tǒng)包含報(bào)警輸出電路,當(dāng)連續(xù)輸入3次錯(cuò)誤密碼時(shí),則蜂鳴器報(bào)警以示警告并啟動(dòng)報(bào)警系統(tǒng),則再不能做任何的操作,直到輸入正確的內(nèi)置口令才能關(guān)閉報(bào)警系統(tǒng)。本系統(tǒng)中,還采用輸入和顯示部分與開鎖控制電路相分開,PCB制作時(shí)制作成兩塊板,用串口通信實(shí)現(xiàn)兩塊板之間的通信,使密碼比對(duì)后的結(jié)果能輸送到STC12C2052AD,實(shí)現(xiàn)對(duì)機(jī)械鎖的控制。
4 軟件設(shè)計(jì)
4.1 密碼算法的實(shí)現(xiàn)
密碼算法是本設(shè)計(jì)中的一個(gè)最重要的部分,當(dāng)用戶使用密碼鎖開鎖時(shí)每次輸入的密碼都不一樣。密碼主要由隨機(jī)碼、內(nèi)置口令和隨機(jī)序號(hào)經(jīng)過一定的算法計(jì)算出來。
直接采用C51語言的mad();語句實(shí)現(xiàn)的隨機(jī)碼具有一定的隨機(jī)順序,每次開機(jī)后所得的隨機(jī)碼序列基本一樣,屬于偽隨機(jī)碼。因此對(duì)于保密性產(chǎn)品來說,用rand();語句具有缺陷。本設(shè)計(jì)采用定時(shí)器實(shí)現(xiàn)隨機(jī)序列。定時(shí)器設(shè)置為模式2,即可自動(dòng)重裝載的8位計(jì)數(shù)器,初值為100。密碼鎖控制器開機(jī)后,定時(shí)器開始定時(shí)。通過用戶3次按鍵產(chǎn)生中斷,讀取定時(shí)器低八位的值,將其轉(zhuǎn)換為十進(jìn)制并取低兩位存到一個(gè)預(yù)先定義好的6位數(shù)組中的2個(gè)元素。3次按鍵共產(chǎn)生3次2位數(shù)的隨機(jī)碼,組成6位隨機(jī)碼。該隨機(jī)碼重復(fù)概率很小,為1/1 000 000。因此,對(duì)定時(shí)器的采樣,可實(shí)現(xiàn)真正的隨機(jī)碼。
用戶自產(chǎn)生一個(gè)2位隨機(jī)序號(hào),與隨機(jī)碼、密碼生成器的內(nèi)置口令經(jīng)過一定的算法計(jì)算生成密碼。密碼鎖控制器根據(jù)用戶輸入的隨機(jī)序號(hào)和密碼,將隨機(jī)序號(hào)、隨機(jī)碼、以及內(nèi)置口令,利用與密碼生成器生成密碼同樣的算法計(jì)算出密碼,與用戶輸入的密碼比較驗(yàn)證。
STC單片機(jī)自帶EEPROM,用EEPROM來儲(chǔ)存密碼,關(guān)機(jī)后密碼不丟失,并可隨意更改密碼。每次開鎖密碼都不一樣,可有效預(yù)防惡意窺測(cè)行為,并能清楚進(jìn)出金庫的人員,且無需經(jīng)常更換密碼,方便管理。
4.2 密碼鎖控制器程序流程圖
?
5 結(jié)束語
本文設(shè)計(jì)的金庫門電子密碼鎖系統(tǒng),解決了金庫門管理的“一密二鑰三分離”中密碼的管理和分離的規(guī)定。每次開機(jī)密碼都不一樣,有效防止密碼泄露,增強(qiáng)了金庫管理的安全性。本電子密碼鎖系統(tǒng),不僅可以運(yùn)用于金庫門,同時(shí)適用于其他要求高保密性的產(chǎn)品或場(chǎng)所,且一個(gè)密碼生成器可配備若干個(gè)密碼鎖控制器,方便管理。
評(píng)論
查看更多