Linux Adictos Diego Germán González  

Windows 8 y UEFI. El antecedente peligroso de Windows 11 y TPM

Windows 8 y UEFI

Esta serie de artículos tiene dos propósitos. El primero es demostrar que Windows 11 es una gran oportunidad para expandir el mercado de Linux. El segundo, advertir que si Linux no aprovecha esa oportunidad podemos retroceder 30 años a los oscuros tiempos del vasallaje informático.

En el artículo anterior di mi punto de vista de que Microsoft, aprendiendo de los errores de IBM, intenta reafirmar su supremacía sobre los usuarios, exigiéndoles que hardware comprar y, sobre los fabricantes de hardware determinando cuales pueden correr o no Windows.

Ahora quiero recordarles del antecedente. De una exigencia de Microsoft que Linux no supo o pudo enfrentar.

Windows 8  y UEFI. El módulo de la discordia

En octubre del 2012, Microsoft anunció la salida de Windows 8. También dijo que los equipos que prentendieran traerlo preinstalados deberían usar UEFI en lugar de BIOS.

¿Qué es UEFI?

UEFI es la sigla en inglés de Unified Extensible Firmware Interface o Interfaz de Firmware Extensible Unificada. Su función es iniciar todo el hardware conectado al equipo y lanzar el sistema operativo. De hecho, podemos considerarlo como un sistema operativo reducido que se encarga de arrancar la placa base del ordenador y los componentes de hardware relacionados con ella. Es decir que esta interfaz es la responsable de que se cargue un determinado gestor de arranque (bootloader) concreto en la memoria principal. Será este el que iniciará las acciones rutinarias de arranque. Cuando finaliza veremos la pantalla de inicio de sesión que nos permitirá usar el sistema operativo.

Como sucede ahora con TPM,  no cualquier ordenador era compatible con UEFI. Es necesario disponer de un firmware especial en la placa base. Este firmware utiliza la interfaz UEFI como una capa o layer operativa que actúa de intermediaria entre el mismo firmware y el sistema operativo. El firmware se encuentra en un chip de memoria donde se mantiene. incluso cuando se produce un corte de energía.

  • Interfaz renovada y más fácil de comprender.
  • Carga del sistema más rápida.
  • Compatibilidad con el sistema de archivos GPT.
  • Aprovechamiento completo de las posibilidades de los procesadores de 64 bits.
  • Fácil programación (Usando el lenguaje C).
  • Arranque y actualización  en forma remota.
  • Se pueden lanzar los controladores antes de que lo haga el sistema operativo.

Hasta acá, todo bien. Pero, la serpiente detrás de la manzana tenía dos nombres: Secure Boot

¿Qué es Secure Boot?

El arranque seguro (Secure Boot) es una característica introducida por primera vez con Windows 8, e incluida como parte de Windows 10. Al principio Microsoft exigía a los fabricantes que preinstalaran su sistema operativo que los usuarios tuvieran la posibilidad de desactivarlo, aumque con Windows 10 ese requisito desapareció

Supuestamente ayudaba a evitar que se ejecute malware al arrancar un ordenador.  En la práctica complicaba el arranque de distribuciones LInux en modo Live.

Cuando el PC se inicia, Secure Boot comprueba la firma de cada pieza de software de arranque, incluidos los controladores de firmware UEFI  las aplicaciones EFI y el sistema operativo. Si las firmas son válidas, el PC arranca y el firmware cede el control al sistema operativo.

El fabricante debe almacenar las bases de datos de firmas verificadas en la memoria RAM  no volátil del firmware. Esto incluye la base de datos de firmas (db), la base de datos de firmas revocadas (dbx), y la base de datos de claves de inscripción (KEK).

La base de datos de firmas (db) y la base de datos de firmas revocadas (dbx) enumeran los firmantes o hashes de imagen de las aplicaciones UEFI, los cargadores del sistema operativo (como el cargador del sistema operativo de Microsoft o el gestor de arranque) y los controladores UEFI que se pueden cargar en el dispositivo. La lista de revocados contiene elementos que ya no son de confianza y no pueden cargarse.

La base de datos de claves de inscripción (KEK) es una base de datos independiente de claves de firma que puede utilizarse para actualizar la base de datos de firmas y la base de datos de firmas revocadas. Microsoft requiere que se incluya una clave específica en la base de datos KEK para que en el futuro Microsoft pueda añadir nuevos sistemas operativos a la base de datos de firmas o añadir imágenes malas conocidas a la base de datos de firmas revocadas.

Vuelvan a leer el último párrafo. Y entenderán a que me refiero con el riesgo de vasallaje tecnológico.

En  el próximo artículo veremos como resolvieron el problema las distribuciones Linux.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.