CN116701006A - Component communication method and computing device - Google Patents
Component communication method and computing device Download PDFInfo
- Publication number
- CN116701006A CN116701006A CN202210188431.XA CN202210188431A CN116701006A CN 116701006 A CN116701006 A CN 116701006A CN 202210188431 A CN202210188431 A CN 202210188431A CN 116701006 A CN116701006 A CN 116701006A
- Authority
- CN
- China
- Prior art keywords
- component
- access
- request
- management module
- access credential
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004891 communication Methods 0.000 title claims abstract description 21
- 238000012795 verification Methods 0.000 claims abstract description 11
- 238000007726 management method Methods 0.000 description 43
- 230000006870 function Effects 0.000 description 12
- 238000013461 design Methods 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000017525 heat dissipation Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
The application provides a component communication method and a computing device, wherein the computing device at least comprises a first component, a second component and a management module; the first component sends a first request to the management module before accessing the second component; the management module sends an access certificate of the second component to the first component after the access authority verification of the first component is passed; the first component sends a second request to the second component based on the access credential, the second request requesting access to the second component. In the application, the management module of the component is arranged in the computing equipment and is responsible for generating and managing the access credentials of each component, and the components are communicated based on the access credentials, so that risks of counterfeiting, tampering of data, leakage of information and illegal access among the components in a multi-manufacturer component mode are effectively reduced, and the safety of bus communication among the components is ensured.
Description
Technical Field
The present application relates to the field of computer technologies, and in particular, to a component communication method and a computing device.
Background
In a fully componentized server architecture, a traditional motherboard is split into a base board, an expansion board, and an expansion component. Compared with the traditional server, the full-assembled server has the advantages of easy expansion of components, maintenance and the like, and meanwhile, the risk that the components can be tampered with exists.
In the server of the whole assembly, the components can be connected through high-speed interconnection buses such as memory interconnection (Compute Express Link, CXL) or unified bus (UB or Ubus), and the like, and the components can directly access respective memory data, so that the memory access of the cross-component brings security challenges to the computing component and the memory expansion component, and once the falsified component is accessed to the computing device, the problems of hijacking, misuse, memory data leakage and the like of the component can be caused, and a plurality of security risks exist.
Disclosure of Invention
The application provides a component communication method and a computing device, which are used for improving the safety of bus communication among components in the computing device and reducing the risk of data leakage.
In a first aspect, an embodiment of the present application provides a computing device, where the computing device includes at least a first component, a second component, and a management module;
a first component for sending a request (denoted as a first request) to the management module before accessing the second component; the management module is used for receiving the first request of the first component and sending the access certificate of the second component to the first component after the access right verification of the first component is passed; the first component is further configured to send a request (denoted as a second request) to the second component based on the access credentials of the second component, the second request being for requesting access to the second component.
Through the design, the first component sends a first request to the management module before accessing the second component; the management module sends an access certificate of the second component to the first component after the access authority verification of the first component is passed; the first component sends a second request to the second component based on the access credential, the second request requesting access to the second component. Therefore, risks of counterfeiting of components, tampering of data, leakage of information and illegal access among the components in the multi-manufacturer component mode can be effectively reduced, and safety and reliability of communication of all the components on the bus are guaranteed.
In one possible implementation, a second component is configured to send a registration request to a management module, where the registration request is configured to request registration of an accessible resource of the second component; and the management module is used for generating and storing access credentials of the accessible resources of the second component.
Through the design, the management module of the components is arranged in the computing equipment and is responsible for generating and managing the access credentials of each component, so that the components communicate based on the access credentials, and the safety of bus communication among the components is ensured.
In one possible implementation, the access credential of the second component is generated by the management module from the memory metric of the second component.
Through the design, the access certificate of the component is generated by adopting the memory metric value of the component, so that the risk that the component can be counterfeited is effectively reduced.
In one possible implementation, when the first component sends the second request to the second component based on the access credential of the second component, the first component is specifically configured to: encrypting the access credential by using a data key to obtain an encrypted access credential; wherein the second request includes the encrypted access credential; the data key is received by the first component from the management module.
Through the design, the first component encrypts the access certificate of the second component by using the data key, and sends the encrypted access certificate to the second component through the second request.
In one possible implementation, the second component is further configured to: receiving and storing the access certificate sent by the management module; the second component, after receiving the second request sent by the first component, is further configured to: decrypting the encrypted access credential by using the data key to obtain a decrypted access credential; the data key is received by the second component from the management module; if the decrypted access credential is the same as the access credential stored by the second component, the second component is further configured to respond to the second request; or if different, the second component is further configured to discard the second request.
In one possible implementation, the management module is a motherboard management controller (Baseboard Management Controller, BMC).
In a second aspect, an embodiment of the present application provides a component communication method, which may be performed by a computer, where the computer includes at least a motherboard management controller (Baseboard Management Controller, BMC), a first component, and a second component, where the first component is configured to send a first request to the management module before accessing the second component; the first component sends a first request to the management module before accessing the second component; the first request is used for requesting to acquire access credentials of the second component; after the access right of the first component passes the verification, the management module sends an access certificate of the second component to the first component; the first component sends a second request to a second component based on the access credential, the second request requesting access to the second component.
In one possible implementation, the method further includes: the management module receives a registration request sent by the second component, wherein the registration request is used for requesting to register accessible resources of the second component; the management module generates and stores access credentials for the accessible resources of the second component.
In one possible implementation, the access credentials of the second component are generated by the management module using the memory metrics of the second component.
In one possible implementation, the management module is a BMC.
In a third aspect, the application provides a computer readable storage medium which, when executed by a computing device, performs the method provided in the foregoing first aspect or any possible implementation of the first aspect. The storage medium stores a program. The storage medium includes, but is not limited to, volatile memory, such as random access memory, non-volatile memory, such as flash memory, hard Disk Drive (HDD), solid state disk (solid state drive, SSD).
In a fourth aspect, the application provides a computer program product comprising computer instructions which, when executed by a computing device, performs the method provided in the foregoing first aspect or any possible implementation of the first aspect. The computer program product may be a software installation package which may be downloaded and executed on a computing device in case the method provided in the first aspect or any of the possible implementations of the first aspect is required.
In a fifth aspect, the present application further provides a chip for implementing the method described in the first aspect and each possible implementation manner of the first aspect by executing a software program.
Advantageous effects of any implementation manner of the second aspect to the fifth aspect are described with reference to the first aspect, and are not repeated here.
Drawings
FIG. 1 is a schematic diagram of a computing device according to an embodiment of the present application;
fig. 2 is a flow chart of a component communication method according to an embodiment of the present application.
Detailed Description
In order to facilitate understanding of the method of lock management provided by the embodiments of the present application, concepts and terms related to the embodiments of the present application will be briefly described.
A motherboard management controller (Baseboard Management Controller, BMC), which is a platform management system, is usually the first powered-on component on the motherboard of a computing device, and has a series of monitoring and control functions, and specifically, the BMC is connected to various sensors, which are distributed on several components of the computing device, and the BMC manages the various components of the computer, such as enabling components to power up, power down, and so on, through the sensors.
2, the first, second, etc. numbers referred to in the present application are merely for convenience of description and are not intended to limit the scope of the embodiments of the present application, but also represent the sequence. "and/or", describes an association relationship of an association object, and indicates that there may be three relationships, for example, a and/or B, and may indicate: a exists alone, A and B exist together, and B exists alone. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one" means one or more. At least two means two or more.
The computing device to which the present application relates may be a stand-alone physical machine, such as a server, desktop computer, notebook computer, or the like. The computing device may be deployed on the user side as a user device. The system can be deployed on the server side, can be an independent server, and can also be a server cluster or a distributed system formed by a plurality of physical servers.
Fig. 1 is a schematic architecture diagram of a computing device 10 according to an embodiment of the present application. In the architecture, a traditional motherboard is split into a base board (Basic Computing Unit, BCU) 100, an Extension board 200 (EXU) 200 and a plurality of Extension components, and the base board 100 is matched with the Extension board 200 to realize the support of specifications and forms of the motherboard required by different scenes. Specifically, the same computing device 10 may include one base board 100 and one extension board 200, or the same computing device 10 may also include a plurality of base boards 100 and one extension board 200, or the same computing device 10 may also include one base board 100 and a plurality of extension boards 200. Alternatively, the same computing device 10 may also include multiple base boards 100 and multiple expansion boards 200.
The base board 100 includes a CPU1011, a Double Data Rate (DDR) 1012 and an associated power supply 1013, which provide expansion interfaces for general purpose computing power and peripheral storage, input/output (IO), acceleration, etc. The base plate 100 supportsAnd the like, different series of CPUs. Optionally, the base board 100 supports heterogeneous processors, i.e., the base board 100 may support different types of processors, e.g., the base board 100 supports one or more CPUs 1011 (only one is shown in FIG. 1, but the application is not limited thereto), and any of application-specific integrated circuits (ASICs), programmable logic devices (programmable logic device, PLDs), complex program logic devices (complex programmable logical device, CPLDs), field-programmable gate arrays (FPGAs), general-purpose array logic (generic array logic, GAL), system-on-chip (SoCs), software-defined architecture (software-defined infrastructure, SDI) chips, artificial intelligence (artificial intelligence, AI) chips, or any combination thereof. Optionally, the base board 100 may also include other components, such as a BIOS chip 1014.
Further, the present embodiment provides at least 6 different forms of base boards 100 according to the service requirements and the hardware attributes, which are respectively aimed at different computing performances and memory configurations. For convenience of description, these 6 kinds of base boards 100 are collectively referred to as A1, A2, B1, B2, C1, C2, respectively. In this embodiment, "P" represents the number of processors, P is an integer greater than 0, and "DPC" represents each Channel dual in-line memory module Per Channel (DIMM Per Channel). For example, the A1-form base board 100 supports one processor, inserting one DIMM per channel (abbreviated as 1P1 DPC); the base board 100 in the form of A2 supports a processor, inserting one or two DIMMs per channel (abbreviated as 1P2DPC or 1P1 DPC); the base board 100 of the B1 form supports two processors, one DIMM per channel (abbreviated as 2P1 DPC) or one processor, one or two DIMMs per channel (abbreviated as 1P2DPC or 1P1 DPC); the base board 100 of the B2 form supports two processors, one or two DIMMs (abbreviated as 2P2DPC or 2P1 DPC) per channel, or one processor, one or two DIMMs (abbreviated as 1P2DPC or 1P1 DPC) per channel; the base board 100 of the C1 form supports four processors, one DIMM per channel (abbreviated as 4P1 DPC), or two processors, one or two DIMMs per channel (abbreviated as 2P2DPC or 2P1 DPC); the C2-shaped base board 100 supports four processors, one or two DIMMs per channel (abbreviated as 4P2DPC or 4P1 DPC), or two processors, one or two DIMMs per channel (abbreviated as 2P2DPC or 2P1 DPC). With the development of technology, the package size of the CPU, the number of memory channels and DIMMs may vary, but the standard size and mounting hole site of the motherboard will remain unchanged, so that it is ensured that the base board 100 can be compatible with evolution across generations and across series when being updated. For example: the B2-mode base board 100 supports 2P2DPC (2P 32 DIMM) at the current 8-channel DDR per CPU. After the number of CPU memory channels has risen to 12, 2P2DPC (2P 48 DIMM) will not be realized. Then, the B2 configuration may support 2P1DPC (2P 24 DIMM), while 2P2DPC (2P 48 DIMM) may be implemented with other configurations such as C1, since the mounting hole locations and the base board 100 dimensions are standard, direct replacement and installation.
The expansion board 200 includes a main board management controller (Baseboard Management Controller, BMC) chip 2011 (referred to simply as BMC 2011), a management system (not shown in fig. 1), and a bridge (for example, a platform path controller (Platform Controller Hub, PCH) 2012) of the Intel system), and is an expansion of management of the base board 100, and serves as a management center of the whole system to provide management functions such as equipment, security, energy efficiency, reliability, and the like. The BMC2011 may also be referred to as a baseboard management controller, and is configured to provide management functions and power for the base board 100 and the expansion components.
In this architecture, the base board 100 is communicatively connected to the components via a high-speed bus such as PCIe, a memory interconnect (Compute Express Link, CXL), or a unified bus (UB or Ubus), and to the expansion board 200 via a management interface. In specific implementations, the specific connection modes of the base board 100 and the components, and the base board 100 and the expansion board 200 include: the soft connection mode of the connection is realized by a cable, or the hard connection mode of the connection is realized by a connector.
Components are a general term for a type of electronic device or electronic apparatus, where the components can be divided into a computing component 4011, a STorage component (STU) 4012, an IO component (Input Output Unit, IOU) 4013, an acceleration component (ACceleration Unit, ACU) 4014, a memory expansion component (Memory Expansion Unit, MEU) 4015, and a heat dissipation component 4016 by functions. Wherein, the computing component 4011, such as the CPU1011 and the memory (e.g. DDR 1012) may be located in the base board 100, and optionally, the computing component 4011 may also be connected to the base board 100 as an extension component; BMC2011, etc. may be located in expansion board 200. The following description is made for each type of component:
the storage component 4012 includes a hard disk backplane, an expansion board (expansion), a PCIe switch (switch), etc., and supports multiple media and forms such as a Hard Disk Drive (HDD)/a Solid State Drive (SSD)/a Non-volatile high-speed transmission bus (Non-Volatile Memory express, NVMe)/a storage class memory (Storage Class Memory, SCM), etc. for system storage expansion.
IO component 4013 comprises components such as a Riser, realizes expansion of system IO, and supports PCIe standard card and open computing item (Open Compute Project, OCP) card.
Acceleration component 4014 comprises a carrier board, an acceleration card interconnect switch (switch), etc., providing system acceleration component expansion and interconnect functionality.
The memory expansion component 4015 comprises a carrier, a memory expansion chip, a dual in-line memory module (DIMM), SCM media, etc., and provides functions of expanding memory bandwidth and memory capacity of the system.
The heat dissipation component 4016 is configured to dissipate heat from a computing device or hardware in the computing device, and includes a combination of air cooling, liquid cooling, or a combination of both. It should be understood that the structure, type and number of heat dissipating components do not constitute limitations on the solution to be protected by the present application.
It should be noted that (1) the components listed above are only examples of some components, for example, the components may further include a power supply component, etc., where the components in the present application are a generic term of an electronic device or an electronic apparatus included in a server architecture, some components may be located on a base board, some components may be located on an expansion board, and components that do not belong to the base board or the expansion board are referred to as expansion components in this embodiment. In general, any electronic device or electronic equipment that can be accessed to the base board or expansion board falls within the scope of the claimed assembly. (2) The location of the components shown in fig. 1 is merely an example, and the deployment form and connection manner in the actual product of the present application are not limited. (3) The architecture of computing device 10 shown in fig. 1 is merely an example, and in actual practice, computing device 10 may include more or fewer components than in fig. 1, e.g., computing device 10 may also include heat dissipation components, peripherals (mice, keyboards), etc. For another example, computing device 10 may not include storage component 4012 or the like. The present application is not particularly limited in this regard.
On the other hand, in the conventional server architecture, due to evolution reasons such as power supply, number of memory channels, number of IOs, rate, etc., slots (sockets) of a processor (e.g., a central processing unit (central processing unit, CPU)) are generally only compatible per generation (two small upgrades of rack/Tock), and it is difficult to be compatible across generations. The main board provided by the application can be provided with an external interface in a standardized mode, and can be expanded in various external modes such as a cable and the like in a flexible connection mode, so that the related power supply of the processor and the difference caused by interconnection among different processors, components and the components can be shielded. The change of components such as the memory is only contained in the main board, and the cross-generation compatible function of the main board is realized. Thus, for each manufacturer, when the processor is updated, the complete machine, the components and the like matched with the processor can not be replaced, so that the matched components have longer life cycle. The customer can replace the latest components at any time on the premise of not changing the chassis and not increasing the workload of hardware development, and the latest calculation force in the industry is used most quickly. For the whole manufacturer, after the new architecture of the server is subjected to cross-generation upgrading and cross-series evolution, the upgrading of the processor or the replacement of different processor manufacturers can be realized by simply replacing the base plate, the original development mode is subverted, and a new industry mode is derived.
Above-mentioned design, with traditional mainboard split for basic board, expansion board and extension subassembly, the function on the traditional mainboard is discrete for independent subassembly, like this, the subassembly can be by independent production, sales and installation etc. provides flexibility and convenience such as computing equipment extension, subassembly maintenance. However, these components are also being more easily tampered with, and further, when the base board and the components are connected by high-speed interconnection buses such as CXL, the base board and the components, and the components can directly access the respective or opposite memory data. The memory access across components brings security challenges to both the computing component and the memory expansion component, and once the tampered component is accessed to the computing device, the problems of hijacking, misuse, memory data leakage and the like of the component capacity can be possibly caused, and a plurality of security risks exist.
Therefore, the embodiment of the application provides a communication method, in the method, aiming at the access among components, the management module verifies the access authority of the components, and the access can be allowed only by the verification, so that the method can effectively reduce the risks of counterfeit components, tampered data, information leakage and illegal access among components in a multi-manufacturer component mode, and ensure the safety of bus communication among the components.
Next, in conjunction with fig. 2, taking an architecture of an embodiment of the present application applied to the computing device 10 shown in fig. 1 as an example, a detailed description will be given of a communication method provided by the embodiment of the present application. The method may be performed by computing device 10 in fig. 1. For ease of description, this method is described below as being performed by two components (respectively, a first component, a second component) in computing device 10 and a management module, where the management module may be a software module, or a hardware module, or a combination of a software module and a hardware module. The management module may be a separate component of the computing device 10, an existing component such as a BMC, or other components, and is not limited in particular. The following description will be given by taking the BMC as an example, where the BMC has the function of the management module, and it should be understood that the BMC may be replaced by the management module.
Fig. 2 is a flow chart corresponding to a communication method provided in an embodiment of the present application, as shown in fig. 2, the method includes the following steps:
in step 200, the bmc sends a data key (denoted as Tkey) to the first component and the second component, respectively. Correspondingly, the first component and the second component receive and store the data key.
In the application, the BMC is used for generating the data key and distributing the data key to each component. It should be understood that fig. 2 illustrates only a process in which the BMC distributes a data key to the first and second components, taking the first and second components as examples, and the remaining components are not illustrated.
Illustratively, the first component may be the base board 100, and the second component may be any component of the computing device 10 other than the base board 100, such as an IO component, or a memory expansion component, or an acceleration component, or a storage component, or the like.
Also, as an example, the first component may be one of the IO components in the computing device 10, and the second component may be another IO component of the computing device 10, or the first component may be an IO component, and the second component may be a memory expansion component, and so on, which is not specifically limited.
Still further, as an example, the communication method provided by the embodiment of the present application may also be applied to communication between components, such as the CPU1011 of the base board 100 for the first component, the DDR1012 of the base board 100 for the second component, and so on.
It should be noted that the BMC may have other functions, and is not limited in particular. Such as the BMC, is also used to generate and manage access credentials for the components, as will be described below.
In step 201, the second component sends a registration request to the BMC requesting registration of remotely accessible resources of the second component.
The registration request carries identity information of a second component including, but not limited to, one or more of the following: a component identifier (unique device secret, UDS) of the second component, a memory metric value of the second component. Wherein the component identification is used to uniquely identify a component.
The memory metric value may be generated based on a code segment of the second component, specifically, may be generated based on one or more dynamic code segments of the second component, may be generated based on one or more static code segments of the second component, and may be generated based on at least one dynamic code segment and at least one static code segment of the second component. The memory metric value may be a code segment itself for generating the memory metric value, or may be a hash value of a code segment for generating the memory metric value, which is not specifically limited.
In step 202, the bmc generates and saves the access credential (denoted as ukey_2) of the second component based on the identity information of the second component.
Based on the design, the BMC adopts the memory value measurement of the second component to participate in generating the access certificate of the second component, so that the possible risk of being imitated by the second component can be effectively reduced.
In step 203, the BMC sends the access credential of the second component to the second component. Correspondingly, the second component receives and saves the access credential.
In step 204, the first component sends a request (denoted as a first request) to the BMC for obtaining access credentials of the second component before accessing the second component. Correspondingly, the BMC receives a first request sent by the first component.
The first request includes, but is not limited to: component identification of the first component, component identification of the second component. The component identifier of the second component may be preset in the first component, or may be broadcast by the second component, or may be acquired in other manners, and is not specifically limited.
Step 205, the bmc verifies the access rights of the first component, and if not, step 206 is executed; if the verification is passed, step 207 is performed.
The BMC determines whether the first component has access to the second component based on the mutual access policy.
Specifically, the BMC stores inter-access policies between components in the computing device 10. Wherein the interview strategy includes, but is not limited to: component identification of a component, access manifest of the component. One or more components that can access the component are recorded in the access list, in other words, the components recorded on the access list have access rights. It should be noted that other information, such as an access credential of the component, may also be included in the mutual access policy, which is not limited in the embodiment of the present application. For example, the mutual access policy stored in the BMC is shown in Table 1 below, it being understood that Table 1 only shows some of the components in the mutual access policy.
TABLE 1
Component identification | Access credentials | Access list |
UDS_2 | Ukey_2 | UDS_1、UDS_3 |
… | … | … |
Wherein uds_1 represents the component identity of the first component; uds_2 represents the component identity of the second component; uds_3 represents the component identity of the third component; ukey_2 represents the access credentials of the second component.
As can be seen from the description of table 1, the access list of the second component includes the first component and the third component, that is, both the first component and the third component can access the second component, that is, have access rights to the second component, that is, components other than the first component and the third component in the computing device 10 cannot access the second component.
The mutual access policy in the BMC may be preset in the BMC, or may be generated by the BMC, for example, the registration request sent by the second component may also carry an access list of the second component, and the BMC generates the mutual access policy based on the registration request of each component, or may also be configured by the user. If provided by the user device, computing device 10 may provide a corresponding configuration interface for the user to configure the interview policy.
Based on this, in step 205, if the access list of the second component includes the component identification of the first component, the BMC determines that the first component has access to the second component. Or if the BMC cannot identify the component identification of the first component or the component identification of the first component is not included in the access list of the second component, determining that the first component does not have the access right to the second component. Alternatively, if the BMC is unable to identify the component identity of the first component, the first component may be a tampered or BMC-incompatible component, and the BMC may perform further processing, such as issuing an alarm to the first component, powering down the first component, etc.
In step 206, the BMC denies the first request for the first component.
For example, the BMC does not respond to the first request of the first component, or the BMC sends indication information to the first component, where the indication information is used to indicate that the first request of the first component is refused, and the method is not specifically limited.
In step 207, the BMC sends the access credentials of the second component to the first component. Correspondingly, the first component receives the access credential of the second component sent by the BMC.
In one embodiment, the BMC may send the access credential directly to the first component. In another embodiment, the BMC may also encrypt the access ticket using a data key (Tkey) and send the encrypted access ticket to the first component. Correspondingly, after the first component receives the encrypted access credential sent by the BMC, the received data may be decrypted using the Tkey distributed by the BMC to obtain the access credential of the second component. By the design, the security of data communication can be enhanced, and the risk of leakage of the access credentials of the second component is reduced.
The first component sends a request (denoted as a second request) to the second component based on the access credentials of the second component, step 208. The second request is for requesting access to a second component. Correspondingly, the second component receives a second request sent by the first component.
The second request may be a read data request requesting to acquire data of the second component, or may also be a write data request requesting to write data to be written to the second component. Specifically, the second request includes the access credential of the second component or the access credential encrypted by using the Tkey, and may further include other information, such as a component identifier of the first component, and if the second request is a data writing request, the second request may further include data to be written or data to be written encrypted by using the Tkey.
Step 209, the second component verifies the access right of the first component, and if the verification is passed, step 210 is executed; otherwise, step 211 is performed.
In one embodiment, the second component verifies the access credential carried in the second request, and it should be understood that if the second request is carried as the encrypted access credential, the second component first decrypts using Tkey to obtain the decrypted access credential, and then the second component compares the access credential carried in the second request with the access credential of the second component itself stored in the second component, and if the access credentials are consistent, the verification is passed; if not, the verification is not passed.
In step 210, the second component responds to the second request.
Specifically, if the second request is a data writing request, the second component writes the data to be written carried in the second request into the second component, and it should be understood that if the data to be written carried in the second request is encrypted, the second component decrypts the data to be written by using the Tkey first, so as to obtain decrypted data to be written. For another example, if the second request is a read data request, the second component acquires the data requested to be read by the second request, and encrypts the acquired data or uses Tkey to send the encrypted acquired data to the first component.
It should be noted that, the manner in which the second component responds to the first component may be the same as the manner in which the first component accesses the second component, that is, the second component first obtains the access credential of the first component from the BMC, and then sends data to the first component based on the access credential of the first component, if the second request is a read data request, the second component sends the access credential of the first component (or the access credential encrypted by using the Tkey) and the data requested to be read by the second request (or the data encrypted by using the Tkey) to the first component. Alternatively, since the second component is the party to which the interaction is requested, the second component may also directly respond to the first component, for example, in the case that the second request is a read data request, the second component directly sends the data requested to be read by the second request to the first component. It should be noted that, if the second component actively initiates access to the first component, the second component accesses the first component in the same manner as the first component accesses the second component, that is, all needs to communicate based on the access credentials of the accessed component.
According to the design, the first component can encrypt data by using the data key, and the first component is communicated with the second component based on the access certificate of the second component, so that double-layer security protection is realized. The second component responds to the request of the first component after the access right of the first component passes the verification. The risks of counterfeiting, tampering of data, leakage of information and illegal access among components in the multi-manufacturer component mode are effectively reduced, and the safety and the credibility of communication of each component on a bus are ensured.
The second component does not respond to the second request, step 211.
The second component does not respond to the second request of the first component, e.g., the second request may be discarded, etc.
In an alternative embodiment, the BMC may periodically update a data key (Tkey) and synchronize the updated data key to the various components. In another alternative embodiment, the present application may also update the access credentials of the component periodically, where the process may be initiated by the component, for example, the second component sends an update request (or referred to as a new registration request) to the BMC, where the update request carries information for generating the access credentials of the second component (such as identity information of the second component), and the BMC generates new access credentials (denoted as ukey_2') of the second component based on the information carried in the update request, and the manner of generating the access credentials is referred to in the related description above and will not be repeated herein. The BMC then sends the new access ticket to the second component, which receives and saves the new access ticket, i.e., replaces the original access ticket (Ukey_2) with the new access ticket (e.g., ukey_2'). Notably, the information carried by the second component in the two adjacent update requests for generating the access ticket is different, such that Ukey_2' is different from Ukey_2.
By the design, the BMC dynamically updates the data key and the access certificate of the component to realize the dynamic management of the data key and the access certificate of the component, enhance the reliability of the data key and the access certificate of the component and reduce the risk of leakage of the data key and the access certificate of the component.
The foregoing describes a complete method flow of the first component accessing the second component, and if after that, the first component accesses the second component again, in one embodiment, the first component may not repeatedly acquire the access credential of the second component, but directly use the access credential of the second component acquired last time, and communicate with the second component based on the access credential. If the second component does not respond or refuses the access request of the first component once or more times after the communication fails, the first component re-acquires the new access credential of the second component, and then communicates with the second component based on the new access credential. In another embodiment, the first component re-obtains the access credential of the second component before each access to the second component, and communicates with the second component based on the re-obtained access credential, so that the latest access credential used by the first component for the second component can be guaranteed. In a third embodiment, the first component periodically obtains the access credential of the second component, and optionally, if the first component does not have access requirements for the second component in a period, the access credential of the second component may not be obtained.
Embodiments of the present application further provide a computer storage medium having stored therein computer instructions that, when executed on a computer, cause the computer to perform the above-mentioned related method steps to implement the method performed by the computing device 10 in the above-mentioned embodiments, and the descriptions of the steps in fig. 2 are omitted herein.
The embodiment of the present application further provides a computer program product, which when executed on a computer, causes the computer to perform the above-mentioned related steps to implement the method performed by the computing device 10 in the above-mentioned embodiment, and the descriptions of the steps in fig. 2 are omitted herein.
In addition, the embodiment of the application also provides a device, which can be a chip, a component or a module, and can comprise a processor and a power supply circuit which are connected; the power supply circuit is configured to provide power for the processor, and when the apparatus is running, the processor may execute the computer-executable instructions to cause the chip to perform the method executed by the computing device 10 in the above-described method embodiments, and the descriptions of the steps in fig. 2 are omitted herein.
The computer storage medium, the computer program product, or the chip provided by the embodiments of the present application are used to execute the method executed by the computing device 10 provided above, and the advantages achieved by the method may refer to the advantages in the corresponding method provided above, which are not described herein.
Alternatively, the computer-executable instructions in the embodiments of the present application may be referred to as application program codes, which are not particularly limited in the embodiments of the present application.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, optical fiber, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device including one or more servers, data centers, etc. that can be integrated with the available medium. The usable medium may be a magnetic medium (e.g., a floppy Disk, a hard Disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a Solid State Disk (SSD)), or the like.
The various illustrative logical blocks and circuits described in connection with the embodiments of the present application may be implemented or performed with a general purpose processor, a digital signal processor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the general purpose processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital signal processor core, or any other similar configuration.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software unit executed by a processor, or in a combination of the two. The software elements may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. In an example, a storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Although the application has been described in connection with specific features and embodiments thereof, it will be apparent that various modifications and combinations can be made without departing from the spirit and scope of the application. Accordingly, the specification and drawings are merely exemplary illustrations of the present application as defined in the appended claims and are considered to cover any and all modifications, variations, combinations, or equivalents that fall within the scope of the application. It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the scope of the application. Thus, it is intended that the present application also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.
Claims (13)
1. A computing device, wherein the computing device comprises at least a first component, a second component, and a management module;
the first component is configured to send a first request to the management module before accessing the second component;
the management module is used for sending the access certificate of the second component to the first component after the access right of the first component is verified;
the first component is further configured to send a second request to the second component based on the access credential, the second request being for requesting access to the second component.
2. The device of claim 1, wherein the second component is to send a registration request to the management module, the registration request to request registration of an accessible resource of the second component;
the management module is used for generating and storing access credentials of the accessible resources of the second component.
3. The device of claim 2, wherein the access credential is generated by the management module based on a memory metric of the second component.
4. A device according to any of claims 1-3, wherein the first component is configured to, when sending a second request to the second component based on the access credentials, in particular to: encrypting the access credential by using a data key to obtain an encrypted access credential; wherein the data key is received by the first component from the management module, and the second request includes the encrypted access credential.
5. The apparatus of claim 4, wherein the second component is further to: receiving and storing the access credentials sent by the management module;
the second component, after receiving the second request sent by the first component, is further configured to: decrypting the encrypted access credential by using a data key to obtain a decrypted access credential; the data key is received by the second component from the management module;
if the decrypted access credential is the same as the access credential stored by the second component, the second component is further configured to respond to the second request; or if different, the second component is further configured to discard the second request.
6. The apparatus of any of claims 1-5, wherein the management module is a baseboard management controller, BMC.
7. A component communication method, wherein a computing device comprises at least a first component, a second component, and a management module: the method comprises the following steps:
the first component sending a first request to the management module before accessing the second component;
after the access right of the first component passes the verification, the management module sends an access certificate of the second component to the first component;
the first component sends a second request to the second component based on the access credential, the second request requesting access to the second component.
8. The method of claim 7, wherein the method further comprises:
the second component sends a registration request to the management module, wherein the registration request is used for requesting to register accessible resources of the second component;
the management module generates and stores access credentials for the accessible resources of the second component.
9. The method of claim 8, wherein the access credential is generated by the management module based on a memory metric of the second component.
10. The method of any of claims 7-9, wherein the first component sending a second request to the second component based on the access credential comprises:
the first component encrypts the access credential by using a data key to obtain an encrypted access credential; wherein the data key is obtained by the first component from the management module, and the second request includes the encrypted access credential.
11. The method of claim 10, wherein the method further comprises:
the second component receives and stores the access credentials sent by the management module;
after the first component sends a second request to the second component based on the access credential, the method further includes:
the second component decrypts the encrypted access credential by using a data key to obtain a decrypted access credential; the data key is acquired by the second component from the management module;
if the decrypted access credential is the same as the access credential stored by the second component, the second component responds to the second request; or alternatively; if not, the second component discards the second request.
12. The method according to any of the claims 7-11, wherein the management module is a baseboard management controller, BMC.
13. A computer readable storage medium, characterized in that the computer readable storage medium, when executed by a storage device, performs the method of any of the preceding claims 7 to 12.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210188431.XA CN116701006A (en) | 2022-02-28 | 2022-02-28 | Component communication method and computing device |
CN202210516329.8A CN115061826B (en) | 2022-02-28 | 2022-02-28 | Component communication method and computing device |
PCT/CN2023/078424 WO2023160701A1 (en) | 2022-02-28 | 2023-02-27 | Component communication method and computing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210188431.XA CN116701006A (en) | 2022-02-28 | 2022-02-28 | Component communication method and computing device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210516329.8A Division CN115061826B (en) | 2022-02-28 | 2022-02-28 | Component communication method and computing device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701006A true CN116701006A (en) | 2023-09-05 |
Family
ID=83225963
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210188431.XA Pending CN116701006A (en) | 2022-02-28 | 2022-02-28 | Component communication method and computing device |
CN202210516329.8A Active CN115061826B (en) | 2022-02-28 | 2022-02-28 | Component communication method and computing device |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210516329.8A Active CN115061826B (en) | 2022-02-28 | 2022-02-28 | Component communication method and computing device |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN116701006A (en) |
WO (1) | WO2023160701A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701006A (en) * | 2022-02-28 | 2023-09-05 | 华为技术有限公司 | Component communication method and computing device |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136717A1 (en) * | 2004-12-20 | 2006-06-22 | Mark Buer | System and method for authentication via a proximate device |
CN103795692B (en) * | 2012-10-31 | 2017-11-21 | 中国电信股份有限公司 | Open authorization method, system and certification authority server |
CN104618096B (en) * | 2014-12-30 | 2018-10-30 | 华为技术有限公司 | Protect method, equipment and the TPM key administrative center of key authorization data |
CN104836664B (en) * | 2015-03-27 | 2019-05-14 | 腾讯科技(深圳)有限公司 | A kind of methods, devices and systems executing business processing |
CN106714075B (en) * | 2015-08-10 | 2020-06-26 | 华为技术有限公司 | Method and device for processing authorization |
US11050730B2 (en) * | 2017-09-27 | 2021-06-29 | Oracle International Corporation | Maintaining session stickiness across authentication and authorization channels for access management |
US10972449B1 (en) * | 2018-06-28 | 2021-04-06 | Amazon Technologies, Inc. | Communication with components of secure environment |
CN112823503B (en) * | 2018-11-20 | 2022-08-16 | 深圳市欢太科技有限公司 | Data access method, data access device and mobile terminal |
CN109992976B (en) * | 2019-02-27 | 2024-07-02 | 平安科技(深圳)有限公司 | Access credential verification method, device, computer equipment and storage medium |
CN110266657A (en) * | 2019-05-30 | 2019-09-20 | 浙江大华技术股份有限公司 | Authentication method and device, resource access method and device, storage medium |
CN110443049B (en) * | 2019-07-17 | 2023-05-23 | 南方电网科学研究院有限责任公司 | Method and system for secure data storage management and secure storage management module |
US11334501B2 (en) * | 2020-01-28 | 2022-05-17 | Hewlett Packard Enterprise Development Lp | Access permissions for memory regions |
CN111399980A (en) * | 2020-03-16 | 2020-07-10 | 中国联合网络通信集团有限公司 | Safety authentication method, device and system for container organizer |
CN113395289A (en) * | 2021-06-30 | 2021-09-14 | 北京奇艺世纪科技有限公司 | Authentication method, authentication device, electronic equipment and storage medium |
CN114039792B (en) * | 2021-11-19 | 2023-08-11 | 度小满科技(北京)有限公司 | Data access authority control method, device, equipment and readable storage medium |
CN116701006A (en) * | 2022-02-28 | 2023-09-05 | 华为技术有限公司 | Component communication method and computing device |
-
2022
- 2022-02-28 CN CN202210188431.XA patent/CN116701006A/en active Pending
- 2022-02-28 CN CN202210516329.8A patent/CN115061826B/en active Active
-
2023
- 2023-02-27 WO PCT/CN2023/078424 patent/WO2023160701A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023160701A1 (en) | 2023-08-31 |
CN115061826B (en) | 2024-02-13 |
CN115061826A (en) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11487852B2 (en) | Blockchain-based license management | |
EP3582129B1 (en) | Technologies for secure hardware and software attestation for trusted i/o | |
US11902112B2 (en) | Provisioning persistent, dynamic and secure cloud services | |
CN113785548B (en) | Attestation service for enforcing payload security policies in a data center | |
US11985258B2 (en) | Split chain of digital certificates for supply chain integrity | |
US11868474B2 (en) | Securing node groups | |
US11416615B2 (en) | Configuring trusted remote management communications using UEFI | |
WO2012040728A1 (en) | Verification and protection of genuine software installationv using hardware super key | |
CN115061826B (en) | Component communication method and computing device | |
CN116702149A (en) | Trusted measurement method, server and chip | |
US11809564B2 (en) | Secure importation of cryptographic credentials to an information handling system | |
US20230009032A1 (en) | Systems and methods for authenticating the identity of an information handling system | |
WO2023160705A1 (en) | Component authentication method and apparatus | |
US11822668B2 (en) | Systems and methods for authenticating configurations of an information handling system | |
US20230128572A1 (en) | Customer validation of information handling systems | |
US12026561B2 (en) | Dynamic authentication and authorization of a containerized process | |
TW202217619A (en) | Distributed key management system | |
US20240073007A1 (en) | Enforcing access control for embedded controller resources and interfaces | |
US11843707B2 (en) | Systems and methods for authenticating hardware of an information handling system | |
US20240036744A1 (en) | Information handling system configured for authentication of memory expansion capabilities | |
US11954207B2 (en) | Proxy authentication for resource-constrained device | |
US20240250835A1 (en) | Role-based permissions in a distributed permissions network | |
US20240028685A1 (en) | Authentication of memory expansion capabilities | |
US20240202348A1 (en) | Authorizing enterprise modular chassis component movement using fully homomorphic encryption | |
US11651110B2 (en) | Hardware device mutual authentication system and method for a baseboard management controller (BMC) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |