¿Se puede firmar digitalmente el software de código abierto?

5

He leído que la instalación de Linux en computadoras UEFI requiere pasos adicionales para deshabilitar el requisito de los cargadores de arranque firmados digitalmente.

Pero pensé que el software de código abierto puede ser firmado digitalmente usando la clave privada para firmar el código fuente y liberar la clave pública, y hacer lo mismo con el software compilado.

    
pregunta genealogyxie 26.04.2016 - 08:06
fuente

1 respuesta

8

Si bien puede firmar el software, esto no significa que pueda almacenar la clave pública necesaria para la validación de la firma en el dispositivo que debe realizar la verificación. El solo hecho de liberar la clave pública no lo hace mágicamente disponible en todos los lugares que necesitan hacer la verificación.

En el caso de SecureBoot, el sistema UEFI que necesita validar las firmas no es de código abierto. E incluso si fuera de código abierto, esto no significa que los sistemas vienen preinstalados con la clave que usó para firmar. En las implementaciones existentes, algunos proveedores le permiten almacenar sus propias claves para validación y otros no. Esto significa que cada usuario del software firmado debe deshabilitar SecureBoot o agregar la clave que usó para firmar, si es posible. Dado que ambas opciones son demasiado complejas para el usuario promedio, sería mucho mejor si se pudiera usar una de las claves ya conocidas por la implementación para la firma. Por supuesto, esto significa que necesita tener acceso a la clave privada relacionada.

La solución actual en Ubuntu es tener un shim pequeño firmado por alguien que tenga acceso a la clave privada necesaria (es decir, Microsoft) y luego iniciar el resto del sistema desde allí. Consulte Ubuntu Wiki: SecureBoot para obtener detalles técnicos.

    
respondido por el Steffen Ullrich 26.04.2016 - 08:36
fuente

Lea otras preguntas en las etiquetas