CN115935396A - 一种计算设备、数据加密方法、数据解密方法及存储介质 - Google Patents

一种计算设备、数据加密方法、数据解密方法及存储介质 Download PDF

Info

Publication number
CN115935396A
CN115935396A CN202211697707.3A CN202211697707A CN115935396A CN 115935396 A CN115935396 A CN 115935396A CN 202211697707 A CN202211697707 A CN 202211697707A CN 115935396 A CN115935396 A CN 115935396A
Authority
CN
China
Prior art keywords
decryption
data
encryption
request
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211697707.3A
Other languages
English (en)
Inventor
应志伟
陈善
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202211697707.3A priority Critical patent/CN115935396A/zh
Publication of CN115935396A publication Critical patent/CN115935396A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实施例公开一种计算设备、数据加密方法、数据解密方法以及存储介质,涉及计算机技术领域,能够提高磁盘中存储的数据的安全性。计算设备包括:CPU、磁盘和磁盘驱动器,磁盘驱动器与CPU相连,磁盘与磁盘驱动器相连;其中,CPU包括处理器核心和安全处理模块;安全处理模块中存储有密钥;处理器核心,用于运行文件系统和应用程序,应用程序调用文件系统接口写入数据,文件系统将数据发送给第一处理程序,第一处理程序向安全处理模块发送对数据进行加密的加密请求;安全处理模块,用于接收加密请求,基于加密请求及密钥对数据进行加密,第一处理程序将加密后的数据发送给磁盘驱动器;磁盘驱动器,用于将加密后的数据写入磁盘。

Description

