Ir para o conteúdo principal

Integração da API de assinatura digital do Gov.Br

Objetivo

Entender e avaliar a viabilidade de se utilizar o recurso do Gov.Br de assinaturareconhecimento digitalfacial comonas complementonossas ou substituição, ao serviço já em produção Assine Aqui,ferramentas, tendo em vista que a aplicabilidade pode ser interessandoestendida a qualquer aplicação que possa ter necessidade de implementa-la e demasiado interessante ao Estado e ainda implementar novidades que ainda não temos.Estado.

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

  1. Utilização do login único(Gov.Br) como assinaturas básicas
  2. Integração da API de assinatura para assinaturas avançadas
  3. Integração da API de assinatura para assinaturas qualificadas
  4. Não utilização da API de assinatura

Envolvidos

  • DIEGO DA SILVA OLIVEIRA (Back-End Developer/Tech Leader)
  • KARINE NOGUEIRA DOS SANTOS (Gerente de Projetos)

Premissas

  1. A aplicação deve estar integrada ao Login Único do Gov.Br
  2. A aplicação em homologação deve estar liberada pela equipe do Ministério da Economia

Fluxo de integração da API de assinatura

  1. 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_SECRET e REDIRECT_URI passando como parâmetro no body da requisição, 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 o Authorization Code.

  2. Com o Authorization Code em mão, será possível capturar o Access Token do usuário.

  3. Após isso, é necessário consultar o certificado público do usuário, utilizantoutilizando o Access Token do usuário, chamando o endpointEndpoint específico para obtenção do certificado, que será retornado em formato PEM.
  4. 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.

  5. Validar a assinatura realizada enviando uma requisição ao https://verificador.staging.iti.br/inicio para garantir que a assinatura gerada é de fato uma assinatura válida. 
  6. O processo pode ser visto detalhadamente em https://manual-integracao-assinatura-eletronica.servicos.gov.br/en/latest/iniciarintegracao.html#solicitacao-de-configuracao .

Avaliações das propostas

IntegraçUtilização dado APIlogin de prova de vidaúnico(Gov.Br) como recursosassinaturas da atualização cadastralbásicas
Prós
  1. UtilizaçValidação deda tecnologiaassinatura maissomente avançadacom paraa realizaçautenticação dedo Prova de Vida,usuário com umao baselogin de dados de imagens sólidas capturada e mantidas pelo Tribunal Superior Eleitoral,único com dados biométricos de mais de 96% dos eleitores do Estado de Rondônia, de acordo com levantamento do mesmo.

  2. 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.Gov.Br
Contras
  1. Não garantia da execuçãserviço da verificação da prova de vidaassinatura nobásica momento do pedido, precisando ser tratado e verificadodisponibilizado pela API de assinatura.

  2. Será utilizado a infra estrutura da aplicação se,Assine Aqui para manter e quando,gerenciar aas verificaçãoassinaturas de fato ocorrer.básicas.

  3. RequererO fluxo de assinatura do Assine Aqui, para assinatura com o login único(Gov.Br), precisará ser alterado, para que seja possível obter o access token do usuário comlogado perfilpelo deassine acesso ao Gov.Br com selos prata ou acima,aqui para poder utilizar o recurso da prova de vida pelo app.

  4. Ter o dado biométrico atualizado no Tribunal Superior Eleitoral, para quevalidar a acurácia da verificaçautenticação da prova de vida seja realizada de maneira consistente.o.
Integração da API de provaassinatura depara vidaassinaturas como recursos de autenticaçãoavançadas
Prós
  1. UtilizaçãIntegrar o recurso de umassinatura recursodigital seguroavançada, comoo Twoque Factoré Authenticationuma necessidade para o Estado.

  2. PodeA serintegração utilizadoé comoparticularmente controle biométrico para alterações de dados sensíveissimples.
Contras
  1. CasoPara utilizadorealização noda processoassinatura, o usuário precisa ter selo nível prata ou ouro para poder utilizar o recurso de login,assinatura pode tornar o processo lento.avançada.

  2. NecessidadePara integrar ao Assine Aqui, precisaria mudar o fluxo de manterassinatura, cadastrosendo biométricoele noo TSEsistema regularmenteintegrado atualizado.ao login único, partindo do mesmo a necessidade de realizar a assinatura, com objetivo de centralizar a integração.
Integração da API de assinatura para assinaturas qualificadas
Prós
  1. Não há
Contras
  1. O serviço de assinatura do Gov.Br não possui recursos para realizar assinatura qualificada. A assinatura qualificada é realizada de forma manual, realizando o upload do certificado digital do usuário, para obtenção das credencias.
Não utilização da API de prova de vidaassinatura
Prós
  1. Melhoraríamos o nosso necessidadeserviço de implementarassinatura atual, Assine Aqui, para atender as necessidades do Estado, como as assinaturas avançadas e qualificadas.
  2. Controlaríamos a infraestrutura para realizar o gerenciamento e criação de assinaturas.

  3. Ainda seria realizado a assinatura básica com a autenticação pelo login único(Gov.Br), para atender as necessidades dos sistemas que implementam login único nas aplicações propostas(Sauron e Portalprecisam doassinar Servidor)

  4. Não altera o fluxo atual de atualização cadastral

  5. Não altera o fluxo atual de autenticação e validação do usuário pelo e-mail.documentos.
Contras
  1. ContinuamosA utilizandoaplicação umAssine fluxoAqui, de prova de vida,teria que não é exatamente uma prova de vida, com validação manual por um agente do governo.

  2. Não conseguimos atender a necessidade do Iperon para validação da prova de vida dos aposentados.

  3. Caso haja a necessidade de implementar umo recurso de provaassinatura avançada, respeitando os princípios legais previsto em lei que são:

    a) estar associada ao signatário de vida,maneira precisaríamosunívoca;

    de

    b) umautilizar base de imagem sólida, com estudodados para correntea atualização e implementaçcriação de assinatura eletrônica cujo signatário pode, com elevado nível de confiança, operar sob o seu controle exclusivo;

    c) estar relacionada aos dados a ela associados de tal modo que qualquer modificação posterior é detectável.”

  4. A aplicação Assine Aqui, teria que implementar o recurso de análiseassinatura dequalificada, imagemrespeitando trabalhandoos emprincípios concorrêncialegais comque asse aplicações.mantem da avançada e requer o certificado digital do usuário para poder ser realizada.

Resultado esperado 

Após análise das avaliações propostas e das observações prós e contras a integração da API de provaassinatura de vidaavançada , não é reconhecido as vantagens aem adesão a este serviço,o. contudoIsto comse objetivodá pelo fato do serviço de integraçassinatura avançada não atender ao problema da Setic que é a geração de assinaturas qualificadas. 

Vendo a necessidade de ser realizar a implementação da assinatura qualificada no sistema de assinaturas Assine Aqui, a estrutura que será implementada atende tanto a situação de assinatura qualificadas quanto avançadas.

Aderir ao serviço de atualizaçãoassinatura, cadastral,apenas para tornartornaria o processo mais eficientecomplexo, econtudo, tecnológico.deve Comser baseobservado naque implementação aoGovBr Serviçotem um recurso de autenticaçãoassinatura (Sauron),qualificada não há vantagens em implementa-lo, tendo em vistamanual, que aé habilitaçãorealizado depelo Two Factor Authentication pode ser realizada por N meios aopróprio usuário, erealizando com uma eficiência até mais rentável que a prova de vidaupload do Gov.Br.seu certificado digital.

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.