一種計算機存儲器的加密方法和解密方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機存儲安全技術(shù)領(lǐng)域,具體涉及一種非易失存儲器的加密方法和解密方法。
【背景技術(shù)】
[0002]非易失性存儲器(Non Volatile Memory)是最有前景取代傳統(tǒng)存儲器件(比如SRAM和DRAM)的存儲媒介,它有著集成度高、漏電功耗低、訪問速度快、非易失等特性,并已開始替代傳統(tǒng)的DRAM存儲器應(yīng)用在移動設(shè)備系統(tǒng)中。雖然非易失性存儲器比DRAM的壽命要持久、漏電功耗低,但它的非易失特性使得其很容易受到外圍惡意程序的攻擊。非易失性存儲器在斷電后數(shù)據(jù)仍然保存,針對非易失性存儲器的一個很典型的攻擊就是物理攻擊,攻擊者很容易獲取存儲器里面的用戶機密信息,這就為非易失性存儲器在移動系統(tǒng)中的使用帶來了很大的挑戰(zhàn)。近年來非易失性存儲器得到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,研究人員針對其性能改進做了大量優(yōu)化工作,未來非易失性存儲器將在存儲器領(lǐng)域中占據(jù)主要角色,而存儲數(shù)據(jù)的安全性便成為人們關(guān)注的要點。
[0003]智能手機等移動設(shè)備日益普及,大量的用戶私密信息存儲在設(shè)備里,存儲信息的安全性急待解決。提高移動設(shè)備的數(shù)據(jù)安全性尤為重要。針對非易失性存儲器在移動系統(tǒng)中的安全性研究已經(jīng)展開,S.Chhabra and D.Solihin, “1-nvmm: a securenon-volatile main memory system with incremental encrypt1n,,,The 38th AnnualInternat1nal Symposium on in Computer Architecture (ISCA), pp.177 - 188, IEEE,2011 (S.Chhabra and D.Solihin, 1-nvmm: —種基于增量加密的安全非易失內(nèi)存系統(tǒng),第38借計算機系統(tǒng)結(jié)構(gòu)國際研討會2011,第177-188頁)于2011年提出名為i_NVMM的基于AES的加密算法。該技術(shù)采用AES算法加密在NVM的冷區(qū)數(shù)據(jù),在結(jié)束應(yīng)用程序是菜加密所有的數(shù)據(jù)。雖然1-NVMM加密技術(shù)能最小化延遲和能量開銷,而比冷區(qū)數(shù)據(jù)更敏感的熱區(qū)數(shù)據(jù)卻不受保護,存在很大的安全隱患。J.Kong and H.Zhou, “Improving privacy andlifetime of pcm-based main memory, ”
Internat1nal Conference on Dependable Systems and Networks (DSN), pp.333 - 342,IEEE, 2010( J.Kong and H.Zhou,改善基于相變存儲器內(nèi)存的私密性和壽命,可靠性系統(tǒng)和網(wǎng)絡(luò)的國際會議2010,第333-342頁)介紹一個基于counter-mode XOR加密技術(shù),為每個內(nèi)存數(shù)據(jù)塊計算crypto-PAD代替直接與AES加密數(shù)據(jù),然而該算法卻增加存儲代價。目前,現(xiàn)有技術(shù)并沒有考慮到移動系統(tǒng)中數(shù)據(jù)的訪存和數(shù)據(jù)特性,主要采用直接加密算法或者加密部分數(shù)據(jù),但降低了系統(tǒng)的整體性能,如增加了功耗和增加了時延。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是從操作系統(tǒng)中資源管理的層面,提供一種計算機存儲器的加密方法,它能降低存儲器數(shù)據(jù)加密所需的功耗;相應(yīng)地,還提供一種計算機存儲器的解密方法,它降低系統(tǒng)的時延,保證系統(tǒng)快速響應(yīng)。
[0005]要解決上述技術(shù)問題,本發(fā)明提供的一種計算機存儲器的加密方法,包括有以下步驟:
步驟1、將需要加密的數(shù)據(jù)劃分為多個數(shù)據(jù)塊;
步驟2、對每個數(shù)據(jù)小塊進行hash運算,對得到的結(jié)果做加密運算,得到數(shù)據(jù)塊對應(yīng)的中間變量值(記為PAD值);
步驟3、判斷要寫入的數(shù)據(jù)的地址是否非易失性存儲器中頻繁寫的熱區(qū);
步驟4、將熱區(qū)數(shù)據(jù)塊的PAD值放在緩存中;
步驟5、通過把數(shù)據(jù)塊的內(nèi)容與其對應(yīng)的PAD值做異或運算得到加密后的數(shù)據(jù);
步驟6、將加密后的數(shù)據(jù)寫入非易失性存儲器的存儲單元。
[0006]本發(fā)明還提供的一種計算機存儲器的解密方法,包括有以下步驟:
步驟1、讀取要解密的數(shù)據(jù)塊;
步驟2、判斷要讀取的數(shù)據(jù)塊是否為熱區(qū)數(shù)據(jù),如是,熱區(qū)數(shù)據(jù)則從緩存里讀取其對應(yīng)的PAD值;否則,按加密過程的方法,去重新計算PAD值;
步驟3、通過把數(shù)據(jù)塊的內(nèi)容與其對應(yīng)的PAD值做異或運算得到最初的數(shù)據(jù)。
[0007]由于本發(fā)明的加密方法通過步驟4不斷地把屬于熱區(qū)的數(shù)據(jù)塊的PAD值緩存起來,避免了大量解密過程中PAD值的重計算操作,從而降低了系統(tǒng)功耗,延長了系統(tǒng)電池的壽命。由于本發(fā)明提出的加密算法的解密過程在步驟2中獲取PAD值時,與非易失性存儲器訪問數(shù)據(jù)能并行執(zhí)行,減少了系統(tǒng)解密的時間,縮短系統(tǒng)響應(yīng)的時延。
[0008]本發(fā)明具有如下的優(yōu)點:避免了頻繁被寫的熱區(qū)數(shù)據(jù)塊PAD值的重計算操作,實現(xiàn)了系統(tǒng)功耗的節(jié)約;另外,PAD值的獲取與數(shù)據(jù)塊的訪問可以并行執(zhí)行,實現(xiàn)了系統(tǒng)時延的降低即延長設(shè)備的壽命,能保證系統(tǒng)快速響應(yīng)。
【附圖說明】
[0009]本發(fā)明的【附圖說明】如下:
圖1為本發(fā)明數(shù)據(jù)加密的流程圖;
圖2為本發(fā)明數(shù)據(jù)解密的流程圖;
圖3本發(fā)明的數(shù)據(jù)存儲狀態(tài)示意圖。
【具體實施方式】
[0010]下面結(jié)合附圖和實施例對本發(fā)明作進一步說明:
如圖1所示,本發(fā)明的數(shù)據(jù)加密流程如下:程序開始于步驟101;
在步驟102,根據(jù)具體應(yīng)用程序,初始化熱區(qū)的起始邏輯地址、熱區(qū)長度,保存熱區(qū)起始物理地址的初始化;
在步驟103,數(shù)據(jù)分塊,將要寫入的數(shù)據(jù)分成大小相同的塊,數(shù)據(jù)塊可以設(shè)置為不同的大小尺寸,比如 128Bits,256Bits,512Bits,1024Bits 等;
在步驟104,判定要寫入的數(shù)據(jù)塊是否完成全部加密,若已完成,則執(zhí)行步驟112,否則,執(zhí)行步驟105 ;
在步驟105,對將要寫入的數(shù)據(jù)塊采用目前最廣泛使用的hash算法SHA (Secure HashAlgorithm,譯作安全雜湊算法),得到hash操作的輸出結(jié)果(記為Mid); Hash函數(shù)屬于很成熟的信息安全領(lǐng)域的加密算法,“An Overview of IncrementalHash Funct1n Based on Pair Block Chaining,,.Yunling, S., & Xianghua, M.1nformat1n Technology and Applicat1ns, (2010),Internat1nal Forum on (Vol.3,pp.332-335).1EEE.(“一個基于雙塊連接的增量hash函數(shù)綜述”,Yunling, S.,&Xianghua, M,國際信息技術(shù)和應(yīng)用研討會2010,第332-335頁)于2010年7月做了一個基于雙鏈接的增量hash函數(shù)的綜述,也就是對hash函數(shù)做了理論,有效性,安全和應(yīng)用方面的整體分析。
[0011]