Se ha anunciado la disponibilidad del sistema de verificación criptográfica de código Sigstore.

La empresa Google ha anunciado la formación de las primeras versiones estables de los componentes que forman el proyecto Sigstore, el cual se declara apto para crear implementaciones funcionales. Sigstore desarrolla herramientas y servicios para la verificación de software mediante firmas digitales y el mantenimiento de un registro público que confirma la autenticidad de los cambios (transparency log). El proyecto se desarrolla bajo la égida de la organización sin fines de lucro Linux Foundation, junto con las empresas Google, Red Hat, Cisco, VMware, GitHub y HP Enterprise, con la participación de OpenSSF (Open Source Security Foundation) y la Universidad de Purdue.

Sigstore puede considerarse como un análogo de Let’s Encrypt para el código, proporcionando certificados para la verificación de código mediante firmas digitales y herramientas para automatizar la comprobación. A través de Sigstore, los desarrolladores podrán generar firmas digitales para los artefactos relacionados con la aplicación, como archivos de versiones, imágenes de contenedores, manifiestos y archivos ejecutables. El material utilizado para la firma se refleja en un registro público a prueba de modificaciones, 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 función de las credenciales confirmadas por proveedores de OpenID Connect (en el momento de generar las claves necesarias para crear una firma digital, el desarrollador se identifica a través de un proveedor de OpenID vinculado a su correo electrónico). La autenticidad de las claves se verifica a través de un registro público centralizado, que permite asegurarse de que el firmante es quien dice ser y que la firma fue realizada por el mismo participante responsable de las versiones anteriores.

La disponibilidad de Sigstore para la implementación se debe a la creación de versiones de dos componentes clave: Rekor 1.0 y Fulcio 1.0, cuyos interfaces de programación se han declarado estables y mantendrán la compatibilidad hacia atrás. Los componentes del servicio están escritos en el lenguaje Go y se distribuyen bajo la licencia Apache 2.0.

El componente Rekor contiene una implementación de un registro para almacenar metadatos verificados con firmas digitales que reflejan información sobre los proyectos. Para asegurar la integridad y protección contra la manipulación de datos retrospectiva, se utiliza una estructura de árbol conocida como 'árbol de Merkle', en la que cada rama verifica todas las ramas y nodos descendentes gracias a un hashing conjunto (en árbol). Teniendo un hash final, el usuario puede asegurarse de la corrección de toda la historia de operaciones, así como de los estados anteriores de la base de datos (el hash raíz de verificación del nuevo estado de la base se calcula teniendo en cuenta el estado anterior). Se proporciona una API RESTful para la verificación y adición de nuevos registros, así como una interfaz de línea de comandos.

El componente Fulcio (SigStore WebPKI) incluye un sistema para crear autoridades certificadoras (CA raíz) que emiten certificados de corta duración basados en el 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 generar una firma digital (si el certificado cae en manos de un atacante más tarde, ya habrá expirado). Además, el proyecto está desarrollando herramientas de Cosign (Firmado de Contenedores), destinadas a generar firmas para contenedores, verificar firmas y almacenar contenedores firmados en repositorios compatibles con OCI (Open Container Initiative).

La implementación de Sigstore permite aumentar la seguridad de los canales de distribución de software y protegerse contra ataques dirigidos a la sustitución de bibliotecas y dependencias (supply chain). Uno de los problemas clave de seguridad en el software de código abierto es la dificultad para verificar la fuente de obtención del programa y la verificación del proceso de compilación. Por ejemplo, para comprobar la integridad de un lanzamiento, la mayoría de los proyectos utilizan hashes, pero a menudo la información necesaria para comprobar la autenticidad se almacena en sistemas no protegidos y en repositorios de código públicos, lo que puede resultar en que los atacantes sustituyan los archivos necesarios para la verificación y, sin levantar sospechas, introduzcan cambios maliciosos.

La implementación de firmas digitales para la verificación de lanzamientos aún no ha logrado una adopción generalizada debido a las dificultades en la gestión de claves, la distribución de claves públicas y la revocación de claves comprometidas. Para que la verificación tenga sentido, es necesario organizar un proceso confiable y seguro para la distribución de claves públicas y sumas de verificación. Incluso con una firma digital, muchos usuarios ignoran la verificación porque deben invertir tiempo en aprender el proceso de verificación y entender qué clave es digna de confianza. El proyecto Sigstore intenta simplificar y automatizar estos procesos, proporcionando una solución lista y verificada.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster