鍵盤信息泄漏與防泄漏鍵盤設(shè)計(jì)與實(shí)現(xiàn)
摘要 簡(jiǎn)要介紹鍵盤的工作原理,分析鍵盤的信息泄漏問題;提出預(yù)防信息泄漏鍵盤的設(shè)計(jì);重點(diǎn)介紹我們研制的紅黑分離式防信息泄漏鍵盤的設(shè)計(jì)與實(shí)現(xiàn)。
本文引用地址:http://butianyuan.cn/article/202200.htm1 鍵盤工作原理概述
鍵盤是計(jì)算機(jī)中最通用的設(shè)備,也是除顯示器外信息最容易被截獲并被復(fù)現(xiàn)的設(shè)備。按照紅黑分離式防信息泄漏原理,我們成功地開發(fā)了紅黑分離式防信息泄漏鍵盤。
首先分析一下鍵盤的工作原理。現(xiàn)在的鍵盤主芯片只有1個(gè)。1個(gè)鍵盤由專用芯片、按鍵和接口3部分組成。其中專用芯片提供主機(jī)接口、行線、列線及鍵盤分系統(tǒng)控制微程序;按鍵被安排在行列線的交叉點(diǎn)上;主機(jī)接口共4根線:電源、地、時(shí)鐘、數(shù)據(jù)。工作原理如下。
① 時(shí)鐘和數(shù)據(jù)線在主機(jī)方和鍵盤方的引腳都是OC門,正常時(shí)電平為高。主機(jī)和鍵盤任何一方都可以把這兩根線上的電平拉低。當(dāng)兩根線都為高時(shí),鍵盤可以發(fā)數(shù)據(jù);當(dāng)時(shí)鐘為低時(shí),禁止鍵盤發(fā)送數(shù)據(jù);當(dāng)時(shí)鐘為高、數(shù)據(jù)為低時(shí),表示主機(jī)要發(fā)送命令,鍵盤要準(zhǔn)備接收。
② 加電后鍵盤開始自檢,如自檢正常,則向主機(jī)發(fā)出AAH,并開始掃描按鍵。
③ 判斷出有鍵按下后向主機(jī)發(fā)這一鍵的掃描碼并開始計(jì)時(shí),然后繼續(xù)掃描。若0.5 s后,這個(gè)鍵仍未抬起,且沒有新鍵按下的話,就要連續(xù)發(fā)這一鍵的掃描碼:每秒30個(gè)。最多支持3個(gè)鍵同時(shí)按下。在0.5 s內(nèi)若有新鍵按下的話,就為新鍵計(jì)時(shí)。
④ 待有鍵抬起時(shí)發(fā)這一鍵的結(jié)束碼。
⑤ 收到主機(jī)發(fā)來的命令碼后,鍵盤發(fā)FAH以應(yīng)答,并開始執(zhí)行這一命令。
鍵盤與主機(jī)通信的數(shù)據(jù)規(guī)則是:每組數(shù)據(jù)由11位組成:1位啟始位(邏輯0)、8位數(shù)據(jù)位(低位在前)、1位校驗(yàn)位(奇校驗(yàn))、1位停止位(邏輯1)。 其數(shù)據(jù)位的數(shù)據(jù)格式為:
時(shí)鐘是鍵盤分系統(tǒng)發(fā)出的方波,周期約為80μs下降沿有效,只在發(fā)碼的時(shí)候才有時(shí)鐘。每個(gè)鍵有1個(gè)掃描碼。主機(jī)還會(huì)發(fā)一些命令。表1給出了每個(gè)鍵的掃描碼。
表1 鍵盤掃描
這是一個(gè)開放式的工業(yè)標(biāo)準(zhǔn),PC機(jī)的鍵盤都是這樣的。其與主機(jī)的通信必須按上述標(biāo)準(zhǔn)執(zhí)行。這為零配件的生產(chǎn)、維修、使用提供了極大的方便,但同時(shí)也使鍵盤按鍵造成信息泄漏成為了可能。
2 鍵盤信息泄漏的分析
為了驗(yàn)證鍵盤信息泄漏的電磁場(chǎng)的特性,進(jìn)行如下試驗(yàn):當(dāng)鍵盤連續(xù)保持按下“H”鍵時(shí),用頻譜儀測(cè)量鍵盤與主機(jī)連接的信號(hào)線的傳導(dǎo)發(fā)射特性,結(jié)果如圖1所示。
圖1 鍵盤的傳導(dǎo)發(fā)射特性
當(dāng)按不同的鍵時(shí),頻譜儀接收到的譜線發(fā)生頻移。按信息的相關(guān)原理證明,所得的譜線與按鍵信息相關(guān),說明其中含有鍵盤的掃描碼信息。該信息為鍵盤編碼,并將其定義為紅信號(hào)。
下面具體分析一下鍵盤產(chǎn)生的紅信號(hào)走過的路徑。圖2是普通鍵盤的電路圖,是用8051單片機(jī)實(shí)現(xiàn)的。
圖2 普通鍵盤電路
圖2中鍵陣列部分的引腳(P0、P2和P1的一部分)流過的是高低變換的電平,用以判斷哪個(gè)鍵按下了,哪個(gè)鍵抬起了。這些信號(hào)即使被截獲也是沒有意義的,因此,將它們定義為黑信號(hào)。此外復(fù)位電平、晶振等也為黑信號(hào)。
鍵盤有2根信號(hào)線與主機(jī)相連,即時(shí)鐘線(KBDCLK)和數(shù)據(jù)線(KBCDATA)。時(shí)鐘線提供鍵盤與主機(jī)通信時(shí)的時(shí)鐘信號(hào),由鍵盤發(fā)出,下降沿有效。也就是說在每個(gè)時(shí)鐘的下降沿,主機(jī)將鍵盤準(zhǔn)備好的數(shù)據(jù)讀入累加器“ACC”中,讀到有效的“停止位”后送CPU處理。但對(duì)于同一種鍵盤來說,時(shí)鐘的周期、頻率、電平高低都是一樣的;對(duì)于不同鍵盤會(huì)略有不同。在同一個(gè)鍵盤中,發(fā)出的所有數(shù)據(jù)的時(shí)鐘都是相同的。所以這一信號(hào)與按鍵信息無關(guān),也是黑信號(hào)。鍵盤有不同的鍵,它們被依此選通后,將通過數(shù)據(jù)線發(fā)出相應(yīng)的鍵碼數(shù)據(jù)傳送給主機(jī),所以,圖2中只有數(shù)據(jù)線上走的是紅信號(hào)。
下面再分析一下在芯片內(nèi)部的紅信號(hào)的通路情況。圖3為8051的內(nèi)部框圖。
圖3 8051框圖
圖3中以空心箭頭表示紅信號(hào)的路徑。在8051內(nèi)部,這一部分發(fā)出列掃描電平,讀入行掃描電平,鍵按下后ALU通過計(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 鍵盤發(fā)“H”的掃描碼波形
通過上述試驗(yàn)可知,鍵盤中紅信號(hào)的路徑是從微處理器中的累加器開始,經(jīng)一個(gè)數(shù)據(jù)引腳至主機(jī)數(shù)據(jù)口止的一段電路上。
鍵盤掃描周期諧波的RF輻射有兩種主要的威脅:其一為攻擊鍵盤電纜在其響應(yīng)頻率諧波的輻射;其次是攻擊被非線性交叉效應(yīng)調(diào)制的返回信號(hào)中被檢波的掃描碼。
3 紅黑分離式防信息泄漏鍵盤
3.1 設(shè)計(jì)
為了預(yù)防鍵盤泄密,我們研制了紅黑分離式防信息泄漏鍵盤。這種鍵盤使用光信號(hào)傳輸數(shù)據(jù),鍵盤與主機(jī)間用塑料光纜連接,鍵盤以電池供電,使其最大限度地減小電磁輻射。
所設(shè)計(jì)的低電壓電路,用2節(jié)5號(hào)電池供電。使用低電壓的8051單片機(jī)作主芯片,實(shí)現(xiàn)鍵選掃并發(fā)送數(shù)據(jù)。為了省電,設(shè)計(jì)中采用一種技術(shù),即在沒有鍵按下時(shí)單片機(jī)處于休眠狀態(tài)。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
p2p機(jī)相關(guān)文章:p2p原理
評(píng)論