A cloud platform verification method, component and ARM cloud platform
By establishing a verification chain in the ARM cloud platform and using metric roots to verify the trusted ARM firmware of BMC, servers, and virtual machines, the problem of incomplete basic hardware and software verification in the cloud platform is solved, achieving comprehensive and reliable verification results.
Patent Information
- Application Number
- CN202211040069.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-29
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2042-08-29
AI Technical Summary
In existing technologies, the basic hardware and software verification of cloud platforms is not comprehensive enough. The verification of BMC, servers and virtual machines does not interfere with each other, resulting in incomplete verification.
By establishing a complete verification chain in the ARM cloud platform, and using preset metric roots to verify the ARM trusted firmware of BMC, server and virtual machine, BMC measurement results, server measurement results and virtual machine measurement results are generated, realizing comprehensive measurement of hardware and software.
It enables comprehensive verification of the basic software and hardware in the cloud platform, ensuring the credibility of the verification.
Smart Images

Figure CN115687039B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer, in particular to a cloud platform verification method, component and ARM cloud platform. BACKGROUND
[0002] At present, the verification of the basic hardware and software in the cloud platform is not complete, for example, the BMC, server and virtual machine under the cloud platform are verified independently, and the verification of the three is not interfered with each other, resulting in that the verification of the basic hardware and software in the cloud platform is not comprehensive.
[0003] Therefore, how to comprehensively verify the basic hardware and software in the cloud platform is a problem to be solved by those skilled in the art. SUMMARY
[0004] Therefore, the purpose of the present application is to provide a cloud platform verification method, component and ARM cloud platform to comprehensively verify the basic hardware and software in the cloud platform. The specific scheme is as follows:
[0005] In the first aspect, the present application provides a cloud platform verification method applied to any server in an ARM cloud platform, comprising:
[0006] If the BMC in the server is powered on, the ARM trusted firmware in the BMC is verified by using a preset measurement root to obtain a first verification result, and the hardware and software of the BMC are measured by using the first verification result to obtain a BMC measurement result;
[0007] If the server is started, the ARM trusted firmware in the server is verified by using the BMC measurement result to obtain a second verification result, and the hardware and software of the server are measured by using the second verification result to obtain a server measurement result;
[0008] If the virtual machine in the server is started, the virtual machine program of the virtual machine is verified by using the server measurement result to obtain a third verification result, and the hardware and software of the virtual machine are measured by using the third verification result to obtain a virtual machine measurement result.
[0009] Optionally, the step of measuring the hardware and software of the BMC by using the first verification result to obtain a BMC measurement result comprises:
[0010] The hardware and software of the BMC are measured by using the physical TPM or fTPM in the BMC and the first verification result as the measurement root to obtain the BMC measurement result.
[0011] Optionally, the measuring the hardware and software of the server by using the second verification result comprises:
[0012] The hardware and software of the server are measured by using the physical TPM or fTPM in the server and the second verification result as a measurement root, and the server measurement result is obtained.
[0013] Optionally, the verifying the virtual machine program of the virtual machine by using the server measurement result comprises:
[0014] The Hypervisor, BIOS and ARM trusted firmware of the virtual machine are verified by using the server measurement result as a measurement root, and the third verification result is obtained.
[0015] Optionally, the measuring the hardware and software of the virtual machine by using the third verification result comprises:
[0016] The vfTPM for the virtual machine is created by using the TEEOS in the server, and the hardware and software of the virtual machine are measured by using the vfTPM and the third verification result as a measurement root, and the virtual machine measurement result is obtained.
[0017] Optionally, the hardware of the BMC comprises various hardware modules in the BMC, and the software of the BMC comprises a BMC Bootload, a BMC operating system kernel and a key data file in the BMC operating system.
[0018] In a second aspect, the application provides a cloud platform verification device, which is applied to any server in an ARM cloud platform and comprises:
[0019] A BMC verification module is configured to, if the BMC in the server is powered on, verify the ARM trusted firmware in the BMC by using a preset measurement root to obtain a first verification result, and measure the hardware and software of the BMC by using the first verification result to obtain a BMC measurement result.
[0020] A server verification module is configured to, if the server is started, verify the ARM trusted firmware in the server by using the BMC measurement result to obtain a second verification result, and measure the hardware and software of the server by using the second verification result to obtain a server measurement result.
[0021] The virtual machine verification module is configured to, if a virtual machine in the server is started, verify a virtual machine program of the virtual machine by using the server measurement result to obtain a third verification result, and measure hardware and software of the virtual machine by using the third verification result to obtain a virtual machine measurement result.
[0022] Optionally, the BMC verification module is specifically configured to:
[0023] The hardware of the BMC includes each hardware module in the BMC, and the software of the BMC includes a BMC Bootload, a BMC operating system kernel and a key data file in the BMC operating system.
[0024] Optionally, the server verification module is specifically configured to:
[0025] The hardware of the server includes each hardware module in the server, and the software of the server includes a server Bootload, a server operating system kernel and a key data file in the server operating system.
[0026] Optionally, the virtual machine verification module is specifically configured to:
[0027] The Hypervisor, the BIOS and the ARM trusted firmware of the virtual machine are verified by using the server measurement result as a measurement root to obtain the third verification result.
[0028] Optionally, the virtual machine verification module is specifically configured to:
[0029] A vfTPM is created for the virtual machine by using a TEEOS in the server, and hardware and software of the virtual machine are measured by using the vfTPM and the third verification result as a measurement root to obtain the virtual machine measurement result.
[0030] Optionally, the hardware of the BMC includes each hardware module in the BMC, and the software of the BMC includes a BMC Bootload, a BMC operating system kernel and a key data file in the BMC operating system.
[0031] In a third aspect, the present application provides an electronic device, which comprises:
[0032] a memory configured to store a computer program;
[0033] a processor configured to execute the computer program to implement the cloud platform verification method disclosed above.
[0034] In a fourth aspect, the present application provides an ARM cloud platform, which comprises a plurality of electronic devices.
[0035] In a fifth aspect, the present application provides a readable storage medium for storing a computer program, wherein the computer program is executed by a processor to implement the cloud platform verification method disclosed above.
[0036] As can be seen from the above solutions, the present application provides a cloud platform verification method, which is applied to any server in an ARM cloud platform, and includes: if a BMC in the server is powered on, the ARM trusted firmware in the BMC is verified by using a preset measurement root to obtain a first verification result, the hardware and software of the BMC are measured by using the first verification result to obtain a BMC measurement result; if the server is started, the ARM trusted firmware in the server is verified by using the BMC measurement result to obtain a second verification result, the hardware and software of the server are measured by using the second verification result to obtain a server measurement result; if a virtual machine in the server is started, the virtual machine program of the virtual machine is verified by using the server measurement result to obtain a third verification result, the hardware and software of the virtual machine are measured by using the third verification result to obtain a virtual machine measurement result.
[0037] As can be seen, the present application can connect the verifications of the BMC, the server and the virtual machine in the cloud platform, specifically: the measurement result of the BMC is transmitted to the server, and the server takes the measurement result of the BMC as the verification basis, and then the measurement result of the server is transmitted to the virtual machine, and the virtual machine takes the measurement result of the server as the verification basis, so that the verifications of the BMC, the server and the virtual machine form a complete verification chain, which can comprehensively verify the basic hardware and software in the cloud platform, and can also guarantee the verification credibility of the basic hardware and software in the cloud platform.
[0038] Correspondingly, the cloud platform verification component and the ARM cloud platform provided by the present application also have the above technical effects. The component is a device, equipment or readable storage medium. BRIEF DESCRIPTION OF DRAWINGS
[0039] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or the prior art description will be briefly introduced as follows. Obviously, the drawings in the following description are only embodiments of the present application, and other drawings can also be obtained by those skilled in the art without creative labor on the basis of the provided drawings.
[0040] Figure 1 A flow chart of a cloud platform verification method disclosed by the present application;
[0041] Figure 2 A schematic diagram of a cloud platform verification system disclosed by the present application;
[0042] Figure 3 A BMC verification flowchart disclosed by the present application is shown in FIG. 1.
[0043] Figure 4 A host verification flowchart disclosed by the present application is shown in FIG. 2.
[0044] Figure 5 A virtual machine verification flowchart disclosed by the present application is shown in FIG. 3.
[0045] Figure 6 A cloud platform verification device disclosed by the present application is shown in FIG. 4.
[0046] Figure 7 An electronic device disclosed by the present application is shown in FIG. 5. DETAILED DESCRIPTION
[0047] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all the other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.
[0048] The trusted computing technology uses an independent security chip (TPM, trusted platform module) to collect the integrity of each component at the time of computer startup, verify the integrity of each component at this startup at a certain time point, and determine whether to allow the next component to run according to the verification result. The ARM ATF also provides a similar function of secure startup. In the system startup process, the electronic signature of the chain verification is used. Before loading the next stage of the image, the electronic signature of the image file to be loaded is verified. Only when the signature verification operation is passed, the image can be loaded into the memory, and then the system jumps to the next stage to continue execution. Any link verification failure will cause the system to fail to start. The first level of signature verification operation in the system startup process is completed by ChipRom. This code is a code that is fixed in the chip from the factory, and the user cannot modify it. The public key or hash value used in the signature verification operation is saved in a special secure storage device. The data in this area is generally only readable and writable by ChipRom and TEEOS, and cannot be modified. The public key or hash value will be written by the manufacturer before leaving the factory.
[0049] At present, the verification of the basic hardware and software in the cloud platform is not complete, for example: the BMC, the server and the virtual machine under the cloud platform are verified independently, and the verification of the three is not interfered with each other, so that the verification of the basic hardware and software in the cloud platform is not comprehensive. Therefore, the application provides a cloud platform verification scheme, which can form a complete verification chain for the verification of the BMC, the server and the virtual machine in the cloud platform, so as to comprehensively verify the basic hardware and software in the cloud platform.
[0050] Referring to Figure 1 As shown in the figure, the embodiment of the application discloses a cloud platform verification method, applied to any server in an ARM cloud platform, comprising:
[0051] S101, if the BMC in the server is powered on, the ARM trusted firmware in the BMC is verified by using a preset measurement root, a first verification result is obtained, the hardware and software of the BMC are measured by using the first verification result, and a BMC measurement result is obtained.
[0052] In the embodiment, the preset measurement root can be a public key or a hash value stored in the security device in the server. The ARM trusted firmware in the BMC is specifically an ATF (ARM Trusted Firmware). The ATF is a bottom layer firmware, which unifies the ARM bottom layer interface standard. Different manufacturers can customize the interface to realize the code of the ARM trusted firmware according to the chip characteristics, such as BL1, BL2, BL31, BL32, BL33. Among them, BL1, BL2 and BL31 belong to fixed firmware, which are defined by the manufacturer. BL32 and BL33 are used to load the image of TEE OS and REEOS, that is, UEFI or uboot BIOS (Basic Input Output System, Basic Input Output System) program.
[0053] Among them, the ARM execution environment is divided into a trusted execution environment and an untrusted execution environment, the trusted execution environment is also the environment provided by the TrustZone, and the operating system and other software can be run in this environment, which is called a trusted operating system, such as the open source OPTEE. The TEEOS runs in the trusted execution environment in the ARM. The REEOS runs in the untrusted execution environment in the ARM, and the basic firmware and operating system such as UEFI, Uboot, Linux OS, Windows OS, etc. can be run in this environment.
[0054] In an example, the ARM trusted firmware in the BMC is verified by using a preset measurement root, including: using the preset measurement root to measure BL1, BL2, BL31, BL32, BL33 in sequence to form a measurement chain, and saving the measurement result in a secure device. If there is BL32, and the measurement result of BL32 is as expected, BL32 is started, and the fTPM trusted application on the TEEOS provides trusted measurement function for BL33. When measuring BL33, if there is a physical TPM, the measurement result output by the foregoing measurement chain is used as part of the physical TPM measurement, and the measurement of the physical hardware and software of the BMC is completed. If it is required to measure based on the fTPM, the measurement result output by the foregoing measurement chain is used as part of the TPM CRTM initialization, and the entire fTPM is initialized, and the measurement of the physical hardware and software of the BMC is completed by the fTPM. The TPM is a secure device that provides trusted services according to the TCG related specification, and is used as a trusted root. The fTPM is a firmware-based TPM. The fTPM provides TPM functions for the REEOS through a trusted application on the TEEOS by using the TrustZone technology of the ARM, and in this way, the trusted measurement function can be provided for the platform without a hardware TPM. The function is expanded and modified to obtain a vfTPM supporting virtualization function, and therefore the vfTPM can provide trusted measurement function for the virtual machine in the cloud platform. The TEEOS supports virtualization.
[0055] In an embodiment, the hardware and software of the BMC are measured by using the first verification result to obtain a BMC measurement result, including: using the physical TPM or the fTPM in the BMC and the first verification result as a measurement root to measure the hardware and software of the BMC to obtain the BMC measurement result. The hardware of the BMC includes: each hardware module in the BMC; and the software of the BMC includes: BMC Bootload, a BMC operating system kernel, and a key data file in the BMC operating system.
[0056] S102, if the server is started, the ARM trusted firmware in the server is verified by using the BMC measurement result to obtain a second verification result, and the hardware and software of the server are measured by using the second verification result to obtain a server measurement result.
[0057] The ARM trusted firmware in the server is also an ATF, and the implementation code includes: BL1, BL2, BL31, BL32, and BL33. Therefore, the verification of the ARM trusted firmware in the server is similar to the verification of the ARM trusted firmware in the BMC, except that the trusted root is different.
[0058] In one specific implementation, the server's hardware and software are measured using the second verification result to obtain server measurement results. This includes: measuring the server's hardware and software using the physical TPM or fTPM in the server and the second verification result as the measurement root to obtain server measurement results.
[0059] S103. If the virtual machine in the server starts, the virtual machine program of the virtual machine is verified using the server measurement results to obtain a third verification result. The hardware and software of the virtual machine are then measured using the third verification result to obtain the virtual machine measurement result.
[0060] In one specific implementation, the virtual machine program of the virtual machine is verified using the server measurement results to obtain a third verification result, including: verifying the virtual machine's Hypervisor, BIOS, and ARM trusted firmware using the server measurement results as the measurement root to obtain a third verification result.
[0061] In one specific implementation, the virtual machine's hardware and software are measured using the third verification result to obtain virtual machine measurement results. This includes: creating a vfTPM for the virtual machine using TEEOS in the server, and measuring the virtual machine's hardware and software using the vfTPM and the third verification result as the measurement root to obtain virtual machine measurement results.
[0062] As can be seen, this embodiment can link the verification of BMC, server, and virtual machine in the cloud platform. Specifically, the measurement results of BMC are transmitted to the server, and the server uses the measurement results of BMC as the verification basis. Then, the measurement results of the server are transmitted to the virtual machine, and the virtual machine uses the measurement results of the server as the verification basis. Thus, the verification of BMC, server, and virtual machine forms a complete verification chain, which can comprehensively verify the basic software and hardware in the cloud platform and ensure the credibility of the verification of the basic software and hardware in the cloud platform.
[0063] The following embodiments provide a cloud platform verification system for measuring and verifying BMC, host machine (i.e., server), and virtual machine. Please refer to the following for details. Figure 2 . Figure 2 The arrows in the diagram point in the direction of measurement. This device uses the public key or hash value in the chip as the trusted measurement root and the ChipRom code on the chip as the starting point of the measurement chain. Specifically, for the BMC, host machine, and virtual machine devices, each device has: an ATF measurement module, a BL32 measurement module, and a BL33 measurement module. Therefore, the measurement logic of these three modules will be described below.
[0064] The ATF measurement module is used to measure the basic firmware of the ARM platform: BL1, BL2, and BL31.
[0065] BL32 measurement module is an optional item of BMC. In the case that BMC has no physical TPM, BL32 is used to provide trusted measurement function for BL33 measurement module of BMC in fTPM mode. In the case that BMC has physical TPM, physical TPM is used to provide trusted measurement function for BL33 measurement module of BMC. In the case that host has no physical TPM, fTPM is used to provide trusted measurement function for BL33 measurement module of host. vfTPM is provided to provide trusted measurement function for BL33 measurement module of virtual machine.
[0066] BL33 measurement module is mainly used to complete the measurement function of TPM. BL33 module on host is also used to provide measurement function of fTPM for virtual machine.
[0067] Specifically, Figure 2 The measurement process of the system shown specifically includes:
[0068] (1) The public key and Hash value provided by the manufacturer are used as trusted measurement root.
[0069] (2) The on-chip code ChipRom is started, which is the first step of trusted boot execution. After starting, the ATF measurement module of BMC is entered.
[0070] (3) The ATF measurement module of BMC will measure BL1, BL2, BL31, BL32 and BL33 according to the trusted measurement root in sequence to form a measurement chain, and save the measurement result in a special secure storage device such as OTP / efuse.
[0071] (4) If there is BL32 in BMC, the measurement is performed by using BL32 module. When the measurement result meets the expectation, BL32 is started to enable fTPM-TA (trusted application) on TEEOS to provide TPM trusted measurement function for BL33.
[0072] (5) If BL32 meets the expectation or there is physical TPM, the measurement result is transmitted to the BL33 measurement module in BMC.
[0073] (6) The BL33 measurement module in BMC obtains the latest result on the measurement chain from the ATF measurement module. If there is physical TPM, the measurement result output by the foregoing measurement chain is used as a part of physical TPM measurement to complete the measurement of physical hardware and software of BMC. If fTPM-based measurement is needed, the measurement result output by the foregoing measurement chain is used as a part of TPM CRTM initialization to initialize the entire fTPM, and the measurement of physical hardware and software of BMC is completed by fTPM.
[0074] (7) The ATF measurement module in the host machine obtains the measurement result output by the BMC, and takes the measurement result as the measurement root of the ATF in the host machine to complete the measurement of BL1, BL2 and BL31 in the ATF in the host machine.
[0075] (8) If the measurement in step 7 is as expected, the ATF measurement module in the host machine measures the BL32 firmware (TEEOS binary file) in the host machine.
[0076] (9) If the BL32 in the host machine is as expected, the TEEOS is run. If there is no physical TPM in the host machine, the TEEOS provides the fTPM-TA to provide the measurement function of the TPM for the host machine. After the TEEOS is started, the ATF measurement module in the host machine is returned.
[0077] (10) The ATF measurement module in the host machine measures the BL33 in the host machine, and if the measurement is as expected, the BL33 (BIOS) is executed.
[0078] (11) The BIOS in the host machine is run, and the latest result in the measurement chain of the ATF in the host machine is taken as the measurement root of the TPM. The TPM or the fTPM measures the physical hardware and software of the host machine to obtain the measurement result.
[0079] (12) The virtual machine is started, and the ATF firmware of the virtual machine and the BL33 firmware of the virtual machine are measured to obtain the measurement result.
[0080] (13) The BL32 measurement module in the host machine creates a vfTPM for the virtual machine, and measures the Hypervisor, the ATF of the virtual machine, and the BIOS of the virtual machine with the measurement result in step (12), and takes the measurement result as the measurement root of the vfTPM.
[0081] (14) The BL33 module of the virtual machine uses the vfTPM module to complete the integrity measurement of the hardware and software of the virtual machine.
[0082] It can be seen that the measurement of the three devices of the BMC, the host machine and the virtual machine forms a complete verification chain, and the integrity and security detection of the cloud platform is improved.
[0083] The measurement process for the BMC is as follows Figure 3As shown, the specific steps include: BL33 startup. If the BMC has a physical TPM, the physical TPM will use the measurement result of BL33 from the previous step as the measurement root to perform TPM measurements on the BMC hardware and software. If there is no physical TPM, during BL33 operation, fTPM-TA in BL31 (TEEOS) will be called, and fTPM device registration will be implemented in BL33. The measurement result of BL33 from the previous step will be used to initialize fTPM, and TPM measurements on the BMC hardware and software will be performed. Both fTPM and physical TPM have equivalent measurement functions in the BL33 stage. When the BMC performs BL33 (UEFI, U-Boot, etc.) measurements, the content measured includes: BMC hardware modules, BMC Bootload, BMC operating system kernel, key data files within the BMC operating system, etc., ultimately obtaining the BMC measurement results.
[0084] Among them, the measurement process for the host machine is as follows: Figure 4 As shown, the specific process is similar to the BMC measurement process, with the following differences: BMC uses a vendor-provided public key or hash value as the initial measurement root, while the host machine uses the BMC measurement result as the initial measurement root; the BL33 in the host machine also needs to provide vfTPM functionality for the virtual machine. Since the BL33 in the host machine also needs to provide vfTPM functionality for the virtual machine, after obtaining the host machine's measurement result, it is used as the measurement root to measure the virtual machine's Hypervisor program, ATF, and BIOS file to obtain the virtual machine's initial measurement root. When the virtual machine starts, a trusted execution environment verification is performed on the virtual machine based on the virtual machine's initial measurement root.
[0085] Among them, the measurement process for virtual machine environments is as follows: Figure 5 As shown, the specific process is similar to the measurement process of BMC and the host machine, except that the virtual machine uses the server's measurement results as the initial measurement root, and uses this initial measurement root to measure the Hypervisor, virtual machine ATF, and BIOS to obtain the trusted root of the ATF. Then, a vfTPM is created on the host machine as the virtual machine's TPM device through TEEOS, and then the virtual machine's hardware and software are measured using the vfTPM and the aforementioned trusted root of the ATF.
[0086] It can be seen that the embodiment can perform complete verification on the cloud platform. The BMC uses a TPM / fTPM form to implement a trusted computing function, the host uses a TPM or fTPM form to implement a trusted computing function, and the virtual machine uses a vfTPM form to implement a trusted computing function. Moreover, the ChipRom of the BMC, the public key and the Hash value provided by the manufacturer are used as an initial trusted measurement root of the BMC, so as to solve a measurement root vulnerability problem of the fTPM / vfTPM. In addition, the two chains of the ATF measurement and the TPM measurement are connected, specifically, the BMC measurement result is transmitted to the host, and the host result is transmitted to the virtual machine, so as to form a complete measurement chain, and the integrity security detection of the cloud platform is improved.
[0087] Next, a cloud platform verification device provided by the embodiment of the application is introduced, and the cloud platform verification device described below can be referred to with the cloud platform verification method described above.
[0088] Referring to Figure 6 As shown in the figure, the embodiment of the application discloses a cloud platform verification device, which is applied to any server in an ARM cloud platform and includes:
[0089] The BMC verification module 601 is configured to, if the BMC in the server is powered on, verify the ARM trusted firmware in the BMC by using a preset measurement root to obtain a first verification result, measure the hardware and software of the BMC by using the first verification result to obtain a BMC measurement result;
[0090] The server verification module 602 is configured to, if the server is started, verify the ARM trusted firmware in the server by using the BMC measurement result to obtain a second verification result, measure the hardware and software of the server by using the second verification result to obtain a server measurement result;
[0091] The virtual machine verification module 603 is configured to, if the virtual machine in the server is started, verify the virtual machine program of the virtual machine by using the server measurement result to obtain a third verification result, measure the hardware and software of the virtual machine by using the third verification result to obtain a virtual machine measurement result.
[0092] In a specific embodiment, the BMC verification module is specifically configured to:
[0093] The hardware and software of the BMC are measured by using the physical TPM or fTPM in the BMC and the first verification result as the measurement root to obtain the BMC measurement result.
[0094] In a specific embodiment, the server verification module is specifically configured to:
[0095] The server is measured by using the physical TPM or fTPM in the server and the second verification result as a measurement root, and a server measurement result is obtained.
[0096] In one embodiment, the virtual machine verification module is specifically configured to:
[0097] The Hypervisor, BIOS and ARM trusted firmware of the virtual machine are verified by using the server measurement result as a measurement root, and a third verification result is obtained.
[0098] In one embodiment, the virtual machine verification module is specifically configured to:
[0099] The vfTPM of the virtual machine is created by using the TEEOS in the server, and the hardware and software of the virtual machine are measured by using the vfTPM and the third verification result as a measurement root, and a virtual machine measurement result is obtained.
[0100] In one embodiment, the hardware of the BMC includes various hardware modules in the BMC, and the software of the BMC includes BMC Bootload, a BMC operating system kernel and a key data file in the BMC operating system.
[0101] In the embodiment, the more specific working processes of the various modules and units will be described in the foregoing embodiments, and will not be described here.
[0102] It can be seen that the embodiment provides a cloud platform verification device, which can form a complete verification chain for the verification of the BMC, the server and the virtual machine in the cloud platform, so as to comprehensively verify the basic hardware and software in the cloud platform.
[0103] Next, an electronic device provided by the embodiment of the application is introduced, and the electronic device described below can be referred to with the cloud platform verification method and device described above.
[0104] Referring to Figure 7 The embodiment of the application discloses an electronic device, which comprises:
[0105] The memory 701 is configured to save a computer program.
[0106] The processor 702 is configured to execute the computer program to implement the method disclosed in any of the above embodiments.
[0107] In the embodiment, when the processor executes the computer program stored in the memory, the following steps can be specifically implemented: if the BMC in the server is powered on, the ARM trusted firmware in the BMC is verified by using a preset measurement root to obtain a first verification result, the hardware and software of the BMC are measured by using the first verification result to obtain a BMC measurement result; if the server is started, the ARM trusted firmware in the server is verified by using the BMC measurement result to obtain a second verification result, the hardware and software of the server are measured by using the second verification result to obtain a server measurement result; if the virtual machine in the server is started, the virtual machine program of the virtual machine is verified by using the server measurement result to obtain a third verification result, the hardware and software of the virtual machine are measured by using the third verification result to obtain a virtual machine measurement result.
[0108] In the embodiment, when the processor executes the computer program stored in the memory, the following steps can be specifically implemented: the hardware and software of the BMC are measured by using the physical TPM or fTPM in the BMC and the first verification result as a measurement root to obtain a BMC measurement result.
[0109] In the embodiment, when the processor executes the computer program stored in the memory, the following steps can be specifically implemented: the hardware and software of the server are measured by using the physical TPM or fTPM in the server and the second verification result as a measurement root to obtain a server measurement result.
[0110] In the embodiment, when the processor executes the computer program stored in the memory, the following steps can be specifically implemented: the Hypervisor, BIOS and ARM trusted firmware of the virtual machine are verified by using the server measurement result as a measurement root to obtain a third verification result.
[0111] In the embodiment, when the processor executes the computer program stored in the memory, the following steps can be specifically implemented: the vfTPM of the virtual machine is created by using the TEEOS in the server, and the hardware and software of the virtual machine are measured by using the vfTPM and the third verification result as a measurement root to obtain a virtual machine measurement result.
[0112] Further, the embodiment of the application further provides a server as the above-mentioned electronic device. The server specifically can include at least one processor, at least one memory, a power supply, a communication interface, an input / output interface and a communication bus. Wherein, the memory is used to store a computer program, the computer program is loaded and executed by the processor to realize the related steps in the cloud platform verification method disclosed in any of the preceding embodiments.
[0113] In this embodiment, the power supply is used to provide working voltage for each hardware device on the server; the communication interface can create a data transmission channel between the server and external devices, and the communication protocol followed by the communication interface is any communication protocol applicable to the technical solution of the present application, which is not specifically limited here; the input and output interface is used to obtain external input data or output data to the outside world, and the specific interface type can be selected according to the specific application needs, which is not specifically limited here.
[0114] In addition, the memory as a carrier of resource storage can be a read-only memory, a random access memory, a magnetic disk or an optical disk, etc., and the resources stored thereon include an operating system, a computer program and data, etc., and the storage mode can be temporary storage or permanent storage.
[0115] The operating system is used to manage and control each hardware device and computer program on the server to realize the operation and processing of the processor on the data in the memory, which can be Windows Server, Netware, Unix, Linux, etc. In addition to the computer program capable of completing the cloud platform verification method disclosed in any of the preceding embodiments, the computer program can further include a computer program capable of completing other specific work. In addition to the data including virtual machine data, the data can also include the developer information of the virtual machine and other data.
[0116] Further, the embodiment of the present application also provides a terminal as the above-mentioned electronic device. The terminal specifically can include but is not limited to a smart phone, a tablet computer, a notebook computer or a desktop computer, etc.
[0117] Generally, the terminal in this embodiment includes a processor and a memory.
[0118] The processor can include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. The processor can be implemented in at least one of a hardware form of a DSP (Digital Signal Processing), a FPGA (Field-Programmable Gate Array), a PLA (Programmable Logic Array). The processor can also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also known as a CPU (Central Processing Unit). The coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor can be integrated with a GPU (Graphics Processing Unit) that is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, the processor can also include an AI (Artificial Intelligence) processor for processing machine learning-related computing operations.
[0119] The memory can include one or more computer-readable storage media that can be non-transitory. The memory can also include a high-speed random access memory, and a nonvolatile memory such as one or more disk storage devices, flash storage devices. In this embodiment, the memory is at least used to store the following computer programs, wherein the computer programs are loaded and executed by the processor, and can realize the related steps of the cloud platform verification method executed by the terminal side disclosed in any of the preceding embodiments. In addition, the resources stored by the memory can also include an operating system and data, and the storage mode can be temporary storage or permanent storage. The operating system can include Windows, Unix, Linux, and the like. The data can include, but is not limited to, update information of an application program.
[0120] In some embodiments, the terminal can also include a display screen, an input / output interface, a communication interface, a sensor, a power supply, and a communication bus.
[0121] A readable storage medium provided by an embodiment of the present application is introduced below. The readable storage medium described below can be mutually referred to with the cloud platform verification method, device and equipment described above.
[0122] A readable storage medium for saving a computer program, wherein the computer program is executed by a processor to realize the cloud platform verification method disclosed in the preceding embodiments.
[0123] In the embodiment, the computer program executed by the processor can specifically implement the following steps: if the BMC in the server is powered on, the ARM trusted firmware in the BMC is verified by using a preset measurement root to obtain a first verification result, the hardware and software of the BMC are measured by using the first verification result to obtain a BMC measurement result; if the server is started, the ARM trusted firmware in the server is verified by using the BMC measurement result to obtain a second verification result, the hardware and software of the server are measured by using the second verification result to obtain a server measurement result; if the virtual machine in the server is started, the virtual machine program of the virtual machine is verified by using the server measurement result to obtain a third verification result, the hardware and software of the virtual machine are measured by using the third verification result to obtain a virtual machine measurement result.
[0124] In the embodiment, the computer program executed by the processor can specifically implement the following steps: the hardware and software of the BMC are measured by using the physical TPM or fTPM in the BMC and the first verification result as a measurement root to obtain a BMC measurement result.
[0125] In the embodiment, the computer program executed by the processor can specifically implement the following steps: the hardware and software of the server are measured by using the physical TPM or fTPM in the server and the second verification result as a measurement root to obtain a server measurement result.
[0126] In the embodiment, the computer program executed by the processor can specifically implement the following steps: the Hypervisor, BIOS and ARM trusted firmware of the virtual machine are verified by using the server measurement result as a measurement root to obtain a third verification result.
[0127] In the embodiment, the computer program executed by the processor can specifically implement the following steps: the vfTPM of the virtual machine is created by the TEEOS in the server, and the hardware and software of the virtual machine are measured by using the vfTPM and the third verification result as a measurement root to obtain a virtual machine measurement result.
[0128] The "first", "second", "third", "fourth" and the like (if any) as used in this application are used for distinguishing between similar objects, and are not necessarily intended to refer to particular orders or sequences. It is to be understood that the data used herein can be interchanged, under appropriate circumstances, so that the embodiments described herein can be practiced in other than the particular orders illustrated or described. Also, the terms "comprises", "comprising", "including", "having" and their conjugates, as used herein, are intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus that comprises, has, includes, or consists of any element or a combination of elements can include, as the recited elements or combination of elements without necessarily excluding other elements.
[0129] It should be noted that the terms "first", "second", and the like in the description do not denote any quantity or importance, but are merely used to distinguish one element from another. Thus, a feature defined with "first" and "second" can include at least one of the features. In addition, the technical solutions of various embodiments can be combined with each other, but it must be based on the realization of a person skilled in the art, when the combination of technical solutions appears contradictory or cannot be realized, it should be considered that the combination of technical solutions does not exist, nor within the protection scope required by the present application.
[0130] The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the difference from other embodiments. The same or similar parts between various embodiments can be referred to each other.
[0131] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, software modules executed by a processor, or a combination of the two. The software modules can be placed in random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or any other form of readable storage medium known in the art.
[0132] The principles and implementation modes of the present application are described by applying specific examples in the present application. The above description of the embodiments is only to help understand the method of the present application and its core idea; at the same time, for those skilled in the art, according to the idea of the present application, the specific implementation mode and application range will be changed, and the above description should not be understood as limiting the present application.
Claims
1. A cloud platform verification method, characterized in that, The application is applied to any server in an ARM cloud platform, and comprises: If the BMC in the server is powered on, the ARM trusted firmware in the BMC is verified by using a preset measurement root to obtain a first verification result, and the hardware and software of the BMC are measured by using the physical TPM or fTPM in the BMC and the first verification result as a measurement root to obtain a BMC measurement result; If the server is started, the ARM trusted firmware in the server is verified by using the BMC measurement result to obtain a second verification result, and the hardware and software of the server are measured by using the second verification result to obtain a server measurement result; If the virtual machine in the server is started, the virtual machine program of the virtual machine is verified by using the server measurement result to obtain a third verification result, a vfTPM is created for the virtual machine by using the TEEOS in the server, and the hardware and software of the virtual machine are measured by using the vfTPM and the third verification result as a measurement root to obtain a virtual machine measurement result; The preset measurement root is used to verify the ARM trusted firmware in the BMC, which comprises sequentially measuring BL1, BL2, BL31, BL32 and BL33 in sequence by using the preset measurement root; BL1, BL2 and BL31 are fixed firmware; BL32 and BL33 are used for loading the image of TEEOS and REEOS respectively; TEEOS supports virtualization; the preset measurement root is a public key or a hash value stored in a security device in the server; and the ARM trusted firmware in the BMC is an ATF bottom-layer firmware. The TPM function is provided for REEOS by a trusted application on TEEOS, and the trusted measurement function is provided for the platform in the absence of a hardware TPM; the function is expanded and modified, and the vfTPM supporting the virtualization function is obtained, so that the vfTPM provides the trusted measurement function for the virtual machine in the cloud platform.
2. The method of claim 1, wherein, The hardware and software of the server are measured by using the physical TPM or fTPM in the server and the second verification result as a measurement root to obtain the server measurement result. The hardware and software of the server are measured by using the physical TPM or fTPM in the server and the second verification result as a measurement root to obtain the server measurement result.
3. The method of claim 1, wherein, The Hypervisor, BIOS and ARM trusted firmware of the virtual machine are verified by using the server measurement result as a measurement root to obtain the third verification result. The hardware of the BMC comprises various hardware modules in the BMC, and the software of the BMC comprises BMC Bootload, a BMC operating system kernel and a key data file in the BMC operating system.
4. The method according to any one of claims 1 to 3, characterized in that, The application is applied to any server in an ARM cloud platform, and comprises:
5. A cloud platform verification apparatus, characterized by, The BMC verification module is configured to, if the BMC in the server is powered on, verify ARM trusted firmware in the BMC by using a preset measurement root to obtain a first verification result, and measure hardware and software of the BMC by using a physical TPM or an fTPM in the BMC and the first verification result as a measurement root to obtain a BMC measurement result. The server verification module is configured to, if the server is started, verify ARM trusted firmware in the server by using the BMC measurement result to obtain a second verification result, and measure hardware and software of the server by using the second verification result to obtain a server measurement result. The virtual machine verification module is configured to, if a virtual machine in the server is started, verify a virtual machine program of the virtual machine by using the server measurement result to obtain a third verification result, create a vfTPM for the virtual machine by using a TEEOS in the server, and measure hardware and software of the virtual machine by using the vfTPM and the third verification result as a measurement root to obtain a virtual machine measurement result. The measurement root includes a public key or a hash value stored in a security device in the server. The ARM trusted firmware in the BMC is an ATF bottom-layer firmware.
6. An electronic device, comprising: The TEEOS supports virtualization. The ARM cloud platform includes a plurality of electronic devices as claimed in claim 6. A computer program is stored, and the computer program is executed by a processor to implement the method as claimed in any one of claims 1 to 4.
7. An ARM cloud platform, characterized by The ARM cloud platform includes a plurality of electronic devices as claimed in claim 6.
8. A readable storage medium, characterized by, A computer program is stored, and the computer program is executed by a processor to implement the method as claimed in any one of claims 1 to 4.
Citation Information
Patent Citations
Cloud platform trust chain hierarchical model construction method
CN114116026A