Sigstore, un servicio de verificación de código criptográfico de la mano de Red Hat y Google

Red Hat y Google, junto con Purdue University dieron a conocer hace poco la fundación del proyecto Sigstore, cuyo objetivo es crear herramientas y servicios para verificar software mediante firmas digitales y mantener un registro de transparencia público. El proyecto se desarrollará bajo los auspicios de la Fundación Linux, una organización sin fines de lucro.

El proyecto propuesto mejorará la seguridad de los canales de distribución de software y protegerá contra ataques destinados a reemplazar componentes y dependencias de software (cadena de suministro). Una de las preocupaciones de seguridad clave en el software de código abierto es la dificultad de verificar la fuente del programa y verificar el proceso de construcción.

Por ejemplo, para verificar la integridad de una versión, la mayoría de los proyectos usan hash, pero a menudo la información requerida para la autenticación se almacena en sistemas desprotegidos y en repositorios de código compartido, como resultado del compromiso de qué atacantes pueden reemplazar los archivos necesarios para la verificación y sin despertar sospechas, introducir cambios maliciosos.

Solo una minoría de proyectos utiliza firmas digitales para distribuir lanzamientos debido a las complejidades de la administración de claves, la distribución de claves públicas y la revocación de claves comprometidas. Para que la verificación tenga sentido, también es necesario organizar un proceso confiable y seguro para distribuir claves públicas y sumas de verificación. Incluso con una firma digital, muchos usuarios ignoran la verificación, ya que es necesario dedicar tiempo a estudiar el proceso de verificación y comprender qué clave es confiable.

Sobre Sigstore

Sigstore se promociona como un análogo de Let’s Encrypt para el código, proporcionando certificados para la firma digital de código y herramientas para automatizar la verificación. Con Sigstore, los desarrolladores pueden firmar digitalmente artefactos relacionados con la aplicación, como archivos de lanzamiento, imágenes de contenedores, manifiestos y ejecutables. Una característica de Sigstore es que el material utilizado para la firma se refleja en un registro público protegido de cambios, que se puede utilizar para verificación y auditoría.

En lugar de claves constantes, Sigstore utiliza claves efímeras de corta duración, que se generan en función de las credenciales confirmadas por los proveedores de OpenID Connect (en el momento en que se generan las claves para la firma digital, el desarrollador se identifica a través del proveedor de OpenID con un enlace de correo electrónico). La autenticidad de las claves se compara con el registro público centralizado, lo que le permite asegurarse de que el autor de la firma es exactamente quien dice ser y que la firma fue formada por el mismo participante que fue responsable de las versiones anteriores.

Sigstore proporciona un servicio listo para usar y un conjunto de herramientas que permiten implementar servicios similares en su equipo. El servicio es gratuito para todos los desarrolladores y proveedores de software, y se implementa en una plataforma neutral: la Linux Foundation. Todos los componentes del servicio son de código abierto, están escritos en el lenguaje Go y se distribuyen bajo la licencia Apache 2.0.

De los componentes que se están desarrollando, se puede señalar:

  • Rekor: una implementación de un registro para almacenar metadatos firmados digitalmente que reflejan información sobre proyectos. Para garantizar la integridad y protección contra la distorsión de los datos se utiliza retroactivamente la estructura de árbol «Tree Merkle», donde cada rama verifica todos los hilos y los componentes subyacentes, gracias a una función hash.
  • Fulcio (SigStore WebPKI) un sistema para la creación de autoridades de certificación (Root-CA) que emiten certificados de corta duración basados ​​en correos electrónicos autenticados a través de OpenID Connect. La vida útil del certificado es de 20 minutos, durante los cuales el desarrollador debe tener tiempo para generar una firma digital (si en el futuro el certificado cae en manos de un atacante, ya caducará).
  • Сosign (Container Signing) un conjunto de herramientas para generar firmas en contenedores, verificar firmas y colocar contenedores firmados en repositorios compatibles con OCI (Open Container Initiative).

Finalmente si estás interesado en conocer más al respecto sobre este proyecto, puedes consultar los detalles en el siguiente enlace.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.