Systems and methods for cloning BMC profiles in a cluster environment
According to embodiments of the present disclosure, a firmware cloning system and method provided using Security Protocol and Data Model (SPDM)-enabled devices. The firmware cloning system and method include program instructions that may be executed on a processing system to mutually authenticate with a source IHS to generate shared security keys, and end a request to the source IHS to generate a server profile comprising information associated with a configuration of the source HIS. A source HIS is configured to generate the server profile in response to the request, encrypt the server profile using one of the security keys, and send the encrypted server profile to the target HIS. The target HIS then is configured to receive the encrypted server profile, decrypt the encrypted server profile using a source of the shared security keys, and configure the target IHS according to the decrypted server profile.
1 . A target Information Handling System (IHS) comprising:
at least one memory coupled to at least one processor, the at least one memory having program instructions stored thereon that, upon execution by the at least one processor, cause the target IHS to:
receive a multicast message transmitted from one of a plurality of source IHSs that are each configured to transmit a multicast message with a different address relative to the multicast message transmitted by other source IHSs, wherein the target IHS has been previously provisioned with the address associated with the one source IHS;
when the address provisioned in the target IHS matches the address of the transmitted multicast message, mutually authenticate with a source IHS to generate shared security keys;
send a request to the one source IHS to generate a server profile comprising information associated with a configuration of the one source IHS, wherein the information comprises a number and type of hardware devices in the one source IHS and one or more settings for each of the hardware devices and one or more latest software deployments or firmware updates existing on the one source IHS, and wherein the one source IHS is configured to generate the server profile in response to the request, encrypt the server profile using one of the security keys, and send the encrypted server profile to the target IHS;
receive the encrypted server profile;
decrypt the encrypted server profile using the shared security keys; and
configure the target IHS according to the decrypted server profile.
2 . The target IHS of claim 1 , wherein the program instructions, upon execution, further cause the target IHS to, before mutually authenticating with the one source IHS, performing a discovery operation to identify a multicast address of the one source IHS.
3 . The target IHS of claim 2 , wherein the program instructions, upon execution, further cause the one source IHS to transmit the multicast address over a network at ongoing intervals.
4 . The target IHS of claim 1 , wherein the program instructions, upon execution, further cause the target IHS to mutually authenticate with the one source IHS using at least one of Security Protocol and Data Model (SPDM) messages or Transport Layer Security (TLS) messages.
5 . The target IHS of claim 4 , wherein the program instructions, upon execution, further cause the target IHS to mutually authenticate with the one source IHS using TLS messages when a platform that executes the instructions is not a SPDM-enabled device.
6 . The target IHS of claim 5 , wherein the platform comprises a Baseboard Management Controller (BMC) configured in the target IHS.
7 . The target IHS of claim 1 , wherein the program instructions, upon execution, further cause the target IHS to delete the server profile after the target IHS is configured according to the decrypted server profile.
8 . The target IHS of claim 1 , wherein the program instructions, upon execution, further cause the one source IHS to generate the server profile only when no changes have been made to the one source IHS since the server profile was previously generated.
9 . The target IHS of claim 1 , wherein the program instructions, upon execution, further cause the target IHS to mutually authenticate with the one source IHS, send the request to the one source IHS, receive the encrypted server profile, decrypt the encrypted server profile, and configure the target IHS during a boot operation of the target IHS.
10 . The target IHS of claim 3 , wherein the server profile comprises a Server Configuration Profile (SCP).
11 . A server profile cloning method comprising:
receiving, by a target Information Handling System (IHS), a multicast message transmitted from one of a plurality of source IHSs that are each configured to transmit a multicast message with a different address relative to the multicast message transmitted by other source IHSs, wherein the target IHS has been previously provisioned with the address associated with the one source IHS;
when the address provisioned in the target IHS matches the address of the transmitted multicast message, mutually authenticating, by the target IHS, the one source IHS to generate shared security keys;
sending, by the target IHS, a request to the one source IHS to generate a server profile comprising information associated with a configuration of the one source IHS, wherein the information comprises a number and type of hardware devices in the one source IHS and one or more settings for each of the hardware devices and one or more latest software deployments or firmware updates existing on the one source IHS;
generating, by the one source IHS, the server profile in response to the request, encrypting the server profile using one of the security keys, and sending the encrypted server profile to the target IHS;
receiving, by the target IHS, the encrypted server profile;
decrypting, by the target IHS, the encrypted server profile using the shared security keys; and
configuring the target IHS according to the decrypted server profile.
12 . The server profile cloning method of claim 11 , further comprising, before mutually authenticating with the one source IHS, performing a discovery operation to identify a multicast address of the one source IHS.
13 . The server profile cloning method of claim 12 , further comprising transmitting, by the one source IHS, the multicast address over a network at ongoing intervals.
14 . The server profile cloning method of claim 11 , further comprising mutually authenticating with the one source IHS using at least one of Security Protocol and Data Model (SPDM) messages or Transport Layer Security (TLS) messages.
15 . The server profile cloning method of claim 14 , further comprising mutually authenticating with the one source IHS using TLS messages when a platform that executes the instructions is not a SPDM-enabled device, wherein the platform comprises a Baseboard Management Controller (BMC) configured in the target IHS.
16 . A computer program product comprising a non-transitory computer readable storage medium having program instructions stored thereon that, upon execution by a target Information Handling System (IHS), cause the target IHS to:
receive a multicast message transmitted from one of a plurality of source IHSs that are each configured to transmit a multicast message with a different address relative to the multicast message transmitted by other source IHSs, wherein the target IHS has been previously provisioned with the address associated with the one source IHS;
when the address provisioned in the target IHS matches the address of the transmitted multicast message, mutually authenticate with the one source IHS to generate shared security keys;
send a request to the one source IHS to generate a server profile comprising information associated with a configuration of the one source IHS, wherein the information comprises a number and type of hardware devices in the one source IHS and one or more settings for each of the hardware devices and one or more latest software deployments or firmware updates existing on the one source IHS, and wherein the one source IHS is configured to generate the server profile in response to the request, encrypt the server profile using one of the security keys, and send the encrypted server profile to the target IHS;
receive the encrypted server profile;
decrypt the encrypted server profile using the shared security keys; and
configure the target IHS according to the decrypted server profile.
17 . The computer program product of claim 16 , wherein the program instructions, upon execution, further cause the target IHS to, before mutually authenticating with the one source IHS, perform a discovery operation to identify a multicast address of the one source IHS, wherein the one source IHS is configured to transmit the multicast address over a network at ongoing intervals.
18 . The computer program product of claim 16 , wherein the program instructions, upon execution, further cause the target IHS to mutually authenticate with the one source IHS using at least one of Security Protocol and Data Model (SPDM) messages or Transport Layer Security (TLS) messages.
19 . The computer program product of claim 18 , wherein the program instructions, upon execution, further cause the target IHS to mutually authenticate with the one source IHS using TLS messages when a platform that executes the instructions is not a SPDM-enabled device.
20 . The computer program product of claim 19 , wherein the platform comprises a Baseboard Management Controller (BMC) configured in the target IHS.