一种计算设备、数据加密方法、数据解密方法及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种计算设备、数据加密方法、数据解密方法及存储介质。
背景技术
为了保证磁盘中存储数据的安全,一般在采用磁盘加解密程序对数据进行加密之后,再将已加密数据存储至磁盘中,并在需要使用磁盘中的数据时,读取已加密数据,对已加密数据进行解密以获得明文数据。目前最常用的磁盘加解密程序可以为Windows系统下的bitlocker,或者Linux系统下的dm-crypt,两者实现加密操作以及解密操作的原理基本相同。
下面以dm-crypt为例进行说明,dm-crypt在获取加密密钥之后,可以利用加密密钥对数据进行加密,然后将已加密数据存储至磁盘中。在需要使用磁盘中的数据时,dm-crypt可以在获取解密密钥之后,利用解密密钥对已加密数据进行解密,从而获得明文数据。但是,由于密钥以明文形式存在于系统中,一旦密钥被窃取,势必会对磁盘中存储的数据的安全性造成非常不利的影响。
因此,如何提高磁盘中存储的数据的安全性成为了本领域亟待解决的技术问题。
发明内容
有鉴于此,本发明实施例提供一种计算设备、数据加密方法、数据解密方法及存储介质,能够提高磁盘中存储的数据的安全性。
第一方面,本发明实施例提供一种计算设备,包括:CPU、磁盘和磁盘驱动器,所述磁盘驱动器与所述CPU相连,所述磁盘与所述磁盘驱动器相连;其中,所述CPU包括处理器核心和安全处理模块;所述安全处理模块中存储有密钥;所述处理器核心,用于运行文件系统和应用程序,所述应用程序调用文件系统接口写入数据,所述文件系统将所述数据发送给第一处理程序,所述第一处理程序向所述安全处理模块发送对所述数据进行加密的加密请求;所述安全处理模块,用于接收所述加密请求,基于所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述第一处理程序,所述第一处理程序将加密后的数据发送给所述磁盘驱动器;所述磁盘驱动器,用于将加密后的数据写入所述磁盘。
可选的,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;所述安全处理器,用于接收所述加密请求,并将所述加密请求及所述密钥发送给所述密码运算协处理器;所述密码运算协处理器,用于根据所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述安全处理器,以使所述安全处理器将所述加密结果信息返回给所述第一处理程序。
可选的,所述安全处理器中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;所述安全处理器,还用于在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器。
可选的,所述安全处理器包括度量模块和加解密模块;其中,所述度量模块,用于对系统完整性信息进行静态度量和/或动态度量,获取系统完整性信息的静态可信度量值和/或动态可信度量值;所述加解密模块,用于接收所述加密请求,并在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器,接收所述密码运算协处理器返回的加密结果信息,并将所述加密结果信息返回给所述第一处理程序。
可选的,所述计算设备还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心和所述安全处理模块共用的共享内存空间;所述加密请求包括待加密数据所在的源内存地址,和加密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中。
可选的,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;所述安全处理器,用于接收所述加密请求,并将所述加密请求及所述密钥发送给所述密码运算协处理器;所述密码运算协处理器,用于根据所述加密请求,从所述源内存地址读取所述数据,使用所述密钥对所述数据进行加密,根据所述目的内存地址,将加密后的数据写入所述共享内存空间中,并将加密结果信息返回给所述安全处理器,以使所述安全处理器将所述加密结果信息返回给所述第一处理程序。
可选的,所述磁盘驱动器,还用于从所述磁盘中读取已加密数据,并将所述已加密数据发送给所述第一处理程序,所述第一处理程序向所述安全处理模块发送对所述已加密数据进行解密的解密请求;所述安全处理模块,还用于接收所述解密请求,基于所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述第一处理程序,以使所述第一处理程序根据所述解密结果信息获取解密数据,并将所述解密数据发送给文件系统,所述文件系统将接收到的所述解密数据发送给应用程序。
可选的,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;所述安全处理器,用于接收所述解密请求,并将所述解密请求及所述密钥发送给所述密码运算协处理器;所述密码运算协处理器,用于根据所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述安全处理器,以使所述安全处理器将所述解密结果信息返回给所述第一处理程序。
可选的,所述安全处理器中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;所述安全处理器,还用于在接收所述解密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述解密请求及所述密钥发送给所述密码运算协处理器。
可选的,所述计算设备还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心和所述安全处理模块共用的共享内存空间;所述解密请求包括待解密数据所在的源内存地址,和解密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中。
可选的,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;所述安全处理器,用于接收所述解密请求,并将所述解密请求及所述密钥发送给所述密码运算协处理器;所述密码运算协处理器,用于根据所述解密请求,从所述源内存地址读取所述已加密数据,使用所述密钥对所述已加密数据进行解密,根据所述目的内存地址,将解密后的数据写入所述共享内存空间中,并将解密结果信息返回给所述安全处理器,以使所述安全处理器将所述解密结果信息返回给所述第一处理程序。
第二方面,本发明实施例提供一种数据加密方法,应用于计算设备,所述计算设备包括:CPU、磁盘和磁盘驱动器,所述磁盘驱动器与所述CPU相连,所述磁盘与所述磁盘驱动器相连;其中,所述CPU包括处理器核心和安全处理模块;所述安全处理模块中存储有密钥;
所述数据加密方法,包括:应用程序调用文件系统接口向磁盘中写入数据;所述文件系统将所述数据发送给第一处理程序,所述第一处理程序向所述安全处理模块发送对所述数据进行加密的加密请求;其中,所述应用程序、文件系统和所述第一处理程序运行在所述处理器核心上;所述安全处理模块接收所述加密请求,基于所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述第一处理程序,所述第一处理程序将加密后的数据发送给所述磁盘驱动器;所述磁盘驱动器将加密后的数据写入所述磁盘。
可选的,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;其中,所述安全处理模块接收所述加密请求,基于所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述第一处理程序,包括:所述安全处理器接收所述加密请求,并将所述加密请求及所述密钥发送给所述密码运算协处理器;所述密码运算协处理器,根据所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述安全处理器,以使所述安全处理器将所述加密结果信息返回给所述第一处理程序。
可选的,所述安全处理器中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;所述安全处理器将所述加密请求及所述密钥发送给所述密码运算协处理器之前,所述方法还包括:所述安全处理器在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器。
可选的,所述安全处理器包括度量模块和加解密模块;所述度量模块,用于对系统完整性信息进行静态度量和/或动态度量,获取系统完整性信息的静态可信度量值和/或动态可信度量值;其中,所述安全处理器在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器,包括:所述加解密模块在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器。
可选的,所述计算设备还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心和所述安全处理模块共用的共享内存空间;所述加密请求包括待加密数据所在的源内存地址,和加密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中;其中,所述密码运算协处理器,根据所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述安全处理器,包括:所述密码运算协处理器,用于根据所述加密请求,从所述源内存地址读取所述数据,使用所述密钥对所述数据进行加密,根据所述目的内存地址,将加密后的数据写入所述共享内存空间中,并将加密结果信息返回给所述安全处理器,以使所述安全处理器将所述加密结果信息返回给所述第一处理程序。
第三方面,本发明实施例提供一种数据解密方法,应用于计算设备,所述计算设备包括:CPU、磁盘和磁盘驱动器,所述磁盘驱动器与所述CPU相连,所述磁盘与所述磁盘驱动器相连;其中,所述CPU包括处理器核心和安全处理模块;所述安全处理模块中存储有密钥;
所述数据解密方法,包括:所述磁盘驱动器从所述磁盘中读取已加密数据,并将所述已加密数据发送给第一处理程序,所述第一处理程序向所述安全处理模块发送对所述已加密数据进行解密的解密请求;所述安全处理模块接收所述解密请求,基于所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述第一处理程序,以使所述第一处理程序根据所述解密结果信息获取解密数据,并将所述解密数据发送给文件系统,所述文件系统将接收到的所述解密数据发送给应用程序;其中,所述应用程序、文件系统和所述第一处理程序运行在所述处理器核心上。
可选的,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;其中,所述安全处理模块接收所述解密请求,基于所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述第一处理程序,包括:所述安全处理器接收所述解密请求,并将所述解密请求及所述密钥发送给所述密码运算协处理器;所述密码运算协处理器,根据所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述安全处理器;所述安全处理器将所述解密结果信息返回给所述第一处理程序。
可选的,所述安全处理器中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;其中,在所述安全处理器将所述解密请求及所述密钥发送给所述密码运算协处理器之前,所述数据解密方法还包括:所述安全处理器在接收所述解密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述解密请求及所述密钥发送给所述密码运算协处理器。
可选的,所述计算设备还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心和所述安全处理模块共用的共享内存空间;所述解密请求包括待解密数据所在的源内存地址,和解密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中;其中,所述密码运算协处理器,根据所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述安全处理器,包括:所述密码运算协处理器,用于根据所述解密请求,从所述源内存地址读取所述已加密数据,使用所述密钥对所述已加密数据进行解密,根据所述目的内存地址,将解密后的数据写入所述共享内存空间中,并将解密结果信息返回给所述安全处理器。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明实施例提供的任一种数据加密方法或者本发明实施例提供的任一种数据解密方法。
本发明的实施例提供的计算设备,包括CPU、磁盘和磁盘驱动器,所述磁盘驱动器与所述CPU相连,所述磁盘与所述磁盘驱动器相连;其中,所述CPU包括处理器核心和安全处理模块;所述安全处理模块中存储有密钥;所述处理器核心,用于运行文件系统和应用程序,所述应用程序调用文件系统接口写入数据,所述文件系统将所述数据发送给第一处理程序,所述第一处理程序向所述安全处理模块发送对所述数据进行加密的加密请求;所述安全处理模块,用于接收所述加密请求,基于所述加密请求及所述密钥对所述数据进行加密,并
将加密结果信息返回给所述第一处理程序,所述第一处理程序将加密后的数据5发送给所述磁盘驱动器;所述磁盘驱动器,用于将加密后的数据写入所述磁盘。
这样一来,运行于处理器核心上的文件系统将待加密数据发送给第一处理程序之后,第一处理程序可以向安全处理模块发送加密请求,安全处理模块响应于该加密请求,获取密钥以及待加密数据,并采用该密钥对待加密数据进行
加密操作,从而获得加密数据。由于密钥存储于安全处理模块中,且加密过程0也发生在安全处理模块中,因而密钥只出现在安全处理模块中,而不会出现在处理器核心上运行的第一处理程序中,从而可以避免密钥被处理器核心上运行的程序所窃取。因此本发明实施例可以提高密钥的安全性,进而可以提高磁盘存储的数据的安全性。
附图说明
5为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例提供的一种计算设备的结构示意图;
图2为本发明的实施例计算设备中的一种安全处理模块的结构示意图;
图3为本发明的实施例提供的一种数据加密方法的流程示意图;
图4为本发明的实施例提供的一种数据解密方法的流程示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
5应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面采用示意性的实施例进行说明。请参考图1,其示出了本发明实施例提供的一种计算设备的结构示意图,本发明实施例提供的计算设备,可以包括:中央处理器1(可以简写为CPU)、磁盘2和磁盘驱动器3,所述磁盘驱动器3与所述CPU相连,所述磁盘2与所述磁盘驱动器3相连;其中,所述CPU包括处理器核心11和安全处理模块12;所述安全处理模块12中存储有密钥;所述处理器核心11,用于运行文件系统和应用程序,所述应用程序调用文件系统接口写入数据,所述文件系统将所述数据发送给第一处理程序,所述第一处理程序向所述安全处理模块12发送对所述数据进行加密的加密请求;所述安全处理模块12,用于接收所述加密请求,基于所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述第一处理程序,所述第一处理程序将加密后的数据发送给所述磁盘驱动器3;所述磁盘驱动器3,用于将加密后的数据写入所述磁盘2。
在发明实施例中,计算设备中的CPU具体可以为片上系统(System-on-a-chip,SoC)。CPU为一个单独的芯片,在该芯片中既设置有处理器核心11,同时还设置有安全处理模块12,且安全处理模块12中可以存储有加密密钥。安全处理模块12与处理器核心11相隔离,处理器核心11不具有访问安全处理模块12的权限,因此也无法获取加密密钥。具体的,可以以数字电路的方式实现安全处理模块12与处理器核心11之间的隔离。
本发明实施例中磁盘驱动器3具体可以包括软件部分和硬件部分,软件部分为磁盘驱动程序,硬件部分为硬件磁盘驱动器。其中,磁盘驱动程序可以看作是磁盘控制器的接口,操作系统通过这个接口来控制磁盘控制器工作,换言之,磁盘驱动程序可以看作是磁盘控制器和操作系统之间的桥梁。
磁盘2安装在硬件磁盘驱动器3中,硬件磁盘驱动器3由磁头臂、用于旋转磁盘2的主轴和用于数据输入/输出的电子设备组成。硬件磁盘驱动器又称“磁盘机”,其既能将存储在磁盘2上的数据读进内存中,又能将内存中的数据写到磁盘2上。因此,磁盘驱动器3既是输入设备,又是输出设备。
本发明实施例中的磁盘2是指利用磁记录技术存储数据的存储器。磁盘是由表面涂有磁性物质的金属或塑料构成的圆型盘片(platter),通过一个称为磁头(head)的导体线圈从磁盘中读取数据。在读/写操作期间,磁头固定,磁盘在下面高速旋转。磁盘可以是软磁盘(Floppy Disk,简称软盘),也可以是硬磁盘(Hard disk,简称硬盘),相应的,硬件磁盘驱动器3可以为软盘驱动器,也可以为硬盘驱动器。
CPU中的处理器核心11上可以运行文件系统和应用程序,本发明实施例对应用程序的种类不做限定。其中,文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
处理器核心11上运行的应用程序可以调用文件系统接口向磁盘2中写入数据。文件系统将数据发送给第一处理程序,第一处理程序具体可以为磁盘加解密程序。与现有技术中的磁盘加解密程序不同的是,在本发明实施例中,磁盘加解密程序不再执行对数据进行加密或者解密的步骤,而是在需要对数据进行加密或者解密时,向安全处理模块12发送数据加密请求或者解密请求,并在数据加密或者解密完成之后,直接获取加密数据或者解密数据,因此可以使得安全处理模块12代替磁盘加解密程序执行对数据进行加解密的步骤。
所述安全处理模块12在接收到磁盘加解密程序发送的加密请求之后,可以利用加密密钥对待加密数据进行加密操作,生成加密数据。安全处理模块12可以将加密结果信息,例如加密已完成的通知信息,返回至磁盘加解密程序,以将加密的具体结果信息通知给磁盘加解密程序。在接收到通知信息之后,磁盘加解密程序可以获取加密数据,并将加密数据发送给运行于处理器核心11上的磁盘驱动程序,磁盘驱动程序向磁盘控制器发送相应指令,可以使得磁盘控制器操控硬件磁盘驱动器3向磁盘2中写入加密数据。
本发明实施例提供的计算设备,运行于处理器核心11上的文件系统将待加密数据发送给第一处理程序,第一处理程序向安全处理模块12发送加密请求,安全处理模块12响应于该加密请求,获取密钥以及待加密数据,并采用该密钥对待加密数据进行加密操作,从而获得已加密数据。由于密钥存储于安全处理模块12中,且加密过程也发生在安全处理模块12中,因而密钥只出现在安全处理模块12中,而不会出现在处理器核心11上运行的第一处理程序中,从而可以避免密钥被处理器核心11上运行的程序所窃取。因此本发明实施例可以提高密钥的安全性,进而可以提高磁盘2存储的数据的安全性。
可选的,在本发明的一个实施例中,所述安全处理模块12可以包括安全处理器121和密码运算协处理器122,所述密钥存储在所述安全处理器121中;所述安全处理器121,用于接收所述加密请求,并将所述加密请求及所述密钥发送给所述密码运算协处理器122;所述密码运算协处理器122,用于根据所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述安全处理器121,以使所述安全处理器121将所述加密结果信息返回给所述第一处理程序。
在本发明实施例中,安全处理模块12可以包括安全处理器121和密码运算协处理器122。其中,安全处理器121是CPU中内置的独立运行的处理器,不受外部软件干扰,通常用来处理安全相关功能,且密钥存储在安全处理器121中,因此处理器核心11无法访问该密钥。密码运算协处理器122,可用于实现公钥算法、摘要算法和各种对称算法。密码运算协处理器122可以以独立硬件更高效率地执行密码相关操作,包括数据压缩和解压、以及数据加密和解密处理。
安全处理器121在接收磁盘加解密程序发送的加密请求之后,可以读取密钥,然后将加密请求及密钥一起发送给密码运算协处理器122。密码运算协处理器122在接收到加密请求之后,可以获取待加密数据,然后采用密钥对数据进行加密,以获得加密数据,并将加密结果信息返回给安全处理器121。安全处理器121可以进一步将加密结果信息返回给磁盘加解密程序,从而达到将加密结果通知给磁盘加解密程序的目的,因而可以触发磁盘加解密程序执行后续步骤。
可选的,在本发明的一个实施例中,所述安全处理器121中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;所述安全处理器121,还用于在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器122。
在本发明实施例中,安全处理器121中可以存储有反映系统完整性的可信度量值,该可信度量值既可以为静态可信度量值,也可以为动态可信度量值,还可以同时包含两者,本发明实施例不对度量类型做具体限定,但通常来说,采取度量种类越多,度量越全面,获取的可信度量值越准确。
具体的,可以对系统进行一次性度量,即在某个时机,比如操作系统启动的时刻,对系统进行一次度量(即启动度量),以获得系统的静态可信度量值。类似的,还可以动态度量系统完整性,具体可以在操作系统启动之后的运行阶段,对操作系统的预定部分进行动态度量以获得动态可信度量值。在一个例子中,可以在操作系统的运行过程中,持续不断地对操作系统的关键部分进行扫描度量,以获得动态可信度量值。一般而言,相较于静态可信度量值,动态可信度量值更具有实时性,能够更准确地反映处理器核心11的可信度。
在一个例子中,安全处理器121在接收加密请求后,可以检查静态可信度量值是否与预设的第一基准值相等,若相等,则可以认为系统是可信的,密钥是安全可靠的。因此安全处理器121可以获取密钥,并将加密请求及密钥发送给密码运算协处理器122,以便于密码运算协处理器122利用安全可靠的密钥对数据进行加密。静态可信度量值能反映操作系统启动的时刻的系统的可信度。
在另一个例子中,安全处理器121在接收加密请求后,可以检查动态可信度量值是否与预设的第二基准值相等,若相等,则可以认为系统是可信的,密钥是安全可靠的。因此安全处理器121可以获取密钥,并将加密请求及密钥发送给密码运算协处理器122,以便于密码运算协处理器122利用安全可靠的密钥对数据进行加密。由于动态可信度量值相较于静态可信度量值更具有实时性,能够更好地反映在安全处理器121获取密钥时刻,系统的可信度,因此采用一个动态可信度量值,本例子也能够更好地保证密钥是安全可靠的。同时,由于动态可信度量可以以定时的方式进行,在采用所有动态度量值的情况下,能够反映操作系统在整个运行阶段的可信度,因此还可以进一步更好地保证密钥是安全可靠的。
在又一个例子中,安全处理器121在接收加密请求后,可以检查静态可信度量值是否与第一基准值相等,同时还检查动态可信度量值是否与第二基准值相等。若两者都相等,则可以认为系统是可信的,密钥是安全可靠的。因此安全处理器121可以获取密钥,并将加密请求及密钥发送给密码运算协处理器122,以便于密码运算协处理器122利用安全可靠的密钥对数据进行加密。本例子中的静态可信度量值以及动态可信度量值,能够反映从操作系统启动时刻到安全处理器121获取密钥时刻这一时间段中,系统的可信度,因此,本例子能够保证密钥是安全可靠的。
可选的,在本发明的一个实施例中,所述安全处理器121包括度量模块1211和加解密模块1212;其中,所述度量模块1211,用于对系统完整性信息进行静态度量和/或动态度量,获取系统完整性信息的静态可信度量值和/或动态可信度量值;所述加解密模块1212,用于接收所述加密请求,并在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器122,接收所述密码运算协处理器122返回的加密结果信息,并将所述加密结果信息返回给所述第一处理程序。
在本发明实施例中,如图2所示,安全处理器121具体可以包括度量模块1211和加解密模块1212。度量模块1211可以用于静态度量系统完整性,也可以动态度量系统完整性,还可以同时对系统完整性进行静态度量和动态度量。加解密模块1212的全称为磁盘加解密模块1212(Disk Crypto Module,DCM)。
安全处理器121中的加解密模块1212在接收磁盘加解密程序发送的加密请求后,可以检查度量模块1211中的静态可信度量值和/或动态可信度量值是否等于预期值,若等于,则可以认为系统是可信的,密钥是安全可靠的。因此安全处理器121可以将加密请求及密钥发送给密码运算协处理器122,以便于密码运算协处理器122利用安全可靠的密钥对数据进行加密。
密码运算协处理器122在完成数据加密过程之后,可以进一步将加密结果信息返回给磁盘加解密程序,从而达到将加密结果通知给磁盘加解密程序的目的,因而可以触发磁盘加解密程序执行后续步骤。
可选的,在本发明的一个实施例中,本发明实施例提供的计算设备还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心11和所述安全处理模块12共用的共享内存空间;所述加密请求包括待加密数据所在的源内存地址,和加密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中。
在本发明实施例中,计算设备中还设置有内存,该内存与CPU电连接。同时,还可以在该内存中设置供所述处理器核心11和所述安全处理模块12共用的共享内存空间,以便于两者进行数据交互。磁盘加解密程序发出的加密请求中可以携带待加密数据所在的内存空间的源内存地址,以及加密后数据要存放的内存空间的目的内存地址,且源内存地址和目的内存地址均位于共享内存空间中。
可选的,在本发明的一个实施例中,所述安全处理模块12包括安全处理器121和密码运算协处理器122,所述密钥存储在所述安全处理器121中;所述安全处理器121,用于接收所述加密请求,并将所述加密请求及所述密钥发送给所述密码运算协处理器122;所述密码运算协处理器122,用于根据所述加密请求,从所述源内存地址读取所述数据,使用所述密钥对所述数据进行加密,根据所述目的内存地址,将加密后的数据写入所述共享内存空间中,并将加密结果信息返回给所述安全处理器121,以使所述安全处理器121将所述加密结果信息返回给所述第一处理程序。
在本发明实施例中,安全处理模块12包括安全处理器121和密码运算协处理器122,密钥存储在安全处理器121中,关于安全处理器121以及密码运算协处理器122的相关内容,前文中已经进行了详细介绍,在此不再赘述。
安全处理器121在接收磁盘加解密程序发送的加密请求之后,可以将该加密请求及密钥发送给密码运算协处理器122,密码运算协处理器122可以从加密请求中获取源内存地址,并根据源内存地址进行寻址,并从源内存地址对应的内存空间中读取待加密数据,并采用密钥对待加密数据进行加密。进一步的,密码运算协处理器122还可以将已加密数据写入目的内存地址对应的内存空间中,并将加密结果信息返回给安全处理器121,安全处理器121可以进一步将加密结果信息返回给磁盘加解密程序,从而达到将加密结果通知给磁盘加解密程序的目的,因而可以触发磁盘加解密程序执行后续步骤。
可选的,在本发明的一个实施例中,所述磁盘驱动器3,还用于从所述磁盘2中读取已加密数据,并将所述已加密数据发送给所述第一处理程序,所述第一处理程序向所述安全处理模块12发送对所述已加密数据进行解密的解密请求;所述安全处理模块12,还用于接收所述解密请求,基于所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述第一处理程序,以使所述第一处理程序根据所述解密结果信息获取解密数据,并将所述解密数据发送给文件系统,所述文件系统将接收到的所述解密数据发送给应用程序。
在本发明实施例中,磁盘驱动程序还可以从磁盘2中读取已加密数据,并将已加密数据发送给磁盘加解密程序,磁盘加解密程序向安全处理模块12发送对已加密数据进行解密的解密请求。
安全处理模块12在接收解密请求之后,可以根据解密请求获取已加密数据。然后,安全处理模块12可以获取解密密钥,并利用解密密钥对已加密数据进行解密操作,从而获得解密数据。此后,还可以将解密结果信息(例如解密完成信息)返回给磁盘加解密程序,从而达到将解密结果信息通知给磁盘加解密程序的目的。磁盘加解密程序在获取解密结果信息这一通知信息之后,可以获取解密数据,并将解密数据发送给文件系统,文件系统在接收到的解密数据之后,可以进一步将解密数据发送给应用程序,以上即为读取已加密数据并对其进行解密操作的全过程。
这样一来,由于解密密钥存储于安全处理模块12中,且解密过程也发生在安全处理模块12中,因而解密密钥只出现在安全处理模块12中,而不会出现在处理器核心11上运行的第一处理程序中,从而可以避免密钥被处理器核心11上运行的程序所窃取。因此本发明实施例可以提高密钥的安全性,进而可以提高磁盘2存储的数据的安全性。
可选的,在本发明的一个实施例中,所述安全处理模块12包括安全处理器121和密码运算协处理器122,所述密钥存储在所述安全处理器121中;所述安全处理器121,用于接收所述解密请求,并将所述解密请求及所述密钥发送给所述密码运算协处理器122;所述密码运算协处理器122,用于根据所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述安全处理器121,以使所述安全处理器121将所述解密结果信息返回给所述第一处理程序。
在本发明实施例中,安全处理器121在接收磁盘加解密程序发送的解密请求之后,可以读取密钥,然后将解密请求及密钥一起发送给密码运算协处理器122。密码运算协处理器122在接收到解密请求之后,可以获取已加密数据,然后采用密钥对已加密数据进行解密,以获得解密数据,并将解密结果信息返回给安全处理器121。安全处理器121可以进一步将解密结果信息返回给磁盘加解密程序,从而达到将解密结果通知给磁盘加解密程序的目的,因而可以触发磁盘加解密程序执行后续步骤。
可选的,在本发明的一个实施例中,所述安全处理器121中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;所述安全处理器121,还用于在接收所述解密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述解密请求及所述密钥发送给所述密码运算协处理器122。
在本发明实施例中,安全处理器121中可以存储有反映系统完整性的可信度量值,关于可信度量值中包括的静态可信度量值和/或动态可信度量值的相关内容,前文中已经进行了详细介绍,在此不再赘述。
在一个例子中,安全处理器121在接收解密请求后,可以检查静态可信度量值是否与预设的第一基准值相等,若相等,则可以认为系统是可信的,密钥是安全可靠的。因此安全处理器121可以获取密钥,并将解密请求及密钥发送给密码运算协处理器122,以便于密码运算协处理器122利用安全可靠的密钥对数据进行解密。静态可信度量值能反映操作系统启动的时刻的系统的可信度。
更具体的,安全处理器121可以包括度量模块1211和加解密模块1212,度量模块1211可以用于静态度量系统完整性。安全处理器121中的加解密模块1212在接收磁盘加解密程序发送的解密请求后,可以检查度量模块1211中的静态可信度量值是否等于预设的第一基准值,若等于,则可以认为系统是可信的,密钥是安全可靠的。因此加解密模块1212可以将解密请求及密钥发送给密码运算协处理器122,以便于密码运算协处理器122利用安全可靠的密钥对加密数据进行解密。
在另一个例子中,安全处理器121在接收解密请求后,可以检查动态可信度量值是否与预设的第二基准值相等,若相等,则可以认为系统是可信的,密5钥是安全可靠的。因此安全处理器121可以获取密钥,并将解密请求及密钥发送给密码运算协处理器122,以便于密码运算协处理器122利用安全可靠的密钥对数据进行解密。由于动态可信度量值相较于静态可信度量值更具有实时性,能够更好地反映在安全处理器121获取密钥时刻,系统的可信度,因此即使采
用一个动态可信度量值,本例子也能够更好地保证密钥是安全可靠的。同时,0由于动态可信度量可以以定时的方式进行,在采用所有动态度量值的情况下,
能够反映操作系统在整个运行阶段的可信度,因此还可以进一步更好地保证密钥是安全可靠的。
更具体的,安全处理器121可以包括度量模块1211和加解密模块1212,度量模块1211可以用于动态度量系统完整性。安全处理器121中的加解密模块5 1212在接收磁盘加解密程序发送的解密请求后,可以检查度量模块1211中的动态可信度量值是否等于预设的第二基准值,若等于,则可以认为系统是可信的,密钥是安全可靠的。因此加解密模块1212可以将解密请求及密钥发送给密码运算协处理器122,以便于密码运算协处理器122利用安全可靠的密钥对加密数据进行解密。
0在又一个例子中,安全处理器121在接收解密请求后,可以检查静态可信度量值是否与第一基准值相等,同时还检查动态可信度量值是否与第二基准值相等。若两者都相等,则可以认为系统是可信的,密钥是安全可靠的。因此安全处理器121可以获取密钥,并将解密请求及密钥发送给密码运算协处理器122,
以便于密码运算协处理器122利用安全可靠的密钥对数据进行解密。在本例子5中,通过静态可信度量值以及动态可信度量值,能够反映从操作系统启动时刻到安全处理器121获取密钥时刻这一时间段中,系统的可信度,因此,本例子能够保证密钥是安全可靠的。
具体的,安全处理器121可以包括度量模块1211和加解密模块1212,度量模块1211可以用于静态度量系统完整性以及动态度量系统完整性。安全处理器121中的加解密模块1212在接收磁盘加解密程序发送的解密请求后,可以检查度量模块1211中的静态可信度量值是否与预设的第一基准值相等,并同时检查度量模块1211中的动态可信度量值是否与预设的第二基准值相等。若两者都相等,则可以认为系统是可信的,密钥是安全可靠的。因此加解密模块1212可以将解密请求及密钥发送给密码运算协处理器122,以便于密码运算协处理器122利用安全可靠的密钥对加密数据进行解密。
可选的,在本发明的一个实施例中,本发明实施例提供的计算设备还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心11和所述安全处理模块12共用的共享内存空间;所述解密请求包括待解密数据所在的源内存地址,和解密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中。
在本发明实施例中,计算设备中还设置有内存,该内存与CPU电连接。同时,还可以在该内存中设置供所述处理器核心11和所述安全处理模块12共用的共享内存空间,以便于两者进行数据交互。磁盘加解密程序发出的解密请求中可以携带待解密数据所在的内存空间的源内存地址,以及解密后数据要存放的内存空间的目的内存地址,且源内存地址和目的内存地址均位于共享内存空间中。
可选的,在本发明的一个实施例中,所述安全处理模块12包括安全处理器121和密码运算协处理器122,所述密钥存储在所述安全处理器121中;所述安全处理器121,用于接收所述解密请求,并将所述解密请求及所述密钥发送给所述密码运算协处理器122;所述密码运算协处理器122,用于根据所述解密请求,从所述源内存地址读取所述已加密数据,使用所述密钥对所述已加密数据进行解密,根据所述目的内存地址,将解密后的数据写入所述共享内存空间中,并将解密结果信息返回给所述安全处理器121,以使所述安全处理器121将所述解密结果信息返回给所述第一处理程序。
在本发明实施例中,安全处理模块12包括安全处理器121和密码运算协处理器122,密钥存储在安全处理器121中,关于安全处理器121以及密码运算协处理器122,前面的内容已经进行了详细介绍,在此不再赘述。
安全处理器121在接收磁盘加解密程序发送的解密请求之后,可以将该解密请求及密钥发送给密码运算协处理器122,密码运算协处理器122可以从解密请求中获取源内存地址,并根据源内存地址进行寻址,并从源内存地址对应的内存空间中读取待解密数据,并采用密钥对待解密数据进行解密。进一步的,密码运算协处理器122可以将解密后的数据写入目的内存地址对应的内存空间中,并将解密结果信息返回给安全处理器121,安全处理器121可以进一步将解密结果信息返回给磁盘加解密程序,从而达到将解密结果通知给磁盘加解密程序的目的,因而可以触发磁盘加解密程序执行后续步骤。
第二方面,本发明的实施例提供一种数据加密方法,该方法应用于计算设备,所述计算设备包括:CPU、磁盘和磁盘驱动器,所述磁盘驱动器与所述CPU相连,所述磁盘与所述磁盘驱动器相连;其中,所述CPU包括处理器核心和安全处理模块;所述安全处理模块中存储有密钥。如图3所示,该数据加密方法可以包括:
S11,应用程序调用文件系统接口向磁盘中写入数据;
S12,所述文件系统将所述数据发送给第一处理程序,所述第一处理程序向所述安全处理模块发送对所述数据进行加密的加密请求;其中,所述应用程序、文件系统和所述第一处理程序运行在所述处理器核心上;
S13,所述安全处理模块接收所述加密请求,基于所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述第一处理程序,所述第一处理程序将加密后的数据发送给所述磁盘驱动器;
S14,所述磁盘驱动器将加密后的数据写入所述磁盘。
在本发明实施例中,运行于处理器核心上的文件系统将待加密数据发送给第一处理程序,第一处理程序向安全处理模块发送加密请求,安全处理模块响应于该加密请求,获取密钥以及待加密数据,并采用该密钥对待加密数据进行加密操作,从而获得已加密数据。由于密钥存储于安全处理模块中,且加密过程也发生在安全处理模块中,因而密钥只出现在安全处理模块中,而不会出现在处理器核心上运行的第一处理程序中,从而可以避免密钥被处理器核心上运行的程序所窃取。因此本发明实施例可以提高密钥的安全性,进而可以提高磁盘存储的数据的安全性。
可选的,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;其中,所述安全处理模块接收所述加密请求,基于所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述第一处理程序(步骤S13)可以包括:所述安全处理器接收所述加密请求,并将所述加密请求及所述密钥发送给所述密码运算协处理器;所述密码运算协处理器,根据所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述安全处理器,以使所述安全处理器将所述加密结果信息返回给所述第一处理程序。
可选的,在本发明的一个实施例中,所述安全处理器中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;所述安全处理器将所述加密请求及所述密钥发送给所述密码运算协处理器之前,所述方法还可以包括:所述安全处理器在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器。
可选的,在本发明的一个实施例中,所述安全处理器包括度量模块和加解密模块;所述度量模块,用于对系统完整性信息进行静态度量和/或动态度量,获取系统完整性信息的静态可信度量值和/或动态可信度量值;其中,
所述安全处理器在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器,包括:
所述加解密模块在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器。
可选的,所述计算设备还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心和所述安全处理模块共用的共享内存空间;
所述加密请求包括待加密数据所在的源内存地址,和加密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中;
其中,所述密码运算协处理器,根据所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述安全处理器,包括:
所述密码运算协处理器,用于根据所述加密请求,从所述源内存地址读取所述数据,使用所述密钥对所述数据进行加密,根据所述目的内存地址,将加密后的数据写入所述共享内存空间中,并将加密结果信息返回给所述安全处理器,以使所述安全处理器将所述加密结果信息返回给所述第一处理程序。
第三方面,本发明的实施例提供一种数据解密方法,该方法应用于计算设备,所述计算设备包括:CPU、磁盘和磁盘驱动器,所述磁盘驱动器与所述CPU相连,所述磁盘与所述磁盘驱动器相连;其中,所述CPU包括处理器核心和安全处理模块;所述安全处理模块中存储有密钥。如图4所示,该数据解密方法可以包括:
S21,所述磁盘驱动器从所述磁盘中读取已加密数据,并将所述已加密数据发送给第一处理程序,所述第一处理程序向所述安全处理模块发送对所述已加密数据进行解密的解密请求;
S22,所述安全处理模块接收所述解密请求,基于所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述第一处理程序,以使所述第一处理程序根据所述解密结果信息获取解密数据,并将所述解密数据发送给文件系统,所述文件系统将接收到的所述解密数据发送给应用程序;其中,所述应用程序、文件系统和所述第一处理程序运行在所述处理器核心上。
在本发明实施例中,安全处理模块在接收解密请求之后,可以根据解密请求获取已加密数据。然后,安全处理模块可以获取解密密钥,并利用解密密钥对已加密数据进行解密操作,从而获得解密数据。此后,还可以将解密结果信息(例如解密完成信息)返回给磁盘加解密程序,从而达到将解密结果信息通知给磁盘加解密程序的目的。磁盘加解密程序在获取解密结果信息这一通知信息之后,可以获取解密数据,并将解密数据发送给文件系统,文件系统在接收到的解密数据之后,可以进一步将解密数据发送给应用程序,以上即为读取已加密数据并对其进行解密操作的全过程。
这样一来,由于解密密钥存储于安全处理模块中,且解密过程也发生在安全处理模块中,因而解密密钥只出现在安全处理模块中,而不会出现在处理器核心上运行的第一处理程序中,从而可以避免密钥被处理器核心上运行的程序所窃取。因此本发明实施例可以提高密钥的安全性,进而可以提高磁盘存储的数据的安全性。
可选的,在本发明的一个实施例中,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;
其中,所述安全处理模块接收所述解密请求,基于所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述第一处理程序,可以包括:所述安全处理器接收所述解密请求,并将所述解密请求及所述密钥发送给所述密码运算协处理器;所述密码运算协处理器,根据所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述安全处理器;所述安全处理器将所述解密结果信息返回给所述第一处理程序。
可选的,在本发明的一个实施例中,所述安全处理器中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;
其中,在所述安全处理器将所述解密请求及所述密钥发送给所述密码运算协处理器之前,所述数据解密方法还可以包括:所述安全处理器在接收所述解密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述解密请求及所述密钥发送给所述密码运算协处理器。
可选的,在本发明的一个实施例中,所述安全处理器包括度量模块和加解密模块;其中,所述度量模块,用于对系统完整性信息进行静态度量和/或动态度量,获取系统完整性信息的静态可信度量值和/或动态可信度量值;
所述加解密模块,用于接收所述解密请求,并在接收所述解密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述解密请求及所述密钥发送给所述密码运算协处理器,接收所述密码运算协处理器返回的解密结果信息,并将所述解密结果信息返回给所述第一处理程序。
可选的,在本发明的一个实施例中,所述计算设备还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心和所述安全处理模块共用的共享内存空间;所述解密请求包括待解密数据所在的源内存地址,和解密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中;
其中,所述密码运算协处理器,根据所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述安全处理器,可以包括:所述密码运算协处理器,用于根据所述解密请求,从所述源内存地址读取所述已加密数据,使用所述密钥对所述已加密数据进行解密,根据所述目的内存地址,将解密后的数据写入所述共享内存空间中,并将解密结果信息返回给所述安全处理器。
第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令可使所述计算机执行前述实施例提供的任一种的数据加密方法或者数据解密方法。计算机对上述步骤的具体执行过程以及计算机通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于加密方法实施例以及解密方法实施例而言,由于其基本相似于前述计算设备实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (21)

