El proyecto gittuf desarrolla un sistema de protección criptográfica para repositorios Git

La versión 0.4 del proyecto gittuf está disponible, desarrollando un sistema jerárquico de verificación del contenido de los repositorios de Git, permitiendo minimizar los riesgos en caso de compromiso de desarrolladores individuales que tienen acceso al repositorio. Gittuf proporciona una capa adicional de seguridad a Git y un conjunto de herramientas para gestionar las claves de todos los desarrolladores que tienen acceso al repositorio, así como para establecer reglas de acceso a ramas, etiquetas y archivos individuales. El código del proyecto está escrito en Go y se distribuye bajo la licencia Apache 2.0. El proyecto está en etapa de desarrollo activo y tiene la calidad de una versión alfa, adecuada para experimentación, pero aún no lista para implementaciones en producción.

La información y los artefactos que proporcionan una verificación adicional de los cambios realizados se almacenan en un almacenamiento de objetos Git en un espacio de nombres específico para gittuf, lo que permite mantener la compatibilidad con las herramientas y servicios existentes, incluyendo GitHub y GitLab. Al utilizar herramientas que no son compatibles con gittuf, el repositorio sigue siendo completamente accesible, pero la capacidad de realizar una verificación avanzada de su integridad está limitada. La arquitectura de gittuf se basa en elementos probados del marco TUF (The Update Framework), utilizado para proteger los procesos de formación de actualizaciones en proyectos como Docker, Fuchsia, AGL (Automotive Grade Linux) y PyPI.

El modelo de verificación en gittuf se basa en la aplicación de un sistema jerárquico de distribución de confianza. La raíz de confianza pertenece al propietario del repositorio, quien puede generar claves para los participantes en el desarrollo y definir las reglas según las cuales se pueden aplicar las claves creadas. Gittuf permite crear reglas granulares flexibles que definen las autorizaciones de cada desarrollador y el área del repositorio en la que tiene la capacidad de realizar cambios. Por ejemplo, un desarrollador puede estar autorizado para crear etiquetas, modificar ciertas ramas o cambiar solo archivos específicos en el repositorio.

Los desarrolladores y los cambios que realizan se identifican mediante claves y firmas digitales. Gittuf permite generar nuevas claves, distribuirlas de manera segura, realizar la rotación periódica de claves, revocar claves comprometidas, gestionar listas de acceso (ACL) y espacios de nombres en repositorios Git. Gittuf también lleva un registro de referencia de todos los cambios (RSL — Registro del Estado de Referencia), cuya integridad y protección contra alteraciones retroactivas se garantiza mediante una estructura arbórea llamada "árbol de Merkle" (Merkle Tree): cada rama verifica todas las ramas y nodos inferiores gracias al hash 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).

Para verificar las firmas digitales de commits y etiquetas, el propietario del repositorio genera y distribuye claves públicas que están directamente asociadas al repositorio. Para contrarrestar la promoción de cambios malintencionados realizados después de obtener acceso a las claves para generar firmas digitales de desarrolladores individuales, se aplican mecanismos de revocación y reemplazo de claves. Las claves tienen un tiempo de vida limitado y requieren actualizaciones constantes para protegerse contra la firma con claves antiguas.

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