Sistema operativo para ceremonia clave

Ahora mismo estoy montando piezas y planos para una ceremonia de claves , es decir, un procedimiento para generar claves criptográficas en un entorno de alta seguridad. En particular, quiero tomar una computadora portátil con coreboot ( Thinkpad T60 ) y algunas tarjetas inteligentes con funcionalidad de importación de claves y generar las claves en la computadora portátil e importarlas a las tarjetas para obtener una copia de seguridad de la clave. Para esta tarea necesito elegir un sistema operativo que cumpla con requisitos muy específicos.

Requisitos:

  • El sistema operativo debe ser de código abierto.

  • El sistema operativo debe poder arrancar desde un CD en vivo

  • El sistema operativo debe poder funcionar sin almacenamiento persistente (excepto para un DVD de solo lectura)

  • Debe haber una manera de verificar la integridad del disco grabado externamente contra valores buenos conocidos (¿hashes?)

  • Preferiblemente, debería poder continuar funcionando incluso si se extrae el DVD.

  • debe funcionar con el coreboot instalado T60

  • no debe requerir más de 8 GB de RAM y debería funcionar con 2 GB

  • debe permitir (temporalmente) instalar paquetes (controladores necesarios para las tarjetas y el lector de tarjetas) desde un disco separado (ya sea en la unidad de arranque óptico o en una unidad óptica USB externa)

  • no debe tener más de 4,7 GB (p. ej. cabe en un DVD estándar)

el sistema operativo para el que son los paquetes puede ser importante, a menos que pueda compilarlos para la distribución
@JourneymanGeek, la biblioteca PKCS # 11 debe compilarse desde la fuente (Gemalto); de lo contrario, los paquetes en cuestión solo deberían (?) Ser open-sc. El controlador del lector de tarjetas ("cyberjack") también está disponible como archivo fuente y precompilado para algunas distribuciones más populares. Además de que el único que puede ser útil será openssl.
presumiblemente, después de dos años, la ceremonia pasó y el OP no tuvo la cortesía de publicar y decirnos lo que eligió, lo que habría ayudado a otros.
@Mawg Ha pasado un tiempo y creo que usé una imagen de CD mínima personalizada de Debian.
Gracias y voto positivo. Si puede recordar más, o puede preguntar a quienes participaron, publíquelo aquí. Como muestra su alta reputación en otros lugares, usted es consciente de que valoramos las respuestas u ordenamos ayudar a los demás, y que puede responder a su pregunta y aceptarla. Espero ver más de ustedes en este sitio :-)
@Mawg He proporcionado la respuesta automática solicitada usando todo lo que aún puedo recordar y me aseguraré de ver la mayoría/todas las preguntas con etiquetas de seguridad/criptografía en este sitio en el futuro.
¡Hurra! ¡Gracias (y upvaot)! Su alta reputación en criptografía y seguridad significa que realmente podría ser útil aquí ;-)

Respuestas (3)

No tengo una instalación de coreboot a mano, pero creo que ubuntu o trisquel podrían ser una buena opción. La totalidad de mi respuesta depende de la disponibilidad de algunos componentes de terceros para lograr la máxima genialidad, pero debería funcionar.

Estoy viendo algunos elementos aquí.

  1. ¿Alguien ha ejecutado esta distribución o sus derivados en coreboot?

    • Ministerio de la libertad ejecuta Trisquel en su caja. Como tal, ubuntu debería funcionar ya que Trisquel es una variante 'ideológicamente pura' de Ubuntu.
  2. ¿Es compatible con la bandera 'to ram'?

    • https://wiki.ubuntu.com/BootToRAM sugiere que lo hace desde 11.0. Necesita pruebas, y necesitaría suficiente RAM para almacenar la imagen del sistema operativo en RAM. Actualizaré si tengo la oportunidad de hacerlo.
  3. Ubuntu se ejecutará sin almacenamiento persistente y el sistema de instalación predeterminado es un DVD en vivo que se ejecuta desde el CD.

  4. Disponibilidad eventual de remastersys, que le permitiría "introducir" sus controladores en su imagen en vivo y/o modificarla fácilmente.

  5. Los instaladores de stock de la mayoría de las distribuciones pueden verificar ellos mismos iirc

Ha pasado mucho tiempo, pero esto es lo que hice de todos modos:

Elegí Debian, esencialmente por las razones descritas en la respuesta de Journeyman, pero con la esperanza de que Debian fuera más liviano en la RAM.

Luego realicé una instalación regular en el disco duro de la máquina de destino, instalé todos los controladores necesarios y luego hice un CD / DVD de arranque a partir de esa instalación (usando uno de los muchos tutoriales en Internet) que me permitió use el administrador de paquetes estándar y todo y verifique de antemano que se iniciará desde la RAM.


Pasando por los requisitos:

  • El sistema operativo debe ser de código abierto.

Debian es de código abierto.

  • El sistema operativo debe poder arrancar desde un CD en vivo
  • El sistema operativo debe poder funcionar sin almacenamiento persistente (excepto para un DVD de solo lectura)
  • Preferiblemente, debería poder continuar funcionando incluso si se extrae el DVD.

Debian se puede cargar en la RAM, al igual que Ubuntu.

  • Debe haber una manera de verificar la integridad del disco grabado externamente contra valores buenos conocidos (¿hashes?)

Este es un poco más complicado, pero si verifica los valores hash / firmas en la instalación del sistema operativo, el sistema operativo verificará las firmas de los paquetes instalados y puede realizar un hash y verificar la ISO producida (prearranque y postarranque contra el disco) .

  • debe funcionar con el coreboot instalado T60

Creo que en realidad no usé coreboot debido a problemas de instalación, pero no veo ninguna razón por la que Debian , esencialmente el sistema operativo Linux con más soporte (?), no debería funcionar aquí.

  • no debe requerir más de 8 GB de RAM y debería funcionar con 2 GB
  • no debe tener más de 4,7 GB (p. ej. cabe en un DVD estándar)

El uso de una imagen personalizada permite eliminar todos los paquetes que no son necesarios para la ceremonia, por lo que el uso de RAM se puede ajustar muy bien de esta manera.

  • debe permitir (temporalmente) instalar paquetes (controladores necesarios para las tarjetas y el lector de tarjetas) desde un disco separado (ya sea en la unidad de arranque óptico o en una unidad óptica USB externa)

Debido a que es una imagen personalizada basada en una instalación probada y en funcionamiento real, los controladores se pueden insertar previamente en la imagen.

OpenBSD o Alpinelinux, ambos pueden iniciarse desde un medio de solo lectura y residen solo en RAM (bueno, OpenBSD necesita más trabajo para hacer eso, pero he estado en este camino hace algunos años y definitivamente es factible). Alpinelinux está diseñado para ejecutarse en ram, y es en mi opinión la distribución de Linux más segura, y OpenSC ya está empaquetado https://pkgs.alpinelinux.org/packages?name=opensc . Ah, sí, y cabe en un cdrom y necesita 512 Mo de RAM.