Funcionamiento del arranque seguro de UEFI con instancias de Amazon EC2
UEFI Secure Boot es una característica especificada en la UEFI, que permite verificar el estado de la cadena de arranque. Está diseñado para garantizar que solo se ejecuten binarios UEFI verificados de manera criptográfica después de la autoinicialización del firmware. Estos binarios incluyen los controladores UEFI y el gestor de arranque principal, así como componentes cargados en cadena.
UEFI Secure Boot especifica cuatro bases de datos clave, que se utilizan en una cadena de confianza. Las bases de datos se almacenan en el almacén de variables UEFI.
La cadena de confianza es la siguiente:
- Base de datos de la clave de la plataforma (PK)
-
La base de datos de PK es la raíz de la confianza. Contiene una única clave PK pública que se utiliza en la cadena de confianza para actualizar la base de datos de claves de intercambio de claves (KEK).
Para cambiar la base de datos de PK, debe tener la clave PK privada para firmar una solicitud de actualización. Esto incluye eliminar la base de datos de PK escribiendo una clave PK vacía.
- Base de datos de claves de intercambio de claves (KEK)
-
La base de datos KEK es una lista de claves KEK públicas que se utilizan en la cadena de confianza para actualizar las bases de datos de firma (db) y de la lista de denegación (dbx).
Para cambiar la base de datos de KEK pública, debe tener la clave PK privada para firmar una solicitud de actualización.
- Base de datos de firmas (db)
-
La base de datos db es una lista de claves públicas y hashes que se utilizan en la cadena de confianza para validar todos los binarios de arranque UEFI.
Para cambiar la base de datos db, debe tener la clave PK privada o cualquiera de las claves KEK privadas para firmar una solicitud de actualización.
- Base de datos de la lista de denegación de firmas (dbx)
-
La base de datos dbx es una lista de claves públicas y hashes binarios que no son de confianza y se utilizan en la cadena de confianza como archivo de revocación.
La base de datos dbx siempre tiene prioridad sobre las demás bases de datos clave.
Para cambiar la base de datos dbx, debe tener la clave PK privada o cualquiera de las claves KEK privadas para firmar una solicitud de actualización.
El Foro UEFI mantiene un dbx disponible de forma pública para muchos binarios y certificados incorrectos en https://uefi.org/revocationlistfile
.
importante
UEFI Secure Boot aplica la validación de firmas en cualquier binario UEFI. Para permitir la ejecución de un binario UEFI en el arranque seguro UEFI, debe firmarlo con cualquiera de las claves de base de datos privadas descritas anteriormente.
De forma predeterminada, UEFI Secure Boot está desactivado y el sistema está en SetupMode
. Cuando el sistema está en SetupMode
, todas las variables clave se pueden actualizar sin una firma criptográfica. Cuando se establece el PK, el arranque seguro UEFI se habilita y se cierra el modo de configuración.