鍵盤信息泄漏與防泄漏鍵盤設計與實現
普通鍵盤的編碼是固定的標準值,如表1所列。這種明碼如果防御不當,一旦被截獲將可被復現,造成嚴重后果。
這里的防御技術包括可編程的鍵盤微控制器。由于掃描周期是隨機的,在它們傳送給PC機前加密掃描碼。當按鍵時,在周期內鍵掃描次數將是隨機的,并且改變了值,而不是原來的常數。這樣,當用戶打印圖案或所有情況下使用時,即使由攻擊者截獲到該值,但給他們的不是該按鍵值的信息。
為此需要修改系統,自己設置密碼。我們改變了鍵盤微控制器的程序,即使對方能夠探測到鍵盤在工作中的電磁泄漏信息,對于截獲的信息也是沒有意義的。因為鍵盤產生并發出的光信號不是通用的掃描碼,如圖3中的紅信號通路中傳輸的不再是通用掃描碼,而是密碼,到主機方有一個相應的單片機接收密碼,并轉換成鍵盤標準碼送往主機。主機方的這一機構密封在屏蔽機箱的內部,電磁波不會泄漏出來。加密編碼還有一個好處,就是可以經常更換編碼方式,這一點對于機要部門很有用。
這里只涉及PC 機的設備驅動程序,并將其固化在鍵盤微控制器中。
下面主要討論鍵盤的設備驅動程序或者稱為鍵盤微控制器程序算法。
① 實現的功能與第1節中描述的普通鍵盤的功能完全相同。
② 鍵盤要連續掃描每一個鍵,遇到一個鍵按下了就要發出數據說明并開始記時。若在0.5 s之后這個鍵還沒有松開,就連續發這一鍵,每秒30個。
③ 在記時過程和連續發碼過程中,還不停頓地監視其它鍵。
④ 在連續發一個鍵時,若有其它鍵按下就停止發這個鍵,發新按下去的那個鍵并開始為其記時。
⑤ 若有鍵抬起,要發一個結束碼給主機,告之這個鍵已抬起。
⑥ 在RAM中的位尋址區中固定104位,每一位為一個鍵提供標志。掃描到某個鍵時,先查看相應的位。這個鍵以前按下了,設這一位是1;這個鍵以前沒按下,設這一位是0。然后再看現在按下沒有,現在剛按下發掃描碼,現在沒按下就去處理下一個鍵,現在抬起來了就發結束碼。
⑦ 這104個鍵要輪流掃描,同時要計時。如有鍵一直按著沒抬起來,要在0.5 s之后連續發,每秒發30個。同時按下的鍵達到4個時,就不再記新的了。
根據上述算法鍵盤微控制程序編程流程如圖5所示。
圖5 鍵盤程序流程
3.2 實現
紅黑分離式防信息泄漏鍵盤中,單片機選擇了低電壓芯片,光纜選擇了直徑1 mm的塑料光纜。在鍵盤結構上按紅黑分離規則進行了結構和電路兩部分設計,做成了樣機,并進行了小批量生產。圖6是我們研制出的紅黑分離式防信息泄漏鍵盤。
圖6 TEMPEST-111型鍵盤
紅黑分離式防信息泄漏鍵盤可靠性很高,信息安全測試技術指標可達A型機標準。用頻譜儀測試該紅黑分離式防信息泄漏鍵盤時,結果如圖7所示。由測試結果可以看出已沒有電磁輻射了。
圖7 TEMPEST鍵盤發“H”時的頻譜
結束語
通過紅黑分離式防信息泄漏鍵盤的設計使我們體會到,要設計一種防信息泄漏設備,必須先進行電路分析,找出紅信號的泄漏路徑。通過分析和論證,才能開始進行電路的紅黑分離工作和軟件編碼的加密工作。在對電路紅信號線的屏蔽、吸收、隔離和接地的設計中,一定要避免紅信號被非線性交叉效應調制,這是本設計成功的經驗之一。
更多計算機與外設信息請關注:21ic計算機與外設頻道
DIY機械鍵盤相關社區:機械鍵盤DIY
p2p機相關文章:p2p原理
評論