NIP-04: Versleutelde Directe Berichten (Verouderd)
NIP-04 definieert versleutelde directe berichten met AES-256-CBC-versleuteling. Het was de oorspronkelijke methode voor privéberichten op Nostr, maar is verouderd verklaard ten gunste van NIP-17 vanwege aanzienlijke privacybeperkingen.
Hoe het werkt
Berichten gebruiken kind 4-events met het volgende versleutelingsschema:
- Een gedeeld geheim wordt gegenereerd met ECDH met de publieke sleutel van de ontvanger en de privésleutel van de afzender
- Het bericht wordt versleuteld met AES-256-CBC
- De cijfertekst wordt base64-gecodeerd met de initialisatievector toegevoegd
- Een
p-tag identificeert de publieke sleutel van de ontvanger
Beveiligingsbeperkingen
NIP-04 heeft aanzienlijke privacytekortkomingen:
- Metadatalek - De pubkey van de afzender is publiekelijk zichtbaar op elk bericht
- Geen afzenderprivacy - Iedereen kan zien wie berichten naar wie stuurt
- Exacte tijdstempels - Berichttiming is niet gerandomiseerd
- Niet-standaard implementatie - Gebruikt alleen de X-coördinaat van het ECDH-punt in plaats van de standaard SHA256-hash
De specificatie waarschuwt expliciet dat het “niet in de buurt komt van de stand van de techniek in versleutelde communicatie”.
Verouderingsstatus
NIP-04 is verouderd ten gunste van NIP-17, dat NIP-59 gift wrapping gebruikt om de identiteit van de afzender te verbergen. Nieuwe implementaties moeten NIP-17 gebruiken voor privéberichten.
Primaire bronnen:
Vermeld in:
Zie ook: