summaryrefslogtreecommitdiffstats
path: root/pt-br/news/phase4-shamir-heir-recovery
diff options
context:
space:
mode:
Diffstat (limited to 'pt-br/news/phase4-shamir-heir-recovery')
-rw-r--r--pt-br/news/phase4-shamir-heir-recovery/index.html209
-rw-r--r--pt-br/news/phase4-shamir-heir-recovery/index.html.gzbin0 -> 4927 bytes
2 files changed, 209 insertions, 0 deletions
diff --git a/pt-br/news/phase4-shamir-heir-recovery/index.html b/pt-br/news/phase4-shamir-heir-recovery/index.html
new file mode 100644
index 0000000..d2df99f
--- /dev/null
+++ b/pt-br/news/phase4-shamir-heir-recovery/index.html
@@ -0,0 +1,209 @@
+<!DOCTYPE html>
+<html lang="pt-br">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Fase 4: Recuperação de Chaves por Herdeiros com Shamir&#x27;s Secret Sharing — Tesseras</title>
+ <meta name="description" content="Tesseras agora permite dividir sua identidade criptográfica em fragmentos distribuídos a herdeiros de confiança — qualquer limiar deles pode reconstruir suas chaves, mas menos que isso não revela nada.">
+ <!-- Open Graph -->
+ <meta property="og:type" content="article">
+ <meta property="og:title" content="Fase 4: Recuperação de Chaves por Herdeiros com Shamir&#x27;s Secret Sharing">
+ <meta property="og:description" content="Tesseras agora permite dividir sua identidade criptográfica em fragmentos distribuídos a herdeiros de confiança — qualquer limiar deles pode reconstruir suas chaves, mas menos que isso não revela nada.">
+ <meta property="og:image" content="https://tesseras.net/images/social.jpg">
+ <meta property="og:image:width" content="1200">
+ <meta property="og:image:height" content="630">
+ <meta property="og:site_name" content="Tesseras">
+ <!-- Twitter Card -->
+ <meta name="twitter:card" content="summary_large_image">
+ <meta name="twitter:title" content="Fase 4: Recuperação de Chaves por Herdeiros com Shamir&#x27;s Secret Sharing">
+ <meta name="twitter:description" content="Tesseras agora permite dividir sua identidade criptográfica em fragmentos distribuídos a herdeiros de confiança — qualquer limiar deles pode reconstruir suas chaves, mas menos que isso não revela nada.">
+ <meta name="twitter:image" content="https://tesseras.net/images/social.jpg">
+ <link rel="stylesheet" href="https://tesseras.net/style.css?h=21f0f32121928ee5c690">
+
+
+ <link rel="alternate" type="application/atom+xml" title="Tesseras" href="https://tesseras.net/atom.xml">
+
+
+ <link rel="icon" type="image/png" sizes="32x32" href="https://tesseras.net/images/favicon.png?h=be4e123a23393b1a027d">
+
+</head>
+<body>
+ <header>
+ <h1>
+ <a href="https:&#x2F;&#x2F;tesseras.net/pt-br/">
+ <img src="https://tesseras.net/images/logo-64.png?h=c1b8d0c4c5f93b49d40b" alt="Tesseras" width="40" height="40" class="logo">
+ Tesseras
+ </a>
+ </h1>
+ <nav>
+
+ <a href="https://tesseras.net/pt-br/about/">Sobre</a>
+ <a href="https://tesseras.net/pt-br/news/">Notícias</a>
+ <a href="https://tesseras.net/pt-br/releases/">Lançamentos</a>
+ <a href="https://tesseras.net/pt-br/faq/">FAQ</a>
+ <a href="https://tesseras.net/pt-br/subscriptions/">Inscrições</a>
+ <a href="https://tesseras.net/pt-br/contact/">Contato</a>
+
+ </nav>
+ <nav class="lang-switch">
+
+ <a href="https:&#x2F;&#x2F;tesseras.net&#x2F;news&#x2F;phase4-shamir-heir-recovery&#x2F;">English</a> | <strong>Português</strong>
+
+ </nav>
+ </header>
+
+ <main>
+
+<article>
+ <h2>Fase 4: Recuperação de Chaves por Herdeiros com Shamir&#x27;s Secret Sharing</h2>
+ <p class="news-date">2026-02-15</p>
+ <p>O que acontece com suas memórias quando você morre? Até agora, Tesseras
+conseguia preservar conteúdo ao longo de milênios — mas as chaves privadas e
+seladas morriam com o dono. A Fase 4 continua com uma solução: Shamir's Secret
+Sharing, um esquema criptográfico que permite dividir sua identidade em
+fragmentos e distribuí-los para as pessoas em quem você mais confia.</p>
+<p>A matemática é elegante: você escolhe um limiar T e um total N. Qualquer T
+fragmentos reconstroem o segredo completo; T-1 fragmentos não revelam
+absolutamente nada. Isso não é "quase nada" — é informação-teoricamente seguro.
+Um atacante com um fragmento a menos que o limiar tem exatamente zero bits de
+informação sobre o segredo, independentemente do poder computacional que tenha.</p>
+<h2 id="o-que-foi-construido">O que foi construído</h2>
+<p><strong>Aritmética de corpo finito GF(256)</strong> (<code>tesseras-crypto/src/shamir/gf256.rs</code>) —
+Shamir's Secret Sharing requer aritmética em um corpo finito. Implementamos
+GF(256) usando o mesmo polinômio irredutível do AES (x^8 + x^4 + x^3 + x + 1),
+com tabelas de lookup para logaritmo e exponenciação computadas em tempo de
+compilação. Todas as operações são em tempo constante via consulta a tabelas —
+sem ramificações baseadas em dados secretos. O módulo inclui o método de Horner
+para avaliação de polinômios e interpolação de Lagrange em x=0 para recuperação
+do segredo. 233 linhas, exaustivamente testado: todos os 256 elementos para
+propriedades de identidade/inverso, comutatividade e associatividade.</p>
+<p><strong>ShamirSplitter</strong> (<code>tesseras-crypto/src/shamir/mod.rs</code>) — A API principal de
+split/reconstruct. <code>split()</code> recebe uma fatia de bytes do segredo, uma
+configuração (limiar T, total N) e a chave pública Ed25519 do dono. Para cada
+byte do segredo, constrói um polinômio aleatório de grau T-1 sobre GF(256) com o
+byte do segredo como termo constante, e então o avalia em N pontos distintos.
+<code>reconstruct()</code> recebe T ou mais fragmentos e recupera o segredo via
+interpolação de Lagrange. Ambas as operações incluem validação extensiva:
+limites do limiar, consistência de sessão, correspondência de impressão digital
+do dono e verificação de checksum BLAKE3.</p>
+<p><strong>Formato HeirShare</strong> — Cada fragmento é um artefato autocontido e serializável
+com:</p>
+<ul>
+<li>Versão do formato (v1) para compatibilidade futura</li>
+<li>Índice do fragmento (1..N) e metadados de limiar/total</li>
+<li>ID de sessão (8 bytes aleatórios) — impede mistura de fragmentos de sessões
+diferentes</li>
+<li>Impressão digital do dono (primeiros 8 bytes do hash BLAKE3 da chave pública
+Ed25519)</li>
+<li>Dados do fragmento (os y-values de Shamir, mesmo comprimento do segredo)</li>
+<li>Checksum BLAKE3 sobre todos os campos anteriores</li>
+</ul>
+<p>Os fragmentos são serializados em dois formatos: <strong>MessagePack</strong> (binário
+compacto, para uso programático) e <strong>texto base64</strong> (legível por humanos, para
+impressão e armazenamento físico). O formato texto inclui um cabeçalho com
+metadados e delimitadores:</p>
+<pre><code>--- TESSERAS HEIR SHARE ---
+Format: v1
+Owner: a1b2c3d4e5f6a7b8 (fingerprint)
+Share: 1 of 3 (threshold: 2)
+Session: 9f8e7d6c5b4a3210
+Created: 2026-02-15
+
+&lt;dados MessagePack codificados em base64&gt;
+--- END HEIR SHARE ---
+</code></pre>
+<p>Este formato é projetado para ser impresso em papel, armazenado em um cofre
+bancário ou gravado em metal. O cabeçalho é informacional — apenas o payload
+base64 é analisado durante a reconstrução.</p>
+<p><strong>Integração com CLI</strong> (<code>tesseras-cli/src/commands/heir.rs</code>) — Três novos
+subcomandos:</p>
+<ul>
+<li><code>tes heir create</code> — divide sua identidade Ed25519 em fragmentos de herdeiros.
+Solicita confirmação (sua identidade completa está em jogo), gera arquivos
+<code>.bin</code> e <code>.txt</code> para cada fragmento e escreve <code>heir_meta.json</code> no diretório de
+identidade.</li>
+<li><code>tes heir reconstruct</code> — carrega arquivos de fragmentos (detecta
+automaticamente formato binário vs texto), valida consistência, reconstrói o
+segredo, deriva o par de chaves Ed25519 e opcionalmente o instala em
+<code>~/.tesseras/identity/</code> (com backup automático da identidade existente).</li>
+<li><code>tes heir info</code> — exibe metadados do fragmento e verifica o checksum sem expor
+nenhum material secreto.</li>
+</ul>
+<p><strong>Formato do blob secreto</strong> — As chaves de identidade são serializadas em um
+blob versionado antes da divisão: um byte de versão (0x01), um byte de flags
+(0x00 para somente Ed25519), seguido da chave secreta Ed25519 de 32 bytes. Isso
+deixa espaço para expansão futura quando as chaves privadas X25519 e ML-KEM-768
+forem integradas ao sistema de fragmentos de herdeiros.</p>
+<p><strong>Testes</strong> — 20 testes unitários para ShamirSplitter (roundtrip, todas as
+combinações de fragmentos, fragmentos insuficientes, dono errado, sessão errada,
+limite threshold-1, segredos grandes até o tamanho de chave ML-KEM-768). 7
+testes unitários para aritmética GF(256) (propriedades de campo exaustivas). 3
+testes baseados em propriedades com proptest (segredos arbitrários até 5000
+bytes, configurações T-de-N arbitrárias, verificação de segurança
+informação-teórica). Testes de roundtrip de serialização para ambos os formatos
+MessagePack e texto base64. 2 testes de integração cobrindo o ciclo de vida
+completo de herdeiros: gerar identidade, dividir em fragmentos, serializar,
+desserializar, reconstruir, verificar par de chaves e assinar/verificar com
+chaves reconstruídas.</p>
+<h2 id="decisoes-de-arquitetura">Decisões de arquitetura</h2>
+<ul>
+<li><strong>GF(256) ao invés de GF(primo)</strong>: usamos GF(256) ao invés de um corpo primo
+porque ele mapeia naturalmente para bytes — cada elemento é um único byte,
+cada fragmento tem o mesmo comprimento do segredo. Sem aritmética de inteiros
+grandes, sem redução modular, sem padding. Esta é a mesma abordagem usada pela
+maioria das implementações reais de Shamir, incluindo SSSS e Hashicorp Vault.</li>
+<li><strong>Tabelas de lookup em tempo de compilação</strong>: as tabelas LOG e EXP para
+GF(256) são computadas em tempo de compilação usando <code>const fn</code>. Isso
+significa zero custo de inicialização em tempo de execução e operações em
+tempo constante via consulta a tabelas ao invés de loops.</li>
+<li><strong>ID de sessão previne mistura entre sessões</strong>: cada chamada a <code>split()</code> gera
+um novo ID de sessão aleatório. Se um herdeiro acidentalmente usar fragmentos
+de duas sessões diferentes de divisão (por exemplo, antes e depois de uma
+rotação de chaves), a reconstrução falha de forma limpa com um erro de
+validação ao invés de produzir dados corrompidos.</li>
+<li><strong>Checksums BLAKE3 detectam corrupção</strong>: cada fragmento inclui um checksum
+BLAKE3 sobre seu conteúdo. Isso captura degradação de bits, erros de
+transmissão e truncamento acidental antes de qualquer tentativa de
+reconstrução. Um fragmento impresso em papel e escaneado via OCR vai falhar no
+checksum se um único caractere estiver errado.</li>
+<li><strong>Impressão digital do dono para identificação</strong>: os fragmentos incluem os
+primeiros 8 bytes de BLAKE3(chave pública Ed25519) como impressão digital.
+Isso permite aos herdeiros verificar a qual identidade um fragmento pertence
+sem revelar a chave pública completa. Durante a reconstrução, a impressão
+digital é verificada contra a chave recuperada.</li>
+<li><strong>Formato duplo para resiliência</strong>: ambos os formatos binário (MessagePack) e
+texto (base64) são gerados porque mídias físicas têm modos de falha diferentes
+de armazenamento digital. Um pendrive pode falhar; papel sobrevive. Um QR code
+pode ficar ilegível; texto base64 pode ser digitado manualmente.</li>
+<li><strong>Versionamento do blob</strong>: o segredo é envolvido em um blob versionado
+(versão + flags + material de chave) para que versões futuras possam incluir
+chaves adicionais (X25519, ML-KEM-768) sem quebrar compatibilidade com
+fragmentos existentes.</li>
+</ul>
+<h2 id="o-que-vem-a-seguir">O que vem a seguir</h2>
+<ul>
+<li><strong>Fase 4 continuada: Resiliência e Escala</strong> — NAT traversal avançado
+(STUN/TURN), ajuste de performance (pool de conexões, cache de fragmentos,
+SQLite WAL), auditorias de segurança, integração de nós institucionais,
+empacotamento para sistemas operacionais</li>
+<li><strong>Fase 5: Exploração e Cultura</strong> — navegador público de tesseras por
+era/localização/tema/idioma, curadoria institucional, integração com
+genealogia, exportação para mídia física (M-DISC, microfilme, papel livre de
+ácido com QR)</li>
+</ul>
+<p>Com Shamir's Secret Sharing, Tesseras fecha a última lacuna crítica na
+preservação a longo prazo. Suas memórias sobrevivem a falhas de infraestrutura
+através de erasure coding. Sua privacidade sobrevive a computadores quânticos
+através de criptografia híbrida. E agora, sua identidade sobrevive a você —
+passada adiante para as pessoas que você escolheu, exigindo a cooperação delas
+para desbloquear o que você deixou para trás.</p>
+
+</article>
+
+ </main>
+
+ <footer>
+ <p>&copy; 2026 Tesseras Project. <a href="/atom.xml">News Feed</a> · <a href="https://git.sr.ht/~ijanc/tesseras">Source</a></p>
+ </footer>
+</body>
+</html>
diff --git a/pt-br/news/phase4-shamir-heir-recovery/index.html.gz b/pt-br/news/phase4-shamir-heir-recovery/index.html.gz
new file mode 100644
index 0000000..cebcabc
--- /dev/null
+++ b/pt-br/news/phase4-shamir-heir-recovery/index.html.gz
Binary files differ