張弘毅, 谷大武, 張 馳, 盧 巖, 原義棟
1. 上海交通大學(xué) 電子信息與電氣工程學(xué)院, 上海 201100
2. 國(guó)網(wǎng)遼寧省電力有限公司 電力科學(xué)研究院, 沈陽(yáng) 110006
3. 北京智芯微電子科技有限公司, 北京 100094
側(cè)信道泄露是指電子設(shè)備在運(yùn)行時(shí)所無(wú)意泄露的信號(hào), 這些泄露信號(hào)包括電磁輻射信號(hào)、設(shè)備功率變化、射頻泄露信號(hào)等等. 攻擊者利用設(shè)備在運(yùn)行過(guò)程產(chǎn)生的側(cè)信道泄露, 通過(guò)統(tǒng)計(jì)學(xué)原理和數(shù)學(xué)建模的方法, 破解出泄露信號(hào)中蘊(yùn)含的秘密信息, 這一過(guò)程通常稱為側(cè)信道分析.
側(cè)信道分析依賴于對(duì)泄露信號(hào)的采集. 傳統(tǒng)的側(cè)信道分析過(guò)程中, 攻擊者主要的數(shù)據(jù)來(lái)源一般是設(shè)備的電磁泄露或者功耗變化, 在信號(hào)的采集過(guò)程中, 采集設(shè)備和目標(biāo)設(shè)備的物理距離保持在毫米級(jí)別, 這意味著攻擊者必須先獲取設(shè)備才能開(kāi)展側(cè)信道分析. 然而在2018 年以后, 新的研究表明, 許多集成了射頻功能的芯片(譬如藍(lán)牙、WiFi 等) 在工作過(guò)程中不僅存在著電磁泄露和功耗泄露, 還有著很強(qiáng)的無(wú)線信號(hào)泄露, 很多研究者針對(duì)無(wú)線泄露信號(hào)進(jìn)行了深入的研究和分析. Choi[1]等人通過(guò)監(jiān)聽(tīng)無(wú)線泄露信號(hào), 成功地實(shí)現(xiàn)了遠(yuǎn)距離竊聽(tīng)藍(lán)牙耳機(jī)實(shí)時(shí)播放的音頻信息; Camurati 等[2,3]則在其論文中最早提出了無(wú)線側(cè)信道的概念, 并指出藍(lán)牙芯片在加密過(guò)程中存在著明顯的無(wú)線側(cè)信道泄露, 他的實(shí)驗(yàn)團(tuán)隊(duì)利用無(wú)線側(cè)信道分析方法破解了藍(lán)牙芯片中TinyAES 的密鑰, 并實(shí)現(xiàn)了針對(duì)GoogleEddystone 的無(wú)線側(cè)信道分析; Wang[4]等人則利用神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的方法對(duì)無(wú)線側(cè)信道泄露信號(hào)進(jìn)行特征提取, 大大降低了分析所需的曲線條數(shù).
然而, 這些現(xiàn)有工作中, 研究人員都是在隔音室或者低噪聲環(huán)境中進(jìn)行實(shí)驗(yàn). 在現(xiàn)實(shí)生活中, 幾乎所有場(chǎng)合的噪聲都非常強(qiáng), 而無(wú)線側(cè)信道分析方法對(duì)于噪聲極其敏感. 當(dāng)側(cè)信道泄露信號(hào)信噪比較低時(shí), 曲線會(huì)發(fā)生嚴(yán)重的畸變, 導(dǎo)致無(wú)線側(cè)信道分析方法失效, 這使得研究者只能在短距離內(nèi)對(duì)泄露信號(hào)進(jìn)行采集.
為了提升無(wú)線側(cè)信道信號(hào)強(qiáng)度和分析效率、增加信號(hào)的輻射強(qiáng)度, 我們提出了基于中繼器的無(wú)線側(cè)信道分析方法, 針對(duì)該方法建立了相應(yīng)的信號(hào)傳播模型, 并利用該方法對(duì)密碼設(shè)備進(jìn)行分析, 根據(jù)實(shí)驗(yàn)結(jié)果對(duì)新的采集方法進(jìn)行評(píng)估. 實(shí)驗(yàn)結(jié)果證明, 基于中繼器的無(wú)線側(cè)信道分析方法顯著提升了無(wú)線側(cè)信道泄露的信噪比, 不僅使得研究者可以在更遠(yuǎn)的距離采集到更高質(zhì)量的信號(hào), 還大幅提升了對(duì)密碼設(shè)備的分析效率. 同時(shí), 實(shí)驗(yàn)結(jié)果證明了本文所提出的信號(hào)傳播模型的正確性, 為研究提供了理論支撐.
本文第2 節(jié)簡(jiǎn)要介紹無(wú)線側(cè)信道的相關(guān)原理, 并建立了基于中繼器的無(wú)線側(cè)信道分析方法的信號(hào)傳播模型. 第3 節(jié)則具體闡述基于中繼器的無(wú)線側(cè)信道分析方法的實(shí)驗(yàn)系統(tǒng), 并詳細(xì)敘述相關(guān)流程的設(shè)計(jì).第4 節(jié)中, 我們整合實(shí)驗(yàn)結(jié)果, 評(píng)估中繼系統(tǒng)對(duì)于泄露信號(hào)品質(zhì)和分析效率的提升效果, 并依據(jù)實(shí)驗(yàn)結(jié)果證明信號(hào)傳播模型的正確性.
無(wú)線側(cè)信道最早是由Camurati 等[2]在2018 年發(fā)現(xiàn)的. 不同于電磁側(cè)信道和功耗側(cè)信道, 無(wú)線側(cè)信道的泄露信號(hào)強(qiáng)度高, 在無(wú)噪聲情況下, 其輻射范圍最遠(yuǎn)可以達(dá)到15 m, 而電磁側(cè)信道和功耗側(cè)信道都要求攻擊者在厘米級(jí)、甚至毫米級(jí)的距離下對(duì)泄露信號(hào)進(jìn)行采樣.
下面, 我們針對(duì)密碼設(shè)備簡(jiǎn)要說(shuō)明側(cè)信道以及無(wú)線側(cè)信道泄露的產(chǎn)生原理.
密碼算法在投入使用之前, 往往得到了嚴(yán)格的數(shù)學(xué)證明以確保其在算法層面的安全性. 然而, 在硬件實(shí)現(xiàn)的過(guò)程中, 密碼設(shè)備往往存在著硬件層面的漏洞, 芯片引腳的電平變化、電磁輻射信號(hào)可能反映芯片內(nèi)部的操作行為, 進(jìn)而可能泄露密碼設(shè)備的密鑰等秘密信息. Kocher 等[5]在1999 年就通過(guò)分析智能卡在工作時(shí)的功耗情況, 成功破解出了智能卡所采用的DES 加密密鑰, 從而破解了整個(gè)加密系統(tǒng). 攻擊者還能夠采集芯片的數(shù)字電路無(wú)意間散發(fā)的電磁信號(hào), 借助相關(guān)性分析破解密碼設(shè)備的密鑰[6], Quisquater等[7]通過(guò)實(shí)驗(yàn)驗(yàn)證了數(shù)字電路中, 微電子部件的開(kāi)關(guān)行為會(huì)產(chǎn)生電磁泄露, 而這些泄露信號(hào)的強(qiáng)度往往與電路所處理的數(shù)據(jù)相關(guān). 大部分情況下, 側(cè)信道攻擊都要求攻擊者在距離目標(biāo)設(shè)備很近的情況下進(jìn)行分析,雖然有部分高功耗芯片(如電腦的CPU 芯片) 允許研究者在小于1 m 的范圍內(nèi)采集電磁泄露信號(hào)[8–10],但大部分的物聯(lián)網(wǎng)設(shè)備與無(wú)線通信芯片的電磁泄露都極其微弱, 很難進(jìn)行遠(yuǎn)距離分析. 而無(wú)線側(cè)信道分析可以真正地實(shí)現(xiàn)遠(yuǎn)距離分析低功耗通信芯片.
隨著現(xiàn)有集成電路技術(shù)的不斷發(fā)展, 芯片的集成度越來(lái)越高. 在物聯(lián)網(wǎng)時(shí)代, 無(wú)線通信芯片扮演著核心角色, 尤其是藍(lán)牙芯片、WiFi 芯片等低功耗無(wú)線通信芯片得到了非常廣泛的應(yīng)用.
這些無(wú)線通信芯片作為一個(gè)通信系統(tǒng)往往兼具了通信、供電以及計(jì)算等功能, 我們稱這種可以在芯片上獨(dú)立運(yùn)行的系統(tǒng)為片上系統(tǒng)(system on chips, SoC), 而片上系統(tǒng)的載體芯片被稱為SoC 芯片.
為了同時(shí)實(shí)現(xiàn)通信、計(jì)算功能, SoC 芯片需要集成數(shù)字電路模塊和模擬電路模塊. 其中, 數(shù)字電路負(fù)責(zé)實(shí)現(xiàn)運(yùn)算、存儲(chǔ)和控制, 而模擬電路模塊則負(fù)責(zé)射頻信號(hào)的收發(fā)、穩(wěn)壓以及數(shù)模轉(zhuǎn)換等工作. 為了降低成本、縮小芯片尺寸, 芯片生產(chǎn)商將數(shù)字電路和模擬電路集成在同一塊硅晶片上. 這種高度集成的芯片雖然計(jì)算速度快、成本低廉, 但是卻存在著嚴(yán)重的基底耦合現(xiàn)象.
芯片基底是由硅晶體制作的, 雖然硅晶體作為半導(dǎo)體材料不具備良好的導(dǎo)電性, 但在電路結(jié)構(gòu)上往往可以被等效成為一個(gè)電容、電感網(wǎng)絡(luò), 具備傳播電磁信號(hào)的能力. 我們稱電磁信號(hào)在芯片基底中傳播的現(xiàn)象為基底耦合現(xiàn)象.
由于基底耦合現(xiàn)象的存在, 數(shù)字模塊運(yùn)行時(shí)產(chǎn)生的電磁信號(hào)會(huì)泄漏至芯片的模擬電路模塊, 這些泄露信號(hào)一旦被模擬電路中的射頻元件調(diào)制, 就會(huì)隨著系統(tǒng)的數(shù)據(jù)包信號(hào)一同發(fā)送出去. 芯片內(nèi)部的電磁信號(hào)被射頻模塊調(diào)制、發(fā)射到自由空間的現(xiàn)象被稱為無(wú)線側(cè)信道泄露. 例如, 某個(gè)物聯(lián)網(wǎng)芯片在進(jìn)行通信的時(shí)候, 其CPU 在對(duì)數(shù)據(jù)進(jìn)行加密操作, 而加密過(guò)程中產(chǎn)生的電磁信號(hào)通過(guò)芯片基底泄露至射頻模塊, 射頻模塊在調(diào)制數(shù)據(jù)包的過(guò)程中, 將泄露信號(hào)一同調(diào)制, 并將其連同數(shù)據(jù)包一同發(fā)送, 攻擊者就可以通過(guò)分析接收到的射頻信息推測(cè)出CPU 在加密操作中所采用的隱私數(shù)據(jù), 這就是一個(gè)無(wú)線側(cè)信道分析的場(chǎng)景.
在側(cè)信道分析中, 我們首先需要對(duì)曲線進(jìn)行采集. 在對(duì)曲線進(jìn)行對(duì)齊與篩選之后, 我們開(kāi)始針對(duì)處理過(guò)的曲線進(jìn)行分析,傳統(tǒng)的分析方法有簡(jiǎn)易功耗分析[11,12]、模板分析[13]、差分功耗分析[14]、相關(guān)系數(shù)功耗分析[15,16]等. 在本文中我們使用的分析方法是相關(guān)系數(shù)功耗分析(correlation power analysis, CPA),下面我們以針對(duì)AES 加密算法的分析過(guò)程為例, 詳細(xì)闡釋CPA 的具體步驟.
設(shè)對(duì)齊、篩選后得到曲線集合為tr ={t1,t2,···,tn}, 其中, 共有曲線n條, 對(duì)于第i條曲線, 我們有ti=[ti1,ti2,··· ,tiT],ti ∈RT, 其中T對(duì)應(yīng)于曲線總長(zhǎng)度,tij表示第i條曲線在第j時(shí)刻的取值, 由此得到矩陣:
由上可知, 在密鑰未知的情況下, 我們需要對(duì)16 字節(jié)的密鑰逐一進(jìn)行猜測(cè), 在分析密鑰第i字節(jié)時(shí),需令其猜測(cè)值k′i遍歷所有的可能密鑰值, 當(dāng)k′i=ki時(shí), 相關(guān)系數(shù)Ck′i_max取得極大值. 典型的相關(guān)性分析成功時(shí)的結(jié)果如圖1 所示, 圖中的虛線對(duì)應(yīng)于正確的密鑰數(shù)值83, 相關(guān)性分析成功則猜測(cè)密鑰的相關(guān)系數(shù)峰值與該虛線重合. 可見(jiàn), 分析成功時(shí), 正確密鑰依據(jù)公式(1)計(jì)算的相關(guān)系數(shù)遠(yuǎn)大于錯(cuò)誤的密鑰值.
圖1 CPA 分析示意圖Figure 1 Schematic diagram of CPA analysis
我們提出了分析模型如圖2、圖3 所示. 目標(biāo)設(shè)備(泄露信號(hào)的發(fā)射端) 表示實(shí)驗(yàn)中的分析對(duì)象, 采集設(shè)備(泄露信號(hào)的接收端) 則用于收集目標(biāo)設(shè)備產(chǎn)生的無(wú)線側(cè)信道泄露信號(hào).
圖3 基于中繼器的無(wú)線側(cè)信道分析的信號(hào)傳播模型Figure 3 Signal propagation model of repeater-based wireless side-channel analysis
圖2 中表示的是原始無(wú)線側(cè)信道分析方法的信號(hào)傳播模型, 在傳播過(guò)程中, 目標(biāo)設(shè)備首先產(chǎn)生最初的無(wú)線側(cè)信道信號(hào), 記為信號(hào)1; 接著, 信號(hào)1 經(jīng)過(guò)高斯信道, 衰減之后與高斯白噪聲疊加形成信號(hào)2, 最終到達(dá)采集設(shè)備接收端.
圖2 普通無(wú)線側(cè)信道分析的信號(hào)傳播模型Figure 2 Signal propagation model of normal wireless side-channel analysis
圖3 中表示的則是基于中繼器的無(wú)線側(cè)信道分析方法中信號(hào)的傳播模型, 目標(biāo)設(shè)備首先產(chǎn)生無(wú)線側(cè)信道信號(hào), 仍為信號(hào)1. 信號(hào)1 經(jīng)過(guò)高斯信道后, 在自由空間中經(jīng)過(guò)衰減, 并與高斯白噪聲疊加后得到信號(hào)3(信號(hào)3 與信號(hào)2 在不同模型中傳播距離不同, 故采用不同的標(biāo)記以示區(qū)別), 到達(dá)中繼器后, 中繼器對(duì)信號(hào)3 進(jìn)行增幅, 并在輸出端得到增幅信號(hào)4, 接著信號(hào)4 再次經(jīng)過(guò)一定的自由空間衰減并與高斯信道中的高斯白噪聲進(jìn)行疊加, 得到最終的泄露信號(hào)5, 并由采集設(shè)備接收.
我們假設(shè)模型中所有高斯信道的參數(shù)相同, 均值為μ, 方差為σ2, 其噪聲功率記為Pnoise. 同時(shí), 在基于中繼器的無(wú)線側(cè)信道分析的傳播模型中, 我們假設(shè)信號(hào)3 被中繼器的接收天線完全吸收, 無(wú)法傳播到采集設(shè)備接收端. 中繼器的增益系數(shù)記為GAmp, 根據(jù)弗里斯公式[17,18]可知, 在無(wú)噪聲的自由空間中, 接收端信號(hào)功率Pr和發(fā)射端信號(hào)功率Pt存在如下關(guān)系, 其中Gt,Gr分別為中繼器發(fā)射天線和接收天線的增益系數(shù),λ為傳輸波長(zhǎng),r為傳輸距離:
那么對(duì)于原始的無(wú)線側(cè)信道信號(hào)傳播模型, 采集設(shè)備接收端的信號(hào)2 記為S2, 目標(biāo)設(shè)備產(chǎn)生的信號(hào)1記為S1,S′1表示S1在自由空間中衰減后的信號(hào), 高斯信道中的噪聲信號(hào)均記為N, 可得:
在發(fā)射端與接收端距離為d的情況下, 信號(hào)載波波長(zhǎng)為λ,S2的功率P2與S1的功率P1有如下關(guān)系:
基于中繼器的無(wú)線側(cè)信道信號(hào)傳播模型中, 記信號(hào)1 為S1, 衰減后的信號(hào)為, 記信號(hào)3 為S3, 可得:
經(jīng)過(guò)中繼器的增幅之后, 得到的信號(hào)4 記為S4, 其功率為P4:
信號(hào)4 經(jīng)自由空間衰減后與高斯白噪聲疊加, 得到最終的信號(hào)5, 其功率為P5, 且此時(shí)接收端與中繼器的距離也為d:
因?yàn)樵趯?shí)驗(yàn)中, 所有天線的功率增益均為6 dB, 所以令Gt=Gr=6 dB=G, 進(jìn)一步展開(kāi)可得:
于是, 在普通的無(wú)線側(cè)信道信號(hào)傳播模型中, 接收端采集到的泄露信號(hào)的信噪比為:
而在基于中繼器的無(wú)線側(cè)信道信號(hào)傳播模型中, 接收端接收到的信號(hào)信噪比為:
則中繼器系統(tǒng)對(duì)于信號(hào)質(zhì)量的增益系數(shù)記為GA:
當(dāng)GA 大于1 時(shí), 基于中繼器的無(wú)線側(cè)信道分析方法在工作效率和性能上都將優(yōu)于原始的無(wú)線側(cè)信道分析手段. 事實(shí)上, 將表1 中的實(shí)驗(yàn)設(shè)備參數(shù)代入公式(2)中, 可以得到真實(shí)的中繼器系統(tǒng)增益系數(shù)GA.
表1 實(shí)驗(yàn)參數(shù)名稱與數(shù)值Table 1 Name and value of experimental parameters
代入公式得到:
理論上, 當(dāng)中繼器處于接收端與發(fā)射端中心時(shí), 且接收端與發(fā)射端間距d為0.7 m 時(shí), 中繼系統(tǒng)對(duì)于泄露信號(hào)的信噪比有超過(guò)3 dB 的提升.
當(dāng)間距d從0.1 m 逐漸增加至2 m 時(shí), 中繼系統(tǒng)的增益系數(shù)GA 的變化曲線如圖4 所示.
圖4 中繼器位于發(fā)射端與接收端中點(diǎn)處時(shí)增益系數(shù)GA 關(guān)于間距d 的變化曲線Figure 4 Plot of GA-d when repeater located at midpoint of transmitter and receiver
如果我們僅改變中繼器在整個(gè)系統(tǒng)中的位置, 還可以進(jìn)一步提升接收到的信號(hào)質(zhì)量. 我們保持間距d為0.7 m, 改變中繼器與發(fā)射端的距離l, 則接收端與中繼器的距離為d-l, 同時(shí)重寫(xiě)公式(2), 有GA 為:
現(xiàn)在令d固定為0.7 m 時(shí), 我們調(diào)整l的數(shù)值, 并繪制增益系數(shù)GA 關(guān)于距離l的變化曲線圖, 如圖5 所示. 由圖5 可得, 中繼器距離發(fā)射端越近, 其帶來(lái)的增益效果就越強(qiáng), 整個(gè)系統(tǒng)所收到的信號(hào)質(zhì)量就越高.
圖5 距離d 固定時(shí)增益系數(shù)GA 關(guān)于l 的變化曲線Figure 5 Plot of GA-l with distance d fixed
綜上理論推導(dǎo), 我們可得結(jié)論: 中繼器距離目標(biāo)設(shè)備越近, 基于中繼器的無(wú)線側(cè)信道分析方法對(duì)于信號(hào)質(zhì)量的提升就越大, 分析效率就越高. 在第3 節(jié)的實(shí)驗(yàn)中, 我們將收集、分析數(shù)據(jù), 并在第4 節(jié)中進(jìn)一步印證本節(jié)的理論結(jié)果.
為了與前人的研究進(jìn)行對(duì)比, 我們采用Nordic 公司的nRF52832 藍(lán)牙芯片進(jìn)行實(shí)驗(yàn). 本節(jié)中, 我們將針對(duì)藍(lán)牙芯片nRF52832 的軟件AES 加密進(jìn)行研究. 這款芯片nRF52832 現(xiàn)被應(yīng)用在多個(gè)物聯(lián)網(wǎng)設(shè)備中, 例如: Rigado BDM301, RedBear BLE Nano v2 這兩款物聯(lián)網(wǎng)開(kāi)發(fā)系統(tǒng)就使用該芯片實(shí)現(xiàn)基本的藍(lán)牙通信功能, 而谷歌的藍(lán)牙信標(biāo)設(shè)備Google Eddystone 則使用該芯片向周圍的用戶推送信息, 借助其內(nèi)置的TinyAES 軟件加密程序則可以實(shí)現(xiàn)加密通信. 我們的目的是通過(guò)nRF52832 泄露的無(wú)線電信號(hào)以及已知的明密文信息來(lái)破解軟件AES 的加密密鑰, 同時(shí), 利用中繼器強(qiáng)化泄露信號(hào), 提升分析效率.
下面我們首先介紹泄露信號(hào)的定位方法, 接著闡述實(shí)驗(yàn)系統(tǒng)的整體架構(gòu)和實(shí)驗(yàn)流程, 最后說(shuō)明如何處理收集到的泄露信號(hào), 從而為CPA 提供高質(zhì)量的數(shù)據(jù)來(lái)源.
nRF52832 藍(lán)牙芯片在工作時(shí)存在著很嚴(yán)重的無(wú)線側(cè)信道泄露. 我們首先借助軟件無(wú)線電設(shè)備HackRF 對(duì)無(wú)線側(cè)信道泄露信號(hào)的頻段進(jìn)行定位. 實(shí)驗(yàn)中所采用的軟件無(wú)線電設(shè)備HackRF 是一種輕便的無(wú)線電采集設(shè)備, 我們?cè)赪indows 10 系統(tǒng)中使用頻譜顯示軟件CubicSDR 可以查看無(wú)線側(cè)信道泄露波形. 實(shí)驗(yàn)中, 我們?cè)O(shè)置HackRF 的基帶增益為39 dB, 中頻增益為35 dB, 采樣頻率為5 MHz.
nRF52832 芯片的載波信號(hào)頻率fcarrier為2.4 GHz, 其CPU 時(shí)鐘頻率fclk為64 MHz. 記基帶泄露信號(hào)頻率為fbaseband, 經(jīng)載波和時(shí)鐘信號(hào)的幅度調(diào)制后, 最終得到泄露信號(hào)的頻率為:
根據(jù)公式(4), 我們?cè)趯?shí)驗(yàn)中通過(guò)信號(hào)處理軟件Cubic SDR 觀察頻譜, 并在2.464 GHz、2.528 GHz 以及2.552 GHz 頻段處發(fā)現(xiàn)了大量的泄露信號(hào), 其中, 2.528 GHz 頻段泄露信號(hào)的時(shí)頻域圖如圖6 所示, 可以從右上角的時(shí)域圖(紅圈部分) 中清晰的觀察到AES 加密的十輪加密波形.
圖6 泄露信號(hào)在2.528 GHz 頻段的時(shí)頻域圖Figure 6 Time-frequency domain diagram of leaked signal at 2.528 GHz
在接下來(lái)的實(shí)驗(yàn)中, 我們將針對(duì)nRF52832 芯片中存在的無(wú)線側(cè)信道泄露信號(hào)進(jìn)行對(duì)比研究, 借助中繼設(shè)備提升泄露信號(hào)的信噪比, 減少分析所需的曲線條數(shù), 提升分析效率.
在我們建立的實(shí)驗(yàn)系統(tǒng)中, 主要有四個(gè)部件: 目標(biāo)設(shè)備(nRF52832 開(kāi)發(fā)板)、采集設(shè)備(HackRF)、中繼器以及PC 機(jī)作為控制終端. 為了使實(shí)驗(yàn)場(chǎng)景更加現(xiàn)實(shí), 我們將實(shí)驗(yàn)系統(tǒng)放置在噪聲環(huán)境中. 目標(biāo)設(shè)備和采集設(shè)備的間隔距離為dm, 且在兩者中點(diǎn)處放置中繼器.
在實(shí)驗(yàn)系統(tǒng)中, 我們參考相關(guān)資料[19]設(shè)計(jì)了中繼電路, 其電路如圖7(左) 所示, 中繼器接收天線接收輸入信號(hào), 并經(jīng)過(guò)內(nèi)部電路對(duì)信號(hào)進(jìn)行濾波、整流、放大等操作, 其增益曲線如圖7(右) 所示.
圖7 中繼器電路(左) 及增益曲線(右)Figure 7 Circuit (left) and gain plots (right) of repeater
實(shí)驗(yàn)的完整采集流程如圖8 所示:
圖8 信號(hào)采集流程Figure 8 Signal acquisition process
(1) 打開(kāi)中繼器, 使其進(jìn)入工作模式;
(2) PC 機(jī)控制nRF52832 芯片的CPU 開(kāi)始運(yùn)行TinyAES 程序, 與此同時(shí), 命令HackRF 開(kāi)始對(duì)nRF52832 芯片的泄露信號(hào)進(jìn)行收集;
(3) nRF52832 選擇隨機(jī)明文, 開(kāi)始一輪固定密鑰加密, 并將明文發(fā)送至PC 端, 加密完成后芯片進(jìn)入等待狀態(tài);
(4) HackRF 采集曲線, 直到一輪加密結(jié)束后, 將收集到的曲線以二進(jìn)制文件形式保存至PC 機(jī);
(5) 重復(fù)(2) 至(4) 共50 000 次, 構(gòu)成增幅后的曲線集合Amp_tr;
(6) 關(guān)閉中繼設(shè)備, 重復(fù)步驟(2) 至(4) 共50 000 次, 構(gòu)成未增幅的曲線集合Normal_tr;
(7) 分別通過(guò)集合Normal_tr 以及集合Amp_tr 分析AES 加密密鑰, 并對(duì)比數(shù)據(jù)結(jié)果, 評(píng)估基于中繼器的無(wú)線側(cè)信道分析方法的性能和增益效果.
在對(duì)TinyAES 加密功能進(jìn)行分析之前, 我們需要進(jìn)一步處理收集到的泄露信號(hào). 由于信號(hào)中夾雜了信道噪聲, 為了提取出高信噪比波形, 我們需要對(duì)齊曲線, 并根據(jù)曲線波形的好壞進(jìn)行篩選.
為了進(jìn)行對(duì)齊操作, 我們首先挑選一條波形良好的曲線作為標(biāo)準(zhǔn). 如圖9 所示, 良好的AES 加密曲線應(yīng)該能夠清晰地顯示出十輪加密的波形.
圖9 良好的AES 加密波形Figure 9 Fine waveform of AES encryption
我們以這種標(biāo)準(zhǔn)的波形為依據(jù), 對(duì)收集到的波形首先進(jìn)行對(duì)齊, 即移動(dòng)曲線, 使得各個(gè)曲線的對(duì)應(yīng)操作點(diǎn)能夠?qū)R. 由于曲線的每次波形變化都嚴(yán)格對(duì)應(yīng)于AES 加密過(guò)程中的運(yùn)算步驟, 所以我們通過(guò)對(duì)齊操作能使各個(gè)曲線在同一時(shí)刻對(duì)應(yīng)于同一步操作, 為接下來(lái)的相關(guān)性分析提供便利.
對(duì)齊波形之后, 我們還應(yīng)當(dāng)對(duì)損壞的曲線進(jìn)行剔除, 通過(guò)曲線與標(biāo)準(zhǔn)波形之間的相關(guān)系數(shù)可以判斷曲線的質(zhì)量, 當(dāng)相關(guān)系數(shù)低于某個(gè)閾值時(shí)(例如: 0.9), 曲線將出現(xiàn)明顯的畸變, 我們將這些畸變曲線逐一篩去, 整個(gè)對(duì)齊操作前后的波形變化如圖10、圖11 所示. 在對(duì)齊、篩選步驟之后, 我們只需要按照2.3 節(jié)中描述的CPA 操作, 即可分析出對(duì)應(yīng)的AES 加密密鑰.
圖10 對(duì)齊之前的AES 加密曲線Figure 10 Traces of AES encryption before alignment
圖11 對(duì)齊之后的AES 加密曲線Figure 11 Traces of AES encryption after alignment
在本部分, 我們將對(duì)比評(píng)估無(wú)線側(cè)信道分析方法和基于中繼器的無(wú)線側(cè)信道分析方法的性能. 首先, 我們將簡(jiǎn)單地對(duì)比泄露信號(hào)的時(shí)頻域圖像以及無(wú)線側(cè)信道信號(hào)的信噪比, 接著, 我們對(duì)比實(shí)驗(yàn)結(jié)果與2.4 節(jié)中的理論推導(dǎo)結(jié)論, 從而印證我們提出的信號(hào)傳播模型的正確性. 最后, 我們?cè)u(píng)估基于中繼器的無(wú)線側(cè)信道分析方法對(duì)于信號(hào)品質(zhì)、分析效率的提升.
為了較為直觀的觀察中繼器對(duì)于無(wú)線側(cè)信道泄露信號(hào)品質(zhì)的提升效果, 我們控制藍(lán)牙芯片在2.4 GHz頻段發(fā)送恒定載波, 并觀察隨載波一同輻射出來(lái)的無(wú)線側(cè)信道泄露信號(hào)的強(qiáng)度.
在現(xiàn)實(shí)場(chǎng)景中, 2.4–2.5 GHz 頻段被其他藍(lán)牙設(shè)備的通信信號(hào)占用, 噪聲過(guò)大. 因此, 我們選擇使用HackRF 監(jiān)聽(tīng)噪聲較小的2.528 GHz 頻段. 接著, 在HackRF 距離藍(lán)牙芯片10 cm, 50 cm, 80 cm, 1 m,2 m 的情況下分別測(cè)量泄露信號(hào)的信噪比, 并分析中繼器對(duì)于信號(hào)信噪比的影響, 這里我們采用的信噪比公式為: SNR =, 其中σ2為高斯白噪聲的方差,P為信號(hào)的功率, 這兩項(xiàng)數(shù)據(jù)可以從無(wú)線電信號(hào)解析軟件CubicSDR 中得到, 具體過(guò)程不再贅述. 我們?cè)O(shè)中繼器打開(kāi)時(shí)的泄露信號(hào)信噪比為SNR1, 中繼器關(guān)閉時(shí)信號(hào)的信噪比為SNR2, 對(duì)比實(shí)驗(yàn)的結(jié)果如圖12、圖13、圖14所示.
圖12 泄露信號(hào)信噪比在不同情況下的變化曲線Figure 12 Curves of signal to noise ratio of leaked signal under different conditions
圖13 信號(hào)時(shí)頻域圖像: 設(shè)備間距50 cm 時(shí), 中繼器打開(kāi)(左) 或關(guān)閉(右)Figure 13 Time-frequency domain diagram of signal: Distance is 50 cm, repeater is on (left)/off(right)
圖14 信號(hào)時(shí)頻域圖像: 設(shè)備間距1 m 時(shí), 中繼器打開(kāi)(左) 或關(guān)閉(右)Figure 14 Time-frequency domain diagram of signal: Distance is 1 m, repeater is on (left)/off(right)
可以觀察到, 隨著測(cè)量設(shè)備與藍(lán)牙芯片間距離的增加, 無(wú)線側(cè)信道的泄露信號(hào)的信噪比不斷降低, 且在間距到達(dá)0.5 m 時(shí), 原始無(wú)線側(cè)信道泄露信號(hào)的信噪比為18.5 dB, 且波形有較大的畸變, 而基于中繼器的無(wú)線側(cè)信道系統(tǒng)的泄露信號(hào)信噪比在此時(shí)為21.9 dB, AES 的加密波形很規(guī)整. 當(dāng)設(shè)備間距為1 m 時(shí),原始的無(wú)線側(cè)信道信號(hào)信噪比降為16.4 dB, 加密波形已經(jīng)完全被噪聲覆蓋, 此時(shí), 在基于中繼器的無(wú)線側(cè)信道系統(tǒng)中仍然可以觀察到AES 加密波形, 泄露信號(hào)信噪比為18.6 dB.
由此可進(jìn)一步繪制得到中繼器對(duì)于泄露信號(hào)強(qiáng)度的影響, 如圖15 所示. 事實(shí)上, 信噪比強(qiáng)度之比與第2.4 節(jié)中提到的中繼器增益GA 是同一個(gè)概念, 即= GA, 進(jìn)一步觀察圖15 看出, 實(shí)驗(yàn)得到的曲線與理論推導(dǎo)的曲線基本一致, 說(shuō)明2.4 節(jié)中構(gòu)建的信號(hào)傳播模型是正確的.
圖15 中繼器對(duì)于信號(hào)強(qiáng)度的提升效果與設(shè)備間距的關(guān)系圖Figure 15 Plot of gain effect of repeater-equipment distance
需要注意的是, 在設(shè)備間距過(guò)近(d <0.2 m) 時(shí), 原始泄露信號(hào)會(huì)和中繼器放大后的信號(hào)產(chǎn)生疊加, 這時(shí)由于模型中的假設(shè)條件不再成立, 導(dǎo)致信號(hào)的信噪比在d <0.2 m 時(shí)超過(guò)了理論值.
綜上所述, 中繼器對(duì)于泄露信號(hào)的信噪比有很好的提升效果, 并且能夠有效擴(kuò)大信號(hào)的傳播范圍, 有助于采集高質(zhì)量曲線, 從而提升分析效率.
在4.1 節(jié)中, 我們已經(jīng)確認(rèn)了中繼器系統(tǒng)能夠大幅提升無(wú)線側(cè)信道泄露信號(hào)的信噪比, 并擴(kuò)大無(wú)線側(cè)信道泄露的傳播范圍. 下面我們將進(jìn)一步驗(yàn)證中繼器對(duì)于AES 密鑰分析效率的提升.
在實(shí)驗(yàn)過(guò)程中(見(jiàn)3.2 節(jié)), 我們讓中繼系統(tǒng)分別處于工作和關(guān)閉狀態(tài), 藍(lán)牙芯片和HackRF 保持固定距離. 接著, 我們進(jìn)一步利用CPA 的方法分析收集到的數(shù)據(jù).
得到如下結(jié)果: 當(dāng)HackRF 距離藍(lán)牙芯片20 cm 時(shí), 如果打開(kāi)中繼器, 則只需要2450 條收集到的曲線即可恢復(fù)出完整的16 字節(jié)的密鑰, 在50 000 次測(cè)量過(guò)程中, 有43 327 條曲線未產(chǎn)生畸變. 而在中繼器關(guān)閉的情況下, 需要4850 條曲線才能破解出16 字節(jié)的密鑰, 同時(shí)測(cè)量得到的五萬(wàn)條曲線中僅有13 091條沒(méi)有畸變, 設(shè)備間距為20 cm 時(shí)的密鑰猜測(cè)熵如圖16(左) 所示, 計(jì)算可得, AES 加密的分析效率在中繼器打開(kāi)的情況下提升了81.15%. 我們進(jìn)一步增加HackRF 和藍(lán)牙芯片間的距離至70 cm, 密鑰猜測(cè)熵如圖16(右) 所示. 在中繼系統(tǒng)打開(kāi)情況下, 我們僅用6450 條曲線就能恢復(fù)16 字節(jié)的密鑰, 同時(shí)5 萬(wàn)條曲線中有25 399 條曲線沒(méi)有產(chǎn)生畸變, 而關(guān)閉中繼器后, 普通的無(wú)線側(cè)信道分析方法根本無(wú)法降低密鑰猜測(cè)熵, HackRF 端收集到的曲線中僅有24 條沒(méi)有畸變, 由于采集到的曲線質(zhì)量過(guò)低, 分析完全失敗.
圖16 HackRF 與藍(lán)牙芯片間距為20 cm(左)、70 cm(右) 時(shí)的密鑰猜測(cè)熵Figure 16 Key guessing entropy when distance between HackRF and Bluetooth chip is 20 cm (left) and 70 cm(right)
可見(jiàn), 基于中繼器的無(wú)線側(cè)信道分析方法的分析效率明顯高于普通的無(wú)線側(cè)信道分析方法.
在4.1 節(jié)中, 我們通過(guò)測(cè)量信號(hào)強(qiáng)度、計(jì)算信噪比、觀察曲線波形等手段, 判斷出中繼器對(duì)于無(wú)線側(cè)信道泄露信噪比有顯著的提升效果. 藍(lán)牙芯片與HackRF 間距10 cm 時(shí), 將中繼器置于他們的中點(diǎn)處可獲得5 倍的信噪比提升效果. 同時(shí), 實(shí)驗(yàn)驗(yàn)證了2.4 節(jié)中信號(hào)傳播模型的正確性, 根據(jù)該模型, 當(dāng)中繼器與藍(lán)牙芯片間距小于10 cm 時(shí), 泄露信號(hào)信噪比最多可以提升至原來(lái)的14 倍.
第4.2 節(jié)中, 我們利用中繼器增幅后的信號(hào), 分析藍(lán)牙芯片nRF52832 的TinyAES 加密密鑰, 并發(fā)現(xiàn)中繼器能夠成倍減少解密所需的曲線條數(shù), 極大地提升了分析效率、減少了分析的時(shí)間成本, 在合適的條件下, 分析效率的提升高達(dá)81.15%.
綜上所述, 基于中繼器的無(wú)線側(cè)信道分析方法明顯優(yōu)于原始的無(wú)線側(cè)信道分析方法, 它在同等條件下能大幅提升無(wú)線側(cè)信道信號(hào)的信噪比, 從而減少分析所需的曲線條數(shù)、極大地提升了分析效率.
本文設(shè)計(jì)了基于中繼器的無(wú)線側(cè)信道分析方法, 運(yùn)用該方法收集、分析無(wú)線側(cè)信道泄露信號(hào), 不僅能夠擴(kuò)大無(wú)線側(cè)信道信號(hào)的傳播范圍、提升信號(hào)信噪比, 還極大地減少了分析所需要的曲線條數(shù), 從而降低了分析的時(shí)間成本, 為應(yīng)對(duì)無(wú)線側(cè)信道采集過(guò)程中的距離限制和噪聲干擾提供了新方案. 同時(shí), 本文針對(duì)新的分析方法建立了信號(hào)傳播模型, 為研究提供了理論支撐.
但是, 本文中的中繼器需要外部直流供電, 較為笨重, 未來(lái)我們將進(jìn)一步設(shè)計(jì)高精度、小尺寸的貼片型中繼器, 降低新方法的生產(chǎn)成本、提升方法的便捷性. 我們還將改進(jìn)文中提出的信號(hào)傳播模型, 使其能適用于更多具有不同性質(zhì)的信道, 進(jìn)一步提升其理論價(jià)值.