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:

Si se configura OpenCore correctamente para UEFI SB, el firmware UEFI impide el arranque de OpenCore si este ha tenido algún cambio desde que fue firmado digitalmente con nuestra clave personal.

Pero, al intentar juntar los 3 sistemas de seguridad, aparece el problema de que UEFI SB junto con OpenCore Vault impide el arranque de OpenCore. La causa está en que ambos sistemas firman digitalmente (modifican) OpenCore de alguna manera y detectan si ha habido cambios de forma que, al actuar con el sistema que apliquemos en segundo lugar, modificamos la firma digital del primer sistema que detecta la rotura de la integridad de los archivos, OpenCore.efi en particular, y el arranque falla. Es indiferente cuál de los 2 sistemas apliquemos en primer lugar, el resultado negativo es el mismo.

Hay una manera de tener a la vez UEFI SB junto con OpenCore Vault. En el archivo Configuration.pdf de OpenCore hay un comentario sobre ello pero es muy breve y puede generar confusión. La clave está en el orden en que los archivos son firmados con la clave personal para UEFI SB y con los hash creados desde Vault.

Es una tarea engorrosa que requiere cambiar entre macOS y Windows varias veces. Para simplificarla en lo posible, en lugar de tener ambos sistemas operativos de forma independiente y reiniciar el PC tantas veces he recurrido a UTM con una máquina virtual de Ubuntu 14.04 de manera que todo el proceso se realiza desde macOS.

Estos son los pasos que hay que seguir:

  • En Ubuntu >> firma digital de todos los archivos .efi de OpenCore excepto OpenCore.efi
  • En macOS >> aplicar Vault a la carpeta EFI que tiene los archivos firmados, incluido OpenCore.efi que todavía está sin firmar
  • En Ubuntu >> firma digital de OpenCore.efi que ya tiene aplicado Vault
  • En macOS >> copar la carpeta EFI a la partición EFI y reiniciar
  • Activar UEFI SB en BIOS y comprobar que se muestra el selector de OpenCore. Si el proceso falla, lo que vemos es un aviso Access Violation o Corrupted OpenCore.efi.

Ya he dicho que es una tarea engorrosa. La parte más aburrida es el intercambio de archivos entre macOS y Windows. En teoría UTM permite compartir una carpeta de macOS pero en la práctica yo no he conseguido hacerla funcionar. He utilizado Wetransfer con los navegadores de cada sistema operativo. Al menos el portapapeles sí está bien compartido y el texto puede ser intercambiado entre ambos sistemas.

Deja un comentario