NIP-44定义了Nostr有效载荷的版本化加密标准,用现代加密原语替代有缺陷的NIP-04加密方案。

工作原理

NIP-44版本2使用多步骤加密过程:

  1. 密钥协商:发送者和接收者公钥之间的ECDH(secp256k1)产生共享密钥
  2. 密钥派生:使用SHA256和盐值nip44-v2的HKDF-extract创建对话密钥
  3. 消息密钥:HKDF-expand从随机nonce派生ChaCha密钥、nonce和HMAC密钥
  4. 填充:对内容进行填充以隐藏消息长度
  5. 加密:ChaCha20加密填充后的内容
  6. 认证:HMAC-SHA256提供消息完整性

加密选择

  • ChaCha20优于AES:更快,多密钥攻击抵抗力更强
  • HMAC-SHA256优于Poly1305:多项式MAC更容易伪造
  • SHA256:与现有Nostr原语一致
  • 版本化格式:允许未来算法升级

安全属性

  • 认证加密:消息无法被篡改
  • 长度隐藏:填充模糊消息大小
  • 对话密钥:持续对话使用相同密钥减少计算
  • 已审计:Cure53安全审计未发现可利用的漏洞

限制

NIP-44不提供:

  • Forward Secrecy:泄露的密钥暴露过去的消息
  • Post-Compromise Security:密钥泄露后的恢复
  • 可否认性:消息可证明由特定密钥签名
  • 元数据隐藏:中继架构限制隐私

对于高安全需求,NIP-104(Double Ratchet)或基于MLS的协议(如Marmot)提供更强的保证。

历史

NIP-44修订版3在Cure53独立安全审计后于2023年12月合并。它构成了NIP-17私信和NIP-59 gift wrapping的加密基础。


主要来源:

提及:

另请参阅: