Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

RFC 028 - Atestação de Hardware em CNT/Papel (PUF)

Status: Rascunho Aprovado (Visão v2+) Pilar: S1 (Segurança / Camada Física)

1. Resumo

A visão para a v2+ do PAEBIRU incorpora o uso de Physical Unclonable Functions (PUF) impressos em materiais de baixíssimo custo (como Nanotubos de Carbono - CNT ou papel) como mecanismo primário de identidade para dispositivos descartáveis e IoT massivo. Isso elimina a necessidade de chips criptográficos caros (TPMs) sem comprometer a imunidade contra clonagem física.

2. Motivação

Dispositivos que custam centavos de dólar e operam via energy harvesting não possuem orçamento energético, financeiro ou de silício para armazenar chaves de segurança estáticas de forma segura. O uso de PUFs transforma as imperfeições estocásticas da fabricação física do próprio material na chave do dispositivo. O nó não guarda uma identidade; ele é a identidade.

3. Especificação Técnica

3.1. Protocolo de Desafio-Resposta (Challenge-Response)

Em vez de assinar mensagens com chaves estáticas, o processo de atestação ocorre por estimulação física:

  1. A malha emite um “desafio” (um estímulo lógico ou sinal elétrico calibrado).
  2. O substrato do PUF (SRAM, SRAM não inicializada, ou malha de CNTs) reage de forma imprevisível devido a imperfeições em nível atômico.
  3. A “resposta” gerada é repetível por aquele hardware específico, mas impossível de ser clonada ou prevista por outro chip.

3.2. Imunidade Física e Autodestruição

Como a identidade deriva da matriz física do material, tentativas invasivas de extração (engenharia reversa, decapsulamento do chip) alteram a física do substrato, apagando permanentemente a identidade do nó na malha P2P.

3.3. Correção de Ruído Térmico

A repetição exata da resposta do PUF está sujeita ao ruído térmico. O Kernel integrará as respostas do PUF à Janela Estocástica baseada nas Equações de Langevin (estabelecida na RFC 018) para evitar que flutuações naturais de temperatura causem falhas de atestação falsas (falsos negativos).

4. Estado da Implementação

ComponenteStatusArquivo(s)
HAL no_std: PufReader + TamperAwarePufReader✅ Implementadocrates/hal/src/identity.rs
HAL PaebiruHal: puf_reader() opcional✅ Implementadocrates/hal/src/hal/mod.rs
Kernel: PufIdentityProof + PufVerifier + PufLangevinVerifier✅ Implementadocrates/kernel/src/domain/entropy/puf.rs
Kernel: Integração Langevin no PUF✅ Implementadocrates/kernel/src/domain/entropy/puf.rs
Kernel: PassportStateMachine::issue_level0_from_puf()✅ Implementadocrates/kernel/src/domain/identity/passport_machine.rs
Imunidade física / autodestruição real⚠️ Modelada em softwareSubstrateIntegrity enum (v2+ requer pesquisa de materiais)

Detalhes de Implementação

  • hal::identity::PufReader (no_std): Trait de leitura analógica que aplica PufChallenge (payload + voltagem/duração de estimulação) e retorna PufResponse (bits + PhysicalNoiseMetadata + flag tamper_detected). Suporta TamperAwarePufReader para sensores de integridade física.
  • PufLangevinVerifier: Implementação concreta de PufVerifier que usa paebiru_math::LangevinDynamics para calcular tolerância adaptativa na distância Hamming entre o hash da resposta e o hash esperado. Inclui verificação de faixa térmica operacional (260 K – 400 K).
  • PassportStateMachine::issue_level0_from_puf: Emite Level0 a partir de uma PufIdentityProof validada pelo PufVerifier. Dispositivos sem TPM podem ingressar na malha usando identidade física imune à clonagem. A prova PUF é armazenada no campo puf_proof da máquina de estados.

5. Impacto Arquitetural

  • HAL: hal::identity::puf_reader permite que dispositivos embarcados exponham substratos PUF reais (SRAM, CNT, papel) ao Kernel.
  • Kernel: O subsistema de Identidade Progressiva (HardwarePassport / PassportStateMachine, RFC 021) aceita respostas de PUF como prova basal de Nível 0, permitindo o ingresso seguro do IoT descartável.