無需控制計(jì)算機(jī) 采用邊信道攻擊即可獲解密密鑰
譯文就在不久前,從嚴(yán)加隔離的計(jì)算機(jī)獲取信息還需要精密設(shè)備。在本人撰寫的專欄文章《嚴(yán)加隔離的計(jì)算機(jī)不再安全》中,美國喬治亞理工學(xué)院的研究人員解釋了僅僅使用自受攻擊計(jì)算機(jī)發(fā)出來的雜散的電磁邊信道信號,從計(jì)算機(jī)獲取擊鍵內(nèi)容有多簡單。
特拉維夫大學(xué)的幾位研究人員:Daniel Genkin、Lev Pachmanov、Itamar Pipman和Eran Tromer一致認(rèn)為,這個過程很簡單。不過,科學(xué)家們提出了更高的要求,想弄清楚如何使用邊信道攻擊技術(shù),獲取復(fù)雜的加密數(shù)據(jù)。
圖A:特拉維夫大學(xué)的幾位研究人員制作了這個獨(dú)立式的PITA接收器。
具體過程
在《使用無線電從PC竊取密鑰:針對窗口取冪運(yùn)算發(fā)動低成本的電磁攻擊》文章中,研究人員解釋了他們?nèi)绾瓮ㄟ^在計(jì)算機(jī)中執(zhí)行的運(yùn)算里面獲取關(guān)于秘密值的信息,從而破解數(shù)學(xué)安全的加密方案的解密密鑰。
團(tuán)隊(duì)撰文道:“我們對RSA和ElGamal算法方案實(shí)施了新的邊信道攻擊,這些算法方案使用流行的滑動窗口或固定窗口(m-ary)模冪運(yùn)算算法。即使攻擊GHz級處理器時,攻擊也能使用低測量帶寬(低于2 MHz的載波附近100 kHz以下的頻帶),獲取解密密鑰。”
要是那說明不了太多,這可能有幫助:研究人員測量從計(jì)算機(jī)發(fā)出來的邊信道信號,只要短短幾秒,就能從GnuPG獲取密鑰。研究人員補(bǔ)充說:“測量成本很便宜、很小巧,使用隨處可得的組件。”運(yùn)行這個道理,該大學(xué)研究團(tuán)隊(duì)設(shè)計(jì)出了下列攻擊。
軟件定義無線電(SDR)攻擊:這包括捕獲邊信道信號的屏蔽環(huán)形天線,然后安裝在筆記本電腦上的SDR程序記錄信號。
便攜式跟蹤采集儀器(PITA)攻擊:研究人員使用可用的電子產(chǎn)品和食品(誰說學(xué)術(shù)人士就沒有幽默感?),制作了圖A中所示的獨(dú)立式接收器。PITA接收器有兩種模式:在線模式和自主模式。
•在線模式:PITA通過無線網(wǎng)絡(luò),連接到附近的觀測站,提供了實(shí)時流式傳輸數(shù)字化信號的功能。
•自主模式:類似在線模式,PITA先測量數(shù)字化信號,然后將它記錄到內(nèi)部microSD卡上,以便以后通過物理訪問或通過無線網(wǎng)絡(luò)來獲取。
消費(fèi)者無線電攻擊:為了設(shè)計(jì)出一種成本還要低的攻擊手法,該團(tuán)隊(duì)充分利用了已知的這一點(diǎn):邊信道信號在1.7 MHz附近的載波頻率調(diào)制,這在AM無線電頻段范圍內(nèi)。作者解釋:“我們使用了普通的消費(fèi)級無線電接收器來采集所需的信號,更換了磁探針和SDR接收器。然后,我們將該接收器連接到宏達(dá)電EVO 4G智能手機(jī)的麥克風(fēng)輸入端,以此記錄信號。”
密碼分析方法
這時候,神奇的一幕出現(xiàn)了。我得承認(rèn),要是闡述研究人員的做法將會是幫倒忙;我覺得,最好還是采用他們的密碼分析描述:
“我們的攻擊利用了這一事實(shí),即在滑動窗口或固定窗口取冪例程中,可以部分預(yù)測密文冪表里面的值。通過制作一個合適的明文,攻擊者就能讓特定表項(xiàng)處的值具有一種特定的結(jié)構(gòu)。”
“這種結(jié)構(gòu),結(jié)合GnuPG的基本乘法例程里面深處的控制流程方面的細(xì)微差異,只要出現(xiàn)乘以這個結(jié)構(gòu)化值,就會引起泄漏信號出現(xiàn)顯著變化。這讓攻擊者得以了解秘密指數(shù)里面的所有位置;在這些位置,特定表項(xiàng)由滑動窗口中的位模式來選擇。針對所有表索引重復(fù)這個過程就會泄露密鑰。”
圖B是張光譜圖,顯示了測得的冪與時間和頻率有關(guān),通過記錄GnuPG,破解了使用不同的隨機(jī)生成的RSA密鑰的同一密文。研究團(tuán)隊(duì)的解釋如下:
“很容易看出,每個解密的起始位置和結(jié)束位置(黃色箭頭)。請注意每個解密運(yùn)算中間的變化,覆蓋幾個頻帶。這是由于,在內(nèi)部,每個GnuPG RSA解密都先取冪模秘密素?cái)?shù)p,然后取冪模秘密素?cái)?shù)q,我們就能看出這些階段之間的差異。”
“這每一對看起來不一樣,因?yàn)槊總€解密都使用不同的密鑰。所以在這個例子中,只要觀測解密過程中發(fā)出來的電磁信號,使用這個圖中的機(jī)制,我們就能辨別不同的秘密密鑰。”
圖B:光譜圖
有啥方法可以防止泄漏嗎?
盡管使用不便,但有一種解決辦法就是在法拉第罩中(Faraday cage)操作計(jì)算機(jī),法拉第罩可以阻止任何雜散的信號逃逸。文章提到:“可以改動密碼軟件,還可以運(yùn)用算法手段,讓發(fā)出來的信號對攻擊者來說用處不大。這些方法確保了算法行為與它收到的輸入無關(guān)。”
令人關(guān)注的是,這篇研究文章處理了邊信道攻擊方面的一個問題:“這是個硬件問題,那么何不修復(fù)設(shè)備?”
大致來說,研究人員提到:發(fā)出來的信號強(qiáng)度非常微弱,因而防止信號不切實(shí)際,原因在于:
•任何殘余的泄漏信號都常??梢杂珊线m的操作加以放大,就像我們在選擇明文攻擊中所做的那樣;
•另外,信號泄漏常常是提升性能的必要機(jī)制不可避免的副作用。
另外值得關(guān)注的是,美國國家標(biāo)準(zhǔn)和技術(shù)研究所(NIST)認(rèn)為,抵御邊信道攻擊的能力是考慮其SHA-3算法的一個重要的評估因素。
英文:Computer-stored encryption keys are not safe from side-channel attacks