智能安全鍵盤軟硬件完整方案
BP算法的學習過程如下:
本文引用地址:http://www.104case.com/article/265780.htm

①正向傳播:輸入信息從輸入層經隱含層逐層處理,并傳向輸出層,每層神經元的狀態只影響下一層神經元的狀態(如下圖所示)。
②反向傳播:如果在輸出層不能得到期望的輸出,則轉入反向傳播,將誤差信號沿原來的連接通路返回,通過修改各層神經元的權值,使誤差信號最小。
BP算法的主要步驟如下:
?、僦盟袡嘀禐檩^小的隨機數;
?、谔峁┯柧毤?,給定輸入向量X=(x1,x2,……,xm)和期望的目標輸出向量D=(d1,d2,……,dn);
③前向計算,計算實際輸出,計算隱含層,輸出層各神經元的輸出:

?、軐敵鰧佑嬎?delta;:

?、輳暮笙蚯坝嬎愀麟[層δ:

?、抻嬎悴⒈4娓鳈嘀敌拚浚?/p>

⑦修正權值:

⑧判斷是否收斂,如果收斂則結束,不收斂則轉至(3)重復計算,直到誤差Ep滿足要求。
本系統實現設計的BP網絡考慮到用戶的口令長度通常為8~16個,對應生成的特征的維數為23-47維,因此網絡的輸入節點數定為20~50,可依據口令長度選擇。隱含層節點數需要在實現過程中不斷模擬訓練進行確定,以使判別效果達到最佳。
⑵密碼處理模塊
設混沌序列為



考慮到這四個值在PS/2總線上傳輸帶來的安全性的問題,我們決定讓其在密碼處理模塊和PC機端分別生成,生成函數如下:


(三)硬件框圖

在硬件框圖中,鍵盤信號包括按鍵時間長短、按鍵時間間隔和密碼明文三個信號,該信號通過RS232總線傳送至FPGA。由于FPGA的ADC對電壓的范圍有要求,壓力信號先通過AMP進行放大處理后,再通過ADC轉換成數字信號后再傳送至FPGA。在FPGA上,信號處理模塊運用神經網絡算法對采集的信號樣本進行處理,對于通過神經網絡的信號樣本,通過密碼處理模塊的混沌算法對密碼進行加密后,再通過RS232總線送至PC。在PC端,密碼實際上為密碼原文經混沌加密以后的密文。
三、設計與實現的功能
1.安全性。以應用為基礎,以神經網絡為核心,以混沌算法輔助完成基于有限學習正例集合的正反例識別。通過采集用戶擊鍵習慣相關系數,采用BP神經網絡算法動態學習、判別合法用戶特征,再通過混沌算法對密碼進行加密處理,實現高效、高用戶辨別能力的身份認證。
2.多用戶支持。利用FPGA的大量數據處理能力,可以方便地實現采樣數據與相關數據庫中大量數據的迅速比對。
3.力感識別。通過對相關資料的學習,我們發現目前關于用戶特征信息采樣的研究工作都是基于擊鍵時間長短和時間間隔的,我們通過力度傳感設備將用戶擊鍵力度數字化之后,作為用戶特征信息的一個方面,進行比對驗證和學習。
4.密碼鍵盤與普通鍵盤的切換。單用戶應用環境中,可以通過硬件開關屏蔽傳感器不進行相應數據處理而實現密碼鍵盤與普通鍵盤的切換。
5.成本低廉。對用戶的眼底圖像、指紋、頭像等的識別均需要特殊的硬件設備,且有些設備價格相當昂貴,不利于系統的實施和推廣。而除了力感識別所需的壓力傳感器以外,了解用戶的擊鍵節奏不需要添加其他硬件,是各種生物特征用戶認證技術中代價較小的一種,易于為用戶所接受。
四、性能指標
在系統檢測方面,我們將分別模擬單用戶和多用戶應用環境,采集相關數據,通過以下兩個評價指標,檢測系統的性能:
1.檢測率(Detection Rate,DR):被檢測到的假冒樣本的數量和測試集中總的假冒樣本的數量的比率;
2.虛警率(False Positive Rate,FPR):正常樣本數據被誤檢為假冒樣本的數量和測試集中總的正常樣本的數量的比率。
五、系統特色
本系統最大的特色在于采用了神經網絡算法,智能地對用戶擊鍵特征進行學習和識別。
人工神經網絡模型主要考慮網絡連接的拓撲結構、神經元的特征、學習規則等。目前,已有近40種神經網絡模型,其中有反傳網絡、感知器、自組織映射、Hopfield網絡、波耳茲曼機、適應諧振理論等。根據連接的拓撲結構,神經網絡模型可以分為:(1)前向網絡 網絡中各個神經元接受前一級的輸入,并輸出到下一級,網絡中沒有反饋,可以用一個有向無環路圖表示。這種網絡實現信號從輸入空間到輸出空間的變換,它的信息處理能力來自于簡單非線性函數的多次復合。網絡結構簡單,易于實現。反傳網絡是一種典型的前向網絡。(2)反饋網絡 網絡內神經元間有反饋,可以用一個無向的完備圖表示。這種神經網絡的信息處理是狀態的變換,可以用動力學系統理論處理。系統的穩定性與聯想記憶功能有密切關系。Hopfield網絡、波耳茲曼機均屬于這種類型。
學習是神經網絡研究的一個重要內容,它的適應性是通過學習實現的。根據環境的變化,對權值進行調整,改善系統的行為。由Hebb提出的Hebb學習規則為神經網絡的學習算法奠定了基礎。Hebb規則認為學習過程最終發生在神經元之間的突觸部位,突觸的聯系強度隨著突觸前后神經元的活動而變化。在此基礎上,人們提出了各種學習規則和算法,以適應不同網絡模型的需要。有效的學習算法,使得神經網絡能夠通過連接權值的調整,構造客觀世界的內在表示,形成具有特色的信息處理方法,信息存儲和處理體現在網絡的連接中。
本系統采用的神經網絡算法的學習方式為監督學習。我們將訓練樣本的數據加到網絡輸入端,同時將相應的期望輸出與網絡輸出相比較,得到誤差信號,以此控制權值連接強度的調整,經多次訓練后收斂到一個確定的權值。當樣本情況發生變化時,經學習可以修改權值以適應新的環境。
人工神經網絡特有的非線性適應性信息處理能力,克服了傳統人工智能方法對于直覺,如模式、語音識別、非結構化信息處理方面的缺陷,使之在神經專家系統、模式識別、智能控制、組合優化、預測等領域得到成功應用。人工神經網絡與其它傳統方法相結合,將推動人工智能和信息處理技術不斷發展。近年來,人工神經網絡正向模擬人類認知的道路上更加深入發展,與模糊系統、遺傳算法、進化機制等結合,形成計算智能,成為人工智能的一個重要方向,將在實際應用中得到發展。將信息幾何應用于人工神經網絡的研究,為人工神經網絡的理論研究開辟了新的途徑。神經計算機的研究發展很快,已有產品進入市場。光電結合的神經計算機為人工神經網絡的發展提供了良好條件。
神經網絡在這個領域中有很多優點,使得它越來越流行。它在類型分類/識別方面非常出色。神經網絡可以處理例外及不正常的輸入數據,這對于很多系統都很重要(例如雷達及聲波定位系統)。很多神經網絡都是模仿生物神經網絡的,即是他們仿照大腦的運作方式工作。神經網絡也得助于神經系統科學的發展,使它可以像人類一樣準確地辨別物件而有電腦的速度!
基于軟件實現的神經網絡也有些不好的地方。這通常都是因為缺乏足夠強大的硬件。神經網絡的力量源自于以并行方式處理資訊,即是同時處理多項數據。因此,要一個串行的機器模擬并行處理是非常耗時的。但是,我們將該算法轉移到硬件板上來實現,避免了這一缺陷。
本系統的另一個特色點在于對密碼的混沌加密。
混沌理論是一種迅速發展的新科學,致力于研究復雜的、非線性的、動態的系統。混沌理論不是關于無序的理論,雖然從字面上看起來是這樣。相反,它可以看作是一種更好地理解秩序的方法。
混沌系統具有三個關鍵要素:一是對初始條件的敏感依賴性;二是臨界水平,這里是非線性事件的發生點;三是分形維,它表明有序和無序的統一?;煦缦到y經常是自反饋系統,出來的東西會回去經過變換再出來,循環往復,沒完沒了,任何初始值的微小差別都會按指數放大,因此導致系統內在地不可長期預測。
混沌是一個難以精確定義的數學概念。一般而言,“混沌”是指由確定性方程描述的動力學系統中表現出的非確定性行為,或稱之為確定的隨機性。“確定性”是因為它由內在的原因而不是外來的噪聲或干擾所產生,而“隨機性”是指其不規則的、不能預測的行為,只可能用統計的方法描述。混沌動力學系統的主要特征是其狀態對初始條件的靈敏依賴性,混沌反映其內在的隨機性。混沌理論是指描述具有混沌行為的非線性動力學系統的基本理論、概念、方法,它把動力學系統的復雜行為理解為其自身與其在同外界進行物質、能量和信息交換過程中內在的有結構的行為,而不是外來的和偶然的行為,混沌狀態是一種定態?;煦鐒恿W系統的定態包括:靜止、平穩量、周期性、準同期性和混沌解?;煦畿壘€是整體上穩定與局部不穩定相結合的結果,稱之為奇異吸引子。一個奇異吸引子有如下一些特征:(1)奇異吸引子是一個吸引子,但它既不是不動點,也不是周期解;(2)奇異吸引子是不可分割的,即不能分為兩個以及兩個以上的吸引子;(3)它對初始值十分敏感,不同的初始值會導致極不相同的行為。
我們正是利用混沌算法的以上特性,結合基于用戶按鍵特征的混沌初值,生成相應的混沌序列對密文進行處理,從而極大地加強了本系統的安全性。
六、系統測試
(一)測試方案
取10人,每兩人一組,共5組。10個用戶使用同一臺電腦和鍵盤,要求他們根據自身的輸入習慣使用,不要刻意模仿,依次進行如下實驗。
實驗一:10個用戶分別按自己正常的輸入習慣輸入自己設定的6位密碼8次,各個用戶分別形成自己的訓練樣本。經過神經網絡學習后,各用戶再分別輸入自己預定的6位密碼,測試本系統的虛警率。
實驗二:各用戶按自己的正常輸入習慣分別輸入錯誤的6位密碼,測試本系統的檢測率。
實驗三:每組用戶分別用該組另一用戶的6位密碼嘗試登錄本系統,測試本系統的檢測率。
DIY機械鍵盤相關社區:機械鍵盤DIY
評論