[發明專利]一種基于樹結構的密鑰加密存儲方法無效
| 申請號: | 200810097915.3 | 申請日: | 2008-05-16 |
| 公開(公告)號: | CN101582760A | 公開(公告)日: | 2009-11-18 |
| 發明(設計)人: | 沈昌祥;劉威鵬;張興;胡俊;莊俊璽 | 申請(專利權)人: | 中國科學院研究生院 |
| 主分類號: | H04L9/08 | 分類號: | H04L9/08;H04L29/06;G06F21/00;G06F12/14;G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100039北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 結構 密鑰 加密 存儲 方法 | ||
(一)技術領域
用于對稱密鑰加密存儲的方法屬于可信計算技術領域,是信息安全的核心技術之一。
(二)背景技術
在可信計算領域中,對稱密鑰的安全存儲是一個關鍵問題,因為如果對稱密鑰一旦泄密,則相關密文就不安全。
目前,普遍采用的存儲方法是把對稱密鑰分別存儲到軟盤或閃存中,由用戶隨身攜帶或存放在一個安全的地方。但是,這樣做很不方便。一是這種方式需要大量的軟盤或閃存;二是這種方式需要用戶總是守在計算機旁邊;三是這種內外交互的方式降低了應用程序的運行速度。
隨著密碼技術在計算機系統和通信系統中的大量使用,應用程序總是頻繁地在做加密、解密、數字簽名或身份驗證運算。因此,傳統的對稱密鑰存儲方法已不適應新時代的要求。另一方面,可信計算技術為在硬盤、閃存等外存中大量實時存儲對稱密鑰提供了可能。
(三)發明內容
在可信計算中,經常需要用到密碼體制,尤其是對稱密碼體制。其特點是運行速度快。當加密、解密在同一臺計算機中進行時,對稱密鑰不需要傳遞。但需要存儲在硬盤或閃存(介質)中,以便應用系統對其進行實時訪問。
為了防止對稱密鑰泄密,在存儲到介質前,應先對其進行加密。相應地,當對稱密鑰被從介質讀取到內存時,應對其進行解密。
本發明實現了對稱密鑰在應用信息系統中的安全、快速、方便訪問,為構造大型、復雜、安全的應用信息系統提供了保障。在電子商務、電子政務和電子金融等信息系統中有著廣泛而重要的應用。
3.1幾個基本概念
二叉樹:計算機程序中的一種數據結構,由節點構成。有唯一的根節點,每個節點最多有兩個子節點。沒有子節點的節點稱為葉節點。
二叉樹猶如一棵倒長的分層次的樹,根節點可視為零層,其次是第一層、第二層等等。顯然,第一層最多有2個節點,第二層最多有4個節點,...,第h層最多有2h個節點。整個樹最多有2h+1-1個節點。
可信密碼模塊:可信平臺控制模塊中的一個子模塊,可以當作硬件的一部分,用來產生密鑰和存儲有限密鑰,由于采用物理保護方式,它們不可能被外界竊取和非法獲得。簡稱為TCM(Trusted?Cipher?Module)。由于可信密碼模塊存儲空間很小,因此,只能存儲少數非常重要的密鑰。
數據加密密鑰:用來加密數據的對稱密鑰。對應于二叉樹中的中間節點。
密鑰加密密鑰:用來加密密鑰的對稱密鑰。對應于二叉樹中的根節點。
系統主密鑰:可信密碼模塊產生的一個對稱密鑰,并存儲在可信密碼模塊中,用來加密其它的對稱密鑰,它位于二叉樹根節點上。簡稱SMK(System?Main?Key)。
顯然,系統主密鑰也是一個密鑰加密密鑰。
密鑰路徑:從葉節點到根節點的一串節點,可根據節點中的父指針依次往上追溯。
設symCrypt為一個對稱算法,加密調用形式為symCrypt(plain,key,0),返回加密后的plain值,為密文;解密調用形式為symCrypt(cipher,key,1),返回解密后的cipher值,為明文。
令‘←’表示把右邊的值賦給左邊的變量。
令Null表示空值。
3.2二叉樹的初始化
定義一個含5個域的結構體類型BiTreeNode{keyV,keyN,parent,lChild,rChild}。
其中,keyV用來存放對稱密鑰值;keyN用來存放對稱密鑰編號,用于應用程序訪問相應的數據加密密鑰,從1開始編號,若其值為0,則表示keyV為密鑰加密密鑰;parent用來存放節點的父指針;lChild用來存放左孩子指針;rChild用來存放右孩子指針。
用節點變量名+‘.’+域名來標識節點的域。例如,aSMK.keyN標識根節點的對稱密鑰編號(見下)。
(1)開辟一個類型為BiTreeNode的存儲單元aSMK
(該單元作為二叉樹的根節點),
(2)隨機生成用于symCrypt的主密鑰,并存入TCM的永久單元SMK中,
置aSMK.keyV←Null,
(3)置aSMK.parent←Null、aSMK.lChild←Null、aSMK.rChild←Null,
置aSMK.keyN←0,
(4)把該樹結構存入到一個永久磁盤文件中。
注意,該文件會隨著二叉樹的長大而長大。應用程序每次運行時,調入二叉樹到內存,并調整有關值。結束運行前,把二叉樹重新寫入磁盤文件中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院研究生院,未經中國科學院研究生院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810097915.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種手機媒體信息直接發送到電子公告板的方法
- 下一篇:罐頭開啟器





