Out of band management of basic input/output system secure boot variables
A method is provided in one example embodiment and includes storing secure boot variables in a baseboard management controller; and sending the secure boot variables to a basic input/output system (BIOS) during a power on self-test, where the BIOS utilizes the secure boot variables during runtime to authenticate drivers and an operating system loader execution. In particular embodiments, the secure boot variables may be included in a white list, a black list, or a key list and, further, stored in erasable programmable read only memory.
1. A method for updating secure boot varibles for authenticating drivers, comprising:
storing secure boot variables in a baseboard management controller as a signed blob at a provisioning time of a managed server that includes the baseboard management controller;
sending the secure boot variables from the baseboard management controller to a basic input/output system (BIOS) during a power on self-test; and
authenticating drivers, by the BIOS, using the secure boot variables.
2. The method of claim 1 , wherein the secure boot variables are sent in response to a request, from the BIOS, for the secure boot variables.
3. The method of claim 1 , wherein the secure boot variables are associated with a specific managed server.
4. The method of claim 1 , further comprising:
enabling a management server to modify the secure boot variables.
5. The method of claim 1 , wherein the blob is created statically in an off-line secure environment, signed using secure signing services, and passed to the baseboard management controller through an update at the provisioning time.
6. The method of claim 1 , further comprising:
receiving, at the baseboard management controller, changes to the secure boot variables made during runtime by the BIOS.
7. The method of claim 1 , wherein communication between the baseboard management controller and the BIOS uses system management mode code and private interfaces.
8. One or more non-transitory media that includes instructions for execution and when executed by a processor is operable to perform operations for updating secure boot varibles for authenticating an operating system loader, comprising:
storing secure boot variables in a baseboard management controller;
sending the secure boot variables from the baseboard management controller to a basic input/output system (BIOS) during a power on self-test; and
authenticating an operating system loader, by the BIOS, using the secure boot variables.
9. The media of claim 8 , wherein the secure boot variables are sent in response to a request from the BIOS for the secure boot variables.
10. The media of claim 8 , wherein the secure boot variables are associated with a specific managed server.
11. The media of claim 8 , further comprising instructions for:
enabling a management server to modify the secure boot variables.
12. The media of claim 8 , wherein the secure boot variables are stored as a signed blob, wherein the signed blob is populated into the baseboard management controller at a provisioning time of a managed server that includes the baseboard management controller.
13. The media of claim 12 , wherein the blob is created statically in an off-line secure environment, signed using secure signing services, and passed to the baseboard management controller through an update at the provisioning time.
14. The media of claim 8 , further comprising instructions for:
receiving, at the baseboard management controller, changes to the secure boot variables made during runtime by the BIOS.
15. The media of claim 8 , wherein communication between the baseboard management controller and the BIOS uses system management mode code and private interfaces.
16. A network element for updating secure boot variables for authenticating drivers, comprising:
a memory element for storing instructions; and
a processor coupled to the memory element and operable to execute instructions such that the network element is configured to:
store secure boot variables in a baseboard management controller, wherein the secure boot variables are stored as a signed blob, wherein the signed blob is populated into the baseboard management controller at a provisioning time;
send the secure boot variables from the baseboard management controller to a basic input/output system (BIOS) during a power on self-test; and
authenticate drivers, by the BIOS, using the secure boot variables.
17. The network element of claim 16 , wherein the secure boot variables are sent in response to a request from the BIOS for the secure boot variables.
18. The network element of claim 16 , wherein the secure boot variables are associated with a specific managed server.
19. The network element of claim 16 , wherein the baseboard management controller is configured to receive changes to the secure boot variables made during runtime by the BIOS.