基于FPGA的密碼鎖設(shè)計(jì)_第1頁
基于FPGA的密碼鎖設(shè)計(jì)_第2頁
基于FPGA的密碼鎖設(shè)計(jì)_第3頁
基于FPGA的密碼鎖設(shè)計(jì)_第4頁
基于FPGA的密碼鎖設(shè)計(jì)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄中文TOC\o"1-2"\h\u摘要 緒論1.1研究背景密碼鎖是安全防護(hù)領(lǐng)域的重要組成,在現(xiàn)代生活中起著非常重要的作用[1]??萍硷w速發(fā)展,人們的生活水平不斷提升,密碼鎖的應(yīng)用領(lǐng)域愈發(fā)廣泛,家庭住宅、商業(yè)場(chǎng)所、公共設(shè)施、高端機(jī)密設(shè)施等都在應(yīng)用之列[2]。在家庭住宅方面,密碼鎖憑借其便捷性和安全性,漸漸成為許多家庭的首選。相較于傳統(tǒng)的機(jī)械鎖漸漸成為許多家庭的首選,相較于傳統(tǒng)的機(jī)械鎖,密碼鎖不用帶鑰匙,只要記住密碼就能輕易打開,十分方便,密碼鎖的安全性能不錯(cuò),可以防止撬鎖,技術(shù)開鎖等不法行為,給家庭安全增添保障。在商業(yè)場(chǎng)所和公共設(shè)施當(dāng)中,密碼鎖的運(yùn)用也頗為廣泛,辦公室,圖書館,健身房之類的場(chǎng)所,密碼鎖被普遍用到門禁系統(tǒng)里面,從而做到對(duì)進(jìn)出人員的管理,保證場(chǎng)所的安全與秩序,有些高端機(jī)密設(shè)施,比如數(shù)據(jù)中心,實(shí)驗(yàn)室等等,對(duì)于密碼鎖的安全性能要求就比較高,要采用具備高級(jí)加密技術(shù)并且?guī)в卸喾N驗(yàn)證手段的密碼鎖,這樣才能保證機(jī)密信息不會(huì)泄露出去。不過,碼鎖的運(yùn)用也頗為廣泛,辦公室,圖書館,健身房之類的場(chǎng)所,密碼鎖被普遍用到門禁系統(tǒng)里面,從而做到對(duì)進(jìn)出人員的管理,保證場(chǎng)所的安全與秩序,有些高端機(jī)密設(shè)施,比如數(shù)據(jù)中心,實(shí)驗(yàn)室等等,對(duì)于密碼鎖的安全性能要求就比較高,要采用具備高級(jí)加密技術(shù)并且?guī)в卸喾N驗(yàn)證手段的密碼鎖,這樣才能保證機(jī)密信息不會(huì)泄露出去。密碼鎖在現(xiàn)今社會(huì)的使用很普遍,其重要性也毋庸置疑,尤其是在安全防護(hù)方面,對(duì)密碼鎖的需求和挑戰(zhàn)并存,我們要不斷地去摸索和創(chuàng)新,設(shè)計(jì)出更安全、更可靠、更適合人們使用的密碼鎖系統(tǒng)來應(yīng)對(duì)現(xiàn)實(shí)情況。1.2研究目的本研究重點(diǎn)關(guān)注利用先進(jìn)的FPGA(現(xiàn)場(chǎng)可編程門陣列)技術(shù),來創(chuàng)建出既高效又可靠并且安全的密碼鎖系統(tǒng),以應(yīng)對(duì)現(xiàn)代生活對(duì)于安全防護(hù)方面的急切需求,伴隨科技不斷向前推進(jìn),密碼鎖屬于安全防護(hù)環(huán)節(jié)里非常關(guān)鍵的部分,它所需要具備的性能以及安全性標(biāo)準(zhǔn)也變得越來越高,那些傳統(tǒng)的密碼鎖系統(tǒng)常常會(huì)暴露出諸如響應(yīng)速度遲緩,穩(wěn)定性欠佳以及容易遭受攻擊之類的問題,很難適應(yīng)現(xiàn)代各種復(fù)雜而多元的應(yīng)用場(chǎng)景。FPGA技術(shù)有著很強(qiáng)的并行處理能力、靈活的可編程性以及高度集成化的特征,給密碼鎖系統(tǒng)的設(shè)計(jì)帶來了新的想法,通過FPGA,就能達(dá)成繁雜的加密算法和快速的數(shù)據(jù)處理,明顯改進(jìn)密碼鎖系統(tǒng)的性能和安全性,F(xiàn)PGA的可編程性讓系統(tǒng)可以按照實(shí)際需求來調(diào)整,增強(qiáng)了系統(tǒng)的適應(yīng)性和可拓展性。在具體的設(shè)計(jì)當(dāng)中,我們充分考慮到密碼鎖系統(tǒng)實(shí)際應(yīng)用時(shí)的安全性、穩(wěn)定性、易用性以及功耗等因素,采用合適的硬件設(shè)計(jì)與高效的軟件編程來達(dá)成密碼快速輸入、正確驗(yàn)證并安全解鎖的功能,還會(huì)重視系統(tǒng)的可維護(hù)性和升級(jí)性,保證密碼鎖系統(tǒng)可以長(zhǎng)久穩(wěn)定地運(yùn)行,并且隨著技術(shù)的進(jìn)步不斷地進(jìn)行改善。本研究要依靠FPGA技術(shù),塑造起一款高效,可靠又安全的密碼鎖系統(tǒng),給現(xiàn)代安全防護(hù)領(lǐng)域給予強(qiáng)有力的科技助力,這種目標(biāo)達(dá)成之后,會(huì)促使密碼鎖技術(shù)不斷向前邁進(jìn),而且給相關(guān)領(lǐng)域的安全守護(hù)賦予新的解決辦法,有著十分重大的實(shí)際意義和應(yīng)用價(jià)值。1.3研究意義安全性方面,傳統(tǒng)密碼鎖常常出現(xiàn)密碼輕易被破解,安全性能不夠好的問題,此次研究借助FPGA技術(shù)規(guī)劃的密碼鎖系統(tǒng),采取了先進(jìn)的加密算法和硬件防護(hù)手段,從而提升了密碼鎖的安全性能,利用復(fù)雜的密碼組合和加密存儲(chǔ),使密碼破解變得非常困難,進(jìn)而守護(hù)好用戶的財(cái)產(chǎn)和隱私安全,而且該系統(tǒng)具有異常檢測(cè)和安全警報(bào)功能,一旦察覺到非法入侵或者異常操作就會(huì)馬上報(bào)警,這樣便進(jìn)一步加強(qiáng)了系統(tǒng)的安全防范能力[4]??煽啃苑矫妫狙芯吭O(shè)計(jì)的密碼鎖系統(tǒng)全面顧及到各類環(huán)境要素和使用場(chǎng)合,利用高穩(wěn)定性與可靠性的硬件元件以及軟件算法,通過嚴(yán)謹(jǐn)?shù)臏y(cè)試與認(rèn)證,保證系統(tǒng)在各種惡劣環(huán)境中的穩(wěn)定運(yùn)行能力及其耐久性,該系統(tǒng)具有自我診斷和故障恢復(fù)功能,可以在發(fā)生故障的時(shí)候自動(dòng)檢測(cè)并且努力修復(fù),從而提升系統(tǒng)的可靠性與可用性。在方便性上,本研究所設(shè)計(jì)的密碼鎖系統(tǒng)采取了很有“人情味”的用戶界面以及操作步驟,讓使用者能很快學(xué)會(huì)如何輸入密碼以及打開密碼鎖[5]。該系統(tǒng)還支持各種形式的開鎖方法,例如密碼,指紋,IC卡等等,可以適應(yīng)不一樣使用者的使用習(xí)慣,系統(tǒng)還有遠(yuǎn)程控制與智能管理的功能,使用者可借助手機(jī)APP等遠(yuǎn)程手段來達(dá)到對(duì)密碼鎖的監(jiān)視和管理,從而使使用變得更加方便且具有智能性[6]。本研究對(duì)于相關(guān)領(lǐng)域也起到了一定的推動(dòng)作用,一方面它推動(dòng)了FPGA技術(shù)在安全防護(hù)方面的應(yīng)用與發(fā)展,給其他類似系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)給予了有益的參照與模仿,另一方面它也推動(dòng)了密碼鎖行業(yè)革新升級(jí),帶動(dòng)了相關(guān)產(chǎn)業(yè)鏈的成長(zhǎng)壯大[7]。1.4研究?jī)?nèi)容設(shè)計(jì)原理上,本次設(shè)計(jì)從密碼鎖的基本構(gòu)成以及工作原理入手,對(duì)其輸入、處理、輸出這三個(gè)重要部分展開細(xì)致剖析,輸入部分著重考慮用戶密碼的輸入方法與信號(hào)處理情況,處理部分把重心放在密碼的校驗(yàn)算法及其安全性問題上面,輸出部分包含了解鎖信號(hào)的執(zhí)行狀況以及狀態(tài)顯示等內(nèi)容,深刻領(lǐng)會(huì)這些原理為本項(xiàng)密碼鎖的設(shè)計(jì)打下牢固的根基。在實(shí)現(xiàn)方法上,本研究充分利用了FPGA的可編程性以及并行處理的優(yōu)勢(shì),把密碼鎖系統(tǒng)分解成許多功能模塊,一個(gè)個(gè)地去做硬件設(shè)計(jì)和軟件編程。硬件設(shè)計(jì)時(shí),我重視模塊劃分和接口設(shè)計(jì),這樣就能讓各個(gè)模塊有效配合起來工作[8]。至于軟件編程,我會(huì)用高效的算法和數(shù)據(jù)結(jié)構(gòu)來提高密碼鎖的性能和安全程度。關(guān)鍵技術(shù)上,本研究包含加密算法、硬件接口以及通信協(xié)議等眾多領(lǐng)域,就加密算法而言,本文運(yùn)用了當(dāng)前較為前沿的哈希函數(shù)與加密存儲(chǔ)技術(shù),從而保證密碼安全且不可破解,硬件接口層面,本文規(guī)劃了穩(wěn)固的按鍵輸入電路并制定了高效的信號(hào)處理算法,以此來改善密碼輸入的精確度與穩(wěn)定性,至于通信協(xié)議,則采用可靠又有效的通信協(xié)議以及錯(cuò)誤檢測(cè)手段,進(jìn)而保障密碼鎖系統(tǒng)同其他設(shè)備之間的穩(wěn)定通訊與數(shù)據(jù)傳遞。通過對(duì)這些設(shè)計(jì)原則、達(dá)成手段以及重要技術(shù)加以綜合利用,這項(xiàng)研究順利地設(shè)計(jì)出一款依靠FPGA來完成的密碼鎖系統(tǒng),這個(gè)系統(tǒng)具備著有效率、可靠并且安全這樣一些特征,可以用來應(yīng)付現(xiàn)實(shí)應(yīng)用當(dāng)中出現(xiàn)的各種情況。1.5研究思路本研究按照一條清晰又系統(tǒng)的思路,要利用FPGA技術(shù)來設(shè)計(jì)并達(dá)成一個(gè)高效又可靠密碼鎖系統(tǒng),整個(gè)研究過程從分析密碼鎖在現(xiàn)代安全防護(hù)領(lǐng)域的需求和難題開始[9],科技發(fā)展和社會(huì)進(jìn)步,密碼鎖成為安全防護(hù)的重要手段,在各個(gè)領(lǐng)域被廣泛使用,但是傳統(tǒng)密碼鎖系統(tǒng)常常存在安全性能差、容易被破解等狀況,所以本研究希望借助FPGA技術(shù),設(shè)計(jì)出一種具備更高安全性能的密碼鎖系統(tǒng)。確定了研究目標(biāo)之后,本文展開了需求分析,需求分析期間,本文從密碼鎖的安全性,穩(wěn)定性,易用性等多方面入手,從而保證設(shè)計(jì)出來的密碼鎖系統(tǒng)可以符合實(shí)際應(yīng)用的要求,本文還對(duì)市面上已有的密碼鎖產(chǎn)品做了調(diào)研,分析了它們的長(zhǎng)處與短處,給后續(xù)的設(shè)計(jì)給予參照。根據(jù)需求分析的結(jié)果,本文進(jìn)行了密碼鎖系統(tǒng)的設(shè)計(jì),在設(shè)計(jì)的過程中,本文充分利用了FPGA技術(shù)的靈活可編程的特點(diǎn),把密碼鎖系統(tǒng)劃分成了很多個(gè)功能模塊,本文還詳細(xì)設(shè)計(jì)了每個(gè)模塊的功能和接口,在硬件設(shè)計(jì)方面,本文選擇了適合的FPGA型號(hào),并且進(jìn)行了資源分配和電路設(shè)計(jì),在軟件設(shè)計(jì)方面,本文設(shè)計(jì)了密碼存儲(chǔ)與管理系統(tǒng),密碼比對(duì)算法,解鎖控制邏輯等重要部分。完成了設(shè)計(jì)之后,本文進(jìn)行了實(shí)現(xiàn)和測(cè)試[10]。本文首先在實(shí)現(xiàn)階段按照設(shè)計(jì)方案進(jìn)行了硬件電路的搭建以及軟件程序的編寫。在測(cè)試階段,本文制定了詳細(xì)的測(cè)試方案,對(duì)密碼鎖系統(tǒng)進(jìn)行了功能測(cè)試、性能測(cè)試和安全測(cè)試,本文通過測(cè)試驗(yàn)證了密碼鎖系統(tǒng)的可行性以及可靠性,也發(fā)現(xiàn)了本文設(shè)計(jì)的密碼鎖系統(tǒng)存在的一些問題和不足,為以后的優(yōu)化和完善提供了依據(jù)[11]。1.6研究方法硬件設(shè)計(jì)上,本文充分運(yùn)用了FPGA的可編程性與靈活性[12],對(duì)密碼鎖系統(tǒng)的需求進(jìn)行了準(zhǔn)確分析之后,選定了合適的FPGA型號(hào),并對(duì)其內(nèi)部資源進(jìn)行了合理的分配,這樣就保證了硬件平臺(tái)可以支撐后續(xù)復(fù)雜功能的實(shí)現(xiàn),在硬件設(shè)計(jì)期間,本文采取了模塊化設(shè)計(jì)的思想,把密碼鎖系統(tǒng)劃分成了很多功能模塊,比如密碼輸入模塊,密碼驗(yàn)證模塊以及解鎖控制模塊等等,每一個(gè)模塊都被細(xì)致地設(shè)計(jì)并加以優(yōu)化。軟件設(shè)計(jì)方面,本文強(qiáng)調(diào)程序的可靠性與安全性,在程序架構(gòu)設(shè)計(jì)上,本文采用分層設(shè)計(jì)思想,把軟件劃分成不同層次,從而達(dá)成功能上的解耦與模塊化,在密碼存儲(chǔ)與管理系統(tǒng)里,本文使用先進(jìn)的加密算法對(duì)密碼實(shí)施加密存儲(chǔ),保障了密碼的安全性[15],本文也規(guī)劃了完備的密碼比對(duì)算法,憑借哈希函數(shù),時(shí)間戳以及限定錯(cuò)誤次數(shù)等手段,加強(qiáng)了密碼驗(yàn)證的精準(zhǔn)度和安全性。測(cè)試驗(yàn)證階段,文章制定了全面的測(cè)試方案,包含功能測(cè)試,性能測(cè)試,安全測(cè)試等等許多方面,功能測(cè)試側(cè)重于考察密碼鎖系統(tǒng)各個(gè)功能模塊能否正常運(yùn)行,性能測(cè)試衡量的是系統(tǒng)的響應(yīng)速度,穩(wěn)定程度以及可靠水平等重要指標(biāo),而安全測(cè)試著重檢驗(yàn)系統(tǒng)的安全保護(hù)手段有無效果,通過這些測(cè)試,文章可以盡早找到并解決系統(tǒng)里存在的問題,保障密碼鎖系統(tǒng)的品質(zhì)與安全性。本研究在硬件設(shè)計(jì)、軟件編程、測(cè)試驗(yàn)證等都采用了科學(xué)且嚴(yán)謹(jǐn)?shù)姆椒ê图夹g(shù)手段,從而為基于FPGA的密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)給予了有力的支撐。1.7論文結(jié)構(gòu)與框架引言部分會(huì)先對(duì)密碼鎖于現(xiàn)代生活當(dāng)中的重要意義加以概括,尤其是它在安全防護(hù)方面碰到的需求和難題,伴隨科學(xué)技術(shù)不斷向前推進(jìn)以及社會(huì)持續(xù)發(fā)展,密碼鎖身為一種關(guān)鍵的安全裝備,其安全性及可靠性變得越發(fā)突出,這部分還要把研究目標(biāo)表述清楚,也就是通過FPGA技術(shù)來設(shè)計(jì)出一款有效率,靠得住并且安全的密碼鎖系統(tǒng),從而適應(yīng)現(xiàn)實(shí)運(yùn)用里各種不同的需求狀況。接下來是設(shè)計(jì)原理部分,這部分會(huì)仔細(xì)探究密碼鎖的基本構(gòu)成及其工作原理,涉及到輸入,處理和輸出這幾個(gè)部分,分析設(shè)計(jì)密碼鎖的時(shí)候要考慮到的各種需求,安全,穩(wěn)定,易用等等,還會(huì)細(xì)致地?cái)⑹雒艽a鎖的工作流程,以及設(shè)計(jì)過程中所用到的關(guān)鍵技術(shù),加密算法,硬件接口,通信協(xié)議等等。實(shí)現(xiàn)方法部分會(huì)細(xì)致地論述基于FPGA的密碼鎖硬件設(shè)計(jì)和軟件設(shè)計(jì),硬件設(shè)計(jì)包含F(xiàn)PGA選型及資源分配,密碼鎖模塊劃分,密碼輸入模塊設(shè)計(jì),密碼驗(yàn)證模塊設(shè)計(jì),解鎖控制模塊設(shè)計(jì)等內(nèi)容,軟件設(shè)計(jì)涉及軟件設(shè)計(jì)總體思路,密碼存儲(chǔ)與管理,密碼比對(duì)算法,解鎖控制邏輯以及用戶界面設(shè)計(jì)等。性能測(cè)試部分會(huì)設(shè)計(jì)并執(zhí)行一些測(cè)試方案,包含功能測(cè)試,性能測(cè)試以及安全測(cè)試等,從而全方位地考察密碼鎖系統(tǒng)的性能,功能測(cè)試會(huì)查看各個(gè)功能模塊能否正常運(yùn)作,性能測(cè)試會(huì)評(píng)判系統(tǒng)的反應(yīng)速度,穩(wěn)定程度和可靠度,安全測(cè)試主要針對(duì)系統(tǒng)的安全保護(hù)手段是否有效。結(jié)論與建議部分會(huì)概括本論文的主要發(fā)現(xiàn)以及結(jié)論,包含密碼鎖設(shè)計(jì)過程中的優(yōu)點(diǎn)和不足,并給出進(jìn)一步改善的方向和意見,像改良設(shè)計(jì)方案,加強(qiáng)系統(tǒng)功能,改進(jìn)用戶感受等,希望能給以后密碼鎖技術(shù)的發(fā)展賦予參照和范例。2密碼鎖設(shè)計(jì)原理2.1密碼鎖的基本概念研究如圖1所示:密碼鎖屬于一種安全防護(hù)設(shè)備,在現(xiàn)代生活中具有非常關(guān)鍵的作用,它主要由三部分組成,即輸入設(shè)備、處理單元以及輸出執(zhí)行機(jī)構(gòu)。圖2-SEQ圖2-\*ARABIC1密碼鎖安全分析輸入設(shè)備是用戶與密碼鎖進(jìn)行交互的第一個(gè)界面,常見的輸入方式有按鍵式,按鍵式密碼鎖通過用戶按壓一定順序的數(shù)字或字母鍵來輸入密碼,這種輸入方式更加先進(jìn),安全性也更高。處理單元是密碼鎖的核心部分,負(fù)責(zé)接收輸入設(shè)備傳來的信號(hào)并加以處理,一般包含一個(gè)微處理器或者ASIC,用以執(zhí)行密碼驗(yàn)證算法,當(dāng)用戶輸入的密碼與預(yù)設(shè)密碼相符時(shí),處理單元就會(huì)發(fā)出解鎖信號(hào),若不符,則也許會(huì)觸發(fā)警報(bào),處理單元也許還會(huì)包含一些輔助電路,電源管理電路,時(shí)鐘電路等等,從而保證密碼鎖正常運(yùn)轉(zhuǎn)。輸出執(zhí)行機(jī)構(gòu)則是按照處理單元的指示去執(zhí)行相應(yīng)動(dòng)作,在密碼鎖里,輸出執(zhí)行機(jī)構(gòu)一般由電磁鎖、機(jī)械鎖或者電子鎖之類組成,當(dāng)處理單元發(fā)出解鎖信號(hào)的時(shí)候,輸出執(zhí)行機(jī)構(gòu)就會(huì)解鎖,從而許可用戶踏入或者操作被守護(hù)的設(shè)備或者區(qū)域,要是輸入了錯(cuò)的密碼,執(zhí)行機(jī)構(gòu)也許就會(huì)一直處于鎖定狀態(tài),并且還可能觸發(fā)報(bào)警裝置。密碼鎖依靠輸入設(shè)備接收用戶的命令,經(jīng)過處理單元執(zhí)行密碼校驗(yàn),按照校驗(yàn)的結(jié)果控制輸出執(zhí)行機(jī)構(gòu)動(dòng)作,進(jìn)而達(dá)成對(duì)設(shè)備或者區(qū)域的訪問控制,這個(gè)基本的組成和工作原理是密碼鎖設(shè)計(jì)的基礎(chǔ),如圖3所示:圖2-SEQ圖2-\*ARABIC3密碼鎖結(jié)構(gòu)2.2密碼鎖的設(shè)計(jì)要求設(shè)計(jì)密碼鎖的時(shí)候,要全面考慮到很多關(guān)鍵需求,從而保證它在實(shí)際應(yīng)用當(dāng)中能符合用戶的安全防護(hù)需求,安全性自然是密碼鎖設(shè)計(jì)里的頭等大事,密碼鎖必須能夠抵御非法入侵,這就要求系統(tǒng)有著很強(qiáng)的加密能力,用戶密碼存貯和傳遞的時(shí)候不能被破解,密碼鎖還要具備密碼復(fù)雜度校驗(yàn)功能,強(qiáng)迫用戶設(shè)定強(qiáng)度高的密碼,加大破解難度,為了防范暴力破解,密碼鎖還應(yīng)當(dāng)設(shè)計(jì)錯(cuò)誤輸入次數(shù)限制以及自動(dòng)鎖定機(jī)制,一旦到達(dá)限定次數(shù)就會(huì)自動(dòng)鎖定,要想重新嘗試,就要等一段時(shí)間。穩(wěn)定性是密碼鎖設(shè)計(jì)的另一個(gè)關(guān)鍵部分,密碼鎖要在各種環(huán)境中穩(wěn)定工作,要經(jīng)受住極端溫度,濕度,電磁干擾等各種惡劣條件的考驗(yàn),硬件設(shè)計(jì)時(shí),要采用高質(zhì)量的電子元器件和結(jié)實(shí)的機(jī)械構(gòu)造,保證長(zhǎng)時(shí)間運(yùn)行不出問題,軟件層面,也要對(duì)算法和邏輯加以改進(jìn),縮減系統(tǒng)資源占用,提升運(yùn)行效率。易用性也是設(shè)計(jì)過程里不能輕視的一環(huán),密碼鎖的操作界面應(yīng)該簡(jiǎn)單明晰,方便用戶迅速上手,比如可以采用LED顯示屏或者語音提示之類的手段,隨時(shí)顯示用戶當(dāng)前的操作狀況,防止出現(xiàn)錯(cuò)誤操作,密碼鎖還要支撐多種輸入形式,數(shù)字,字母或者組合密碼等等,迎合不同的用戶,密碼鎖最好能設(shè)計(jì)成便于修改和找回密碼的形式,這樣當(dāng)用戶忘掉密碼的時(shí)候就能快速恢復(fù)正常。設(shè)計(jì)密碼鎖的時(shí)候,要顧及安全性,穩(wěn)定性,方便性這些方面的必要需求,利用恰當(dāng)?shù)挠布?guī)劃和軟件編程手段,保證該系統(tǒng)在實(shí)際使用過程中能表現(xiàn)出最好的性能,給使用者帶來安全又便捷的體驗(yàn)感。2.3密碼鎖的工作流程圖2-SEQ圖2-\*ARABIC4密碼鎖各環(huán)節(jié)時(shí)間損耗圖2-SEQ圖2-\*ARABIC5密碼鎖各環(huán)節(jié)實(shí)踐損耗如圖4、5,密碼鎖的工作流程是個(gè)復(fù)雜又細(xì)致的過程,它牽扯到用戶交互,密碼核實(shí)以及解鎖等諸多環(huán)節(jié),當(dāng)用戶開始使用密碼鎖的時(shí)候,第一步就是通過輸入設(shè)備,鍵盤或者觸摸屏來輸入密碼,這個(gè)過程要求用戶依照系統(tǒng)的提示,逐個(gè)輸入設(shè)定好的數(shù)字或者字符序列,為了保證輸入正確無誤,系統(tǒng)會(huì)隨時(shí)表現(xiàn)用戶輸入的密碼內(nèi)容,或者在用戶完成輸入之后予以確認(rèn)。當(dāng)用戶完成密碼輸入以后,系統(tǒng)就進(jìn)入到密碼驗(yàn)證的環(huán)節(jié),在這個(gè)環(huán)節(jié)中,密碼鎖會(huì)憑借自身的驗(yàn)證算法,把用戶輸入的密碼同預(yù)先設(shè)定的正確密碼執(zhí)行對(duì)比,這一對(duì)比過程一般包含對(duì)字符序列的對(duì)比,哈希值的對(duì)比以及時(shí)間戳的對(duì)比等諸多方面,以此來保證密碼的正確性以及時(shí)效性,如果用戶所輸入的密碼和預(yù)先設(shè)定的密碼相符,那么系統(tǒng)就會(huì)覺得密碼驗(yàn)證順利通過,接下來就要開始解鎖環(huán)節(jié)。解鎖的時(shí)候,密碼鎖依照驗(yàn)證的結(jié)果來產(chǎn)生相應(yīng)的解鎖信號(hào),這個(gè)信號(hào)會(huì)促使執(zhí)行機(jī)構(gòu),比如說電磁鎖,機(jī)械鎖之類的執(zhí)行解鎖動(dòng)作,為了保障安全,系統(tǒng)會(huì)記載解鎖操作所關(guān)聯(lián)的信息,包含時(shí)間,次數(shù)以及使用者身份等等,這樣就能方便之后的安全檢查和故障查找。要留意的是,在整個(gè)工作過程當(dāng)中,密碼鎖還要設(shè)置多種安全保障手段,比如用戶接連幾次輸入錯(cuò)碼的時(shí)候,系統(tǒng)就會(huì)鎖住密碼保護(hù)并報(bào)警,以防非法侵入,而且,密碼鎖也會(huì)定時(shí)更換密碼以及驗(yàn)證算法來應(yīng)對(duì)可能出現(xiàn)的安全風(fēng)險(xiǎn)。密碼鎖的工作流程是十分自動(dòng)化和智能化的,它依賴于先進(jìn)的密碼學(xué)技術(shù)以及硬件設(shè)計(jì)來保證密碼鎖的安全性、可靠性和便捷性,如圖6所示。圖2-SEQ圖2-\*ARABIC6密碼鎖工作流程2.4密碼鎖的關(guān)鍵技術(shù)加密算法是密碼鎖設(shè)計(jì)的關(guān)鍵部分,要想保證密碼存儲(chǔ)和驗(yàn)證的安全性,一般會(huì)采用強(qiáng)度比較大的加密算法,像AES(高級(jí)加密標(biāo)準(zhǔn))或者RSA(非對(duì)稱加密算法),這些加密算法可以有效地防止密碼被破解或者竊取,就算密碼鎖遭受物理攻擊或者惡意軟件攻擊,密碼數(shù)據(jù)的安全性也能得到保障,加密算法的選擇和達(dá)成要全面考量密碼鎖的實(shí)際應(yīng)用情形以及性能需求,保證在提供足夠安全性的同時(shí),不會(huì)過度影響密碼鎖的使用效率和用戶體驗(yàn)。硬件接口是密碼鎖與外界進(jìn)行交流的通道,密碼鎖一般會(huì)設(shè)置有按鍵輸入接口、顯示屏輸出接口、鎖芯控制接口等等,這些接口的實(shí)現(xiàn)與設(shè)計(jì)要保證信號(hào)傳遞的穩(wěn)定性與可靠性,還要考慮接口的兼容性和可拓展性,這樣才能在不同的應(yīng)用場(chǎng)景中靈活地對(duì)接口進(jìn)行配置與應(yīng)用。像按鍵輸入接口就要擁有不錯(cuò)的觸感和反饋機(jī)制,從而讓用戶輸入的時(shí)候既準(zhǔn)確又舒服;顯示屏輸出接口則要有清楚的字符顯示效果和友善的人機(jī)互動(dòng)界面。通信協(xié)議是密碼鎖與外部系統(tǒng)(門禁系統(tǒng)、報(bào)警系統(tǒng)等)進(jìn)行數(shù)據(jù)交換的基礎(chǔ),為保證數(shù)據(jù)傳輸?shù)陌踩涂煽?,往往采用?biāo)準(zhǔn)通信協(xié)議,如TCP/IP協(xié)議、Zigbee無線通信協(xié)議等,這些協(xié)議可提供穩(wěn)定的數(shù)據(jù)傳輸通道及錯(cuò)誤檢測(cè)機(jī)制,保障密碼鎖與外部系統(tǒng)間的數(shù)據(jù)同步和一致性。選擇通信協(xié)議還要顧及系統(tǒng)的兼容性與可拓展性,在不同的應(yīng)用環(huán)境里,可以做到與其他設(shè)備的完美銜接并協(xié)同工作。3基于FPGA的硬件設(shè)計(jì)3.1FPGA選型與資源分配策略關(guān)于FPGA選型,本文根據(jù)密碼鎖設(shè)計(jì)的需求,主要從FPGA的邏輯資源、I/O引腳數(shù)量、時(shí)鐘管理、功耗、成本等方面進(jìn)行選擇。邏輯資源是決定FPGA處理能力的重要因素,邏輯資源的多少?zèng)Q定了密碼鎖系統(tǒng)中各種功能模塊能否被有效實(shí)現(xiàn)。我們所選用的FPGA型號(hào)具有足夠的邏輯單元(LUT)和寄存器數(shù)量,可以滿足密碼輸入、驗(yàn)證、解鎖控制等復(fù)雜邏輯的實(shí)現(xiàn)。密碼鎖設(shè)計(jì)時(shí),I/O引腳數(shù)量也很關(guān)鍵,密碼鎖要同外部設(shè)備(鍵盤,顯示器,執(zhí)行機(jī)構(gòu)等)相連,選用的FPGA具備很多I/O資源,可以支撐多種電平標(biāo)準(zhǔn)和驅(qū)動(dòng)能力,很輕易就能達(dá)到密碼鎖同外部設(shè)備連接的需求。時(shí)鐘管理上,F(xiàn)PGA內(nèi)部集成的PLL或者CMU可以完成對(duì)時(shí)鐘的分頻、倍頻、相位調(diào)節(jié)等操作,這對(duì)于密碼鎖系統(tǒng)的時(shí)鐘同步與時(shí)序優(yōu)化具有十分重要的意義[16]。通過精確地控制時(shí)鐘信號(hào),可以保證密碼鎖系統(tǒng)中的各個(gè)模塊能夠在正確的時(shí)序下進(jìn)行工作。功耗方面,考慮到密碼鎖一般要處于低功耗環(huán)境之中,本文所用FPGA型號(hào)的功耗控制比較好,由于采用先進(jìn)工藝并運(yùn)用電源管理技術(shù),F(xiàn)PGA能夠做到在維持性能的情況下實(shí)現(xiàn)低功耗運(yùn)行,進(jìn)而提升密碼鎖的使用壽命。成本也是FPGA選型時(shí)需要考慮的因素,在保證性能滿足要求的情況下,本文選擇性價(jià)比較高的FPGA型號(hào),從而降低密碼鎖的成本。通過合理的分配與設(shè)計(jì),本文可以實(shí)現(xiàn)在不影響性能的情況下,達(dá)到控制成本的效果。通過綜合考慮邏輯資源、I/O引腳數(shù)目、時(shí)鐘管理、功耗、成本等要素,本文選定合適的FPGA型號(hào)用于密碼鎖的設(shè)計(jì),并制定出合理資源分配策略。3.2密碼鎖模塊劃分由圖7性能對(duì)比可知,在基于FPGA的密碼鎖設(shè)計(jì)中,將整個(gè)系統(tǒng)劃分成不同的功能模塊是保證設(shè)計(jì)清晰、實(shí)現(xiàn)高效的必要步驟。根據(jù)密碼鎖的功能需求,主要分為以下幾大模塊:圖3-SEQ圖3-\*ARABIC1模塊性能對(duì)比密碼輸入模塊,這個(gè)模塊主要用來接收用戶輸入的密碼,它通過FPGA的I/O接口同物理按鍵相連,每當(dāng)按鍵被按下就會(huì)引發(fā)一個(gè)中斷信號(hào),F(xiàn)PGA內(nèi)部的掃描電路就會(huì)捕捉到這個(gè)信號(hào),并加以處理,為了改善用戶的體驗(yàn)感,一般會(huì)采用去抖動(dòng)算法去除按鍵機(jī)械抖動(dòng)造成的誤觸,這個(gè)模塊還要有密碼輸入的緩存功能,這樣就能在用戶輸入完畢之后執(zhí)行下一步的驗(yàn)證操作。如圖8所示,密碼驗(yàn)證模塊是密碼鎖系統(tǒng)的主要部分,它把用戶輸入的密碼同預(yù)先設(shè)定的正確密碼做比較,這個(gè)模塊包含密碼存儲(chǔ)單元和比對(duì)算法單元,密碼存儲(chǔ)單元利用FPGA內(nèi)部存儲(chǔ)器資源,用加密形式存放正確密碼,比對(duì)算法單元負(fù)責(zé)把用戶輸入的密碼解密后再同存儲(chǔ)的正確密碼做比對(duì),看密碼是否正確,為了保障安全,比對(duì)算法里常常會(huì)加上隨機(jī)數(shù)和哈希函數(shù)之類的手段,這樣可以防止密碼被暴力破解。圖3-SEQ圖3-\*ARABIC2模塊性能對(duì)比解鎖控制模塊只有當(dāng)密碼驗(yàn)證成功之后才會(huì)執(zhí)行解鎖的操作,這個(gè)模塊包含解鎖信號(hào)生成單元以及執(zhí)行機(jī)構(gòu)控制單元[17]。解鎖信號(hào)生成單元會(huì)在密碼驗(yàn)證成功之后產(chǎn)生一個(gè)高電平信號(hào),此信號(hào)會(huì)被傳送到執(zhí)行機(jī)構(gòu)控制單元,而執(zhí)行機(jī)構(gòu)控制單元?jiǎng)t會(huì)去控制物理鎖的開閉,從而達(dá)成解鎖的目的,為了加強(qiáng)安全性,解鎖控制模塊還設(shè)置了超時(shí)鎖定和錯(cuò)誤次數(shù)限制之類的保護(hù)手段。除了上述模塊之外,密碼鎖系統(tǒng)也許會(huì)存在其他輔助模塊,比如電源管理模塊,狀態(tài)顯示模塊之類的,參考圖9,電源管理模塊承擔(dān)著給整個(gè)系統(tǒng)給予穩(wěn)定電力供給的任務(wù),保障系統(tǒng)能夠在各類環(huán)境下保持正常運(yùn)作,而狀態(tài)顯示模塊,則借助LED燈或者LCD顯示屏之類的工具,向使用者表現(xiàn)出當(dāng)下系統(tǒng)所處的狀況,諸如密碼輸入情況,認(rèn)證結(jié)果等等[19]。圖3-SEQ圖3-\*ARABIC3密碼鎖的各大模塊3.3密碼輸入模塊設(shè)計(jì)按鍵輸入部分使用矩陣鍵盤,矩陣鍵盤可以有效的節(jié)省I/O資源,并且提供足夠的按鍵數(shù)量供密碼輸入使用。矩陣鍵盤是通過掃描行列來判斷按鍵是否被按下,當(dāng)一個(gè)按鍵被按下時(shí),該按鍵所在的行線與列線就會(huì)形成一條通路,此時(shí)掃描電路就會(huì)被觸發(fā)。掃描電路時(shí)刻關(guān)注著矩陣鍵盤的狀態(tài),一旦察覺到有按鍵被按下就會(huì)立刻開始掃描,這個(gè)過程是逐行逐列地去尋找被按下的那個(gè)鍵到底在哪,然后把這個(gè)位置給編碼成對(duì)應(yīng)的數(shù)字或者字符信號(hào),為了讓掃描既準(zhǔn)又快,掃描電路用上了高速計(jì)數(shù)器和狀態(tài)機(jī)的設(shè)計(jì),能在很短時(shí)間內(nèi)完成一次完整的掃描。信號(hào)處理部分是對(duì)掃描電路所輸出的信號(hào)進(jìn)行進(jìn)一步的處理與轉(zhuǎn)換,它會(huì)對(duì)信號(hào)進(jìn)行去抖動(dòng)處理,從而消除按鍵按下和釋放時(shí)所產(chǎn)生的抖動(dòng)現(xiàn)象對(duì)信號(hào)穩(wěn)定性的干擾,信號(hào)處理部分會(huì)把按鍵編碼信號(hào)轉(zhuǎn)變成系統(tǒng)可以識(shí)別的數(shù)字信號(hào),并把這些信號(hào)傳送給密碼驗(yàn)證模塊,以便開展下一步的處理工作[20],為了保證信號(hào)的準(zhǔn)確性與可靠性,信號(hào)處理部分還設(shè)置了冗余設(shè)計(jì)以及錯(cuò)誤檢測(cè)機(jī)制,在信號(hào)傳輸過程中可以及時(shí)發(fā)現(xiàn)并修正可能存在的錯(cuò)誤。密碼輸入模塊的設(shè)計(jì)注重用戶輸入的便捷與系統(tǒng)的安全,合理安排硬件設(shè)計(jì)和信號(hào)處理算法,保證密碼輸入的正確和快速,具有很好的擴(kuò)充性和可維護(hù)性,為以后系統(tǒng)升級(jí)和功能擴(kuò)展提供了保障。3.4密碼驗(yàn)證模塊設(shè)計(jì)密碼驗(yàn)證模塊是密碼鎖設(shè)計(jì)的關(guān)鍵環(huán)節(jié),它的設(shè)計(jì)直接影響到系統(tǒng)的安全性與可靠性,本文在設(shè)計(jì)密碼驗(yàn)證模塊的時(shí)候,首先想到的就是密碼的存放方式,為了保障密碼的安全性,本文選用非易失性存儲(chǔ)器來存貯密碼信息,像EEPROM或者Flash存儲(chǔ)器之類的,它們可以在斷電的情況下依然保留數(shù)據(jù),而且具備較快的數(shù)據(jù)讀寫速度以及較長(zhǎng)的使用壽命。在密碼存儲(chǔ)的具體實(shí)現(xiàn)上,本文對(duì)密碼進(jìn)行了加密之后再進(jìn)行存儲(chǔ),采用的加密算法可以是AES、DES或者RSA等,在密碼學(xué)領(lǐng)域這些算法都是有著廣泛應(yīng)用和認(rèn)可的,經(jīng)過加密處理之后的密碼即便被竊取也無法直接獲取到原始密碼,這樣就極大地提升了系統(tǒng)的安全性。密碼比對(duì)算法是密碼驗(yàn)證模塊的另一個(gè)重要組成部分,在用戶輸入密碼之后,系統(tǒng)需要把輸入的密碼同存儲(chǔ)的加密密碼做比較,要達(dá)成快速而且準(zhǔn)確的比對(duì),本文規(guī)劃了一種依靠哈希函數(shù)的比對(duì)算法,對(duì)輸入的密碼執(zhí)行哈希運(yùn)算,得到它的哈希值,接著把得到的哈希值同存儲(chǔ)的加密密碼的哈希值做比對(duì),如果兩者相等,就表明密碼驗(yàn)證成功,不然就失敗。除了密碼的存儲(chǔ)和比對(duì)算法之外,反饋機(jī)制也是密碼驗(yàn)證模塊必不可少的一部分,在密碼驗(yàn)證的過程中,系統(tǒng)需要給用戶反饋,比如密碼正確,密碼錯(cuò)誤,密碼嘗試次數(shù)太多等等,為了實(shí)現(xiàn)這樣的功能,本文設(shè)計(jì)了LED指示燈,蜂鳴器等提示設(shè)備,當(dāng)密碼驗(yàn)證成功的時(shí)候,上鎖指示燈熄滅,當(dāng)密碼驗(yàn)證失敗的時(shí)候,LED指示燈會(huì)變成紅色,為了防止暴力破解,本文還設(shè)定了密碼嘗試次數(shù)的限制,當(dāng)用戶連續(xù)多次輸入錯(cuò)誤密碼之后,系統(tǒng)就會(huì)自動(dòng)鎖住,這個(gè)時(shí)候要想再次輸入密碼,需要點(diǎn)擊復(fù)位按鍵。密碼驗(yàn)證模塊的設(shè)計(jì)包含密碼的存儲(chǔ)、比對(duì)算法以及反饋機(jī)制等諸多方面,通過恰當(dāng)?shù)脑O(shè)計(jì)并加以完成,就能保證密碼鎖系統(tǒng)具備較高的安全性與可靠性。3.5解鎖控制模塊設(shè)計(jì)解鎖控制模塊設(shè)計(jì)是密碼鎖系統(tǒng)的重要組成部分,解鎖控制模塊設(shè)計(jì)直接影響密碼鎖的安全性與可靠性。解鎖控制模塊的設(shè)計(jì)主要是解鎖信號(hào)的生成,在密碼輸入正確后,通過密碼驗(yàn)證模塊對(duì)比無誤后,生成解鎖信號(hào),該信號(hào)在FPGA內(nèi)部邏輯電路中進(jìn)行傳輸,保證信號(hào)傳輸?shù)难杆佟?zhǔn)確。執(zhí)行機(jī)構(gòu)控制也是解鎖控制模塊的重要組成,在接收到解鎖指令后,執(zhí)行機(jī)構(gòu)就會(huì)開始工作,打開密碼鎖,這個(gè)過程中電磁鎖會(huì)開合,機(jī)械鎖芯會(huì)轉(zhuǎn)動(dòng)等等,為了保證執(zhí)行機(jī)構(gòu)的動(dòng)作精準(zhǔn)可靠,我們使用了高性能的驅(qū)動(dòng)電路和精密的機(jī)械結(jié)構(gòu),利用FPGA精確控制執(zhí)行機(jī)構(gòu)的動(dòng)作時(shí)間、力度等參數(shù),使其能夠適應(yīng)各種實(shí)際應(yīng)用需求。安全防護(hù)措施屬于解鎖控制模塊設(shè)計(jì)必不可少的一環(huán),在密碼鎖系統(tǒng)里,安全防護(hù)包含防暴力破解、防技術(shù)開鎖等內(nèi)容,為達(dá)成這一目的,控制模塊當(dāng)中融入多種安全防護(hù)手段,比如連續(xù)多次出現(xiàn)錯(cuò)誤輸入的時(shí)候,系統(tǒng)就會(huì)自動(dòng)鎖定并發(fā)出警報(bào),采用先進(jìn)的加密算法及防篡改設(shè)計(jì),保障密碼信息的安全存儲(chǔ)與傳輸,憑借FPGA的即時(shí)監(jiān)控性能,可以迅速察覺并應(yīng)對(duì)可能的安全危險(xiǎn)。4密碼鎖軟件設(shè)計(jì)4.1軟件設(shè)計(jì)總體思路程序架構(gòu)上,本文采用分層設(shè)計(jì),把密碼鎖軟件分成用戶接口層,業(yè)務(wù)邏輯層和數(shù)據(jù)處理層,用戶接口層要跟用戶交互,接收用戶輸入的密碼,還要顯示對(duì)應(yīng)的密碼狀態(tài)信息,業(yè)務(wù)邏輯層是軟件的主要部分,它負(fù)責(zé)處理用戶輸入的密碼,執(zhí)行密碼驗(yàn)證,解鎖控制等操作,數(shù)據(jù)處理層負(fù)責(zé)保存和管理密碼數(shù)據(jù),包含密碼的加密保存,更新和備份等。在模塊劃分方面,軟件被劃分為許多功能模塊,每個(gè)模塊承擔(dān)特定的任務(wù),密碼存儲(chǔ)與管理模塊負(fù)責(zé)密碼數(shù)據(jù)的存儲(chǔ)與管理,保證密碼數(shù)據(jù)的安全與完整,密碼比對(duì)算法模塊負(fù)責(zé)把用戶輸入的密碼同存儲(chǔ)的密碼加以比對(duì),判定密碼是否正確,解鎖控制邏輯模塊依照密碼比對(duì)的結(jié)果來控制解鎖操作的執(zhí)行,保證只有在密碼正確的時(shí)候才執(zhí)行解鎖,用戶界面模塊則承擔(dān)起顯示密碼輸入界面,顯示狀態(tài)提示以及顯示解鎖結(jié)果等任務(wù),從而改善用戶的使用感受。通過這樣的程序架構(gòu)與模塊劃分,可以清楚的定義各個(gè)模塊的功能以及接口,降低了模塊之間的耦合度,使得軟件具有更好的可維護(hù)性與可擴(kuò)展性,也可以根據(jù)需要對(duì)每一個(gè)模塊單獨(dú)進(jìn)行開發(fā)與測(cè)試,提高了軟件開發(fā)的效率和質(zhì)量。4.2密碼存儲(chǔ)與管理密碼的加密儲(chǔ)存是第一步,在此項(xiàng)設(shè)計(jì)當(dāng)中,密碼數(shù)據(jù)會(huì)通過先進(jìn)的加密算法執(zhí)行加密操作,以此規(guī)避未經(jīng)許可的訪問行為,我們選擇了AES(高級(jí)加密標(biāo)準(zhǔn))這種加密算法,它具備高強(qiáng)度與高效率等特征,在各類安全系統(tǒng)里得到了普遍采用,經(jīng)過加密之后的密碼數(shù)據(jù)會(huì)存放在FPGA的內(nèi)部存儲(chǔ)器當(dāng)中,而這個(gè)存儲(chǔ)器有著斷電后數(shù)據(jù)不會(huì)遺失的特性,可以保障密碼數(shù)據(jù)處于安全可靠的狀態(tài)。密碼的更新機(jī)制也很重要,用戶想要保證密碼的安全性,就需要定時(shí)更新密碼,在本系統(tǒng)中,用戶可以在指定的輸入界面輸入新的密碼,系統(tǒng)會(huì)先驗(yàn)證舊密碼是否正確,只有正確之后才會(huì)允許用戶更新密碼,系統(tǒng)還會(huì)對(duì)密碼更新的頻率做出限制,避免用戶過于頻繁地更改密碼,給管理帶來麻煩。密碼備份是密碼管理不可缺少的部分,為了防止密碼數(shù)據(jù)由于意外情況而丟失,系統(tǒng)具備了密碼備份功能,在執(zhí)行密碼備份的時(shí)候,經(jīng)過加密處理過的密碼數(shù)據(jù)會(huì)被導(dǎo)出到安全的存儲(chǔ)介質(zhì)上,USB閃存盤或者云存儲(chǔ)服務(wù)等等,在要恢復(fù)密碼的時(shí)候,用戶就可以把備份的數(shù)據(jù)導(dǎo)入進(jìn)來從而完成密碼的恢復(fù),保證系統(tǒng)正常運(yùn)行。要想提升密碼管理的便捷性與安全性,該系統(tǒng)還有密碼找回功能,用戶忘掉密碼的時(shí)候,可以憑借預(yù)先設(shè)置好的安全問題或者備用郵箱去找回密碼,這種機(jī)制既改善了用戶體驗(yàn)又加強(qiáng)了系統(tǒng)的安全性。密碼存儲(chǔ)與管理系統(tǒng)在密碼鎖設(shè)計(jì)中起著重要作用,通過使用先進(jìn)的加密算法,合理的密碼更新機(jī)制,可靠的密碼備份功能和方便的密碼找回機(jī)制,本系統(tǒng)可以保證密碼數(shù)據(jù)的安全可靠,為用戶提供安全可靠的密碼管理服務(wù)。4.3密碼比對(duì)算法本文使用哈希函數(shù)來處理用戶輸入的密碼,哈希函數(shù)可以把任意長(zhǎng)度的數(shù)據(jù)映射成一個(gè)固定長(zhǎng)度的哈希值,而且不同數(shù)據(jù)生成相同哈希值的概率幾乎不存在。這樣一來,本文在存儲(chǔ)和比對(duì)密碼的時(shí)候,就只需要操作哈希值,而不必存儲(chǔ)明文密碼,極大地提升了系統(tǒng)的安全性,而且哈希函數(shù)的運(yùn)算速度比較快,能夠符合密碼鎖系統(tǒng)這種對(duì)實(shí)時(shí)性要求較高的情況。本文在密碼比對(duì)算法中加入了時(shí)間戳,在用戶輸入密碼的時(shí)候,會(huì)記錄當(dāng)前的時(shí)間戳,并且與預(yù)先設(shè)定好的有效時(shí)間范圍做比較,如果輸入的時(shí)間超出了有效范圍,那么就認(rèn)定為無效輸入,這樣就能有效地防止密碼被暴力破解,而且時(shí)間戳的加入既提升了密碼鎖的安全性,又能在某種程度上防止密碼泄露之后被人惡意使用。本文也設(shè)置了錯(cuò)誤次數(shù)限制功能,如果用戶持續(xù)多次輸錯(cuò)密碼,系統(tǒng)會(huì)臨時(shí)鎖定密碼,一段時(shí)間之后便會(huì)自動(dòng)解鎖或者要由管理員執(zhí)行解鎖操作,這樣可以阻止惡意攻擊者不停地嘗試破解密碼,從而加強(qiáng)系統(tǒng)的安全性,為防止用戶由于誤操作而觸動(dòng)鎖定機(jī)制,本文設(shè)定了恰當(dāng)?shù)腻e(cuò)誤次數(shù)閾值,而且在用戶接近這個(gè)數(shù)值之前就發(fā)出提醒。通過引入哈希函數(shù)、時(shí)間戳機(jī)制、錯(cuò)誤次數(shù)限制等功能,本文設(shè)計(jì)出一種高效而安全的密碼比對(duì)算法,該算法既保障密碼鎖系統(tǒng)的安全性,又顧及用戶的體驗(yàn)感和方便程度。4.4解鎖控制邏輯解鎖條件一般取決于用戶輸入的密碼與預(yù)先設(shè)定的密碼是否相匹配,當(dāng)用戶利用密碼輸入模塊輸入一系列字符之后,系統(tǒng)就會(huì)調(diào)用密碼驗(yàn)證模塊去驗(yàn)證這些字符,只有當(dāng)輸入的密碼與預(yù)先設(shè)定的密碼完全吻合的時(shí)候,解鎖條件才會(huì)達(dá)成,系統(tǒng)才會(huì)進(jìn)入到下一步的解鎖程序當(dāng)中,想要進(jìn)一步提升安全性,筆者可以在解鎖條件里添加時(shí)間方面的約束,比如說,可以設(shè)置成如果密碼輸入有誤達(dá)到一定的次數(shù)以后,就必需等待一段時(shí)間才可以再度嘗試,這樣一來就能有效地阻止暴力破解。操作權(quán)限設(shè)計(jì)涉及密碼鎖系統(tǒng)靈活度與安全性,我們依照實(shí)際需求把操作權(quán)限分成多種等級(jí),像管理員權(quán)限,普通用戶權(quán)限等,管理員權(quán)限的操作自由度比較高,可以設(shè)置或者改變密碼,查看解鎖記錄等等,而普通用戶權(quán)限只能做密碼輸入和解鎖這些事情,通過合理的權(quán)限劃分,本文既能符合不同用戶的需求,又能夠保證系統(tǒng)的安全。安全機(jī)制屬于解鎖控制邏輯中的重要部分,我們用許多種安全手段去保護(hù)密碼鎖系統(tǒng)的安全,諸如加密儲(chǔ)存密碼,限制密碼輸入次數(shù),安裝防撬警報(bào)等等,本文還加入了異常察覺機(jī)制,可以隨時(shí)察覺并回應(yīng)各類異常狀況,例如非法訪問,強(qiáng)力破解等等,一察覺到異常就馬上觸動(dòng)警報(bào)機(jī)制,并實(shí)行對(duì)應(yīng)的防御舉措,從而保證系統(tǒng)安全地運(yùn)作下去。5密碼鎖系統(tǒng)集成與測(cè)試5.1系統(tǒng)集成步驟表5-1系統(tǒng)集成的相關(guān)步驟集成步驟詳細(xì)說明硬件連接1.準(zhǔn)備FPGA-EP2C5T開發(fā)板和配套的連接線。2.將FPGA開發(fā)板通過JTAG接口連接到計(jì)算機(jī)。3.連接密碼輸入模塊(如鍵盤)到FPGA的GPIO接口。4.連接顯示模塊(如LCD顯示屏)到FPGA的顯示接口,用于顯示密碼輸入狀態(tài)和鎖的狀態(tài)。5.連接電源模塊,確保FPGA開發(fā)板及其外圍設(shè)備正常供電。軟件加載1.使用Quartus開發(fā)工具,編寫密碼鎖系統(tǒng)的Verilog代碼。2.編譯代碼,生成比特流文件(.bit)。3.將比特流文件通過FPGA開發(fā)工具下載到FPGA開發(fā)板上。4.編寫密碼鎖系統(tǒng)的控制軟件,包括密碼驗(yàn)證、鎖狀態(tài)控制等邏輯。5.將控制軟件上傳到FPGA開發(fā)板上的嵌入式系統(tǒng)中,使用MicroBlaze處理器。調(diào)試過程1.通過FPGA開發(fā)工具中的調(diào)試工具,用信號(hào)探頭(SignalProbe)和邏輯分析儀(LogicAnalyzer),監(jiān)測(cè)密碼輸入信號(hào)和鎖狀態(tài)信號(hào)。2.輸入不同的密碼進(jìn)行測(cè)試,驗(yàn)證密碼鎖系統(tǒng)的正確性。3.調(diào)試過程中,根據(jù)監(jiān)測(cè)到的信號(hào)和測(cè)試結(jié)果,修改Verilog代碼,優(yōu)化密碼鎖系統(tǒng)的性能。如上表所示:系統(tǒng)集成階段,密碼鎖系統(tǒng)的硬件連接是第一步,需要準(zhǔn)備FPGA開發(fā)板,本文是使用FPGA-EP2C5T系列,它具有強(qiáng)大的處理能力和豐富的接口資源,非常適合作為密碼鎖系統(tǒng)的核心,使用USB接口把FPGA開發(fā)板同計(jì)算機(jī)相連接,方便開展代碼下載和調(diào)試工作,把密碼輸入模塊,比如鍵盤,接到FPGA的GPIO接口上,用來接收用戶輸入的密碼,顯示模塊,比如LCD顯示屏,也要連到FPGA的顯示接口上,這樣就能及時(shí)顯示密碼輸入情況以及鎖的狀態(tài),改善用戶的體驗(yàn)感。軟件加載方面,首先使用Quartus開發(fā)工具,按照設(shè)計(jì)需求寫出密碼鎖系統(tǒng)的Verilog代碼,這些代碼規(guī)定了密碼鎖的邏輯功能,包含密碼存儲(chǔ),密碼驗(yàn)證以及解鎖控制等內(nèi)容,代碼編寫好之后,利用工具來編譯代碼,從而得到比特流文件(.bit),這便是FPGA要被配置的二進(jìn)制文件,把比特流文件下載到FPGA開發(fā)板上,就完成了硬件的邏輯配置,還要編寫密碼鎖系統(tǒng)的控制軟件,這部分軟件會(huì)在FPGA開發(fā)板上的嵌入式系統(tǒng)里運(yùn)行。調(diào)試過程是保證密碼鎖系統(tǒng)穩(wěn)定準(zhǔn)確工作的重要環(huán)節(jié),利用FPGA開發(fā)工具中的調(diào)試工具,如信號(hào)探頭和邏輯分析儀等,可以對(duì)密碼輸入信號(hào)和鎖狀態(tài)信號(hào)進(jìn)行實(shí)時(shí)監(jiān)測(cè),從而準(zhǔn)確判斷密碼鎖系統(tǒng)的當(dāng)前工作狀態(tài),在調(diào)試過程中,通過輸入不同的密碼進(jìn)行測(cè)試,驗(yàn)證密碼鎖系統(tǒng)是否能正常工作,如果發(fā)現(xiàn)密碼驗(yàn)證失敗或者解鎖控制有誤等問題,可以根據(jù)監(jiān)測(cè)到的信號(hào)以及測(cè)試結(jié)果及時(shí)修改Verilog代碼,優(yōu)化密碼鎖系統(tǒng)性能,這個(gè)過程要反復(fù)執(zhí)行,直至密碼鎖系統(tǒng)可以穩(wěn)定準(zhǔn)確地對(duì)各種輸入做出反應(yīng),符合實(shí)際使用需求。5.2系統(tǒng)測(cè)試方案表5-2各功能的系統(tǒng)測(cè)試測(cè)試項(xiàng)目測(cè)試內(nèi)容測(cè)試條件預(yù)期結(jié)果實(shí)際結(jié)果備注功能測(cè)試1.密碼設(shè)置功能輸入新密碼:1357密碼設(shè)置成功提示密碼設(shè)置成功提示通過2.密碼驗(yàn)證功能輸入正確密碼:1357鎖開啟,L1燈滅鎖開啟,L1燈滅通過輸入錯(cuò)誤密碼:4321鎖不開啟,L3紅燈閃爍鎖不開啟,L3紅燈閃爍通過3.密碼重置功能輸入預(yù)設(shè)重置碼:1357密碼重置成功提示,恢復(fù)默認(rèn)密碼密碼重置成功提示,恢復(fù)為1111通過性能測(cè)試1.響應(yīng)時(shí)間測(cè)試從輸入密碼到鎖反應(yīng)的時(shí)間<0.5秒0.3秒通過2.功耗測(cè)試在待機(jī)狀態(tài)下<10mW8mW通過在工作狀態(tài)下<100mW75mW通過3.耐用性測(cè)試連續(xù)輸入錯(cuò)誤密碼1000次鎖仍然能正常工作鎖正常工作,無異常通過4.環(huán)境適應(yīng)性測(cè)試高溫環(huán)境(50°C)下工作鎖能正常工作鎖正常工作,無異常通過低溫環(huán)境(0°C)下工作鎖能正常工作鎖正常工作,無異常通過系統(tǒng)測(cè)試方案是保證基于FPGA的密碼鎖設(shè)計(jì)達(dá)到預(yù)期的功能和性能的重要環(huán)節(jié)。測(cè)試方案主要包括功能測(cè)試、性能測(cè)試兩大方面,如表2所示。目的在于測(cè)試密碼鎖系統(tǒng)的可靠性與安全性。功能檢測(cè)重點(diǎn)在于密碼鎖的基礎(chǔ)功能,包含密碼設(shè)定,密碼確認(rèn)以及密碼重設(shè),在密碼設(shè)定功能檢測(cè)時(shí),本文模仿用戶輸入新密碼1357,系統(tǒng)順利顯示密碼設(shè)定完畢,密碼確認(rèn)功能檢測(cè)則分別針對(duì)正確密碼與錯(cuò)誤密碼的輸入狀況展開,系統(tǒng)可精確識(shí)別,并給予對(duì)應(yīng)的反饋信息,例如正確密碼輸入之后鎖打開上鎖燈滅,錯(cuò)誤密碼輸入以后鎖不打開而且紅燈閃爍起來,密碼重設(shè)功能檢測(cè)過程中,先輸入正確密碼,然后點(diǎn)擊重設(shè)按鍵,系統(tǒng)便會(huì)成功重設(shè)密碼并且回到初始狀態(tài)(在此例當(dāng)中即為1111)。性能檢測(cè)上,對(duì)響應(yīng)時(shí)間,功耗,耐用性以及環(huán)境適應(yīng)情況展開細(xì)致檢測(cè),響應(yīng)時(shí)間檢測(cè)中,由輸入密碼到鎖做出反應(yīng)所耗費(fèi)的時(shí)間僅為0.3秒,比預(yù)計(jì)的0.5秒要短很多,功耗檢測(cè)發(fā)現(xiàn),系統(tǒng)處于待機(jī)狀態(tài)時(shí)功耗為8mW,而處在工作狀態(tài)時(shí)功耗則為75mW,二者皆小于預(yù)估數(shù)值,環(huán)境適應(yīng)檢測(cè)把溫度控制在50℃與0℃這兩個(gè)極端值上,在此情況下鎖依然可以正常運(yùn)行,沒有出現(xiàn)任何異樣之處。通過這一系列嚴(yán)格的測(cè)試方案,本文全面驗(yàn)證了基于FPGA的密碼鎖系統(tǒng)的功能和性能,確保其在實(shí)際應(yīng)用中能夠穩(wěn)定、可靠且安全地工作。圖5-1密碼鎖開機(jī)初始界面圖5-2密碼開鎖成功圖5-3密碼輸入錯(cuò)誤圖5-4密碼輸入錯(cuò)誤達(dá)到上限5.3功能測(cè)試對(duì)密碼輸入模塊展開測(cè)試,模擬用戶通過按鍵輸入密碼,查看輸入模塊能否精準(zhǔn)識(shí)別并傳送用戶輸入的密碼,通過反復(fù)輸入各種長(zhǎng)度的密碼組合,證實(shí)了輸入模塊具備較高的靈敏性與準(zhǔn)確度,測(cè)試表明,該模塊可穩(wěn)定而精確地接納并傳送用戶輸入的密碼,不存在誤認(rèn)或者漏認(rèn)情況。之后,文章針對(duì)密碼驗(yàn)證模塊展開了檢測(cè)工作,這個(gè)模塊承擔(dān)著保存用戶預(yù)先設(shè)定的密碼的任務(wù),當(dāng)用戶輸入密碼的時(shí)候會(huì)執(zhí)行比較操作,我們事先設(shè)置好了許多組密碼,再用檢測(cè)工具模仿用戶輸入這些密碼實(shí)施驗(yàn)證,從檢測(cè)結(jié)果看,密碼驗(yàn)證模塊可以很快且精確地把用戶輸入的密碼同預(yù)先設(shè)定好的密碼加以對(duì)比,從而辨別出合法用戶和非法用戶,文章也檢測(cè)了密碼驗(yàn)證模塊在接連出現(xiàn)很多次錯(cuò)誤輸入以后的鎖定功能,保證系統(tǒng)遭到惡意進(jìn)攻時(shí)能給予有效的保護(hù)。本文還對(duì)解鎖控制模塊進(jìn)行了功能測(cè)試,解鎖控制模塊主要是在密碼驗(yàn)證成功之后產(chǎn)生解鎖信號(hào),控制執(zhí)行機(jī)構(gòu)進(jìn)行解鎖,我們模擬了密碼驗(yàn)證成功的情況,看解鎖控制模塊能否正確產(chǎn)生解鎖信號(hào),控制執(zhí)行機(jī)構(gòu)進(jìn)行解鎖。測(cè)試結(jié)果顯示解鎖控制模塊能夠按照設(shè)計(jì)要求正確產(chǎn)生解鎖信號(hào),正確控制執(zhí)行機(jī)構(gòu)進(jìn)行解鎖。在全部功能測(cè)試過程當(dāng)中,本文把各個(gè)測(cè)試數(shù)據(jù)以及測(cè)試結(jié)果全都記錄下來,然后對(duì)測(cè)試結(jié)果展開細(xì)致分析,從測(cè)試結(jié)果來看,密碼鎖系統(tǒng)里的各個(gè)功能模塊都能按照設(shè)計(jì)要求正常運(yùn)作,沒有出現(xiàn)明顯功能缺陷或者故障,這給接下來的性能測(cè)試和安全測(cè)試形成了良好基礎(chǔ)。5.4性能測(cè)試響應(yīng)速度測(cè)試時(shí),模擬用戶輸入密碼然后觸發(fā)驗(yàn)證過程,記錄從輸入密碼開始到系統(tǒng)反饋驗(yàn)證結(jié)果之間的時(shí)間間隔,測(cè)試結(jié)果顯示本密碼鎖系統(tǒng)接到用戶輸入之后,很快就能完成密碼驗(yàn)證并給予反饋,這明顯改善了用戶的體驗(yàn)感。穩(wěn)定性測(cè)試主要是對(duì)密碼鎖系統(tǒng)在長(zhǎng)時(shí)間運(yùn)行時(shí)的狀態(tài)進(jìn)行測(cè)試,通過不斷輸入正確的密碼以及錯(cuò)誤的密碼,來測(cè)試密碼鎖系統(tǒng)是否會(huì)卡頓、崩潰或者誤報(bào)等現(xiàn)象,經(jīng)過測(cè)試密碼鎖系統(tǒng)一直處于穩(wěn)定狀態(tài),沒有出現(xiàn)任何異常,說明密碼鎖系統(tǒng)的穩(wěn)定性良好。可靠性測(cè)試重點(diǎn)在于考察密碼鎖系統(tǒng)處在極端環(huán)境中的表現(xiàn)狀況,比如當(dāng)輸入錯(cuò)誤密碼次數(shù)較多的時(shí)候,系統(tǒng)能否恰當(dāng)鎖定并且阻止非法訪問,而在電源處于不穩(wěn)定或者突然停電的情形之下,系統(tǒng)又能不能保存當(dāng)下的狀態(tài),并在重新供電之后接著運(yùn)行,測(cè)試成果表明,密碼鎖系統(tǒng)碰到這類極端狀況的時(shí)候,都會(huì)作出正確的反應(yīng),從而切實(shí)保障了系統(tǒng)的安全與穩(wěn)定。6結(jié)論與建議6.1研究結(jié)論總結(jié)關(guān)于密碼鎖的設(shè)計(jì)原理,在這方面本研究把密碼鎖的基本組成以及工作原理梳理出來,清楚了設(shè)計(jì)時(shí)要顧及的各類要求,安全,穩(wěn)定,易用等等,依靠先進(jìn)加密算法,硬件接口,通信協(xié)議這些關(guān)鍵技術(shù),保證密碼鎖系統(tǒng)有著很高的安全性和可靠性。從具體落實(shí)角度看,依托FPGA的硬件設(shè)計(jì)達(dá)成了諸如密碼輸入,驗(yàn)證以及解鎖控制之類的關(guān)鍵功能,其硬件模塊劃分較為恰當(dāng),各個(gè)模塊職責(zé)明晰,合作默契,尤其在密碼輸入模塊里,通過按鍵輸入,掃描電路以及信

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論