Como proteger a chave privada da sua CA?

23

Estou prestes a implementar minha própria autoridade de certificação (CA) apenas para uso interno.

Agora, há um problema, que a CA privada nunca deve ser explorada. Então, agora mesmo, a chave privada é criptografada.

O que mais poderia ser feito para melhorar a segurança da chave privada?

    
por JMW 03.09.2011 / 17:41

5 respostas

25

Trabalhei em uma empresa onde a segurança da chave da CA era essencial para o sucesso contínuo do negócio. Para este fim, a chave foi criptografada usando um protocolo personalizado que exigia pelo menos 2 pessoas para estarem presentes com tokens físicos conectados a terminais para descriptografá-lo (havia pelo menos 5 desses tokens, qualquer 2 combinados funcionariam). Os terminais foram fisicamente separados da máquina real com a chave CA. A interface que os usuários tinham, que descriptografou, era um terminal VT220 que permitia a entrada dos tokens de descriptografia e, em seguida, selecionava o que eles queriam "assinar" com a chave (nunca dando acesso à chave descriptografada). Esse sistema significava que pelo menos quatro pessoas teriam que trabalhar juntas para comprometer a chave, dois detentores de tokens, o cara que tinha acesso ao data center e outra pessoa que tivesse acesso root no servidor (porque a chave descriptografada nunca era armazenada em o servidor só na memória você não poderia apenas roubar a caixa, e as pessoas com raiz para este servidor específico não tinham permissão de acesso DC).

Se você estiver interessado em mais detalhes sobre este tipo de configuração, Bruce Schneier tem um ótimo site que abrange o projeto e a implementação de segurança de computadores:

link

Ele também publicou um livro realmente bom, o Applied Cryptography, que encontrei, me ajudou a entender os fundamentos de sistemas como este e como arquitetar infraestruturas mais seguras (legíveis por pessoas que não usam protetores de bolso):

link

    
por 03.09.2011 / 18:50
16

Um grande ganho é manter a chave CA particular em um computador dedicado completamente desconectado da rede. Você assinaria, e possivelmente também geraria, novos certificados nessa máquina e, em seguida, usaria uma mídia física para transferir os novos certificados da máquina CA.

Como a configuração, é claro, também inclui considerações sobre a disponibilidade física da máquina, bem como restrições sobre mídias permitidas. Um stick USB bem viajado provavelmente não é a melhor das escolhas ...

(Este é, a propósito, um exemplo muito claro sobre o compromisso entre segurança e conveniência.)

    
por 03.09.2011 / 17:59
15

Eu inventei as outras duas respostas, e as comentei, porque acho que ambas são excelentes. Se você decide ir para ambos, e isso pode ser apropriado, eu strongmente aconselho cuidado na geração inicial da chave, já que o melhor momento para comprometer um a chave não está em uso (onde muitas precauções padrão e repetíveis podem ser aplicadas), mas no tempo de geração, que é uma opção única, é muito mais fácil subverter.

Este excelente guia para conduzir uma cerimônia de geração de chaves descreve alguns dos protocolos padrão que podem ajudar a garantir a geração de chaves, embora elas se resumam a (a) ter tudo testemunhado por vários auditores especializados, que (b) fazem registros contemporâneos de tudo o que é feito (c) de acordo com um protocolo pré-determinado escrito por alguém diferente do executor.

    
por 03.09.2011 / 19:35
7

Dependendo da sua seriedade, você deve considerar o uso do hardware FIPS 140-2 ( link ) para armazenar Chaves CA e back-ups dessas chaves. Você deve ter uma CA raiz e uma CA intermediária para poder manter sua AC raiz offline e fisicamente segura. A raiz só é necessária para renovar ou assinar novas CAs intermediárias, enquanto as CAs intermediárias ficam on-line para as operações do dia-a-dia. Como outros sugeriram, a geração segura de chaves e o gerenciamento de chaves com n de m controle é importante.

O CPS da VeriSign (agora Symantec) é uma boa referência para como uma CA comercial gera e protege suas chaves. Veja os capítulos 5 e 6, especificamente: link . (trabalhei na VeriSign por vários anos)

Além disso, o NIST tem várias publicações boas sobre o gerenciamento de chaves ( link ) e geração, e sua empresa também deve ter um CPS que especifique as políticas e práticas que você usa para gerenciar sua CA. O IETF fornece um bom modelo: link

    
por 04.09.2011 / 11:35
1

Grande pergunta e algumas ótimas respostas também.

Tenha em mente que você está cerca de 90% à frente da maioria das outras pessoas simplesmente considerando esse problema em vez de cobrar às cegas com antecedência.

Tendo mantido isso em mente e tomado o outro conselho aqui, eu simplesmente acrescentaria: não descanse em seus louros; fique de olho nas notícias de segurança e criptografia para questões gerais relacionadas à emissão de certificados, revogação, crack, etc. e mais definitivamente sobre vulnerabilidades e problemas com os produtos específicos que você usa para gerar e gerenciar suas chaves.

Por último: segurança física. Fazer algo “à prova de hackers” não ajuda se eu conseguir um emprego como faxineira de contrato em seu prédio e depois colocar o disco que contém seu certificado raiz no meu bolso um dia. Você ficaria surpreso com quantas pessoas sentem falta disso.

    
por 04.09.2011 / 12:22