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