保护设备安全的方法、装置及系统的制作方法

文档序号:10538528阅读:383来源:国知局
保护设备安全的方法、装置及系统的制作方法
【专利摘要】本发明提供了保护设备安全的方法、装置及系统,该方法,包括:防护端在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息;所述防护端将所述完整性信息发送给可信第三方;所述可信第三方根据预先存储的所述待保护设备的可信的完整性信息,对所述完整性信息进行验证,如果通过验证,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全,将验证结果发送给所述防护端。本发明提供了保护设备安全的方法、装置及系统,能够提高待保护设备的安全性。
【专利说明】
保护设备安全的方法、装置及系统
技术领域
[0001]本发明涉及计算机技术领域,特别涉及保护设备安全的方法、装置及系统。
【背景技术】
[0002]随着业务的不断发展,尤其是云计算的快速发展,企业对物理平台的安全性要求愈来愈高,尤其是以虚拟化、分布式等技术为关键支撑的数据中心。如何保证物理平台的安全,越来越受到重视。
[0003]现有技术中,通过杀毒工具来保证物理平台的安全。这些杀毒工具会随着物理平台的操作系统一起启动,启动后开始对物理平台进行保护。
[0004]但是,有很对病毒在操作系统启动之间就开始对物理平台进行攻击,例如:RootKit、BootKit等,这时候杀毒工具还没有启动,无法保护物理平台。以BootKit病毒为例,在操作系统启动之前,BootKit病毒对物理平台进行攻击,获取系统的优先级,将病毒因此以规避杀毒工具的查杀。通过上述描述可见,现有技术没有办法在系统启动之间对物理平台进行保护,安全性较低。

【发明内容】

