O projeto gittuf desenvolve um sistema de proteção criptográfica para repositórios Git

A versão 0.4 do projeto gittuf está disponível, desenvolvendo um sistema hierárquico de verificação do conteúdo dos repositórios Git, que minimiza os riscos em situações de comprometimento de desenvolvedores individuais com acesso ao repositório. O gittuf oferece uma camada adicional de segurança ao Git e um conjunto de utilitários para gerenciar as chaves de todos os desenvolvedores que têm acesso ao repositório e para definir regras de acesso a branches, tags e arquivos específicos. O código do projeto é escrito em Go e é distribuído sob a licença Apache 2.0. O projeto está em fase de desenvolvimento ativo e possui qualidade de pré-lançamento, adequado para experimentos, mas ainda não pronto para implementações em produção.

Informações e artefatos que garantem uma verificação adicional das alterações realizadas são armazenados no repositório de objetos Git em um espaço de nomes específico do gittuf, o que permite manter a compatibilidade com as ferramentas e serviços existentes, incluindo GitHub e GitLab. Ao usar ferramentas que não suportam gittuf, o repositório permanece totalmente acessível, mas é limitada a capacidade de verificação avançada de sua integridade. A arquitetura do gittuf é baseada em elementos comprovados do framework TUF (The Update Framework), que é utilizado para proteger os processos de formação de atualizações em projetos como Docker, Fuchsia, AGL (Automotive Grade Linux) e PyPI.

O modelo de verificação no gittuf é baseado na aplicação de um sistema hierárquico de distribuição de confiança. A raiz da confiança pertence ao proprietário do repositório, que pode gerar chaves para os participantes do desenvolvimento e definir regras de acordo com as quais as chaves geradas podem ser aplicadas. O gittuf permite criar regras granulares flexíveis que definem os poderes de cada desenvolvedor e a área do repositório onde ele tem permissão para fazer alterações. Por exemplo, um desenvolvedor pode ser autorizado a criar tags, fazer alterações em branches específicas ou alterar apenas arquivos individuais no repositório.

Desenvolvedores e as alterações que eles fazem são identificados por chaves e assinaturas digitais. O Gittuf permite gerar novas chaves, distribuir chaves de forma segura, realizar rotação periódica de chaves, revogar chaves comprometidas, gerenciar listas de controle de acesso (ACL) e namespaces em repositórios Git. O Gittuf também registra um log de referência de todas as alterações (RSL - Reference State Log), cuja integridade e proteção contra manipulação retroativa são garantidas por meio de uma estrutura em árvore chamada 'Árvore de Merkle' (Merkle Tree) — cada ramo verifica todos os ramos e nós inferiores através de hash em árvore (tendo um hash final, o usuário pode certificar-se da correção de todo o histórico de operações, bem como da correção dos estados anteriores).

Para verificar assinaturas digitais de commits e tags, o proprietário do repositório cria e distribui chaves públicas, que estão diretamente associadas ao repositório. Para combater a promoção de alterações por invasores, feitas após o acesso às chaves para formar assinaturas digitais de desenvolvedores individuais, são aplicados mecanismos de revogação e substituição de chaves. As chaves têm um tempo de vida limitado e exigem atualização constante para evitar a formação de assinatura com chaves antigas.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster