UEFI Secure Boot y OpenCore

0.- El método fácil (no se necesita Linux ni Windows)

1.- Máquina virtual Ubuntu en macOS con UTM (modo gráfico)

2.- Máquina virtual Ubuntu en Windows con WSL (línea de comandos)

3.- Insertar variables seguras en el firmware (BIOS o KeyTool)

4.- BIOS bloqueada después de actuar sobre variables seguras

5.- Certificado UEFI CA Microsoft de 2011 actualizado a 2023

UEFI Secure Boot y OpenCore (5)

Todos los certificados UEFI actuales de Microsoft caducan en 2026. Estos incluyen Microsoft Corporation KEK CA 2011, almacenado en la base de datos KEK, y dos certificados almacenados en la db llamados Microsoft Windows Production PCA 2011, que firma el gestor de arranque de Windows, y Microsoft UEFI CA 2011 (o UEFI CA de terceros) que firma componentes de controladores de hardware y sistemas operativos de terceros.

Microsoft está migrando a otros nuevos. La primera actualización es añadir Microsoft Windows UEFI CA 2023 a la base de datos del firmware. El nuevo certificado se utilizará para firmar los componentes de arranque de Windows antes de que expire la CA de producción de Microsoft Windows 2011.

Leer más

UEFI Secure Boot y OpenCore (4)

BIOS bloqueada tras actuar en las claves seguras del firmware seguras: después de modificar variables seguras (actualizar, agregar, eliminar o restablecer los valores predeterminados), pueden ocurrir problemas, algunos de los cuales no son fáciles de solucionar:

Problemas detectados:

  • Las variables seguras no se dejan modificar con mensajes «Security violation» o «Try after system reboot» o «Secure variables are locked down»
  • Arranque del BIOS no pasa el POST con pitidos de error.

Por lo que he leído en diferentes lugares, estos problemas parecen ser más frecuentes en las placas base Gigabyte pero es algo de lo que no puedo estar seguro. Mi placa base es Gigabyte (Z390 Aorus Elite) y ha presentado estos problemas en varias ocasiones.

Leer más

UEFI Secure Boot y OpenCore (3)

Como parte del proceso de habilitar UEFI Secure Boot con OpenCore, hay que insertar los archivos de firma digital en el firmware, reemplazando las variables existentes en este orden:

  • db.auth >> DB (archivo de sitios autorizados)
  • kek.auth >> KEK (claves para el intercambio de claves)
  • pk.auth >> PK (clave de la plataforma).

Esto se puede hacer de 2 maneras: menú de configuración del BIOS o KeyTool.

BIOS

En la sección Secure Boot suele haber opciones para restaurar las claves predeterminadas de fábrica o editar variables por separado. En mi placa base (Z390 Aorus Elite), este menú está en Boot >> pestaña Secure Boot >> Key Management.

Leer más

UEFI Secure Boot y OpenCore (2)

El firmware UEFI de las placas base tiene la capacidad de arranque seguro de forma que sólo se permiten los archivos del boot loader firmados digitalmente con las claves que están integradas en el firmware. Con UEFI Secure Boot habilitado:
– Windows puede arrancar ya que los firmware incorporan certificados de Microsoft (a veces también certificados del fabricante de la placa base)
– macOS no puede arrancar; es necesario un sistema Linux en el que generar las claves y firmar con ellas los archivos de OpenCore, este es el motivo por el que actualmente arrancamos OpenCore con UEFI Secure Boot deshabilitado.

Este texto se basa en los artículos de:

Los artículos de sakaki y de Ubuntu plantean cómo arrancar Linux con UEFI Secure Boot activado pero khronokernel y profzei se refieren específicamente a OpenCore y macOS. Los 4 artículos coinciden en la necesidad de hacerlo desde un sistema Linux ya que las herramientas requeridas no existen para macOS. El sistema Linux necesario para firmar los archivos de OpenCore puede suponer un inconveniente significativo por el trabajo que conlleva su instalación y configuración (bien en disco independiente o en máquina virtual).
Una vez en Linux, todo se hace desde Terminal por lo que gran parte del sistema instalado realmente no hace falta.
Esta tarea se puede simplificar gracias a una infraestructura no demasiado utilizada que existe en Windows 10 (compilación 18917 o posterior) y Windows 11: Windows Subsystem for Linux (WSL), gracias a la cual podemos arrancar una imagen genuina de Ubuntu proporcionada por Canonical. Esto posibilita la ejecución de comandos de forma nativa en un terminal de Bash dentro de un entorno Windows que se comporta como Linux.

Leer más

UEFI Secure Boot y OpenCore (1)

UEFI Secure Boot y OpenCore con máquina virtual de Ubuntu en macOS: Esta es una forma de habilitar UEFI Secure Boot con OpenCore sin tener que instalar Windows o crear un dispositivo USB con Linux. Todo se realiza desde macOS. La función de portapapeles y carpeta compartidos, que permiten intercambiar texto y archivos entre macOS y Linux, facilita la tarea.

UTM

UTM es una aplicación que permite utilizar máquinas virtuales en macOS e iOS. Es un software gratuito y abierto. Información y descargas están disponibles en GitHub y en el sitio web.

UTM ofrece máquinas virtuales preconfiguradas que sólo debes adjuntar a la app e iniciar, no es necesario instalar previamente el sistema operativo. Puedes visitar la Galería de Máquinas Virtuales.

Entre las máquinas virtuales preinstaladas no existe Ubuntu 22.04 pero UTM tiene una guía para descargar e instalar esta versión de Ubuntu. He seguido esta guía para tener un sistema virtual Ubuntu 22.04 en macOS.

Leer más

UEFI Secure Boot y OpenCore (0)

Hay usuarios que no buscan un aumento en la seguridad al arrancar OpenCore y macOS sino únicamente una manera de poder tener UEFI Secure Boot habilitado y arrancar OpenCore sin deshabilitarlo en cada ocasión. Esto puede deberse a que quieren arrancar Windows con UEFI Secure Boot o a que la máquina que usan lo tiene habilitado y no pueden deshabilitarlo (equipos de empresa sobre todo).

Aunque probablemente el nivel de seguridad que proporciona este método es menor que el ya comentado en las entradas anteriores sobre este tema (crear nuestras propias claves en un sistema Linux, firmar digitalmente los archivos de OpenCore e incluir nuestras claves seguras en el firmware), es una manera mucho más sencilla y que consume mucho menos tiempo por lo que, si eres de los que sólo quieren poder arrancar OpenCore con UEFI Secure Boot habilitado, esto puede ser muy útil para ti.

Lo que se propone es añadir los archivos .efi de OpenCore a la variable segura db, que es una lista de firmas permitidas, para que UEFI Secure Boot acepte estos archivos .efi como seguros. No modificamos los archivos .efi, sólo le decimos al firmware que los considere seguros para que arranquen aunque UEFI Secure Boot esté habilitado.

Leer más

OpenCore Vault con UEFI Secure Boot

Instrucciones para funcionar con UEFI Secure Boot y OpenCore Vault simultáneamente en caso de que se quiera disponer de la máxima seguridad a la hora de arrancar nuestro sistema macOS con OpenCore.

Hay usuarios que desean tener la máxima seguridad en sus ordenadores con macOS y para ello implementan las 3 cadenas de seguridad disponibles:

  • Apple Secure Boot: para garantizar la integridad y confiabilidad de la versión de macOS
  • OpenCore Vault: para garantizar la integridad de los archivos de OpenCore
  • UEFI Secure Boot (UEFi SB): para garantizar que la versión de Windows es de confianza.

Puedes leer sobre estos 3 sistemas en estos artículos:

Leer más

SecureBootModel en OpenCore 0.7.2

Apple Secure Boot es la tecnología utilizada por Apple en los Mac para verificar la integridad del sistema operativo en el arranque: bootloader > Kernel > instantánea del volumen de sistema. Si esta comprobación falla, MacOS no arrancará. Apple Secure Boot sólo funciona durante el proceso de arranque, una vez que MacOS se está ejecutando ya no realiza ninguna función. Nota: es muy recomendable leer las guías de Dortania: applesecureboot.md, uefisecureboot.md y vault.md.

1. SecureBootModel en OpenCore

Apple define 3 modos de Secure Boot:

  • Seguridad completa (Full Security): sólo permite arrancar el sistema operativo instalado u otra versión firmada de macOS en la que Apple confía actualmente. También verifica la integridad de la versión instalada. Si la verificación falla, el sistema ofrece reinstalar macOS o arrancar desde un disco diferente.
  • Seguridad media (Medium Security): verifica que la versión instalada de MacOS es legítima pero no comprueba la integridad del sistema. Permite arrancar cualquier versión firmada de MacOS en la que Apple haya confiado en algún momento.
  • Sin seguridad (No Security): se permiten otros sistemas o versiones diferentes de las mencionadas en las opciones seguras. No hay requisitos respecto al sistema operativo de arranque.

Leer más