CN112087304A - 可信计算环境的异构融合方法、装置及相关设备 - Google Patents
可信计算环境的异构融合方法、装置及相关设备 Download PDFInfo
- Publication number
- CN112087304A CN112087304A CN202010986789.8A CN202010986789A CN112087304A CN 112087304 A CN112087304 A CN 112087304A CN 202010986789 A CN202010986789 A CN 202010986789A CN 112087304 A CN112087304 A CN 112087304A
- Authority
- CN
- China
- Prior art keywords
- client
- trusted
- server
- request
- integrity measurement
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Abstract
本发明公开了一种可信计算环境的异构融合方法、装置、计算机设备和存储介质,应用于计算机安全领域,用于解决异构可信计算环境TEE应用无法直接互通互信的问题。本发明通过初始化TEE容器,确定TEE容器本身可信。通过协商通信密钥请求获得客户端公钥和服务器公钥。服务器通过获得的客户端公钥解密并验证客户端本地完整性度量报告,确定客户端为服务器可信TEE应用;客户端通过获得的服务器公钥解密并验证服务器本地完整性度量报告,确定服务器为客户端可信TEE应用,打通可信的闭环,建立互信。最后客户端加密并发送可信调用请求,服务器接收该请求并解密、处理返回调用结果,实现可信的互相调用。
Description
技术领域
本发明涉及计算机安全领域,尤其涉及一种可信计算环境的异构融合方法、装置、计算机设备和存储介质。
背景技术
可信计算环境TEE(Trusted Execution Environment)是全球平台组织GlobalPlatform提出的概念,通过在中央处理器内隔离出一个与操作系统隔离的运行空间,在原生操作系统和外设不安全的条件下,仍能保护运行在TEE中的程序和数据。
在实际应用中,目前比较流行的方案包括ARM(Advanced RISC Machine)架构处理器的信任区域TrustZone和x86(The X86 architecture)架构处理器的软件保护扩展SGX(SoftwareGuard Extensions)。
ARM(Advanced RISC Machine)信任区域是ARM推出的旨在以硬件为安全强制保障的安全技术,在嵌入式设备和移动设备中得到了广泛的应用。目前随着商用ARM服务器设备的推出,ARM架构处理器也开始在云服务市场上受到关注。信任区域技术是所有Cortex-A类处理器的基本功能,通过ARM架构的信任区域安全拓展,可以在供应商、平台和应用程序中提供一致的程序模型,同时提供真实的硬件支持的安全环境。信任区域将应用程序分为放置在普通区域和安全区域进行运行,需要保护的内容将在安全区域内受到保护。
因特尔的软件保护扩展是因特尔推出的旨在以硬件安全为强制保障的安全技术,在因特尔第六代及后续生产的中央处理器得到广泛支持。软件保护扩展的可信计算基仅依赖中央处理器,不同于基于软件的可信计算基,避免了因为应用、操作系统、设备的安全漏洞造成的安全威胁,极大提升了系统的安全性。软件保护扩展的可信执行环境和操作系统独立,云服务商、特权用户、其他应用无法访问和篡改软件保护扩展程序运行时所保护的内容,进一步增强了软件保护扩展的安全性。软件保护扩展程序可以被划分为可信部分和不可信部分,可信在飞地(Enclave)中运行,受到软件保护扩展的保护,不可信部分在普通的环境中运行。软件保护扩展的可信和不可信部分间通过约定好的接口进行交互,不可信部分无法通过未约定的方式直接访问软件保护扩展的可信部分。
现有的可信计算环境TEE应用,绝大多数都是基于信任区域或软件保护扩展其中之一开发的,一般只能保证TEE应用自身的可信和网络中采用相同技术方案的TEE应用的互信,这是因为不同TEE平台采用了不同的架构,无法直接互通互信。
在云计算领域、个人消费电子产品领域、区块链领域、金融领域、物联网领域、人工智能领域等领域中可信计算环境TEE被广泛应用,个人隐私保护、云计算安全、数字知识产权保护、金融支付等应用场景对安全和隐私的需求层出不穷,涌现出一大批基于信任区域或软件保护扩展的可信计算环境TEE应用。但是一般只能保证可信计算环境TEE应用自身的可信和网络中采用相同技术方案的可信计算环境TEE应用的互信,不同架构的可信计算环境TEE应用不可信,这些应用容易形成信任孤岛。
发明内容
本发明实施例提供一种可信计算环境的异构融合方法、装置、计算机设备和存储介质,以解决异构可信计算环境TEE应用间不可信的技术问题。
一种可信计算环境的异构融合方法,包括:
通过完整性度量架构,初始化可信计算环境的第一TEE容器;
接收客户端的第二TEE容器发起的第一协商通信密钥请求和第一互信证明验证请求,其中,所述第一协商通信密钥请求中携带客户端公钥,所述第一互信证明验证请求携带客户端本地完整性度量报告;
向所述客户端的所述第二TEE容器发送第二协商通信密钥请求和第二互信证明验证请求,其中,所述第二协商通信密钥请求中携带服务器公钥,所述第二互信证明验证请求携带服务器本地完整性度量报告;
验证所述客户端本地完整性度量报告的内容,当所述客户端本地完整性度量报告验证通过且接收到客户端发送的所述服务器本地完整性度量报告验证通过时,所述第一TEE容器与所述第二TEE容器建立互信;
当所述第一TEE容器与所述第二TEE容器建立互信时,接收所述客户端发送的通过所述服务器公钥进行加密的可信调用请求,向所述客户端返回通过所述客户端公钥进行加密的调用结果。
一种可信计算环境的异构融合装置,包括:
初始化模块,用于通过完整性度量架构,初始化可信计算环境的第一TEE容器;
接收模块,用于接收客户端的第二TEE容器发起的第一协商通信密钥请求和第一互信证明验证请求,其中,所述第一协商通信密钥请求中携带客户端公钥,所述第一互信证明验证请求携带客户端本地完整性度量报告;
发送模块,用于向所述客户端的所述第二TEE容器发送第二协商通信密钥请求和第二互信证明验证请求,其中,所述第二协商通信密钥请求中携带服务器公钥,所述第二互信证明验证请求携带服务器本地完整性度量报告;
互信建立模块,用于验证所述客户端本地完整性度量报告的内容,当所述客户端本地完整性度量报告验证通过且接收到所述客户端发送的服务器本地完整性度量报告验证通过时,所述第一TEE容器与所述第二TEE容器建立互信;
可信调用模块,用于当所述第一TEE容器与所述第二TEE容器建立互信时,接收所述客户端发送的通过所述服务器公钥进行加密的可信调用请求,向所述客户端返回通过所述客户端公钥进行加密的调用结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述可信计算环境的异构融合方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述可信计算环境的异构融合方法的步骤。
本发明提供的一种可信计算环境的异构融合方法、装置、计算机设备和存储介质,首先通过初始化TEE容器,确定该TEE容器本身可信。接着通过协商通信密钥请求,服务器获得客户端公钥,客户端获得服务器公钥。在互信证明验证请求中,服务器通过获得的客户端公钥解密使用客户端私钥加密过的客户端本地完整性度量报告,验证客户端本地完整性度量报告的内容,确定客户端为服务器可信的TEE应用;客户端通过获得的服务器公钥解密使用服务器私钥加密的服务器本地完整性度量报告,验证服务器本地完整性度量报告的内容,确定服务器为客户端可信的TEE应用,打通可信的闭环,建立了不同架构的客户端和服务器的互相信任。最后在可信调用中,客户端通过获得的服务器公钥对可信调用请求进行加密,服务器接收可信调用请求后,使用服务器私钥进行解密,经过服务器处理返回可信调用请求的调用结果,实现可信的互相调用,解决了异构可信计算环境不可信的技术问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中可信计算环境的异构融合方法的一应用环境示意图;
图2是本发明一实施例可信计算环境的异构融合方法的步骤流程图;
图3是本发明一实施例可信计算环境的异构融合方法的装置图;
图4是本发明一实施例可信计算环境的异构融合方法的计算机设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的一种可信计算环境的异构融合方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端、服务器可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2是本申请一实施例中可信计算环境的异构融合方法,以该方法在图1的服务器为例进行说明,该可信计算环境的异构融合方法包括如下步骤S101至S105:
S101、通过完整性度量架构,初始化可信计算环境的第一TEE容器。
在该实施例中,完整性度量架构通过获取TEE容器的身份信息、属性、平台硬件可信计算基信息和用户自定义的额外数据,生成完整性度量报告,与可信计算基软件签名中的完整性值进行对比,对比结果一致,则对可信计算环境TEE容器进行初始化,对比结果不一致,则初始化失败。
在其中一个实施例中,该步骤S101进一步包括:
通过所述第一TEE容器生成服务器私钥和所述服务器公钥,其中,所述服务器私钥和所述服务器公钥为非对称的私钥和公钥。
在该实施例中,所述服务器私钥和服务器公钥是基于椭圆曲线的算法秘密生成,所述服务器私钥和服务器公钥生成方法包括但不限于椭圆曲线算法、流加密算法、三重数据加密算法、高级加密标准算法、IDEA(Internationale Data Encrypt Algorithm,国际数据加密算法)、数据加密标准算法、Camellia块密码算法、ChaCha20新式加密算法。
S102、接收客户端的第二TEE容器发起的第一协商通信密钥请求和第一互信证明验证请求,其中,所述第一协商通信密钥请求中携带客户端公钥,所述第一互信证明验证请求携带客户端本地完整性度量报告。
在该实施例中,所述第二TEE容器是基于x86架构的软件保护扩展TEE容器,所述第一协商通信密钥请求通过安全信道传递,所述安全信道包括但不限于传输控制协议、用户数据报协议,所述第一互信证明验证请求中携带的客户端本地完整性度量报告内容包括第一数字证书、第一证书以及第二TEE容器初始化的完整性度量报告。
在其中一个实施例中,该步骤S102还进一步包括:
接收所述客户端发送的通过所述服务器公钥进行加密的所述客户端本地完整性度量报告,其中,所述客户端本地完整度量报告使用第一证书进行签名,所述第一证书是第一数字证书通过客户端私钥派生;
通过所述服务器私钥对所述客户端本地完整性度量报告进行解密。
在该实施例中,所述客户端本地完整度量报告使用第一证书进行签名,所述第一证书是第一数字证书通过客户端私钥派生,第一证书格式为x509格式。
S103、向所述客户端的所述第二TEE容器发送第二协商通信密钥请求和第二互信证明验证请求,其中,所述第二协商通信密钥请求中携带服务器公钥,所述第二互信证明验证请求携带服务器本地完整性度量报告。
在该实施例中,所述第二协商通信密钥请求通过安全信道传递,所述安全信道包括但不限于传输控制协议、用户数据报协议,所述第二互信证明验证请求中携带的服务器本地完整性度量报告内容包括第二数字证书、第二证书以及第一TEE容器初始化的完整性度量报告。
在其中一个实施例中,该步骤S103还进一步包括:
通过所述客户端公钥对所述服务器本地完整性度量报告进行加密,其中,所述服务器本地完整度量报告使用第二证书进行签名,所述第二证书是第二数字证书通过所述服务器私钥派生;
通过所述客户端私钥对所述服务器本地完整性度量报告进行解密。
在该实施例中,所述服务器本地完整度量报告使用第二证书进行签名,所述第二证书是第二数字证书通过所述服务器私钥派生,第二证书格式为x509格式。
S104、验证所述客户端本地完整性度量报告的内容,当所述客户端本地完整性度量报告验证通过且接收到客户端发送的所述服务器本地完整性度量报告验证通过时,所述第一TEE容器与所述第二TEE容器建立互信。
在该实施例中,验证所述客户端本地完整性度量报告的内容结果显示第二TEE容器不可信,则第一TEE容器将结束互信建立流程,否则继续流程;接收所述客户端发送的所述服务器本地完整性度量报告的内容结果显示第一TEE容器不可信,则将结束互信建立流程,否则所述第一TEE容器与所述第二TEE容器建立互信。
在其中一个实施例中,该步骤S104还进一步包括:
验证所述第一数字证书是否完整,若是,则验证所述第一证书是否完整,若是,则验证所述客户端本地完整性度量报告是否被所述第一证书签名,若是,则验证所述第一证书是否未过期,若是,则验证所述第二TEE容器的初始化信息是否准确,若是,则判断所述客户端本地完整性度量报告验证通过。
在该实施例中,所述第一证书是第一数字证书通过客户端私钥派生,第一证书格式为x509格式。
S105、当所述第一TEE容器与所述第二TEE容器建立互信时,接收所述客户端发送的通过所述服务器公钥进行加密的可信调用请求,向所述客户端返回通过所述客户端公钥进行加密的调用结果。
在该实施例中,所述通过服务器公钥进行加密的可信调用请求包括可信调用信息、随机数和/或时间戳,所述调用信息包含接口名、方法名、参数类型和参数。例如接收客户端的可信调用请求{nonce:1234,ts:19127124,payloadHash:"somenumber",payload:{{GiName:"Cal",GmName:"cal",Gmtype:"int[2]",Gvalue:[1,2,3]}},其中{GiName:"Cal",GmName:"cal",Gmtype:"int[2]",Gvalue:[1,2,3]}为可信调用信息,nonce:1234,ts:19127124为随机数和/或时间戳,所述调用结果为{GresultType:int,Gvalue:6}。
在其中一个实施例中,该步骤S105还进一步包括:
通过所述第一TEE容器使用所述服务器私钥对所述可信调用请求进行解密;
通过随机数和/或时间戳验证解密后的所述可信调用请求;
通过所述第一TEE容器处理解密后的所述可信调用请求,其中,所述可信调用请求为全平台统一的可信调用请求。所述处理包括将所述可信调用请求翻译为所述第一TEE容器所在平台的特定可信调用请求;
通过所述第一TEE容器将处理完的所述可信调用请求发送给所述第二TEE容器,其中,处理完的所述可信调用请求通过所述第一TEE容器翻译为全平台同一的可信调用请求。在该实施例中,所述可信调用请求包括可信调用信息、随机数和/或时间戳,所述调用信息包含接口名、方法名、参数类型和参数。
在该实施例中,所述随机数和/或时间戳验证包括随机数验证和时间戳验证,所述随机数验证中随机数是一个固定长度的数字,确保消息是第一次收到,避免重放攻击;所述时间戳验证中时间戳是由可信的时钟生成的数值,确保消息的新鲜度,如超过1分钟则消息不新鲜。所述随机数和/或时间戳验证不通过则验证失败,结束可信调用请求;验证成功则将解密后的调用消息发送给第一TEE容器进行处理。
在该实施例中,例如接收客户端的可信调用请求{nonce:1234,ts:19127124,payloadHash:"somenumber",payload:{{GiName:"Cal",GmName:"cal",Gmtype:"int[2]",Gvalue:[1,2,3]}},通过所述第一TEE容器使用所述服务器私钥对所述可信调用请求进行解密,通过随机数和/或时间戳验证解密后的所述可信调用请求,验证通过后,所述可信调用请求为{GiName:"Cal",GmName:"cal",Gmtype:"int[2]",Gvalue:[1,2,3]},通过所述第一TEE容器处理所述可信调用请求,处理前,所述可信调用请求为全平台统一的可信调用请求,所述处理所述可信调用请求包括将所述可信调用请求通过第一TEE容器翻译为所述第一TEE容器所在平台的特定可信调用请求,处理完的所述可信调用请求通过第一TEE容器翻译为全平台统一的可信调用请求,所述处理完的所述可信调用请求为{nonce:1234,ts:19135124,payloadHash:"somenumber",payload:{{GresultType:int,Gvalue:6}},所述第一TEE容器将处理完的所述可信调用请求发送给所述第二TEE容器,向所述客户端返回通过所述客户端公钥进行加密的调用结果。
上述实施例通过初始化TEE容器,确定该TEE容器本身可信,通过椭圆曲线算法生成客户端私钥和客户端公钥,服务器私钥和服务器公钥,通过协商通信密钥请求,服务器获得客户端公钥,客户端获得服务器公钥。在互信证明验证请求中,验证客户端与服务器之间加密并且签名后的完整性度量报告,服务器通过获得的客户端公钥解密使用客户端私钥加密过的客户端本地完整性度量报告,验证客户端本地完整性度量报告的内容,确定客户端为服务器可信的TEE应用;客户端通过获得的服务器公钥解密使用服务器私钥加密的服务器本地完整性度量报告,验证服务器本地完整性度量报告的内容,确定服务器为客户端可信的TEE应用,打通可信的闭环,建立了不同架构的客户端和服务器的互相信任。最后在可信调用中,客户端通过获得的服务器公钥对可信调用请求进行加密,服务器接收可信调用请求后,使用服务器私钥进行解密,经过服务器处理返回可信调用请求的调用结果,所述处理通过服务器将全平台统一的可信调用请求翻译成平台特定的可信调用请求实现可信的互相调用,解决了异构可信计算环境不可信的技术问题。服务器服务器
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种可信计算环境的异构融合装置,该可信计算环境的异构融合装置与上述实施例中可信计算环境的异构融合方法一一对应。如图3所示,该可信计算环境的异构融合装置包括初始化模块11、接收模块12、发送模块13、互信建立模块14和可信调用模块16。各功能模块详细说明如下:
初始化模块11,用于通过完整性度量架构,初始化可信计算环境的第一TEE容器。
接收模块12,用于接收客户端的第二TEE容器发起的第一协商通信密钥请求和第一互信证明验证请求,其中,所述第一协商通信密钥请求中携带客户端公钥,所述第一互信证明验证请求携带客户端本地完整性度量报告。
在其中一个实施例中,该接收模块12进一步包括:
第一互信证明验证请求获取单元,用于获取所述客户端发送的通过所述服务器公钥进行加密的所述客户端本地完整性度量报告;第一解密单元,用于通过所述服务器私钥对所述客户端本地完整性度量报告进行解密。
在该实施例中,所述第一互信证明验证请求获取单元,其中客户端本地完整度量报告使用第一证书进行签名,所述第一证书是第一数字证书通过客户端私钥派生。所述第一互信证明验证请求获取单元的服务器公钥和所述第一解密单元的服务器私钥为非对称的公钥和私钥,所述非对称的公钥和私钥生成方法包括但不限于椭圆曲线算法、流加密算法、三重数据加密算法、高级加密标准算法、IDEA、数据加密标准算法、Camellia块密码算法、ChaCha20新式加密算法。
发送模块13,用于向所述客户端的所述第二TEE容器发送第二协商通信密钥请求和第二互信证明验证请求,其中,所述第二协商通信密钥请求中携带服务器公钥,所述第二互信证明验证请求携带服务器本地完整性度量报告。
在其中一个实施例中,该发送模块13进一步包括:
第二互信证明验证请求发送单元,用于发送通过获取的所述客户端公钥进行加密的所述服务器本地完整性度量报告;
第一加密单元,用于通过所述客户端公钥对所述服务器本地完整性度量报告进行加密。
在该实施例中,所述第二互信证明验证请求发送单元,其中服务器本地完整度量报告使用第二证书进行签名,所述第二证书是第二数字证书通过服务器私钥派生。所述第二互信证明验证请发送单元的客户端公钥和所述第一加密单元的客户端私钥为非对称的公钥和私钥,所述非对称的公钥和私钥生成方法包括但不限于椭圆曲线算法、流加密算法、三重数据加密算法、高级加密标准算法、IDEA、数据加密标准算法、Camellia块密码算法、ChaCha20新式加密算法。
互信建立模块14,用于验证所述客户端本地完整性度量报告的内容,当所述客户端本地完整性度量报告验证通过且接收到所述客户端发送的服务器本地完整性度量报告验证通过时,所述第一TEE容器与所述第二TEE容器建立互信。
在其中一个实施例中,互信建立模块14进一步包括:
第一验证单元,用于验证所述客户端本地完整性度量报告,其中所述客户端本地完整性度量报告内容包括所述第一数字证书、所述第一证书、所述第二TEE容器的初始化信息。
在该实施例中,所述第一验证单元具体用于验证所述第一数字证书是否完整,若是,则验证所述第一证书是否完整,若是,则验证所述客户端本地完整性度量报告是否被所述第一证书签名,若是,则验证所述第一证书是否未过期,若是,则验证所述第二TEE容器的初始化信息是否准确,若是,则判断所述客户端本地完整性度量报告验证通过。
可信调用模块15,用于当所述第一TEE容器与所述第二TEE容器建立互信时,接收所述客户端发送的通过所述服务器公钥进行加密的可信调用请求,向所述客户端返回通过所述客户端公钥进行加密的调用结果。
在其中一个实施例中,可信调用模块15进一步包括:
接收单元,用于接收所述客户端发送的通过所述服务器公钥进行加密的可信调用请求;
第二解密单元,用于通过服务器私钥解密所述客户端发送的通过所述服务器公钥进行加密的可信调用请求;
第二验证单元,用于验证可信调用请求的有效性;
处理单元,用于处理通过所述第二解密单元解密的可信调用请求;
第二加密单元,用于通过客户端公钥加密所述处理单元处理得到的调用结果;
发送单元,用于发送所述第二加密单元加密后的调用结果。
在该实施例中,所述接收单元接收的可信调用请求包括可信调用信息、随机数和/或时间戳,所述调用信息包含接口名、方法名、参数类型和参数,所述验证单元通过随机数和/或时间抽验证所述调用信息是否有效,所述处理单元通过所述第一TEE容器将全平台统一的可信调用请求翻译成平台特定的可信调用请求。在其中一个实施例中,例如接收单元接收客户端的可信调用请求{nonce:1234,ts:19127124,payloadHash:"somenumber",payload:{{GiName:"Cal",GmName:"cal",Gmtype:"int[2]",Gvalue:[1,2,3]}},第二解密单元通过所述服务器私钥对所述可信调用请求进行解密,第二验证单元通过随机数和/或时间戳验证解密后的所述可信调用请求,验证通过后,所述可信调用请求为{GiName:"Cal",GmName:"cal",Gmtype:"int[2]",Gvalue:[1,2,3]},处理单元通过所述第一TEE容器处理所述可信调用请求,处理前,所述可信调用请求为全平台统一的可信调用请求,所述处理所述可信调用请求包括将所述可信调用请求通过第一TEE容器翻译为所述第一TEE容器所在平台的特定可信调用请求,处理完的调用结果为{nonce:1234,ts:19135124,payloadHash:"somenumber",payload:{{GresultType:int,Gvalue:6}},处理单元将所述第一TEE容器所在平台的调用结果翻译成全平台统一的调用结果。第二加密单元通过客户端公钥加密所述调用结果,发送单元将所述调用结果发送给所述第一TEE容器。
其中上述模块中的“第一”和“第二”的意义仅在于将不同的模块加以区分,并不用于限定哪个模块的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于可信计算环境的异构融合装置的具体限定可以参见上文中对于可信计算环境的异构融合方法的限定,在此不再赘述。上述可信计算环境的异构融合装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器构建有可信执行环境、安全计数器、安全时钟、安全加密引擎等模块,用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储可信计算环境的异构融合方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种可信计算环境的异构融合方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中可信计算环境的异构融合方法的步骤S101至S105,或者,计算机程序被处理器执行时实现上述实施例中可信计算环境的异构融合装置的各模块/单元的功能,例如图3所示模块11至模块15的功能。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中可信计算环境的异构融合方法的步骤S101至S105,或者,计算机程序被处理器执行时实现上述实施例中可信计算环境的异构融合装置的各模块/单元的功能,例如图3所示模块11至模块15的功能。为避免重复,这里不再赘述。
本实施例提供的一种可信计算环境的异构融合方法、装置、计算机设备和存储介质。本实施例通过初始化TEE容器,确定该TEE容器本身可信。接着通过协商通信密钥请求,服务器获得客户端公钥,客户端获得服务器公钥。在互信证明验证请求中,服务器通过获得的客户端公钥解密使用客户端私钥加密过的客户端本地完整性度量报告,验证客户端本地完整性度量报告的内容,确定客户端为服务器可信的TEE应用;客户端通过获得的服务器公钥解密使用服务器私钥加密的服务器本地完整性度量报告,验证服务器本地完整性度量报告的内容,确定服务器为客户端可信的TEE应用,打通可信的闭环,建立了不同架构的客户端和服务器的互相信任。最后在可信调用中,客户端通过获得的服务器公钥对可信调用请求进行加密,服务器接收可信调用请求后,使用服务器私钥进行解密,经过服务器处理返回可信调用请求的调用结果,实现可信的互相调用,解决了异构可信计算环境不可信的技术问题。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元和/或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种可信计算环境的异构融合方法,其特征在于,所述方法应用于计算机设备,所述方法包括:
通过完整性度量架构,初始化可信计算环境的第一TEE容器;
接收客户端的第二TEE容器发起的第一协商通信密钥请求和第一互信证明验证请求,其中,所述第一协商通信密钥请求中携带客户端公钥,所述第一互信证明验证请求携带客户端本地完整性度量报告;
向所述客户端的所述第二TEE容器发送第二协商通信密钥请求和第二互信证明验证请求,其中,所述第二协商通信密钥请求中携带服务器公钥,所述第二互信证明验证请求携带服务器本地完整性度量报告;
验证所述客户端本地完整性度量报告的内容,当所述客户端本地完整性度量报告验证通过且接收到客户端发送的所述服务器本地完整性度量报告验证通过时,所述第一TEE容器与所述第二TEE容器建立互信;
当所述第一TEE容器与所述第二TEE容器建立互信时,接收所述客户端发送的通过所述服务器公钥进行加密的可信调用请求,向所述客户端返回通过所述客户端公钥进行加密的调用结果。
2.根据权利要求1所述的可信计算环境的异构融合方法,其特征在于,所述通过完整性度量架构,初始化可信计算环境的第一TEE容器的步骤之前,所述方法还包括:
通过所述第一TEE容器生成服务器私钥和所述服务器公钥,其中,所述服务器私钥和所述服务器公钥为非对称的私钥和公钥。
3.根据权利要求2所述的可信计算环境的异构融合方法,其特征在于,所述方法还包括:
接收所述客户端发送的通过所述服务器公钥进行加密的所述客户端本地完整性度量报告,其中,所述客户端本地完整度量报告使用第一证书进行签名,所述第一证书是第一数字证书通过客户端私钥派生;
通过所述服务器私钥对所述客户端本地完整性度量报告进行解密。
4.根据权利要求3所述的可信计算环境的异构融合方法,其特征在于,向所述客户端的所述第二TEE容器发送第二协商通信密钥请求和第二互信证明验证请求时,所述方法还包括:
通过所述客户端公钥对所述服务器本地完整性度量报告进行加密,其中,所述服务器本地完整度量报告使用第二证书进行签名,所述第二证书是第二数字证书通过所述服务器私钥派生;
通过所述客户端私钥对所述服务器本地完整性度量报告进行解密。
5.根据权利要求4所述的可信计算环境的异构融合方法,其特征在于,验证所述客户端本地完整性度量报告的内容之后,所述验证所述客户端本地完整性度量报告的内容的步骤包括:
验证所述第一数字证书是否完整,若是,则验证所述第一证书是否完整,若是,则验证所述客户端本地完整性度量报告是否被所述第一证书签名,若是,则验证所述第一证书是否未过期,若是,则验证所述第二TEE容器的初始化信息是否准确,若是,则判断所述客户端本地完整性度量报告验证通过。
6.根据权利要求2所述的可信计算环境的异构融合方法,其特征在于,所述接收所述客户端发送的通过所述服务器公钥进行加密的可信调用请求的步骤之后,所述方法还包括:
通过所述第一TEE容器使用所述服务器私钥对所述可信调用请求进行解密;
通过所述第一TEE容器处理解密后的所述可信调用请求,其中,所述可信调用请求为全平台统一的可信调用请求,所述处理包括将所述可信调用请求翻译为所述第一TEE容器所在平台的特定可信调用请求;
通过所述第一TEE容器将处理完的所述可信调用请求发送给所述第二TEE容器,其中,处理完的所述可信调用请求通过所述第一TEE容器翻译为全平台同一的可信调用请求。
7.根据权利要求6所述的可信计算环境的异构融合方法,其特征在于,所述通过所述第一TEE容器使用所述服务器私钥对所述可信调用请求进行解密的步骤之后,所述方法还包括了:
通过随机数和/或时间戳验证解密后的所述可信调用请求。
8.一种可信计算环境的异构融合装置,其特征在于,包括:
初始化模块,用于通过完整性度量架构,初始化可信计算环境的第一TEE容器;
接收模块,用于接收客户端的第二TEE容器发起的第一协商通信密钥请求和第一互信证明验证请求,其中,所述第一协商通信密钥请求中携带客户端公钥,所述第一互信证明验证请求携带客户端本地完整性度量报告;
发送模块,用于向所述客户端的所述第二TEE容器发送第二协商通信密钥请求和第二互信证明验证请求,其中,所述第二协商通信密钥请求中携带服务器公钥,所述第二互信证明验证请求携带服务器本地完整性度量报告;
互信建立模块,用于验证所述客户端本地完整性度量报告的内容,当所述客户端本地完整性度量报告验证通过且接收到所述客户端发送的服务器本地完整性度量报告验证通过时,所述第一TEE容器与所述第二TEE容器建立互信;
可信调用模块,用于当所述第一TEE容器与所述第二TEE容器建立互信时,接收所述客户端发送的通过所述服务器公钥进行加密的可信调用请求,向所述客户端返回通过所述客户端公钥进行加密的调用结果。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述可信计算环境的异构融合方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述可信计算环境的异构融合方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010986789.8A CN112087304B (zh) | 2020-09-18 | 2020-09-18 | 可信计算环境的异构融合方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010986789.8A CN112087304B (zh) | 2020-09-18 | 2020-09-18 | 可信计算环境的异构融合方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112087304A true CN112087304A (zh) | 2020-12-15 |
CN112087304B CN112087304B (zh) | 2021-08-17 |
Family
ID=73738171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010986789.8A Active CN112087304B (zh) | 2020-09-18 | 2020-09-18 | 可信计算环境的异构融合方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112087304B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112560104A (zh) * | 2021-01-17 | 2021-03-26 | 梁志彬 | 一种基于云计算和区块链的数据存储方法及安全信息平台 |
CN114697107A (zh) * | 2022-03-29 | 2022-07-01 | 杭州安恒信息技术股份有限公司 | 通信方法、装置、计算机设备和可读存储介质 |
CN114726584A (zh) * | 2022-03-14 | 2022-07-08 | 湖南天河国云科技有限公司 | 基于区块链的异构tee统一预言认证的方法及平台 |
CN115550002A (zh) * | 2022-09-20 | 2022-12-30 | 贵州电网有限责任公司 | 一种基于tee的智能家居远程控制方法及相关装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477602A (zh) * | 2009-02-10 | 2009-07-08 | 浪潮电子信息产业股份有限公司 | 一种可信计算环境中远程证明的方法 |
CN105493044A (zh) * | 2013-09-12 | 2016-04-13 | 波音公司 | 移动通信装置和操作其的方法 |
US20170091438A1 (en) * | 2015-09-25 | 2017-03-30 | Intel Corporation | Secure authentication protocol systems and methods |
WO2019084908A1 (en) * | 2017-11-03 | 2019-05-09 | Nokia Technologies Oy | Method and apparatus for trusted computing |
CN110138799A (zh) * | 2019-05-30 | 2019-08-16 | 东北大学 | 一种基于sgx的安全云存储方法 |
CN111049825A (zh) * | 2019-12-12 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的安全多方计算方法和系统 |
CN111049799A (zh) * | 2019-11-13 | 2020-04-21 | 华为终端有限公司 | 控制方法、装置和系统 |
CN111092727A (zh) * | 2020-03-18 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 共享集群密钥的方法及装置 |
WO2020104032A1 (en) * | 2018-11-22 | 2020-05-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Secure handling of hardware activation codes |
WO2020125942A1 (en) * | 2018-12-18 | 2020-06-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Attestation of a platform entity |
-
2020
- 2020-09-18 CN CN202010986789.8A patent/CN112087304B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477602A (zh) * | 2009-02-10 | 2009-07-08 | 浪潮电子信息产业股份有限公司 | 一种可信计算环境中远程证明的方法 |
CN105493044A (zh) * | 2013-09-12 | 2016-04-13 | 波音公司 | 移动通信装置和操作其的方法 |
US20170091438A1 (en) * | 2015-09-25 | 2017-03-30 | Intel Corporation | Secure authentication protocol systems and methods |
WO2019084908A1 (en) * | 2017-11-03 | 2019-05-09 | Nokia Technologies Oy | Method and apparatus for trusted computing |
WO2020104032A1 (en) * | 2018-11-22 | 2020-05-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Secure handling of hardware activation codes |
WO2020125942A1 (en) * | 2018-12-18 | 2020-06-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Attestation of a platform entity |
CN110138799A (zh) * | 2019-05-30 | 2019-08-16 | 东北大学 | 一种基于sgx的安全云存储方法 |
CN111049799A (zh) * | 2019-11-13 | 2020-04-21 | 华为终端有限公司 | 控制方法、装置和系统 |
CN111049825A (zh) * | 2019-12-12 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的安全多方计算方法和系统 |
CN111092727A (zh) * | 2020-03-18 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 共享集群密钥的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112560104A (zh) * | 2021-01-17 | 2021-03-26 | 梁志彬 | 一种基于云计算和区块链的数据存储方法及安全信息平台 |
CN114726584A (zh) * | 2022-03-14 | 2022-07-08 | 湖南天河国云科技有限公司 | 基于区块链的异构tee统一预言认证的方法及平台 |
CN114697107A (zh) * | 2022-03-29 | 2022-07-01 | 杭州安恒信息技术股份有限公司 | 通信方法、装置、计算机设备和可读存储介质 |
CN114697107B (zh) * | 2022-03-29 | 2023-09-19 | 杭州安恒信息技术股份有限公司 | 通信方法、装置、计算机设备和可读存储介质 |
WO2023184619A1 (zh) * | 2022-03-29 | 2023-10-05 | 杭州安恒信息技术股份有限公司 | 通信方法、装置、计算机设备和可读存储介质 |
CN115550002A (zh) * | 2022-09-20 | 2022-12-30 | 贵州电网有限责任公司 | 一种基于tee的智能家居远程控制方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112087304B (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109361668B (zh) | 一种数据可信传输方法 | |
CN107743133B (zh) | 移动终端及其基于可信安全环境的访问控制方法和系统 | |
CN110138799B (zh) | 一种基于sgx的安全云存储方法 | |
CN112087304B (zh) | 可信计算环境的异构融合方法、装置及相关设备 | |
CN110784491B (zh) | 一种物联网安全管理系统 | |
CN109309565B (zh) | 一种安全认证的方法及装置 | |
RU2518924C2 (ru) | Беспроводное устройство, способ запроса пользовательского клиента управления доступом и способ выполнения клиента управления доступом | |
US11432150B2 (en) | Method and apparatus for authenticating network access of terminal | |
CN110249336B (zh) | 使用签名密钥对可信执行环境的寻址 | |
CN106603487B (zh) | 一种基于cpu时空隔离机制对tls协议处理进行安全改进的方法 | |
US20220114249A1 (en) | Systems and methods for secure and fast machine learning inference in a trusted execution environment | |
US11470060B2 (en) | Private exchange of encrypted data over a computer network | |
CN111614621B (zh) | 物联网通信方法和系统 | |
US20240054239A1 (en) | Cryptographically secure post-secrets-provisioning services | |
CN114584306B (zh) | 一种数据处理方法和相关装置 | |
CN113726733B (zh) | 一种基于可信执行环境的加密智能合约隐私保护方法 | |
US20240106633A1 (en) | Account opening methods, systems, and apparatuses | |
Keleman et al. | Secure firmware update in embedded systems | |
CN116599719A (zh) | 一种用户登录认证方法、装置、设备、存储介质 | |
CN101834852A (zh) | 一种保护平台信息的可信OpenSSH的实现方法 | |
CN115333779A (zh) | 一种验证数据的方法、装置及电子设备 | |
CN110858246B (zh) | 安全代码空间的认证方法和系统、及其注册方法 | |
KR20200101140A (ko) | 다중 인증 절차를 적용한 블록체인 기반 인증 정보 관리 서버 | |
KR100932275B1 (ko) | Tpm을 이용한 가입자 식별 모듈의 사용 제한 방법 및이를 위한 이동 단말기 | |
Culnane et al. | Formalising Application-Driven Authentication & Access-Control based on Users’ Companion Devices |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |