MOK: ¿qué es eso? Todo lo que necesitas saber
Seguramente alguna vez te haya aparecido la pantalla que ves en esta imagen. Surge tras una actualización de algunos de los controladores del kernel. Cuando éstos se actualizan, tras reiniciar la máquina es probable que te topes con esa pantallas. No debes asustarte, no te debe preocupar, pero sí que deberías conocer qué es eso de MOK y el porqué de que suceda.
Como es una duda bastante frecuente entre algunos usuarios, intentaré aclarar aquí todo lo que deberías saber sobre MOK y este tipo de pantallas que se te muestran en algunas ocasiones…
Lo primero es decir que la clave de propietario de la máquina o MOK (Machine Owner Key) es una forma de asegurar un proceso de arranque. Lo hace al permitir que solo se ejecuten aquellos componentes y controladores que han sido aprobados del sistema operativo. Todo esto viene por la implementación del famoso Secure Boot de los sistemas UEFI.
MOK debe ser implementado por el BIOS/UEFI o algún código de inicio básico de un equipo. De esa forma, solo el código firmado puede ejecutarse para evitar que código malicioso o no autorizado pueda ejecutarse mientras carga el sistema operativo. Una vez que se inicia, el SO puede asumir esta responsabilidad.
Seguramente, cuando has instalado algún módulo o controlador del kernel, seguro que te ha tocado generar claves, usar mokutil, etc., si es así, el motivo es que MOK usa una criptografía con una clave pública. Por ejemplo, seguro que te ha ocurrido para el controlador vboxdrv para VirtualBox. Por eso se puede generar un par de claves por ti mismo para luego firmar los módulos para que se puedan ejecutar.
Eso es toda una ventaja, ya que antes no era así y todo debía pasar por el dichoso sistema de Microsoft. Por eso necesitabas SHIM, una especie de intermediario entre el UEFI y GRUB.
En definitiva, la función de estas firmas es proteger al sistema de ciberatacantes o malware que se pudiera ejecutar durante el arranque del sistema. Si alguno de los componentes del kernel o de los controladores hubieran sido alterados, se detectaría y evitaría que arrancase.
Ahora bien, ¿es realmente necesario en todos los equipos? Lo cierto es que no, siempre que no haya un atacante que pueda tener acceso físico al equipo y pueda obtener privilegios. Es decir, que en la mayoría de los hogares, si alguien ha entrado en tu casa y ha accedido a tu equipo, creo que lo que menos les preocupa es si han modificado o no el código de arranque… Pero puede ser bueno en sistemas expuestos a más gente, organizaciones donde hay mayor cantidad de personal con acceso, etc.