1.一种计算设备,其特征在于,包括:CPU、磁盘和磁盘驱动器,所述磁盘驱动器与所述CPU相连,所述磁盘与所述磁盘驱动器相连;其中,所述CPU包括处理器核心和安全处理模块;所述安全处理模块中存储有密钥;
所述处理器核心,用于运行文件系统和应用程序,所述应用程序调用文件系统接口写入数据,所述文件系统将所述数据发送给第一处理程序,所述第一处理程序向所述安全处理模块发送对所述数据进行加密的加密请求;
所述安全处理模块,用于接收所述加密请求,基于所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述第一处理程序,所述第一处理程序将加密后的数据发送给所述磁盘驱动器;所述磁盘驱动器,用于将加密后的数据写入所述磁盘。
2.根据权利要求1所述的计算设备,其特征在于,
所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;
所述安全处理器,用于接收所述加密请求,并将所述加密请求及所述密钥发送给所述密码运算协处理器;
所述密码运算协处理器,用于根据所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述安全处理器,以使所述安全处理器将所述加密结果信息返回给所述第一处理程序。
3.根据权利要求2所述的计算设备,其特征在于,
所述安全处理器中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;
所述安全处理器,还用于在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器。
4.根据权利要求3所述的计算设备,其特征在于,
所述安全处理器包括度量模块和加解密模块;其中,
所述度量模块,用于对系统完整性信息进行静态度量和/或动态度量,获取系统完整性信息的静态可信度量值和/或动态可信度量值;
所述加解密模块,用于接收所述加密请求,并在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器,接收所述密码运算协处理器返回的加密结果信息,并将所述加密结果信息返回给所述第一处理程序。
5.根据权利要求1所述的计算设备,其特征在于,还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心和所述安全处理模块共用的共享内存空间;
所述加密请求包括待加密数据所在的源内存地址,和加密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中。
6.根据权利要求5所述的计算设备,其特征在于,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;
所述安全处理器,用于接收所述加密请求,并将所述加密请求及所述密钥发送给所述密码运算协处理器;
所述密码运算协处理器,用于根据所述加密请求,从所述源内存地址读取所述数据,使用所述密钥对所述数据进行加密,根据所述目的内存地址,将加密后的数据写入所述共享内存空间中,并将加密结果信息返回给所述安全处理器,以使所述安全处理器将所述加密结果信息返回给所述第一处理程序。
7.根据权利要求1所述的计算设备,其特征在于,
所述磁盘驱动器,还用于从所述磁盘中读取已加密数据,并将所述已加密数据发送给所述第一处理程序,所述第一处理程序向所述安全处理模块发送对所述已加密数据进行解密的解密请求;
所述安全处理模块,还用于接收所述解密请求,基于所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述第一处理程序,以使所述第一处理程序根据所述解密结果信息获取解密数据,并将所述解密数据发送给文件系统,所述文件系统将接收到的所述解密数据发送给应用程序。
8.根据权利要求7所述的计算设备,其特征在于,
所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;
所述安全处理器,用于接收所述解密请求,并将所述解密请求及所述密钥发送给所述密码运算协处理器;
所述密码运算协处理器,用于根据所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述安全处理器,以使所述安全处理器将所述解密结果信息返回给所述第一处理程序。
9.根据权利要求8所述的计算设备,其特征在于,
所述安全处理器中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;
所述安全处理器,还用于在接收所述解密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述解密请求及所述密钥发送给所述密码运算协处理器。
10.根据权利要求7所述的计算设备,其特征在于,还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心和所述安全处理模块共用的共享内存空间;
所述解密请求包括待解密数据所在的源内存地址,和解密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中。
11.根据权利要求10所述的计算设备,其特征在于,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;
所述安全处理器,用于接收所述解密请求,并将所述解密请求及所述密钥发送给所述密码运算协处理器;
所述密码运算协处理器,用于根据所述解密请求,从所述源内存地址读取所述已加密数据,使用所述密钥对所述已加密数据进行解密,根据所述目的内存地址,将解密后的数据写入所述共享内存空间中,并将解密结果信息返回给所述安全处理器,以使所述安全处理器将所述解密结果信息返回给所述第一处理程序。
12.一种数据加密方法,其特征在于,应用于计算设备,所述计算设备包括:CPU、磁盘和磁盘驱动器,所述磁盘驱动器与所述CPU相连,所述磁盘与所述磁盘驱动器相连;其中,所述CPU包括处理器核心和安全处理模块;所述安全处理模块中存储有密钥;
所述数据加密方法,包括:
应用程序调用文件系统接口向磁盘中写入数据;
所述文件系统将所述数据发送给第一处理程序,所述第一处理程序向所述安全处理模块发送对所述数据进行加密的加密请求;其中,所述应用程序、文件系统和所述第一处理程序运行在所述处理器核心上;
所述安全处理模块接收所述加密请求,基于所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述第一处理程序,所述第一处理程序将加密后的数据发送给所述磁盘驱动器;
所述磁盘驱动器将加密后的数据写入所述磁盘。
13.根据权利要求12所述的数据加密方法,其特征在于,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;
其中,所述安全处理模块接收所述加密请求,基于所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述第一处理程序,包括:
所述安全处理器接收所述加密请求,并将所述加密请求及所述密钥发送给所述密码运算协处理器;
所述密码运算协处理器,根据所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述安全处理器,以使所述安全处理器将所述加密结果信息返回给所述第一处理程序。
14.根据权利要求13所述的数据加密方法,其特征在于,所述安全处理器中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;
所述安全处理器将所述加密请求及所述密钥发送给所述密码运算协处理器之前,所述方法还包括:
所述安全处理器在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器。
15.根据权利要求14所述的数据加密方法,其特征在于,所述安全处理器包括度量模块和加解密模块;所述度量模块,用于对系统完整性信息进行静态度量和/或动态度量,获取系统完整性信息的静态可信度量值和/或动态可信度量值;
其中,所述安全处理器在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器,包括:
所述加解密模块在接收所述加密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述加密请求及所述密钥发送给所述密码运算协处理器。
16.根据权利要求12所述的数据加密方法,其特征在于,所述计算设备还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心和所述安全处理模块共用的共享内存空间;
所述加密请求包括待加密数据所在的源内存地址,和加密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中;
其中,所述密码运算协处理器,根据所述加密请求及所述密钥对所述数据进行加密,并将加密结果信息返回给所述安全处理器,包括:
所述密码运算协处理器,用于根据所述加密请求,从所述源内存地址读取所述数据,使用所述密钥对所述数据进行加密,根据所述目的内存地址,将加密后的数据写入所述共享内存空间中,并将加密结果信息返回给所述安全处理器,以使所述安全处理器将所述加密结果信息返回给所述第一处理程序。
17.一种数据解密方法,其特征在于,应用于计算设备,所述计算设备包括:CPU、磁盘和磁盘驱动器,所述磁盘驱动器与所述CPU相连,所述磁盘与所述磁盘驱动器相连;其中,所述CPU包括处理器核心和安全处理模块;所述安全处理模块中存储有密钥;
所述数据解密方法,包括:
所述磁盘驱动器从所述磁盘中读取已加密数据,并将所述已加密数据发送给第一处理程序,所述第一处理程序向所述安全处理模块发送对所述已加密数据进行解密的解密请求;
所述安全处理模块接收所述解密请求,基于所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述第一处理程序,以使所述第一处理程序根据所述解密结果信息获取解密数据,并将所述解密数据发送给文件系统,所述文件系统将接收到的所述解密数据发送给应用程序;其中,所述应用程序、文件系统和所述第一处理程序运行在所述处理器核心上。
18.根据权利要求17所述的数据解密方法,其特征在于,所述安全处理模块包括安全处理器和密码运算协处理器,所述密钥存储在所述安全处理器中;
其中,所述安全处理模块接收所述解密请求,基于所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述第一处理程序,包括:
所述安全处理器接收所述解密请求,并将所述解密请求及所述密钥发送给所述密码运算协处理器;
所述密码运算协处理器,根据所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述安全处理器;
所述安全处理器将所述解密结果信息返回给所述第一处理程序。
19.根据权利要求18所述的数据解密方法,其特征在于,所述安全处理器中记录有系统完整性信息的静态可信度量值和/或动态可信度量值;
其中,在所述安全处理器将所述解密请求及所述密钥发送给所述密码运算协处理器之前,所述数据解密方法还包括:
所述安全处理器在接收所述解密请求后,检查所述静态可信度量值和/或动态可信度量值是否为预期值,若是,则将所述解密请求及所述密钥发送给所述密码运算协处理器。
20.根据权利要求18所述的数据解密方法,其特征在于,所述计算设备还包括与所述CPU相连的内存,所述内存中具有供所述处理器核心和所述安全处理模块共用的共享内存空间;所述解密请求包括待解密数据所在的源内存地址,和解密后数据要存放的目的内存地址;所述源内存地址和目的内存地址位于所述共享内存空间中;
其中,所述密码运算协处理器,根据所述解密请求及所述密钥对所述已加密数据进行解密,并将解密结果信息返回给所述安全处理器,包括:
所述密码运算协处理器,用于根据所述解密请求,从所述源内存地址读取所述已加密数据,使用所述密钥对所述已加密数据进行解密,根据所述目的内存地址,将解密后的数据写入所述共享内存空间中,并将解密结果信息返回给所述安全处理器。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求12至16任一项所述的数据加密方法或者权利要求17至20任一项所述的数据解密方法。
CN202211697707.3A 2022-12-28 2022-12-28 一种计算设备、数据加密方法、数据解密方法及存储介质 Pending CN115935396A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211697707.3A CN115935396A (zh) 2022-12-28 2022-12-28 一种计算设备、数据加密方法、数据解密方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211697707.3A CN115935396A (zh) 2022-12-28 2022-12-28 一种计算设备、数据加密方法、数据解密方法及存储介质

