数据处理方法、装置、设备和存储介质与流程

文档序号:17775349发布日期:2019-05-28 20:01阅读:174来源:国知局
数据处理方法、装置、设备和存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备和存储介质。



背景技术:

随着互联网的迅速普及,人们在日常生活中的应用越来越广泛。由于互联网开放互联,同时增添了许多不安全因素,如病毒、蠕虫和特洛伊木马等,他们通过漏洞攻击终端,严重威胁到计算机安全。因此,保证网络环境中计算平台的安全性越来越重要。为了确保整个计算机系统的可信赖性,可信计算组(trustedcomputinggroup,简称tcg)提出了可信计算技术,力图为网络环境中的计算平台提供可信性证明。可信计算技术在硬件层引入可信平台模块(trustedplatformmodule,简称tpm),即可信根。从可信根出发,通过信任链传递机制,逐级度量验证系统组件,可保证整个系统的可信性。

目前,将数据封存于tpm,可以保证数据的安全可靠。数据封存时一般与特定的平台配置寄存器(platformconfigurationregisters,简称pcr)的值绑定,pcr的值如基本输入输出系统(basicinputoutputsystem,简称bios),操作系统加载器(grandunifiedbootloader,简称grub),和操作系统内核的散列值,当系统升级,如更新bios,grub,或内核,其对应的pcr的值发生改变,数据将不能正常解封。



技术实现要素:

本发明提供一种数据处理方法、装置、设备和存储介质,以实现在系统升级后可以正常解封数据。

第一方面,本发明提供一种数据处理方法,包括:

根据当前版本的grub对封存在可信平台模块tpm中的数据进行解封,得到解封后的数据;所述封存在可信平台模块tpm中的数据与所述当前版本的grub对应的度量值绑定;

将所述解封后的数据重新封存在所述tpm中,并将重新封存在所述tpm中的数据与待升级版本的grub对应的度量值绑定。

第二方面,本发明提供一种数据处理装置,包括:

解封模块,用于根据当前版本的grub对封存在可信平台模块tpm中的数据进行解封,得到解封后的数据;所述封存在可信平台模块tpm中的数据与所述当前版本的grub对应的度量值绑定;

处理模块,用于将所述解封后的数据重新封存在所述tpm中,并将重新封存在所述tpm中的数据与待升级版本的grub对应的度量值绑定。

第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。

第四方面,本发明实施例提供一种电子设备,包括:

处理器;以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任一项所述的方法。

本发明实施例提供的数据处理方法、装置、设备和存储介质,根据当前版本的grub对封存在可信平台模块tpm中的数据进行解封,得到解封后的数据;所述封存在可信平台模块tpm中的数据与所述当前版本的grub对应的度量值绑定;将所述解封后的数据重新封存在所述tpm中,并将重新封存在所述tpm中的数据与待升级版本的grub对应的度量值绑定,由于在升级前重新封存了数据,并且与待升级版本的grub对应的度量值进行了绑定,实现了在系统升级后数据可以正常解封。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本发明一实施例提供的应用场景图;

图2是本发明提供的数据处理方法一实施例的流程示意图;

图3是本发明提供的数据处理装置一实施例的结构示意图;

图4是本发明提供的电子设备实施例的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本发明的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先对本发明所涉及的名词和应用场景进行介绍:

本发明实施例中的句柄,指的是访问数据的索引。

本发明实施例中的操作系统加载器grub,指的是操作系统启动管理器。可以用于引导不同系统的启动,如windows,linux。

本发明实施例提供的数据处理方法,应用于可信平台模块tpm,tpm可以用于封存数据,可以保证数据的安全可靠。数据封存时一般与特定的平台配置寄存器(platformconfigurationregisters,简称pcr)的值绑定,pcr的值如基本输入输出系统(basicinputoutputsystem,简称bios),操作系统加载器(grandunifiedbootloader,简称grub),和操作系统内核的散列值,当系统升级,如更新bios,grub,或内核,其对应的pcr的值发生改变,数据将不能正确解封。即在对封存的数据进行解封时需要对当前系统得到的度量值,与之前绑定的pcr的值进行比对,确定是否一致,若一致,则说明系统为可信的,可以解封数据。当前系统得到的度量值,可以是当前系统中如grub对应的散列值。

因此,本发明实施例的数据处理方法中,对于grub的升级来说,需要先根据当前版本的grub将数据解封,然后再重新封存并与待升级版本的grub对应的度量值绑定;对于grub下级的系统数据升级,无需将数据重新封存,只需将系统数据重新签名即可。

图1为本发明一实施例提供的应用场景图,可选的,如图1所示,该应用场景中包括服务器11、电子设备12;该电子设备12可以为计算机、平板电脑等设备。

其中,电子设备12和服务器11可以通过网络连接,例如3g、4g或无线保真(wirelessfidelity,wifi)等通信网络。

本发明提供的方法可由电子设备12如处理器执行相应的软件代码实现,也可由该电子设备12在执行相应的软件代码的同时,通过和服务器11进行数据交互来实现,如服务器执行部分操作,来控制电子设备执行数据处理方法。

