Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Como tudo começou

Logo no início do período de auto-isolamento, recebi uma carta pelo correio:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

A primeira reação foi natural: ou você tem que ir buscar as fichas, ou elas têm que ser trazidas, mas desde segunda-feira estamos todos sentados em casa, há restrições de movimento, e quem diabos é esse? Portanto, a resposta foi bastante natural:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

E como todos sabemos, a partir de segunda-feira, 1º de abril, começou um período de auto-isolamento bastante rigoroso. Todos nós também mudamos para o trabalho remoto e também precisávamos de uma VPN. Nossa VPN é baseada em OpenVPN, mas modificada para suportar a criptografia russa e a capacidade de trabalhar com tokens PKCS#11 e contêineres PKCS#12. Naturalmente, descobrimos que nós mesmos não estávamos prontos para trabalhar via VPN: muitos simplesmente não tinham certificados e alguns tinham certificados expirados.

Como foi o processo?

E é aqui que o utilitário vem ao resgate criptoarmpkcs e aplicação CAFL63 (Centro de verificação).

O utilitário cryptoarmpkcs permitiu que funcionários que estão em auto-isolamento e possuem tokens em seus computadores domésticos gerassem solicitações de certificado:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Os funcionários enviaram solicitações salvas por e-mail para mim. Alguém pode perguntar: - E os dados pessoais, mas se você olhar com atenção, não está na solicitação. E a solicitação em si é protegida por sua assinatura.

Após o recebimento, a solicitação de certificado é importada para o banco de dados CAFL63 CA:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Após o qual a solicitação deve ser rejeitada ou aprovada. Para considerar uma solicitação, você precisa selecioná-la, clicar com o botão direito e selecionar “Tomar decisão” no menu suspenso:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

O próprio processo de tomada de decisão é absolutamente transparente:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Um certificado é emitido da mesma forma, apenas o item de menu é denominado “Emitir certificado”:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Para visualizar o certificado emitido, você pode utilizar o menu de contexto ou simplesmente clicar duas vezes na linha correspondente:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Agora o conteúdo pode ser visualizado tanto por meio do openssl (guia Texto OpenSSL) quanto pelo visualizador integrado do aplicativo CAFL63 (guia Texto do Certificado). Neste último caso, você pode usar o menu de contexto para copiar o certificado em formato de texto, primeiro para a área de transferência e depois para um arquivo.

Aqui deve ser destacado o que mudou no CAFL63 em relação à primeira versão? Quanto à visualização dos certificados, já observamos isso. Também se tornou possível selecionar um grupo de objetos (certificados, solicitações, CRLs) e visualizá-los em modo de paginação (botão “Ver selecionados ...”).

Provavelmente o mais importante é que o projeto esteja disponível gratuitamente em githabe. Além das distribuições para Linux, foram preparadas distribuições para Windows e OS X. A distribuição para Android será lançada um pouco mais tarde.

Em comparação com a versão anterior do aplicativo CAFL63, não apenas a interface em si mudou, mas também, como já foi observado, novos recursos foram adicionados. Por exemplo, a página com a descrição do aplicativo foi redesenhada e links diretos para download de distribuições foram adicionados:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Muitos perguntaram e ainda perguntam onde obter o GOST openssl. Tradicionalmente eu dou link, gentilmente fornecido garex. Como usar este openssl está escrito aqui.
Mas agora os kits de distribuição incluem uma versão de teste do openssl com criptografia russa.

Portanto, ao configurar a CA, você pode especificar /tmp/lirssl_static para Linux ou $::env(TEMP)/lirssl_static.exe para Windows como o openssl usado:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Neste caso, você precisará criar um arquivo lirssl.cnf vazio e especificar o caminho para este arquivo na variável de ambiente LIRSSL_CONF:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

A guia “Extensões” nas configurações do certificado foi complementada com o campo “Acesso às informações da autoridade”, onde você pode definir pontos de acesso ao certificado raiz da CA e ao servidor OCSP:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Frequentemente ouvimos que as CAs não aceitam requisições geradas por elas (PKCS#10) de solicitantes ou, pior ainda, forçam a formação de requisições com a geração de um par de chaves na operadora através de algum CSP. E eles se recusam a gerar solicitações de tokens com chave não recuperável (no mesmo RuToken EDS-2.0) por meio da interface PKCS#11. Portanto, decidiu-se adicionar a geração de solicitações à funcionalidade da aplicação CAFL63 utilizando os mecanismos criptográficos dos tokens PKCS#11. Para habilitar os mecanismos de token, foi utilizado o pacote TclPKCS11. Ao criar uma solicitação para uma CA (página “Solicitações de certificados”, função “Criar solicitação/CSR”) agora você pode escolher como o par de chaves será gerado (usando openssl ou em um token) e a própria solicitação será assinada:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

A biblioteca necessária para trabalhar com o token é especificada nas configurações do certificado:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Mas nos desviamos da tarefa principal de fornecer aos funcionários certificados para trabalhar em uma rede VPN corporativa em modo de auto-isolamento. Descobriu-se que alguns funcionários não possuem tokens. Decidiu-se fornecer-lhes containers protegidos PKCS#12, já que a aplicação CAFL63 permite isso. Primeiramente, para esses funcionários fazemos solicitações PKCS#10 indicando o tipo CIPF “OpenSSL”, depois emitimos um certificado e o empacotamos em PKCS12. Para isso, na página “Certificados”, selecione o certificado desejado, clique com o botão direito e selecione “Exportar para PKCS#12”:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Para ter certeza de que tudo está em ordem com o contêiner, vamos usar o utilitário cryptoarmpkcs:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Agora você pode enviar certificados emitidos aos funcionários. Algumas pessoas simplesmente recebem arquivos com certificados (são os proprietários de tokens, aqueles que enviaram solicitações) ou contêineres PKCS#12. No segundo caso, cada funcionário recebe a senha do contêiner por telefone. Esses funcionários só precisam corrigir o arquivo de configuração da VPN especificando corretamente o caminho para o contêiner.

Quanto aos proprietários do token, eles também precisavam importar um certificado para o seu token. Para fazer isso, eles usaram o mesmo utilitário cryptoarmpkcs:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Agora há alterações mínimas na configuração da VPN (o rótulo do certificado no token pode ter mudado) e é isso, a rede VPN corporativa está funcionando bem.

Final feliz

E então me dei conta: por que as pessoas trariam fichas para mim ou eu deveria enviar um mensageiro para buscá-las? E envio uma carta com o seguinte conteúdo:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

A resposta vem no dia seguinte:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Envio imediatamente um link para o utilitário cryptoarmpkcs:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Antes de criar solicitações de certificado, recomendei que eles limpassem os tokens:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

Em seguida, as solicitações de certificados no formato PKCS#10 foram enviadas por email e emiti certificados, que enviei para:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

E então veio um momento agradável:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

E também havia esta carta:

Infraestrutura de chave pública. Emissão de certificados durante o auto-isolamento

E depois disso nasceu este artigo.

Distribuições do aplicativo CAFL63 para plataformas Linux e MS Windows podem ser encontradas

aqui

As distribuições do utilitário cryptoarmpkcs, incluindo a plataforma Android, estão localizadas

aqui

Fonte: habr.com

Adicionar um comentário