Eu não fiz isso com os pacotes Debian, mas aqui está o que fizemos com os RPMs em um trabalho anterior: nós fizemos um servidor de assinatura que contém a chave privada, e ninguém teve acesso a ela diretamente. (Bem, exceto aqueles de nós que eram administradores de sistemas nesse sistema; dependendo das suas necessidades de segurança, você poderia tornar esse "firewall" mais strong.)
O servidor de assinatura tem uma área de dropbox. Você pode limitar isso por chaves ssh ou senhas ou qualquer outra coisa, ou, por causa da próxima etapa, você pode até deixá-la aberta ao mundo.
Monitore a área da caixa de depósito para novos arquivos. Quando eles aparecerem, verifique se eles estão assinados com uma chave válida de um dos mantenedores . Se não estiverem, exclua-os. Em seguida, verifique se eles são arquivos de pacote válidos com quaisquer outras verificações desejadas, copie-os para uma área de armazenamento temporário sob uma conta de usuário reservada para o serviço de assinatura. Depois de passar a validação, o servidor de assinatura renuncia os pacotes com sua própria chave (que, novamente, não é diretamente legível).
E como é conveniente, o mesmo servidor realmente executou as ferramentas de criação de repositório. Como, ao contrário do RPM, seu próprio repositório é assinado, isso parece particularmente conveniente, porque você pode adicionar essa assinatura aqui, novamente com a chave privada que ninguém tem acesso direto.
Uma versão ligeiramente mais strong disso remove a coleta automática e faz com que os assinantes digitem a frase secreta da chave secreta todas as vezes. Dessa forma, as pessoas que mantêm o sistema podem nem conseguir assinar pacotes enganando-os e acessando-os diretamente. (É claro, eles poderiam trojan o sistema, mas vamos deixar esse grau de paranóia para um tópico diferente. Ou você pode simplesmente decidir que você sabe que tem que confiar nos sysadmins de qualquer maneira e reforçar isso por política, deixando a conveniência do dropdown. abordagem de caixa no lugar.)