下面的实施例均以电子设备为执行主体进行说明。

下面以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图2是本发明提供的数据处理方法一实施例的流程示意图。如图2所示,本实施例提供的方法,包括:

步骤201、根据当前版本的grub对封存在可信平台模块tpm中的数据进行解封,得到解封后的数据;封存在可信平台模块tpm中的数据与当前版本的grub对应的度量值绑定;

步骤202、将解封后的数据重新封存在tpm中,并将重新封存在tpm中的数据与待升级版本的grub对应的度量值绑定。

具体的,对于grub的升级来说,获取待升级版本的grub,并确定该待升级版本的grub对应的度量值,如计算待升级版本的grub对应的散列值,即根据哈希算法计算待升级版本的grub对应的散列值。待升级版本的grub对应的度量值可以存储在pcr_file中,pcr_file为pcr文件,该文件中指定存储封存数据时,绑定的pcr的值。

tpm中封存有相关数据,先对封存的数据根据当前版本的grub进行解封,得到解封后的数据,由于解封的数据与当前版本的grub对应的度量值绑定,因此可以正常解封数据。

然后将解封后的数据重新封存在tpm中,并将重新封存在tpm中的数据与待升级版本的grub对应的度量值绑定。

tpm中封存的相关数据,可以通过句柄进行访问,数据例如为密钥等数据。句柄为访问数据的索引。

在数据封存之前,先不对grub的版本进行替换,即在当前版本的grub的运行状态下对封存在可信平台模块tpm中的数据进行解封,得到解封后的数据。

进一步的,步骤201,具体可以通过如下方式实现:

将当前版本的grub对应的度量值、与封存在tpm中的数据绑定的度量值进行匹配;

若匹配一致,则根据第一句柄获取封存在tpm中的数据,得到解封后的数据;第一句柄为访问封存在tpm中的数据的索引。

具体的,在解封数据时,需要确定当前版本的grub对应的度量值,与绑定的度量值是否匹配,若匹配则说明系统是可新的,可以解封数据,根据第一句柄读取封存在tpm中的数据。

进一步的,步骤202中将解封后的数据重新封存在tpm中,具体可以通过如下方式实现:

根据第二句柄将解封后的数据重新封存在tpm中;第二句柄为访问重新封存在tpm中的数据的索引。

具体的,重新封存数据时可以根据第二句柄对数据进行存储。

第一句柄和第二句柄可以不同。

其中,第一句柄例如为0x81000003,第二句柄例如为0x81000004,或者第一句柄例如为0x81000004,第二句柄例如为0x81000003。

若根据0x81000003解封成功,则根据0x81000004重新封存数据;若根据0x81000004解封成功,则根据0x81000003重新封存数据。

第一句柄和第二句柄可以不同。

其中,第一句柄例如为0x81000003,第二句柄例如为0x81000004,或者第一句柄例如为0x81000004,第二句柄例如为0x81000003。

若根据0x81000003解封成功,则根据0x81000004重新封存数据;若根据0x81000004解封成功,则根据0x81000003重新封存数据。

进一步的,将重新封存在tpm中的数据与待升级版本的grub对应的度量值绑定之后,还可以进行如下操作:

将当前版本的grub升级为待升级版本的grub。

具体的,只有数据重新封存成功时,才会用待升级版本的grub替换当前版本的grub,防止替换后封存失败,导致数据无法解封。

进一步的,在重新封存在tpm中的数据与待升级版本的grub对应的度量值绑定之后,还可以进行如下操作:

将待升级版本的grub对应的度量值存储在平台配置寄存器pcr中;待升级版本的grub对应的度量值为待升级版本的grub对应的散列值。

具体的,可以在系统重启后将待升级版本的grub对应的度量值存储在平台配置寄存器pcr中,由于pcr中存储的是待升级版本的grub对应的度量值,因此系统升级后可以正常解封数据。

若用户需要对封存的数据进行解封,则根据pcr中存储的待升级版本的grub对应的度量值与当前升级后的版本的grub对应的度量值进行比对,若一致则可以正常解封数据。

由于是在升级重启后,将待升级版本的grub对应的度量值存储在pcr中,因此若升级失败,则pcr中存储的为依然为之前版本(即当前版本)grub对应的度量值,因此依旧可以正常解封数据。因此,升级失败不会影响数据的解封。

进一步的,grub升级后,可以将第一句柄删除。

具体的,系统重启后,即将当前版本的grub升级为待升级的grub后,可以将不可用句柄即第一句柄删除。

重新封存数据时,保留原有句柄,即第一句柄,只有在升级后系统启动时新句柄(即第二句柄)可用,才将旧句柄删除,防止升级失败导致数据无法解封。

其中,第一句柄例如为0x81000003,第二句柄例如为0x81000004,或者第一句柄例如为0x81000004,第二句柄例如为0x81000003。

在系统重启后,若根据0x81000003解封成功,则将0x81000004删除;若根据0x81000004解封成功,则将0x81000003删除。

本实施例的方法,根据当前版本的grub对封存在可信平台模块tpm中的数据进行解封,得到解封后的数据;所述封存在可信平台模块tpm中的数据与所述当前版本的grub对应的度量值绑定;将所述解封后的数据重新封存在所述tpm中,并将重新封存在所述tpm中的数据与待升级版本的grub对应的度量值绑定,由于在升级前重新封存了数据,并且与待升级版本的grub对应的度量值进行了绑定,实现了在系统升级后数据可以正常解封。

在上述实施例的基础上,可选的,对于grub下级的系统数据升级不需要重新封存数据,因此本实施例的方法,还可以包括:

若grub下级的系统数据升级,则对待升级的系统数据利用与公钥对应的私钥进行重新签名;公钥对应的度量值与封存在tpm中的数据绑定。

其中,系统数据包括以下至少一项:操作系统内核、初始化镜像文件、命令行参数。

具体的,对于grub下级的系统数据升级,例如操作系统内核、初始化镜像文件、命令行参数等,由于封存的数据与公钥对应的度量值绑定,pcr中存储公钥对应的度量值,则只需对待升级的系统数据重新利用公钥对应的私钥进行签名即可,避免数据不能正常解封。对封存在tpm中的数据不需要进行解封以及重新封存。

若用户需要对封存在tpm中的数据进行解封,则根据pcr中存储的公钥对应的度量值对当前的系统数据的签名进行验证,由于系统数据重新进行了签名,签名利用的私钥与公钥对应,则可以验证通过从而可以正常解封数据。

若升级失败,则可切换至原系统数据启动,pcr中存储的依然为公钥对应的度量值,因此依旧可以正常解封数据。因此,升级失败不会影响数据的解封。

本实施例中,对于grub下级的系统数据升级,对待升级的系统数据利用与公钥对应的私钥进行重新签名述公钥对应的度量值与封存的数据绑定,若用户需要对封存的数据进行解封,则根据pcr中存储的公钥对应的度量值对当前的系统数据的签名进行验证,由于系统数据重新进行了签名,签名利用的私钥与公钥对应,则可以验证通过从而可以正常解封数据。

图3为本发明提供的数据处理装置一实施例的结构图,如图3所示,本实施例的数据处理装置,包括:

解封模块301,用于根据当前版本的grub对封存在可信平台模块tpm中的数据进行解封,得到解封后的数据;所述封存在可信平台模块tpm中的数据与所述当前版本的grub对应的度量值绑定;

处理模块302,用于将所述解封后的数据重新封存在所述tpm中,并将重新封存在所述tpm中的数据与待升级版本的grub对应的度量值绑定。

在本发明的一实施例中,解封模块301,具体用于:

将所述当前版本的grub对应的度量值、与封存在tpm中的数据绑定的度量值进行匹配;

若匹配一致,则根据第一句柄获取封存在tpm中的数据,得到解封后的数据;所述第一句柄为访问所述封存在tpm中的数据的索引

在本发明的一实施例中,处理模块302,具体用于;

根据第二句柄将所述解封后的数据重新封存在所述tpm中;所述第二句柄为访问重新封存在所述tpm中的数据的索引。

在本发明的一实施例中,处理模块302,还用于;

在将重新封存在所述tpm中的数据与待升级版本的grub对应的度量值绑定之后,将所述当前版本的grub升级为所述待升级版本的grub。

在本发明的一实施例中,处理模块302,还用于;

在将重新封存在所述tpm中的数据与待升级版本的grub对应的度量值绑定之后,将所述待升级版本的grub对应的度量值存储在平台配置寄存器pcr中;所述待升级版本的grub对应的度量值为所述待升级版本的grub对应的散列值。

在本发明的一实施例中,处理模块302,还用于;

将重新封存在所述tpm中的数据与待升级版本的grub对应的度量值绑定之前,根据所述待升级版本的grub,确定所述待升级版本的grub对应的度量值。

在本发明的一实施例中,处理模块302,还用于;

grub升级后,将所述第一句柄删除。

在本发明的一实施例中,处理模块302,还用于;

若grub下级的系统数据升级,则对待升级的所述系统数据利用与公钥对应的私钥进行重新签名;所述公钥对应的度量值与封存在所述tpm中的数据绑定。

在本发明的一实施例中,所述系统数据包括以下至少一项:操作系统内核、初始化镜像文件、命令行参数。

本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图4为本发明提供的电子设备实施例的结构图,如图4所示,该电子设备包括:

处理器401,以及,用于存储处理器401的可执行指令的存储器402。

可选的,还可以包括:通信接口403,用于与其他设备通信。

上述部件可以通过一条或多条总线进行通信。

其中,处理器401配置为经由执行所述可执行指令来执行前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,此处不再赘述。

本发明实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,其实现原理和技术效果类似,此处不再赘述。

本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如上述实施例中电子设备所执行的数据处理方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1