CN117910057A - 可信执行环境的运行方法、计算机架构系统、加密硬盘 - Google Patents
可信执行环境的运行方法、计算机架构系统、加密硬盘 Download PDFInfo
- Publication number
- CN117910057A CN117910057A CN202410104095.5A CN202410104095A CN117910057A CN 117910057 A CN117910057 A CN 117910057A CN 202410104095 A CN202410104095 A CN 202410104095A CN 117910057 A CN117910057 A CN 117910057A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- execution environment
- trusted
- encrypted hard
- trusted execution
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012795 verification Methods 0.000 claims abstract description 59
- 238000004590 computer program Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 11
- 230000003993 interaction Effects 0.000 abstract description 17
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000013507 mapping Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000011017 operating method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000013175 transesophageal echocardiography Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请涉及一种可信执行环境的运行方法、计算机架构系统、加密硬盘、装置、计算机设备、计算机可读存储介质、计算机程序产品。该方法包括:验证加密硬盘是否具有可信硬件环境,其中,加密硬盘内设置有可信执行环境的镜像文件;在确定加密硬盘具有可信硬件环境的情况下,运行加密硬盘的可信执行环境的镜像文件,以运行可信执行环境。使用加密硬盘即可实现可信执行环境的运行,提高了数据交互的安全性以及可信验证的便捷性。
Description
技术领域
本申请涉及计算机设备技术领域,特别是涉及一种可信执行环境的运行方法、计算机架构系统、加密硬盘、装置、计算机设备、计算机可读存储介质、计算机程序产品。
背景技术
随着计算机技术和云计算技术的发展,企业或个人用户产生的数据量呈爆炸式增长,算力需求也随之增加。企业或个人用户将产生的数据交由云服务平台进行存储、计算等处理,人们数据的安全问题越来越引起重视,安全性也是云平台的一项重要性能指标。因此,如何提高数据交互过程中的安全性,是目前需要解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据交互的安全性的可信执行环境的运行方法、计算机架构系统、加密硬盘、装置、计算机设备、计算机可读存储介质、计算机程序产品。
第一方面,本申请提供了一种可信执行环境的运行方法,包括:
验证加密硬盘是否具有可信硬件环境,其中,所述加密硬盘内设置有可信执行环境的镜像文件;
在确定所述加密硬盘具有可信硬件环境的情况下,运行所述加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境。
在其中一个实施例中,所述运行所述加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境,包括:通过预设的固件驱动程序启动所述加密硬盘,以使所述加密硬盘运行所述可信执行环境的镜像文件。
在其中一个实施例中,所述加密硬盘内设置有加密程序;所述验证加密硬盘是否具有可信硬件环境,包括:获取所述加密硬盘内设置的加密程序;根据所述加密程序,生成请求验证信息;向对应的可信方发送所述请求验证信息并获取可信方根据请求验证信息返回的检验结果,根据所述检验结果确定所述加密硬盘是否具有可信硬件环境。
在其中一个实施例中,所述加密硬盘内设置有加密硬件;所述验证加密硬盘是否具有可信硬件环境,包括:
获取所述加密硬盘内的加密硬件生成的随机码;
对所述随机码进行校验,并根据校验结果确定所述加密硬盘是否具有可信硬件环境。
在其中一个实施例中,所述可信执行环境的运行方法还包括:
在运行所述加密硬盘的可信执行环境的情况下,在所述可信执行环境中读取所述加密硬盘存储的数据密文;
对所述数据密文进行解密处理,得到所述加密硬盘内存储的数据。
在其中一个实施例中,所述可信执行环境的运行方法还包括:
对待存储数据进行加密处理,得到数据密文;
在运行所述加密硬盘的可信执行环境的情况下,在所述可信执行环境中,将所述数据密文存储至所述加密硬盘内。
第二方面,本申请提供了一种计算机架构系统,包括:
应用层,包括普通执行环境和可信执行环境;
固件层,包括加密硬盘,所述加密硬盘内设置有可信执行环境的镜像文件;其中,在确定所述加密硬盘具有可信硬件环境的情况下,运行所述加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境;
虚拟化接口层,分别与所述应用层和所述固件层连接,用于实现所述固件层和所述应用层之间的数据交换;其中,所述应用层的普通执行环境的数据和所述应用层的可信执行环境的数据经过所述加密硬盘进行互相传输。
第三方面,本申请提供了一种加密硬盘,所述加密硬盘内设置有可信执行环境的镜像文件;其中,在确定所述加密硬盘具有可信硬件环境的情况下,运行所述加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境。
第四方面,本申请提供了一种可信执行环境的运行装置,包括:
验证模块,用于验证加密硬盘是否具有可信硬件环境,其中,所述加密硬盘内设置有可信执行环境的镜像文件;
启动模块,用于在确定所述加密硬盘具有可信硬件环境的情况下,运行所述加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境。
第五方面,本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前述的可信执行环境的运行方法。
第六方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述的可信执行环境的运行方法。
第七方面,本申请提供了一种计算机程序产品,所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述的可信执行环境的运行方法。
上述可信执行环境的运行方法、计算机架构系统、加密硬盘、装置、计算机设备、计算机可读存储介质、计算机程序产品,该方法首先验证加密硬盘是否具有可信硬件环境,从而确认加密硬盘的硬件环境是否为可信安全的,提高了数据交互的安全性,而加密硬盘内设置有可信执行环境的镜像文件,从而在进行云计算等数据交互的情况下,无需验证整个远程环境是否可信,只需要验证加密硬盘是否可信即可,大大提高了数据交互的安全性以及可信验证的便捷性。然后在确定加密硬盘具有可信硬件环境的情况下,运行所述加密硬盘的可信执行环境的镜像文件,以运行可信执行环境,从而使用加密硬盘即可实现可信执行环境的运行,提高了数据交互的安全性以及可信验证的便捷性。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中可信执行环境的运行方法的流程示意图;
图2为一个实施例中验证加密硬盘的方法的流程示意图;
图3为另一个实施例中验证加密硬盘的方法的流程示意图;
图4为一个实施例中读取数据的方法的流程示意图;
图5为一个实施例中存储数据的方法的流程示意图;
图6为一个实施例中数据加密的示意图;
图7为一个实施例中计算机架构系统的结构示意图;
图8为另一个实施例中计算机架构系统的结构示意图;
图9为一个实施例中可信执行环境的运行装置的结构示意图;
图10为一个实施例中计算机设备的内部结构图。
附图标记说明:
10-应用层,20-固件层,30-虚拟化接口层,40-处理器。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本申请的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
需要说明的是,当一个元件被认为是“连接”另一个元件时,它可以是直接连接到另一个元件,或者通过居中元件连接另一个元件。此外,以下实施例中的“连接”,如果被连接的对象之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。
在一个实施例中,如图1所示,提供了一种可信执行环境的运行方法,该方法包括:步骤S100-S110。
步骤S100,验证加密硬盘是否具有可信硬件环境。
可选地,可以通过远程证明或者加密验证的方式,确定加密硬盘是否具有可信硬件环境。远程证明(Remote Attestation,简称RA)也可称为远程认证、远程验证。验证者发起请求验证远程应用正确运行在安全平台上,证明者生成证明报告并发送给验证者校验。还可以采用本地证明的方式,本地证明(Local Attestation,简称LA)也可称为本地认证、本地验证。证明者向验证者证明运行在和验证者相同的安全平台,如两个可信执行环境认证对方运行在同一个核心处理器(Central Processing Unit,简称CPU)上。加密验证的方式,例如预先将一把对称密钥烧入加密硬盘的可编程硬件中,比特流(Bitstream)通过该密钥加密后可以直接写入可编程硬件。可编程硬件内部会利用密钥对密文Bitstream解密后加载入可编程硬件,密钥以及解密过程对外透明不可干预。可编程硬件(Deoxyribonucleicacid,简称DNA),也可称为可编程硬件标识(IdentityDocument,简称ID):用于可编程硬件身份识别,具有唯一性,由可编程硬件服务端(如可编程硬件厂商)在出厂前写入硬盘中,用户不可修改。实际应用中,可编程硬件在出厂前,可编程硬件服务端会为每一块可编程硬件生成一个硬件密钥,该硬件密钥为对称密钥。并将硬件密钥植入可编程硬件中,同时由可编程硬件服务端维护硬件标识和硬件密钥的映射表。因此,硬件可信执行环境根据硬件标识获取硬件密钥时,可以将硬件标识发送至可编程硬件服务端,由可编程硬件服务端在映射表中查找硬件标识对应的硬件密钥。
硬件可信执行环境根据硬件标识获取硬件密钥,进一步使得硬件可信执行环境可以根据硬件密钥对硬件可信管理逻辑加密,防止硬件可信管理逻辑被攻击和篡改,保证硬件可信管理逻辑的安全性。实际应用中,获取可编程硬件对应的硬件密钥的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不作任何限定。可以根据硬件标识从主机中读取预先存储的硬件密钥。可以将硬件标识发送至可编程硬件服务端,由可编程硬件服务端在映射表中查找硬件标识对应的硬件密钥。将可编程硬件的硬件标识发送至可编程硬件端,使可编程硬件端对硬件可信执行环境进行远程认证,在远程认证成功的情况下,从可编程硬件端获取硬件密钥,其中,硬件密钥为可编程硬件端根据硬件标识在预设映射表中查询获得,预设映射表包括硬件标识和硬件密钥的对应关系。
示例性地,假设预设映射表中包括映射标识001、002、003,映射标识001对应的硬件密钥为111,映射标识002对应的硬件密钥为222,映射标识003对应的硬件密钥为333。可编程硬件端获取硬件标识002之后,在预设映射表中查询硬件标识002对应的硬件密钥为222,并将硬件密钥222发送至硬件可信执行环境。
可选地,将可编程硬件的硬件标识发送至可编程硬件端,使可编程硬件端对硬件可信执行环境进行远程认证;在远程认证成功的情况下,从可编程硬件端获取硬件密钥,其中,硬件密钥为可编程硬件端根据硬件标识在预设映射表中查询获得,预设映射表包括硬件标识和硬件密钥的对应关系。通过对硬件可信执行环境进行远程认证,保证硬件密钥的安全性,进一步保证加密的硬件可信管理逻辑的安全性。在远程认证成功的情况下,硬件可信执行环境与硬件可信管理单元可以通过安全信道协商对称密钥(key attest),硬件可信管理单元可以利用对称密钥对其生成的硬件执行报告加密,硬件可信执行环境可以利用对称密钥对加密的硬件执行报告进行解密,使得硬件执行报告仅对硬件可信管理单元和硬件可信执行环境可见,保证硬件执行报告的安全性。
其中,加密硬盘内设置有可信执行环境的镜像文件。可信执行环境(TrustedExecutionEnvironment,简称TEE)用来进行数字版权管理、移动支付和敏感数据保护。TEE是与设备上运行Android,Linux等操作系统(OperationSystem,简称OS)的通用执行环境(RichExecutionEnvironment,简称REE)并存的,并且为REE提供安全服务。能够提高移动设备的安全性。可信执行环境是设备内的一个安全区域,可确保TEE中代码和数据的机密性和完整性,运行于一个独立的环境中且与操作系统并行运行。由于TEE同时使用硬件和软件来保护数据和代码,因此TEE比操作系统更加安全,进而使得受信任应用程序在TEE中可以访问设备主处理器和内存的全部功能。
ARM TrustZone技术作为TEE的一种具体方案,将系统隔离为两个世界。它将TEE和REE分别称为安全世界(Secure World)和普通世界(Normal World)。对于安全性要求较高的操作,如指纹对比,私钥签名等,需要在安全世界完成。可信应用(Trusted Application,简称TA)是运行在安全世界中的应用。在TrustZone中,安全世界的软硬件资源是与普通世界隔离的,并且安全世界可以访问两个世界的资源,而普通世界只能访问自己的资源。
示例性地,在加密硬盘内制作可信执行环境的镜像文件,镜像文件的制作方法为本领域技术人员所熟知的技术。还可以为镜像文件添加数字签名,数字签名可以是依据某种摘要算法生成的镜像文件的一组摘要信息(特征信息),或者是对该摘要信息进行加密后得到的电子签名。
其中,可信执行环境TEE中设置了可信根/信任根(RootofTrust,简称RoT),可信根是指一种专用安全硬件、固件或软件组件,基于可信根可以实现特定安全功能。为可信根定义了一组接口(指定存储区域),加密硬盘的固件相应的启动程序和驱动预先进行了设置,从而该加密硬盘内的存储区域只会被分配给TEE使用,全部作为TEE的存储区域。
步骤S110,在确定加密硬盘具有可信硬件环境的情况下,运行加密硬盘的可信执行环境的镜像文件,以运行可信执行环境。
可选地,在对加密硬盘进行验证,确认加密硬盘具有可信硬件环境的情况下,即可启动加密硬盘,运行加密硬盘的可信执行环境的镜像文件,运行可信执行环境。
示例性地,TEE运行的内存为虚拟内存,是从加密硬盘划分出的部分空间。为了提高读写速度,加密硬盘可以采用固态硬盘。
在本实施例中,首先验证加密硬盘是否具有可信硬件环境,从而确认加密硬盘的硬件环境是否为可信安全的,提高了数据交互的安全性,而加密硬盘内设置有可信执行环境的镜像文件,从而在进行云计算等数据交互的情况下,无需验证整个远程环境是否可信,只需要验证加密硬盘是否可信即可,大大提高了数据交互的安全性以及可信验证的便捷性。然后在确定加密硬盘具有可信硬件环境的情况下,运行加密硬盘的可信执行环境的镜像文件,以运行可信执行环境,从而使用加密硬盘即可实现可信执行环境的运行,提高了数据交互的安全性以及可信验证的便捷性。
在一个实施例中,步骤S110,在确定加密硬盘具有可信硬件环境的情况下,运行加密硬盘的可信执行环境的镜像文件,以运行可信执行环境。具体包括:通过预设的固件驱动程序启动加密硬盘,以使加密硬盘运行可信执行环境的镜像文件。
其中,加密硬盘的固件相应的启动程序和驱动预先进行了设置,使得加密硬盘的驱动程序为预设的固件驱动程序,后续通过预设的固件驱动程序启动加密硬盘即可使得该加密硬盘内的存储区域只会被分配给TEE使用,全部作为TEE的存储区域。
在本实施例中,由于加密硬盘内的存储区域只会被分配给TEE使用,从而第三方即使从加密硬盘上获得了数据,也无法从采用TEE环境保护加密的数据中获得有效数据,进一步提高了加密硬盘中的数据的安全性。
在一个实施例中,如图2所示,步骤S100,验证加密硬盘是否具有可信硬件环境。包括:步骤S200-S220。
步骤S200,获取加密硬盘内设置的加密程序。
其中,加密硬盘内设置有加密程序,加密程序例如为加密证书(CertificateAuthority,简称CA),加密证书包含该加密硬盘的身份认证信息,由可信方为加密硬盘颁发,预置在加密硬盘内,可信方可以是服务提供商、服务使用方等管理的服务器等等。加密证书能够证明加密硬盘的身份及其公钥的合法性,证明加密硬盘与公钥二者之间的匹配关系。
步骤S210,根据加密程序,生成请求验证信息。
可选地,服务器在需要启动加密硬盘内的TEE时,根据加密硬盘内的证书,生成请求验证信息。
步骤S220,向对应的可信方发送请求验证信息并获取可信方根据请求验证信息返回的检验结果,根据检验结果确定加密硬盘是否具有可信硬件环境。
可选地,服务器向可信方发送请求验证信息验证加密硬盘内置的证书,基于可信方反馈的检验结果,确认加密硬盘是否可信,即可以确定加密硬盘是否具有可信硬件环境。
在本实施例中,加密硬盘内置有加密程序,采用远程验证的方式对加密程序进行验证,从而确定了加密硬盘是否具有可信硬件环境。
在一个实施例中,如图3所示,步骤S100,验证加密硬盘是否具有可信硬件环境。包括:步骤S300-S310。
步骤S300,获取加密硬盘内的加密硬件生成的随机码。
其中,加密硬盘内设置有加密硬件,加密硬件可以是随机码加密电路,在启动加密硬盘时,加密硬盘内的加密电路会生成随机码。硬件加密必须综合考虑加密方法的可行性、有效性、硬件复杂度等因素,由随机码加密电路产生大量密码的一种简单有效的方法是使用线性反馈移位寄存器,其产生的伪随机数据已广泛用于数据通信中的加扰、扩频、跳频和数据加密。反馈移位寄存器是产生伪随机数据的简单、通用、理想的电路,其中的反馈方式可以包括有如全输出反馈及中间抽样反馈等不同形式。给寄存器赋予不同的初值,在移位时钟的作用下其输出端将得到不同的输出数据。利用线性反馈移位寄存工作单元这一特点,将实时时钟产生的直接动态密钥数据作为其初值,这样在任意时刻其就将产生出更为复杂的加扰动态密钥数据。
步骤S310,对随机码进行校验,并根据校验结果确定加密硬盘是否具有可信硬件环境。
可选地,启动加密硬盘时,校验硬盘中的随机码,确定加密硬盘是否具有可信硬件环境。解密是加密的逆运算,向解密软件提供需要的密文数据、原始密钥、生成密钥的时间等相应数据,经相对应的反逻辑运算,即可以还原得到被加密的原文信息,从而即可实现对于随机码的校验。
在本实施例中,通过在加密硬盘内预置加密硬件,通过加密硬件验证加密硬盘是否具有可信硬件环境。
在一个实施例中,如图4所示,可信执行环境的运行方法还包括:步骤S400-S410。
步骤S400,在运行加密硬盘的可信执行环境的情况下,在可信执行环境中读取加密硬盘存储的数据密文。
可选地,数据在加密硬盘中以密文形式存在。加密硬盘和主机或服务器连接之后,处理器在进行数据处理前,要先采用加密程序或加密硬件对加密硬盘内的数据密文进行解密,然后才能够得到加密硬盘内的数据明文。
步骤S410,对数据密文进行解密处理,得到加密硬盘内存储的数据。
可选地,解密的方式根据数据密文被加密的方式决定,数据可以是采用加密算法或加密硬件进行加密的,加密算法例如可以是对称加密算法、非对称加密算法以及哈希算法等等。加密硬件可以是基于硬件随机数,进行哈希等计算电路处理,组成新的数据实现加密。解密时采用对应的算法进行解密即可。
在本实施例中,数据在加密硬盘内以密文的形式存在,读取数据时,一方面在可信执行环境中执行,另一方面还需要先解密才能得到有效数据,进一步提高了数据传输的安全性。
在一个实施例中,如图5所示,可信执行环境的运行方法还包括:步骤S500-S510。
步骤S500,对待存储数据进行加密处理,得到数据密文。
可选地,数据可以是采用加密算法或加密硬件进行加密的,加密算法例如可以是对称加密算法、非对称加密算法以及哈希算法等等。加密硬件可以是基于硬件随机数,进行哈希等计算电路处理,组成新的数据实现加密。
步骤S510,在运行加密硬盘的可信执行环境的情况下,在可信执行环境中,将数据密文存储至加密硬盘内。
可选地,在向加密硬盘内存储数据时,先对数据进行加密,将数据转换为数据密文的形式,再将数据密文存储至加密硬盘内。
示例性地,数据加密解密的流程如图6所示,密文经过加密程序(算法)/加密硬件后,被解密为明文,明文经过加密程序(算法)/加密硬件后,被加密为密文。
在本实施例中,数据在加密硬盘内以密文的形式存在,存储数据时,一方面先将有效数据加密为数据密文,另一方面在可信执行环境中执行数据的存储,进一步提高了数据传输的安全性。
应该理解的是,虽然图1-图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种计算机架构系统,包括:应用层10、固件层20、虚拟化接口层30,其中:
应用层10包括普通执行环境(REE)和可信执行环境(TEE)。
可选地,普通执行环境 (RichExecutionEnvironment,简称REE)为所有移动设备通用的环境,即为运行通用的操作系统(OperatingSystem,简称OS)所需的环境,操作系统例如Android,IOS系统等。可信执行环境(TrustedExecutionEnvironment,简称TEE)在上述实施例中已经进行说明,不再赘述。应用层10包括操作系统中运行的软件应用(Application,简称APP),包括在REE环境中运行的软件应用程序以及在TEE环境中运行的软件应用程序。
固件层20包括加密硬盘,加密硬盘内设置有可信执行环境的镜像文件。
其中,在确定加密硬盘具有可信硬件环境的情况下,运行加密硬盘内置的可信执行环境的镜像文件,以运行可信执行环境。
可选地,固件层20通过加密硬盘,提供了可信执行环境(TEE)。以便于TEE环境的数据和REE环境的数据在交互时能够通过加密硬盘提供一个可信执行环境(TEE),提高了数据交互的安全性。
虚拟化接口层30分别与应用层10和固件层20连接,用于实现固件层20和应用层10之间的数据交换。
其中,应用层10的普通执行环境的数据和应用层10的可信执行环境的数据经过加密硬盘进行互相传输。
其中,虚拟化是一种在同一台机器(计算机)上可以同时运行多种客户操作系统的技术,虚拟机(VirtualMachine)是虚拟化的一种表现方式。可选地,虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的硬盘和操作系统,可以如同使用实体机一样对虚拟机进行操作。其中,在虚拟机中设置有可信执行环境TEE,可信的应用程序将被允许在可信执行环境TEE中运行。
TEE与REE进行交互必须通过firmware(固件)/SecureMonitor(安全监控器)的系统管理控制器 (SystemManagementController,简称SMC)指令,对控制安全读写 (NS)标识位进行等于0或等于1处理后,ARM的中央处理器(Central Processing Unit,简称CPU)才能进入REE环境或TEE环境,整个过程中运行环境的切换和数据的传输都是firmware/SecureMonitor进行处理的。Hypervisor(虚拟机监视器)层为虚拟化接口层30,其用于将虚拟机的互联网协议地址(InternetProtocolAddress,简称IPA,是指虚拟机的虚拟机物理地址)转换成真实物理地址 (PhysicalAddress,简称PA),从而实现固件层20和应用层10之间的数据传输。
可选地,REE和TEE之间交换接口遵守通用的全球平台标准(Global Platform,简称GP)。GP标准对TEE的框架和安全需求做出了明确的规定,并分别对REE侧提供的接口函数,数据类型和数据结构,以及对TEE侧提供给开发者使用的接口函数、数据类型、数据结构进行了明确的规定和定义。
在本实施例中,应用层10和固件层20通过虚拟化接口层30连接,应用层10的普通执行环境的数据和应用层10的可信执行环境的数据经过加密硬盘进行互相传输,而加密硬盘内设置有可信执行环境的镜像文件,从而在进行应用层10的普通执行环境的数据和应用层10的可信执行环境的数据交互的情况下,无需验证整个远程环境是否可信,只需要验证加密硬盘是否可信即可,大大提高了数据交互的安全性以及可信验证的便捷性。然后在确定加密硬盘具有可信硬件环境的情况下,运行加密硬盘的可信执行环境的镜像文件,以运行可信执行环境,从而使用加密硬盘即可实现可信执行环境的运行,提高了数据交互的安全性以及可信验证的便捷性。
在一个实施例中,如图8所示,计算机架构系统还包括处理器40。
其中,处理器40是计算机架构系统的运算和控制核心。
处理器40用于在应用层10和固件层20通过虚拟化接口层30连接的情况下,通过预设的固件驱动程序启动加密硬盘,以使加密硬盘运行可信执行环境的镜像文件。
其中,加密硬盘的固件相应的启动程序和驱动预先进行了设置,使得加密硬盘的驱动程序为预设的固件驱动程序,后续通过预设的固件驱动程序启动加密硬盘即可使得该加密硬盘内的存储区域只会被分配给TEE使用,全部作为TEE的存储区域。
在本实施例中,处理器40能够启动加密硬盘,由于加密硬盘内的存储区域只会被分配给TEE使用,从而第三方即使从加密硬盘上获得了数据,也无法从采用TEE环境保护加密的数据中获得有效数据,进一步提高了加密硬盘中的数据的安全性。
在一个实施例中,如图8所示,处理器40用于在应用层10和固件层20通过虚拟化接口层30连接的情况下,获取加密硬盘内设置的加密程序。根据加密程序,生成请求验证信息。向对应的可信方发送请求验证信息并获取可信方根据请求验证信息返回的检验结果,根据检验结果确定加密硬盘是否具有可信硬件环境。
在本实施例中,加密硬盘内置有加密程序,处理器40能够采用远程验证的方式对加密程序进行验证,从而确定了加密硬盘是否具有可信硬件环境。
在一个实施例中,如图8所示,处理器40用于在应用层10和固件层20通过虚拟化接口层30连接的情况下,获取加密硬盘内的加密硬件生成的随机码。对随机码进行校验,并根据校验结果确定加密硬盘是否具有可信硬件环境。
在本实施例中,通过在加密硬盘内预置加密硬件,处理器40通过加密硬件验证加密硬盘是否具有可信硬件环境。
在一个实施例中,处理器用于在运行加密硬盘的可信执行环境的情况下,在可信执行环境中读取加密硬盘存储的数据密文。对数据密文进行解密处理,得到加密硬盘内存储的数据。
在本实施例中,数据在加密硬盘内以密文的形式存在,处理器读取数据时,一方面在可信执行环境中执行,另一方面还需要先解密才能得到有效数据,进一步提高了数据传输的安全性。
在一个实施例中,处理器用于对待存储数据进行加密处理,得到数据密文。在运行加密硬盘的可信执行环境的情况下,在可信执行环境中,将数据密文存储至加密硬盘内。
在本实施例中,数据在加密硬盘内以密文的形式存在,处理器在存储数据时,一方面先将有效数据加密为数据密文,另一方面在可信执行环境中执行数据的存储,进一步提高了数据传输的安全性。
在一个实施例中,提供了一种加密硬盘,加密硬盘内设置有可信执行环境的镜像文件。其中,在确定加密硬盘具有可信硬件环境的情况下,运行加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境。
在本实施例中,通过提供加密硬盘,加密硬盘内设置有可信执行环境的镜像文件,从而使用该加密硬盘即可实现可信执行环境的运行,提高了数据交互的安全性以及可信验证的便捷性。
在一个实施例中,加密硬盘的固件相应的启动程序和驱动预先进行了设置,从而该加密硬盘内的存储区域只会被分配给TEE使用,全部作为TEE的存储区域。
在本实施例中,由于加密硬盘内的存储区域只会被分配给TEE使用,从而第三方即使从加密硬盘上获得了数据,也无法从采用TEE环境保护加密的数据中获得有效数据,进一步提高了加密硬盘中的数据的安全性。
在一个实施例中,加密硬盘内设置有加密程序,加密硬盘在启动时,加密硬盘接入的设备获取加密硬盘内设置的加密程序,然后根据加密程序,生成请求验证信息,然后向对应的可信方发送请求验证信息并获取可信方根据请求验证信息返回的检验结果,根据检验结果确定加密硬盘是否具有可信硬件环境。
在本实施例中,加密硬盘内置有加密程序,加密硬盘接入的设备能够采用远程验证的方式对加密程序进行验证,从而确定了加密硬盘是否具有可信硬件环境。
在一个实施例中,加密硬盘内设置有加密硬件。加密硬盘在启动时,加密硬盘接入的设备获取加密硬盘内的加密硬件生成的随机码,然后对随机码进行校验,并根据校验结果确定加密硬盘是否具有可信硬件环境。
在本实施例中,通过在加密硬盘内预置加密硬件,加密硬盘接入的设备通过加密硬件验证加密硬盘是否具有可信硬件环境。
在一个实施例中,加密硬盘内存储的数据为数据密文。
其中,加密硬盘接入的设备在运行加密硬盘的可信执行环境的情况下,在可信执行环境中读取加密硬盘存储的数据密文,然后对数据密文进行解密处理,得到加密硬盘内存储的数据。
其中,加密硬盘接入的设备也可以对待存储数据进行加密处理,得到数据密文,然后在运行加密硬盘的可信执行环境的情况下,在可信执行环境中,将数据密文存储至加密硬盘内。
在本实施例中,数据在加密硬盘内以密文的形式存在,加密硬盘接入的设备读取数据时,一方面在可信执行环境中执行,另一方面还需要先解密才能得到有效数据,进一步提高了数据传输的安全性。加密硬盘接入的设备在向加密硬盘中存储数据时,一方面先将有效数据加密为数据密文,另一方面在可信执行环境中执行数据的存储,进一步提高了数据传输的安全性。
在一个实施例中,如图9所示,提供了一种可信执行环境的运行装置,包括:验证模块901、启动模块902,其中:
验证模块901,用于验证加密硬盘是否具有可信硬件环境,其中,加密硬盘内设置有可信执行环境的镜像文件。
启动模块902,用于在确定加密硬盘具有可信硬件环境的情况下,运行加密硬盘的可信执行环境的镜像文件,以运行可信执行环境。
在一个实施例中,启动模块902包括启动单元,启动单元,用于通过预设的固件驱动程序启动加密硬盘,以使加密硬盘运行可信执行环境的镜像文件。
在一个实施例中,验证模块901包括:程序获取单元、验证生成单元、校验单元,其中:
程序获取单元,用于获取加密硬盘内设置的加密程序。
验证生成单元,用于根据加密程序,生成请求验证信息。
校验单元,用于向对应的可信方发送请求验证信息并获取可信方根据请求验证信息返回的检验结果,根据检验结果确定加密硬盘是否具有可信硬件环境。
在一个实施例中,验证模块901包括:随机码获取单元、随机码校验单元,其中:
随机码获取单元,用于获取加密硬盘内的加密硬件生成的随机码。
随机码校验单元,用于对随机码进行校验,并根据校验结果确定加密硬盘是否具有可信硬件环境。
在一个实施例中,可信执行环境的运行装置还包括:数据读取模块、解密模块,其中:
数据读取模块,用于在运行加密硬盘的可信执行环境的情况下,在可信执行环境中读取加密硬盘存储的数据密文。
解密模块,用于对数据密文进行解密处理,得到加密硬盘内存储的数据。
在一个实施例中,可信执行环境的运行装置还包括:加密模块、存储模块,其中:
加密模块,用于对待存储数据进行加密处理,得到数据密文。
存储模块,用于在运行加密硬盘的可信执行环境的情况下,在可信执行环境中,将数据密文存储至加密硬盘内。
关于可信执行环境的运行装置的具体限定可以参见上文中对于可信执行环境的运行方法的限定,在此不再赘述。上述可信执行环境的运行装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在一个实施例中,提供了一种计算机设备,该计算机设备内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种可信执行环境的运行方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种可信执行环境的运行方法,其特征在于,包括:
验证加密硬盘是否具有可信硬件环境,其中,所述加密硬盘内设置有可信执行环境的镜像文件;
在确定所述加密硬盘具有可信硬件环境的情况下,运行所述加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境。
2.根据权利要求1所述的可信执行环境的运行方法,其特征在于,所述运行所述加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境,包括:
通过预设的固件驱动程序启动所述加密硬盘,以使所述加密硬盘运行所述可信执行环境的镜像文件。
3.根据权利要求1所述的可信执行环境的运行方法,其特征在于,所述加密硬盘内设置有加密程序;所述验证加密硬盘是否具有可信硬件环境,包括:
获取所述加密硬盘内设置的加密程序;
根据所述加密程序,生成请求验证信息;
向对应的可信方发送所述请求验证信息并获取所述可信方根据所述请求验证信息返回的检验结果,根据所述检验结果确定所述加密硬盘是否具有可信硬件环境。
4.根据权利要求1所述的可信执行环境的运行方法,其特征在于,所述加密硬盘内设置有加密硬件;所述验证加密硬盘是否具有可信硬件环境,包括:
获取所述加密硬盘内的加密硬件生成的随机码;
对所述随机码进行校验,并根据校验结果确定所述加密硬盘是否具有可信硬件环境。
5.根据权利要求1所述的可信执行环境的运行方法,其特征在于,所述方法还包括:
在运行所述加密硬盘的可信执行环境的情况下,在所述可信执行环境中读取所述加密硬盘存储的数据密文;
对所述数据密文进行解密处理,得到所述加密硬盘内存储的数据。
6.根据权利要求1所述的可信执行环境的运行方法,其特征在于,所述方法还包括:
对待存储数据进行加密处理,得到数据密文;
在运行所述加密硬盘的可信执行环境的情况下,在所述可信执行环境中,将所述数据密文存储至所述加密硬盘内。
7.一种计算机架构系统,其特征在于,包括:
应用层,包括普通执行环境和可信执行环境;
固件层,包括加密硬盘,所述加密硬盘内设置有可信执行环境的镜像文件;其中,在确定所述加密硬盘具有可信硬件环境的情况下,运行所述加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境;
虚拟化接口层,分别与所述应用层和所述固件层连接,用于实现所述固件层和所述应用层之间的数据交换;其中,所述应用层的普通执行环境的数据和所述应用层的可信执行环境的数据经过所述加密硬盘进行互相传输。
8.一种加密硬盘,其特征在于,所述加密硬盘内设置有可信执行环境的镜像文件;其中,在确定所述加密硬盘具有可信硬件环境的情况下,运行所述加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境。
9.一种可信执行环境的运行装置,其特征在于,包括:
验证模块,用于验证加密硬盘是否具有可信硬件环境,其中,所述加密硬盘内设置有可信执行环境的镜像文件;
启动模块,用于在确定所述加密硬盘具有可信硬件环境的情况下,运行所述加密硬盘内置的所述可信执行环境的镜像文件,以运行可信执行环境。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410104095.5A CN117910057A (zh) | 2024-01-25 | 2024-01-25 | 可信执行环境的运行方法、计算机架构系统、加密硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410104095.5A CN117910057A (zh) | 2024-01-25 | 2024-01-25 | 可信执行环境的运行方法、计算机架构系统、加密硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117910057A true CN117910057A (zh) | 2024-04-19 |
Family
ID=90681775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410104095.5A Pending CN117910057A (zh) | 2024-01-25 | 2024-01-25 | 可信执行环境的运行方法、计算机架构系统、加密硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117910057A (zh) |
-
2024
- 2024-01-25 CN CN202410104095.5A patent/CN117910057A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858265B (zh) | 一种加密方法、装置及相关设备 | |
EP3540626B1 (en) | Enclave launch and authentication | |
US8462955B2 (en) | Key protectors based on online keys | |
US7526649B2 (en) | Session key exchange | |
US20140112470A1 (en) | Method and system for key generation, backup, and migration based on trusted computing | |
EP2947811A1 (en) | Method, server, host and system for protecting data security | |
JP6073320B2 (ja) | デジタル署名するオーソリティ依存のプラットフォームシークレット | |
JP2010514000A (ja) | 電子装置にプログラム状態データをセキュアに記憶するための方法 | |
CN111310213A (zh) | 一种业务数据保护方法、装置、设备及可读存储介质 | |
CN111401901B (zh) | 生物支付设备的认证方法、装置、计算机设备和存储介质 | |
CN111191217B (zh) | 一种密码管理方法及相关装置 | |
WO2014185845A1 (en) | Procedure for platform enforced secure storage in infrastructure clouds | |
CN112765637A (zh) | 数据处理方法、密码服务装置和电子设备 | |
CN111901304A (zh) | 移动安全设备的注册方法和装置、存储介质、电子装置 | |
CN111600903A (zh) | 一种通信方法、系统、设备及可读存储介质 | |
KR101711024B1 (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 | |
CN116450281A (zh) | 访问处理方法、虚拟机标识配置方法、芯片及计算机设备 | |
CN114223176B (zh) | 一种证书管理方法及装置 | |
CN110858246B (zh) | 安全代码空间的认证方法和系统、及其注册方法 | |
CN114697113A (zh) | 一种基于硬件加速卡的多方隐私计算方法、装置及系统 | |
CN117910057A (zh) | 可信执行环境的运行方法、计算机架构系统、加密硬盘 | |
CN114244565B (zh) | 密钥分发方法、装置、设备及存储介质 | |
CN114329574B (zh) | 基于域管平台的加密分区访问控制方法、系统及计算设备 | |
CN109474624B (zh) | 一种应用程序认证系统及方法 | |
US20240004986A1 (en) | Cla certificateless authentication of executable programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |