Cartórios da Internet

Onde o grande p√ļblico da Internet pode registrar e conferir ‚Äúregistros de exist√™ncia‚ÄĚ relativos aos conte√ļdos a que todos temos acesso?

Podemos resumir o problema através do seguinte cenário:

Os conte√ļdos da Web mudam a todo momento, mas fazemos transa√ß√Ķes banc√°rias, consultamos di√°rios oficiais e baixamos arquivos, uma infinidade de dados abertos com origem (dono) e licen√ßa rastre√°veis, e muitos deles supostamente oficiais‚Ķ
Será que serão rastreáveis daqui 1 ano? E sua origem, quem baixou hoje pode comprovar daqui 1 ano que não era fake ou que não foi um hacker que vazou o dado, sem a devida licença?

O que a Internet precisa para resolver esse problema?

Seria um tipo de escrit√≥rio online de uma organiza√ß√£o que tenha a cust√≥dia de ‚Äúdocumentos da Internet‚ÄĚ, e que lhes d√° f√© p√ļblica, com valor de prova dentro do Sistema Jur√≠dico do Brasil.

Mais especificamente, os ‚Äúdocumentos da Internet‚ÄĚ s√£o conte√ļdos digitais ofertados na grande rede numa certa data, tais como p√°ginas web e demais arquivos de extens√£o MIME v√°lida‚Ķ Tudo ou boa parte daquilo que o nosso Marco Civil da Internet tamb√©m entende por ‚Äúdados‚ÄĚ e ‚Äúconte√ļdos‚ÄĚ.
Nesse contexto o ‚Äúcart√≥rio da Internet‚ÄĚ seria um an√°logo ao que nossa Lei dos Cart√≥rios designou, em seu art. 5¬ļ, como

registradores de títulos e documentos e civis das pessoas jurídicas

onde o termo registrador seria reservado aos ‚Äúoficiais de registro‚ÄĚ, mas aqui tem um sentido mais amplo.


Notas

Deixando o Brasil de lado e procurando pela Internet, logo notamos que existe o conceito de web archiving. Consagrada pelos seus conte√ļdos e seu sistema de comprova√ß√£o das fontes, a Wikipedia √© um bom exemplo de institui√ß√£o que j√° aderiu ao uso do web archiving: quando desejamos registrar um link (ou seja URL) na grande enciclop√©dia, usamos dois endere√ßos, o url original e o archive-url, que √© a URL de um servi√ßo confi√°vel de web archiving apontando para o registro da URL original numa certa data.

Exemplos populares desse ‚Äúservi√ßo de registro no cart√≥rio da Internet‚ÄĚ: Web.Archive.org/save ¬†e¬† Archive.Today.

3 curtidas

Confiabilidade dos serviços de web archiving

O Sistema de Direito requer que as evid√™ncias sejam guardadas em seguran√ßa, com todo um ritual que inicia pela coleta at√© o seu arquivamento em local seguro, dentro da assim-chamada cadeia de cust√≥ria. Os sistemas de web archiving parecem respeitar esse ritual e seus cuidados, mas ser√° que fazem tudo certinho, sem risco de contesta√ß√Ķes?

Quanto √† confiabilidade e reprodutibilidade do servi√ßo: qualquer um de n√≥s pode conferir a checksum do conte√ļdo arquivado. Sendo um bom algoritmo de hash criptogr√°fica, tal como SHA256 (hoje adotado em nossos cart√≥rios), podemos confiar.

Quanto √† confiabilidade de data√ß√£o: h√° quem questione os servi√ßos de web archiving. quanto √† garantia de ‚Äúdata de fotografia‚ÄĚ de uma p√°gina web por exemplo. Existem sugest√Ķes de registro em blockchain, por exemplo essa discuss√£o de 2017 (‚ÄúBitcoin Carbon Dated‚ÄĚ) ou esse artigo sobre registro em blockchain.

Alternativas juridicamente v√°lidas

Voltando o Brasil, o eCPF (exemplo) j√° foi integrado ao nosso Sistema Jur√≠dico, inclusive para dispensar o uso de papel, e para autenticar as p√°ginas de um Di√°rio Oficial. Ainda assim o nosso Sistema de Chaves n√£o √© registro p√ļblico, mas apenas um mecanismo que garante a autenticidade de assinaturas (e sua data) em opera√ß√Ķes digitais, hoje restritas ao (horr√≠vel) formato PDF.

Uma gambiarra interessante seria assinar digitalmente com eCPF (exemplo) um documento PDF de declaração do tipo
‚Äúeu Fulano declaro que os arquivos abaixo listados com respectivos checksums do tipo SHA256 foram registrado no dia 2022-03-04‚ÄĚ.

No caso da Capital do Estado de S√£o Paulo, em observ√Ęncia √† Lei Municipal n¬ļ 16.838 de 2018, que confere f√© p√ļblica aos advogados (portadores de token da Autoridade Certificadora OAB), isso √© v√°lido.

Dentro da ideia de cadeia de custódia fica aqui minha sugestão publica de uma demanda necessidades de ferramentas mais práticas para implementar isso estratégias. No link a seguir tem uso mais especializado:

  • Berkeley Protocol - on Digital Open Source Investigations: A Practical Guide on the Effective Use of Digital Open Source Information in Investigating Violations of International Criminal, Human Rights and Humanitarian Law
    • Na P√°gina 59 (VI - Investigating process / C. Collection) tem alguns pontos mais relevantes. Mas eles n√£o falam de ferramenta espec√≠ficas (compreens√≠vel considerando que isso evitaria vendor lock-in)
    • O documento como um todo envolve a ideia de arquivistas digitais

