Segurança Criptográfica & Prevenção de Espionagem

Ao usar um software para compartilhar teclado entre máquinas, toda tecla digitada (senhas de banco, tokens de API, mensagens privadas) trafega pela sua rede local. Conheça as barreiras criptográficas implementadas no crate nexa-crypto.

1. Canal Seguro Autenticado: ChaCha20-Poly1305

O Nexa adota a cifra autenticada ChaCha20-Poly1305 (AEAD) por padrão em todas as sessões. Esta cifra foi selecionada por oferecer altíssimo desempenho em processadores modernos sem exigir aceleração de hardware específica de AES, garantindo latência insignificante tanto em PCs potentes quanto em laptops compactos.

🛡️
Autenticação de Integridade (MAC): Cada pacote inclui uma tag de autenticação Poly1305 de 16 bytes. Se um atacante na rede tentar injetar cliques falsos ou alterar coordenadas de mouse, o pacote é imediatamente descartado antes de chegar ao sistema operacional.

2. Pareamento com Código Visual SAS PIN (Anti-MITM)

Em ataques clássicos de Man-in-the-Middle (MITM), um invasor na rede Wi-Fi intercepta a troca de chaves e se coloca entre os dois computadores. O Nexa anula essa possibilidade através do mecanismo Short Authentication String (SAS PIN):

Código de Pareamento de Segurança (SAS PIN): 482 731

O código numérico de 6 dígitos formatado como XXX YYY é derivado matematicamente do segredo compartilhado calculado via HKDF-SHA256. Como os computadores estão na mesma mesa física, basta que o usuário confirme se o número exibido em uma tela é exatamente igual ao da outra tela.

3. Identidade por Chave Ed25519 e Troca Efêmera X25519

A arquitetura de identidade do Nexa combina chaves estáticas de longo prazo com chaves de sessão efêmeras:

  • Identidade de Longo Prazo (Ed25519): Cada computador gera sua chave pública e privada permanente, salva no arquivo de configuração local. Isso permite reconhecer computadores confiáveis mesmo que o roteador altere seus endereços IP via DHCP.
  • Perfect Forward Secrecy (X25519 ECDH): Para cada conexão TCP estabelecida, um novo par de chaves efêmeras é gerado e descartado ao final da sessão. Mesmo que uma chave futura seja comprometida, gravações passadas de tráfego de rede não podem ser descriptografadas.

4. Proteção Anti-Replay com Nonces Sequenciais Estritos

Um ataque de repetição (Replay Attack) consiste em gravar um pacote legítimo (por exemplo, a digitação de uma senha) e reenviá-lo à máquina receptora. No Nexa:

  • Cada pacote recebe um nonce único de 12 bytes composto por um prefixo de direção (SRV\x01 para transmissões do servidor e CLI\x01 para o cliente) e um contador incremental de 64 bits.
  • Qualquer pacote que chegue com número de sequência menor ou igual ao último recebido é sumariamente rejeitado pelo canal seguro.

Próximas Leituras Técnicas:

Explore a documentação completa dos 8 crates ou inicie a instalação:

Documentação Técnica & CLI → Como Funciona o Nexa →