Pular para o conteúdo principal

E-Docs Chain - A solução de Assinatura Eletrônica Avançada do E-Docs

O E-Docs Chain é a solução que garante a autoria e a integridade dos documentos capturados no E-Docs. Inspirada em conceitos de Blockchain, mas adaptada ao contexto institucional do PRODEST, sua estrutura é uma cadeia de documentos especiais (os Documentos-Elo) encadeados criptograficamente, que torna detectável qualquer tentativa de alteração posterior em qualquer documento da cadeia.

Motivação

No final de 2019, durante o desenvolvimento do E-Docs, foi realizada uma consulta (Processo E-Docs 2019-MCWKD) à Secretaria de Estado de Controle e Transparência (SECONT) acerca do cumprimento das exigências legais e normativas relacionadas à gestão documental, principalmente considerando a Medida Provisória 2.200-2 de 24 de agosto de 2001, que instituiu a ICP-Brasil e permite, em seu art. 10, § 2º, que outras formas de comprovação de autoria e integridade sejam utilizadas, desde que admitidas como válidas pelas partes envolvidas.

Desta consulta, foi elaborada uma proposta técnica que atendesse às recomendações destacadas: identificação unívoca da pessoa física, uso de meios confiáveis de verificação de identidade e garantia de que quaisquer tentativas de modificação dos documentos após a assinatura do usuário fossem detectáveis.

Para a maior parte dos requisitos, a equipe do PRODEST possuía conhecimento e experiência. O maior desafio era garantir a detecção de modificações nos documentos, inclusive para identificar fraudes internas. A primeira proposta foi armazenar o hash dos documentos em um storage que garantisse imutabilidade via hardware, mas a equipe de infraestrutura desencorajou a abordagem: tais equipamentos possuem garantia de apenas 5 anos e não podem ser mantidos indefinidamente, o que acarretaria transferências periódicas de dados para novos equipamentos e quebraria a confiança da solução.

Inspirados pelos conceitos de Blockchain, decidiu-se então registrar esses hashes em uma cadeia de documentos especiais, os Documentos-Elo, assinados com certificado digital e autorrelacionados de forma a criar uma cadeia de confiança. Nasceu o E-Docs Chain.

Abrangência temporal

O E-Docs Chain entrou em operação oficialmente em 1º de abril de 2021 e protege os documentos capturados a partir dessa data. Documentos capturados anteriormente não integram a cadeia de Documentos-Elo.

Legislação aderente

A solução de Assinatura Eletrônica Avançada viabilizada pelo E-Docs Chain foi desenhada a partir da MP 2.200-2/2001. Na consulta realizada à SECONT em 2019, a Secretaria utilizou como referencial comparativo a regulamentação europeia de Identificação Eletrônica e Serviços Confiáveis (eIDAS 910/2014/EC).

Durante o desenvolvimento da solução, novas legislações foram publicadas sobre o tema, todas convergentes com a proposta original:

  • MP 2.200-2/2001 instituiu a ICP-Brasil. O art. 10, § 2º admite formas alternativas de comprovação de autoria e integridade, base legal para a Assinatura Eletrônica Avançada do E-Docs.
  • Lei Federal 14.063/2020 trouxe critérios mais claros para a implementação e o uso de Assinatura Eletrônica Avançada, classificando as assinaturas eletrônicas em simples, avançada e qualificada.
  • Decreto Federal 10.543/2020 regulamentou o art. 5º da Lei 14.063/2020, definindo o nível mínimo exigido para a assinatura eletrônica em interações com o ente público. Permanece vigente, com revogação parcial pelo Decreto Federal 11.077/2022, limitada ao art. 11.

Após a implantação da solução, a SECONT, órgão de controle do Estado e autoridade no assunto, manifestou-se sobre a aderência da solução no Documento E-Docs 2021-D6WP5Z:

"Os controles de segurança desenvolvidos, em especial a cadeia de confiança chamada de “E-Docs Chain”, ampliam a garantia de integridade e conferem confiança aos processos de verificação de autenticidade. Dessa forma, torna-se possível afirmar que as premissas de integridade e autenticidade são agora garantidas em determinado nível pelos recursos técnicos implantados."

A solução

A solução de Assinatura Eletrônica Avançada do E-Docs é composta por cinco elementos:

  1. Identificação unívoca da pessoa física por meio de sistema de autenticação com meios confiáveis de verificação de conta.
  2. Adição de assinatura digital ICP-Brasil da aplicação nos documentos PDF (padrão PAdES).
  3. Guarda sequenciada e imutável do hash dos documentos após assinados (Documentos-Elo).
  4. Consulta pública para confirmar que o documento está íntegro e é o mesmo que consta na base do sistema.
  5. Sistemas de log de erros, acessos e alterações nas bases de dados do sistema de autenticação (Acesso Cidadão) e do próprio E-Docs.

Identificação unívoca da pessoa física

Para atender a este requisito, o E-Docs utiliza como forma de identificação dos usuários a solução de autenticação e autorização do Estado do Espírito Santo, o Acesso Cidadão, que adota os protocolos OAuth2 e OpenID Connect.

O uso desta forma de identificação garante dois níveis de segurança:

  • Criação de contas de usuários somente com CPF válido na Receita Federal, confirmando também data de nascimento, nome completo e nome completo da mãe.
  • Verificação de contas, uma exigência para uso do E-Docs, que garante que a pessoa que criou a conta é realmente a pessoa informada no cadastro.

Atualmente, a verificação de contas pode ser feita no Acesso Cidadão usando um dos seguintes meios:

  • Certificado Digital ICP-Brasil;
  • Importação de selo de confiabilidade da conta Gov.Br (contas digitais de bancos ou biometria facial do TSE); ou
  • Autenticação via login do Gov.Br, com conta nível prata ou ouro, que exige validação de identidade presencial ou por biometria facial.

Assinatura digital ICP-Brasil da aplicação

A adição de assinatura digital aos documentos capturados no E-Docs garante que o documento passou pelos fluxos de registro do sistema. A assinatura é incorporada ao arquivo PDF pelo padrão PAdES (PDF Advanced Electronic Signatures), em conformidade com o padrão ICP-Brasil.

A assinatura é aplicada com um certificado digital ICP-Brasil da própria aplicação. Além de atestar que o documento é proveniente do E-Docs, ela permite a identificação de alterações posteriores ao PDF, facilitando a detecção de fraudes.

Há uma exceção a essa regra: PDFs que chegam ao E-Docs já assinados em ICP-Brasil pelo próprio usuário são guardados como recebidos, sem a assinatura de aplicação, para não invalidar a assinatura existente (ver Documentos que entram no Documento-Elo).

Guarda sequenciada e imutável do hash

A assinatura ICP-Brasil da aplicação, por si só, ainda não é suficiente: em caso de acesso indevido à chave privada e à senha do certificado da aplicação, seria teoricamente possível produzir arquivos adulterados similares aos originalmente capturados. Para mitigar essa vulnerabilidade, a solução E-Docs Chain busca inspiração em conceitos de Blockchain.

Todos os documentos eletrônicos capturados no E-Docs, após serem assinados digitalmente com o certificado da aplicação, têm seus hashes (calculados com o algoritmo SHA-512) registrados em uma cadeia de documentos especiais, os Documentos-Elo.

Com uma frequência predeterminada, o sistema gera um novo Documento-Elo, contendo um bloco de hashes dos documentos capturados até aquele momento. Este Documento-Elo é capturado no sistema seguindo as mesmas regras dos demais documentos eletrônicos, incluindo a assinatura digital ICP-Brasil da aplicação. Na rodada seguinte, o hash do Documento-Elo anterior é incluído e destacado no próximo Documento-Elo capturado, criando uma cadeia de confiança que permite rastrear qualquer tentativa de fraude.

É essa selagem periódica que protege a cadeia contra fraudes internas. Entre a geração de um Documento-Elo e a do seguinte há uma janela curta, de no máximo 1 hora (ver Geração dos Documentos-Elo). Um eventual atacante com acesso ao armazenamento teria apenas esse intervalo para substituir um documento antes que seu hash fosse selado na cadeia. Uma vez selado, o hash do documento real permanece registrado de forma pública e imutável, servindo como trilha de auditoria: basta recalcular o hash do arquivo guardado e compará-lo com o que consta no Documento-Elo para evidenciar qualquer adulteração posterior.

A cadeia funciona ainda como um carimbo do tempo: como cada Documento-Elo é selado em uma data conhecida, o registro do hash comprova que aquele documento já existia no E-Docs naquele instante, impedindo que um arquivo seja inserido posteriormente e apresentado como se tivesse sido capturado antes. Por isso, todo documento PDF capturado entra na cadeia, mesmo os que já chegam com assinatura ICP-Brasil do próprio usuário: a assinatura comprova autoria e integridade, mas não quando o documento passou a existir no sistema, e é essa prova temporal que a cadeia acrescenta.

Para permitir o controle por parte da sociedade, todos os Documentos-Elo possuem nível de acesso público, podendo ser baixados por qualquer usuário logado na aplicação.

Onde encontrar os Documentos-Elo: a partir da tela inicial do E-Docs, em Veja Também, na opção Sobre o E-Docs, é possível consultar os Documentos-Elo do E-Docs Chain.

A imagem abaixo apresenta um trecho de um Documento-Elo real, mostrando o bloco de hashes dos documentos capturados no intervalo e o destaque para o hash do Documento-Elo anterior (primeira linha da listagem, em negrito), peça que materializa o encadeamento da cadeia.

Exemplo de Documento-Elo do E-Docs Chain

Consulta pública de documento assinado

Para que usuários externos ao sistema E-Docs possam conferir a autenticidade de um documento PDF a qualquer momento, sem necessidade de se identificar, há uma consulta pública acessível na página inicial do E-Docs, em Veja Também, na opção Validar Arquivo. O usuário envia um documento PDF e o sistema avalia se ele está presente na cadeia do E-Docs Chain e se permanece íntegro, ou seja, exatamente igual ao que está guardado na base de dados.

A integridade pode ainda ser conferida por outros dois caminhos independentes, sem depender do próprio E-Docs:

  • Leitor de PDF compatível com PAdES. Qualquer programa leitor de PDF que suporte o padrão PAdES consegue validar a assinatura ICP-Brasil de aplicação localmente, indicando se houve alteração posterior ao arquivo.
  • Validador do ITI. Disponível em validar.iti.gov.br, é uma ferramenta pública e gratuita do Instituto Nacional de Tecnologia da Informação. Aceita o upload do PDF e exibe os detalhes da assinatura ICP-Brasil, incluindo CNPJ do PRODEST, CPF do representante do certificado, número de série, data da assinatura e o veredito sobre a integridade.

Sistemas de log

Tanto o Acesso Cidadão quanto o E-Docs mantêm logs de auditoria das ações dos usuários, incluindo dados como nome, CPF e identificador único global (globally unique identifier, GUID). O CPF e o GUID nunca são reescritos nas bases de dados. Mediante solicitação legal, esses registros podem ser consultados em ambos os sistemas.

Não é Blockchain, é E-Docs Chain

Durante o projeto, foi cogitado o uso de uma solução de Blockchain distribuído. A alternativa foi descartada por dois motivos:

  • Custo: a replicação do processamento em outros ambientes implica custo computacional adicional considerável.
  • Sustentabilidade: a realização do consenso de transações em Blockchains públicos eleva a demanda global por energia, gerando preocupações ambientais.

No E-Docs, todas as operações realizadas, do login no Acesso Cidadão à inclusão de registros nas bases de dados, são registradas em diversos logs de auditoria armazenados no Data Center do PRODEST. Esse cenário permitiu abrir mão da camada distribuída do Blockchain por um conceito adaptado, preservando o que importa (encadeamento criptográfico, imutabilidade verificável), sem perder garantias de segurança e sem o custo ambiental do consenso global.

Detalhes técnicos

A partir daqui, descemos ao funcionamento interno da solução: como as duas assinaturas que existem em um documento capturado se diferenciam, quais são as características técnicas do certificado ICP-Brasil de aplicação e como o job agendado gera os Documentos-Elo.

As duas assinaturas do documento capturado

Documentos capturados no E-Docs carregam duas naturezas de assinatura, com finalidades distintas. A distinção é essencial: confundir uma com a outra leva a interpretações erradas sobre quem efetivamente assinou o documento.

  • Assinatura eletrônica do usuário (autoria do documento). Documentos nato-digitais são assinados eletronicamente por seus assinantes através do login no Acesso Cidadão (login e senha). Essas assinaturas constam na folha extra de metadados anexada ao final do PDF, gerada durante o processo de captura. A folha lista, para cada signatário, nome, CPF, qualificação funcional (cargo, lotação e função à época da assinatura) e a data e hora exatas em que cada assinatura foi aplicada. É essa assinatura que autentica os assinantes do documento, e sua validade jurídica é garantida pela MP 2.200-2/2001 e pela Lei Federal 14.063/2020, que a classifica como Assinatura Eletrônica Avançada (art. 4º, II).
  • Assinatura digital ICP-Brasil da aplicação (integridade externa). A assinatura ICP-Brasil aplicada sobre o PDF final é uma assinatura de aplicação, emitida com certificado do próprio E-Docs. Sua função é exclusivamente garantir a integridade verificável fora do sistema (após download, envio por e-mail, etc.): programas leitores de PDF compatíveis com PAdES, ou ferramentas que validem assinaturas ICP-Brasil, conseguem aferir essa integridade sem depender do E-Docs. Ela não representa a assinatura do documento pelos respectivos assinantes; esse papel cabe à assinatura eletrônica descrita acima. Por utilizar certificado ICP-Brasil, essa assinatura técnica classifica-se como Assinatura Eletrônica Qualificada nos termos do art. 4º, III, da Lei 14.063/2020.
Classificação dupla pelo validador do ITI

Ao submeter um PDF do E-Docs ao validador do ITI (Instituto Nacional de Tecnologia da Informação), disponível em validar.iti.gov.br, o sistema exibe o selo "Assinatura Eletrônica Qualificada". Essa classificação refere-se exclusivamente à assinatura ICP-Brasil da aplicação descrita acima, e não à autoria do conteúdo.

Não há contradição com a classificação de Assinatura Eletrônica Avançada atribuída à assinatura do usuário (art. 4º, II). As duas convivem de forma cumulativa e complementar no mesmo PDF: a do conteúdo, registrada na folha de metadados (Avançada), e a de integridade externa, aplicada pela aplicação (Qualificada de aplicação).

Detalhes do certificado ICP-Brasil de aplicação

O certificado utilizado pelo E-Docs é um Certificado PJ A1, com emissão presencial junto a uma Autoridade Certificadora credenciada na ICP-Brasil. Suas principais características são:

  • Intended Key Usage: Digital Signature, Key Encipherment, Non Repudiation, Key Cert Sign, Offline CRL Sign, CRL Signing.
  • Extended Key Usage: Client Authentication, Email Protection.

Mesmo destinado a uso como assinatura de aplicação, o certificado ICP-Brasil exige um CPF responsável no momento da emissão. Esse CPF é o do servidor do PRODEST atualmente responsável pela geração de certificados digitais e pela gestão da cadeia es.gov.br no momento da emissão. O CPF assim registrado permanece imutável no certificado até a emissão de um novo, ainda que essa responsabilidade venha a ser atribuída a outro servidor durante o período de validade do certificado em uso. Esse CPF não é, em hipótese alguma, o assinante do documento PDF: a autenticação dos assinantes vem sempre da assinatura eletrônica do E-Docs, descrita no item anterior.

Em consequência, ao se inspecionar tecnicamente um PDF gerado pelo E-Docs (por exemplo, em um leitor que exiba os detalhes da assinatura PAdES), serão apresentados a razão social e o CNPJ do PRODEST, acompanhados do CPF do responsável pelo certificado de aplicação. Esses dados aparecerão, necessariamente, em todos os documentos produzidos pelo E-Docs, independentemente do órgão de origem, pois o certificado de aplicação é único para a aplicação em todo o Estado.

Nota histórica sobre o certificado de aplicação

Originalmente, a solução E-Docs Chain utilizava certificado digital emitido em nome do domínio e-docs.es.gov.br, modalidade vinculada ao endereço eletrônico do sistema e sem exposição de CPF de pessoa física associada. Em razão de descontinuidade dessa modalidade pelo fornecedor responsável pela emissão, foi necessária a migração para a modalidade de Certificado PJ A1 ICP-Brasil emitido em nome do PRODEST, ora em uso. Foi em decorrência dessa migração, e da exigência normativa da ICP-Brasil para certificados PJ, que o CPF do servidor responsável pela custódia passou a integrar os metadados da assinatura técnica de aplicação. A natureza e a finalidade da assinatura permanecem inalteradas: continua sendo exclusivamente técnica e voltada à verificação de integridade externa do PDF.

Geração dos Documentos-Elo (job agendado)

A cadeia é alimentada pelo job agendado "Gerar Documento-Elo", executado a cada 10 minutos e independente do fluxo de captura individual. É essa peça que efetivamente sela a integridade dos documentos no E-Docs Chain, produzindo e encadeando os Documentos-Elo.

Operações realizadas em cada execução

  1. Identificação dos documentos pendentes. O job consulta a tabela de documentos em busca de registros já capturados que ainda não pertencem a nenhum Documento-Elo. Esses documentos são reunidos em uma lista de candidatos.
  2. Avaliação dos critérios de geração. A lista de candidatos é avaliada pelas regras abaixo, nesta ordem:
    • Se a lista possui mais de 5.000 itens, um novo Documento-Elo é gerado com os documentos da lista.
    • Caso contrário, se o último Documento-Elo foi gerado há mais de 1 hora, um novo Documento-Elo é gerado com os documentos da lista.
    • Se nenhum dos critérios for atendido, o job é encerrado sem gerar nada nesta execução.
  3. Cálculo dos hashes. Quando a geração é disparada, calcula o hash criptográfico (SHA-512) de cada documento da lista.
  4. Geração do Documento-Elo. Cria um Documento-Elo contendo:
    • O bloco de hashes dos documentos da lista;
    • O hash do Documento-Elo anterior (encadeamento), destacado dentro do Documento-Elo gerado.
  5. Captura do Documento-Elo. O Documento-Elo é capturado no E-Docs seguindo as mesmas regras dos documentos comuns, passando pelo fluxo de captura.

O hash deste Documento-Elo será incluído no próximo Documento-Elo gerado, perpetuando a cadeia de confiança.

Os dois critérios atuam de forma complementar: o limite de 5.000 itens evita que períodos de alta captura acumulem documentos demais em um único Documento-Elo, enquanto a janela de 1 hora garante uma cadência mínima de selagem mesmo em períodos de baixa captura.

Documentos que entram no Documento-Elo

O job de geração registra na cadeia o hash de todos os PDFs capturados pelo E-Docs. São três grupos:

1. PDFs nato-digitais assinados eletronicamente no E-Docs

São documentos elaborados em meio digital e assinados pelos usuários através do login no Acesso Cidadão. O Documento-Elo complementa a assinatura eletrônica avançada com a garantia de imutabilidade verificável publicamente, reforçando o valor jurídico do documento.

2. PDFs de valor de cópia (sem assinatura)

São documentos capturados sem assinatura eletrônica, podendo ser tanto nato-digitais (elaborados em meio digital e enviados ao E-Docs sem assinatura) quanto digitalizados (resultantes da digitalização de um original em papel). Não há assinatura de usuário a proteger, mas a garantia de imutabilidade fora do E-Docs é essencial: o Documento-Elo assegura, de forma verificável publicamente, que a cópia armazenada permanece exatamente como foi capturada, atributo crítico para o valor probatório dessas cópias em processos administrativos.

3. PDFs assinados com certificado ICP-Brasil pelo próprio usuário

São documentos que chegam ao E-Docs já contendo uma ou mais assinaturas ICP-Brasil de pessoa física ou jurídica, aplicadas pelo próprio usuário antes da captura. Sua autoria e integridade já estão atestadas pela assinatura qualificada, conforme a Lei Federal 14.063/2020, e qualquer alteração posterior invalida essa assinatura, verificável por qualquer leitor de PDF compatível com PAdES. Justamente para preservá-la, o E-Docs guarda o arquivo exatamente como recebido, sem anexar a folha de metadados nem aplicar a assinatura de aplicação.

Ainda assim, o seu hash é registrado na cadeia. A assinatura ICP-Brasil do usuário comprova autoria e integridade, mas não impede que um arquivo seja inserido no sistema a qualquer momento, nem registra quando ele passou a existir no E-Docs. O objetivo aqui, portanto, não é reforçar a assinatura do usuário, mas submeter o documento ao carimbo do tempo da cadeia e à mesma trilha de auditoria contra fraudes internas que protege os demais (ver Guarda sequenciada e imutável do hash).

Documentos que não entram no Documento-Elo

Em contrapartida, documentos de áudio e vídeo ficam, deliberadamente, fora do E-Docs Chain.

A solução do E-Docs Chain foi desenhada em torno do PDF final assinado pela aplicação: a folha de metadados embutida e a assinatura ICP-Brasil de aplicação no padrão PAdES são parte do que se garante via hash. Formatos de áudio e vídeo (MP3, MP4 e similares) não admitem PAdES, não recebem folha de metadados embutida nem assinatura ICP-Brasil de aplicação, e portanto não compõem o mesmo modelo de selagem dos PDFs capturados.

Além disso, esses arquivos costumam atingir tamanhos muito superiores ao de um PDF típico (gravações institucionais podem chegar à casa das centenas de megabytes), o que tornaria o cálculo periódico de hashes sobre esse conteúdo desproporcionalmente custoso.

Como consequência, áudio e vídeo ficam sem as garantias do E-Docs Chain (selagem de integridade e carimbo do tempo). Trata-se de uma limitação conscientemente aceita hoje, restrita a esses formatos, em razão da incompatibilidade com o modelo de selagem e do custo descritos acima.


Documentação técnica do E-Docs Chain. Mantida pela equipe de arquitetura do E-Docs (PRODEST).