Uma CA do Windows Server pode separar chaves de assinatura de código de chaves para outros propósitos?

2

Eu sou um desenvolvedor de software. Minha equipe criptografa as seções sensíveis de nossos arquivos web.config do ASP.NET. aspnet_regiis.exe é usado para gerenciar o armazenamento de chaves local, criptografar e descriptografar.

Eu quero criar uma ferramenta rápida de gerenciamento de chaves para evitar lembrar sua localização e sintaxe, com base em um script do Powershell que encontrei usando um conhecido mecanismo de pesquisa . Isso é bloqueado por uma política de domínio:

PS H:\> Get-ExecutionPolicy
Restricted

Antes de solicitar que isso seja alterado para RemoteSigned ...

Se todas as máquinas na intranet fossem definidas como RemoteSigned , um certificado poderia ser criado no CS do Domínio para uma equipe hipotética de segurança de código, de modo que o certificado não pudesse ser usado para SSL ou outro certificado processos?

Isso permitiria que desenvolvedores de baixo nível escrevessem scripts e os assinassem sem dar confiança excessiva a cada revisor de código.

    
por Emyr 27.09.2013 / 16:21

2 respostas

1

Sim. Você pode criar um certificado que seja bom somente para assinatura de código. Você pode até mesmo inscrever automaticamente os membros de sua equipe nesse certificado para que eles obtenham automaticamente, contanto que você use os Serviços de Certificados do Active Directory em um domínio.

Observea"Assinatura de código" na coluna "Finalidades". Tal certificado não seria utilizável para autenticação de servidor, criptografia EFS, etc. Você pode modificar a segurança desse modelo de certificado de forma que apenas determinados usuários do domínio (por exemplo, sua equipe de desenvolvimento) sejam elegíveis para receber tal certificado.

Eu escrevi um pouco mais sobre a assinatura de scripts do Powershell aqui e aqui .

    
por 27.09.2013 / 16:28
0

Para expandir a resposta de Ryan ...

Sim, você pode criar um certificado de assinatura de código cujo único objetivo é assinar o AuthentiCode. E Ryan te aponta diretamente para o modelo. Você teria que criar um tipo de certificado a partir desse modelo e disponibilizá-lo para inscrição, mas os administradores da CA podem fazer isso rapidamente (alguns minutos mais o controle de alterações que você tiver).

A próxima parte importante é ter todos os certificados emitidos publicados em todos os seus computadores. Isso pode ser feito por meio da Diretiva de Grupo, basta adicionar os certificados individuais de cada pessoa que assina o código à loja "Editores Confiáveis" nos computadores.

Mais uma vez, uma alteração muito rápida que o (s) administrador (es) do AD / GPO pode realizar em apenas alguns minutos. O kicker é que você tem que fazer isso por signatário, já que a confiança do AuthentiCode não segue as cadeias de confiança. (leia-se: o design é que você precisa confiar em cada editor / assinante individualmente para impedir que alguém compre um certificado de uma raiz confiável e publique o pior vírus do mundo como software confiável)

    
por 27.09.2013 / 18:38