一种tpm密钥及其授权数据备份恢复系统及方法

文档序号:9491653阅读:1323来源:国知局
一种tpm密钥及其授权数据备份恢复系统及方法
【专利说明】一种TPM密钥及其授权数据备份恢复系统及方法
[0001]
技术领域
[0002]本发明属于信息安全技术领域,涉及一种TPM密钥备份系统及方法,尤其涉及一种TPM密钥及其授权数据备份恢复系统及方法。
[0003]
【背景技术】
[0004]随着可信计算的发展,大部分的商用计算机都有了 TPM,主流的操作系统也都支持TPM功能。TPM安全芯片是一种含有密码运算的小型芯片系统,用户可以用TPM创建密钥,创建的密钥由其父密钥加密敏感部分后以密钥缓存文件的形式保存在外部存储设备上,其创建的密钥需要加载到TPM内部才能使用,使用时,所有操作都是在TPM内部进行,密钥的敏感部分不会暴露在TPM外部。
[0005]在上述过程中,存在两个问题。首先,密钥缓存文件保存在TPM外部的存储设备上,当保存在外部密钥缓存文件丢失或者破坏,密钥也会随之无法使用,使用该密钥加密保存的文件也无法解密。其次,用于保护该密钥的父密钥或者任意一个祖先密钥丢失,该密钥也将无法使用,特别的,如果SRK (存储根密钥)丢失,原SRK下创建的密钥都将无法使用。
[0006]

【发明内容】

[0007]为了解决上述技术问题,本发明提供了一种TPM密钥及其授权数据备份恢复系统及方法,使用户在丢失或者无法使用由TPM产生的密钥的时候,能从服务器恢复该密钥。
[0008]本发明的系统所采用的技术方案是:一种TPM密钥及其授权数据备份恢复系统,其特征在于:包括TPM密钥管理中心和物理主机或虚拟机;
所述的TPM密钥管理中心包括第一通信接口、密钥管理中心模块、第一 TSS模块和第一TPM模块;所述的密钥管理中心模块为实现物理主机或虚拟机备份过来的TPM密钥管理,将其挂载到当前TPM密钥管理中心的TPM密钥树之下,并能处理远程物理主机或虚拟机的TPM密钥或授权数据的恢复请求;所述的第一 TSS模块为可信计算组织提供的访问第一 TPM模块的接口 ;
所述的物理主机或虚拟机包括第二通信接口、APP模块、密钥管理模块、第二 TSS模块和第二 TPM模块;所述的APP模块用于创建并使用TPM密钥,所述的密钥管理模块用于实现在远程TPM密钥管理中心上备份及恢复本地TPM密钥;所述的第二 TSS模块为可信计算组织提供的访问第二 TPM模块的接口 ;
所述的第一通信接口、第二通信接口是实现物理主机或虚拟机与远程TPM密钥管理中心相互通信的接口。
[0009]本发明的方法所采用的技术方案是:一种TPM密钥及其授权数据备份恢复方法,其特征在于:包括物理主机或虚拟机TPM密钥及授权数据备份的方法、TPM密钥管理中心备份或恢复TPM密钥及授权数据的方法、物理主机或虚拟机恢复TPM密钥或授权数据的方法。
[0010]作为优选,所述的物理主机或虚拟机TPM密钥及授权数据备份的方法,包括以下步骤:
步骤1.1:用户填授权数据,然后利用APP模块生成TPM密钥;
步骤1.2:通过第二 TSS模块提供的seal命令,封装上一步的授权数据,封装命令本质上也是创建一个TPM密钥,用于封装命令的密钥的授权数据为空,其安全性由本地的父密钥或TPM密钥管理中心的保护密钥保证;
步骤1.3:向远程TPM密钥管理中心,请求备份TPM密钥以及其对应的授权数据,并发送身份认证信息;
步骤1.4:TPM密钥管理中心响应后,返回该TPM密钥对应的TPM_ID,以及保护密钥的公钥信息,物理主机或虚拟机对TPM密钥及其对应的封装后的授权数据做TPM2_Duplicate操作;TPM_ID为每个TPM密钥对应唯一的一个TPM_ID ;
步骤1.5:将上一步的结果通过第二通信接口发送给TPM密钥管理中心;
步骤1.6: TPM密钥管理中心做TPM2_Import操作,将密钥以及该密钥对应的授权数据导入。
[0011]作为优选,所述的PTM密钥管理中心备份或恢复TPM密钥及授权数据的方法,包括以下步骤:
步骤2.1:TPM密钥管理中心一直处于端口监听状态,等待来自物理主机或虚拟机的连接;
步骤2.2:当有连接请求的时候,判断请求是备份或恢复TPM密钥及授权数据;
若是备份TPM密钥及授权数据请求,则执行下述步骤2.3 ;
若是恢复TPM密钥及授权数据请求,则执行下述步骤2.5 ;
步骤2.3:物理主机或虚拟机首先在该TPM密钥管理中心注册,每个物理主机或虚拟机的TPM密钥绑定一个唯一的TPM_ID,然后TPM密钥管理中心会将TPM_ID以及保护密钥的公钥信息发送给物理主机或虚拟机;
步骤2.4:接收物理主机或虚拟机返回的结果,将待备份的密钥及其对应的授权数据做TPM2_Import操作,挂载在TPM密钥管理中心的密钥树下;在备份TPM密钥的时候,TPM密钥及其对应的授权数据是一起备份的;
步骤2.5:判断是恢复TPM密钥请求还是恢复授权数据请求;
若是恢复TPM密钥请求,则执行下述步骤2.8 ;
若是恢复授权数据请求,则执行下述步骤2.6 ;
步骤2.6:接收物理主机或虚拟机端的保护密钥公钥信息;
步骤2.7:根据上一步得到的公钥信息,做TPM2_Duplicate操作,授权数据是通过seal命令封装在一个TPM密钥中,该密钥的授权数据为空,执行这步时,授权数据部分不填;并跳转执行下述步骤步骤2.11 ;
步骤2.8:找到该密钥对应的授权数据,加载后,通过unseal命令解封出其授权数据,此处解封时用到的授权数据为空;
步骤2.9:接收物理主机或虚拟机端发送过来的保护密钥公钥; 步骤2.10:将步骤2.8中unseal得到的授权数据填充到此处做TPM2_Duplicate操作,在做TPM2_Duplicate操作时,必须提供该密钥的授权数据,否则操作将无法完成;
步骤2.11:将结果返回给主机或虚拟机。
[0012]作为优选,所述的物理主机或虚拟机恢复TPM密钥或授权数据的方法,包括以下步骤:
步骤3.1:接受来自上层的恢复TPM密钥或授权数据请求;
步骤3.2:向TPM密钥管理中心发送恢复请求;
步骤3.3:向TPM密钥管理中心发送TPM_ID、待恢复的TPM密钥或授权数据的key_ID,以及保护密钥的公钥信息;
步骤3.4:接收TPM密钥管理中心返回结果;
步骤3.5:判断恢复的是TPM密钥还是TPM密钥的授权数据请求;
若是恢复TPM密钥请求,则执行下述步骤3.6 ;
若是恢复授权数据请求,则执行下述步骤3.7 ;
步骤3.6:替换原来的TPM密钥的密钥缓存文件,本流程结束;
步骤3.7:执行unseal命令,解封出授权数据,并将授权数据返回给上一层。
[0013]相对于现有技术,本发明使用户在丢失或者无法使用由TPM产生的密钥的时候,能从服务器恢复该密钥。
[0014]
【附图说明】
[0015]图1:本发明实施例的系统整体框架。
[0016]图2:本发明实施例的物理主机或虚拟机备份产生的TPM密钥和授权数据的方法流程图。
[0017]图3:本发明实施例的TPM密钥管理中心备份及恢复TPM密钥及其授权数据的方法流程图。
[0018]图4:本发明实施例的物理主机或虚拟机恢复TPM密钥和授权数据的方法流程图。
[0019]
【具体实施方式】
[0020]为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
[0021]本发明底层使用的是TPM密钥迀移的接口,其和普通的TPM迀移的不同在于,在TPM密钥备份阶段,会将其对应的授权数据也备份到TPM密钥管理中心。这样做的目的是在TPM密钥恢复阶段,若没有将授权数据备份,该密钥就不能在TPM密钥管理中心做TPM2_Duplicate操作,这也代表密钥恢复将无法完成。所以用普通的密钥迀移是无法完成TPM密钥恢复的。
[0022]为了解决上述问题需要将TPM密钥的授权数据也备份到TPM密钥管理中心。
[0023]请见图1,本发明提供的一种TPM密钥及其授权数据备份恢复系统,包括TPM密钥管理中心和物理主机或虚拟机;TPM密钥管理中心包括第一通信接口、密钥管理中心模块、第一 TSS(TCG Software Stack, TCG软件协议栈)模块和第一 TPM模块;密钥管理中心模块为实现物理主机或虚拟机备份过来的TPM密钥管理,将其挂载到当前TPM密钥管理中心的TPM密钥树之下,并能处理远程物理主机或虚拟机的TPM密钥或授权数据的恢复请求;第一 TSS模块为可信计算组织提供的访问第一 TPM模块的接口 ;物理主机或虚拟机包括第二通信接口、APP模块、密钥管理模块、第二 TSS模块和第二 TPM模块;APP模块用于创建并使用TPM密钥,密钥管理模块用于实现在远程TPM密钥管理中心上备份及恢复本地TPM密钥;第二 TSS模块为可信计算组织提供的访问第二 TPM模块的接口 ;第一通信接口、第二通信接口是实现物理主机或虚拟机与远程TPM密钥管理中心相互通信的接口。
[0024]本发明提供的一种TPM密钥及其授权数据备份恢复方法,包括物理主机或虚拟机TPM密钥及授权数据备份的方法、PTM密钥管理中心备份或恢复TPM密钥及授权数据的方法、物理主机或虚拟机恢复TPM密钥或授权数据的方法。
[0025]请见图2,本实施例的物理主机或虚拟机TPM密钥及授权数据备份的方法,包括以下步骤:
步骤1.1:用户填授权数据,然后利用APP模块生成TPM密钥;
步骤1.2:通过第二 TSS模块提供的seal命令,封装上一步的授权数据,封装命令本质上也是创建一个TPM密钥,用于封装命令的密钥的授权数据为空,其安全性由本地的父密钥或TPM密钥管理中心的保护密钥保证;
步骤1.3:向远程TPM密钥管理中心,请求备份TPM密钥以及其对应的授权数据,并发送身份认证信息;
步骤1.4:TPM密钥管理中心响应后,返回该TPM密钥对应的TPM_ID,以及保护密钥的公
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1