淺談側(cè)信道攻擊 - 什么是數(shù)字時(shí)代的隔空取“數(shù)”?
2016年以來,以解決“最后一公里”為出發(fā)點(diǎn)的共享單車在國內(nèi)如雨后春筍般快速發(fā)展起來,而截止2016年底,全國共享單車用戶量已達(dá)到1880萬,預(yù)計(jì)2017年底將超過5000萬。共享單車為人們的日常出行帶來巨大便利的同時(shí),也出現(xiàn)了一些不容忽視的問題。2017年5月13日,一段昆明小學(xué)生“聽聲音”徒手解開ofo共享單車密碼鎖的視頻流傳于網(wǎng)絡(luò),視頻中該小學(xué)生通過不斷扭動(dòng)密碼輪盤來嘗試解鎖,僅用17秒便成功解開了車鎖。該情景不禁讓人聯(lián)想起諜戰(zhàn)電影中“聽音解鎖”的密碼破解高手,而通過“聲音”破解密碼最經(jīng)典的案例莫過于二戰(zhàn)中盟軍破解Enigma密碼機(jī)。實(shí)際上,雖然上述密碼破解方法可以看作一類特殊的“側(cè)信道攻擊”,但真正的側(cè)信道攻擊遠(yuǎn)不止這些,其威力也更加強(qiáng)大。那么,什么才是真正的側(cè)信道攻擊?它對實(shí)際應(yīng)用中的密碼系統(tǒng)的安全性有什么威脅?如何通過有效的防御手段來抵抗這些側(cè)信道攻擊?本文將通過對側(cè)信道攻擊的原理及所采用的技術(shù)的介紹來解答上述問題。
針對手機(jī)的側(cè)信道攻擊(電磁分析攻擊)
側(cè)信道攻擊的基本原理
通常,密碼算法(或密碼方案)在實(shí)際應(yīng)用中都會(huì)實(shí)現(xiàn)在具體的硬件平臺(tái)上,形成密碼模塊、密碼芯片、密碼系統(tǒng)等,從而完成所需的密碼功能,用于滿足特定的信息安全需求。這些具備密碼功能的模塊(芯片或系統(tǒng))統(tǒng)稱為密碼實(shí)現(xiàn),它們均實(shí)現(xiàn)在特定的數(shù)字電路中,而數(shù)字電路單個(gè)基本單元只有0和1兩種狀態(tài)。我們以裝不同水量的玻璃杯發(fā)聲不同為例說明如何利用數(shù)字電路的狀態(tài)特征進(jìn)行密碼破解。如下左圖中ABCD四個(gè)杯子中水量不同,僅通過區(qū)分敲擊四個(gè)杯子所發(fā)出聲音的不同即可輕易分辨出ABCD中的單個(gè)杯子。因此,可以用右圖中“空杯”和“滿杯”來分別模擬數(shù)字電路中的“0”和“1”,數(shù)字電路執(zhí)行操作的過程可以看作杯子中水不斷清空和裝滿的過程。因而顯然,0à1和1à0兩種狀態(tài)變換需要花更多的“時(shí)間”和“能量”,也會(huì)產(chǎn)生其他潛在“影響”。換句話說,如果我們能夠有效檢測和測量這種“時(shí)間”和“能量”的變化,就能夠推斷出所執(zhí)行的操作(或數(shù)據(jù)),即推斷出密碼實(shí)現(xiàn)運(yùn)行過程中的操作(或數(shù)據(jù)),從而能夠進(jìn)行密碼破解。這類通過密碼實(shí)現(xiàn)運(yùn)行過程中的“時(shí)間”、“能量”或其他類似信息進(jìn)行密碼分析的方法稱為側(cè)信道攻擊。
數(shù)字電路狀態(tài)特征與側(cè)信息的對應(yīng)關(guān)系
側(cè)信道攻擊(Side Channel Attack)又稱側(cè)信道密碼分析,由美國密碼學(xué)家P.C. Kocher于上世紀(jì)九十年代末期提出,是一種針對密碼實(shí)現(xiàn)(包括密碼芯片、密碼模塊、密碼系統(tǒng)等)的物理攻擊方法。這種攻擊方法的本質(zhì)上是利用密碼實(shí)現(xiàn)在執(zhí)行密碼相關(guān)操作的過程中產(chǎn)生的側(cè)信息來恢復(fù)出密碼實(shí)現(xiàn)中所使用的密鑰。其中,這里的側(cè)信息(Side Channel Information)指除了攻擊者通過除主通信信道以外的途徑獲取到的關(guān)于密碼實(shí)現(xiàn)運(yùn)行狀態(tài)相關(guān)的信息,典型的側(cè)信息包括密碼實(shí)現(xiàn)運(yùn)行過程中的能量消耗、電磁輻射、運(yùn)行時(shí)間等信息。
側(cè)信息泄漏模型
傳統(tǒng)密碼分析vs側(cè)信道攻擊
實(shí)際上,密碼系統(tǒng)的安全性不僅取決于密碼算法本身的數(shù)學(xué)安全性,更嚴(yán)重依賴于密碼實(shí)現(xiàn)的物理安全性。傳統(tǒng)密碼分析主要用于分析密碼算法的數(shù)學(xué)安全性,本質(zhì)上是一類針對密碼算法本身及各密碼組件各種數(shù)學(xué)屬性的理論分析方法,包括窮舉攻擊、差分分析、線性分析、代數(shù)分析等方法。與之相反,側(cè)信道攻擊主要面向密碼實(shí)現(xiàn)的物理安全性,采用能量分析攻擊、電磁分析攻擊、計(jì)時(shí)攻擊等一系列方法對其實(shí)現(xiàn)安全性進(jìn)行分析。
從實(shí)際攻擊效果上看,側(cè)信道攻擊的攻擊能力遠(yuǎn)遠(yuǎn)強(qiáng)于傳統(tǒng)密碼分析方法,因而也對密碼實(shí)現(xiàn)的實(shí)際安全性構(gòu)成了巨大的威脅。以窮舉攻擊為例,如果10^13次/s的速度進(jìn)行解密運(yùn)算,破解AES-128需要5.3x10^17年(見下表),而針對無保護(hù)AES-128的智能卡實(shí)現(xiàn),典型的差分能量攻擊方法能夠在30秒之內(nèi)完全恢復(fù)其主密鑰。
針對不同密碼算法的窮舉攻擊復(fù)雜度
側(cè)信道攻擊典型案例
2013年12月,以色列特拉維夫大學(xué)的計(jì)算機(jī)安全專家Daniel Genkin 和Eran Tromer等公布了使用三星Note2手機(jī)從30厘米遠(yuǎn)的地方(手機(jī)麥克風(fēng)對準(zhǔn)風(fēng)扇出風(fēng)口)“聽譯”出計(jì)算機(jī)中的PGP程序密鑰的方法。
2014年8月,以色列特拉維夫大學(xué)的計(jì)算機(jī)安全專家Eran Tromer等公布了一種通過用手觸碰筆記本電腦的外殼就能得到這臺(tái)計(jì)算機(jī)上存儲(chǔ)數(shù)據(jù)的安全密鑰的方法,該團(tuán)隊(duì)測試了廣泛使用的高安全標(biāo)準(zhǔn)的解密算法,并成功恢復(fù)了4096位RSA密鑰和3072位ElGamal密鑰。
2015年8月,來自上海交通大學(xué)的Yu Yu教授展示了通過側(cè)信道攻擊方法(能量分析攻擊)攻擊并克隆3G/4G手機(jī)卡的攻擊方法。該研究團(tuán)隊(duì)成功分析了八個(gè)從各種運(yùn)營商和制造商獲得的3G/4G(UMTS / LTE) SIM卡。
2016年2月,來自以色列特拉維夫大學(xué)(Tel Aviv University)和以色列理工學(xué)院(Technion)的一組研究人員發(fā)現(xiàn)了從一墻之隔的物理隔離設(shè)備上竊取數(shù)據(jù)的新方法。該方法僅用3.3秒即可恢復(fù)出15厘米厚墻體(金屬墻筋加固)另一側(cè)的筆記本上運(yùn)行的GnuPG(OpenPGP的一種實(shí)現(xiàn))的密鑰。
2016年10月,來自以色列特拉維夫大學(xué)(Tel Aviv University)研究團(tuán)隊(duì)采用電磁攻擊分析了蘋果iOS系統(tǒng)中多種常用密碼庫的安全性,發(fā)現(xiàn)了多個(gè)可被側(cè)信道攻擊方法利用的實(shí)現(xiàn)弱點(diǎn),并成功恢復(fù)了OpenSSL、CommonCrypto庫中ECDSA實(shí)現(xiàn)的密鑰。
2017年6月24日,F(xiàn)ox-IT安全專家證實(shí),通過利用 ARM Cortex 處理器與 AHB 總線之間的漏洞,可將其能量消耗與加密過程相互關(guān)聯(lián),進(jìn)而可以提取加密密鑰,可利用廉價(jià)設(shè)備(224美元)借助側(cè)信道攻擊方法攻擊一米(3.3 英尺)內(nèi)的無線系統(tǒng),數(shù)十秒內(nèi)即可竊取AES-256加密密鑰。
2017年7月28日在美國拉斯維加斯舉行的Black Hat 2017安全會(huì)議上,阿里巴巴安全部門的研究人員演示了用聲音和超聲波攻擊智能設(shè)備的“黑技術(shù)”(本質(zhì)上屬于一種結(jié)合了側(cè)信道攻擊的故障攻擊方法),包括大疆無人機(jī)、iPhone 7、三星 Galaxy S7、VR顯示器等產(chǎn)品紛紛中招。
針對側(cè)信道攻擊的防御對策
側(cè)信道攻擊本質(zhì)是利用密碼實(shí)現(xiàn)運(yùn)行過程中產(chǎn)生的依賴于密鑰的側(cè)信息來實(shí)施密鑰恢復(fù)攻擊的,因此防御對策的核心就是減弱甚至消除這種側(cè)信息與密鑰之間的直接依賴性。實(shí)際上,常見防御對策可以分為掩碼對策和隱藏對策兩種。具體地,掩碼對策借助秘密共享和多方安全計(jì)算,通過引入隨機(jī)數(shù)將密鑰分解為多個(gè)分組來消除側(cè)信息與密鑰的依賴性來增強(qiáng)抵抗側(cè)信道攻擊的能力;隱藏對策采用平均化“0”和“1”對應(yīng)側(cè)信息的差別來降低通過側(cè)信息區(qū)分對應(yīng)數(shù)據(jù)的可能性,即降低數(shù)據(jù)的可區(qū)分度來抵抗側(cè)信道攻擊。此外,通過在密碼實(shí)現(xiàn)中插入隨機(jī)偽操作或者增加噪聲,能夠?qū)⒂杏眯畔?ldquo;淹沒”在噪聲中,從而提高密碼實(shí)現(xiàn)的實(shí)際安全性。
總體而言,兩種防御對策試用與不同場景,如掩碼對策易于在密碼算法級進(jìn)行構(gòu)造,更易于實(shí)現(xiàn);而隱藏對策通常只能在硬件層進(jìn)行實(shí)現(xiàn),需要改變硬件實(shí)現(xiàn)結(jié)構(gòu),因而較難實(shí)現(xiàn)。此外,兩種防御對策可以組合實(shí)現(xiàn),以便最大限度地提高密碼實(shí)現(xiàn)的實(shí)際安全性。
側(cè)信道攻擊展望
以智能家居、智慧城市為代表的各類物聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)應(yīng)用的快速發(fā)展,使得包含密碼實(shí)現(xiàn)的各種硬件設(shè)備逐步從“王謝堂前燕”進(jìn)入“尋常百姓家”,從無線WiFi、銀行卡、門禁、手機(jī)卡、城際一卡通、共享單車到具備更復(fù)雜功能的可穿戴設(shè)備、智能手機(jī)等移動(dòng)終端,密碼技術(shù)已深入到人們?nèi)粘I畹姆椒矫婷?。從?cè)信道攻擊的角度來說,這些新的設(shè)備及應(yīng)用首先為其提供了極其豐富的目標(biāo)設(shè)備;其次,隨著這些設(shè)備的普及和攻擊者對它們的控制能力的增強(qiáng)(Fully Control),針對它們的側(cè)信道攻擊很可能更加易于實(shí)施,因而對這些設(shè)備以及依賴于這些設(shè)備的應(yīng)用的實(shí)際安全性構(gòu)成了巨大的威脅和挑戰(zhàn);最后,側(cè)信道攻擊中的核心問題是分類和區(qū)分,機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等一系列新技術(shù)必然會(huì)為其注入新的活力。值得一提的是,攻擊與防御從來都是相克相生、相輔相成,相信針對側(cè)信道攻擊更廣泛、更深入的研究和探索一定能夠?yàn)槲覀償?shù)字時(shí)代的信息安全提供更加有效的保障。
【本文為51CTO專欄作者“中國保密協(xié)會(huì)科學(xué)技術(shù)分會(huì)”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】