防信息泄漏鍵盤的設(shè)計與實現(xiàn)
當(dāng)按不同的鍵時,頻譜儀接收到的譜線發(fā)生頻移。按信息的相關(guān)原理證明,所得的譜線與按鍵信息相關(guān),說明其中含有鍵盤的掃描碼信息。該信息為鍵盤編碼,并將其定義為紅信號。
下面具體分析一下鍵盤產(chǎn)生的紅信號走過的路徑。圖2是普通鍵盤的電路圖,是用8051單片機(jī)實現(xiàn)的。
圖2 普通鍵盤電路
圖2中鍵陣列部分的引腳(P0、P2和P1的一部分)流過的是高低變換的電平,用以判斷哪個鍵按下了,哪個鍵抬起了。這些信號即使被截獲也是沒有意義的,因此,將它們定義為黑信號。此外復(fù)位電平、晶振等也為黑信號。
鍵盤有2根信號線與主機(jī)相連,即時鐘線(KBDCLK)和數(shù)據(jù)線(KBCDATA)。時鐘線提供鍵盤與主機(jī)通信時的時鐘信號,由鍵盤發(fā)出,下降沿有效。也就是說在每個時鐘的下降沿,主機(jī)將鍵盤準(zhǔn)備好的數(shù)據(jù)讀入累加器“ACC”中,讀到有效的“停止位”后送CPU處理。但對于同一種鍵盤來說,時鐘的周期、頻率、電平高低都是一樣的;對于不同鍵盤會略有不同。在同一個鍵盤中,發(fā)出的所有數(shù)據(jù)的時鐘都是相同的。所以這一信號與按鍵信息無關(guān),也是黑信號。鍵盤有不同的鍵,它們被依此選通后,將通過數(shù)據(jù)線發(fā)出相應(yīng)的鍵碼數(shù)據(jù)傳送給主機(jī),所以,圖2中只有數(shù)據(jù)線上走的是紅信號。
下面再分析一下在芯片內(nèi)部的紅信號的通路情況。圖3為8051的內(nèi)部框圖。
圖3 8051框圖
圖3中以空心箭頭表示紅信號的路徑。在8051內(nèi)部,這一部分發(fā)出列掃描電平,讀入行掃描電平,鍵按下后ALU通過計算將放在累加器ACC中。ACC再一位一位地送到P3的某個引腳上。在芯片內(nèi)部,這一紅信號是串行二進(jìn)制碼數(shù)據(jù),其波特率為12.5 Kbps,脈沖寬度為80μs,轉(zhuǎn)換時間為 1.4μs,奇校驗。具體波形如圖4所示。
圖4 鍵盤發(fā)“H”的掃描碼波形
通過上述試驗可知,鍵盤中紅信號的路徑是從微處理器中的累加器開始,經(jīng)一個數(shù)據(jù)引腳至主機(jī)數(shù)據(jù)口止的一段電路上。
鍵盤掃描周期諧波的RF輻射有兩種主要的威脅:其一為攻擊鍵盤電纜在其響應(yīng)頻率諧波的輻射;其次是攻擊被非線性交叉效應(yīng)調(diào)制的返回信號中被檢波的掃描碼。
3 紅黑分離式防信息泄漏鍵盤
3.1 設(shè)計
為了預(yù)防鍵盤泄密,我們研制了紅黑分離式防信息泄漏鍵盤。這種鍵盤使用光信號傳輸數(shù)據(jù),鍵盤與主機(jī)間用塑料光纜連接,鍵盤以電池供電,使其最大限度地減小電磁輻射。
所設(shè)計的低電壓電路,用2節(jié)5號電池供電。使用低電壓的8051單片機(jī)作主芯片,實現(xiàn)鍵選掃并發(fā)送數(shù)據(jù)。為了省電,設(shè)計中采用一種技術(shù),即在沒有鍵按下時單片機(jī)處于休眠狀態(tài)。
普通鍵盤的編碼是固定的標(biāo)準(zhǔn)值,如表1所列。這種明碼如果防御不當(dāng),一旦被截獲將可被復(fù)現(xiàn),造成嚴(yán)重后果。
這里的防御技術(shù)包括可編程的鍵盤微控制器。由于掃描周期是隨機(jī)的,在它們傳送給PC機(jī)前加密掃描碼。當(dāng)按鍵時,在周期內(nèi)鍵掃描次數(shù)將是隨機(jī)的,并且改變了值,而不是原來的常數(shù)。這樣,當(dāng)用戶打印圖案或所有情況下使用時,即使由攻擊者截獲到該值,但給他們的不是該按鍵值的信息。
評論