Method and apparatus for trusted verification of an entire device
Patent Information
- Application Number
- CN202210927057.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-03
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2042-08-03
AI Technical Summary
[0003]在组装出一个设备之后,并在将设备交付到使用方之前,设备会经历诸如复杂的物流环节、众多代理商环节等诸多供应链环节,在每一个供应链环节上,设备中的元器件都有可能被篡改,比如在设备的某一个元器件中注入木马程序、更换设备中的某一个元器件、或者对设备的一个元器件加入“后门”程序,以便通过该“后门”程序窃取该元器件处理的信息,从而导致设备被攻击,成为不可信设备
[0052]1、利用N个目标元器件的特征数据共同参与计算,也就是说,综合考虑组成设备的多个目标元器件的特征来得到设备的特征值,因此,能够在设备使用方更加准确地确定设备中的元器件是否被篡改过,从而确定设备的可信度。
Smart Images

Figure CN115374429B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to electronic information technology, and more particularly to a processing method and apparatus for trusted verification of complete equipment. Background Technology
[0002] In industrialized production, specialization is becoming increasingly prevalent. While a piece of equipment may contain numerous components—say, thousands—these components are typically not manufactured by a single supplier, but rather by a multitude of different suppliers. For example, one supplier might specialize in producing a component used in servers, such as a CPU, while another supplier might specialize in producing another component used in servers, such as memory. Therefore, current equipment is usually assembled using a variety of components.
[0003] After a device is assembled and before it is delivered to the user, it goes through numerous supply chain stages, including complex logistics and multiple intermediaries. At each stage, the components within the device can be tampered with. This could involve injecting malware into a component, replacing a component, or adding a backdoor to a component to steal its processed information, thus rendering the device untrusted. If a user uses such an untrusted device for work, such as as a server, it can lead to a series of problems, including malfunctions and privacy breaches.
[0004] Therefore, it is necessary to perform a trust verification of the entire device in order to determine whether the components in the device have been tampered with and whether the device is a trustworthy device. Summary of the Invention
[0005] This specification describes one or more embodiments of a method and apparatus for verifying the trustworthiness of a complete device, which can verify whether the device is a trustworthy device.
[0006] According to the first aspect, a method for trusted verification of a complete device is provided, comprising:
[0007] Identify the N target components included in the equipment; N is a positive integer greater than 1.
[0008] For each target component, characteristic data that can characterize the target component is obtained;
[0009] Using the feature data of N target components and a pre-set algorithm strategy, the feature value corresponding to the device is calculated;
[0010] The calculated feature values corresponding to the device are used for trusted verification.
[0011] in,
[0012] N is greater than half of the total number of all components included in the device;
[0013] And / or,
[0014] The target component is the component that affects whether the equipment can work properly.
[0015] The algorithm strategy includes: a first algorithm strategy;
[0016] Accordingly, the step of calculating the feature value corresponding to the device using the feature data of N target components and a pre-set algorithm strategy includes:
[0017] Using a pre-set first algorithm strategy, the feature data of N target components are calculated to obtain the feature values corresponding to the device.
[0018] The algorithm strategy includes: a second algorithm strategy and a third algorithm strategy;
[0019] Accordingly, the step of calculating the feature value corresponding to the device using the feature data of N target components and a pre-set algorithm strategy includes:
[0020] For each target component, the selected feature data and the pre-set second algorithm strategy are used to calculate the feature value corresponding to the target component;
[0021] The feature values corresponding to the device are calculated using N feature values corresponding to N target components and a pre-set third algorithm strategy.
[0022] The second algorithm strategy includes: sub-algorithms corresponding to each target component;
[0023] For each target component, the process of calculating the corresponding feature value using selected feature data and a pre-set second algorithm strategy includes:
[0024] For each target component, the selected feature data and the corresponding sub-algorithm are used to calculate the feature value corresponding to that target component.
[0025] One target component is: BIOS (Basic Input / Output System) firmware;
[0026] Characteristic data representing the BIOS firmware includes: the complete binary file of the BIOS firmware and the binary files of some partitions in the BIOS firmware;
[0027] The step of calculating the feature value corresponding to each target component using selected feature data and the corresponding sub-algorithm includes:
[0028] The first feature value is calculated using the complete binary file of the BIOS firmware and the corresponding sub-algorithm for the BIOS firmware;
[0029] The second feature value is calculated using the binary file of a partial partition and the corresponding sub-algorithm of the BIOS firmware;
[0030] The feature value of the BIOS firmware is calculated using the first feature value, the second feature value, and the sub-algorithm corresponding to the BIOS firmware.
[0031] One target component is: a network interface card (NIC);
[0032] Characteristic data representing the network card includes: the binary file of the network card's firmware and the information of the OPTION ROM in the network card;
[0033] The step of calculating the feature value corresponding to each target component using selected feature data and the corresponding sub-algorithm includes:
[0034] The third feature value is calculated using the binary file of the network card's firmware and the corresponding sub-algorithm.
[0035] Using the information in the OPTION ROM and the corresponding sub-algorithm for the network card, the fourth feature value is calculated;
[0036] The feature value of the network card is calculated using the fourth feature value, the fifth feature value, and the sub-algorithm corresponding to the network card.
[0037] In one embodiment of this specification, the trusted verification method for the complete device is applied to the device assembler; correspondingly, the verification process using the calculated feature value corresponding to the device includes: storing the calculated feature value corresponding to the device in the trusted storage area of the assembled device.
[0038] In one embodiment of this specification, the trusted verification method for the complete equipment is applied to a supply chain node other than the equipment assembler; the supply chain includes each supply chain node in each link of the supply chain from the equipment assembler to the equipment user;
[0039] The verification process using the calculated feature values corresponding to the device includes:
[0040] Obtain the feature value corresponding to the device from the trusted storage area of the device;
[0041] Determine whether the acquired feature value corresponding to the device is consistent with the calculated feature value corresponding to the device.
[0042] If they match, the device is determined to be a trusted device.
[0043] The method further includes:
[0044] If the obtained feature value corresponding to the device is inconsistent with the calculated feature value corresponding to the device, the device is determined to be an untrusted device, and the target component in the device has been tampered with in the supply chain link from the previous supply chain node to this supply chain node.
[0045] According to the second aspect, a processing apparatus for trusted verification of the entire device is provided, wherein the apparatus includes:
[0046] The first setting module is configured to determine the N target components included in the device; N is a positive integer greater than 1.
[0047] The second setting module is configured to obtain feature data that can characterize each target component for each target component.
[0048] The feature value calculation module is configured to calculate the feature value corresponding to the device using the feature data of N target components and a pre-set algorithm strategy.
[0049] The verification processing module is configured to perform trusted verification processing using the calculated feature values corresponding to the device.
[0050] According to a third aspect, a computing device is provided, including a memory and a processor, wherein the memory stores executable code, and the processor, when executing the executable code, implements the method described in any embodiment of this specification.
[0051] The methods and apparatus for reliable verification of the whole machine provided in the various embodiments of this specification, individually or in combination, have at least the following beneficial effects:
[0052] 1. By using the feature data of N target components to participate in the calculation, that is, by comprehensively considering the features of multiple target components that make up the device, the feature value of the device can be obtained. Therefore, the device user can more accurately determine whether the components in the device have been tampered with, thereby determining the trustworthiness of the device.
[0053] 2. A two-dimensional algorithm can be used. One dimension treats each target component as an algorithmic unit, calculating its feature value. The other dimension treats the entire device as an algorithmic unit, using the feature values of N target components to calculate the device's feature value. This layered approach makes the algorithm more secure.
[0054] 3. The sub-algorithms corresponding to each target component can be different. Even if an attacker cracks the sub-algorithm for one target component, it is difficult for the attacker to crack the sub-algorithms for all target components. Furthermore, the algorithm strategy for calculating the feature values of the target components can be different from the algorithm strategy for calculating the feature values of the device. In this way, even if an attacker cracks the algorithm strategy for all target components (i.e., the sub-algorithms corresponding to each target component), they will not be able to crack the algorithm strategy for calculating the feature values of the device, and still cannot obtain the feature values of the device. Therefore, the security of the device feature values is greatly improved, preventing the device feature values from being tampered with or stolen. Using this type of device feature value, the trustworthiness of the device can be determined more accurately.
[0055] 4. The method described in this specification can be applied not only to the equipment assembler, but also to any node in the subsequent supply chain, such as the agent node, logistics node, or equipment user. This allows for timely verification of the equipment's reliability and timely detection of whether the components in the equipment have been tampered with throughout the entire supply chain of the complete equipment.
[0056] 5. The method described in this specification can perform trusted verification of the entire equipment at every supply chain node after the equipment assembler, such as the agent node, logistics node, and equipment user. In this way, once two feature values are found to be inconsistent at a supply chain node, it can be accurately determined that the target component in the equipment has been tampered with in the supply chain link from the previous supply chain node to the current supply chain node. This allows for precise location of the link where the target component was tampered with, facilitating the investigation of security risks and making the entire supply chain manageable. Attached Figure Description
[0057] To more clearly illustrate the technical solutions in the embodiments or prior art of this specification, the drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0058] Figure 1 This is a schematic diagram of the system architecture used in one embodiment of this specification.
[0059] Figure 2 This is a flowchart of a trusted verification method for a complete device in one embodiment of this specification.
[0060] Figure 3 This is a flowchart of a trusted verification process for a complete machine device applied to an equipment assembler, as described in one embodiment of this specification.
[0061] Figure 4 This is a flowchart of a trusted verification process for a complete machine device applied to a supply chain node after the equipment assembler, as described in one embodiment of this specification.
[0062] Figure 5 This is a schematic diagram of the structure of a trusted verification processing device for a complete machine in one embodiment of this specification.
[0063] Figure 6 This is a schematic diagram of the structure of a processing device for trusted verification of a complete machine used by an equipment assembler, as described in one embodiment of this specification.
[0064] Figure 7 This is a schematic diagram of the structure of a processing device for trusted verification of a complete machine device applied to a supply chain node after the equipment assembler, as described in one embodiment of this specification. Detailed Implementation
[0065] The solution provided in this specification will now be described with reference to the accompanying drawings.
[0066] First, it should be noted that the terminology used in the embodiments of this invention is for the purpose of describing specific embodiments only and is not intended to limit the invention. The singular forms “a,” “the,” and “the” used in the embodiments of this invention and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise.
[0067] To facilitate understanding of the methods provided in this manual, the system architecture involved and applicable to this manual is first described. For example... Figure 1 As shown, the system architecture mainly includes two types of network nodes: equipment assemblers and equipment users.
[0068] The equipment assembler refers to the party that assembles the various components required for the complete equipment together to obtain the complete equipment.
[0069] The equipment user refers to the party that purchases and uses the complete set of equipment. For example, if a server needs to be used in a data center, then the data center will purchase and use the server.
[0070] It should be understood that Figure 1The number of components M, the number of equipment assemblers, and the number of equipment users shown are merely illustrative. Any number can be selected and deployed according to implementation needs.
[0071] like Figure 1 As shown, after the final assembly of the complete equipment, the equipment will go through logistics links (such as being transported by express delivery through multiple courier stations) and may also pass through the distributor link before finally reaching the equipment user. Therefore, the supply chain of the complete equipment includes every link from the equipment assembler to the equipment user. The various supply chain nodes of the complete equipment include: the equipment assembler, various intermediate supply chain nodes (such as at least one logistics node and at least one distributor node), and the equipment user.
[0072] Figure 2 This is a flowchart of a trusted verification process for a complete device according to one embodiment of this specification. The execution entity of this method is a trusted verification processing device for the complete device. It is understood that this method can also be executed by any device, equipment, platform, or device cluster with computing and processing capabilities.
[0073] See Figure 2 The method includes:
[0074] Step 201: Determine the N target components included in the device; N is a positive integer greater than 1.
[0075] Step 203: For each target component, obtain the feature data that can characterize the target component.
[0076] Step 205: Calculate the feature value corresponding to the device using the feature data of N target components and a pre-set algorithm strategy.
[0077] Step 207: Perform trusted verification using the calculated feature values corresponding to the device.
[0078] Because the equipment is composed of various components, therefore, in the above... Figure 2 In the process shown, N target components are first identified, and the feature data of each target component is obtained. In this way, the feature data of the N target components can well reflect the characteristics of the equipment. If one of the target components in the equipment is tampered with in the supply chain, the feature data of the target component will also be changed. This feature can be used to verify the credibility of the equipment.
[0079] And see also Figure 2The process shown uses the feature data of N target components to participate in the calculation. In other words, it comprehensively considers the features of multiple target components that make up the device to obtain the device's feature value. Therefore, it can more accurately determine whether the components in the device have been tampered with, thereby determining the device's credibility.
[0080] As mentioned above, because the supply chain for complete equipment includes every link from the equipment assembler to the equipment user, the components in the equipment can be tampered with at each link, rendering the equipment untrustworthy. Therefore, in the embodiments of this specification, the trusted verification process for the complete equipment can be performed on the equipment assembler side; that is, the verification is performed once at the equipment assembler. Figure 2 The process shown obtains the device's characteristic values. Any subsequent node in the supply chain, such as the device user, can also execute this process once upon receiving the device. Figure 2 The trusted verification process for the complete device also yields a device characteristic value. If the two device characteristic values are the same, it is considered that the components in the device received by this supply chain node have not been tampered with, the device is trusted, and can be used.
[0081] As can be seen, the embodiments in this specification involve two types of processing: one is the trusted verification of the complete equipment performed by the equipment assembler; the other is the trusted verification of the complete equipment performed by supply chain nodes other than the equipment assembler. These will be described below through different embodiments.
[0082] First, combine Figure 3 This describes the process for trusted verification of the complete equipment performed by the equipment assembler.
[0083] See Figure 3 The method includes:
[0084] Step 301: Determine the N target components included in the device; N is a positive integer greater than 1.
[0085] Step 303: For each target component, obtain the feature data that can characterize the target component;
[0086] Step 305: Calculate the feature value corresponding to the device using the feature data of N target components and a pre-set algorithm strategy;
[0087] Step 307: Perform a trusted verification process using the calculated feature values corresponding to the device.
[0088] The following describes the procedures performed by the equipment assembler. Figure 3 The processing of each step in the process.
[0089] First, for step 301: determine the N target components included in the device; N is a positive integer greater than 1.
[0090] In various embodiments of this specification, a component may refer to either hardware or software.
[0091] In the embodiments of this specification, the N target components used may be pre-agreed upon by the equipment assembler and the equipment user. That is, the two parties use N identical target components to perform their respective verification processes. Based on this, it is possible to compare whether the feature values of the equipment calculated by the two parties are the same in the subsequent process.
[0092] In one embodiment of this specification, in order to more accurately reflect the characteristics of the device, N satisfies the condition that it is greater than half of the total number of all components included in the device. That is, most or all of the components included in the device are selected, and the characteristic values of the device are obtained based on the characteristic data of the selected components, thereby better reflecting the characteristics of the device from the dimension of quantity.
[0093] In one embodiment of this specification, in order to more accurately reflect the characteristics of the device, the target component can be a key component of the device, that is, a component that can affect whether the device can work properly. For example, for a device like a server, components such as the CPU, network card, memory, and BIOS (Basic Input / Output System) firmware are all components that affect whether the server can work properly. Therefore, the CPU, network card, memory, and BIOS firmware that make up the server can be used as target components, thereby better reflecting the characteristics of the device from the dimension of importance.
[0094] Next, for step 303: for each target component, obtain the feature data that can characterize the target component.
[0095] Typically, different components are manufactured and supplied by different vendors; therefore, each target component has its own unique characteristic data. For example, a CPU has a unique serial number, so this serial number can be used as its characteristic data. Similarly, the CPU's version information can also be used as its characteristic data. Likewise, for firmware such as BIOS firmware, the BIOS firmware's binary file (i.e., the BIOS firmware software file) can be used as its characteristic data. And for a network card, the network card's firmware binary file and the network card's OPTION ROM information can be used as the network card's characteristic data.
[0096] Next, for step 305: using the feature data of N target components and the pre-set algorithm strategy, calculate the feature value corresponding to the device.
[0097] The specific implementation of step 305 includes the following two methods:
[0098] Method 1: Directly calculate the characteristic value of the device using the characteristic data of N target components.
[0099] Method 2: Utilize the feature data of N target components. First, calculate the feature values of the N target components respectively, and then use the feature values of the N target components to calculate the feature value of the device.
[0100] The specific implementation of Method 1 is explained below.
[0101] In Method 1, Algorithm Strategy 1 is pre-set in both the equipment assembler and the equipment user. That is, the equipment assembler and the equipment user agree on the same Algorithm Strategy 1. Accordingly, the process of step 305 includes: using Algorithm Strategy 1 to calculate the feature data of N target components to obtain the feature values corresponding to the equipment.
[0102] In this method, algorithm strategy 1 can be any algorithm, such as performing hash calculations or performing operations on a set function, as long as it is agreed upon by the equipment assembler and the equipment user.
[0103] The specific implementation of Method 2 is explained below.
[0104] Method 2 actually employs a two-dimensional algorithm. One dimension uses a target component as an algorithm unit, calculating the feature value of each target component. The other dimension uses the device as an algorithm unit, calculating the feature value of the device using the feature values of N target components.
[0105] Compared to method one, method two has a more complex algorithm strategy, which adopts a layered approach to make the algorithm safer.
[0106] In this second method, the algorithm strategy can include two algorithm strategies: Algorithm Strategy 2 and Algorithm Strategy 3; Algorithm Strategy 2 and Algorithm Strategy 3 can be the same or different. Thus, the specific implementation process of step 305 includes:
[0107] Step 3051: For each target component, use the selected feature data and the pre-set algorithm strategy 2 to calculate the feature value corresponding to the target component;
[0108] Step 3053: Calculate the feature value corresponding to the device using the N feature values corresponding to the N target components and the pre-set algorithm strategy 3.
[0109] In one embodiment of this specification, in this second method, algorithm strategy 2 includes: sub-algorithms corresponding to each target component; that is, the sub-algorithms used to calculate the feature values of different target components can be the same or different. For example, for target component 1, sub-algorithm 1, such as a hash algorithm, is used to calculate the feature value of target component 1; for target component 2, sub-algorithm 2, such as SHA256 or SM3 algorithm, is used to calculate the feature value of target component 2. Accordingly, the specific implementation process of step 3051 includes: for each target component, using the selected feature data and the sub-algorithm corresponding to the target component to calculate the feature value corresponding to that target component.
[0110] The sub-algorithms corresponding to each target component can be different. Even if an attacker cracks the sub-algorithm for one target component in the device, it is difficult for the attacker to crack the sub-algorithms for all target components. Furthermore, algorithm strategy 2 and algorithm strategy 3 can be different. Even if an attacker cracks the sub-algorithms for all target components, they will not be able to crack algorithm strategy 3 and will still be unable to obtain the device's feature value. Therefore, the security of the device's feature value is greatly improved.
[0111] The following example illustrates the implementation process of step 3051.
[0112] For example, a target component may be identified as BIOS firmware, whose software programs correspond to a complete binary file. Given the characteristics of BIOS firmware, its binary file includes multiple partitions; that is, a complete binary file comprises binary files from multiple partitions. Therefore, to further enhance the security of the algorithm and prevent its cracking, in one embodiment of this specification, the characteristic data obtained for the BIOS firmware that characterizes it includes: the complete binary file of the BIOS firmware and binary files of some partitions within the BIOS firmware (e.g., one or more pre-specified partitions).
[0113] Accordingly, in step 3051, for each target component, the selected feature data and the corresponding sub-algorithm are used to calculate the feature value corresponding to that target component. The implementation process includes:
[0114] The first feature value is calculated using the complete binary file of the BIOS firmware and the corresponding sub-algorithm (such as a hash algorithm) for that BIOS firmware.
[0115] Using the binary files of the aforementioned partial partitions and the corresponding sub-algorithm (such as a hash algorithm) of the BIOS firmware, the second feature value is calculated;
[0116] The feature value of the BIOS firmware is calculated using the first feature value, the second feature value, and the corresponding sub-algorithm (such as a hash algorithm) for the BIOS firmware.
[0117] For example, a target component may be identified as a network interface card (NIC). The software program included in the NIC corresponds to a complete binary file. Based on the characteristics of the NIC, the OPTION ROM within the NIC contains parameters that characterize the NIC's operating mode and can better identify a NIC. Therefore, in one embodiment of this specification, the characteristic data characterizing the NIC includes: the binary file of the NIC's firmware and the information of the OPTION ROM within the NIC.
[0118] Accordingly, in step 3051, for each target component, the selected feature data and the corresponding sub-algorithm are used to calculate the feature value corresponding to that target component. The implementation process includes:
[0119] The third feature value is calculated using the binary file of the network card's firmware and the corresponding sub-algorithm for that network card.
[0120] Using the information from the OPTION ROM and the corresponding sub-algorithm for the network card, the fourth characteristic value is calculated;
[0121] The characteristic values of the network card are calculated using the fourth and fifth characteristic values and the corresponding sub-algorithm.
[0122] In fact, even for the same target component, the sub-algorithms used can be further broken down. For example, for the network card mentioned above, the third feature value is calculated first by using the binary file of the network card's firmware and the corresponding sub-algorithm 1, such as SHA256 or SM3 algorithm; then, the fourth feature value is calculated by using the information of the OPTION ROM and the corresponding sub-algorithm 2, such as a hash algorithm, thereby further improving security.
[0123] Based on the implementation process of Method 2 above, it can be seen that how to obtain the feature value of each target component (e.g., how to obtain each value from A1 to A7) and how to use the feature values of each target component to obtain the feature value of the device (e.g., how to use A1 to A7 to obtain A) are all customizable. They only need to be agreed upon between the device assembler and the device user, which improves security.
[0124] Next, for step 307: store the calculated feature values corresponding to the device in the trusted storage area of the assembled device.
[0125] Storing the device's characteristic values in a trusted storage area can improve storage security and prevent the device's characteristic values from being tampered with or stolen.
[0126] The following is combined Figure 4 This describes the process for trusted verification of the complete device performed at a supply chain node other than the device assembler. See also... Figure 4 The method includes:
[0127] Step 401: Determine the N target components included in the device; N is a positive integer greater than 1.
[0128] Here, the executing entity of step 401 is different from that of step 301, but the implementation process is the same. For details, please refer to the relevant explanation of step 301 above.
[0129] Step 403: For each target component, obtain the feature data that can characterize the target component.
[0130] Here, the executing entity of step 403 is different from that of step 303, but the implementation process is the same. For details, please refer to the relevant explanation of step 303 above.
[0131] Step 405: Calculate the feature value corresponding to the device using the feature data of N target components and a pre-set algorithm strategy.
[0132] Here, the executing entity for step 405 differs from that for step 305, but the implementation process is the same. Please refer to the above explanation of step 305 for details.
[0133] Step 407: Obtain the characteristic value corresponding to the device from the trusted storage area of the device.
[0134] Step 409: Determine whether the feature value corresponding to the acquired device is consistent with the feature value corresponding to the calculated device. If they are consistent, proceed to step 411; otherwise, proceed to step 413.
[0135] Step 411: Determine if the device is a trusted device.
[0136] Step 413: Determine that the device is an untrusted device.
[0137] In step 413, after determining that the device is untrusted, it can be further determined that the target component in the device was tampered with in the supply chain link from the previous supply chain node to this supply chain node. In other words, the precise location of the supply chain link where tampering occurred can be determined. For example, if the supply chain node currently executing step 413 is a distributor node, and the previous supply chain node is logistics node 3, then it can be determined that the target component in the device was tampered with in a specific supply chain link A from logistics node 3 to this distributor node. As another example, if the supply chain node currently executing step 413 is the device user, and the previous supply chain node is logistics node 5, then it can be determined that the target component in the device was tampered with in a specific supply chain link B from logistics node 5 to the device user.
[0138] Because the target components of a device, such as a server, have been pre-agreed upon at each node in the supply chain, along with the corresponding algorithm strategy, during the supply chain journey from the device assembler to the user, if the components in the device have not been tampered with, the assembler and the verifying node (the user) will calculate the same device characteristic value based on their respective target components and the pre-defined algorithm strategy. However, if the target components have been tampered with, their characteristic data will change, and the assembler and the user will calculate different device characteristic values based on their respective target components and the pre-defined algorithm strategy. Based on this, it is possible to verify whether the received device is trustworthy.
[0139] In one embodiment of this specification, a processing apparatus for trusted verification of a complete device is provided, see [link to relevant documentation]. Figure 5 The device includes:
[0140] The first setting module 501 is configured to determine the N target components included in the device; N is a positive integer greater than 1.
[0141] The second setting module 502 is configured to obtain feature data that can characterize each target component for each target component.
[0142] The feature value calculation module 503 is configured to calculate the feature value corresponding to the device using the feature data of N target components and a pre-set algorithm strategy.
[0143] The verification processing module 504 is configured to perform trusted verification processing using the calculated feature values corresponding to the device.
[0144] In one embodiment of the device described in this specification, N is greater than half the total number of all components included in the device.
[0145] In one embodiment of the device described in this specification, the target component is a component that affects whether the device can function properly.
[0146] In one embodiment of the device described in this specification, the algorithm strategy includes: a first algorithm strategy;
[0147] The eigenvalue calculation module 503 is configured to perform:
[0148] Using a pre-set first algorithm strategy, the feature data of N target components are calculated to obtain the feature values corresponding to the device.
[0149] In one embodiment of the device described in this specification, the algorithm strategy includes: a second algorithm strategy and a third algorithm strategy;
[0150] The eigenvalue calculation module 503 is configured to perform:
[0151] For each target component, the selected feature data and the pre-set second algorithm strategy are used to calculate the feature value corresponding to the target component;
[0152] The feature values corresponding to the device are calculated using N feature values corresponding to N target components and a pre-set third algorithm strategy.
[0153] In one embodiment of the device described in this specification, the second algorithm strategy includes: sub-algorithms corresponding to each target component;
[0154] The feature value calculation module 503 is configured to perform the following: for each target component, calculate the feature value corresponding to the target component using the selected feature data and the sub-algorithm corresponding to the target component.
[0155] In one embodiment of the device described in this specification, a target component is: BIOS firmware;
[0156] Characteristic data representing the BIOS firmware includes: the complete binary file of the BIOS firmware and the binary files of some partitions in the BIOS firmware;
[0157] The eigenvalue calculation module 503 is configured to perform:
[0158] The first feature value is calculated using the complete binary file of the BIOS firmware and the corresponding sub-algorithm for the BIOS firmware;
[0159] The second feature value is calculated using the binary file of a partial partition and the corresponding sub-algorithm of the BIOS firmware;
[0160] The feature value of the BIOS firmware is calculated using the first feature value, the second feature value, and the sub-algorithm corresponding to the BIOS firmware.
[0161] In one embodiment of the device described in this specification, a target component is: a network interface card (NIC);
[0162] Characteristic data representing the network card includes: the binary file of the network card's firmware and the information of the OPTION ROM in the network card;
[0163] The eigenvalue calculation module 503 is configured to perform:
[0164] The third feature value is calculated using the binary file of the network card's firmware and the corresponding sub-algorithm.
[0165] Using the information in the OPTION ROM and the corresponding sub-algorithm for the network card, the fourth feature value is calculated;
[0166] The feature value of the network card is calculated using the fourth feature value, the fifth feature value, and the sub-algorithm corresponding to the network card.
[0167] In one embodiment of the device described in this specification, the device is applied to an equipment assembler; in this case, see [reference needed]. Figure 6 The verification processing module 504 is specifically the trusted storage module 601;
[0168] The trusted storage module 601 is configured to perform the following: store the calculated feature value corresponding to the device in the trusted storage area of the assembled device.
[0169] In one embodiment of the device described in this specification, the device is applied to any node in the supply chain other than the equipment assembler. In this case, see [link to relevant documentation]. Figure 7 The verification processing module 504 is specifically the feature value comparison module 701;
[0170] The eigenvalue comparison module 701 is configured to perform:
[0171] Retrieve the device's corresponding feature value from the device's trusted storage area;
[0172] Determine whether the feature value corresponding to the acquired device is consistent with the calculated feature value corresponding to the device. If they are consistent, the device is a trustworthy device.
[0173] The eigenvalue comparison module 701 is further configured to perform:
[0174] If the obtained feature value corresponding to the device is inconsistent with the calculated feature value corresponding to the device, the device is determined to be an untrusted device, and it is determined that the target component in the device has been tampered with in the supply chain link from the previous supply chain node to this supply chain node.
[0175] It should be noted that the above-mentioned devices are typically implemented on the server side. They can be set up on independent servers, or a combination of some or all of the devices can be set up on the same server. This server can be a single server or a server cluster consisting of multiple servers. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to address the shortcomings of traditional physical hosts and Virtual Private Servers (VPs) services, such as high management difficulty and weak service scalability. The above-mentioned devices can also be implemented on computer terminals with strong computing capabilities.
[0176] This specification provides, in one embodiment, a computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to perform the methods of any embodiment in the specification.
[0177] This specification provides a computing device according to one embodiment, including a memory and a processor, wherein the memory stores executable code, and the processor executes the executable code to perform the method of any embodiment of the specification.
[0178] It is understood that the structures illustrated in the embodiments of this specification do not constitute a specific limitation on the apparatus of the embodiments of this specification. In other embodiments of the specification, the above-described apparatus may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0179] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0180] Those skilled in the art will recognize that, in one or more of the examples above, the functions described in this invention can be implemented using hardware, software, widgets, or any combination thereof. When implemented in software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium.
[0181] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made on the basis of the technical solution of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for handling trusted verification of the entire device, wherein, include: Identify the N target components included in the equipment; N is a positive integer greater than 1; For each target component, characteristic data representing that target component is obtained; Using the feature data of N target components and a pre-set algorithm strategy, the feature value corresponding to the device is calculated; The calculated feature values corresponding to the device are used for reliable verification processing. The algorithm strategy includes a second algorithm strategy and a third algorithm strategy; wherein the second algorithm strategy includes sub-algorithms corresponding to each target component. The step of calculating the feature value corresponding to the device using the feature data of N target components and a pre-set algorithm strategy includes: for each target component, calculating the feature value corresponding to the target component using the selected feature data and the sub-algorithm corresponding to the target component; wherein the sub-algorithms corresponding to each target component are not completely the same; and calculating the feature value corresponding to the device using the N feature values corresponding to the N target components and a pre-set third algorithm strategy. One of the target components is: a network interface card (NIC); Characteristic data representing the network card includes: the binary file of the network card's firmware and the information of the OPTIONROM in the network card; The step of calculating the feature value corresponding to each target component using selected feature data and the corresponding sub-algorithm includes: The third feature value is calculated using the binary file of the network card's firmware and the first sub-algorithm corresponding to the network card; Using the information from the OPTION ROM and a second sub-algorithm that is different from the first sub-algorithm for the corresponding network card, the fourth feature value is calculated; The feature value of the network card is calculated using the fourth feature value, the third feature value, and the sub-algorithm corresponding to the network card.
2. The method according to claim 1, wherein, N is greater than half of the total number of all components included in the device; And / or, The target component is the component that affects whether the equipment can work properly.
3. The method according to claim 1, wherein, The algorithm strategy includes: a first algorithm strategy; Accordingly, the step of calculating the feature value corresponding to the device using the feature data of N target components and a pre-set algorithm strategy includes: Using a pre-set first algorithm strategy, the feature data of N target components are calculated to obtain the feature values corresponding to the device.
4. The method according to claim 1, wherein, One target component is: BIOS (Basic Input / Output System) firmware; Characteristic data representing the BIOS firmware includes: the complete binary file of the BIOS firmware and the binary file of a portion of the BIOS firmware partition; The step of calculating the feature value corresponding to each target component using selected feature data and the corresponding sub-algorithm includes: The first feature value is calculated using the complete binary file of the BIOS firmware and the corresponding sub-algorithm for the BIOS firmware; The second feature value is calculated using the binary file of a partial partition and the corresponding sub-algorithm of the BIOS firmware; The feature value of the BIOS firmware is calculated using the first feature value, the second feature value, and the sub-algorithm corresponding to the BIOS firmware.
5. The method according to claim 1, wherein, The trusted verification method for the complete machine is applied to the equipment assembler; The verification process using the calculated feature value corresponding to the device includes: storing the calculated feature value corresponding to the device in the trusted storage area of the assembled device.
6. The method according to claim 1, wherein, The trusted verification method for the complete equipment is applied to a supply chain node other than the equipment assembler; wherein, the supply chain includes: each supply chain node in each supply chain link from the equipment assembler to the equipment user; The verification process using the calculated feature values corresponding to the device includes: Obtain the feature value corresponding to the device from the trusted storage area of the device; Determine whether the acquired feature value corresponding to the device is consistent with the calculated feature value corresponding to the device. If they match, the device is determined to be a trusted device.
7. The method according to claim 6, wherein, The method further includes: If the obtained feature value corresponding to the device is inconsistent with the calculated feature value corresponding to the device, the device is determined to be an untrusted device, and the target component in the device has been tampered with in the supply chain link from the previous supply chain node to this supply chain node.
8. A processing device for reliable verification of the entire equipment, wherein, The device includes: The first setting module is configured to determine the N target components included in the device; N is a positive integer greater than 1. The second setting module is configured to obtain feature data that can characterize each target component for each target component. The feature value calculation module is configured to calculate the feature value corresponding to the device using the feature data of N target components and a pre-set algorithm strategy. The verification processing module is configured to perform trusted verification processing using the calculated feature values corresponding to the device. The algorithm strategy includes a second algorithm strategy and a third algorithm strategy; wherein the second algorithm strategy includes sub-algorithms corresponding to each target component. The feature value calculation module is configured to perform the following: for each target component, calculate the feature value corresponding to the target component using the selected feature data and the sub-algorithm corresponding to the target component; wherein the sub-algorithms corresponding to each target component are not completely the same; calculate the feature value corresponding to the device using the N feature values corresponding to N target components and a pre-set third algorithm strategy. in, One target component is: a network interface card (NIC); Characteristic data representing the network card includes: the binary file of the network card's firmware and the information of the OPTIONROM in the network card; The eigenvalue calculation module is configured to perform: The third feature value is calculated using the binary file of the network card's firmware and the first sub-algorithm corresponding to the network card; Using the information from the OPTION ROM and a second sub-algorithm that is different from the first sub-algorithm for the corresponding network card, the fourth feature value is calculated; The feature value of the network card is calculated using the fourth feature value, the third feature value, and the sub-algorithm corresponding to the network card.
9. A computing device comprising a memory and a processor, wherein the memory stores executable code, and the processor, when executing the executable code, implements the method of any one of claims 1-7.