[0005]本发明实施例提供了保护设备安全的方法、装置及系统,能够提高待保护设备的安全性。
[0006]第一方面,本发明实施例提供了一种保护设备安全的方法,包括:
[0007]S1:防护端在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息;
[0008]S2:所述防护端将所述完整性信息发送给可信第三方;
[0009]S3:所述可信第三方根据预先存储的所述待保护设备的可信的完整性信息,对所述完整性信息进行验证,如果通过验证,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全,将验证结果发送给所述防护端。
[0010]进一步地,所述可信第三方包括:Privacy CA;
[0011]在所述SI之前,还包括:所述防护端预先获取所述PrivacyCA颁发的签名密钥证书;
[0012]所述S2,包括:
[0013]所述防护端根据预先设置的签名密钥对所述完整性信息进行签名,获得签名值;
[0014]所述防护端将所述完整性信息、所述签名值以及所述签名密钥证书打包,生成待验证信息,将所述待验证信息通过Privacy CA发来的CA公钥进行加密;
[00?5]所述防护端将加密后的待验证信息发送给所述Privacy CA;
[0016]在所述S3之前,还包括:
[0017]所述Privacy CA通过所述CA公钥对应的CA私钥解密所述加密后的待验证信息,获取所述签名密钥证书,根据所述签名密钥证书,对所述完整性信息以及所述签名值进行签名验证,通过验证后,获取所述完整性信息。
[0018]进一步地,所述防护端预先获取所述PrivacyCA颁发的签名密钥证书,包括:
[0019]所述防护端向所述PrivacyCA发送所述签名密钥证书的颁发请求;
[0020]所述Privacy CA向所述防护端返回标签label和所述CA公钥;
[°021 ] 所述防护端接收所述Privacy CA返回的label和所述CA公钥,将所述label与预先生成的签名密钥的默认属性打包,并用所述签名密钥对打包的数据进行签名,生成PrivCASign 信息;
[0022]所述防护端将所述PrivCASign信息与所述签名密钥的公共区域数据打包,并用预先生成的对称加密密钥进行加密,生成symBlob ;
[0023]所述防护端用所述CA公钥加密所述对称加密密钥,生成asymBlob;
[0024]所述防护端将所述symBlob、所述asymBlob和所述预先设置的安全芯片TPM背书密钥的证书EC发送给所述Privacy CA;
[0025]所述Privacy CA根据所述CA私钥解密所述asymBlob,获得所述对称加密密钥;
[0026]所述Privacy CA根据所述对称加密密钥解密所述symBlob,获得所述PrivCASign信息和所述签名密钥的公共区域数据;
?0027] 所述Privacy CA根据所述签名密钥的公共区域数据对所述PrivCASign信息进行签名验证,验证通过后,向所述防护端颁发所述签名密钥证书;
[0028]所述防护端接收所述签名密钥证书。
[0029]进一步地,所述向所述防护端颁发所述签名密钥证书,包括:
[°03°] 所述Privacy CA用所述CA私钥生成所述签名密钥证书,并生成密钥pcaKey,通过所述pcaKey加密所述签名密钥证书;
[0031]所述PrivacyCA生成随机数seed,计算出所述签名密钥的公共区域数据的摘要值name ;
[0032]所述Privacy CA将所述seed作为密钥推导函数KDF的密钥,将所述name作为KDF的context,获取对称密钥symKey ;
[0033]所述Privacy CA利用所述symKey对所述pcaKey进行加密,生成credentialBlob ;
[0034]所述Privacy CA获取所述EC中的公钥,并利用所述EC中的公钥加密所述seed,生成secret;
[0035]所述Privacy CA将所述secret、所述credentialBlob以及被加密的签名密钥证书发送给所述防护端;
[0036]所述防护端接收所述签名密钥证书,包括:
[0037]所述防护端根据所述secret和所述credentialBlob,解密得到所述pcaKey;
[0038]所述防护端根据所述pcaKey解密被加密的签名密钥证书,获得所述签名密钥证书。
[0039]第二方面,本发明实施例提供了一种保护设备安全的系统,包括:
[0040]防护端、可信第三方;
[0041]所述防护端,用于在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息,将所述完整性信息发送给所述可信第三方;
[0042]所述可信第三方,用于根据预先存储的所述待保护设备的可信的完整性信息,对所述完整性信息进行验证,如果通过验证,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全,将验证结果发送给所述防护端。
[0043]进一步地,所述可信第三方包括:Privacy CA;
[0044]所述防护端,还用于获取所述Privacy CA颁发的签名密钥证书;
[0045]所述防护端,在执行将所述完整性信息发送给可信第三方时,用于根据预先设置的签名密钥对所述完整性信息进行签名,获得签名值,将所述完整性信息、所述签名值以及所述签名密钥证书打包,生成待验证信息,将所述待验证信息通过Privacy CA发来的CA公钥进行加密,将加密后的待验证信息发送给所述Privacy CA;
[0046]所述Privacy CA,还用于通过所述CA公钥对应的CA私钥解密所述加密后的待验证信息,获取所述签名密钥证书,根据所述签名密钥证书,对所述完整性信息以及所述签名值进行签名验证,通过验证后,获取所述完整性信息。
[0047]进一步地,所述防护端,用于向所述Privacy CA发送所述签名密钥证书的颁发请求,接收所述Privacy CA返回的label和所述CA公钥,将所述label与预先生成的签名密钥的默认属性打包,并用所述签名密钥对打包的数据进行签名,生成PrivCASign信息,将所述PrivCASign信息与所述签名密钥的公共区域数据打包,并用预先生成的对称加密密钥进行加密,生成symBlob,用所述CA公钥加密所述对称加密密钥,生成asymBlob,将所述symBlob、所述asymBlob和所述预先设置的安全芯片TPM背书密钥的证书EC发送给所述Privacy CA,接收所述Privacy CA颁发的所述签名密钥证书
[0048]所述Privacy CA,用于向所述防护端返回标签IabeI和所述CA公钥,根据所述CA私钥解密所述asymBlob,获得所述对称加密密钥,根据所述对称加密密钥解密所述symBlob,获得所述PrivCASign信息和所述签名密钥的公共区域数据,根据所述签名密钥的公共区域数据对所述PrivCASign信息进行签名验证,验证通过后,向所述防护端颁发所述签名密钥证书。
[0049]进一步地,所述PrivacyCA,在执行所述向所述防护端颁发所述签名密钥证书时,用于用所述CA私钥生成所述签名密钥证书,并生成密钥pcaKey,通过所述pcaKey加密所述签名密钥证书,生成随机数seed,计算出所述签名密钥的公共区域数据的摘要值name,将所述seed作为密钥推导函数KDF的密钥,将所述name作为KDF的context,获取对称密钥symKey,利用所述symKey对所述pcaKey进行加密,生成credentialBlob,获取所述EC中的公钥,并利用所述EC中的公钥加密所述seed,生成secret,将所述secret、所述credentialBlob以及被加密的签名密钥证书发送给所述防护端;
[0050]所述防护端,在执行所述接收所述签名密钥证书时,用于根据所述secret和所述credentialBlob,解密得到所述pcaKey,根据所述pcaKey解密被加密的签名密钥证书,获得所述签名密钥证书。
[0051]第三方面,本发明实施例提供了一种保护设备安全的方法,包括:
[0052]在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息;
[0053]将所述完整性信息发送给可信第三方,以使所述可信第三方根据预先存储的可信的完整性信息,对所述完整性信息进行验证,通过验证后,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全。
[0054]第四方面,本发明实施例提供了一种保护设备安全的装置,包括:
[0055]获取单元,用于在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息;
[0056]验证单元,用于将所述完整性信息发送给可信第三方,以使所述可信第三方根据预先存储的可信的完整性信息,对所述完整性信息进行验证,通过验证后,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全。
[0057]在本发明实施例中,在可信第三方预先存储了待保护设备的可信的完整性信息,防护端在待保护设备启动过程中,获取启动部件的完整性信息,将完整性信息发给可信第三方,可信第三方根据存储的可信的完整性信息,来对接收到的完整性信息进行验证,进而判断待保护设备是否安全,该验证过程发生在待保护设备启动之前,即使待保护设备在启动之前被入侵,也可以被即使检测出来,提高了待保护设备的安全性。
【附图说明】
[0058]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059]图1是本发明一实施例提供的一种保护设备安全的方法的流程图;
[0060]图2是本发明一实施例提供的另一种保护设备安全的方法的流程图;
[0061]图3是本发明一实施例提供的一种保护设备安全的系统的示意图;
[0062]图4是本发明一实施例提供的又一种保护设备安全的方法的流程图;
[0063]图5是本发明一实施例提供的一种保护设备安全的装置的示意图。
【具体实施方式】
[0064]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0065]如图1所示,本发明实施例提供了一种保护设备安全的方法,该方法可以包括以下步骤:
[0066]S1:防护端在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息;
[0067]S2:所述防护端将所述完整性信息发送给可信第三方;
[0068]S3:所述可信第三方根据预先存储的所述待保护设备的可信的完整性信息,对所述完整性信息进行验证,如果通过验证,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全,将验证结果发送给所述防护端。
[0069]在本发明实施例中,在可信第三方预先存储了待保护设备的可信的完整性信息,防护端在待保护设备启动过程中,获取启动部件的完整性信息,将完整性信息发给可信第三方,可信第三方根据存储的可信的完整性信息,来对接收到的完整性信息进行验证,进而判断待保护设备是否安全,该验证过程发生在待保护设备启动之前,即使待保护设备在启动之前被入侵,也可以被即使检测出来,提高了待保护设备的安全性。
[0070]在一种可能的实现方式中,对所述完整性信息进行验证,可以通过以下方式实现:可信第三方将接收到的完整性信息与存储的可信的完整性信息进行比对,如果相同,则通过验证,如果不同,则不通过验证。
[0071]为了保证完整性信息的安全传输,在一种可能的实现方式中,所述可信第三方包括:Privacy CA;
[0072]在所述SI之前,还包括:所述防护端预先获取所述PrivacyCA颁发的签名密钥证书;
[0073]所述S2,包括:
[0074]所述防护端根据预先设置的签名密钥对所述完整性信息进行签名,获得签名值;
[0075]所述防护端将所述完整性信息、所述签名值以及所述签名密钥证书打包,生成待验证信息,将所述待验证信息通过Privacy CA发来的CA公钥进行加密;
[0076]所述防护端将加密后的待验证信息发送给所述PrivacyCA;
[0077]在所述S3之前,还包括:
[0078]所述Privacy CA通过所述CA公钥对应的CA私钥解密所述加密后的待验证信息,获取所述签名密钥证书,根据所述签名密钥证书,对所述完整性信息以及所述签名值进行签名验证,通过验证后,获取所述完整性信息。
[0079]在该实现方式中,Privacy CA获取所述签名密钥证书,根据所述签名密钥证书,对所述完整性信息以及所述签名值进行签名验证,具体可以通过以下方式实现:Privacy CA获取所述签名密钥证书中的公钥,通过该公钥对完整性信息以及签名值进行签名验证。另外,如果没有通过验证,则确定待验证信息在传输过程中损坏,不进行后续的校验。
[0080]在一种可能的实现方式中,所述防护端预先获取所述PrivacyCA颁发的签名密钥证书,包括:
[0081]所述防护端向所述PrivacyCA发送所述签名密钥证书的颁发请求;
[0082]所述Privacy CA向所述防护端返回label(标签)和所述CA公钥;
[0083]所述防护端接收所述Privacy CA返回的label和所述CA公钥,将所述label与预先生成的签名密钥的默认属性打包,并用所述签名密钥对打包的数据进行签名,生成PrivCASign 信息;
[0084]所述防护端将所述PrivCASign信息与所述签名密钥的公共区域数据打包,并用预先生成的对称加密密钥进行加密,生成symBlob ;
[0085]所述防护端用所述CA公钥加密所述对称加密密钥,生成asymBlob;
[0086]所述防护端将所述symBlob、所述asymBlob和所述预先设置的EC(TPM(安全芯片,Trusted Platform Module)背书密钥的证书,Endorsement Credential)发送给所述Privacy CA;
[0087]所述Privacy CA根据所述CA私钥解密所述asymBlob,获得所述对称加密密钥;
[0088]所述Privacy CA根据所述对称加密密钥解密所述symBlob,获得所述PrivCASign信息和所述签名密钥的公共区域数据;
[0089]所述Privacy CA根据所述签名密钥的公共区域数据对所述PrivCASign信息进行签名验证,验证通过后,向所述防护端颁发所述签名密钥证书;
[0090]所述防护端接收所述签名密钥证书。
[0091]在该实现方式中,通过label来标注防护端发起的颁发请求,通过CA公钥方便防护端加密发来的信息。这里的对称加密密钥可以是一个随机数。如果Pri vacy CA对PrivCASign信息进行签名验证后,没有通过验证,则不向防护端颁发签名密钥证书。
[0092]为了保证签名密钥证书的传输安全,在一种可能的实现方式中,所述向所述防护端颁发所述签名密钥证书,包括:
[0093]所述Privacy CA用所述CA私钥生成所述签名密钥证书,并生成密钥pcaKey,通过所述pcaKey加密所述签名密钥证书;
[0094]所述PrivacyCA生成随机数seed,计算出所述签名密钥的公共区域数据的摘要值name ;
[0095]所述Privacy CA将所述seed作为KDF的密钥,将所述name作为KDF的context,获取对称密钥symKey;
[0096]所述Privacy CA利用所述symKey对所述pcaKey进行加密,生成credentialBlob ;
[0097]所述Privacy CA获取所述EC中的公钥,并利用所述EC中的公钥加密所述seed,生成secret;
[0098]所述Privacy CA将所述secret、所述credentialBlob以及被加密的签名密钥证书发送给所述防护端;
[0099]所述防护端接收所述签名密钥证书,包括:
[0100]所述防护端根据所述secret和所述credentialBlob,解密得到所述pcaKey;
[0101]所述防护端根据所述pcaKey解密被加密的签名密钥证书,获得所述签名密钥证书。
[0102]在该实现方式中,防护端根据secret和credentialBlob,解密得到所述pcaKey,具体可以通过以下方式实现:防护端根据存储的EC中的私钥解密secret,生成seed;防护端根据存储的签名密钥的公共区域数据和seed,对credentialBlob进行解密,如果Privacy CA接收到的签名密钥的公共区域数据与防护端存储的签名密钥的公共区域数据一致,则防护端就可以解密credentialBlob,进而可以获得pcaKey,如果不一致,贝Ij无法解密credentialBlob,无法得到pcaKey。
[0103]在本发明实施例中,防护端可以是TPM2.0芯片,启动部件可以包括:B10S(BasicInput Output System,基本输入输出系统)、MBR(Master Boot Record,主引导记录)、0SKernel (Operating System Kernel,操作系统内核),完整性信息可以是这些启动部件中程序或者这些程序的哈希值,在获取所述待保护设备的启动部件的完整性信息时,可以通过TPM2_Quote指令来实现。在执行防护端根据所述secret和所述credentialBlob,解密得到所述pcaKey时,可以通过以下方式实现:防护端将secret和credentialBlob作为输入调用丁卩]\12_4(31:;[¥3七606(16111:丨31指令,进行解密。本发明实施例中的?1';[¥307 CA可以通过支持TPM证书保护过程的Privacy CA来实现。
[0104]在本发明实施例中,Privacy CA利用TPM提供的签名密钥的name(TPM密钥公共区域的摘要值)以及一随机数生成证书的保护密钥secret,使用TPM的EK(Endorsement Key,背书密钥)的公钥保护该随机数,TPM使用EK的私钥恢复出该随机数,利用与Privacy CA相同的方法计算出保护密钥secret,再使用secret恢复被加密保护的签名密钥证书。
[0105]如图2所示,本发明实施例提供了一种保护设备安全的方法,该方法可以包括以下步骤:
[Ο?Ο?] 步骤201:防护端预先向Privacy CA发送颁发请求,请求签名密钥证书,获取Privacy CA颁发的签名密钥证书。
[0107]具体地,这里的防护端包括:TPM2.0芯片。
[0108]步骤202:防护端在启动待保护设备的过程中,获取待保护设备的启动部件的完整性信息。
[0109]具体地,待保护设备可以是一台计算机,启动部件可以是B1S,而完整性信息为B1S中的程序的哈希值。
[0110]步骤203:防护端根据预先设置的签名密钥对完整性信息进行签名,获得签名值。
[0111]具体地,这里的签名密钥可以是TPM2.0芯片中的签名密钥。
[0112]步骤204:防护端将完整性信息、签名值以及签名密钥证书打包,生成待验证信息,将待验证信息通过Privacy CA发来的CA公钥进行加密。
[0113]具体地,这里的CA公钥可以是PrivacyCA接收到防护端发来的颁发请求后发送给防护端的。
[ΟΙ14] 步骤205:防护端将加密后的待验证信息发送给Privacy CA。
[0115]步骤206 = Privacy CA通过CA公钥对应的CA私钥解密加密后的待验证信息,获取签名密钥证书。
[0116]步骤207:PrivaCyCA根据签名密钥证书,对完整性信息以及签名值进行签名验证,通过验证后,获取完整性信息。
[0117]步骤208:PrivaCyCA将预先存储的待保护设备的可信的完整性信息与防护端发来的完整性信息进行比对,如果二者一致,则通过验证,确定待保护设备安全,如果二者不一致,则没有通过验证,确定待保护设备不安全,将验证结果发送给防护端。
[0118]在本发明实施例中,防护端接收到待保护设备安全的验证结果后,可以正常启动待保护设备;防护端接收到待保护设备不安全的验证结果后,可以停止启动待保护设备,或者提醒用户待保护设备不安全,或者对待保护设备进行杀毒等。
[0119]本发明提出了利用远程认证的方式验证平台完整性的方法,根据TCG(TrUStedComputing Group,可信计算组织)可信度量链的规范构建平台启动的度量链收集本次启动的关键部件的完整性信息,利用Privacy CA完成对该平台的完整性校验。同时,为保护远程认证信息签名密钥证书在下发过程中的安全性,利用TPM2.0芯片新的密钥结构及信息构建保护密钥加密保护签名密钥证书,由TPM端完成对保护密钥的还原及对签名证书的解密,以此来保证签名密钥证书安全。
[0120]如图3所示,本实施例提供的一种保护设备安全的系统,包括:
[0121 ]防护端301、可信第三方302;
[0122]所述防护端301,用于在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息,将所述完整性信息发送给所述可信第三方;
[0123]所述可信第三方302,用于根据预先存储的所述待保护设备的可信的完整性信息,对所述完整性信息进行验证,如果通过验证,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全,将验证结果发送给所述防护端。
[0124]在一种可能的实现方式中,可信第三方302包括:PrivacyCA;
[0125]所述防护端301,还用于获取所述Privacy CA颁发的签名密钥证书;
[0126]所述防护端301,在执行将所述完整性信息发送给可信第三方时,用于根据预先设置的签名密钥对所述完整性信息进行签名,获得签名值,将所述完整性信息、所述签名值以及所述签名密钥证书打包,生成待验证信息,将所述待验证信息通过Privacy CA发来的CA公钥进行加密,将加密后的待验证信息发送给所述Privacy CA;
[0127]所述Privacy CA,还用于通过所述CA公钥对应的CA私钥解密所述加密后的待验证信息,获取所述签名密钥证书,根据所述签名密钥证书,对所述完整性信息以及所述签名值进行签名验证,通过验证后,获取所述完整性信息。
[0128]在一种可能的实现方式中,所述防护端,用于向所述PrivacyCA发送所述签名密钥证书的颁发请求,接收所述Privacy CA返回的label和所述CA公钥,将所述label与预先生成的签名密钥的默认属性打包,并用所述签名密钥对打包的数据进行签名,生成PrivCASign信息,将所述PrivCASign信息与所述签名密钥的公共区域数据打包,并用预先生成的对称加密密钥进行加密,生成symBlob,用所述CA公钥加密所述对称加密密钥,生成asymBlob,将所述symBlob、所述asymBlob和所述预先设置的安全芯片TPM背书密钥的证书EC发送给所述Privacy CA,接收所述Privacy CA颁发的所述签名密钥证书
[0129]所述Privacy CA,用于向所述防护端返回标签label和所述CA公钥,根据所述CA私钥解密所述asymBlob,获得所述对称加密密钥,根据所述对称加密密钥解密所述symBlob,获得所述PrivCASign信息和所述签名密钥的公共区域数据,根据所述签名密钥的公共区域数据对所述PrivCASign信息进行签名验证,验证通过后,向所述防护端颁发所述签名密钥证书。
[0130]在一种可能的实现方式中,所述PrivacyCA,在执行所述向所述防护端颁发所述签名密钥证书时,用于用所述CA私钥生成所述签名密钥证书,并生成密钥pcaKey,通过所述pcaKey加密所述签名密钥证书,生成随机数seed,计算出所述签名密钥的公共区域数据的摘要值name,将所述seed作为密钥推导函数KDF的密钥,将所述name作为KDF的context,获取对称密钥symKey,利用所述symKey对所述pcaKey进行加密,生成credentialBlob,获取所述EC中的公钥,并利用所述EC中的公钥加密所述seed,生成secret,将所述secret、所述credentialBlob以及被加密的签名密钥证书发送给所述防护端;
[0131]所述防护端,在执行所述接收所述签名密钥证书时,用于根据所述secret和所述credentialBlob,解密得到所述pcaKey,根据所述pcaKey解密被加密的签名密钥证书,获得所述签名密钥证书。
[0132]上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0133]如图4所示,本发明实施例提供的一种保护设备安全的方法,包括:
[0134]步骤401:在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息;
[0135]步骤402:将所述完整性信息发送给可信第三方,以使所述可信第三方根据预先存储的可信的完整性信息,对所述完整性信息进行验证,通过验证后,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全。
[0136]在本发明实施例中,可以通过TPM2.0芯片实现。
[0137]如图5所示,本发明实施例提供的一种保护设备安全的装置,包括:
[0138]获取单元501,用于在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息;
[0139]验证单元502,用于将所述完整性信息发送给可信第三方,以使所述可信第三方根据预先存储的可信的完整性信息,对所述完整性信息进行验证,通过验证后,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全。
[0140]在本发明实施例中,该装置可以通过TPM2.0芯片来说实现。
[0141]本发明实施例至少具有如下有益效果:
[0142]1、在本发明实施例中,在可信第三方预先存储了待保护设备的可信的完整性信息,防护端在待保护设备启动过程中,获取启动部件的完整性信息,将完整性信息发给可信第三方,可信第三方根据存储的可信的完整性信息,来对接收到的完整性信息进行验证,进而判断待保护设备是否安全,该验证过程发生在待保护设备启动之前,即使待保护设备在启动之前被入侵,也可以被即使检测出来,提高了待保护设备的安全性。
[0143]2、在本发明实施例中,利用TPM2.0芯片的密钥体系对待保护设备的完整性信息签名,将其发送给Privacy CA,由Privacy CA完成对完整性信息的校验,利用TPM2.0已封装的指令保护Privacy CA下发的签名密钥证书,保证证书的可用性与TPM产生的签名密钥的可用性一致。
[0144]3、在本发明实施例中,利用TPM芯片特有的硬件设计保证其内部执行过程的安全保密,在待保护设备的启动过程中,计算并收集启动部件的完整性信息,在关键节点向远端Privacy CA发起远程认证,由Privacy CA利用已有的可信的完整性信息校验本次启动收集的完整性信息是否可信,保证待保护设备的启动部件的安全可信,同时,根据TPM2.0新的密钥结构及信息构建证书保护密钥的保护信息,保证远程认证过程中TPM签名密钥的完整可
?目O
[0145]需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0146]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
[0147]最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种保护设备安全的方法,其特征在于,包括: S1:防护端在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息; S2:所述防护端将所述完整性信息发送给可信第三方; S3:所述可信第三方根据预先存储的所述待保护设备的可信的完整性信息,对所述完整性信息进行验证,如果通过验证,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全,将验证结果发送给所述防护端。2.根据权利要求1所述的方法,其特征在于,所述可信第三方包括:PrivacyCA; 在所述SI之前,还包括:所述防护端预先获取所述Privacy CA颁发的签名密钥证书; 所述S2,包括: 所述防护端根据预先设置的签名密钥对所述完整性信息进行签名,获得签名值; 所述防护端将所述完整性信息、所述签名值以及所述签名密钥证书打包,生成待验证信息,将所述待验证信息通过Privacy CA发来的CA公钥进行加密; 所述防护端将加密后的待验证信息发送给所述Privacy CA ; 在所述S3之前,还包括: 所述Privacy CA通过所述CA公钥对应的CA私钥解密所述加密后的待验证信息,获取所述签名密钥证书,根据所述签名密钥证书,对所述完整性信息以及所述签名值进行签名验证,通过验证后,获取所述完整性信息。3.根据权利要求2所述的方法,其特征在于,所述防护端预先获取所述PrivacyCA颁发的签名密钥证书,包括: 所述防护端向所述Privacy CA发送所述签名密钥证书的颁发请求; 所述Privacy CA向所述防护端返回标签label和所述CA公钥; 所述防护端接收所述Privacy CA返回的label和所述CA公钥,将所述label与预先生成的签名密钥的默认属性打包,并用所述签名密钥对打包的数据进行签名,生成PrivCASign信息; 所述防护端将所述PrivCASign信息与所述签名密钥的公共区域数据打包,并用预先生成的对称加密密钥进行加密,生成symBlob ; 所述防护端用所述CA公钥加密所述对称加密密钥,生成asymBlob; 所述防护端将所述symBlob、所述asymBlob和所述预先设置的安全芯片TPM背书密钥的证书EC发送给所述Privacy CA; 所述Privacy CA根据所述CA私钥解密所述asymBlob,获得所述对称加密密钥; 所述Privacy CA根据所述对称加密密钥解密所述symBlob,获得所述PrivCASign信息和所述签名密钥的公共区域数据; 所述Privacy CA根据所述签名密钥的公共区域数据对所述PrivCASign信息进行签名验证,验证通过后,向所述防护端颁发所述签名密钥证书; 所述防护端接收所述签名密钥证书。4.根据权利要求3所述的方法,其特征在于,所述向所述防护端颁发所述签名密钥证书,包括: 所述Privacy CA用所述CA私钥生成所述签名密钥证书,并生成密钥pcaKey,通过所述pcaKey加密所述签名密钥证书; 所述Pri vacy CA生成随机数seed,计算出所述签名密钥的公共区域数据的摘要值name ; 所述Pri vacy CA将所述seed作为密钥推导函数KDF的密钥,将所述name作为KDF的context,获取对称密钥symKey ; 所述Privacy CA利用所述symKey对所述pcaKey进行加密,生成credentialBlob; 所述Pri vacy CA获取所述EC中的公钥,并利用所述EC中的公钥加密所述seed,生成secret; 所述Privacy CA将所述secret、所述credentialBlob以及被加密的签名密钥证书发送给所述防护端; 所述防护端接收所述签名密钥证书,包括: 所述防护端根据所述secret和所述credentialBlob,解密得到所述pcaKey; 所述防护端根据所述pcaKey解密被加密的签名密钥证书,获得所述签名密钥证书。5.一种保护设备安全的系统,其特征在于,包括: 防护端、可信第三方; 所述防护端,用于在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息,将所述完整性信息发送给所述可信第三方; 所述可信第三方,用于根据预先存储的所述待保护设备的可信的完整性信息,对所述完整性信息进行验证,如果通过验证,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全,将验证结果发送给所述防护端。6.根据权利要求5所述的系统,其特征在于,所述可信第三方包括:PrivacyCA; 所述防护端,还用于获取所述Privacy CA颁发的签名密钥证书; 所述防护端,在执行将所述完整性信息发送给可信第三方时,用于根据预先设置的签名密钥对所述完整性信息进行签名,获得签名值,将所述完整性信息、所述签名值以及所述签名密钥证书打包,生成待验证信息,将所述待验证信息通过Privacy CA发来的CA公钥进行加密,将加密后的待验证信息发送给所述Privacy CA; 所述Privacy CA,还用于通过所述CA公钥对应的CA私钥解密所述加密后的待验证信息,获取所述签名密钥证书,根据所述签名密钥证书,对所述完整性信息以及所述签名值进行签名验证,通过验证后,获取所述完整性信息。7.根据权利要求6所述的系统,其特征在于,包括: 所述防护端,用于向所述Privacy CA发送所述签名密钥证书的颁发请求,接收所述Privacy CA返回的label和所述CA公钥,将所述label与预先生成的签名密钥的默认属性打包,并用所述签名密钥对打包的数据进行签名,生成PrivCASign信息,将所述PrivCASign信息与所述签名密钥的公共区域数据打包,并用预先生成的对称加密密钥进行加密,生成symBlob,用所述CA公钥加密所述对称加密密钥,生成a symBlob,将所述symBlob、所述asymBlob和所述预先设置的安全芯片TPM背书密钥的证书EC发送给所述Privacy CA,接收所述Privacy CA颁发的所述签名密钥证书 所述Privacy CA,用于向所述防护端返回标签label和所述CA公钥,根据所述CA私钥解密所述asymBlob,获得所述对称加密密钥,根据所述对称加密密钥解密所述symBlob,获得所述PrivCASign信息和所述签名密钥的公共区域数据,根据所述签名密钥的公共区域数据对所述PrivCASign信息进行签名验证,验证通过后,向所述防护端颁发所述签名密钥证书。8.根据权利要求7所述的系统,其特征在于,包括: 所述Privacy CA,在执行所述向所述防护端颁发所述签名密钥证书时,用于用所述CA私钥生成所述签名密钥证书,并生成密钥pcaKey,通过所述pcaKey加密所述签名密钥证书,生成随机数seed,计算出所述签名密钥的公共区域数据的摘要值name,将所述seed作为密钥推导函数KDF的密钥,将所述name作为KDF的context,获取对称密钥symKey,利用所述symKey对所述pcaKey进行加密,生成credentialBlob,获取所述EC中的公钥,并利用所述EC中的公钥加密所述seed,生成secret,将所述secret、所述credentialBlob以及被加密的签名密钥证书发送给所述防护端; 所述防护端,在执行所述接收所述签名密钥证书时,用于根据所述secret和所述credentialBlob,解密得到所述pcaKey,根据所述pcaKey解密被加密的签名密钥证书,获得所述签名密钥证书。9.一种保护设备安全的方法,其特征在于,包括: 在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息; 将所述完整性信息发送给可信第三方,以使所述可信第三方根据预先存储的可信的完整性信息,对所述完整性信息进行验证,通过验证后,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全。10.一种保护设备安全的装置,其特征在于,包括: 获取单元,用于在启动待保护设备的过程中,获取所述待保护设备的启动部件的完整性信息; 验证单元,用于将所述完整性信息发送给可信第三方,以使所述可信第三方根据预先存储的可信的完整性信息,对所述完整性信息进行验证,通过验证后,则确定所述待保护设备安全,如果没有通过验证,则确定所述待保护设备不安全。
【文档编号】G06F21/56GK105897427SQ201610203867
【公开日】2016年8月24日
【申请日】2016年4月1日
【发明人】许鑫
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1