本发明实施例涉及信息安全领域,特别是涉及一种TPM芯片的密钥迁移方法及装置。
背景技术:
随着越来越多的木马程序以及骇客的入侵,保密资料(敏感数据)的外泄风险越来越高。为了提高保密资料的安全性,避免用户遭受损失,一系列加强防止资料外泄的机制应用而生。
TCG(Trusted Computing Group,可信赖计算组织)基于跨平台和操作环境制定了可信赖电脑相关标准和规范,并提出TPM(Trusted Platform Module,可信任安全平台模组)规范。TPM芯片即为符合TPM规范的安全芯片,内置了密码学功能,具有产生加解密密钥的功能、能够高速的对资料进行加密和解密、以及充当保护BIOS和操作系统不被修改的辅助处理器,可有效地防止非法用户访问。
TPM芯片中采用存储加密的方式保护TPM内部的密钥,每个密钥都有一个父密钥,当该密钥导出到芯片外时,都被父密钥加密保护,可以使用TPM芯片内部的密钥保护用户的数据密钥。也就是说,对使用者来说,TPM可以直接对档案或资料匣进行加密,一旦被TPM加密过的档案资料,基本上就具有双重防护,一方面是开启被加密档案本身有一组密码,另外,还需与TPM芯片搭配才能开启档案。即使被骇客窃取,由于少了TPM芯片,资料也无法被读取。
尽管TPM芯片的硬件特性可以有效防止外界监听其内部的处理过程,有效的将敏感数据与平台的完整性进行绑定,从而提升保密资料(敏感数据)的安全性。但在便携性上会大打折扣,一旦平台无法使用,或者需要将敏感数据迁移到其他平台时,用户的敏感数据便无法进行恢复,给用户带来不便。
技术实现要素:
本发明实施例的目的是提供一种TPM芯片的密钥迁移方法及装置,以解决在物理平台无法使用或需要将敏感数据迁移到其他平台时,敏感数据无法恢复的问题。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种TPM芯片的密钥迁移方法,包括:
获取目标物理平台的TPM芯片创建的交换密钥的公钥;
将所述交换密钥的公钥加载至源物理平台的TPM芯片中,以用来对所述源物理平台的TPM芯片中的待迁移密钥进行加密;
将加密后的待迁移密钥作为迁移密钥信息,发送至所述目标物理平台的TPM芯片;
根据所述交换密钥对迁移至所述目标物理平台的TPM芯片的迁移密钥信息进行解密,以获取所述待迁移密钥。
可选的,所述根据所述交换密钥对迁移至所述目标物理平台的TPM芯片的迁移密钥信息进行解密,以获取所述待迁移密钥具体为:
获取所述迁移密钥信息在所述目标物理平台的TPM中的预设父密钥;
根据所述预设父密钥以及所述交换密钥的私钥对所述迁移密钥信息进行解密,以在所述目标物理平台上获得所述待迁移密钥。
可选的,在所述根据所述预设父密钥以及所述交换密钥的私钥对所述迁移密钥信息进行解密之后还包括:
将用户的敏感数据及数据密钥由所述源物理平台发送至所述目标物理平台;
根据所述待迁移密钥对所述数据密钥进行解密,再由所述数据密钥对所述敏感数据进行解密,以在所述目标物理平台上获得所述敏感数据的内容。
可选的,所述预设父密钥为所述交换密钥。
可选的,所述将加密后的待迁移密钥作为迁移密钥信息包括:
根据所述交换密钥的公钥计算验证信息;
将加密后的待迁移密钥以及所述验证信息作为所述迁移密钥信息。
可选的,所述根据所述预设父密钥以及所述交换密钥的私钥对所述迁移密钥信息进行解密为:
根据所述交换密钥的私钥对所述验证信息进行验证;
根据所述预设父密钥以及所述交换密钥的私钥对所述迁移密钥信息进行解密。
可选的,在所述将所述交换密钥的公钥加载至源物理平台的TPM芯片中,以用来对所述源物理平台的TPM芯片中的待迁移密钥进行加密之后还包括:
检测根据所述交换密钥的公钥对所述待迁移密钥进行加密是否成功;
当检测到所述交换密钥的公钥对所述待迁移密钥加密不成功时,返回并显示信息解析错误。
本发明实施例另一方面提供了一种TPM芯片的密钥迁移装置,包括:
获取公钥模块,用于获取目标物理平台的TPM芯片创建的交换密钥的公钥;
加密模块,用于将所述交换密钥的公钥加载至源物理平台的TPM芯片中,以用来对所述源物理平台的TPM芯片中的待迁移密钥进行加密;
迁移模块,用于将加密后的待迁移密钥作为迁移密钥信息,发送至所述目标物理平台的TPM芯片;
解密模块,用于根据所述交换密钥对迁移至所述目标物理平台的TPM芯片的迁移密钥信息进行解密,以获取所述待迁移密钥。
可选的,所述解密模块为获取所述迁移密钥信息在所述目标物理平台的TPM中的预设父密钥;根据所述预设父密钥以及所述交换密钥的私钥对所述迁移密钥信息进行解密,以在所述目标物理平台上获得所述待迁移密钥的模块。
可选的,还包括:
敏感数据解密模块,用于将用户的敏感数据及数据密钥由所述源物理平台发送至所述目标物理平台;根据所述待迁移密钥对所述数据密钥进行解密,再由所述数据密钥对所述敏感数据进行解密,以在所述目标物理平台上获得所述敏感数据的内容。
本发明实施例提供了一种TPM芯片的密钥迁移方法,在将预先加载到源物理平台的TPM芯片中的待迁移密钥,迁移至目标物理平台的TPM芯片之前,先利用目标物理平台的TPM芯片创建的交换密钥的公钥对待迁移密钥进行加密,然后将加密后的待迁移密钥进行发送。
本申请提供的技术方案在源物理平台无法使用,或者需要将敏感数据迁移到其他平台时,可将源物理平台的TPM芯片中密钥迁移至目的物理平台的TPM芯片,使得迁移后的密钥在目的物理平台上有效,从而实现对源物理平台中的用户敏感数据的恢复。一定程度上提高了敏感数据的安全性与稳定性,避免用户因数据无法恢复而遭受巨大损失,提升了用户的使用体验,更方便用户使用。此外,本发明实施例还针对实现TPM芯片的密钥迁移方法提供了相应的实现装置,进一步使得所述方法更具有实用性,所述装置具有相应的优点。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一个示例性应用场景的框架示意图;
图2为本发明实施例提供的一种TPM芯片的密钥迁移方法的流程示意图;
图3为本发明实施例提供的另一种TPM芯片的密钥迁移方法的流程示意图;
图4为本发明实施例提供的再一种TPM芯片的密钥迁移方法的流程示意图;
图5为本发明实施例提供的TPM芯片的密钥迁移装置的一种实施方式的结构图;
图6为本发明实施例提供的TPM芯片的密钥迁移装置的另一种实施方式的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
本申请的发明人经过研究发现,TPM芯片可有效的将敏感数据与平台的完整性进行绑定,从而提升保密资料(敏感数据)的安全性,但在便携性上会大打折扣,一旦平台无法使用,或者需要将敏感数据迁移到其他平台时,用户的敏感数据便无法进行恢复,给用户带来不便。鉴于此,本申请通过利用目标物理平台的TPM芯片创建的交换密钥的公钥对源物理平台的TPM芯片中的待迁移密钥进行加密,然后将加密后的待迁移密钥发送至目标物理平台的TPM芯片。使得迁移后的密钥在目的物理平台上有效,从而实现对源物理平台中的用户敏感数据的恢复。一定程度上提高了敏感数据的安全性与稳定性,避免用户因数据无法恢复而遭受巨大损失,提升了用户的使用体验,更方便用户使用。
基于上述本发明实施例的技术方案,下面首先结合图1对本发明实施例的技术方案涉及的一些可能的应用场景进行举例介绍,图1为本发明实施例提供的一个示意性例子。
如图1所示,客户端101为源物理平台,客户端102为目的物理平台;客户端101和客户端102都内嵌TPM芯片。
源物理平台以及目的物理平台可为笔记本电脑、台式电脑、智能手机或平板电脑,当然也可为其他任何可支持内嵌TPM芯片的物理平台,本发明对此不做任何限定。
源物理平台与目的物理平台可为同一类型的平台,也可为不同类型的平台,举例来说,源目的平台可为笔记本电脑,目的物理平台可为笔记本电脑,也可为平板电脑,这均不影响本申请的实现。
TPM芯片可为TPM1.0芯片,也可为TPM1.2,还可为TPM2.0,当然,也可为其他任何型号的TPM芯片,这均不影响本申请技术方案的实现。
客户端101中的TPM芯片中的密钥迁移至客户端102中的TPM芯片中的具体过程可为:
获取客户端102的TPM芯片创建的交换密钥的公钥;将交换密钥的公钥加载至客户端101的TPM芯片中,以用来对客户端101的TPM芯片中的待迁移密钥进行加密;将加密后的待迁移密钥发送至客户端102的TPM芯片。
需要说明的是,迁移前待迁移密钥已被加载入了客户端101,客户端101已使用数据密钥加密了用户敏感数据,并使用客户端101中的TPM芯片内密钥加密了数据密钥。
需要注意的是,上述应用场景仅是为了便于理解本申请的思想和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图2,图2为本发明实施例提供的一种TPM芯片的密钥迁移方法的流程示意图,本发明实施例可包括以下内容:
S201:获取目标物理平台的TPM芯片创建的交换密钥的公钥。
目标物理平台在接收源物理平台发送进行迁移TPM芯片密钥的请求之后,会创建跟源物理平台进行传输的交换密钥。交换密钥在被创建时同时被创建了交换密钥的私钥以及交换密钥的公钥。根据TPM规范可知,TPM密钥的公钥不被加密,可直接导出,也就是说,目标物理平台创建的交换密钥的公钥可由目标物理平台的TPM进行导出,从而可被其他任何TPM获取,且可被加载至其他TPM芯片中。而交换密钥的私钥不能导出,只能由目的物理平台的TPM芯片进行读取。
以TPM2.0芯片为例,目的物理平台的TPM芯片可通过指令TPM2_Create创建交换密钥,并通过指令TPM2_Load将其加载并导出。当然,也可采用其他指令进行操作,本领域技术人员可根据自身经验以及项目的需求进行选取。
需要说明的是,本发明实施例实现的前提为,源物理平台已使用数据密钥加密了用户敏感数据,并使用源物理平台中的TPM芯片内密钥加密了数据密钥;且确保对数据密钥进行加密的TPM芯片中的密钥已成功加载至至源物理平台的TPM芯片中。
S202:将所述交换密钥的公钥加载至源物理平台的TPM芯片中,以用来对所述源物理平台的TPM芯片中的待迁移密钥进行加密。
在目的物理平台的TPM芯片将交换密钥的公钥导出之后,源物理平台便可通过预设的指令进行读取交换密钥的公钥,并将其加载至源物理平台的TPM芯片中。以TPM2.0芯片为例,源物理平台可使用指令TPM2_ReadPublic进行读取交换密钥的公钥信息,再使用TPM2_LoadExternal将交换密钥的公钥加载至源物理平台的TPM芯片中;当然,也可采用其他指令进行操作,本领域技术人员可根据自身经验以及项目的需求进行选取。
用交换密钥的公钥进行对待迁移密钥进行加密,对迁移密钥进行解密只能是交换密钥的私钥,故可使其在传输过程中,避免被侵入,从而保证带迁移密钥的安全性。
需要说明的是,待迁移密钥与对要传输的敏感数据进行加密的数据密钥相对应,即对数据密钥进行加密的TPM密钥即为待迁移密钥。
S203:将加密后的待迁移密钥作为迁移密钥信息,发送至所述目标物理平台的TPM芯片。
利用交换密钥的公钥对带迁移密钥进行加密后,以TPM2.0芯片为例,在源物理平台的TPM芯片中可使用TPM2_Duplicate指令,使其返回使用交换密钥加密后的待迁移密钥的私钥内容,将加密后的迁移密钥的私钥内容传输到目标物理平台中的TPM芯片中。
S204:根据所述交换密钥对迁移至所述目标物理平台的TPM芯片的迁移密钥信息进行解密,以获取所述待迁移密钥。
在迁移密钥信息迁移至目标物理平台后,目标物理平台的TPM芯片利用交换密钥对迁移密钥信息进行解密,以获取待迁移密钥。
由上可知,本发明实施例在源物理平台无法使用,或者需要将敏感数据迁移到其他平台时,可将源物理平台的TPM芯片中密钥迁移至目的物理平台的TPM芯片,使得迁移后的密钥在目的物理平台上有效,从而实现对源物理平台中的用户敏感数据的恢复。一定程度上提高了敏感数据的安全性与稳定性,避免用户因数据无法恢复而遭受巨大损失,提升了用户的使用体验,更方便用户使用。
在本发明实施例的一种具体实施方式中,还可根据交换密钥的公钥计算验证信息;将加密后的待迁移密钥以及验证信息作为迁移密钥信息发送至目的物理平台的TPM芯片中。
验证信息可为由交换密钥的公钥计算出的一连串数字,也可为一串字母,或者字母与数字的组合,当然,也可为其他任何形式的信息。
当验证信息根据交换密钥的公钥计算得出,验证信息只能通过交换密钥的私钥才可验证成功,所以验证信息是与目的物理平台相对应的,当迁移至目的物理平台与要迁移的目的平台不为一致时,验证就不成功。也就说验证信息可进一步确定迁移至的目的物理平台是否为预设要迁移的目的物理平台,即使迁移过程发生错误,也不会成功将待迁移密钥解密,更不会成功获取敏感数据的内容,有利于提高系统整体的安全性与稳定性。
在本发明实施例的另一种具体实施方式中,在用交换密钥的公钥进行加密时,很有可能加密不成功,所以可根据交换密钥的公钥对待迁移密钥加密的结果进行检测;当检测到交换密钥的公钥对待迁移密钥加密不成功时,返回并显示信息解析错误。
信息解析错误可通过在屏幕(液晶屏)上以文字、图片或表格的形式进行显示,也可通过语音进行提示,当然,也可采用其他方式进行反馈,这均不影响本发明实施例的实现,例如当加密不成功时,可通过开启指示灯进行提示。
通过对加密不成功的信息进行及时反馈,可使技术人员及时发现,快速查找加密不成功的原因,从而进行快速修复,有利于提升迁移的工作效率。
需要说明的是,还可进一步设置过滤器,用来检测待迁移密钥是否经过加密,以阻止未经过加密的待迁移密钥迁移,从而提高系统的安全性与稳定性。
考虑在具体实际操作过程中,基于上述实施例本申请还提供了另外一种实施例,请参阅图3,本实施例可包括:
S301-S303:具体的,与实施例一的S201-S203所描述一致,此处不再赘述。
S304:获取所述迁移密钥信息在所述目标物理平台的TPM中的预设父密钥。
因为TPM芯片为二重加密机制,在源物理平台的TPM芯片中密钥迁移至目的物理平台的TPM芯片中后,需要为其指定父密钥,以用来保护TPM芯片中的密钥。
考虑到引入密钥的数量与种类,预设的父密钥可为交换密钥,既可避免解密加密需要引进的一些因素,也可避免技术人员寻找父密钥的时间,有利于提升系统的性能,提升技术人员的工作效率。当然,也可任意选择其他密钥作为父密钥,这均不影响本发明实施例的实现。
S305:根据所述预设父密钥以及所述交换密钥的私钥对所述迁移密钥信息进行解密,以在所述目标物理平台上获得所述待迁移密钥。
当然,当预设父密钥为交换密钥时,只需要交换密钥即可实现对迁移密钥信息进行解密。目标物理平台已有了完整的迁移密钥,在获取源物理平台的TPM中待迁移密钥的公钥及敏感数据和数据密钥之后,即可使用待迁移密钥恢复出数据密钥,然后使用数据密钥恢复敏感数据。
以TMP2.0芯片为例,在目标物理平台的TPM芯片可使用指令TPM2_Import实现利用交换密钥的私钥解密待迁移密钥,从而获取源物理平台迁移过去的待迁移密钥。
相应的,当迁移密钥信息包括待迁移密钥以及验证信息时,有:
根据交换密钥的私钥对验证信息进行验证;
根据预设父密钥以及交换密钥的私钥对迁移密钥信息进行解密。
以TMP2.0芯片为例,在目标物理平台的TPM芯片可使用指令TPM2_Import实现利用交换密钥的私钥对验证信息进行验证。
在一种具体的实施方式中,请参阅图4,本发明实施例还可包括:
S306:将用户的敏感数据及数据密钥由所述源物理平台发送至所述目标物理平台。
用户的敏感数据一般为一旦外泄会给用户带来巨大损失的资料,损失可为物质上的,例如财产,也可为精神上的,例如个人隐私。敏感数据的格式可为文档格式(例如文字、字母或数字),或为图片形式,或为音频,或为视频,或为网页格式,或为表格形式,也可为其他任何一种格式的资料,这均不影响本申请的实现。举例来说,用户的敏感数据可为用户的各种类型的银行卡用于电子交易时的交易密码。
数据密钥可用来加密用户的敏感数据,而数据密钥又被TPM芯片中的密钥进行加密。
S307:根据所述待迁移密钥对所述数据密钥进行解密,再由所述数据密钥对所述敏感数据进行解密,以在所述目标物理平台上获得所述敏感数据的内容。
获取源物理平台的TPM中待迁移密钥、敏感数据和数据密钥,目标物理平台便有了完整的密钥,使用待迁移密钥恢复出数据密钥,然后使用数据密钥恢复敏感数据,从而获得敏感数据的内容,实现敏感数据安全的跨平台传输。
需要说明的是,待迁移密钥、交换密钥、数据密钥的加解密可使用相同的算法,也可采用不同的算法,彼此之间可各无关系,也可具有一定的关系,这均不影响本申请的实现。
由上可知,本发明实施例在源物理平台的待迁移密钥迁移至目的物理平台的TPM芯片中后,实现了对敏感数据的恢复,证实了将密钥进行迁移可解决在物理平台无法使用或需要将敏感数据迁移到其他平台时,敏感数据无法恢复的问题,实现了敏感数据安全的跨平台传输,成功的解决了敏感数据加密及传递的瓶颈,使得本申请具有实际意义。
本发明实施例还针对TPM芯片的密钥迁移方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的TPM芯片的密钥迁移装置进行介绍,下文描述的TPM芯片的密钥迁移装置与上文描述的TPM芯片的密钥迁移方法可相互对应参照。
请参见图5,图5为本发明实施例提供的TPM芯片的密钥迁移装置在一种具体实施方式中的结构图,该装置可包括:
获取公钥模块501,用于获取目标物理平台的TPM芯片创建的交换密钥的公钥。
加密模块502,用于将所述交换密钥的公钥加载至源物理平台的TPM芯片中,以用来对所述源物理平台的TPM芯片中的待迁移密钥进行加密。
迁移模块503,用于将加密后的待迁移密钥作为迁移密钥信息,发送至所述目标物理平台的TPM芯片。
解密模块504,用于根据所述交换密钥对迁移至所述目标物理平台的TPM芯片的迁移密钥信息进行解密,以获取所述待迁移密钥。
在一种具体的实施方式中,迁移模块503可包括:
计算单元5031,用于根据所述交换密钥的公钥计算验证信息;
发送单元5032,用于将加密后的待迁移密钥以及所述验证信息作为所述迁移密钥信息,发送至所述目标物理平台的TPM芯片。
可选的,在本实施例的一些实施方式中,请参阅图6,所述解密模块504具体可包括:
解密模块504,用于获取所述迁移密钥信息在所述目标物理平台的TPM中的预设父密钥;根据所述预设父密钥以及所述交换密钥的私钥对所述迁移密钥信息进行解密,以在所述目标物理平台上获得所述待迁移密钥。
在一种具体的实施方式中,解密模块504可包括:
获取单元5041,用于获取所述迁移密钥信息在所述目标物理平台的TPM中的预设父密钥;
验证单元5042,用于根据所述交换密钥的私钥对所述验证信息进行验证;
解密单元5043,用于根据所述预设父密钥以及所述交换密钥的私钥对所述迁移密钥信息进行解密。
可选的,在本实施例的另一些实施方式中,请参阅图6,所述装置例如还可以包括:
敏感数据解密模块505,用于将用户的敏感数据及数据密钥由所述源物理平台发送至所述目标物理平台;根据所述待迁移密钥对所述数据密钥进行解密,再由所述数据密钥对所述敏感数据进行解密,以在所述目标物理平台上获得所述敏感数据的内容。
可选的,在本实施例的另一些实施方式中,请参阅图6,所述装置例如还可以包括:
显示模块506,用于检测根据所述交换密钥的公钥对所述待迁移密钥进行加密是否成功;当检测到所述交换密钥的公钥对所述待迁移密钥加密不成功时,返回并显示信息解析错误。
本发明实施例所述TPM芯片的密钥迁移装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例在源物理平台无法使用,或者需要将敏感数据迁移到其他平台时,可将源物理平台的TPM芯片中密钥迁移至目的物理平台的TPM芯片,使得迁移后的密钥在目的物理平台上有效,从而实现对源物理平台中的用户敏感数据的恢复。一定程度上提高了敏感数据的安全性与稳定性,避免用户因数据无法恢复而遭受巨大损失,提升了用户的使用体验,更方便用户使用。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种TPM芯片的密钥迁移方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。