Red Hat y Google presentaron Sigstore, un servicio de verificación de códigos criptográficos

Red Hat y Google, junto con la Universidad Purdue, fundaron el proyecto Sigstore, cuyo objetivo es crear herramientas y servicios para verificar software mediante firmas digitales y mantener un registro público para confirmar la autenticidad (registro de transparencia). El proyecto se desarrollará bajo los auspicios de la organización sin fines de lucro Linux Foundation.

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). Uno de los problemas de seguridad clave en el software de código abierto es la dificultad de verificar el origen del programa y verificar el proceso de compilación. Por ejemplo, la mayoría de los proyectos utilizan hashes para verificar la integridad de una versión, pero a menudo la información necesaria para la autenticación se almacena en sistemas desprotegidos y en repositorios de código compartido, como resultado de lo cual los atacantes pueden comprometer los archivos necesarios para la verificación e introducir cambios maliciosos. sin levantar sospechas.

Solo una pequeña proporción de proyectos utiliza firmas digitales al distribuir versiones debido a las dificultades para administrar claves, distribuir claves públicas y revocar 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 porque necesitan dedicar tiempo a estudiar el proceso de verificación y comprender qué clave es confiable.

Sigstore se promociona como el equivalente de Let's Encrypt para código, ya que proporciona certificados para firmar código digitalmente y herramientas para automatizar la verificación. Con Sigstore, los desarrolladores pueden firmar digitalmente artefactos relacionados con las aplicaciones, como archivos de lanzamiento, imágenes de contenedores, manifiestos y ejecutables. Una característica especial de Sigstore es que el material utilizado para firmar se refleja en un registro público a prueba de manipulaciones que se puede utilizar para verificación y auditoría.

En lugar de claves permanentes, Sigstore utiliza claves efímeras de corta duración, que se generan en base a credenciales confirmadas por los proveedores de OpenID Connect (al momento de generar claves para una firma digital, el desarrollador se identifica a través de un proveedor de OpenID vinculado a un correo electrónico). La autenticidad de las claves se verifica mediante un registro público centralizado, lo que permite verificar que el autor de la firma es exactamente quien dice ser y que la firma fue formada por el mismo participante responsable de las liberaciones anteriores.

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

Entre los componentes desarrollados podemos destacar:

  • Rekor es una implementación de registro para almacenar metadatos firmados digitalmente que reflejan información sobre proyectos. Para garantizar la integridad y proteger contra la corrupción de datos después del hecho, se utiliza una estructura en forma de árbol, "Merkle Tree", en la que cada rama verifica todas las ramas y nodos subyacentes, gracias al hashing conjunto (en forma de árbol). Al tener el hash final, el usuario puede verificar la exactitud de todo el historial de operaciones, así como la exactitud de los estados pasados ​​​​de la base de datos (el hash de verificación raíz del nuevo estado de la base de datos se calcula teniendo en cuenta el estado pasado ). Para verificar y agregar nuevos registros, se proporciona una API Restful, así como una interfaz CLI.
  • Fulcio (SigStore WebPKI) es un sistema para crear autoridades de certificación (Root-CA) que emiten certificados de corta duración basados ​​en correo electrónico autenticado 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 el certificado luego cae en manos de un atacante, ya estará caducado).
  • Cosign (Container Signing) es un conjunto de herramientas para generar firmas para contenedores, verificar firmas y colocar contenedores firmados en repositorios compatibles con OCI (Open Container Initiative).

Fuente: opennet.ru

Añadir un comentario