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:
- A malha emite um “desafio” (um estímulo lógico ou sinal elétrico calibrado).
- 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.
- 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
| Componente | Status | Arquivo(s) |
|---|---|---|
HAL no_std: PufReader + TamperAwarePufReader | ✅ Implementado | crates/hal/src/identity.rs |
HAL PaebiruHal: puf_reader() opcional | ✅ Implementado | crates/hal/src/hal/mod.rs |
Kernel: PufIdentityProof + PufVerifier + PufLangevinVerifier | ✅ Implementado | crates/kernel/src/domain/entropy/puf.rs |
| Kernel: Integração Langevin no PUF | ✅ Implementado | crates/kernel/src/domain/entropy/puf.rs |
Kernel: PassportStateMachine::issue_level0_from_puf() | ✅ Implementado | crates/kernel/src/domain/identity/passport_machine.rs |
| Imunidade física / autodestruição real | ⚠️ Modelada em software | SubstrateIntegrity enum (v2+ requer pesquisa de materiais) |
Detalhes de Implementação
hal::identity::PufReader(no_std): Trait de leitura analógica que aplicaPufChallenge(payload + voltagem/duração de estimulação) e retornaPufResponse(bits +PhysicalNoiseMetadata+ flagtamper_detected). SuportaTamperAwarePufReaderpara sensores de integridade física.PufLangevinVerifier: Implementação concreta dePufVerifierque usapaebiru_math::LangevinDynamicspara 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: EmiteLevel0a partir de umaPufIdentityProofvalidada peloPufVerifier. Dispositivos sem TPM podem ingressar na malha usando identidade física imune à clonagem. A prova PUF é armazenada no campopuf_proofda máquina de estados.
5. Impacto Arquitetural
- HAL:
hal::identity::puf_readerpermite 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.