智能安全鍵盤軟硬件完整方案
BP算法的學(xué)習(xí)過程如下:
本文引用地址:http://butianyuan.cn/article/265780.htm
①正向傳播:輸入信息從輸入層經(jīng)隱含層逐層處理,并傳向輸出層,每層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)(如下圖所示)。
②反向傳播:如果在輸出層不能得到期望的輸出,則轉(zhuǎn)入反向傳播,將誤差信號沿原來的連接通路返回,通過修改各層神經(jīng)元的權(quán)值,使誤差信號最小。
BP算法的主要步驟如下:
?、僦盟袡?quán)值為較小的隨機(jī)數(shù);
?、谔峁┯?xùn)練集,給定輸入向量X=(x1,x2,……,xm)和期望的目標(biāo)輸出向量D=(d1,d2,……,dn);
?、矍跋蛴?jì)算,計(jì)算實(shí)際輸出,計(jì)算隱含層,輸出層各神經(jīng)元的輸出:
?、軐敵鰧佑?jì)算δ:
?、輳暮笙蚯坝?jì)算各隱層δ:
⑥計(jì)算并保存各權(quán)值修正量:
?、咝拚龣?quán)值:
?、嗯袛嗍欠袷諗?,如果收斂則結(jié)束,不收斂則轉(zhuǎn)至(3)重復(fù)計(jì)算,直到誤差Ep滿足要求。
本系統(tǒng)實(shí)現(xiàn)設(shè)計(jì)的BP網(wǎng)絡(luò)考慮到用戶的口令長度通常為8~16個,對應(yīng)生成的特征的維數(shù)為23-47維,因此網(wǎng)絡(luò)的輸入節(jié)點(diǎn)數(shù)定為20~50,可依據(jù)口令長度選擇。隱含層節(jié)點(diǎn)數(shù)需要在實(shí)現(xiàn)過程中不斷模擬訓(xùn)練進(jìn)行確定,以使判別效果達(dá)到最佳。
?、泼艽a處理模塊
設(shè)混沌序列為
考慮到這四個值在PS/2總線上傳輸帶來的安全性的問題,我們決定讓其在密碼處理模塊和PC機(jī)端分別生成,生成函數(shù)如下:
(三)硬件框圖
在硬件框圖中,鍵盤信號包括按鍵時間長短、按鍵時間間隔和密碼明文三個信號,該信號通過RS232總線傳送至FPGA。由于FPGA的ADC對電壓的范圍有要求,壓力信號先通過AMP進(jìn)行放大處理后,再通過ADC轉(zhuǎn)換成數(shù)字信號后再傳送至FPGA。在FPGA上,信號處理模塊運(yùn)用神經(jīng)網(wǎng)絡(luò)算法對采集的信號樣本進(jìn)行處理,對于通過神經(jīng)網(wǎng)絡(luò)的信號樣本,通過密碼處理模塊的混沌算法對密碼進(jìn)行加密后,再通過RS232總線送至PC。在PC端,密碼實(shí)際上為密碼原文經(jīng)混沌加密以后的密文。
三、設(shè)計(jì)與實(shí)現(xiàn)的功能
1.安全性。以應(yīng)用為基礎(chǔ),以神經(jīng)網(wǎng)絡(luò)為核心,以混沌算法輔助完成基于有限學(xué)習(xí)正例集合的正反例識別。通過采集用戶擊鍵習(xí)慣相關(guān)系數(shù),采用BP神經(jīng)網(wǎng)絡(luò)算法動態(tài)學(xué)習(xí)、判別合法用戶特征,再通過混沌算法對密碼進(jìn)行加密處理,實(shí)現(xiàn)高效、高用戶辨別能力的身份認(rèn)證。
2.多用戶支持。利用FPGA的大量數(shù)據(jù)處理能力,可以方便地實(shí)現(xiàn)采樣數(shù)據(jù)與相關(guān)數(shù)據(jù)庫中大量數(shù)據(jù)的迅速比對。
3.力感識別。通過對相關(guān)資料的學(xué)習(xí),我們發(fā)現(xiàn)目前關(guān)于用戶特征信息采樣的研究工作都是基于擊鍵時間長短和時間間隔的,我們通過力度傳感設(shè)備將用戶擊鍵力度數(shù)字化之后,作為用戶特征信息的一個方面,進(jìn)行比對驗(yàn)證和學(xué)習(xí)。
4.密碼鍵盤與普通鍵盤的切換。單用戶應(yīng)用環(huán)境中,可以通過硬件開關(guān)屏蔽傳感器不進(jìn)行相應(yīng)數(shù)據(jù)處理而實(shí)現(xiàn)密碼鍵盤與普通鍵盤的切換。
5.成本低廉。對用戶的眼底圖像、指紋、頭像等的識別均需要特殊的硬件設(shè)備,且有些設(shè)備價格相當(dāng)昂貴,不利于系統(tǒng)的實(shí)施和推廣。而除了力感識別所需的壓力傳感器以外,了解用戶的擊鍵節(jié)奏不需要添加其他硬件,是各種生物特征用戶認(rèn)證技術(shù)中代價較小的一種,易于為用戶所接受。
四、性能指標(biāo)
在系統(tǒng)檢測方面,我們將分別模擬單用戶和多用戶應(yīng)用環(huán)境,采集相關(guān)數(shù)據(jù),通過以下兩個評價指標(biāo),檢測系統(tǒng)的性能:
1.檢測率(Detection Rate,DR):被檢測到的假冒樣本的數(shù)量和測試集中總的假冒樣本的數(shù)量的比率;
2.虛警率(False Positive Rate,F(xiàn)PR):正常樣本數(shù)據(jù)被誤檢為假冒樣本的數(shù)量和測試集中總的正常樣本的數(shù)量的比率。
五、系統(tǒng)特色
本系統(tǒng)最大的特色在于采用了神經(jīng)網(wǎng)絡(luò)算法,智能地對用戶擊鍵特征進(jìn)行學(xué)習(xí)和識別。
人工神經(jīng)網(wǎng)絡(luò)模型主要考慮網(wǎng)絡(luò)連接的拓?fù)浣Y(jié)構(gòu)、神經(jīng)元的特征、學(xué)習(xí)規(guī)則等。目前,已有近40種神經(jīng)網(wǎng)絡(luò)模型,其中有反傳網(wǎng)絡(luò)、感知器、自組織映射、Hopfield網(wǎng)絡(luò)、波耳茲曼機(jī)、適應(yīng)諧振理論等。根據(jù)連接的拓?fù)浣Y(jié)構(gòu),神經(jīng)網(wǎng)絡(luò)模型可以分為:(1)前向網(wǎng)絡(luò) 網(wǎng)絡(luò)中各個神經(jīng)元接受前一級的輸入,并輸出到下一級,網(wǎng)絡(luò)中沒有反饋,可以用一個有向無環(huán)路圖表示。這種網(wǎng)絡(luò)實(shí)現(xiàn)信號從輸入空間到輸出空間的變換,它的信息處理能力來自于簡單非線性函數(shù)的多次復(fù)合。網(wǎng)絡(luò)結(jié)構(gòu)簡單,易于實(shí)現(xiàn)。反傳網(wǎng)絡(luò)是一種典型的前向網(wǎng)絡(luò)。(2)反饋網(wǎng)絡(luò) 網(wǎng)絡(luò)內(nèi)神經(jīng)元間有反饋,可以用一個無向的完備圖表示。這種神經(jīng)網(wǎng)絡(luò)的信息處理是狀態(tài)的變換,可以用動力學(xué)系統(tǒng)理論處理。系統(tǒng)的穩(wěn)定性與聯(lián)想記憶功能有密切關(guān)系。Hopfield網(wǎng)絡(luò)、波耳茲曼機(jī)均屬于這種類型。
學(xué)習(xí)是神經(jīng)網(wǎng)絡(luò)研究的一個重要內(nèi)容,它的適應(yīng)性是通過學(xué)習(xí)實(shí)現(xiàn)的。根據(jù)環(huán)境的變化,對權(quán)值進(jìn)行調(diào)整,改善系統(tǒng)的行為。由Hebb提出的Hebb學(xué)習(xí)規(guī)則為神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法奠定了基礎(chǔ)。Hebb規(guī)則認(rèn)為學(xué)習(xí)過程最終發(fā)生在神經(jīng)元之間的突觸部位,突觸的聯(lián)系強(qiáng)度隨著突觸前后神經(jīng)元的活動而變化。在此基礎(chǔ)上,人們提出了各種學(xué)習(xí)規(guī)則和算法,以適應(yīng)不同網(wǎng)絡(luò)模型的需要。有效的學(xué)習(xí)算法,使得神經(jīng)網(wǎng)絡(luò)能夠通過連接權(quán)值的調(diào)整,構(gòu)造客觀世界的內(nèi)在表示,形成具有特色的信息處理方法,信息存儲和處理體現(xiàn)在網(wǎng)絡(luò)的連接中。
本系統(tǒng)采用的神經(jīng)網(wǎng)絡(luò)算法的學(xué)習(xí)方式為監(jiān)督學(xué)習(xí)。我們將訓(xùn)練樣本的數(shù)據(jù)加到網(wǎng)絡(luò)輸入端,同時將相應(yīng)的期望輸出與網(wǎng)絡(luò)輸出相比較,得到誤差信號,以此控制權(quán)值連接強(qiáng)度的調(diào)整,經(jīng)多次訓(xùn)練后收斂到一個確定的權(quán)值。當(dāng)樣本情況發(fā)生變化時,經(jīng)學(xué)習(xí)可以修改權(quán)值以適應(yīng)新的環(huán)境。
人工神經(jīng)網(wǎng)絡(luò)特有的非線性適應(yīng)性信息處理能力,克服了傳統(tǒng)人工智能方法對于直覺,如模式、語音識別、非結(jié)構(gòu)化信息處理方面的缺陷,使之在神經(jīng)專家系統(tǒng)、模式識別、智能控制、組合優(yōu)化、預(yù)測等領(lǐng)域得到成功應(yīng)用。人工神經(jīng)網(wǎng)絡(luò)與其它傳統(tǒng)方法相結(jié)合,將推動人工智能和信息處理技術(shù)不斷發(fā)展。近年來,人工神經(jīng)網(wǎng)絡(luò)正向模擬人類認(rèn)知的道路上更加深入發(fā)展,與模糊系統(tǒng)、遺傳算法、進(jìn)化機(jī)制等結(jié)合,形成計(jì)算智能,成為人工智能的一個重要方向,將在實(shí)際應(yīng)用中得到發(fā)展。將信息幾何應(yīng)用于人工神經(jīng)網(wǎng)絡(luò)的研究,為人工神經(jīng)網(wǎng)絡(luò)的理論研究開辟了新的途徑。神經(jīng)計(jì)算機(jī)的研究發(fā)展很快,已有產(chǎn)品進(jìn)入市場。光電結(jié)合的神經(jīng)計(jì)算機(jī)為人工神經(jīng)網(wǎng)絡(luò)的發(fā)展提供了良好條件。
神經(jīng)網(wǎng)絡(luò)在這個領(lǐng)域中有很多優(yōu)點(diǎn),使得它越來越流行。它在類型分類/識別方面非常出色。神經(jīng)網(wǎng)絡(luò)可以處理例外及不正常的輸入數(shù)據(jù),這對于很多系統(tǒng)都很重要(例如雷達(dá)及聲波定位系統(tǒng))。很多神經(jīng)網(wǎng)絡(luò)都是模仿生物神經(jīng)網(wǎng)絡(luò)的,即是他們仿照大腦的運(yùn)作方式工作。神經(jīng)網(wǎng)絡(luò)也得助于神經(jīng)系統(tǒng)科學(xué)的發(fā)展,使它可以像人類一樣準(zhǔn)確地辨別物件而有電腦的速度!
基于軟件實(shí)現(xiàn)的神經(jīng)網(wǎng)絡(luò)也有些不好的地方。這通常都是因?yàn)槿狈ψ銐驈?qiáng)大的硬件。神經(jīng)網(wǎng)絡(luò)的力量源自于以并行方式處理資訊,即是同時處理多項(xiàng)數(shù)據(jù)。因此,要一個串行的機(jī)器模擬并行處理是非常耗時的。但是,我們將該算法轉(zhuǎn)移到硬件板上來實(shí)現(xiàn),避免了這一缺陷。
本系統(tǒng)的另一個特色點(diǎn)在于對密碼的混沌加密。
混沌理論是一種迅速發(fā)展的新科學(xué),致力于研究復(fù)雜的、非線性的、動態(tài)的系統(tǒng)?;煦缋碚摬皇顷P(guān)于無序的理論,雖然從字面上看起來是這樣。相反,它可以看作是一種更好地理解秩序的方法。
混沌系統(tǒng)具有三個關(guān)鍵要素:一是對初始條件的敏感依賴性;二是臨界水平,這里是非線性事件的發(fā)生點(diǎn);三是分形維,它表明有序和無序的統(tǒng)一?;煦缦到y(tǒng)經(jīng)常是自反饋系統(tǒng),出來的東西會回去經(jīng)過變換再出來,循環(huán)往復(fù),沒完沒了,任何初始值的微小差別都會按指數(shù)放大,因此導(dǎo)致系統(tǒng)內(nèi)在地不可長期預(yù)測。
混沌是一個難以精確定義的數(shù)學(xué)概念。一般而言,“混沌”是指由確定性方程描述的動力學(xué)系統(tǒng)中表現(xiàn)出的非確定性行為,或稱之為確定的隨機(jī)性。“確定性”是因?yàn)樗蓛?nèi)在的原因而不是外來的噪聲或干擾所產(chǎn)生,而“隨機(jī)性”是指其不規(guī)則的、不能預(yù)測的行為,只可能用統(tǒng)計(jì)的方法描述?;煦鐒恿W(xué)系統(tǒng)的主要特征是其狀態(tài)對初始條件的靈敏依賴性,混沌反映其內(nèi)在的隨機(jī)性?;煦缋碚撌侵该枋鼍哂谢煦缧袨榈姆蔷€性動力學(xué)系統(tǒng)的基本理論、概念、方法,它把動力學(xué)系統(tǒng)的復(fù)雜行為理解為其自身與其在同外界進(jìn)行物質(zhì)、能量和信息交換過程中內(nèi)在的有結(jié)構(gòu)的行為,而不是外來的和偶然的行為,混沌狀態(tài)是一種定態(tài)?;煦鐒恿W(xué)系統(tǒng)的定態(tài)包括:靜止、平穩(wěn)量、周期性、準(zhǔn)同期性和混沌解?;煦畿壘€是整體上穩(wěn)定與局部不穩(wěn)定相結(jié)合的結(jié)果,稱之為奇異吸引子。一個奇異吸引子有如下一些特征:(1)奇異吸引子是一個吸引子,但它既不是不動點(diǎn),也不是周期解;(2)奇異吸引子是不可分割的,即不能分為兩個以及兩個以上的吸引子;(3)它對初始值十分敏感,不同的初始值會導(dǎo)致極不相同的行為。
我們正是利用混沌算法的以上特性,結(jié)合基于用戶按鍵特征的混沌初值,生成相應(yīng)的混沌序列對密文進(jìn)行處理,從而極大地加強(qiáng)了本系統(tǒng)的安全性。
六、系統(tǒng)測試
(一)測試方案
取10人,每兩人一組,共5組。10個用戶使用同一臺電腦和鍵盤,要求他們根據(jù)自身的輸入習(xí)慣使用,不要刻意模仿,依次進(jìn)行如下實(shí)驗(yàn)。
實(shí)驗(yàn)一:10個用戶分別按自己正常的輸入習(xí)慣輸入自己設(shè)定的6位密碼8次,各個用戶分別形成自己的訓(xùn)練樣本。經(jīng)過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)后,各用戶再分別輸入自己預(yù)定的6位密碼,測試本系統(tǒng)的虛警率。
實(shí)驗(yàn)二:各用戶按自己的正常輸入習(xí)慣分別輸入錯誤的6位密碼,測試本系統(tǒng)的檢測率。
實(shí)驗(yàn)三:每組用戶分別用該組另一用戶的6位密碼嘗試登錄本系統(tǒng),測試本系統(tǒng)的檢測率。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評論