WO2023184619A1 - 通信方法、装置、计算机设备和可读存储介质 - Google Patents

通信方法、装置、计算机设备和可读存储介质 Download PDF

Info

Publication number
WO2023184619A1
WO2023184619A1 PCT/CN2022/087886 CN2022087886W WO2023184619A1 WO 2023184619 A1 WO2023184619 A1 WO 2023184619A1 CN 2022087886 W CN2022087886 W CN 2022087886W WO 2023184619 A1 WO2023184619 A1 WO 2023184619A1
Authority
WO
WIPO (PCT)
Prior art keywords
tee
computing node
trusted
verification module
running
Prior art date
Application number
PCT/CN2022/087886
Other languages
English (en)
French (fr)
Inventor
王吾冰
徐东德
Original Assignee
杭州安恒信息技术股份有限公司
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 杭州安恒信息技术股份有限公司 filed Critical 杭州安恒信息技术股份有限公司
Publication of WO2023184619A1 publication Critical patent/WO2023184619A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

Definitions

  • This application relates to the field of network security technology, and in particular to a communication method, device, computer equipment and computer-readable storage medium.
  • HTTPS Hyper Text Transfer Protocol over SecureSocket Layer, Hypertext Transfer Security Protocol
  • the CA certificate authority is introduced in related technologies to verify the HTTPS server side. .
  • the CA certificate authority has two functions. One is to issue a certificate to the website (cloud server) to prove the legal identity of the website (cloud server).
  • the other is when the user wants to access the website (cloud server), after obtaining the certificate from the website (cloud server), the certificate is sent to the CA certificate authority to verify whether the website (cloud server) is a verified and legal website (cloud server) ), after the user confirms the legitimacy of the website (cloud server), the user can safely establish a secure link with the website (cloud server) to transmit private information.
  • TEE Trusted Execution Environment, Trusted Computing Environment
  • the relevant CA certificate issuing authority is no longer able to provide users with the ability to verify the legitimacy of the website (cloud server), and the user cannot establish a secure channel with the cloud server, and the relevant CA certificate issuing authority does not have the ability to detect whether the TEE is trustworthy and The ability to detect whether the running content in the TEE is safe has led to the problem in related technologies that users cannot establish a secure communication link with the TEE.
  • a communication method, apparatus, computer equipment, and computer-readable storage medium are provided.
  • embodiments of the present application provide a communication method for a user to establish a secure communication link with a TEE in a cloud server.
  • the method includes the following steps:
  • the trusted measurement mechanism of the TEE is called to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE, and the measurement results are sent to the trusted verification module; the trusted verification module runs in addition in the trusted TEE;
  • a communication link is established between the user and the computing node.
  • establishing a communication link between the user and the computing node after confirming that the running environment of the computing node is trustworthy and the running content of the computing node is safe includes the following steps:
  • the trusted verification module After confirming that the operating environment of the computing node is trustworthy and the operating content of the computing node is safe, the trusted verification module is controlled to sign the public key of the computing node to form a digital certificate, and convert the digital The certificate is sent to the computing node;
  • a communication link is established between the user and the computing node using the digital certificate.
  • the trusted measurement mechanism that calls the TEE performs security measurements on the operating environment and operating content of the computing nodes running in the TEE, and sends the measurement results to the trusted verification module, including the following steps:
  • controlling the trusted verification module to verify the measurement results based on the relevant verification information includes the following steps:
  • the method before calling the trusted measurement mechanism of the TEE to perform security measurement on the operating environment and operating content of the computing node running in the TEE, the method further includes:
  • connection request includes one or more of: private data upload, private computing algorithm upload, private machine learning model upload, private computing task protected execution request, private data download.
  • the method further includes:
  • this embodiment provides a communication device for the user to establish a secure communication link with the TEE in the cloud server.
  • the device includes a calling module, a verification module and a link module;
  • the calling module is used to call the TEE's trusted measurement mechanism to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE after the TEE is started, and send the measurement results to the trusted verification module;
  • the trusted verification module runs in another trusted TEE;
  • the verification module is used to obtain relevant verification information from the remote verification server of the TEE, and control the trusted verification module to verify the measurement results according to the relevant verification information, thereby determining whether the operating environment of the computing node is Trustworthy and whether the running content of the computing node is safe;
  • the link module is configured to establish a communication link between the user and the computing node after confirming that the operating environment of the computing node is trustworthy and the operating content of the computing node is safe.
  • this embodiment provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor.
  • the processor executes the computer program, the above is implemented. The steps of the method described in the first aspect.
  • this embodiment provides a computer-readable storage medium on which a computer program is stored.
  • the computer program is executed by a processor, the steps of the method described in the first aspect are implemented.
  • Figure 1 is an application scenario diagram of a communication method according to one or more embodiments.
  • Figure 2 is a flowchart of a communication method according to one or more embodiments.
  • Figure 3 is a schematic structural diagram of a communication device according to one or more embodiments.
  • Figure 4 is a schematic structural diagram of a computer device according to one or more embodiments.
  • an embodiment means that a particular feature, structure or characteristic described in connection with the embodiment may be included in at least one embodiment of the application.
  • the appearances of this phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by those of ordinary skill in the art that the embodiments described in this application may be combined with other embodiments without conflict.
  • Words such as “connected”, “connected”, “coupled” and the like mentioned in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
  • the "plurality” mentioned in this application refers to two or more than two.
  • “And/or” describes the relationship between related objects, indicating that three relationships can exist. For example, “A and/or B” can mean: A alone exists, A and B exist simultaneously, and B exists alone.
  • the character “/” generally indicates that the related objects are in an “or” relationship.
  • the terms “first”, “second”, “third”, etc. used in this application are only used to distinguish similar objects and do not represent a specific ordering of the objects.
  • FIG 1 is an application scenario diagram of a communication method provided by an embodiment of the present application.
  • the user and the cloud service provider (cloud server) are connected through a network.
  • the cloud service provider receives the user's connection request and creates or starts a TEE.
  • the TEE calls its own trusted measurement mechanism to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE, and sends the measurement results to the trusted verification module, which runs in another in the trusted TEE.
  • the trusted verification module obtains relevant verification information from the remote verification server (TEE's root trust server) and verifies the measurement results based on the relevant verification information to determine whether the operating environment of the computing node is trustworthy and whether the operating content of the computing node is safe.
  • the trusted verification module After confirming that the running environment of the computing node is trustworthy and the running content of the computing node is safe, the trusted verification module signs the public key of the computing node to form a digital certificate, and sends the digital certificate to the computing node; users and computing nodes A communication link is established between them through digital certificates.
  • This embodiment provides a communication method for the user to establish a secure communication link with the TEE in the cloud server. As shown in Figure 2, the method includes the following steps:
  • Step S110 After the TEE is started, the trusted measurement mechanism of the TEE is called to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE, and the measurement results are sent to the trusted verification module; the trusted verification module runs on In another trusted TEE.
  • TEE is a trusted execution environment generated and protected by hardware. The confidentiality and integrity of the code and data running in this environment are protected by hardware. Although TEE is a trusted execution environment, it is possible for cloud service providers to destroy the TEE environment and maliciously construct TEE computing nodes. Therefore, after the TEE is started, it is necessary to detect the operating environment and operating content of the computing nodes running in the TEE.
  • the trusted verification module has been verified as credible, and the trusted verification module runs in another trusted TEE. This trusted TEE has also been verified to ensure that it is a real TEE environment. , so the trusted startup of the real TEE ensures that the started trusted verification module is trusted.
  • the cloud service provider modifies the source code of the program of the trusted verification module
  • the modification can be detected by the TEE's trusted startup and refuse to start.
  • the security of the trusted verification module during operation is guaranteed by the TEE's own mechanism.
  • the TEE protects the memory in the TEE, restricts the cloud service provider's access to the TEE memory, and ensures that the trusted verification module
  • the cloud service provider cannot destroy the memory integrity of the trusted verification module during operation, and thus cannot maliciously insert its own certificate into the trusted verification module. As a result, the startup and operation of the trusted verification module are fully protected.
  • the TEE's trusted measurement mechanism is the TEE's own measurement mechanism.
  • the TEE's trusted measurement mechanism is called to perform security measurement on the signature of the computing node's operating environment (as long as the TEE is started, there will be a signature), and a measurement result is obtained. , and perform security measurement on the running content of the computing node, obtain a measurement value (such as hash value), and send the measurement result to the trusted verification module for verification, and the trusted verification module verifies the measurement result.
  • the cloud service provider performs a replay attack on the measurement results after intercepting the legitimate measurement results.
  • the measurement results obtained by calling the TEE's trusted measurement mechanism for measurement contain the NONCE field and the integrity protection field MAC. , when controlling the trusted verification module to verify the measurement results, the replay attack of the cloud service provider can be effectively identified based on the NONCE field and the integrity protection field MAC.
  • Step S120 Obtain relevant verification information from the remote verification server of the TEE, and control the trusted verification module to verify the measurement results based on the relevant verification information, thereby determining whether the operating environment of the computing node is trustworthy and whether the operating content of the computing node is safe.
  • the remote verification server is the root of trust of the TEE. It can obtain relevant verification information from the TEE's remote verification server, control the trusted verification module to verify the measurement results based on the relevant verification information, and use relevant remote verification technology to verify the measurement results. Verify to determine whether the running environment of the computing node is a real TEE environment and whether the running content of the computing node is safe.
  • a TPM Trusted Platform Module
  • the trusted TEE can be used to store the measurement values of the security program, and can compare the measurement values of the running content of the computing nodes with the security program. Compare and verify the metric values to determine whether the running content of the computing node is safe.
  • Step S130 After confirming that the running environment of the computing node is trustworthy and the running content of the computing node is safe, a communication link is established between the user and the computing node.
  • a secure link can be established between the user and the computing node in a similar manner to establishing an HTTPS link, and the user can upload data to the TEE. for safe calculations.
  • the HTTPS server is verified by introducing a CA certificate authority.
  • the relevant CA certificate authority is no longer able to provide users with the ability to verify the legitimacy of the website (cloud server), and the user cannot establish a connection with the cloud server.
  • Secure channel and the relevant CA certificate issuing authority does not have the ability to detect whether the TEE is trustworthy and whether the running content in the TEE is safe, resulting in the problem that users cannot establish a secure communication link with the TEE in related technologies.
  • this application proposes a communication method.
  • the trusted measurement mechanism of the TEE is called to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE, and the measurement results are sent to Trusted verification module; the trusted verification module runs in another trusted TEE; obtains relevant verification information from the remote verification server of the TEE, and controls the trusted verification module to verify the measurement results based on the relevant verification information, thereby judging the performance of the computing node.
  • the running environment is trustworthy and the running content of the computing node is safe; after confirming that the running environment of the computing node is trustworthy and the running content of the computing node is safe, a communication link is established between the user and the computing node.
  • This application runs the trusted verification module in the trusted TEE, effectively preventing the cloud server from maliciously tampering with the trusted verification module, and calling the TEE's trustworthy measurement mechanism to verify the operating environment and operating content of the computing nodes running in the TEE.
  • Security measurement and use the trusted verification module to verify the measurement results.
  • a communication link is established between the user and the TEE in the cloud server to make full use of the TEE.
  • the security functions provided by itself, the attack resistance field in the trustworthiness mechanism of the TEE, and the verification function of the trusted verification module can effectively avoid malicious attacks from cloud servers or other websites, and enable users to establish secure communication links with the TEE in the cloud server.
  • the above-mentioned step S130 establishes a communication link between the user and the computing node after confirming that the operating environment of the computing node is trustworthy and the operating content of the computing node is safe, including the following steps:
  • Step S131 after confirming that the running environment of the computing node is trustworthy and the running content of the computing node is safe, control the trusted verification module to sign the public key of the computing node to form a digital certificate, and send the digital certificate to the computing node;
  • Step S132 Use the digital certificate to establish a communication link between the user and the computing node.
  • the trusted verification module since the trusted verification module is trustworthy, after confirming that the operating environment of the computing node is trustworthy and the operating content of the computing node is safe, the trusted verification module is controlled to sign the public key of the computing node to form a digital certificate, It is equivalent to providing a trustworthy certificate to the computing node.
  • using digital certificates to establish a communication link between the user and the computing node can ensure the privacy and security of the communication between the user and the computing node.
  • the cloud service provider will create a malicious public key and pass the malicious public key into the trusted verification module through the normal interface of the trusted verification module to obtain the digital certificate signed by the trusted verification module.
  • the cloud service provider does not have TEE measurement results, the public key will be rejected by the trusted verification module, thus effectively avoiding malicious attacks by the cloud service provider.
  • step S110 calls the trusted measurement mechanism of the TEE to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE, and sends the measurement results to the trusted verification module, including the following steps:
  • Step S111 Call the TEE's trusted measurement mechanism to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE, and form a measurement report based on the measurement results;
  • Step S112 Send the measurement report to the trusted verification module.
  • the measurement report is formed based on the measurement results.
  • the measurement report extracts effective information from the measurement results and displays the measurement results in a certain format, which can summarize and display the measurement results more clearly.
  • step S120 controls the trusted verification module to verify the measurement results based on relevant verification information, including the following steps:
  • Step S121 Control the trusted verification module to verify the measurement report based on relevant verification information.
  • the communication method before calling the trusted measurement mechanism of the TEE in step S110 to perform security measurement on the operating environment and operating content of the computing node running in the TEE, the communication method also includes:
  • S100 Receive the user's connection request for the TEE, and create or start the TEE.
  • the TEE when receiving a user's connection request to the TEE, there may be no activated computing node in the cloud service provider. Therefore, when receiving the user's connection request to the TEE, the TEE needs to be re-created or started to ensure that the user's connection request is Request a response.
  • connection request includes one or more of: private data upload, private computing algorithm upload, private machine learning model upload, private computing task protected execution request, private data download.
  • the communication method further includes:
  • an insecure connection result is returned to the user.
  • returning an unsafe connection result to the user can effectively notify the user of the current connection status and avoid continuous waiting for the user.
  • FIG 3 is a schematic diagram of a time synchronization device according to an embodiment.
  • a communication device 30 is provided.
  • the device includes a calling module 31, a verification module 32 and a link module 33.
  • the calling module 31 is used to call the trusted measurement mechanism of the TEE to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE after the TEE is started, and send the measurement results to the trusted verification module; trusted verification The module runs in another trusted TEE;
  • the verification module 32 is used to obtain relevant verification information from the remote verification server of the TEE, and control the trusted verification module to verify the measurement results according to the relevant verification information, thereby determining whether the operating environment of the computing node is trustworthy and whether the operating content of the computing node is trustworthy. Safety;
  • the link module 33 is used to establish a communication link between the user and the computing node after confirming that the operating environment of the computing node is trustworthy and the operating content of the computing node is safe.
  • the above-mentioned communication device 30 performs security measurement on the operating environment and operating content of the computing node running in the TEE by calling the TEE's trusted measurement mechanism after the TEE is started, and sends the measurement results to the trusted verification module; trusted verification The module runs in another trusted TEE; obtains relevant verification information from the TEE's remote verification server, and controls the trusted verification module to verify the measurement results based on the relevant verification information, thereby determining whether the operating environment of the computing node is trustworthy and whether the computing node Whether the running content of the computing node is safe; after confirming that the running environment of the computing node is trustworthy and the running content of the computing node is safe, a communication link is established between the user and the computing node.
  • This application runs the trusted verification module in the trusted TEE, effectively preventing the cloud server from maliciously tampering with the trusted verification module, and calling the TEE's trustworthy measurement mechanism to verify the operating environment and operating content of the computing nodes running in the TEE.
  • Security measurement and use the trusted verification module to verify the measurement results.
  • a communication link is established between the user and the TEE in the cloud server to make full use of the TEE.
  • the security functions provided by itself, the attack resistance field in the trustworthiness mechanism of the TEE, and the verification function of the trusted verification module can effectively avoid malicious attacks from cloud servers or other websites, and enable users to establish secure communication links with the TEE in the cloud server.
  • the link module 33 is also used to control the trusted verification module to sign the public key of the computing node to form a digital certificate after confirming that the operating environment of the computing node is trustworthy and the operating content of the computing node is safe. And send the digital certificate to the computing node; use the digital certificate to establish a communication link between the user and the computing node.
  • the calling module 31 is also used to call the trusted measurement mechanism of the TEE to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE, and form a measurement report based on the measurement results; send the measurement report To the trusted verification module.
  • the verification module 32 is also used to control the trusted verification module to verify the metric report based on relevant verification information.
  • the communication device 30 further includes a startup module, configured to receive the user's connection to the TEE before calling the trusted measurement mechanism of the TEE to perform security measurement on the operating environment and operating content of the computing node running in the TEE. Request, create or start a TEE.
  • connection request includes one or more of: private data upload, private computing algorithm upload, private machine learning model upload, private computing task protected execution request, and private data download.
  • the communication device 30 further includes a notification module, configured to return an insecure connection result to the user when it is confirmed that the operating environment of the computing node is untrustworthy or the operating content of the computing node is unsafe.
  • each of the above modules may be a functional module or a program module, and may be implemented by software or hardware.
  • Each of the above modules may be embedded in or independent of the processor of the computer device in the form of hardware, or may be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
  • a computer device is provided.
  • the computer device may be a server, and its internal structure diagram may be shown in Figure 4 .
  • the computer device includes a processor, memory, network interface, and database connected through a system bus. Wherein, the processor of the computer device is used to provide computing and control capabilities.
  • the memory of the computer device includes non-volatile storage media and internal memory.
  • the non-volatile storage medium stores operating systems, computer programs and databases. This memory provides an environment for the execution of operating systems and computer programs in non-volatile storage media.
  • the database of the computer device is used to store a set of preset configuration information.
  • the network interface of the computer device is used to communicate with external terminals through a network connection.
  • the computer program implements the above communication method when executed by the processor.
  • a computer device which may be a terminal.
  • the computer equipment includes a processor, memory, network interface, display screen and input device connected by a system bus.
  • the processor of the computer device is used to provide computing and control capabilities.
  • the memory of the computer device includes non-volatile storage media and internal memory.
  • the non-volatile storage medium stores operating systems and computer programs. This memory provides an environment for the execution of operating systems and computer programs in non-volatile storage media.
  • the network interface of the computer device is used to communicate with external terminals through a network connection.
  • the computer program when executed by the processor, implements a communication method.
  • the display screen of the computer device may be a liquid crystal display or an electronic ink display.
  • the input device of the computer device may be a touch layer covered on the display screen, or may be a button, trackball or touch pad provided on the computer device shell. , it can also be an external keyboard, trackpad or mouse, etc.
  • FIG. 4 is only a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer equipment to which the solution of the present application is applied.
  • Specific computer equipment may include There may be more or fewer parts than shown, or certain parts may be combined, or may have a different arrangement of parts.
  • a computer-readable storage medium is provided with a computer program stored thereon.
  • the computer program is executed by a processor, the following steps are implemented:
  • the trusted measurement mechanism of the TEE is called to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE, and the measurement results are sent to the trusted verification module; the trusted verification module runs on another reliable Letter TEE;
  • a communication link is established between the user and the computing node.
  • the processor also implements the following steps when executing the computer program:
  • control trusted verification module After confirming that the operating environment of the computing node is trustworthy and the operating content of the computing node is safe, the control trusted verification module signs the public key of the computing node to form a digital certificate, and sends the digital certificate to the computing node;
  • Digital certificates are used to establish communication links between users and computing nodes.
  • the processor also implements the following steps when executing the computer program:
  • TEE Call the TEE's trusted measurement mechanism to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE, and form a measurement report based on the measurement results;
  • the processor also implements the following steps when executing the computer program:
  • the processor before calling the trusted measurement mechanism of the TEE to perform security measurements on the operating environment and operating content of the computing node running in the TEE, the processor also implements the following steps when executing the computer program:
  • connection request includes one or more of: private data upload, private computing algorithm upload, private machine learning model upload, private computing task protected execution request, private data download.
  • the processor also implements the following steps when executing the computer program:
  • an insecure connection result is returned to the user.
  • the above storage medium after the TEE is started, calls the TEE's trusted measurement mechanism to perform security measurements on the operating environment and operating content of the computing nodes running in the TEE, and sends the measurement results to the trusted verification module; the trusted verification module Runs in another trusted TEE; obtains relevant verification information from the remote verification server of the TEE, and controls the trusted verification module to verify the measurement results based on the relevant verification information, thereby determining whether the operating environment of the computing node is trustworthy and whether the computing node is reliable. Whether the running content is safe; after confirming that the running environment of the computing node is trustworthy and the running content of the computing node is safe, a communication link is established between the user and the computing node.
  • This application runs the trusted verification module in the trusted TEE, effectively preventing the cloud server from maliciously tampering with the trusted verification module, and calling the TEE's trustworthy measurement mechanism to verify the operating environment and operating content of the computing nodes running in the TEE.
  • Security measurement and use the trusted verification module to verify the measurement results.
  • a communication link is established between the user and the TEE in the cloud server to make full use of the TEE.
  • the security functions provided by itself, the attack resistance field in the trustworthiness mechanism of the TEE, and the verification function of the trusted verification module can effectively avoid malicious attacks from cloud servers or other websites, and enable users to establish secure communication links with the TEE in the cloud server.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种通信方法、装置、计算机设备和计算机可读存储介质,通过在TEE启动后,调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度量结果发送给可信验证模块;从TEE的远程验证服务器中获取相关验证信息,控制可信验证模块根据相关验证信息对度量结果进行验证;在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与计算节点之间建立通信链接。

Description

通信方法、装置、计算机设备和可读存储介质
相关申请
本申请要求2022年3月29日申请的,申请号为202210318463.7,发明名称为“通信方法、装置、计算机设备和可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络安全技术领域,特别是涉及一种通信方法、装置、计算机设备和计算机可读存储介质。
背景技术
HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议)为端到端的安全通信提供了算法基础,但是HTTPS的弱点为中间人攻击,因此相关技术中引入CA证书颁发机构对HTTPS服务器端进行验证。CA证书颁发机构的作用有两个,一个是给网站(云服务器)颁发证书证明网站(云服务器)的合法身份。另一个是当用户想访问网站(云服务器)时,从网站(云服务器)获得证书之后,将证书发给CA证书颁发机构,验证该网站(云服务器)是否是经过验证的合法网站(云服务器),在用户确认网站(云服务器)的合法性之后,用户可以放心地与该网站(云服务器)建立安全链接传输私密信息。
然而,在传统的威胁模型中,用户是可以相信整个网站(云服务器)的,所以可以用相关的CA证书颁发机构对HTTPS服务器端进行验证。但是在可信计算的威胁模型中,网站(云服务器)的绝大部分(网络,主机,系统)都是不被用户信任的。用户只信任网站(云服务器)中某一块被硬件保护的模块,即TEE(Trusted Execution Environment,可信计算环境)。TEE是由硬件产生且由硬件保护的可信执行环境,运行在该环境中的代码以及数据的机密性和完整性由硬件提供保护。用户通常有隐私计算的需求,例如,用户希望将数据上传至网站(云服务器)的TEE中进行安全的运算,同时保证该数据不被网站(云 服务器)所获取,由于可信部分位于不可信网站(云服务器)内部,用户和可信部分的通信必然要经过不可信部分。相关的CA证书颁发机构已经无法满足给用户提供网站(云服务器)合法性验证的能力,用户就无法与云服务器端建立安全通道,且相关的CA证书颁发机构没有检测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是根据一个或多个实施例的计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过 程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
图1为本申请一个实施例提供的通信方法的应用场景图。如图1所示,用户与云服务提供商(云服务器)之间通过网络链接,云服务提供商接收到用户的连接请求,创建或者启动TEE。在TEE启动后,TEE调用自身的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度 量结果发送给可信验证模块,其中可信验证模块运行于另外的可信TEE中。可信验证模块从远程验证服务器(TEE的根信任服务器)中获取相关验证信息,并根据相关验证信息对度量结果进行验证,从而判断计算节点的运行环境是否可信以及计算节点的运行内容是否安全;在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,可信验证模块将计算节点的公钥进行签名形成数字证书,并将数字证书发送给计算节点;用户和计算节点之间通过数字证书建立通信链接。
本实施例提供了一种通信方法,用于用户与云服务器内的TEE建立安全通信链接,如图2所示,该方法包括以下步骤:
步骤S110,在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启动,就会有签名)进行安全度量,得到一个度量结果,以及对计算节点的运行内容进行安全度量,得到一个度量值(例如hash值),并将度量结果发送给可信验证模块进行验证,由可信验证模块对度量结果进行验证。作为其中一种攻击方式,云服务提供商在截取合法度量结果后对度量结果进行重放攻击,但由于调用TEE的可信度量机制进行度量得到的度量结果中存在NONCE字段以及完整性保护字段MAC,控制可信验证模块对度量结果进行验证的时候,可以根据NONCE字段以及完整性保护字段MAC对云服务提供商的重放攻击进行有效识别。
步骤S120,从TEE的远程验证服务器中获取相关验证信息,控制可信验证模块根据相关验证信息对度量结果进行验证,从而判断计算节点的运行环境是否可信以及计算节点的运行内容是否安全。
具体地,远程验证服务器是TEE的信任根,可以从TEE的远程验证服务器中获取相关验证信息,控制可信验证模块根据相关验证信息对度量结果进行验证,可以利用相关的远程验证技术对度量结果进行验证,从而判断计算节点的运行环境是否是真实的TEE环境以及计算节点的运行内容是否是安全的。作为其中一种实施方式,可信TEE中存在一个TPM(Trusted Platform Module,可信赖平台模块)模块,可以用来存放安全程序的度量值,可以将对计算节点的运行内容的度量值与安全程序的度量值进行比对验证,判断计算节点的运行内容是否安全。
步骤S130,在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与计算节点之间建立通信链接。
具体地,在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,用户与计算节点之间就可以通过建立HTTPS链接类似的方式建立安全链接,用户就可以将数据上传至TEE中进行安全的计算。
相关技术中,通过引入CA证书颁发机构对HTTPS服务器端进行验证,然 而,相关的CA证书颁发机构已经无法满足给用户提供网站(云服务器)合法性验证的能力,用户就无法与云服务器端建立安全通道,且相关的CA证书颁发机构没有检测TEE是否可信的能力以及检测TEE内的运行内容是否安全的能力,导致相关技术中存在用户无法和TEE建立安全通信链接的问题。
为了解决上述问题,本申请提出一种通信方法,通过在TEE启动后,调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度量结果发送给可信验证模块;可信验证模块运行于另外的可信TEE中;从TEE的远程验证服务器中获取相关验证信息,控制可信验证模块根据相关验证信息对度量结果进行验证,从而判断计算节点的运行环境是否可信以及计算节点的运行内容是否安全;在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与计算节点之间建立通信链接。本申请将可信验证模块运行于可信TEE中,有效避免云服务器对可信验证模块的恶意篡改,且调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并利用可信验证模块对度量结果进行验证,在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与云服务器内的TEE建立通信链接,充分利用TEE本身提供的安全功能、TEE的可信度量机制中攻击抵御字段以及可信验证模块的验证功能,有效避免云服务器或其他网站的恶意攻击,实现用户与云服务器内的TEE建立安全通信链接。
作为其中一种实施方式,上述步骤S130在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与计算节点之间建立通信链接,包括以下步骤:
步骤S131,在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,控制可信验证模块将计算节点的公钥进行签名形成数字证书,并将数字证书发送给计算节点;
步骤S132,利用数字证书在用户与计算节点之间建立通信链接。
具体地,由于可信验证模块是可信的,在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,控制可信验证模块将计算节点的公钥进 行签名形成数字证书,相当于给计算节点提供一个可信证明,此外,利用数字证书在用户与计算节点之间建立通信链接,可以确保用户与计算节点之间的通信具备私密性和安全性。作为一种攻击方式,云服务提供商会创建恶意公钥,并将恶意公钥通过可信验证模块的正常接口传入可信验证模块,以此来获取经可信验证模块签名后的数字证书,然而,由于云服务提供商没有TEE的度量结果,该公钥会被可信验证模块拒绝,从而有效避免云服务提供商的恶意攻击。
在其中一个实施例中,上述步骤S110调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度量结果发送给可信验证模块,包括以下步骤:
步骤S111,调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并基于度量结果形成度量报告;
步骤S112,将度量报告发送给可信验证模块。
具体地,度量报告是基于度量结果形成的,度量报告会对度量结果进行有效信息提取并按照一定的格式对度量结果进行展示,能够对度量结果进行更清楚地总结和更明确地展示。
在其中一个实施例中,上述步骤S120控制可信验证模块根据相关验证信息对度量结果进行验证,包括以下步骤:
步骤S121,控制可信验证模块根据相关验证信息对度量报告进行验证。
由于度量报告展示的度量结果更加明确,控制可信验证模块根据相关验证信息对度量报告进行验证,能够有效提高可信验证模块的验证效率。
在其中一个实施例中,在步骤S110调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量之前,通信方法还包括:
S100,接收用户对TEE的连接请求,创建或启动TEE。
具体地,由于在接收到用户对TEE的连接请求时,存在云服务提供商内没有启动的计算节点的情况,所以在接收到用户对TEE的连接请求,需要重新创建或启动TEE,确保对用户请求进行响应。
作为其中一种实施方式,连接请求包括:隐私数据上传、隐私计算算法的 上传、隐私机器学习模型的上传、隐私计算任务受保护运行请求、隐私数据下载中的一种或多种。
在其中一个实施例中,通信方法还包括:
在确认计算节点的运行环境不可信或计算节点的运行内容不安全的情况下,向用户返回连接不安全的结果。
具体地,在确认计算节点的运行环境不可信或计算节点的运行内容不安全的情况下,向用户返回连接不安全的结果,可有效通知用户当前的连接情况,避免用户持续等待。
图3根据实施例中时间同步装置的示意图,如图3示,提供了一种通信装置30,装置包括调用模块31、验证模块32和链接模块33。
调用模块31,用于在TEE启动后,调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度量结果发送给可信验证模块;可信验证模块运行于另外的可信TEE中;
验证模块32,用于从TEE的远程验证服务器中获取相关验证信息,控制可信验证模块根据相关验证信息对度量结果进行验证,从而判断计算节点的运行环境是否可信以及计算节点的运行内容是否安全;
链接模块33,用于在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与计算节点之间建立通信链接。
上述通信装置30,通过在TEE启动后,调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度量结果发送给可信验证模块;可信验证模块运行于另外的可信TEE中;从TEE的远程验证服务器中获取相关验证信息,控制可信验证模块根据相关验证信息对度量结果进行验证,从而判断计算节点的运行环境是否可信以及计算节点的运行内容是否安全;在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与计算节点之间建立通信链接。本申请将可信验证模块运行于可信TEE中,有效避免云服务器对可信验证模块的恶意篡改,且调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并 利用可信验证模块对度量结果进行验证,在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与云服务器内的TEE建立通信链接,充分利用TEE本身提供的安全功能、TEE的可信度量机制中攻击抵御字段以及可信验证模块的验证功能,有效避免云服务器或其他网站的恶意攻击,实现用户与云服务器内的TEE建立安全通信链接。
在其中一个实施例中,链接模块33还用于在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,控制可信验证模块将计算节点的公钥进行签名形成数字证书,并将数字证书发送给计算节点;利用数字证书在用户与计算节点之间建立通信链接。
在其中一个实施例中,调用模块31还用于调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并基于度量结果形成度量报告;将度量报告发送给可信验证模块。
在其中一个实施例中,验证模块32还用于控制可信验证模块根据相关验证信息对度量报告进行验证。
在其中一个实施例中,通信装置30还包括启动模块,用于在调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量之前,接收用户对TEE的连接请求,创建或启动TEE。
在其中一个实施例中,连接请求包括:隐私数据上传、隐私计算算法的上传、隐私机器学习模型的上传、隐私计算任务受保护运行请求、隐私数据下载中的一种或多种。
在其中一个实施例中,通信装置30还包括通知模块,用于在确认计算节点的运行环境不可信或计算节点的运行内容不安全的情况下,向用户返回连接不安全的结果。
需要说明地是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件实现,也可以通过硬件来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设配置信息集合。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述通信方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种通信方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在TEE启动后,调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度量结果发送给可信验证模块;可信验证模块运行于另外的可信TEE中;
从TEE的远程验证服务器中获取相关验证信息,控制可信验证模块根据相关验证信息对度量结果进行验证,从而判断计算节点的运行环境是否可信以及计算节点的运行内容是否安全;
在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与计算节点之间建立通信链接。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,控制可信验证模块将计算节点的公钥进行签名形成数字证书,并将数字证书发送给计算节点;
利用数字证书在用户与计算节点之间建立通信链接。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并基于度量结果形成度量报告;
将度量报告发送给可信验证模块。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
控制可信验证模块根据相关验证信息对度量报告进行验证。
在一个实施例中,在调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量之前,处理器执行计算机程序时还实现以下步骤:
接收用户对TEE的连接请求,创建或启动TEE。
在一个实施例中,连接请求包括:隐私数据上传、隐私计算算法的上传、隐私机器学习模型的上传、隐私计算任务受保护运行请求、隐私数据下载中的一种或多种。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在确认计算节点的运行环境不可信或计算节点的运行内容不安全的情况下,向用户返回连接不安全的结果。
上述存储介质,通过在TEE启动后,调用TEE的可信度量机制对运行于 TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度量结果发送给可信验证模块;可信验证模块运行于另外的可信TEE中;从TEE的远程验证服务器中获取相关验证信息,控制可信验证模块根据相关验证信息对度量结果进行验证,从而判断计算节点的运行环境是否可信以及计算节点的运行内容是否安全;在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与计算节点之间建立通信链接。本申请将可信验证模块运行于可信TEE中,有效避免云服务器对可信验证模块的恶意篡改,且调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并利用可信验证模块对度量结果进行验证,在确认计算节点的运行环境可信以及计算节点的运行内容安全的情况下,在用户与云服务器内的TEE建立通信链接,充分利用TEE本身提供的安全功能、TEE的可信度量机制中攻击抵御字段以及可信验证模块的验证功能,有效避免云服务器或其他网站的恶意攻击,实现用户与云服务器内的TEE建立安全通信链接。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

  1. 一种通信方法,用于用户与云服务器内的TEE建立安全通信链接,所述方法包括以下步骤:
    在TEE启动后,调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度量结果发送给可信验证模块;所述可信验证模块运行于另外的可信TEE中;
    从TEE的远程验证服务器中获取相关验证信息,控制所述可信验证模块根据所述相关验证信息对所述度量结果进行验证,从而判断所述计算节点的运行环境是否可信以及所述计算节点的运行内容是否安全;
    在确认所述计算节点的运行环境可信以及所述计算节点的运行内容安全的情况下,在用户与所述计算节点之间建立通信链接。
  2. 根据权利要求1所述的通信方法,其中,所述在确认所述计算节点的运行环境可信以及所述计算节点的运行内容安全的情况下,在用户与所述计算节点之间建立通信链接,包括以下步骤:
    在确认所述计算节点的运行环境可信以及所述计算节点的运行内容安全的情况下,控制所述可信验证模块将所述计算节点的公钥进行签名形成数字证书,并将所述数字证书发送给所述计算节点;
    利用所述数字证书在用户与所述计算节点之间建立通信链接。
  3. 根据权利要求1所述的通信方法,其中,所述调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度量结果发送给可信验证模块,包括以下步骤:
    调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并基于度量结果形成度量报告;
    将所述度量报告发送给可信验证模块。
  4. 根据权利要求3所述的通信方法,其中,所述控制所述可信验证模块根据所述相关验证信息对所述度量结果进行验证,包括以下步骤:
    控制所述可信验证模块根据所述相关验证信息对所述度量报告进行验 证。
  5. 根据权利要求1所述的通信方法,其中,在所述调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量之前,所述方法还包括:
    接收用户对TEE的连接请求,创建或启动TEE。
  6. 根据权利要求5所述的通信方法,其中,所述连接请求包括:隐私数据上传、隐私计算算法的上传、隐私机器学习模型的上传、隐私计算任务受保护运行请求、隐私数据下载中的一种或多种。
  7. 根据权利要求5所述的通信方法,其中,所述方法还包括:
    在确认所述计算节点的运行环境不可信或所述计算节点的运行内容不安全的情况下,向用户返回连接不安全的结果。
  8. 一种通信装置,用于用户与云服务器内的TEE建立安全通信链接,所述装置包括调用模块、验证模块和链接模块;
    所述调用模块,用于在TEE启动后,调用TEE的可信度量机制对运行于TEE中的计算节点的运行环境以及运行内容进行安全度量,并将度量结果发送给可信验证模块;所述可信验证模块运行于另外的可信TEE中;
    所述验证模块,用于从TEE的远程验证服务器中获取相关验证信息,控制所述可信验证模块根据所述相关验证信息对所述度量结果进行验证,从而判断所述计算节点的运行环境是否可信以及所述计算节点的运行内容是否安全;
    所述链接模块,用于在确认所述计算节点的运行环境可信以及所述计算节点的运行内容安全的情况下,在用户与所述计算节点之间建立通信链接。
  9. 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
  10. 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
PCT/CN2022/087886 2022-03-29 2022-04-20 通信方法、装置、计算机设备和可读存储介质 WO2023184619A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210318463.7A CN114697107B (zh) 2022-03-29 2022-03-29 通信方法、装置、计算机设备和可读存储介质
CN202210318463.7 2022-03-29

Publications (1)

Publication Number Publication Date
WO2023184619A1 true WO2023184619A1 (zh) 2023-10-05

Family

ID=82140967

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/087886 WO2023184619A1 (zh) 2022-03-29 2022-04-20 通信方法、装置、计算机设备和可读存储介质

Country Status (2)

Country Link
CN (1) CN114697107B (zh)
WO (1) WO2023184619A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087304A (zh) * 2020-09-18 2020-12-15 湖南红普创新科技发展有限公司 可信计算环境的异构融合方法、装置及相关设备
CN112434306A (zh) * 2020-12-11 2021-03-02 中国科学院信息工程研究所 可信度量方法,装置,系统,电子设备及存储介质
US20210226792A1 (en) * 2017-10-25 2021-07-22 Alibaba Group Holding Limited Trusted remote proving method, apparatus and system
CN114021106A (zh) * 2021-11-03 2022-02-08 海光信息技术股份有限公司 一种可信度量的远程认证方法、装置及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477602A (zh) * 2009-02-10 2009-07-08 浪潮电子信息产业股份有限公司 一种可信计算环境中远程证明的方法
CN111147252B (zh) * 2019-12-19 2022-03-15 北京可信华泰信息技术有限公司 一种云环境可信连接方法
CN113591159A (zh) * 2021-07-30 2021-11-02 支付宝(杭州)信息技术有限公司 一种可信度量方法和可信计算节点
CN113904806A (zh) * 2021-09-07 2022-01-07 天翼电子商务有限公司 一种可信执行环境多节点认证方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210226792A1 (en) * 2017-10-25 2021-07-22 Alibaba Group Holding Limited Trusted remote proving method, apparatus and system
CN112087304A (zh) * 2020-09-18 2020-12-15 湖南红普创新科技发展有限公司 可信计算环境的异构融合方法、装置及相关设备
CN112434306A (zh) * 2020-12-11 2021-03-02 中国科学院信息工程研究所 可信度量方法,装置,系统,电子设备及存储介质
CN114021106A (zh) * 2021-11-03 2022-02-08 海光信息技术股份有限公司 一种可信度量的远程认证方法、装置及系统

