jueves, 22 de noviembre de 2012

UEFI y el secure boot

Microsoft pretende, y seguro que lo consigue, que los fabricantes de ordenadores que quieran usar el logotipo de compatibilidad de windows 8 deberán pasar por el aro y aplicar una medida llamada secure boot que no es ni mas ni menos que un mecanismo para que sólo arranquen sistemas operativos previamente autorizados. A ésto se le llama enjaulado y viene como parte  de una especificación denominada Unificación de Interfaz Extensible del Firmware (Unified Extensible Firmware Interface) UEFI que para entendernos es una interfaz que está destinada a sustituir la BIOS que todos conocemos y todo ello, naturalmente, para ofrecernos seguridad, según la entiende Microsoft, claro.

Parte de esa seguridad de Microsoft es que si no te hincas a sus pies no te permitirán suscribirte a los sistema "autorizados" y "seguros" y por tanto no podrán instalar tu sistema en estos ordenadores. ¿Y mi linux? Las grandes empresas ya tienen su autorización como Redhat / Suse, Fedora, Canonical (Ubuntu) pero ¿y las pequeñas?
Algunos fabricantes nos dan la opción de desactivar el secure boot aunque con ello nos hace casi imposible el dual boot si quieres tener Windows y Linux en la misma máquina y además puede que tengas que formatear el disco duro para instalar tu Linux perdiendo con ello el windows que venía de "regalo" y debiendo instalarlo de nuevo.


La Free Software Foundation FSF ha comenzado una campaña de recogida de firmas para rechazar esta medida y hacer valer los derechos de los usuarios a instalar en su ordenador el sistema operativo que crean conveniente con total libertad. Para suscribirse a esta campaña puedes dejar tu firma en el siguiente enlace.

Entonces, ¿podré instalar un linux en un ordenador con secure boot? Pues depende. 


La Linux Foundation y su Technical Advisory Board (TAB) han presentado un plan para proporcionar una forma sencilla de iniciar un sistema Linux en aquellos PCs con la tecnología UEFI Secure Boot activa.

Este plan consiste en utilizar el llamado “pre-bootloader“, que estará firmado digitalmente con una clave que comprarán a Microsoft. 
La aproximación al problema que han hecho desde la Linux Foundation es similar a la de Fedora, SUSE o Ubuntu, aunque estas distribuciones usan un pre-bootloader algo distinto, ya que no se firma digitalmente el bootloader “real”, y para evitar la ejecución de código malicioso el mini-bootloader le preguntará al usuario si se puede confiar en el bootloader completo. En ese caso el proceso de inicio seguirá sin hacer más preguntas al usuario y comenzará la actividad del bootloader real, que nos permitirá iniciar tanto Windows 8 como otros sistemas operativos.

Por ahora tenemos un plan.


< A C T U A L I Z A C I O N >

Fuente: Linuxzone
Aparentemente, la solución de la Linux Foundation, no debería tener mayor problema en poder estar presente en nuestros sistemas, si está realizada bajo los cánones que impone esta autoridad independiente. Pero al parecer eso es más fácil decirlo que hacerlo.
Debido a la tardanza y a las preguntas de los usuarios, es el propio James Bottomley, quien de nuevo a través del blog de la fundación nos explica el periplo para conseguir algo que en principio parecía tan sencillo y porqué se están retrasando.
Os lo resumo, ya que es un poco largo:
Lo primero que hicieron era pagar los $99 que cuesta obtener la clave del certificado VeriSign. Esto es necesario para que el sistema sysdev de Microsoft certifique que eres quien dices ser. Después de algunos problemas debido a que te envían un ejecutable para plataformas Windows. Consigue solventar este primer paso con éxito y llega la hora de firmar un complicado contrato donde se excluyen gran parte de las licencias, “incluidas las GPL para los conductores, pero no para los gestores de arranque”. Los abogados dieron el visto bueno con la promesa de Matthew Garrett, “Microsoft está dispuesto a negociar acuerdos especiales con las distribuciones para mitigar algunos de estos problemas”.
Hasta aquí todo más o menos bien, o todo lo bien que se puede esperar de la burocracia.
Con todo preparado, llega la hora de cargar un binario UEFI junto con su firma y aquí es cuando llegan los problemas.
“En primer lugar hay que envolver el binario en un archivo contenedor de Microsoft. Afortunadamente, existe un proyecto de código abierto que puede crear archivos contenedores llamados lcab. Usted tiene que firmar el archivo contenedor con su clave Verisign. Una vez más, hay un proyecto de código abierto que puede hacer esto: osslsigncode. El problema final es que la carga de archivos requiere Silverlight“.
Después de sortear estos pasos, le informan que el binario firmado no puede estar licenciado bajo GPLv3 o similares. “Supongo que el temor aquí es la revelación de la clave, pero no está del todo claro”.
Se cambia el tipo de licencia y se procede a la carga del binario que consta de siete pasos, pero se queda en el paso seis con un error. Después de varios días intentando solucionarlo, se pone en contacto con el soporte de Microsoft vía e-mail y recibe la siguiente respuesta:
“El código de error producido por nuestro proceso de firma es que el archivo no es una aplicación Win32 válida. ¿Es una aplicación Win32 válida? “. Respuesta: Obviamente no, es un binario de 64 bits válido para UEFI. No volvieron a contestar…”
Después de varios intentos, consigue que le envíen el archivo correctamente firmado. Se comprueba que el archivo funciona en la plataforma de arranque seguro y se firma correctamente con la clave.
subject=/C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/OU=MOPR/CN=Microsoft Windows UEFI Driver Publisher
issuer=/C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Corporation UEFI CA 2011
Sin embargo lanza un mensaje de error que dice “la firma fracasó”. Al ponerse de nuevo en contacto con ellos, recibe como única respuesta, “No use ese archivo que no está correctamente firmado. Me pondré en contacto con usted”. Y sigue esperando…
Al parecer la clave es una genérica de Microsoft, en lugar de una específica para la Linux Foundation.
Estos son los motivos por los que aún no es posible disponer de este Secure Boot Linux y no se sabe a ciencia cierta lo que se tardará en tenerlo listo, pero nos asegura que en cuanto estén solventados los problemas se subirá a la web para que esté disponible para todo el mundo.
Podéis ver el articulo completo de James Bottomley, en este enlace.

No hay comentarios:

Publicar un comentario