Sigstore quiere facilitar la firma criptográfica

¿Cómo luchar contra los ciberataques desde el desarrollo del código?

©BigStock

Actualizado 22 | 07 | 2021 10:25

Sigstore

Todo empieza en algún lugar, y el software no es diferente: así como los bienes físicos tienen un punto de origen y una cadena de suministro asociada, el código también. En el mundo actual, la historia del origen de la mayoría de las aplicaciones de software comienza, al menos parcialmente, si no totalmente, en una comunidad de código abierto.

Entonces, ¿cómo se asegura la cadena de suministro de un producto que no tiene forma física, ni caja que cerrar, y que se crea en un entorno en el que cualquiera puede contribuir?

Este es el objetivo de sigstore, un proyecto de código abierto concebido y modelado originalmente en Red Hat y ahora bajo los auspicios de la Fundación Linux con el respaldo de Red Hat, Google y otros líderes de TI. Sigstore ofrece un método para asegurar mejor las cadenas de suministro de software de forma abierta, transparente y accesible. La necesidad de un proyecto como sigstore aumenta con los recientes ataques y violaciones de la infraestructura digital crítica, tanto en Norteamérica como en el resto del mundo, que han tenido como respuesta una orden ejecutiva presidencial en Estados Unidos destinada a mejorar la seguridad de la cadena de suministro de software.

Entonces, ¿por qué necesitamos algo como sigstore, exactamente? ¿Y qué hace sigstore que no hagan las tecnologías existentes, creadas para certificar y firmar tecnologías digitales?

La inaccesibilidad de la firma digital

La respuesta a la seguridad de las cadenas de suministro de software consiste en firmar digitalmente los distintos artefactos que componen las aplicaciones, desde los binarios y contenedores hasta los archivos agregados (como los tarballs) y las listas de materiales de software (SBOM). Las firmas digitales » detienen» un objeto en el tiempo, indicando que en su estado actual se verifica que es lo que dice ser y que no ha sido alterado de ninguna manera. Esto es estupendo para los desarrolladores que están extrayendo mucho código y proyectos diversos en cargas de trabajo más complicadas… o lo sería si el proceso estuviera mejor equipado para gestionar el código abierto.

Muchas soluciones de firma digital son buenas para lo que hacen, pero son caras y no se ajustan al modelo del motor de innovación del código abierto. Estas dos cosas por sí solas serían un problema, pero también está la cuestión de quién tiene la clave privada, que es exactamente lo que parece y es esencialmente la identificación que dice que el código proviene de una fuente específica. En las comunidades abiertas, en las que contribuyen muchísimas personas, ¿quién se supone que tiene una clave privada? ¿todo el mundo? ¿sólo los líderes de la comunidad (si existen)? ¿el patrocinador?

Este es el reto al que se enfrenta la cadena de suministro de software, especialmente en el código abierto: los presupuestos son escasos o inexistentes para las herramientas de firma digital, el propio software cambia con frecuencia y hay que gestionar y asegurar las claves privadas a lo largo de la vida del proyecto.

La firma digital al alcance de todo

Sigstore tiene como objetivo hacer que la firma de software sea omnipresente, de la misma manera que Let’s Encrypt hizo que los certificados X.509 para la Seguridad de la Capa de Transporte (TLS) fueran habituales. Antes de Let’s Encrypt, solo se veía HTTPS en la barra de direcciones para los sitios de comercio electrónico; en cambio ahora, dado lo accesibles que son los certificados, casi todos los sitios ejecutan HTTPS y son, por definición, más seguros. Este es el modelo que sigstore quiere seguir.

Sigstore quiere facilitar la firma criptográfica: la criptografía es una competencia especializada con la que el grueso de los desarrolladores no está muy familiarizado. Sigstore elimina esta carga y hace accesible la firma criptográfica al permitir a los desarrolladores utilizar una dirección de correo electrónico a través del protocolo OpenID connect como un identificador preexistente para firmar su código. El proyecto también produce un registro de actividad abierto, pero a la vez inalterable para rendir cuentas.

Para ofrecer todas estas capacidades y convertirse en un servicio gratuito y de uso generalizado, necesitamos generar confianza, literalmente. La confianza es la esencia (¡ja!) de la seguridad digital, tanto si se trata de certificados web como de código. Sin esta confianza, otras autoridades o servicios no pueden contar con sigstore para demostrar con exactitud que un individuo es quien dice ser y que el software producido es lo que dice ser.


Cargando noticia...