CN117278225A - 一种通信方法、装置、设备及介质 - Google Patents
一种通信方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117278225A CN117278225A CN202311258920.9A CN202311258920A CN117278225A CN 117278225 A CN117278225 A CN 117278225A CN 202311258920 A CN202311258920 A CN 202311258920A CN 117278225 A CN117278225 A CN 117278225A
- Authority
- CN
- China
- Prior art keywords
- message
- host
- enclave
- information
- enclacve
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012795 verification Methods 0.000 claims abstract description 17
- 230000015654 memory Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 125000000449 nitro group Chemical group [O-][N+](*)=O 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种通信方法、装置、设备及介质,host向enclave发送第一消息,第一消息用于请求与enclave连接;host接收来自enclacve的第二消息,第二消息包括第一信息的数字签名,第一信息包括以下的一项或多项:enclacve中的系统硬件信息、enclacve中的操作系统信息、enclacve中的应用程序信息;host采用enclacve的公钥对数字签名进行验证;在数字签名验证通过后,host向enclave发送第三消息,第三消息包括第一密文,第一密文是host采用第一密钥对待发送给enclave的数据进行加密得到的,第一密钥是host与enclave协商好的。
Description
技术领域
本申请涉及隐私保护技术领域,尤其涉及一种通信方法、装置、设备及介质。
背景技术
可信执行环境(Trusted Execution Environment,TEE)可以保证在不泄漏敏感数据的情况下多个计算方参与计算,但是基于TEE的数据保护方案在开发难度上较高,需要证明环境的可信程度,颁发证书,参与认证等多个环节。
目前的TEE方案,例如intel的sgx,amazon的nitro enclave,华为的擎天enclave技术,或者amd的SEV等,虽然提出了host与enclave可以通信,但两者如何通信是没有统一标准的。
发明内容
本申请提供了一种通信方法、装置、设备及介质,用以提供一种host与enclave之间的通信方式。
第一方面,提供了一种通信方法,包括:
host向enclave发送第一消息,所述第一消息用于请求与所述enclave连接;
所述host接收来自所述enclacve的第二消息,所述第二消息包括第一信息的数字签名,所述第一信息包括以下的一项或多项:所述enclacve中的系统硬件信息、所述enclacve中的操作系统信息、所述enclacve中的应用程序信息;
所述host采用所述enclacve的公钥对所述数字签名进行验证;
在数字签名验证通过后,所述host向所述enclave发送第三消息,所述第三消息包括第一密文,所述第一密文是所述host采用第一密钥对待发送给所述enclave的数据进行加密得到的,所述第一密钥是所述host与所述enclave协商好的。
在一种可能的实现中,在所述host向所述enclave发送第三消息之后,还包括:
所述host接收来自所述enclacve的第四消息,所述第四消息包括第二密文,所述第二密文是所述enclacve采用所述第一密钥对所述待发送给所述enclave的数据的运算结果进行加密得到的。
在一种可能的实现中,所述第一消息包括所述host随机生成的随机数;所述第一信息还包括所述host随机生成的随机数。
在一种可能的实现中,所述第一消息还包括所述host随机生成的第一公钥,所述第一公钥用于所述host与所述enclave协商所述第一密钥。
在一种可能的实现中,所述第二信息还包括:所述enclave的签名证书;所述host向所述enclave发送第三消息之前,所述host对所述enclave的签名证书验证通过。
第二方面,提供了一种通信方法,包括:
enclave接收来自host的第一消息,所述第一消息用于请求与所述enclave连接;
所述enclacve向所述host发送第二消息,所述第二消息包括第一信息的数字签名,所述第一信息包括以下的一项或多项:所述enclacve中的系统硬件信息、所述enclacve中的操作系统信息、所述enclacve中的应用程序信息;
所述enclave接收来自所述host的第三消息,所述第三消息包括第一密文,所述第一密文是所述host采用第一密钥对待发送给所述enclave的数据进行加密得到的,所述第一密钥是所述host与所述enclave协商好的,所述第三消息为所述host对所述数字签名验证通过后发送的。
在一种可能的实现中,在所述enclave接收来自所述host的第三消息之后,还包括:
所述enclacve向所述host发送第四消息,所述第四消息包括第二密文,所述第二密文是所述enclacve采用所述第一密钥对所述待发送给所述enclave的数据的运算结果进行加密得到的。
在一种可能的实现中,所述第一消息包括所述host随机生成的随机数;
所述第一信息还包括所述host随机生成的随机数。
在一种可能的实现中,所述第一消息还包括所述host随机生成的第一公钥,所述第一公钥用于所述host与所述enclave协商所述第一密钥。
在一种可能的实现中,所述第二信息还包括:所述enclave的签名证书,所述第三消息为所述host在对所述enclave的签名证书验证通过后发送的。
第三方面,提供了一种通信装置,包括:
收发模块,用于enclave发送第一消息,所述第一消息用于请求与所述enclave连接;接收来自所述enclacve的第二消息,所述第二消息包括第一信息的数字签名,所述第一信息包括以下的一项或多项:所述enclacve中的系统硬件信息、所述enclacve中的操作系统信息、所述enclacve中的应用程序信息;
处理模块,用于采用所述enclacve的公钥对所述数字签名进行验证;
所述收发模块,还用于在数字签名验证通过后,向所述enclave发送第三消息,所述第三消息包括第一密文,所述第一密文是所述装置采用第一密钥对待发送给所述enclave的数据进行加密得到的,所述第一密钥是所述装置与所述enclave协商好的。
在一种可能的实现中,所述收发模块,还用于接收来自所述enclacve的第四消息,所述第四消息包括第二密文,所述第二密文是所述enclacve采用所述第一密钥对所述待发送给所述enclave的数据的运算结果进行加密得到的。
在一种可能的实现中,所述第二信息还包括:所述enclave的签名证书;所述处理模块,还用于对所述enclave的签名证书验证通过。
第四方面,提供了一种通信装置,包括:
收发模块,用于接收来自host的第一消息,所述第一消息用于请求与所述装置连接;向所述host发送第二消息,所述第二消息包括第一信息的数字签名,所述第一信息包括以下的一项或多项:所述装置中的系统硬件信息、所述装置中的操作系统信息、所述装置中的应用程序信息;接收来自所述host的第三消息,所述第三消息包括第一密文,所述第一密文是所述host采用第一密钥对待发送给所述装置的数据进行加密得到的,所述第一密钥是所述host与所述装置协商好的,所述第三消息为所述host对所述数字签名验证通过后发送的。
在一种可能的实现中,所述收发模块,还用于向所述host发送第四消息,所述第四消息包括第二密文,所述第二密文是所述装置采用所述第一密钥对所述待发送给所述装置的数据的运算结果进行加密得到的。
第五方面,本申请提供了一种电子设备,包括:处理器,可选的,还包括存储器;所述处理器和所述存储器耦合;所述存储器,用于存储计算机程序或指令;所述处理器,用于执行所述存储器中的部分或者全部计算机程序或指令,当所述部分或者全部计算机程序或指令被执行时,用于实现上述任一项方法中的功能。
在一种可能的实现中,所述装置还可以包括收发器,所述收发器,用于发送所述处理器处理后的信号,或者接收输入给所述处理器的信号。所述收发器可以执行任一项方法的发送动作或接收动作。
第六方面,提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序包括用于实现任一项的功能的指令。
或者,一种计算机可读存储介质,用于存储计算机程序,所述计算机程序被计算机执行时,可以使得所述计算机执行上述任一项的方法。
第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述任一项的方法。
第八方面,提供了一种通信系统,所述通信系统包括执行上述通信方法的host和enclave。
附图说明
为了更清楚地说明本申请实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的一种通信流程示意图;
图2示出了本申请实施例提供的一种消息格式示意图;
图3示出了本申请实施例提供的一种通信装置结构图;
图4示出了本申请实施例提供的一种电子设备结构图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
应说明的是:本申请各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
接下来对本申请涉及的相关技术术语进行解释:
1、在非对称加密技术中,有两种密钥,分为私钥和公钥。私钥是密钥对所有者持有,不可公布。公钥是密钥对持有者公布给他人的。公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。私钥用来解密公钥加密的数据。
2、签名者使用私钥对待传输文本进行签名,形成数字签名。具体的,利用哈希算法,生成待传输文本的摘要,利用签名者的私钥,加密摘要。验签者采用签名者的公钥对数字签名进行验证。具体的,验签者利用签名者的公钥解密数字签名,得到解密后的摘要。验签者利用哈希算法生成传输文本的摘要,比对解密后的摘要与利用哈希算法生成的摘要。若两个摘要完全一致,则验签成功;否者验签失败。
若需验证签名者的身份,那么需要通过CA机构颁发的数字证书进行验证。首先,CA机构应该是可信任的。签名者将自己的公钥提交至CA机构进行备案,生成数字证书。数字证书包含签名者的公钥和身份信息。
3、可信执行环境(Trusted Execution Environment,TEE)是主处理器上与主操作系统(OS)分离的一个安全区域。TEE提供了一个执行空间,它为运行在设备上的可信应用程序提供了比操作系统(OS)更高的安全性。它确保数据在安全的环境中存储、处理和保护。TEE通过启用隔离的加密电子结构并启用端到端安全性,为任何连接的“事物”(例如可信应用程序(TA))提供保护。这包括执行经过验证的代码、机密性、真实性、隐私、系统完整性和数据访问权限。TEE广泛用于复杂设备,例如智能手机、平板电脑和机顶盒。TEE还被工业自动化、汽车和医疗保健等行业的受限芯片组和物联网设备制造商使用。TEE旨在比传统处理环境更安全,TEE还可以被称为富操作系统执行环境或REE,设备操作系统和应用程序在其中运行。
基于TEE,可以实现enclave(内存保护区域)技术,enclave可以对来自多个通信方的加密数据进行运算。数据在其生命周期中以三种状态存在,这三种状态为静态(atRest)、传输中(in Transit)、使用中(in Use)。在前两种状态下,使用加密技术来保证数据的保密性和完整性。数据在内存中被使用时是未被加密的,即在使用中保护数据和代码的能力很有限。Enclave要解决的问题是对多个通信方的加密数据进行运算。
图1示出了本申请实施例提供的一种通信流程示意图,该过程包括以下步骤:
步骤11:host向enclave发送第一消息,相应的,enclave接收来自host的第一消息。
第一消息为连接请求,所述第一消息用于host请求与所述enclave连接。现有的host-enclave通信场景下,host作为Server,enclave作为Client;而在本申请中,enclave作为Server,host作为Client。
在一种可选的示例中,所述第一消息包括所述host随机生成的随机数。
在一种可选的示例中,所述第一消息还包括所述host随机生成的第一公钥,所述第一公钥用于所述host与所述enclave协商第一密钥。或者,第一公钥可以在不同于第一消息的其它消息中发送给enclave。
步骤12:所述enclacve向所述host发送第二消息,相应的,所述host接收来自所述enclacve的第二消息。
所述第二消息包括第一信息的数字签名,所述第一信息包括以下的一项或多项:所述enclacve中的系统硬件信息、所述enclacve中的操作系统信息、所述enclacve中的应用程序信息。
第一信息的数字签名可以包含在验证文档中,验证文档包含于第二消息中。
所述enclacve中的系统硬件信息、所述enclacve中的操作系统信息和所述enclacve中的应用程序信息是enclacve使用底层接口获取到的。
如果所述第一消息包括所述host随机生成的随机数,则所述第一信息包括所述host随机生成的随机数。
enclacve对第一信息进行数字签名,具体为:enclacve对第一信息中的每一项分别计算哈希值,例如计算所述enclacve中的系统硬件信息的hash值、计算所述enclacve中的操作系统信息的hash值、计算所述enclacve中的应用程序信息的hash值,计算所述host随机生成的随机数的hash值。enclacve利用enclacve的私钥,对计算出的一项或多项哈希值进行加密,得到第一信息的数字签名。
在一种可选的示例中,所述第二消息还包括所述enclave的签名证书。
步骤13:所述host采用所述enclacve的公钥对所述数字签名进行验证。在数字签名验证通过后,执行步骤14。
对数字签名验证的过程为:host采用所述enclacve的公钥对密文进行解密,得到一项或多项hash值。
host计算自身保存的所述enclacve中的系统硬件信息的hash值、计算自身保存的所述enclacve中的操作系统信息的hash值、计算自身保存的所述enclacve中的应用程序信息的hash值,计算发送出去的随机生成的随机数的hash值,将计算出的一项或多项hash值与解密得到的一项或多项hash值进行比对,若完全一致,则数字签名验证通过,否则,数字签名未验证通过。
如果第二消息中包括enclave的签名证书,host还可以对enclave的签名证书进行验证,在数字签名验证通过以及对enclave的签名证书验证通过后,再向enclave发送第三消息。
步骤14:所述host向所述enclave发送第三消息,相应的,所述enclave接收来自所述host的第三消息。
所述第三消息包括第一密文,所述第一密文是所述host采用第一密钥对待发送给所述enclave的数据进行加密得到的,所述第一密钥是所述host与所述enclave协商好的,例如基于host随机生成的第一公钥进行协商的。
在一种可选的示例中,在所述enclave接收来自所述host的第三消息之后,所述enclacve还向所述host发送第四消息,相应的,所述host接收来自所述enclacve的第四消息。
所述第四消息包括第二密文,所述第二密文是所述enclacve采用所述第一密钥对所述待发送给所述enclave的数据的运算结果进行加密得到的。例如,运算为求平均值,例如,host发送的数据为多个员工的工资,enclave计算平均薪资。再例如,多个host与一个enclave通信,enclave对来自多个host的数据求平均,并将平均值返回给每个host。
可见,本申请定义了host与enclave之间的标准通信方式。便于在不同的可信执行环境平台上进行开发。将业务层代码与底层实现进行解耦,降低了业务/算法人员的工作负担。
针对部署问题,可以将上述的通信方式以及协议实现的Python包做成基础镜像,打包时基于基础镜像只添加算法/业务数据处理逻辑即可。另外,针对所有厂家提供了相同的协议及API,迁移时只需更换基础镜像,无需重新开发。
另外,本申请还定义了host与enclacve之间交互的消息的格式,例如,消息报文长度为76个字节。如图2所示,包括:消息类型字段,消息长度字段,会话标识(Session ID)字段,数据data字段。可选的,为了进一步保证双方的交互安全,消息报文中还可以包括随机数(nonce)字段,例如,随机数(nonce)字段位于会话标识(Session ID)字段和数据data字段之间。
结合上述介绍的第一消息至第四消息,对消息的类型进行介绍。
消息的类型包括但不限于:请求连接类型、认证类型、请求计算类型,反馈结果类型、自定义类型等。
消息类型字段中的内容是随着每次交互的消息来定的。例如,第一消息的类型为请求连接类型,第二消息的类型为认证类型,第三消息的类型为请求计算类型,第四消息的类型为反馈结果类型。
消息长度字段中的内容也是随每次交互的消息的内容(具体是指数据部分)而定的。
针对同一会话的交互,会话ID是相同的,例如,第一消息至第四消息中的会话ID是相同的。
在不同的消息中,随机数字段中的内容是随机生成的。
上述提及的第一消息至第四消息包括的内容均属于消息的数据部分。例如,第一消息包括的host随机生成的随机数、host随机生成的第一公钥属于消息的数据部分,数据部分的随机数与随机数nonce字段中的内容没有关联关系。
再例如,第二消息包括的第一信息的数字签名、enclave的签名证书属于消息的数据部分。
再例如,第三消息包括的第一密文属于消息的数据部分。
再例如,第四消息包括的第二密文属于消息的数据部分。
基于相同的技术构思,本申请还提供了一种通信装置,图3示出了一种通信装置结构示意图,包括:收发模块31和处理模块32。
当所述装置应用于host时,有以下几种可能的实现:
在一种可能的实现中,收发模块31,用于enclave发送第一消息,所述第一消息用于请求与所述enclave连接;接收来自所述enclacve的第二消息,所述第二消息包括第一信息的数字签名,所述第一信息包括以下的一项或多项:所述enclacve中的系统硬件信息、所述enclacve中的操作系统信息、所述enclacve中的应用程序信息;
处理模块32,用于采用所述enclacve的公钥对所述数字签名进行验证;
所述收发模块31,还用于在数字签名验证通过后,向所述enclave发送第三消息,所述第三消息包括第一密文,所述第一密文是所述装置采用第一密钥对待发送给所述enclave的数据进行加密得到的,所述第一密钥是所述装置与所述enclave协商好的。
在一种可能的实现中,所述收发模块31,还用于接收来自所述enclacve的第四消息,所述第四消息包括第二密文,所述第二密文是所述enclacve采用所述第一密钥对所述待发送给所述enclave的数据的运算结果进行加密得到的。
在一种可能的实现中,所述第二信息还包括:所述enclave的签名证书;所述处理模块32,还用于对所述enclave的签名证书验证通过。
当所述装置应用于enclave时,有以下几种可能的实现:
在一种可能的实现中,所述收发模块31,用于接收来自host的第一消息,所述第一消息用于请求与所述装置连接;向所述host发送第二消息,所述第二消息包括第一信息的数字签名,所述第一信息包括以下的一项或多项:所述装置中的系统硬件信息、所述装置中的操作系统信息、所述装置中的应用程序信息;接收来自所述host的第三消息,所述第三消息包括第一密文,所述第一密文是所述host采用第一密钥对待发送给所述装置的数据进行加密得到的,所述第一密钥是所述host与所述装置协商好的,所述第三消息为所述host对所述数字签名验证通过后发送的。
在一种可能的实现中,所述收发模块31,还用于向所述host发送第四消息,所述第四消息包括第二密文,所述第二密文是所述装置采用所述第一密钥对所述待发送给所述装置的数据的运算结果进行加密得到的。
基于相同的技术构思,本申请还提供了一种电子设备,图4示出了一种电子设备结构示意图,如图4所示,包括:处理器41,可选的,还包括:通信接口42、存储器43和通信总线44,其中,处理器41,通信接口42,存储器43通过通信总线44完成相互间的通信;
所述存储器43中存储有计算机程序,当所述程序被所述处理器41执行时,使得所述处理器41以完成上述通信方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口42用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
基于相同的技术构思,在上述各实施例的基础上,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,计算机可执行指令用于使计算机执行上述通信方法的步骤。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
基于相同的技术构思,在上述各实施例的基础上,本申请提供了一种计算机程序,所述计算机程序在由电子设备执行时,实现上述通信方法的步骤。
基于相同的技术构思,在上述各实施例的基础上,本申请提供了一种通信系统,所述通信系统包括:执行上述通信方法的host和enclave。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种通信方法,其特征在于,包括:
host向enclave发送第一消息,所述第一消息用于请求与所述enclave连接;
所述host接收来自所述enclacve的第二消息,所述第二消息包括第一信息的数字签名,所述第一信息包括以下的一项或多项:所述enclacve中的系统硬件信息、所述enclacve中的操作系统信息、所述enclacve中的应用程序信息;
所述host采用所述enclacve的公钥对所述数字签名进行验证;
在数字签名验证通过后,所述host向所述enclave发送第三消息,所述第三消息包括第一密文,所述第一密文是所述host采用第一密钥对待发送给所述enclave的数据进行加密得到的,所述第一密钥是所述host与所述enclave协商好的。
2.如权利要求1所述的方法,其特征在于,在所述host向所述enclave发送第三消息之后,还包括:
所述host接收来自所述enclacve的第四消息,所述第四消息包括第二密文,所述第二密文是所述enclacve采用所述第一密钥对所述待发送给所述enclave的数据的运算结果进行加密得到的。
3.一种通信方法,其特征在于,包括:
enclave接收来自host的第一消息,所述第一消息用于请求与所述enclave连接;
所述enclacve向所述host发送第二消息,所述第二消息包括第一信息的数字签名,所述第一信息包括以下的一项或多项:所述enclacve中的系统硬件信息、所述enclacve中的操作系统信息、所述enclacve中的应用程序信息;
所述enclave接收来自所述host的第三消息,所述第三消息包括第一密文,所述第一密文是所述host采用第一密钥对待发送给所述enclave的数据进行加密得到的,所述第一密钥是所述host与所述enclave协商好的,所述第三消息为所述host对所述数字签名验证通过后发送的。
4.如权利要求3所述的方法,其特征在于,在所述enclave接收来自所述host的第三消息之后,还包括:
所述enclacve向所述host发送第四消息,所述第四消息包括第二密文,所述第二密文是所述enclacve采用所述第一密钥对所述待发送给所述enclave的数据的运算结果进行加密得到的。
5.如权利要求1-4任一项所述的方法,其特征在于,所述第一消息包括所述host随机生成的随机数;
所述第一信息还包括所述host随机生成的随机数。
6.如权利要求1-4任一项所述的方法,其特征在于,所述第一消息还包括所述host随机生成的第一公钥,所述第一公钥用于所述host与所述enclave协商所述第一密钥。
7.如权利要求1-4任一项所述的方法,其特征在于,所述第二信息还包括:所述enclave的签名证书,所述第三消息为所述host在对所述enclave的签名证书验证通过后发送的。
8.一种通信装置,其特征在于,包括:用于执行如权利要求1-7任一项所述的方法的功能模块。
9.一种通信设备,其特征在于,包括:处理器和存储器;
所述存储器,用于存储计算机程序或指令;
所述处理器,用于执行所述存储器中的部分或者全部计算机程序或指令,当所述部分或者全部计算机程序或指令被执行时,用于实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于实现权利要求1-7任一项所述的方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311258920.9A CN117278225A (zh) | 2023-09-26 | 2023-09-26 | 一种通信方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311258920.9A CN117278225A (zh) | 2023-09-26 | 2023-09-26 | 一种通信方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117278225A true CN117278225A (zh) | 2023-12-22 |
Family
ID=89215650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311258920.9A Pending CN117278225A (zh) | 2023-09-26 | 2023-09-26 | 一种通信方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117278225A (zh) |
-
2023
- 2023-09-26 CN CN202311258920.9A patent/CN117278225A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110214440B (zh) | 计算系统,传送受保护数据的方法和可读存储介质 | |
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CA3048894C (en) | Addressing a trusted execution environment using encryption key | |
CN105745661B (zh) | 对权限管理的内容的基于策略的受信任的检测 | |
CN110249336B (zh) | 使用签名密钥对可信执行环境的寻址 | |
CN105095696B (zh) | 对应用程序进行安全认证的方法、系统及设备 | |
US9219607B2 (en) | Provisioning sensitive data into third party | |
CN112532393B (zh) | 一种跨链交易的验证方法、中继链节点设备及介质 | |
US20220114249A1 (en) | Systems and methods for secure and fast machine learning inference in a trusted execution environment | |
KR101311059B1 (ko) | 취소 정보 관리 | |
KR102177794B1 (ko) | 사물인터넷 블록체인 환경에서의 디바이스 분산 인증 방법 및 이를 이용한 디바이스 분산 인증 시스템 | |
WO2023143037A1 (zh) | 密钥管理和业务处理 | |
CN110235134B (zh) | 使用洁净室供应来寻址可信执行环境 | |
CN114338091B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
US20140082364A1 (en) | Collaborative Uses of a Cloud Computing Confidential Domain of Execution | |
CN117278225A (zh) | 一种通信方法、装置、设备及介质 | |
CN114223176B (zh) | 一种证书管理方法及装置 | |
CN114024702A (zh) | 信息安全保护的方法以及计算设备 | |
EP4174695A1 (en) | Method to store data persistently by a software payload | |
EP4175218A1 (en) | Method to establish a secure channel | |
CN115361168A (zh) | 一种数据加密方法、装置、设备及介质 | |
NZ754540B2 (en) | Addressing a trusted execution environment using signing key |
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 |