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