Anúnciase o sistema de verificación criptográfica Sigstore

Google anunciou a formación das primeiras versións estables dos compoñentes que forman o proxecto Sigstore, que se declara apto para crear implementacións de traballo. Sigstore desenvolve ferramentas e servizos para a verificación de software mediante sinaturas dixitais e mantendo un rexistro público que confirma a autenticidade dos cambios (rexistro de transparencia). O proxecto está a ser desenvolvido baixo os auspicios da organización sen ánimo de lucro Linux Foundation por Google, Red Hat, Cisco, vmWare, GitHub e HP Enterprise coa participación da organización OpenSSF (Open Source Security Foundation) e da Purdue University.

Sigstore pódese considerar un análogo de Let's Encrypt para o código, que ofrece certificados para asinar dixitalmente o código e ferramentas para automatizar a verificación. Con Sigstore, os desenvolvedores poden asinar dixitalmente artefactos relacionados coas aplicacións, como ficheiros de lanzamento, imaxes de contedores, manifestos e executables. O material de sinatura reflíctese nun rexistro público a proba de manipulacións que se pode usar para a verificación e auditoría.

En lugar de claves permanentes, Sigstore utiliza claves efémeras de curta duración, que se xeran en función das credenciais confirmadas polos provedores de OpenID Connect (no momento de xerar as claves necesarias para crear unha sinatura dixital, o desenvolvedor identifícase a través do provedor de OpenID vinculado a un correo electrónico). A autenticidade das claves verifícase mediante un rexistro público centralizado, o que permite verificar que o autor da sinatura é exactamente quen di ser, e que a sinatura foi xerada polo mesmo participante responsable das versións anteriores.

A preparación de Sigstore para a implementación débese á formación de versións de dous compoñentes clave: Rekor 1.0 e Fulcio 1.0, cuxas interfaces de software se declaran estables e seguirán sendo compatibles con versións anteriores. Os compoñentes do servizo están escritos en Go e distribúense baixo a licenza Apache 2.0.

O compoñente Rekor contén unha implementación de rexistro para almacenar metadatos asinados dixitalmente que reflicten información sobre proxectos. Para garantir a integridade e protexerse contra a corrupción dos datos despois do feito, utilízase unha estrutura de árbore Merkle Tree, na que cada rama verifica todas as ramas e nós subxacentes mediante hash (árbore) conxunto. Ao ter o hash final, o usuario pode verificar a corrección de todo o historial de operacións, así como a corrección dos estados pasados ​​da base de datos (o hash de verificación raíz do novo estado da base de datos calcúlase tendo en conta o estado pasado. ). Ofrécese unha API RESTful para verificar e engadir novos rexistros, así como unha interface de liña de comandos.

O compoñente Fulcio (SigStore WebPKI) inclúe un sistema para crear autoridades de certificación (CAs raíz) que emiten certificados de curta duración baseados no correo electrónico autenticado a través de OpenID Connect. A vida útil do certificado é de 20 minutos, durante os cales o desenvolvedor debe ter tempo para xerar unha sinatura dixital (se o certificado cae posteriormente en mans dun atacante, xa estará caducado). Ademais, o proxecto está a desenvolver o conxunto de ferramentas Cosign (Container Signing), deseñado para xerar sinaturas para contedores, verificar sinaturas e colocar contedores asinados en repositorios compatibles con OCI (Open Container Initiative).

A implantación de Sigstore permite aumentar a seguridade das canles de distribución de programas e protexerse contra ataques dirixidos a substituír bibliotecas e dependencias (cadea de subministración). Un dos principais problemas de seguridade do software de código aberto é a dificultade de verificar a fonte do programa e verificar o proceso de compilación. Por exemplo, a maioría dos proxectos usan hash para verificar a integridade dunha versión, pero moitas veces a información necesaria para a autenticación almacénase en sistemas desprotexidos e en repositorios de código compartido, polo que os atacantes poden comprometer os ficheiros necesarios para a verificación e introducir cambios maliciosos. sen levantar sospeitas.

O uso de sinaturas dixitais para a verificación da versión aínda non se estendeu debido ás dificultades para xestionar as claves, distribuír as claves públicas e revogar as claves comprometidas. Para que a verificación teña sentido, tamén é necesario organizar un proceso fiable e seguro para a distribución de claves públicas e sumas de verificación. Incluso cunha sinatura dixital, moitos usuarios ignoran a verificación porque necesitan dedicar tempo a aprender o proceso de verificación e a comprender que chave é de confianza. O proxecto Sigstore tenta simplificar e automatizar estes procesos proporcionando unha solución preparada e comprobada.

Fonte: opennet.ru

Engadir un comentario