NIP-44: Encrypted Payloads
NIP-44 définit un standard de chiffrement versionné pour les payloads Nostr, remplaçant le schéma de chiffrement défaillant de NIP-04 par des primitives cryptographiques modernes.
Comment Ça Fonctionne
NIP-44 version 2 utilise un processus de chiffrement en plusieurs étapes :
- Accord de Clés : ECDH (secp256k1) entre les clés publiques de l’expéditeur et du destinataire produit un secret partagé
- Dérivation de Clés : HKDF-extract avec SHA256 et salt
nip44-v2crée une clé de conversation - Clés Par Message : HKDF-expand dérive la clé ChaCha, nonce et clé HMAC d’un nonce aléatoire
- Rembourrage : Le contenu est rembourré pour masquer la longueur du message
- Chiffrement : ChaCha20 chiffre le contenu rembourré
- Authentification : HMAC-SHA256 assure l’intégrité du message
Choix Cryptographiques
- ChaCha20 plutôt qu’AES : Plus rapide, meilleure résistance aux attaques multi-clés
- HMAC-SHA256 plutôt que Poly1305 : Les MACs polynomiaux sont plus faciles à falsifier
- SHA256 : Cohérent avec les primitives Nostr existantes
- Format Versionné : Permet les futures mises à niveau d’algorithmes
Propriétés de Sécurité
- Chiffrement Authentifié : Les messages ne peuvent pas être altérés
- Masquage de Longueur : Le rembourrage obscurcit la taille du message
- Clés de Conversation : La même clé pour les conversations continues réduit le calcul
- Audité : L’audit de sécurité Cure53 n’a trouvé aucune vulnérabilité exploitable
Limitations
NIP-44 ne fournit pas :
- Forward Secrecy : Les clés compromises exposent les messages passés
- Post-Compromise Security : Récupération après compromission de clés
- Déniabilité : Les messages sont probablement signés par des clés spécifiques
- Masquage des Métadonnées : L’architecture des relays limite la confidentialité
Pour les besoins de haute sécurité, NIP-104 (double ratchet) ou les protocoles basés sur MLS comme Marmot offrent des garanties plus fortes.
Histoire
NIP-44 révision 3 a été fusionné en décembre 2023 suite à un audit de sécurité indépendant de Cure53. Il constitue la base cryptographique pour les DMs privés NIP-17 et le gift wrapping NIP-59.
Sources primaires :
Mentionné dans :
Voir aussi :