NIP-44: Encrypted Payloads
NIP-44 define um padrão de criptografia versionado para payloads do Nostr, substituindo o esquema de criptografia falho do NIP-04 com primitivas criptográficas modernas.
Como Funciona
NIP-44 versão 2 usa um processo de criptografia de múltiplas etapas:
- Acordo de Chaves: ECDH (secp256k1) entre as chaves públicas do remetente e destinatário produz um segredo compartilhado
- Derivação de Chaves: HKDF-extract com SHA256 e salt
nip44-v2cria uma chave de conversa - Chaves Por Mensagem: HKDF-expand deriva a chave ChaCha, nonce e chave HMAC de um nonce aleatório
- Preenchimento: O conteúdo é preenchido para ocultar o tamanho da mensagem
- Criptografia: ChaCha20 criptografa o conteúdo preenchido
- Autenticação: HMAC-SHA256 fornece integridade da mensagem
Escolhas Criptográficas
- ChaCha20 sobre AES: Mais rápido, melhor resistência a ataques multi-chave
- HMAC-SHA256 sobre Poly1305: MACs polinomiais são mais fáceis de falsificar
- SHA256: Consistente com as primitivas existentes do Nostr
- Formato Versionado: Permite futuras atualizações de algoritmos
Propriedades de Segurança
- Criptografia Autenticada: Mensagens não podem ser adulteradas
- Ocultação de Tamanho: Preenchimento obscurece o tamanho da mensagem
- Chaves de Conversa: Mesma chave para conversas contínuas reduz computação
- Auditado: Auditoria de segurança da Cure53 não encontrou vulnerabilidades exploráveis
Limitações
NIP-44 não fornece:
- Forward Secrecy: Chaves comprometidas expõem mensagens passadas
- Post-Compromise Security: Recuperação após comprometimento de chaves
- Negabilidade: Mensagens são provavelmente assinadas por chaves específicas
- Ocultação de Metadados: Arquitetura de relays limita privacidade
Para necessidades de alta segurança, NIP-104 (double ratchet) ou protocolos baseados em MLS como Marmot oferecem garantias mais fortes.
História
NIP-44 revisão 3 foi mesclado em dezembro de 2023 após uma auditoria de segurança independente da Cure53. Forma a base criptográfica para os DMs privados do NIP-17 e o gift wrapping do NIP-59.
Fontes primárias:
Mencionado em:
Veja também: