PKCS # 11 Cloud Token - Mito ou Realidade?
O PKCS # 11 (Cryptoki) é um padrão desenvolvido pela RSA Laboratories para a interação de programas com tokens criptográficos, cartões inteligentes e outros dispositivos similares usando uma interface de software unificada implementada por meio de bibliotecas.O padrão PKCS # 11 para criptografia russa é suportado pelo comitê técnico de padronização “Proteção de informações criptográficas” ( TC 26 ).Se falamos de tokens com o suporte da criptografia russa, podemos falar sobre tokens de software, tokens de software e hardware e tokens de hardware.Os tokens criptográficos fornecem armazenamento de certificados e pares de chaves (chaves públicas e privadas), bem como operações criptográficas de acordo com o padrão PKCS # 11. O ponto fraco aqui é o armazenamento da chave privada. Se a chave pública for perdida, ela sempre poderá ser restaurada usando a chave privada ou obtida de um certificado. A perda / destruição da chave privada tem conseqüências tristes, por exemplo, você não pode descriptografar os arquivos criptografados em sua chave pública, não pode colocar uma assinatura eletrônica (ES). Para criar uma assinatura eletrônica, você precisará gerar um novo par de chaves e obter um novo certificado por um dinheiro em um dos centros de certificação.Acima, mencionamos software, hardware-software e tokens de hardware. Mas podemos considerar outro tipo de token criptográfico - nuvem.Hoje você não surpreenderá ninguém com uma unidade flash na nuvem . Todas as vantagens e desvantagens de uma unidade flash na nuvem são quase inerentes a um token na nuvem.O principal aqui é a segurança dos dados armazenados em um token da nuvem, principalmente chaves privadas. Esse token de nuvem pode fornecer? Nós dizemos - SIM!E então, como um token de nuvem funciona? A primeira etapa é registrar o cliente na nuvem de token. Para isso, deve ser fornecido um utilitário que permita acessar a nuvem e registrar seu nome de usuário / apelido nela:
Após o registro na nuvem, o usuário deve inicializar seu token, ou seja, definir o rótulo do token e, mais importante, definir os códigos SO-PIN e PIN do usuário. Essas operações devem ser realizadas apenas em um canal seguro / criptografado. O utilitário pk11conf é usado para inicializar o token. Para criptografia de canal, propõe-se o uso do algoritmo de criptografia Magma-CTR (GOST R 34.13-2015).Para gerar uma chave consistente, com base na qual o tráfego entre o cliente e o servidor será protegido / criptografado, propõe-se o uso do protocolo SESPAKE recomendado pelo TC 26 - um protocolo para gerar uma chave compartilhada com autenticação baseada em senha .Propõe-se usar o mecanismo de senha descartável como uma senha com base na qual uma chave compartilhada será gerada . Como estamos falando de criptografia russa, é natural gerar senhas únicas usando os mecanismos CKM_GOSTR3411_12_256_HMAC, CKM_GOSTR3411_12_512_HMAC ou CKM_GOSTR3411_HMAC .O uso desse mecanismo garante que o acesso a objetos de token pessoais na nuvem através dos códigos PIN do SO e do USUÁRIO esteja disponível apenas para o usuário que os instalou usando o utilitário pk11conf .Tudo, depois de executar essas etapas, o token da nuvem está pronto para uso. Para acessar o token da nuvem, basta instalar a biblioteca LS11CLOUD no PC. Ao usar um token de nuvem em aplicativos nas plataformas Android e iOS, é fornecido um SDK apropriado. É esta biblioteca que será indicada ao conectar um token de nuvem no navegador Redfox ou registrada no arquivo pkcs11.txt para. A biblioteca LS11CLOUD também interage com o token na nuvem por meio de um canal seguro baseado em SESPAKE criado quando a função P_CS # 11 C_Initialize!
Isso é tudo, agora você pode solicitar um certificado, instalá-lo no seu token na nuvem e acessar o site de serviços públicos. Source: https://habr.com/ru/post/pt398677/
All Articles