[發明專利]存儲器數據完整性保護的方法有效
| 申請號: | 201410707362.4 | 申請日: | 2014-11-27 |
| 公開(公告)號: | CN104463020B | 公開(公告)日: | 2017-08-22 |
| 發明(設計)人: | 姚念民;徐文霞;譚國真;戰福瑞;陳炳才 | 申請(專利權)人: | 大連理工大學 |
| 主分類號: | G06F21/64 | 分類號: | G06F21/64;G06F21/78;G06F12/06 |
| 代理公司: | 大連理工大學專利中心21200 | 代理人: | 李寶元,梅洪玉 |
| 地址: | 124221 遼*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 存儲器 數據 完整性 保護 方法 | ||
技術領域
本發明屬于計算機數據存儲保護技術領域,涉及一種存儲器數據完整性保護的方法。
背景技術
科技的不斷發展,使得越來越多的數據存儲在內存中,特別是一些機密信息。攻擊者可以對內存發動多種主動攻擊,破壞存儲在內存中的數據的完整性,使系統運行出現錯誤的結果。所以,需要對這些數據的完整性進行保護。目前保護內存數據完整性的常見方案是構建完整性保護樹,對從內存中取到的數據進行完整性驗證。但是,采用完整性保護樹進行完整性保護需要耗費大量的存儲空間存儲樹的內部節點,并且需要花費大量的時間對從內存中取到的數據塊進行完整性驗證,這會占用大量的系統計算資源。
發明內容
本發明提供一種隱藏數據塊和系統為這個數據塊分配的counter的地址間的映射關系的方法,以較低的存儲開銷和計算資源占用為內存數據提供完整性保護。
本發明的技術方案包括以下兩個部分:
當CPU將一個數據塊寫回內存時:
1.11首先,系統使用的counter自動增長,給這個數據塊分配新的counter,然后應用計數器模式加密方法對數據塊加密,以獲得相應的密文;
1.12將得到的密文形式的數據塊寫回內存;
1.13使用加密后的數據塊和這個數據塊的地址作為帶密鑰的MAC函數的輸入產生相應的輸出,根據這個輸出確定這個數據塊對應的counter在內存的最新存儲位置,如(1);
1.14如果counter在緩存中不需要寫回內存,則不寫回;如果需要寫回內存,則將其寫回到根據1.13計算得出的結果確定的內存位置上,并且數據塊與它所對應的counter不是同時寫回內存。當counter需要寫回內存時,可以將多個counter批量寫回,使攻擊者無法分析出數據與counter的對應關系。使用的數據塊的地址是數據塊的物理地址。
當CPU從內存中讀取一個數據塊時:
1.21直接從內存中讀取數據塊;
1.22同時,如果這個數據塊對應的counter在緩存中,則直接使用這個counter解密1.21中取到的數據塊;如果這個counter不在緩存中,則根據(1)計算系統為這個數據塊分配的counter在內存中的存儲位置,讀取這個counter,使用讀取到的counter對1.21中取到的數據塊進行解密;
將數據塊和數據塊的地址的連接作為帶密鑰的MAC函數的輸入,確保每次的輸入都是不同的,產生不同的輸出。如果產生沖突,采用通用的沖突消解方法處理。
可以在(1)中添加另一個非常短的輸入counter_i,進一步消除MAC函數的輸入發生重復的可能性,counter_i可以與數據以明文方式連接起來存儲,如(2)所示。相應的,在驗證數據完整性的步驟中,計算counter的存儲地址時也按照(2)計算:
系統使用計數器模式加密方法保護數據的機密性。
帶密鑰的MAC函數的輸入是密文形式的數據塊和數據塊的物理地址的連接。
本發明可以顯著的降低系統的存儲空間消耗。現存的完整性保護方法都需要在內存中存儲完整性驗證樹的內部節點,會消耗大量的存儲空間。本發明只需要將系統為數據塊分配的counter存儲到內存。
本發明可以隱藏數據塊和counter的存儲地址間的映射關系。因為帶密鑰的MAC函數的輸出是均勻分布的,只要輸入不同,產生的輸出也是不同的。如果產生沖突,采用通用的沖突消除方法處理。
本發明可以顯著降低完整性保護方法導致的系統性能下降。當系統從內存中讀取一個數據塊時,如果對應的counter在片上,則直接使用這個counter;如果對應的counter需要從內存中讀取,則計算counter在內存中的位置;不需要進行完整性檢查,直接解密即可,對系統的性能產生的負面影響較小。
本發明可以將一個非常短的輔助counter_i引入帶密鑰的MAC函數的輸入中,進一步的降低MAC函數的輸入產生重復的可能,提高系統的安全性,counter_i可以與明文數據連接起來存儲,如等式2。相應的,在驗證數據完整性的步驟中,計算counter的存儲地址也按照等式2計算。
addrcounter=Hkey(block||counter_i||addrblock) (2)
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大連理工大學,未經大連理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410707362.4/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





