法律状态公告日
法律状态信息
法律状态
2019-08-20
未缴年费专利权终止 IPC(主分类):H04L9/32 授权公告日:20120201 终止日期:20180904 申请日:20090904
专利权的终止
2013-12-25
专利权质押合同登记的生效 IPC(主分类):H04L9/32 登记号:2013990000815 登记生效日:20131101 出质人:瑞达信息安全产业股份有限公司 质权人:武汉同和融资担保有限公司 发明名称:一种可信计算平台密钥迁移系统及其密钥迁移方法 授权公告日:20120201 申请日:20090904
专利权质押合同登记的生效、变更及注销
2012-02-01
授权
授权
2010-04-21
实质审查的生效 IPC(主分类):H04L9/32 申请日:20090904
实质审查的生效
2010-02-17
公开
公开
技术领域
本发明涉及一种可信计算平台密钥迁移系统及其密钥迁移方法,属于计算机信息安全技术领域,特别适合于可信计算平台使用。
背景技术
可信计算平台在普通计算平台上嵌入了一个单独的安全模块,能向该平台的访问者提供平台身份证明和完整性数据。该单独的安全模块称之为可信密码模块,原普通计算平台称之为可信计算平台主机。可信密码模块具有独立的处理器和存储器,能提供加解密及秘密数据存储等功能支撑。相对于可信密码模块而言,可信计算平台主机上的驱动程序、操作系统或应用程序及操作系统或应用程序的用户等称之为外部实体。
如果可信计算平台发生灾难性事件,比如可信密码模块被物理毁坏,那么存储其中的敏感数据,如密钥、授权数据必然会丢失,导致平台崩溃。为了预防这种情况的出现,确保在发生灾难性事件的时候能正常恢复存储于平台内的受保护的密钥数据并且保证应用的正常使用,需要预先把相应的密钥予以迁移备份。
迁移不仅需要保证密钥的机密性和完整性,并要求确保迁移的目标平台也是一个可信计算平台。为此,可信计算组织(TCG)采用如下安全措施:用目标平台的身份证明密钥AIK密钥对加解密待迁移密钥,encmigratedKey=AsymEnc(migratedKey,pubAIK),migratedKey=UAsymEnc(encmigratedKey,priAIK),实现密钥的保密传输。由于AIK属于高密级的签名密钥,一般不能对其进行备份;故若将其运用于加解密场合时,无法进行第三方监管,不符合有关密码管理规定。
发明内容
本发明的目的在于,克服现有技术的缺点,提供一种首先确保迁移的目标平台是一个可信计算平台;然后利用专用的非对称的平台迁移密钥PEK对过程密钥进行加解密,采用公开密钥和对称密钥相结合的方式进行密钥迁移,不仅保证待迁移密钥的机密性和完整性,提高了迁移加解密的速度,并且可实现可信的第三方对可信计算实行安全监管。
本发明的一种可信计算平台密钥迁移系统的技术方案是:
它由两个可信计算平台构成,其中一个是需要迁移密钥的源平台,另一个是迁移密钥的目标平台;源平台中包括可信计算模块TPMA,该可信计算模块TPMA的存储器中存放有待迁移密钥migratedKey、过程密钥SymKey和源平台的平台身份密钥PIKa;目标平台包括可信计算模块TPMB,该可信计算模块TPMB的存储器中存放有迁移加密密钥MEK和目标平台的平台身份密钥PIKb;源平台与目标平台之间通过安全信道连接;所述的两个可信计算平台各自独立,每个可信计算平台包括依次连接的CPU、图形与存储集中控制器(简称北桥)及周边设备集成集中控制器(简称南桥)。
所述的两个可信计算平台各自独立,每个可信计算平台还有显示器及内存分别与图形与存储集中控制器(北桥)连接;还有键盘、硬盘、BIOS ROM及可信密码模块分别与周边设备集成集中控制器(简称南桥)连接。
本发明一种可信计算平台的密钥迁移方法的技术方案是:
一种可信计算平台的密钥迁移方法,它是在一个需要迁移密钥的源平台与另一个迁移密钥的目标平台构成的可信计算平台密钥迁移系统中进行密钥迁移,步骤包括:
1)、分别生成源平台和目标平台的身份密钥PIK,以及分别生成、激活源平台和目标平台的身份证书;
2)、在源平台和目标平台之间进行密钥迁移,其步骤包括:
a、目标平台将平台迁移密钥的公钥部分传送给源平台;
b、源平台生成对称的过程密钥用来加密待迁移密钥,用目标平台的平台迁移密钥的公钥部分加密过程密钥;
c、源平台将加密的待迁移密钥和加密的过程密钥传送给目标平台;
d、目标平台使用自己的平台迁移密钥的私钥部分解密过程密钥密文得到过程密钥,再使用过程密钥解密待迁移密钥密文得到待迁移的密钥。
所述的平台迁移密钥是由目标平台调用密钥生成算法产生的非对称密钥对:在源平台上,过程密钥由源平台产生,加密待迁移密钥的算法是对称密码算法,用目标平台的平台迁移密钥的公钥加密过程密钥的算法是公开密码算法;在目标平台上,用目标平台的平台迁移密钥的私钥解密得到过程密钥的算法是公开密码算法,解密得到待迁移密钥的算法是对称密码算法。
所述的目标平台将平台迁移密钥的公钥部分传送给源平台,首先目标平台对公钥进行哈希运算,用其平台身份密钥的私钥部分进行签名,再将平台迁移密钥的公钥、对公钥的哈希签名、以及目标平台的平台身份密钥证书一起传送给源平台。
所述的源平台接收到目标平台传送的数据后,验证目标平台的平台身份密钥证书,确认目标平台;验证哈希签名,确认平台迁移密钥的公钥属于目标平台。
所述的源平台将加密的待迁移密钥和加密的过程密钥传送给目标平台时,首先源平台用其平台身份密钥的私钥部分对待迁移密钥和过程密钥进行签名;再将加密的待迁移密钥和过程密钥,签名和源平台的平台身份密钥证书一起传送给目标平台。
所述的目标平台接收到源平台传送的数据后,验证源平台的平台身份密钥证书,确认源平台;验证签名,确认迁移数据属于源平台。
本发明的技术效果是:不仅保证待迁移密钥的机密性和完整性,提高了迁移加解密的速度,并且可实现可信的第三方(如政府)对可信计算实行安全监管,所以,本发明实际运用于可信计算平台中,具有显著的安全效果。当可信计算平台发生灾难性事件,如可信密码模块被物理毁坏,那么存储其中的敏感数据,如密钥、授权数据都不会丢失,不会导致平台崩溃。
附图说明
结合附图和实施例对本发明作进一步说明如下:
图1为本发明的一种可信计算平台密钥迁移系统的的结构示意图。
图2为单个独立的可信计算平台结构示意图。
图3为生成平台身份密钥PIK和生成、激活平台身份证书的程序示意图。
具体实施方式
如图1所示:一种可信计算平台密钥迁移系统,它由两个可信计算平台构成,其中一个是需要迁移密钥的源平台100,另一个是迁移密钥的目标平台115;源平台100中包括可信计算模块TPMA 105,该可信计算模块TPMA 105的存储器中存放有待迁移密钥migratedKey、过程密钥SymKey和源平台100的平台身份密钥PIKa 110;目标平台115包括可信计算模块TPMB 120,该可信计算模块TPMB 120的存储器中存放有迁移加密密钥MEK和目标平台115的平台身份密钥PIKb 125;源平台100与目标平台115之间通过安全信道130连接。如图2所示:所述的两个可信计算平台各自独立,每个可信计算平台包括依次连接的CPU 000、图形与存储集中控制器(简称北桥)010及周边设备集成集中控制器(简称南桥)025;还有显示器005及内存015分别与图形与存储集中控制器(北桥)010连接;还有键盘020、硬盘040、BIOS ROM 030及可信密码模块035分别与周边设备集成集中控制器(简称南桥)025连接。
如图3所示:一种可信计算平台的密钥迁移方法,它是在一个需要迁移密钥的源平台100与另一个迁移密钥的目标平台115构成的可信计算平台密钥迁移系统中进行密钥迁移,步骤为:
1)、分别生成源平台100和目标平台115的身份密钥PIK,以及分别生成、激活源平台100和目标平台115的身份证书;
2)、在源平台100和目标平台115之间进行密钥迁移,其步骤包括:
a、目标平台115将平台迁移密钥的公钥部分传送给源平台100;
b、源平台100生成对称的过程密钥用来加密待迁移密钥,用目标平台115的平台迁移密钥的公钥部分加密过程密钥;
c、源平台100将加密的待迁移密钥和加密的过程密钥传送给目标平台115;
d、目标平台115使用自己的平台迁移密钥的私钥部分解密过程密钥密文得到过程密钥,再使用过程密钥解密待迁移密钥密文得到待迁移的密钥。
所述的平台迁移密钥是由目标平台115调用密钥生成算法产生的非对称密钥对:在源平台100上,过程密钥由源平台100产生,加密待迁移密钥的算法是对称密码算法,用目标平台115的平台迁移密钥的公钥加密过程密钥的算法是公开密码算法;在目标平台115上,用目标平台115的平台迁移密钥的私钥解密得到过程密钥的算法是公开密码算法,解密得到待迁移密钥的算法是对称密码算法;所述的目标平台115将平台迁移密钥的公钥部分传送给源平台100,首先目标平台115对公钥进行哈希运算,用其平台身份密钥的私钥部分进行签名,再将平台迁移密钥的公钥、对公钥的哈希签名、以及目标平台115的平台身份密钥证书一起传送给源平台100。所述的源平台100接收到目标平台115传送的数据后,验证目标平台115的平台身份密钥证书,确认目标平台115;验证哈希签名,确认平台迁移密钥的公钥属于目标平台115;所述的源平台100将加密的待迁移密钥和加密的过程密钥传送给目标平台115时,首先源平台100用其平台身份密钥的私钥部分对待迁移密钥和过程密钥进行签名;再将加密的待迁移密钥和过程密钥,签名和源平台100的平台身份密钥证书一起传送给目标平台115。所述的目标平台115接收到源平台100传送的数据后,验证源平台100的平台身份密钥证书,确认源平台100;验证签名,确认迁移数据属于源平台100。
图3说明分别生成源平台100和目标平台115的身份密钥PIK,以及分别生成、激活源平台100和目标平台115的身份证书过程。
开始,可信密码模块被载入密码模块密钥EK的私钥PRIEK 200,该过程可以由可信密码模块的制造商在生产阶段完成。可信密码模块将PRIEK保存在受保护存储区域内,应保PRIEK不会泄露到可信密码模块之外,而PRIEK对应的公钥PUBEK则予以公开。
用户使用可信计算平台的第一步是可信密码模块初始化205。可信密码模块接受到用户的模块初始化请求后,生成一个存储主密钥SMK。SMK是一个对称密钥,其长度由可信密码模块所支持的对称密码算法决定。可信密码模块将SMK保存在受保护存储区域内,应保证SMK不会泄露到可信密码模块之外。
在可信密码模块生成平台身份密钥PIK之前,需要首先验证平台所有者和存储主密钥的授权210、215。外部实体输入所有者口令OwnerPIN,并用哈希算法SCH计算其哈希值OwnerAuthData=SCH(OwnerPIN),即为平台所有者的授权数据;再使用密码模块密钥的公钥对授权数据进行加密并植入到可信密码模块中EncOwnerAuthData=ECC_Encrypt(PUBEK,OwnerAuthData)。可信密码模块使用密码模块密钥的私钥,对加密的授权数据进行解密得到授权数据的明文OwnerAuthData=ECC_Decrypt(PRIEK,EncOwnerAuthData),并与存放在模块内部的平台所有者授权数据的明文进行比较,如相同,则通过平台所有者授权验证;如不同,则返回错误码。验证存储主密钥的授权过程类似,只是外部实体输入的是存储主密钥口令SMKPIN。
另外,可信密码模块还需要设置PIK的授权数据220。外部实体输入PIK口令PIKPIN,并用哈希算法SCH计算其哈希值PIKAuthData=SCH(PIKPIN),即为PIK的授权数据;再使用密码模块密钥的公钥对授权数据进行加密并植入到可信密码模块中EncPIKAuthData=ECC_Encrypt(PUBEK,PIKAuthData)。可信密码模块使用密码模块密钥的私钥,对加密的授权数据进行解密得到PIK授权数据的明文PIKAuthData=ECC_Decrypt(PRIEK,EncPIKAuthData),并存储于可信密码模块内部。
接下来,可信密码模块内部执行ECC密钥生成算法,生成PIK密钥对PIK=ECC_GetKeyPair(void)225并存储。
可信方是一个第三方可信的平台,用来给可信密码模块颁发平台身份证书。可信密码模块使用PIK的私钥,采用ECC签名算法对可信方信息和PIK的公钥进行签名PIKSignature=ECC_Sign(PRIPIK,(TPInfo||PUBPIK),其中TPInfo是可信方的公钥的哈希值。可信密码模块再将PIK公钥,EK公钥和PIK签名发送给可信方230。可信方验证PIK的签名,使用ECC签名算法签署PIK证书PIKCredential。随机生成对称加密密钥SessionKey,并采用对称加密算法加密PIK证书。使用杂凑算法计算PIK公钥的哈希值idDigest=SCH(PUBPIK);使用密码模块密钥的公钥,采用ECC加密算法加密idDigest和SessionKey,EncTPContents=ECC_Encrypt(PUBEK,(idDigest||SessionKey)),将加密的PIK证书和EncTPContents发送给平台235。可信密码模块使用密码模块密钥的私钥PRIEK,采用ECC解密算法解密EncTPContents,判断idDigest是否与PIK公钥的杂凑值相同。验证通过后,根据解密得到的SessionKey解密PIK证书PIKCredential=SMS4_Decrypt(SessionKey,EncPIKCredential)从而激活PIK证书240。
机译: 在网络存储系统中的密钥管理器之间自动迁移加密密钥的方法和系统
机译: 将基本芯片密钥从一个计算机系统迁移到另一个计算机系统的方法
机译: 将基本芯片密钥从一个计算机系统迁移到另一个计算机系统的方法