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
- Utilização do login único(Gov.Br) como assinaturas básicas
- Integração da API de assinatura para assinaturas avançadas
- Integração da API de assinatura para assinaturas qualificadas
- 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
- 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 assinatura
- 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.
- Com o Authorization Code em mão, será possível capturar o Access Token do usuário.
- Após isso, é necessário consultar o certificado público do usuário,
utilizantoutilizando o Access Token do usuário, chamando oendpointEndpoint específico para obtenção do certificado, que será retornado em formato 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 fato uma assinatura válida.
- 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
UtilizaçValidaçãodedatecnologiaassinaturamaissomenteavançadacomparaarealizaçautenticaçãodedoProva de Vida,usuário comumaobaseloginde dados de imagens sólidas capturada e mantidas pelo Tribunal Superior Eleitoral,único comdados biométricos de mais de 96% dos eleitores do Estado de Rondônia, de acordo com levantamento do mesmo.Substituiçãode 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
- Não
garantiaháda execuçãserviçoda verificação da provadevidaassinaturanobásicamomento do pedido, precisando ser tratado e verificadodisponibilizado pela API de assinatura. - Será utilizado a infra estrutura da aplicação
se,Assine Aqui para manter equando,gerenciaraasverificaçãoassinaturasde fato ocorrer.básicas. 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áriocomlogadoperfilpelodeassineacesso ao Gov.Br com selos prata ou acima,aqui parapoder utilizar o recurso da prova de vida pelo app.Ter o dado biométrico atualizado no Tribunal Superior Eleitoral, para quevalidar aacurá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
UtilizaçãIntegrar o recurso deumassinaturarecursodigitalseguroavançada,comooTwoqueFactoréAuthenticationuma necessidade para o Estado.PodeAserintegraçãoutilizadoécomoparticularmentecontrole biométrico para alterações de dados sensíveissimples.
Contras
CasoParautilizadorealizaçãonodaprocessoassinatura, o usuário precisa ter selo nível prata ou ouro para poder utilizar o recurso delogin,assinaturapode tornar o processo lento.avançada.NecessidadePara integrar ao Assine Aqui, precisaria mudar o fluxo demanterassinatura,cadastrosendobiométricoelenooTSEsistemaregularmenteintegradoatualizado.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
- Não há
Contras
- 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
NãMelhoraríamos ohánossonecessidadeserviço deimplementarassinatura atual, Assine Aqui, para atender as necessidades do Estado, como as assinaturas avançadas e qualificadas.- Controlaríamos a infraestrutura para realizar o gerenciamento e criação de assinaturas.
- 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(SauronePortalprecisamdoassinarServidor) Não altera o fluxo atual de atualização cadastralNão altera o fluxo atual de autenticação e validação do usuário pelo e-mail.documentos.
Contras
ContinuamosAutilizandoaplicaçãoumAssinefluxoAqui,de prova de vida,teria quenã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 deimplementarumo recurso deprovaassinatura avançada, respeitando os princípios legais previsto em lei que são:
a) estar associada ao signatário de
vida,maneiraprecisaríamosunívoca;deb)
umautilizarbase de imagem sólida, com estudodados paracorrenteaatualizaçã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.”
- A aplicação Assine Aqui, teria que implementar o recurso de
análiseassinaturadequalificada,imagemrespeitandotrabalhandoosemprincípiosconcorrêncialegaiscomqueasseaplicaçõ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.