分組密碼的側信道分析
- 側信道分析簡介
- 側信道分析的半導體物理基礎
- 側信道分析分類
- 激光錯誤注入
- 側信道分析技術與其餘密碼分析技術結合
- 將來的一些研究熱點
側信道分析技術簡介
- 是對安全芯片的側信道分析(side channel analysis)的攻擊方法,好比經過功耗、電磁輻射、時間、及其它一些可檢測到的信息泄露出與密鑰相關的信息。
- 若是集成電路未採起保護措施,則可能只須要很小的代價就能夠實現破解並得到密鑰。
- 根據目前報道的文獻資料,如未對側信道攻擊進行防護設計,許多算法均可在短時間內(幾分鐘到數天)被破解。
- 側信道分析攻擊方式成爲破解密碼芯片的可能的一條「捷徑」,愈來愈受到學術界和工業界的關注。
側信道攻擊方法的侷限性
(1)目前的攻擊仍然主要集中在以智能卡爲表明的資源受限的一類密碼集成電路。算法
(2) 許多攻擊方法依賴算法實現或防護方法的細節,在大部分資源受限、專業技術受限的攻擊中是有難度的。安全
(3)集成電路工藝水平的提升使得攻擊的難度不斷增大。如反向工程(reverse engineering)在深亞微米工藝條件下愈來愈困難。session
側信道分析的半導體物理基礎
- 常見的密碼芯片的內部電路都是基於CMOS工藝的。
- 邏輯門電路是其基礎元件密碼芯片的全部運算都是經過門電路的狀態變化來實現的。邏輯門電路狀態的變化在物理上就體現爲電流的變化,從而消耗功率。
- 電流變化(也即功耗變化)與門電路邏輯狀態的相關性構成了側信道分析技術中功耗分析、電磁分析的物理基礎。
- 算法處理中時間與密鑰信息(或其餘敏感信息)的相關性構成了時間分析的物理基礎。
- 密碼芯片中各金屬層和邏輯門電路在外界條件刺激下(好比瞬時高壓、瞬時電磁脈衝、激光、重粒子等)的響應構成錯誤誘導分析的物理基礎。
芯片中功耗P和數據邏輯值的數學模型可表述爲
- 因爲芯片由百萬甚至千萬個邏輯門、及各層材料不一樣的導線構成,同一時刻翻轉的邏輯門經常沒法統計,f()是很是複雜的函數。
- 功耗分析的重點是經過統計學的方法使得在某計算時刻、芯片某具體部位上與數據data相關的功耗值得以累計,而噪聲則被統計平均,所以P與data的相關性增長,從而由P推導出數據data值。
正確密鑰與錯誤密鑰機器學習
側信道分析與常規密碼分析的結合與相互支持
側信道分析與常規密碼分析有不少共同的方法,例如如下幾個方面:ide
尋找它們的共同規律是密碼學研究趨勢。函數
例如:工具
- 「側信道+選擇明文」破解DES硬件卡
- 「側信道+選擇明文」破解RSA
- 時鐘干擾下的power trace
側信道攻擊典型案例
- 2013年12月,以色列特拉維夫大學的計算機安全專家Daniel Genkin 和Eran Tromer等公佈了使用三星Note2手機從30釐米遠的地方(手機麥克風對準風扇出風口)「聽譯」出計算機中的PGP程序密鑰的方法。
- 2014年8月,以色列特拉維夫大學的計算機安全專家Eran Tromer等公佈了一種經過用手觸碰筆記本電腦的外殼就能獲得這臺計算機上存儲數據的安全密鑰的方法,該團隊測試了普遍使用的高安全標準的解密算法,併成功恢復了4096位RSA密鑰和3072位ElGamal密鑰。
- 2015年8月,來自上海交通大學的YuYu教授展現了經過側信道攻擊方法(能量分析攻擊)攻擊並克隆3G/4G手機卡的攻擊方法。該研究團隊成功分析了八個從各類運營商和製造商得到的3G/4G(UMTS / LTE) SIM卡。
- 2016年2月,來自以色列特拉維夫大學(Tel Aviv University)和以色列理工學院(Technion)的一組研究人員發現了從一牆之隔的物理隔離設備上竊取數據的新方法。該方法僅用3.3秒便可恢復出15釐米厚牆體(金屬牆筋加固)另外一側的筆記本上運行的GnuPG(OpenPGP的一種實現)的密鑰。
- 2016年10月,來自以色列特拉維夫大學(Tel Aviv University)研究團隊採用電磁攻擊分析了蘋果iOS系統中多種經常使用密碼庫的安全性,發現了多個可被側信道攻擊方法利用的實現弱點,併成功恢復了OpenSSL、CommonCrypto庫中ECDSA實現的密鑰。
- 2017年6月24日,Fox-IT安全專家證明,經過利用 ARM Cortex 處理器與 AHB 總線之間的漏洞,可將其能量消耗與加密過程相互關聯,進而能夠提取加密密鑰,可利用廉價設備(224美圓)藉助側信道攻擊方法攻擊一米(3.3 英尺)內的無線系統,數十秒內便可竊取AES-256加密密鑰。
- 2017年7月28日在美國拉斯維加斯舉行的Black Hat 2017安全會議上,阿里巴巴安所有門的研究人員演示了用聲音和超聲波攻擊智能設備的「黑技術」(本質上屬於一種結合了側信道攻擊的故障攻擊方法),包括大疆無人機、iPhone 七、三星 Galaxy S七、VR顯示器等產品紛紛中招。
針對側信道攻擊的防護對策
- 側信道攻擊本質是利用密碼實現運行過程當中產生的依賴於密鑰的側信息來實施密鑰恢復攻擊的,所以防護對策的核心就是減弱甚至消除這種側信息與密鑰之間的直接依賴性。實際上,常見防護對策能夠分爲掩碼對策和隱藏對策兩種。
- 掩碼對策藉助祕密共享和多方安全計算,經過引入隨機數將密鑰分解爲多個分組來消除側信息與密鑰的依賴性來加強抵抗側信道攻擊的能力;
- 隱藏對策採用平均化「0」和「1」對應側信息的差異來下降經過側信息區分對應數據的可能性,即下降數據的可區分度來抵抗側信道攻擊。
- 經過在密碼實現中插入隨機僞操做或者增長噪聲,可以將有用信息「淹沒」在噪聲中,從而提升密碼實現的實際安全性。
- 整體而言,兩種防護對策試用與不一樣場景,如掩碼對策易於在密碼算法級進行構造,更易於實現;而隱藏對策一般只能在硬件層進行實現,須要改變硬件實現結構,於是較難實現。此外,兩種防護對策能夠組合實現,以便最大限度地提升密碼實現的實際安全性。
密碼芯片的防護
- 硬件或軟件實現流程中不該存在與密鑰相關的條件分支
- 密碼集成電路的存儲器應該採用安全存儲器
- 消除處理時間與密鑰的相關性
- 採起必定的抗功耗分析的措施
- 採用能夠屏蔽或減弱電磁輻射的保護層
將來研究方向
設計階段的安全性評估
- 測試手段費時、費力、不繫統全面、容易出錯
- 使用通用的IC設計EDA(Electronic Design Automation)工具,和算法語言C,數學應用軟件matlab等,對芯片進行系統全面的分析安全評估,及時發現軟硬件設計的缺陷和漏洞,實現可控性研究。
量化分析
基於側信道的攻擊與防護技術,還沒有造成一套定量安全評估方案和標準。
未來根據信息熵量化計算芯片的安全程度。學習
在其餘領域的應用
- 無線通訊-採用channel state information 信道狀態的隨機性生成session key
- 基於bit error rate(BER)的信道估計
- 側信道與互聯網金融
總結
經過此次專題,我對密碼系統的安全保障有了嶄新的認識,毫不是本身觀念中的純數學機制就能保障的。實際上,密碼系統的安全性不只取決於密碼算法自己的數學安全性,更嚴重依賴於密碼實現的物理安全性。傳統密碼分析主要用於分析密碼算法的數學安全性,本質上是一類針對密碼算法自己及各密碼組件各類數學屬性的理論分析方法,包括窮舉攻擊、差分分析、線性分析、代數分析等方法。與之相反,側信道攻擊主要面向密碼實現的物理安全性,採用能量分析攻擊、電磁分析攻擊、計時攻擊等一系列方法對其實現安全性進行分析。測試
從實際攻擊效果上看,側信道攻擊的攻擊能力遠遠強於傳統密碼分析方法,於是也對密碼實現的實際安全性構成了巨大的威脅。以窮舉攻擊爲例,若是10^13次/s的速度進行解密運算,破解AES-128須要5.3x10^17年(見下表),而針對無保護AES-128的智能卡實現,典型的差分能量攻擊方法可以在30秒以內徹底恢復其主密鑰。加密
以智能家居、智慧城市爲表明的各種物聯網、移動互聯網應用的快速發展,使得包含密碼實現的各類硬件設備逐步成爲生活必須的元素,從無線WiFi、銀行卡、門禁、手機卡、城際一卡通、共享單車到具有更復雜功能的可穿戴設備、智能手機等移動終端,密碼技術已深刻到人們平常生活的方方面面。從側信道攻擊的角度來講,這些新的設備及應用首先爲其提供了極其豐富的目標設備;其次,隨着這些設備的普及和攻擊者對它們的控制能力的加強(Fully Control),針對它們的側信道攻擊極可能更加易於實施,於是對這些設備以及依賴於這些設備的應用的實際安全性構成了巨大的威脅和挑戰;
最後,側信道攻擊中的核心問題是分類和區分,機器學習、深度學習等一系列新技術必然會爲其注入新的活力。值得一提的是,攻擊與防護歷來都是相剋相生、相輔相成,相信針對側信道攻擊更普遍、更深刻的研究和探索必定可以爲咱們數字時代的信息安全提供更加有效的保障。