NIP-44: Encrypted Payloads
NIP-44定义了Nostr有效载荷的版本化加密标准,用现代加密原语替代有缺陷的NIP-04加密方案。
工作原理
NIP-44版本2使用多步骤加密过程:
- 密钥协商:发送者和接收者公钥之间的ECDH(secp256k1)产生共享密钥
- 密钥派生:使用SHA256和盐值
nip44-v2的HKDF-extract创建对话密钥 - 消息密钥:HKDF-expand从随机nonce派生ChaCha密钥、nonce和HMAC密钥
- 填充:对内容进行填充以隐藏消息长度
- 加密:ChaCha20加密填充后的内容
- 认证: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的加密基础。
主要来源:
提及:
另请参阅: