Method and system for verifying virtual trusted root in cloud environment

A verification method and root-of-trust technology, which is applied in the field of cloud computing, can solve problems such as user data destruction, cloud management platform cannot know in time, virtual root of trust cannot be known, and achieve the effect of preventing private data from being destroyed

Active Publication Date: 2020-04-10
SUZHOU LANGCHAO INTELLIGENT TECH CO LTD
4 Cites 1 Cited by

AI-Extracted Technical Summary

Problems solved by technology

The virtual root of trust stores sensitive information such as the key of the virtual machine user. Once the virtual root of trust is replaced by a malicious attacker, when the virtual machine user encrypts and decrypts private data using the replaced virtual root of trust, the private data may be compromised. destroyed
[0004] At present, the virtual root of trust verification function has not be...
View more

Method used

[0135] In summary, in the embodiment of the present invention, when the root of trust is loaded and operated by each virtual machine, the identity of the virtual root of trust is first verified by the cloud management platform; the virtual machine is verified according to the result of the cloud management platform , c...
View more

Abstract

The embodiment of the invention discloses a method and a system for verifying a virtual trusted root in a cloud environment, and the method comprises the steps: verifying the identity of the virtual trusted root through a cloud management platform when a virtual machine loads and operates the trusted root each time; and the virtual machine selects whether to continue to load and run the virtual trusted root according to the verification result of the cloud management platform. According to the method of the invention, the virtual trusted root verification function can be integrated in the cloud management platform, so that the private data is prevented from being damaged due to the use of the virtual trusted root by subsequent programs.

Application Domain

Digital data protectionPlatform integrity maintainance +1

Technology Topic

Virtual machineEngineering +3

Image

  • Method and system for verifying virtual trusted root in cloud environment
  • Method and system for verifying virtual trusted root in cloud environment
  • Method and system for verifying virtual trusted root in cloud environment

Examples

  • Experimental program(1)

Example Embodiment