Enquanto o Istanbul protocol e o Minnesota Protocol s√£o mais focados em procedimentos para cole√ß√£o de evid√™ncias que requerem acesso f√≠sico, o Berkeley Protocol √© totalmente focado em como lidar com cole√ß√£o de evid√™ncias. Usam ‚Äúopen source‚ÄĚ numa analogica para evid√™ncias que estavam abertas, sem necessidade de coletar de depoimentos de v√≠timas ou, o que √© um problema em tribunais, uso de dados vazados ou que foram obtidos por invas√£o de computador da pessoa.

Creio que acaba sendo relevante no tópico aqui essa referência pois toda documentação de como cadeia de custódia, como gerenciamento dos dados, é relevante. Não obstante, comparado a um cartório tradicional (que tem custos elevados, e pode ter limite de tamanho) o tipo de coleção de evidência potencial do Berkeley Protocol é muito alto e as vezes pode ter dados pessoais (o que de certa forma complica ideia de deixar completamente publico, mas ao mesmo tempo precisar provar o contexto em que foi coletada).

Era isso para meu segundo post aqui!

Produzir documentos assinados usando um certificado ICP Brasil é muito mais complicado do que deveria ser. Eu mesmo já tentei, sem sucesso, fazer uso disso quando ganhei um certificado em 2019:

E olha que eu posso dizer que tenho mais habilidades em lidar com recursos computacionais que o usuário médio. Quem dirá quem é leigo no assunto.

O bug na libgcr, reportado à época, continua sem solução, mais de 2 anos depois. Os drivers do token continuam sendo proprietários. Enquanto não houver investimento em drivers livres para hardware criptográfico, bem como em ferramentas livres e com usabilidade para fazer e verificar assinaturas digitais, essa utopia continuará sendo uma fantasia.

1 curtida

Minha recomendação para quem estiver passando problemas como o do @herrmann: um dos melhores provedores de smartcards que tem mais suporte em software é a Yubico. (Não tenho relação com empresa, mas vou dizer aqui, pois é relevante).

Minha experiencia com Yubico

Eu tenho uma YubiKey 5 NFC (importei direto do fabricante, nem fui cobrado imposto) e o processo de instalar coisas ainda continua sendo meio infernal, mas pelo menos é menos infernal do que concorrentes. No caso de celular sem NFC, com adaptador da para usar via porta USB e as coisas funcionam como esperado até mesmo em aplicativos Android. Minhas assinaturas de Commit no GitHub são usados ele.

O guia publico mais importante para quem quer usar é esse aqui

  • GitHub - drduh/YubiKey-Guide: Guide to using YubiKey for GPG and SSH
    • Meu ambiente de testes √© primariamente Ubuntu 20.04 LTS
      • mas os pacotes que realmente importam, s√£o padr√Ķes de sistema. N√£o precisa de driver propriet√°rio para a√ß√Ķes chaves!
      • A Yubico tem pacotes extras (inclusive uma GUI) mas quase tudo da para fazer usando interfaces padr√Ķes do GNUGPG. Prefiro elas pois da para documentar menor quando tem que resetar as coisas.
      • A GUI deles tem pacote que funciona standalone (ou seja, um execut√°vel que n√£o precisa ser instalado)
    • O meu setup foi o mais hardcore poss√≠vel, assumindo inclusive hardware comprometido no caso de gerar as chaves. Recomendo quem for querer fazer setup bacana, j√° compre de antem√£o alguns pen drives (pode ser pequenos) e deixar num Tails (ou Debian live) tanto backups como qualquer opera√ß√£o que envolve gerenciar as chaves.

Tem outras coisas que eu poderia falar, mas da um trabalho enorme fazer as coisas. Mas na época eu configurei tanto scripts que permitem fazer backup da minha máquina de trabalho mas que tinham compatibilidade para funcionar com Live Installs:

Sobre encritação automatizada (uso de agentes sem interação humana)

Smartcards fazem mais sentido quando tem um humano por trás, mas não é o ideal se você precisa deixar um agende (por exemplo, uma VPS) que encripta ou autentica coisas.

Tem como usar smartcards para isso? Tem, mas é uma situação overkill. Se até mesmo smartcads com acesso físico tem motivos conhecidos de segurança para ter botão físico, deixar um agente totalmente automático (numa VPS externa, localmente por algum período de tempo até pode ser tolerável) não é vantajoso.

O que geralmente faço para casos simples (quer segurança, mas não nível militar)

No caso de clientes que só precisam de backup simples (e ja é muito difícil explicar que backup tem senha, então seria impossível explicar chave assimétrica) geralmente os backups são com chave simétrica (isto é, password estático, mesmo que esteja usando ferramentas do GNU) antes de enviar para alguma cloud remota.

O que geralmente faço para casos simples (quer segurança, mas tem recupera acesso tem mais conhecimento)

Se fosse algo governamental (em que quem recuperaria os backups tem condi√ß√Ķes de saber como usar chave assim√©trica) em vez de password est√°tico, a m√°quina que ficaria fazendo backups de outras m√°quinas sem interfer√™ncia humana teria alguma chave assim√©trica com mais de um destinat√°rio (por exemplo, ela mesma, e chaves em smartcads de outros).

Note que se a m√°quina (um agente automatizado, sem interfer√™ncia humana) for comprometida, seja nesse contexto ou no de password est√°tico, o dano seria semelhante. Por√©m o uso de chaves assim√©tricas (e poder ‚Äúpermitir v√°rios destinat√°rios‚ÄĚ) √© extremamente conveniente para evitar ter passwords de muitos departamentos. Se uma pessoa for demitida, √© complicado rotacionar backups antigos (mas pode-se impedir acesso dela a tais backups), e nada impede de ter alguma chave antiga, do tipo que guarda em um cofre ou algo assim, que todos assinam e somente seria usada em caso tudo der errado.