[發明專利]基于Cache時間特性的防御攻擊方法有效
| 申請號: | 201010210246.3 | 申請日: | 2010-06-26 |
| 公開(公告)號: | CN101847195A | 公開(公告)日: | 2010-09-29 |
| 發明(設計)人: | 管海兵;董國星;何悅美;陳凱;梁阿磊 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | G06F21/22 | 分類號: | G06F21/22 |
| 代理公司: | 上海交達專利事務所 31201 | 代理人: | 王錫麟;王桂忠 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 cache 時間 特性 防御 攻擊 方法 | ||
技術領域
本發明涉及的是一種信息安全技術領域的方法,具體是一種利用動態二進制翻譯技術的基于Cache時間特性的防御攻擊方法。
背景技術
動態二進制翻譯是虛擬執行技術中應用最為廣泛的方法,是為遺留代碼提供移植可能性和提高軟件的平臺適應性的一種有效手段,它在不需要可執行程序的源代碼的情況下,可以動態地將源機器平臺上的二進制程序經過轉換,運行于其他目標機器平臺上。同時,動態二進制翻譯技術提供了探測程序行為的可能性,也提供了對源程序進行修改的方法,使程序執行變得可知、可控。正是動態二進制翻譯技術的這種功能特性,使之可以運用于旁路攻擊的防御。
在密碼學中,旁路攻擊指這樣一種攻擊方式:它不以通過暴力破解或針對加密方法中所采用的數學模型的漏洞為攻擊手段,而是通過分析加密程序的執行平臺在加密運算中所泄漏的一種或多種旁路信息來獲取密鑰的物理攻擊方法。所述的旁路信息包括時間信息、電能開銷、電磁峰值甚至噪音等信息。簡言之,旁路攻擊不攻擊密鑰本身,而是攻擊那些運行于不安全系統上的加密程序,正是這類不安全的系統導致了旁路信息的產生。系統的不安全主要是由于體系結構設計的不合理所導致的,本發明所防御的旁路攻擊就是利用了系統在硬件實現上采用了Cache-Memory存儲結構。為了緩解CPU與主存儲器之間的存取速度差,在現代計算機系統中一般都采用了Cache技術。Cache是位于CPU和DRAM主存之間的小規模高速緩沖存儲器。它保存著CPU最常用的數據或指令。CPU直接訪問Cache時稱為“命中”(Cache?hit),否則稱為“缺失”(Cache?miss)。當前很多加密方法如AES(Advanced?Encryption?Standard),出于性能的考慮,在實現過程中都采用了查找表。這種做法雖然大大降低了方法的時間復雜度,但也導致在加密過程中Cache信息的泄露。由于Cache容量的性質,加密過程中使用到的查找表無法完全放入Cache中,這必然引起加密過程中“命中”和“缺失”兩種情況皆會出現,其中宏觀的一種表現形式就是程序在執行過程中時間的變化,稱為Cache的時間特性。基于測量加密程序執行時間的旁路攻擊稱為時間特性旁路攻擊(Timing?attack),這是目前使用最多的旁路攻擊方式,也是本發明所針對的旁路攻擊方式。
1992年,Kocher指出使用查找表的加密程序會由于Cache的存在而引起執行時間上的特性,后來Page從理論上論證了Cache能被用于旁路攻擊。2005年,Bernstein首次成功實現了針對AES加密方法的旁路攻擊。Bonneau基于Bernstein的工作,提出針對AES更加有效的旁路攻擊方法。雖然在采用了不同的策略,但是他們都基于這樣一個事實,即方法的執行時間直接受Cache缺失次數的影響。基于Cache時間特性的旁路攻擊已被證明是一種有效的且在現實中是可行的攻擊手段。從這個意義上說,任何采用Cache-Memory這種存儲結構的設備都有被攻擊的可能。因此,針對此類攻擊的防御方法有很強的現實需求。
經過對現有技術的檢索發現,現有技術手段主要是從硬件與軟件這兩方面提出防御措施。從硬件方面來看,大多數研究都是提議修改Cache的設計,希望能從根本上解決Cache可被用作旁路泄露加密程序的運算信息這一問題。Page提出動態劃分Cache(Partitioned?CacheArchitecture),為特定的應用程序指定特定的分區,并對該分區加鎖,以防止敏感數據的泄露。而另外一些研究者則認為Cache沖突是導致加密方法運算信息泄露的根本原因,并提出PLCache(Partition-Locked?Cache,分區加鎖緩存)與RPCache(Random?Permutation?Cache,隨機排列緩存)。此外,還有人提出重新設計體系架構,重新設計導致執行時間不可預測的部件,如Cache、硬件流水、分支預測等,以達到程序執行時間恒定的目標。從軟件方面來看,提出的觀點一般集中在對加密方法實現的修改,目的是通過提高攻擊者的負擔來降低旁路攻擊的成功率。加密方法實現時采用查找表是出于保證方法的時間復雜度,就目前而言還很難找到不以犧牲方法性能為代價的替代方法。一種可選的方案是采用小壓縮查找表的規模,譬如說,當查找表的元素首次被訪問,整個查找表都可以被加載到內存中,但這只是增加了攻擊者的分析難度,并沒從根本上解決問題。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010210246.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:法院庭審參與人員身份信息采集方法
- 下一篇:起重機起升機構圖紙參數化設計方法