[0044] In order to make the purpose, technical solution and advantages of the present invention more clear, the embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings. It should be noted that, in the case of no conflict, the embodiments in the present application and the features in the embodiments can be combined arbitrarily with each other.
[0045] The steps shown in the flowcharts of the figures may be performed in a computer system, such as a set of computer-executable instructions. Also, although a logical order is shown in the flowcharts, in some cases the steps shown or described may be performed in an order different from that shown or described herein.
[0046] figure 1 It is a flowchart of a verification method for a virtual root of trust in a cloud environment according to an embodiment of the present invention, as figure 1 As shown, the method of the embodiment of the present invention includes the following steps:
[0047] Step 101: the cloud management platform first verifies the identity of the virtual root of trust each time the virtual machine loads and runs the root of trust;
[0048] Among them, the root of trust is a security device that provides trusted services according to relevant specifications. The currently released root of trust specifications include the foreign Trusted Platform Module (Trusted Platform Module, , TCM);
[0049] The virtual root of trust is a module that provides root of trust services for virtual machines at the virtualization level;
[0050] The cloud management platform is a platform for managing various computing, network, storage and other resources in the cloud environment, and the more representative ones are OpenStack, oVirt, etc.;
[0051] Step 102: The virtual machine chooses whether to continue loading and running the virtual root of trust according to the verification result of the cloud management platform.
[0052] Specifically, the embodiment of the present invention proposes a verification method for a virtual root of trust in a cloud environment, so that the cloud management platform can verify the identity of the virtual root of trust deployed by each virtual machine. After tampering, the virtual machine emulator can be notified to prohibit the operation of the virtual root of trust, so as to prevent the destruction of private data caused by the use of the virtual root of trust in subsequent programs, and record the status of the virtual machine to facilitate the management of the cloud management platform to deal with problems.
[0053] The technical solution of the embodiment of the present invention revolves around the problem that the current cloud management platform has not realized the verification of the identity of the virtual root of trust, and proposes that each time the virtual machine loads and runs the root of trust, the cloud management platform first verifies the identity of the virtual root of trust, and the virtual machine according to The cloud management platform verifies the result and chooses whether to continue loading and running the virtual root of trust.
[0054] Further, the method includes:
[0055] After the virtual root of trust is initialized, the virtual machine extracts the identity certificate and generates identity verification request information;
[0056] Pass the identity certificate to the cloud management platform for identity verification;
[0057] The virtual machine judges whether to execute the memory mapping operation according to the verification result.
[0058] Specifically, during the initialization phase, the virtual machine will complete the initialization of the virtual root of trust, make the virtual root of trust available, and then establish the mapping relationship between the virtual root of trust and virtual memory. Only after the memory mapping is completed, other programs can Access uses the virtual root of trust, so the virtual machine can extract the identity certificate after the initialization of the virtual root of trust is completed, pass the certificate to the cloud management platform to verify the identity, and finally the virtual machine judges whether to perform the memory mapping operation according to the verification result.
[0059] Further, before extracting the identity certificate after the virtual root of trust is initialized, the virtual machine also includes:
[0060] When generating the virtual trusted root, a unique digital certificate is issued for each virtual trusted root to represent the identity, and the digital certificate is stored in the virtual trusted root;
[0061] The public key corresponding to the private key used to issue the digital certificate is disclosed for use by users of the virtual root of trust.
[0062] Specifically, the issuer of the virtual trusted root will issue a unique digital certificate for each virtual trusted root to represent the identity when generating the virtual trusted root. The certificate is usually stored in the virtual trusted root, and the virtual trusted root The issuer of the digital certificate usually publishes the public key corresponding to the private key used to issue the digital certificate for use by users of the virtual root of trust.
[0063] Further, before transferring the identity certificate to the cloud management platform for identity verification, it also includes:
[0064] After the initialization of the virtual root of trust is completed, the virtual machine makes the virtual root of trust available, and then establishes a mapping relationship between the virtual root of trust and the virtual memory, so that other programs access and use the virtual memory after the memory mapping is completed. root of trust.
[0065] Further, the method also includes:
[0066] When the root of trust of the virtual machine is tampered with, notify the virtual machine emulator to prohibit the operation of the virtual root of trust;
[0067] Among them, the virtual machine emulator is software that can simulate the computer hardware environment, and provides simulated hardware for the operating system and software running on it. Qemu is more representative;
[0068] The virtual machine management tool provides a unified interface to manage different virtual machine simulators, LibVirt is more representative.
[0069] Record the state of the virtual machine, so that the cloud management platform can process according to the state.
[0070] Further, the method also includes:
[0071] The cloud management platform is integrated with a key management module and an identity verification module; wherein the key management module provides keys for the identity verification module and manages keys used when building an encrypted channel; the identity verification module is used to verify virtual The validity of the identity certificate uploaded by the machine;
[0072] Both the cloud management platform and the virtual machine are integrated with an encrypted channel management module, which is used to construct an encrypted channel when exchanging data;
[0073] The virtual machine is integrated with a virtual trusted root management module, which is used to read the identity certificate and perform encryption and decryption when building an encrypted channel.
[0074] figure 2 It is a schematic framework diagram of the verification system of the virtual root of trust in the cloud environment of the embodiment of the present invention, such as figure 2 Shown:
[0075] The modules involved in a method for verifying a virtual root of trust in a cloud environment introduced by an embodiment of the present invention include: a key management module, an identity verification module, an encrypted channel management module, and a virtual root of trust management module. in,
[0076] Key management module: a module integrated in the cloud management platform. Its main function is to manage the public key of the virtual trusted root issuer. It can realize operations such as adding, deleting, and querying keys, and provides keys for the identity verification module. At the same time, this module can also manage the keys used when building encrypted channels.
[0077] Identity verification module: a module integrated in the cloud management platform, the main function is to verify the validity of the identity certificate uploaded by the virtual machine, the cloud management platform returns the verification result to the virtual machine, and records the verification result to facilitate platform users to query and locate problems;
[0078] Encrypted channel management module: It is integrated by both the cloud management platform and the virtual machine. Every time the virtual machine and the cloud management platform exchange data, an encrypted channel is constructed through this module to prevent the interaction information from being stolen and tampered with by the outside world;
[0079] Virtual trusted root management module: a module integrated with the virtual machine, which can operate the initialized virtual trusted root through the command of the virtual trusted root. It is mainly responsible for reading the identity certificate, encryption and decryption, such as when building an encrypted channel.
[0080] image 3 It is a sequence diagram of identity verification in the verification method of the virtual root of trust in the cloud environment of the embodiment of the present invention, such as image 3 Shown:
[0081] A method for verifying a virtual root of trust in a cloud environment described in an embodiment of the present invention may include the following steps:
[0082] S301. After the virtual machine completes the initialization operation of the virtual root of trust, it invokes the virtual root of trust to create an asymmetric key A, and uses the public key of key A as a parameter to initiate a verification request to the cloud management platform. The creation of key A follows the following formula (1)
[0083] nA=pA*qA
[0084] φ(nA)=(pA-1)*(qA-1)
[0085] eA=0x00010001
[0086] eA*dA mod φ(nA)=1 (1)
[0087] Among them, the subscript A indicates that this is a parameter of key A to distinguish subsequent keys;
[0088] pA and qA are two mutually prime random numbers;
[0089] φ(nA) represents the Euler number of nA;
[0090] (nA, eA) constitutes A's public key, and (dA, nA) constitutes A's private key.
[0091] S302. After receiving the verification request, the cloud management extracts and saves the public key of A in the uploaded information of the virtual machine, generates a random number nonce1, and extracts the public key of the cloud management platform's own key B, and encrypts nonce1 and B with the public key of A public key, feed back the encrypted information to the virtual machine, and record the nonce1 at the same time, the encryption process follows the formula (2);
[0092] meA=c(mod nA) (2)
[0093] Among them, m represents the plaintext, here represents nonce1 and (nB, eB), and c represents the encrypted ciphertext.
[0094] S303. The virtual machine obtains the encrypted information, and uses A's private key to decrypt the encrypted information to obtain nonce1 and B's public key, and the decryption follows formula (3);
[0095] cdA=m(mod nA) (3)
[0096] S304. The virtual machine reads the identity certificate in the virtual trusted root, generates a random number nonce2 at the same time, encrypts the identity certificate, nonce1 and nonce2 using B's public key, returns the ciphertext to the cloud management platform, and records nonce2 at the same time;
[0097] S305. After obtaining the ciphertext returned by the virtual machine, the cloud management platform uses B's private key to decrypt the ciphertext, extracts the nonce1, and determines whether the nonce1 is still valid. Then obtain the public key of the virtual trusted root issuer to verify whether the identity certificate is legal, generate and save the verification result R, and the certificate verification process follows the formula (4);
[0098] d=digest(cer)
[0099] d'=sigeC mod nC (4)
[0100] Among them: cer represents the main part of the certificate, and sig represents the signature part of the certificate;
[0101] Digest means to perform hash calculation;
[0102] (eC, nC) refers to the public key of the virtual trusted root issuer;
[0103] If d and d' are the same, it means that the identity certificate verification is passed, otherwise, the verification fails.
[0104] S306. The cloud management platform encrypts nonce2 and R with the public key of A, feeds back the ciphertext to the virtual machine, and deletes the public key records of nonce1 and A at the same time;
[0105] S307. After receiving the ciphertext, the virtual machine uses B's public key to decrypt the ciphertext, extracts the nonce2, determines whether the nonce2 is still valid, extracts R, and determines whether to execute the memory mapping operation of the virtual root of trust according to R.
[0106] The specific process of technical realization of the embodiment of the present invention is as follows:
[0107] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the embodiments of the present invention use Openstack as the cloud management platform, Qemu as the virtual machine simulator, LibVirt as the virtual machine manager, and virtual TPM2.0 as the virtual root of trust As an example, the invention will be further described in detail in conjunction with the accompanying drawings.
[0108] Authentication request:
[0109] After Qemu completes the operation of virtual TPM2.0 initialization, it generates identity verification request information and initiates the verification process.
[0110] S311. Generate a communication key A: Qemu issues a TPM2_Create command to the virtual TPM2.0 through the virtual trusted root management module to create a key, and executes a TPM2_Load command to load the key, and the key is used as the communication key A. Qemu sends TPM2_ReadPublic to the virtual root of trust to obtain A's public key.
[0111] S312. Upload verification request information: Qemu uploads the request information including A's public key to the OpenStack management terminal through Libvirt.
[0112] Authentication:
[0113] S321, OpenStack generates communication verification information: after the cloud management platform obtains the verification request uploaded by Qemu, extracts and stores the public key of A, then generates a random number nonce1 as communication verification information, and obtains itself from the key management module The public key of the communication key B, use the public key of A to encrypt nonce1 and the public key of key B, and finally send the ciphertext to Qemu;
[0114] S322, Qemu obtains the communication key: after Qemu obtains the ciphertext, it decrypts the ciphertext using the private key of key A by executing TPM2_RsaDecrypt, obtains the public keys of nonce1 and B, and stores the public keys of nonce1 and B;
[0115]S323, uploading the identity certificate: Qemu uses TPM2_NvRead to read the identity certificate stored in the virtual trusted root, sends the TPM2_GetRandom command to the virtual trusted root to generate a random number nonce2, and then loads B's public key by sending TPM2_LoadExternal to the virtual trusted root , and finally use B's public key to encrypt nonce1, nonce2 and the identity certificate by executing the TPM2_RsaEncrypt command and upload the ciphertext;
[0116] S324. Verify the validity of the communication information: after OpenStack obtains the ciphertext uploaded by Qemu, use the key B to decrypt to obtain nonce1, and then index the nonce value stored in OpenStack. If it can be indexed, it means that nonce1 is not invalid, and the identity certificate can be continued to be verified. And delete the stored nonce1;
[0117] It should be noted that this process is mainly to prevent the ciphertext uploaded by the virtual machine from being replayed after being monitored by a malicious person. Under normal circumstances, the nonce1 is issued by OpenStack to Qemu, and Qemu uploads it. After the verification is passed, OpenStack deletes it immediately. Stored nonce1, if the information uploaded by Qemu is re-uploaded to the OpenStack platform after being monitored by a malicious person, since OpenStack has verified and deleted the nonce1, the nonce1 in the second message has expired, and subsequent operations cannot be performed;
[0118] S325. Verify the identity certificate: OpenStack proposes the identity certificate in the information, and according to the issuer's information index key management module in the certificate, obtains the public key of the corresponding virtual trusted root issuer, and verifies whether the certificate is issued by the issuer by means of signature verification Issuing, generating a verification result R according to the signature verification result, and storing R;
[0119] S326, issuing the verification result: OpenStack uses the public key of A to encrypt the nonce2 and the verification result R, sends the ciphertext to the Qemu virtual machine, and deletes the stored public key of A;
[0120] Among them: every time authentication is performed, Qemu will generate a new communication key. Once the process is over, the key will no longer be used, so OpenStack no longer needs to manage key A.
[0121] S327. Verify the validity of the communication information: After obtaining the ciphertext, Qemu uses the TPM2_RsaDecrypt command to use A to decrypt the ciphertext, extract the nonce2, and determine whether the nonce2 is valid. The principle is the same as step S324. After the decryption is completed, immediately send the TPM2_FlushContext command to the virtual trusted root to erase the public keys of key A and key B, and regenerate them next time for verification;
[0122] S328, obtain the verification result: Qemu obtains the verification result R in the information, if R indicates that the identity verification is successful, then continue to perform the memory mapping operation of the virtual trusted root, so that subsequent programs can use the virtual trusted root; if R indicates the identity If the verification fails, the initialized virtual root of trust is closed to prevent subsequent programs from using the virtual root of trust.
[0123] Figure 4 It is a structural diagram of the verification system of the virtual root of trust in the cloud environment of the embodiment of the present invention, as Figure 4 As shown, another aspect of the embodiment of the present invention provides a verification system for a virtual root of trust in a cloud environment, including:
[0124] The verification module 401 is used to verify the identity of the virtual trusted root by the cloud management platform each time the virtual machine loads and runs the trusted root;
[0125] The selection loading module 402 is used for the virtual machine to select whether to continue loading and running the virtual trusted root according to the verification result of the cloud management platform.
[0126] Further, the system is used for:
[0127] After the virtual root of trust is initialized, the virtual machine extracts the identity certificate and generates identity verification request information;
[0128] Pass the identity certificate to the cloud management platform for identity verification;
[0129] The virtual machine judges whether to execute the memory mapping operation according to the verification result.
[0130] Further, the system is also used for:
[0131] When generating the virtual trusted root, a unique digital certificate is issued for each virtual trusted root to represent the identity, and the digital certificate is stored in the virtual trusted root;
[0132] The public key corresponding to the private key used to issue the digital certificate is disclosed for use by users of the virtual root of trust.
[0133] Further, the system is also used for:
[0134] After the initialization of the virtual root of trust is completed, the virtual machine makes the virtual root of trust available, and then establishes a mapping relationship between the virtual root of trust and the virtual memory, so that other programs access and use the virtual memory after the memory mapping is completed. root of trust.
[0135] In summary, in the embodiment of the present invention, each time a virtual machine loads and runs a trusted root, the cloud management platform first verifies the identity of the virtual trusted root; the virtual machine selects whether to Continue to load and run the virtual root of trust. The embodiments of the present invention can prevent private data from being destroyed by using the virtual root of trust in subsequent programs by integrating the verification function of the virtual root of trust in the cloud management platform.
[0136] Although the embodiments disclosed in the present invention are as above, the described content is only an embodiment adopted for understanding the present invention, and is not intended to limit the present invention. Anyone skilled in the field of the present invention can make any modifications and changes in the form and details of the implementation without departing from the spirit and scope disclosed by the present invention, but the patent protection scope of the present invention must still be The scope defined by the appended claims shall prevail.

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products