DEVICE ATTESTATION OVER LTPI INTERFACE USING PRIVILEGED MODE SYSTEMS AND METHODS
A system, method, and computer program product for performing attestation by a baseboard management controller (BMC) of target devices are provided. A data center secure control module (DC-SCM) coupled to BMC includes a PLD with an arbiter that communicates using LTPI IP over I2C with the HPM. The BMC issues MCPT requests for attestation information to target devices. The arbiter at the DC-SCM establishes a two-way communication mode over the LTPI IP with the HPM to transfer the requests to the HPM on a primary LTPI I2C channel. A PLD with an arbiter at HPM routes the requests to target devices using virtual I2C nodes. The target devices issue responses with the attestation information. The responses are routed to the arbiter of the HPM, that uses the virtual I2C nodes to route the responses over a secondary LTPI I2C channel to the DC-SCM. The DC-SCM routes the responses to the BMC.
1 . A system comprising:
a host processing module (HPM) coupled to a plurality of target devices;
a data center secure control module (DC-SCM) comprising a first arbiter and configured to communicate using Low-Voltage Differential Signaling (LVDS) tunneling protocol interface (LTPI IP) with the HPM, and configured to:
receive at least one request from a baseboard management controller (BMC) over a Management Control Transfer Protocol (MCTP), wherein the at least one request requests attestation information from the plurality of target devices;
establish, using the first arbiter, and based on the at least one request, a two-way communication mode over the LTPI IP with the HPM, wherein the two-way communication mode includes a primary channel and a secondary channel;
pass the at least one request to the HPM over the primary channel; and
receive a plurality of responses from the plurality of target devices coupled to the HPM over the secondary channel, wherein the plurality of responses include the attestation information from the plurality of target devices for the BMC.
2 . The system of claim 1 , further comprising:
the BMC configured to issue the at least one request during a BMC boot process.
3 . The system of claim 1 , wherein the primary channel is a first LTPI inter-integrated circuit (I2C) channel and the secondary channel is a second LTPI I2C channel.
4 . The system of claim 1 , wherein the primary channel is a first LTPI improved inter-integrated circuit (I3C) channel and the secondary channel is a second LTPI I3C channel.
5 . The system of claim 1 , wherein the HPM comprises a second arbiter configured to:
assign a plurality of virtual nodes to the plurality of target devices; and
transmit the plurality of responses from the plurality of target devices over the secondary channel based on the plurality of virtual nodes.
6 . The system of claim 1 , wherein the first arbiter of the DC-SCM is further configured to switch the LTPI IP to a one-way communication mode over after the plurality of responses are received from the plurality of target devices.
7 . The system of claim 1 , further comprising:
a first target device and a second target device in the plurality of target devices having a same make and model, wherein the first target device is coupled to the HPM using a first communication interface and the second target device is coupled to the HPM using a second communication interface, and wherein the first communication interface and the second communication interface communicate using the MCTP; and
wherein the HPM comprises a second arbiter coupled to the first communication interface and the second communication interface and configured to:
assign a first virtual node to the first target device and a second virtual node to the second target device;
receive a first response in the plurality of responses from the first target device over the first communication interface and a second response from the plurality of responses over the second communication interface; and
cause, using the first virtual node and the second virtual node, the HPM to transmit the first response and the second response over the secondary channel to the DC-SCM.
8 . The system of claim 7 , further comprising the BMC coupled to the DC-SCM over a third communication interface and a fourth communication interface, wherein the third communication interface and the fourth communication interface communicate using the MCTP; and
wherein the first arbiter of the DC-SCM is further configured to:
receive the first response and the second response over the secondary channel; and
transmit, to the BMC, the first response over the third communication interface and the second response over the fourth communication interface.
9 . The system of claim 1 , wherein the at least one request and the plurality of responses are SPDM messages encapsulated within a body of an MCTP packet.
10 . A method comprising:
initiating, using a first arbiter at a DC-SCM, a two-way communication mode over two LTPI I2C channels between the DC-SCM and an HPM;
discovering, using a plurality of discovery requests from a BMC transmitted on one of the two LTPI I2C channels between the DC-SCM and HPM, a plurality of target devices coupled to the HPM; and
verifying, using a plurality of responses transmitted from the plurality of target devices over a second of the two LTPI I2C channels between the DC-SCM and the HPM, the plurality of target devices.
11 . The method of claim 10 , further comprising:
booting up the BMC; and
wherein the initiating the two-way communication mode occurs during the boot up of the BMC.
12 . The method of claim 11 , further comprising:
switching, using the first arbiter at the DC-SCM, to a one-way communication mode over a plurality of LTPI channels between the DC-SCM and the HPM upon completion of the booting up of the BMC.
13 . The method of claim 10 , wherein the plurality of discovery requests and the plurality of responses are encapsulated in SPDM messages encapsulated in MCTP packets.
14 . The method of claim 10 , further comprising:
configuring the two LTPI I2C channels as a primary LTPI I2C channel and a secondary LTPI I2C channel, wherein the plurality of discovery requests are transmitted over the primary LTPI I2C channel and the plurality of responses are transmitted over the secondary LTPI I2C channel.
15 . The method of claim 10 , further comprising:
generating a virtual I2C node for each target device in the plurality of target devices, wherein the virtual I2C node corresponds to one of the two LTPI I2C channels.
16 . The method of claim 10 , wherein a first target device and a second target device in the plurality of target devices comprise a same make and model; and
wherein the discovering further comprises:
transmitting a first request in the plurality of discovery requests from the BMC over a first MCTP communication interface;
transmitting a second request in the plurality of discovery requests from the BMC over a second MCTP communication interface; and
transmitting, using the first arbiter at the DC-SCM, the first request and the second request to the first target device and the second target device over the one of the two LTPI I2C channels.
17 . A programmable logic device (PLD), comprising:
a first communication interface configured to communicate MCTP packets, wherein the MCTP packets include a request and a response for attestation information;
a second communication interface configured to communicate over LTPI IP; and
an arbiter configured to switch the PLD between a two-way communication mode of operation and a one-way communication mode of operation, wherein the two-way communication mode of operation comprises a primary channel for egress communications over the LTPI IP and a secondary channel for ingress communications over the LTPI IP; and
wherein the MCTP packets are communicated over the first communication interface and the second communication interface using the primary and secondary channel.
18 . The PLD of claim 17 , wherein the second communication interface is an I2C interface.
19 . The PLD of claim 17 , wherein the attestation information in the MCTP packets is configured to verify at least one target device connected to the PLD.
20 . The PLD of claim 17 , wherein the arbiter is further configured to switch to the two-way communication mode of operation in response to receiving an indication over the first communication interface that a device coupled to the PLD is booting up.