O que é o Registo Temporal Criptográfico?

O registo temporal criptográfico é a prática de produzir evidência de que um conjunto específico de dados existia num momento específico, numa forma que ninguém pode falsificar ou datar retroativamente. Baseia-se em duas ideias: uma função hash que cria a impressão digital dos dados e uma âncora de confiança que fixa o tempo.
Compreender qual a âncora em que está a confiar é todo o assunto.
A metade do hash
Todos os esquemas começam da mesma maneira. Execute os dados através de uma função hash criptográfica — SHA-256 é a escolha habitual — e obtém uma impressão digital de comprimento fixo, 64 caracteres hexadecimais, única para esses exatos bytes.
Três propriedades tornam isto possível:
- Determinística. A mesma entrada gera sempre o mesmo hash, em qualquer máquina.
- Unidirecional. Não é possível recuperar os dados a partir do hash, pelo que publicar o hash não divulga nada.
- Resistente a colisões. Ninguém consegue construir um documento diferente com o mesmo hash.
Assim, o hash substitui o documento: publique o hash e tem um compromisso com o documento sem o revelar. Pode calcular um o utilizador mesmo com o nosso gerador SHA-256.
A metade do tempo, e a questão da confiança
Fixar o tempo é onde as abordagens divergem, e onde tem de perguntar em quem está a confiar.
Autoridades de registo temporal (RFC 3161)
A resposta tradicional, normalizada no RFC 3161. Envia o seu hash para uma Autoridade de Registo Temporal; esta acrescenta a sua própria leitura do relógio, assina a combinação com a sua chave privada e devolve um token assinado.
- Confiança: na honestidade da TSA, no seu relógio e na higiene das suas chaves.
- Necessidades de verificação: a cadeia de certificados da TSA tem de estar ainda válida e resolúvel.
- Modos de falha: a TSA conivente ou comprometida emite um token datado retroativamente; ou encerra e a sua cadeia torna-se difícil de validar anos mais tarde.
- Pontos fortes: rápido, normalizado, incorporado diretamente em PDFs e assinaturas de código, e reconhecido em regulamentação como o eIDAS.
Ancoragem em Blockchain
Em vez de uma assinatura de uma parte nomeada, o hash é escrito numa transação de blockchain pública. A posição do bloco na cadeia fixa o tempo, e a cadeia é mantida por uma rede sem um único operador.
- Confiança: de que uma cadeia pública e amplamente replicada não pode ser reescrita.
- Necessidades de verificação: um explorador de blocos, ou o seu próprio nó. Sem cadeia de certificados.
- Modos de falha: essencialmente a reorganização de uma cadeia madura, o que para Bitcoin ou Ethereum não é uma preocupação prática a qualquer profundidade.
- Pontos fracos: o registo temporal é tão preciso quanto os tempos dos blocos, e cada escrita custa uma taxa de transação.
Registo temporal vinculado
A ideia mais antiga na área, do artigo de Haber e Stornetta de 1991 — o trabalho que o whitepaper do Bitcoin cita. Cada registo temporal incorpora o anterior, formando uma cadeia onde alterar qualquer entrada quebra todas as entradas seguintes. Os serviços modernos combinam isto com árvores de Merkle para que milhares de hashes partilhem uma única âncora, que é como o OpenTimestamps pode ser gratuito.
Comparação das âncoras
| TSA RFC 3161 | Blockchain | Vinculado / Merkle | |
|---|---|---|---|
| A confiança baseia-se em | Uma autoridade nomeada | Uma rede pública | Agregação em cadeia |
| Sobrevive ao encerramento do emissor | Mal | Sim | Depende da âncora |
| Precisão temporal | Segundos | Intervalo de blocos | Intervalo da âncora |
| Custo por registo temporal | Gratuito a baixo | Uma taxa de transação | Amortizado, próximo de zero |
| Reconhecimento regulatório | Forte (eIDAS) | Emergente | Varia |
| Ferramentas de verificação | Cadeia de certificados | Explorador de blocos | Software cliente |
O que qualquer um deles realmente prova
Todos provam a mesma coisa restrita, e vale a pena afirmar precisamente: estes dados existiram não mais tarde do que este tempo, e não mudaram desde então.
Eles não provam:
- Quem os criou. Um registo temporal não nomeia nenhum autor. Veja prova de existência vs prova de autoria.
- Que o conteúdo é verdadeiro. Pode registar temporalmente uma mentira; o registo mostra apenas que tinha esse conteúdo.
- Há quanto tempo existia. O limite é unidirecional.
Isso parece limitado até notar com que frequência o facto disputado é exatamente aquele que está delimitado: qual versão, e até quando.
Escolha
Use uma TSA RFC 3161 quando precisar de uma assinatura dentro de um documento, ou quando um regulamento nomeie o padrão — assinaturas eletrónicas qualificadas, formatos de arquivamento a longo prazo, assinatura de código.
Use ancoragem em blockchain quando o registo tiver de sobreviver a qualquer empresa, quando quiser que uma terceira parte verifique sem ferramentas especiais, ou quando preferir não depender do bom comportamento contínuo de uma autoridade.
Use ambos para qualquer coisa genuinamente valiosa. Falham de maneiras não relacionadas, o que é precisamente por isso que "mais vale prevenir" funciona.