Also Published As

Publication number Publication date
CN114697107A (zh) 2022-07-01
CN114697107B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
CN112422532B (zh) 业务通信方法、系统、装置及电子设备
US9118666B2 (en) Computing device integrity verification
EP3061027B1 (en) Verifying the security of a remote server
US9184918B2 (en) Trusted hardware for attesting to authenticity in a cloud environment
US8621591B2 (en) Software signing certificate reputation model
US9077546B1 (en) Two factor validation and security response of SSL certificates
JP2019526993A (ja) ネットワーク機能仮想化システム及び検証方法
TW201939922A (zh) 可信伺服器的策略部署方法、裝置、系統及計算系統
US20220294646A1 (en) Identity management for software components
US10503882B2 (en) File execution
US9660863B2 (en) Network connecting method and electronic device
JP2022099256A (ja) 信頼された実行環境のためのスケーラブルな証明
CN111414640B (zh) 秘钥访问控制方法和装置
WO2019085311A1 (zh) 云平台专有网络间安全互联方法、装置、设备及存储介质
US10554480B2 (en) Systems and methods for maintaining communication links
WO2023184619A1 (zh) 通信方法、装置、计算机设备和可读存储介质
WO2022151736A1 (zh) 一种确定信任终端的方法及相关装置
CN110290113B (zh) 基于PoW算法的设备标识构造方法、装置及计算机可读存储介质
CN111245600A (zh) 基于区块链技术的鉴权认证方法和系统
TWI726406B (zh) 認證方法
WO2024002124A1 (zh) 远程证明方法、装置、系统、存储介质及计算机程序产品
Perrig et al. Safe passage for passwords and other sensitive data
CN115549948A (zh) 一种基于可信计算的去中心信任链认证方法、系统及介质
KR20100108132A (ko) 웹 접속 보안 관리 장치 및 방법
GB2588552A (en) File execution

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22934445

Country of ref document: EP

Kind code of ref document: A1