智能安全鍵盤軟硬件完整方案
一、系統方案
本文引用地址:http://www.104case.com/article/265780.htm隨著計算機及其網絡應用的日益普及,尤其是互聯網應用的迅猛發展,計算機及其網絡系統的安全管理問題日顯突出,各種非法的計算機及網絡入侵事件頻頻發生。據統計,網絡入侵的70%~80%來自于網絡內部,因此加強對計算機使用者身份的監督和管理,防止合法用戶的越權和惡意訪問以及非法用戶的非法訪問都顯得十分重要。
那么,我們怎樣加強對計算機使用者身份的監督和管理呢?
首先,傳統的密碼技術是最常用的用戶訪問控制手段,但密碼又比較容易遺失或被破解。
于是,人們提出了多個基于各種生物特征的用戶身份認證方法,是的身份認證智能化。這些生物特征包括:指紋、虹膜、面部、聲音、掌形(紋)等。但基于這些生物特征的用戶身份認證方法均需要額外價格不菲的硬件設備(其價格從數百美元到數萬美元不等),這也就使得基于這些生物特征的用戶身份認證方法無法得到廣泛的應用。
為利用現有普通電腦硬件,完成基于生物特征的用戶身份認證,人們提出了基于用戶擊鍵特征來進行用戶身份認證的方法,該方法利用用戶輸入口令時的擊鍵壓力、擊鍵節奏等所構成的用戶生物特征,來進行用戶身份的認證工作。用戶由于不同的生理特點和習慣,在使用鍵盤時存在擊鍵力度、鍵盤熟練程度等明顯差異(類似于筆跡、指紋)。
受智能密碼的啟發,即不同用戶的鍵盤使用習慣、特征存在差異,我們提出一種將用戶鍵盤使用特征和神經網絡技術相結合的用戶身份監督、管理方法。本系統就是利用這種差異提取特征量, 建立模型, 實現對用戶身份的辨別和監控。
目前,國內外有關的基于用戶擊鍵生物特征進行身份認證研究的公開報道并不多:Dunn認為擊鍵時延符合正態分布并使用了距離分類法;Monrose 和Rubin提出了一種基于K近鄰聚類方法的算法;Kacholia和Pandit提出了一種基于啟發式聚類的算法,但并沒有給出聚類算法的細節;Ru 和Eloff及Tapiador 和Sigüenza嘗試了模糊數學的方法;朱明等人也提出了基于示例學習的方法對用戶身份的真偽進行判斷,曲維光和宋如順等人則利用對神經網絡進行訓練來區分不同的用戶,Monrose 等人將這一技術用于強化用戶身份驗證。但是,他們的研究都是基于軟件層面的,而且采樣數據也很有限。
我們提出的智能安全鍵盤將壓力傳感器加入傳統鍵盤中,旨在利用已有的用戶名和密碼,通過用戶特定的擊鍵特征,即按鍵時間長短、時間間隔和壓力三個參數,來判定某一擊鍵序列是否為某特定用戶的行為,進而對用戶身份的真偽進行判斷識別,以此來強化身份驗證的效果,防止密碼被他人非法使用,加強對計算機使用者身份的監督和管理,使鍵盤操作更安全,從而達到信息安全的目的。
二、實現方案
(一)理論基礎
根據一個簡化的統計,人腦由百億條神經組成,每條神經平均連結到其它幾千條神經。通過這種連結方式,神經可以收發不同數量的能量。神經的一個非常重要的功能是,它們對能量的接受并不是立即作出響應,而是將它們累加起來,當這個累加的總和達到某個臨界閾值時,將自己的那部分能量發送給其它的神經。大腦通過調節這些連結的數目和強度進行學習。盡管這是個生物行為的簡化描述。但同樣可以充分有力地被看作是神經網絡的模型。
閾值邏輯單元(Threshold Logic Unit,TLU)
理解神經網絡的第一步是從對抽象生物神經開始,并把重點放在閾值邏輯單元(TLU)這一特征上。一個TLU是一個對象,它可以輸入一組加權系數的量,對它們進行求和,如果這個和達到或者超過了某個閾值,則輸出一個量。用符號標注這些功能,首先,輸入值以及它們的權系數分別記為X1,X2,...,Xn和W1,W2,...,Wn。接著,求和計算出的Xi*Wi,產生了激發層a,換一種方法表示:
a = (X1 * W1)+(X2 * W2)+...+(Xi * Wi)+...+ (Xn * Wn)
閾值稱為theta。最后,輸出結果y。當a>=theta時y=1,反之y=0。輸出可以是連續的,因為它也可以由一個squash函數s(或 sigma)判定,該函數的自變量是a,函數值在0和1之間,y=s(a)。

閾值邏輯單元,帶有 sigma 函數(頂部)和 cutoff 函數(底部)
TLU 會分類,假設一個TLU有兩個輸入值,它們的權系數等于1,theta值等于1.5。當這個 TLU 輸入<0,0>、<0,1>、<1,0>和<1,1>時,它的輸出分別為0、0、0、1。TLU將這些輸入分為兩組:0組和1組。
TLU 的學習原理
神經網絡的學習機制是模仿大腦調節神經連結的原理。TLU通過改變它的權系數和閾值來學習。當SUM(Xi*Wi)>=theta時TLU在臨界點時輸出的是1而不是0,臨界點是出現在SUM(Xi*Wi)+(-1*theta)>=0的時候。所以,我們可以把-1看成一個常量輸入,它的權系數theta在學習的過程中進行調整。這樣,當SUM(Xi*Wi)+(-1*theta)>=0時,y=1,反之y=0。
在學習過程中,神經網絡輸入一系列需要分類的術語示例和它們的正確分類或者目標。
這樣的輸入可以看成一個向量:,這里t是一個目標或者正確分類。神經網絡用這些來調整權系數,其目的使學習中的目標與其分類相匹配。更確切地說,這是有指導的學習,與之相反的是無指導的學習。前者是基于帶目標的示例,而后者卻只是建立在統計分析的基礎上。權系數的調整有一個學習規則,一個理想化的學習算法如下所示:
fully_trained = FALSE
DO UNTIL (fully_trained):
fully_trained = TRUE
FOR EACH training_vector = ::
# Weights compared to theta
a = (X1 * W1)+(X2 * W2)+...+(Xn * Wn) - theta
y = sigma(a)
IF y != target:
fully_trained = FALSE
FOR EACH Wi:
MODIFY_WEIGHT(Wi) # According to the training rule
IF (fully_trained):
BREAK
學習規則有很多,通過對收集的大量資料的研究分析,我們發現,有一條似乎合理的規則是基于這樣一種思想,即權系數和閾值的調整應該由分式(t-y)確定。這個規則通過引入學習率alpha(0
DIY機械鍵盤相關社區:機械鍵盤DIY
評論