摘 要:固定密碼輸入設(shè)備在電子商務(wù)、辦理銀行業(yè)務(wù)和證券交易等過程中存在很多安全的隱患,越來越受到社會的關(guān)注。用戶為了防止密碼被不法偷窺或者竊取,需要很多方法防止資金流失等事件的發(fā)生,為了解決這個問題本設(shè)計提出一種方案,利用軟件使鍵盤產(chǎn)生動態(tài)隨機的布局效果,很大程度上減少了密碼被盜的概率。本設(shè)計的開發(fā)工具是PROTEUS和KEIL-C,在PROTEUS的環(huán)境下架構(gòu)了鍵盤布局、功能模塊的操作說明、元器件的選擇與布局以及人機交互的仿真界面。在KEIL-C環(huán)境下,完成了隨機生成模塊代碼、按鍵正確識別模塊代碼、隨機鍵盤顯示模塊代碼、密碼顯示模塊源代碼、延時模塊、密碼輸入處理模塊、密碼修改模塊、主程序模塊等,將各個功能模塊順利演示,用單片機實現(xiàn)本系統(tǒng)具有可行性強,開發(fā)成本低等優(yōu)點,具有實際應(yīng)用的現(xiàn)實意義。
關(guān)鍵詞:隨機鍵盤;PROTEUS;仿真界面;人機交互
中圖分類號:TP273
隨著電子商務(wù)、銀行ATM機以及證券交易中交易號碼的輸入,實物鍵盤和電子鍵盤的使用越來越普及,所以用戶個人和集體信息安全就扮演著很重要的角色,信息安全隨著社會的發(fā)展顯示很高的重要性,特別是密碼安全的發(fā)展,一些常用的密碼輸入設(shè)備因使用次數(shù)增多導(dǎo)致的密碼泄露的危險性增大的問題,越來越受到重視。普通的解決辦法是更改密碼或者換掉密碼輸入設(shè)備,但是這些都會留下一些問題,頻繁修改密碼,會給用戶造成極大的不便,而更換設(shè)備,依然存在密碼安全的隱患。為了防止用戶密碼被不法人員竊取或者利用,故此提出一種解決方案,應(yīng)用仿真軟件使鍵盤產(chǎn)生動態(tài)布局效果,當各個按鍵被使用的概率一樣時,密碼的顯示順序呈現(xiàn)一種隨即的狀態(tài),使不法分子不能按照平時的經(jīng)驗來竊取秘密[1],就會極大地消除密碼泄露的隱患,降低密碼被竊取的概率。
1 總體設(shè)計
1.1 總體要求
本設(shè)計要求用PROTEUS仿真軟件做出相應(yīng)的原理圖,原理圖要有隨即密碼鍵盤顯示模塊,鍵盤輸入模塊、密碼設(shè)置模塊、密碼修改模塊、正確錯誤密碼分別顯示模塊。要求在KEIL-C環(huán)境下進行程序和代碼的開發(fā),對每個模塊代碼進行設(shè)計,即模塊代碼、按鍵正確識別模塊代碼、隨機鍵盤顯示模塊代碼、密碼顯示模塊源代碼、延時模塊、密碼輸入處理模塊、密碼修改模塊、主程序模塊等,將程序燒寫成.HEX程序,進行仿真調(diào)試和開發(fā),最后要完成順暢的連接,顯示隨即動態(tài)鍵盤密碼鎖的功能。
1.2 開發(fā)環(huán)境
(1)Proteus軟件。Proteus軟件是由英國Labcenter Electronics公司開發(fā)的,該軟件除了具有和其它EDA工具一樣的原理圖布局、PCB自動或人工布線及電路仿真的功能外,其特色性的功能是,它的電路仿真是互動的,針對微處理器的應(yīng)用,可以直接在基于原理圖的虛擬原型上編程,并實現(xiàn)軟件源碼級的實時調(diào)試。如有顯示、輸出、仿真時能看到運行后的輸入輸出的效果,所以Proteus軟件為開發(fā)者建立了完備的電子設(shè)計開發(fā)環(huán)境,方便與開發(fā)者交互[2]。(2)keil uVision3軟件。Keil公司的MCS-51編譯器是眾多單片機應(yīng)用開發(fā)軟件中優(yōu)秀的開發(fā)軟件之一,它支持眾多公司的MCS-51架構(gòu)的芯片,它集編輯、編譯、仿真于一體,同時支持PLM、匯編和C語言的程序設(shè)計,它的界面和微軟VC界面類似,界面友好,在調(diào)試、軟件仿真方面有很強大的功能,是常用的單片機C語言編譯器。Keil Software公司推出的uVision3是一款可用于各種51單片機的集成開發(fā)環(huán)境,因此,本設(shè)計也采用該軟件開發(fā)[3]。
1.3 主要模塊劃分
(1)proteus原理圖的設(shè)計:選擇相關(guān)的元器件進行布局。(2)美化原理圖:按照設(shè)計的要求美化。(3)顯示隨機軟鍵盤上對應(yīng)的數(shù)字:按下不同的數(shù)字鍵顯示不同的內(nèi)容。(4)輸入密碼功能:輸入正確和錯誤的密碼信號不同。(5)密碼輸入不可見提示:輸入密碼不顯示密碼內(nèi)容。(6)密碼修改提示:新密碼的修改過程,同時要求輸入兩次新密碼。(7)關(guān)鍵代碼設(shè)計模塊:隨即軟鍵盤的形成以及如何識別密碼等。
2 詳細設(shè)計
2.1 PROTEUS環(huán)境下原理圖的設(shè)計與布局
根據(jù)隨即動態(tài)密碼鎖的設(shè)計思路,需要在PROTEUS環(huán)境進行原理圖的設(shè)計[4],仿真原理圖需要包含顯示模塊,密碼輸入模塊,元器件的鏈接與布局,以及密碼輸入過程中的報警情況,將設(shè)計器件連接在一起。
2.2 各子模塊詳細設(shè)計
(1)隨機軟鍵盤生成模塊設(shè)計。該模塊是生成鍵盤的算法,鍵盤數(shù)字是有順序的,通過該算法可是無序。將鍵盤的數(shù)字放在數(shù)組中,分別把前五個數(shù)與后五個數(shù)交換,再隔一個數(shù)交換一次,隔兩個交換一次,隔三個交換一次,最后前后五個數(shù)再次交換,通過操作數(shù)組來實現(xiàn)鍵盤的亂序功能;(2)按鍵正確識別模塊代碼。輸入數(shù)據(jù),返回數(shù)據(jù)的大小,鍵盤顯示是通過一個數(shù)組來實現(xiàn)的,同樣按鍵時,查詢按的按鍵,然后通過查數(shù)組就可以知道對應(yīng)的是哪個數(shù)字。本模塊是設(shè)計創(chuàng)新點,按鍵不放開就不會有按鍵信息輸入的,按多個鍵,只會輸入第一次按鍵的信息;(3)隨機鍵盤顯示模塊源代碼和密碼顯示模塊源代碼。采用51單片機的中斷0方式。來實現(xiàn)隨機鍵盤的顯示;(4)延時模塊。采用的單片機時鐘是12MHZ,在操作過程中,手工的慢速與機器高速不匹配,需要延時,同時單片機的外部的部件由于傳輸需要時間,所以也需要單片機延時;(5)密碼輸入處理和修改模塊。該模塊實現(xiàn)的功能是輸入密碼并判斷是否正確。模塊實現(xiàn)的功能是修改密碼,首先輸入原密碼,不正確則重新輸入原密碼或返回,正確則輸入新密碼,新密碼需要輸入兩次[5],如果新密碼兩次輸入不一樣,則要求才次輸入新密碼兩次或則返回,如果一樣,則修改成功;(6)主程序。主程序主要包括功能:顯示按鍵在鍵盤上對應(yīng)的數(shù)據(jù)、確定密碼的顯示方式(顯示或不顯示)、換鍵盤功能、輸入密碼功能選擇、修改密碼功能選擇;(7)元器件的選擇與布局。選擇的元器件:AT89C51,7SEG-COM-CAT-GRN,7SEG-MPX2-CC,7SEG-MPX4-CC,7SEG-MPX6-CC,74HC154,BUTTON,CAP,CARYSTAL,LED-BIBY,LED-BIGY,LED-BIRG,LED-BIRY,LED-BLUE,LED-GREEN,LED-RED,LED-YELLOW,NPN,RES,RESPACK-8,按照原理圖進行布線,先把元器件放置好,然后再布線,布線要注意清晰,不可重疊,達到圖1的效果。
3 設(shè)計測試方案
3.1 原理圖設(shè)計合理
在KEIL-C環(huán)境下,將設(shè)計好的原理圖進行測試,在TOOL菜單下,選擇原理圖測試工具,測試成功如圖1所示。
圖1 元器件的正確放置結(jié)果
3.2 KEIL-C環(huán)境代碼運行
根據(jù)環(huán)境要求,在KEIL-C環(huán)境下,選擇單片機的型號為AT89C51系列:設(shè)計隨機軟件盤生成模塊、按鍵正確識別模塊代碼、隨機鍵盤顯示模塊源代碼和密碼顯示模塊源代碼、延時模塊、密碼輸入處理和修改模塊、主程序等模塊的設(shè)計。
設(shè)計中保存需要有.ASM和.C兩種方式進行保存,本設(shè)計是在.C的環(huán)境下進行的,先在PROJECT下建立“NEW PROJECT”,將程序模塊按照要求寫好,保存為.C程序,將程序加載到工程里面,選擇FILE菜單中“ADD FILES TO GROUP’SOURCE GROUP 1’”,在PROJECT菜單下選擇“OPTION TARGET FOR TARGET 1”,在對話框中選擇OUTPUT.HEX程序,然后將程序運行,不斷的調(diào)試修改,直到程序調(diào)試到滿足設(shè)計要求,出現(xiàn)“0ERRORS 0WARNINGS”,這時.HEX程序生成保存在文件夾里面。
在設(shè)計好的.DSN文件打開,點擊AT89C51芯片,將燒寫好的.HEX文件加在芯片里面,進行運行,顯示在KEIL-C環(huán)境下設(shè)計的設(shè)計隨機軟件盤生成模塊、按鍵正確識別模塊代碼、隨機鍵盤顯示模塊源代碼和密碼顯示模塊源代碼等功能模塊,順暢連接進行隨機密碼的顯示、修改、重新設(shè)置等。
4 結(jié)束語
本系統(tǒng)是在仿真的環(huán)境下開發(fā)出來的隨機密碼鍵盤技術(shù),在信息安全領(lǐng)域有重要的實際應(yīng)用價值,本設(shè)計的開發(fā)工具是PROTEUS和KEIL-C,在PROTEUS的環(huán)境下架構(gòu)了鍵盤布局、功能模塊的操作說明、元器件的選擇與布局以及人機交互的仿真界面。在KEIL-C環(huán)境下,完成了隨機生成模塊代碼、按鍵正確識別模塊代碼、隨機鍵盤顯示模塊代碼、密碼顯示模塊源代碼、延時模塊、密碼輸入處理模塊、密碼修改模塊、主程序模塊等,將各個功能模塊順利演示,界面美觀大方,有很高的實際應(yīng)用價值[6]。
本設(shè)計的主要成果有以下幾點:(1)采用了PROTEUS仿真軟件作為開發(fā)工具,具有設(shè)計思路明確,元器件充分,LCD數(shù)碼顯示明確的特點。(2)在KEIL-C環(huán)境下,采用C語言進行代碼的編寫,具有程序設(shè)計簡便、便于糾錯,可移植性的特點,可以不斷的完成需要的功能模塊,并且進行實現(xiàn)。(3)功耗低。采用單片機完成隨機動態(tài)密碼鎖的設(shè)計具有功耗低、成本低、開發(fā)性強的特點,具。有可以大批量生產(chǎn)的現(xiàn)實意義。(4)提出了一種基于單片機的新的思考方式,可以逐漸取代原有軟鍵盤的開發(fā)方式,大量的應(yīng)用在各個領(lǐng)域。
參考文獻:
[1]劉超英.采用滾動數(shù)碼的密碼概念防窺視的密碼鍵盤[J].電子技術(shù)應(yīng)用,2004:19-20
[2]許文斌.Proteus軟件在單片機系統(tǒng)仿真實驗教學(xué)中的應(yīng)用[J].商業(yè)經(jīng)濟,2006(03):90-93.
[3]王飛等.Keil與Proteus在現(xiàn)代教學(xué)中的應(yīng)用[J].現(xiàn)代企業(yè)教育,2009(06):78-80.
[4]劉兆元.物聯(lián)網(wǎng)業(yè)務(wù)關(guān)鍵技術(shù)與模式探討[J].廣東通信技術(shù),2009(12).
[5]胡漢才.單片機原理及其接設(shè)計[M].北京:清華大學(xué)出版社,2004.
[6]周潤景,張麗娜.基于PROTEUS的電路及單片機系統(tǒng)的設(shè)計與仿真[M].北京:北京航空航天大學(xué)出版社,2006.
作者簡介:田嵩(1981-),女,碩士,研究方向:計算機應(yīng)用技術(shù)。
作者單位:湖北理工學(xué)院計算機學(xué)院,湖北黃石 435003
基金項目:湖北理工學(xué)院青年項目(項目編號:13xjz060)。