Integração da API de assinatura digital do Gov.Br
Integração da API de prova de vida do Gov.Br
Objetivo
Entender e avaliar a viabilidade de se utilizar o recurso do Gov.Br de reconhecimentoassinatura facialdigital nascomo nossascomplemento ferramentas,ou substituição, ao serviço já em produção Assine Aqui, tendo em vista que a aplicabilidade pode ser variante e interessando ao Estado.Estado e ainda implementar novidades que ainda não temos.
Justificativa
Com a assinatura do termo de parceria do Governo do Estado com o Ministério da Economia, obtivemos a oportunidade de utilizar os recursos oferecidos pelo GOV BR, como login único, assinatura digital e prova de vida.
Propostas avaliadas
IntegraçUtilizaçãodadoAPIloginde prova de vidaúnico(Gov.Br) comorecursosassinaturasda atualização cadastralbásicas- Integração da API de
provaassinatura para assinaturas avançadas - Integração da API de
vidaassinaturacomopararecursosassinaturasde autenticaçãoqualificadas - Não utilização da API de
prova de vidaassinatura
Envolvidos
- DIEGO DA SILVA OLIVEIRA (Back-End Developer/Tech Leader)
- KARINE NOGUEIRA DOS SANTOS (Gerente de Projetos)
Premissas
- A aplicação deve estar integrada ao Login Único do Gov.Br
- A aplicação em homologação deve estar liberada pela equipe do Ministério da Economia
Fluxo de integração da API de prova de vidaassinatura
- Redirecionar o usuário para o consentimento da utilização do seu certificado para realizar a assinatura, Requisitando o Endpoint de autenticação codificando a informação
CLIENT_ID:CLIENT_ID, CLIENT_SECRETparaebase 64 eREDIRECT_URI passando como parâmetro noheaderbodycomodabasicrequisição,auth,neste mesmo processo, em ambiente de produção, será enviado um código via SMS para o usuário, para que o mesmo possa confirmar na tela, com isso será possível capturar oaccess-token.Authorization Code. Iniciar uma transação de prova de vida.A Transação cria um pedido de Prova de vida paraCom ocidadãoAuthorization(CPF).CodeOemCidadãomão,éseráinformadopossívelviapush notificationno aplicativo “Gov.Br”.Caso a Prova de vidanãoseja autorizada automaticamente,capturar ousuárioAccess(cidadão) pode autorizar por confirmação ou por biometria facial no app “Gov.Br”.Capturando a transação de prova de vidaToken do usuário.A- Após isso, é necessário consultar o certificado público do usuário, utilizanto o Access Token do usuário, chamando o endpoint específico para obtenção
retornará,do certificado, que será retornado emcasoformato PEM. - Realizar a assinatura avançada utilizando o modelo PKCS#7, passando um HASH SHA-256 utilizando a chave privada do usuário. Será retornado um arquivo contendo o pacote PKCS#7 com a assinatura digital do HASH SHA256-RSA e com o certificado público do usuário.
- Validar a assinatura realizada enviando uma requisição ao https://verificador.staging.iti.br/inicio para garantir que a assinatura gerada é de
autorizaçãofatoautomáticaumacomassinaturaselo,válida. - O
formatoprocessoJSON.Casopodeoserusuáriovistorealizardetalhadamentevalidaçãoemfacialantesdahttps://manual-integracao-assinatura-eletronica.servicos.gov.br/en/latest/iniciarintegracao.html#solicitacao-de-configuracaodata definida no atributo “reusar_apartir”, a transaçãonãoé autorizada automaticamente, e retornará, no formato JSON as informações.
Avaliações das propostas
Integração da API de prova de vida como recursos da atualização cadastral
Prós
- Utilização de tecnologia mais avançada para realização de Prova de Vida, com uma base de dados de imagens sólidas capturada e mantidas pelo Tribunal Superior Eleitoral, com dados biométricos de mais de 96% dos eleitores do Estado de Rondônia, de acordo com levantamento do mesmo.
- Substituição de um fluxo totalmente defasado e passivo de erros ao qual a prova de vida atual, requer a verificação manual da "selfie" do servidor por um agente do estado, ao qual esse toma a decisão de aprovar ou recusar a imagem.
Contras
- Não garantia da execução da verificação da prova de vida no momento do pedido, precisando ser tratado e verificado pela aplicação se, e quando, a verificação de fato ocorrer.
- Requerer do usuário com perfil de acesso ao Gov.Br com selos prata ou acima, para poder utilizar o recurso da prova de vida pelo app.
- Ter o dado biométrico atualizado no Tribunal Superior Eleitoral, para que a acurácia da verificação da prova de vida seja realizada de maneira consistente.
Integração da API de prova de vida como recursos de autenticação
Prós
- Utilização de um recurso seguro como Two Factor Authentication
- Pode ser utilizado como controle biométrico para alterações de dados sensíveis
Contras
- Caso utilizado no processo de login, pode tornar o processo lento.
- Necessidade de manter cadastro biométrico no TSE regularmente atualizado.
Não utilização da API de prova de vida
Prós
- Não há necessidade de implementar o login único nas aplicações propostas(Sauron e Portal do Servidor)
- Não altera o fluxo atual de atualização cadastral
- Não altera o fluxo atual de autenticação e validação do usuário pelo e-mail.
Contras
- Continuamos utilizando um fluxo de prova de vida, que não é exatamente uma prova de vida, com validação manual por um agente do governo.
- Não conseguimos atender a necessidade do Iperon para validação da prova de vida dos aposentados.
- Caso haja a necessidade de implementar um recurso de prova de vida, precisaríamos de uma base de imagem sólida, com estudo para corrente atualização e implementação de recurso de análise de imagem trabalhando em concorrência com as aplicações.
Resultado esperado
Após análise das avaliações propostas e das observações prós e contras a integração da API de prova de vida , é reconhecido as vantagens a adesão a este serviço, contudo com objetivo de integração ao serviço de atualização cadastral, para tornar o processo mais eficiente e tecnológico. Com base na implementação ao Serviço de autenticação (Sauron), não há vantagens em implementa-lo, tendo em vista que a habilitação de Two Factor Authentication pode ser realizada por N meios ao usuário, e com uma eficiência até mais rentável que a prova de vida do Gov.Br.
Outro ponto positivo para a opinião favorável, é a facilidade na integração com o recurso, permitindo uma flexibilidade da implementação da regra de negócio que envolve a realização da prova de vida, e a parceria que poderemos realizar com o IPERON.