Infraestrutura de chave pública. Emissão de certificados em condições de auto-isolamento

Como tudo começou


No começo do período de auto-isolamento, recebi uma carta pelo correio:



a primeira reação foi natural: deve ser por fichas ou devem ser trazidas, e a partir de segunda-feira todos ficaremos em casa, restrições de movimento e o que diabos não está brincando. Portanto, a resposta foi bastante natural:



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 udalenka e também precisávamos de uma VPN. Nossa VPN é baseada no OpenVPN, mas modificada para oferecer suporte à criptografia russa e à 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 com uma VPN: muitos simplesmente não tinham certificados, enquanto outros haviam expirado.

Como foi o processo


E aqui o utilitário cryptoarmpkcs e o aplicativo CAFL63 ( autoridade de certificação) vieram em socorro .

O utilitário cryptoarmpkcs permitiu que os funcionários com isolamento automático com tokens em seus computadores domésticos gerassem



solicitações de certificado : 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 cuidado, eles não estão 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 da CA CAFL63:



Depois disso, a solicitação deve ser rejeitada ou aprovada. Para considerar uma solicitação, é necessário selecioná-la, pressione o botão direito do mouse e selecione o item "Tomar uma decisão" no menu suspenso:



O procedimento de tomada de decisão em si é absolutamente transparente:



um certificado é emitido de maneira semelhante, apenas o item de menu é chamado "Emitir um Certificado":



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



Agora, o conteúdo pode ser visualizado como openssl (guia Texto do OpenSSL ”), bem como o visualizador embutido 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 o arquivo.

Deve-se notar aqui o que mudou no CAFL63 em comparação com a primeira versão? Quanto à visualização de certificados, já observamos isso. Também foi possível selecionar um grupo de objetos (certificados, solicitações, CRL) e visualizá-los no modo de paginação (botão "Visualizar selecionado ...").

Provavelmente, o mais importante é que o projeto esteja disponível gratuitamente no github . Além das distribuições para linux, são preparadas distribuições para Windows e OS X. O kit de distribuição para Android será apresentado um pouco mais tarde.

Comparado com a versão anterior do aplicativo CAFL63, não apenas a interface foi alterada, mas, como já observado, novos recursos foram adicionados. Assim, por exemplo, a página com a descrição do aplicativo foi redesenhada, links diretos para o download de distribuições foram adicionados a ele:



Muitos perguntaram e agora perguntam onde conseguir o openssl do GOST-s. Tradicionalmente, dou um link gentilmente fornecidogarex. Como usar este openssl está escrito aqui .
Mas agora a versão de distribuição inclui uma versão de teste do openssl com criptografia russa.

Portanto, ao configurar a CA, como o openssl usado, será possível especificar / tmp / lirssl_static para linux ou $ :: env (TEMP) /lirssl_static.exe para Windows:



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



a guia Extensões nas configurações de certificado é complementada com o campo Acesso a informações da autoridade, onde você pode definir pontos de acesso para o certificado raiz da CA e para o servidor OCSP:



É comum ouvir-se que as CAs não aceitam solicitações dos candidatos (PKCS # 10) que geram ou, pior ainda, impõem a si mesmas a geração de solicitações com a geração de um par de chaves na mídia por meio de um determinado CSP. E eles se recusam a gerar solicitações em tokens com uma chave não recuperável (no mesmo RuToken EDS-2.0) através da interface PKCS # 11. Portanto, decidiu-se adicionar a geração de consulta à funcionalidade do aplicativo CAFL63 usando mecanismos de token criptográfico PKCS # 11. Para conectar mecanismos de token, o pacote TclPKCS11 foi usado . Ao criar uma solicitação para a CA (a página "Solicitação de Certificados", a função "Criar Solicitação / CSR"), agora você pode escolher como o par de chaves será gerado (usando openssl ou no token) e a solicitação será assinada:



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



Mas nos afastamos da tarefa principal de fornecer aos funcionários certificados para trabalhar na rede VPN corporativa no modo de auto-isolamento. Descobriu-se que alguns dos funcionários não têm tokens. Foi decidido fornecer a eles contêineres seguros PKCS # 12, pois o CAFL63 permite isso. Primeiro, fazemos solicitações PKCS # 10 para esses funcionários, indicando o tipo de sistema de proteção de informações criptográficas OpenSSL, depois emitimos um certificado e empacotamos no PKCS12. Para fazer isso, na página Certificados, selecione o certificado necessário, clique com o botão direito do mouse e selecione o item "Exportar para PKCS # 12":



Para garantir que tudo esteja em ordem com o contêiner, use o utilitário cryptoarmpkcs:



Agora você pode enviar certificados emitidos para funcionários. Apenas arquivos com certificados são enviados a alguém (são titulares de token, aqueles que enviaram solicitações) ou contêineres PKCS # 12. No segundo caso, cada funcionário é notificado por telefone da senha ao contêiner. É suficiente para esses funcionários corrigirem o arquivo de configuração da VPN, tendo definido o caminho corretamente para o contêiner.

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



Agora a configuração mínima da VPN muda (o rótulo do certificado no token pode mudar) e é isso, a VPN corporativa está operacional.

Um final feliz


E então me dei conta: por que as pessoas me traziam fichas ou me enviavam um mensageiro para elas? E envio um email com o seguinte conteúdo: A



resposta vem no dia seguinte:



envio imediatamente um link para o utilitário cryptoarmpkcs:



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



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



E então chegou um momento agradável:



E havia também uma carta:



E então este artigo nasceu.

As distribuições de aplicativos CAFL63 para plataformas Linux e MS Windows podem ser encontradas


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


All Articles