Publications (1)

Publication Number Publication Date
CN115935396A true CN115935396A (zh) 2023-04-07

Family

ID=86648868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211697707.3A Pending CN115935396A (zh) 2022-12-28 2022-12-28 一种计算设备、数据加密方法、数据解密方法及存储介质

Country Status (1)

Country Link
CN (1) CN115935396A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383858A (zh) * 2023-06-05 2023-07-04 中电科网络安全科技股份有限公司 一种磁盘数据处理方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383858A (zh) * 2023-06-05 2023-07-04 中电科网络安全科技股份有限公司 一种磁盘数据处理方法、装置、设备及介质
CN116383858B (zh) * 2023-06-05 2023-10-20 中电科网络安全科技股份有限公司 一种磁盘数据处理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US9740639B2 (en) Map-based rapid data encryption policy compliance
EP2751735B1 (en) Encrypted chunk-based rapid data encryption policy compliance
KR100737628B1 (ko) 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션
US20220006617A1 (en) Method and apparatus for data storage and verification
KR100611687B1 (ko) 멀티-토큰 실 및 실 해제
US7921293B2 (en) Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
KR101402542B1 (ko) 지속형 보안 시스템 및 지속형 보안 방법
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
US11194486B2 (en) Storage data sanitization
CN107707981B (zh) 一种基于Trustzone技术的微码签名安全管理系统及方法
CN115935396A (zh) 一种计算设备、数据加密方法、数据解密方法及存储介质
JP2004070674A (ja) 電子データ交換システムにおけるデータ保護装置及びデータ保護方法並びにそれに用いるプログラム
CN114491607A (zh) 云平台数据处理方法、装置、计算机设备及存储介质
CN110232261B (zh) 包文件的操作方法、文件处理设备及具有存储功能的设备
CN114006695B (zh) 硬盘数据保护方法、装置、可信平台芯片及电子设备
CN110990120B (zh) 虚拟机监视器分区间通信方法及装置、存储介质和终端
CN114239091B (zh) 基于可信芯片的磁盘加密方法及系统
CN113343265B (zh) 一种密钥配置方法、装置和相关设备
CN113420340A (zh) 信息记录装置、计算机设备及信息记录方法
Angelakis Application development in the trusted execution environment
CN117556418A (zh) 一种确定内核状态的方法和相关设备
CN114756831A (zh) 远程激活授权系统、远程激活授权方法
CN113535278A (zh) 动态库调用方法、装置、电子设备及存储介质
CN115913766A (zh) 服务器加密方法、服务器解密方法、装置以及服务器
CN116303470A (zh) 一种记录方法及终端、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination