[发明专利]一种基于树结构的密钥加密存储方法无效
申请号: | 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.vipzhuanli.com/pat/books/200810097915.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种手机媒体信息直接发送到电子公告板的方法
- 下一篇:罐头开启器