Red Hat e Google presentaron Sigstore, un servizo de verificación de código criptográfico

Red Hat e Google, xunto coa Universidade de Purdue, fundaron o proxecto Sigstore, destinado a crear ferramentas e servizos para verificar software mediante sinaturas dixitais e manter un rexistro público para confirmar a autenticidade (rexistro de transparencia). O proxecto desenvolverase baixo os auspicios da organización sen ánimo de lucro Linux Foundation.

O proxecto proposto mellorará a seguridade das canles de distribución de software e protexerá contra ataques dirixidos a substituír compoñentes e dependencias de software (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.

Só unha pequena proporción dos proxectos usa sinaturas dixitais ao distribuír versións 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 de 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 estudar o proceso de verificación e a comprender que chave é de confianza.

Sigstore preséntase como o equivalente 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. Unha característica especial de Sigstore é que o material utilizado para a 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 claves para unha sinatura dixital, o desenvolvedor identifícase a través dun 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 formada polo mesmo participante responsable das versións anteriores.

Sigstore ofrece tanto un servizo preparado que xa podes usar, como un conxunto de ferramentas que che permiten implantar servizos similares no teu propio equipo. O servizo é gratuíto para todos os desenvolvedores e provedores de software, e está implantado nunha plataforma neutral: a Fundación Linux. Todos os compoñentes do servizo son de código aberto, están escritos en Go e distribúense baixo a licenza Apache 2.0.

Entre os compoñentes desenvolvidos podemos sinalar:

  • Rekor é 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 en forma de árbore "Merkle Tree", na que cada rama verifica todas as ramas e nós subxacentes, grazas ao hash conxunto (como árbore). 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. ). Para verificar e engadir novos rexistros, ofrécese unha API Restful, así como unha interface cli.
  • Fulcio (SigStore WebPKI) é un sistema para crear autoridades de certificación (Root-CAs) que emiten certificados de curta duración baseados no correo electrónico autenticado mediante 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).
  • Сosign (Container Signing) é un conxunto de ferramentas para xerar sinaturas para contedores, verificar sinaturas e colocar contedores asinados en repositorios compatibles con OCI (Open Container Initiative).

Fonte: opennet.ru

Engadir un comentario