跳到正文

威胁模型

谁能看到什么,以及什么能阻止他们

威胁模型只有像说明能击败的对手那样清楚地说明会输给的对手,才有用处。下表每一行列出该攻击者能看到什么、无法触及什么、现有的防御,以及仍然可能发生什么。

PrivaMesh 的设计针对的是想要你数据的运营方、读取一切公开内容的链上观察者,以及试图在添加联系人时截获的冒充者。它在全局时序分析者面前最薄弱,对已被攻破的设备则毫无防护。

按攻击者划分的 PrivaMesh 威胁模型,含防御与残余风险
攻击者能看到无法做到防御仍然可能
运营方 PrivaMesh某个账户为一次发送付了费,以及时间读取消息、获知收件人、列出你的联系人或重建历史记录没有账户数据库和消息存储;盲令牌将付费与发送脱钩我们可能被迫证明某个账户在某个时间发送过内容
RPC 提供商你的 IP 地址、请求时间、你提交的交易解密任何内容,或知道哪个一次性地址属于谁端点可替换,也可自行托管记录日志的提供商可以在网络层面拼出你何时活跃
链上观察者填充后的密文、一次性地址、精确的交易时间读取内容,或将同一对话中的两条消息关联起来隐身地址、固定填充档位、可选掩护流量关闭掩护流量时,你随时间变化的活动规律完全可见
全局时序分析者同时看到整个网络中相互关联的活动解密,或以密码学方式关联地址开启时,以 3-10 分钟的随机间隔发送掩护流量这是我们防御最弱的攻击者;能长期保存全部数据、观察整个网络的观察者,超出了任何按消息设计的方案所能解决的范围
拿着你已解锁手机的人一切:明文、联系人、密钥恢复 ratchet 已删除的消息存储在受 Face ID 或 Touch ID 保护的钥匙串中;前向保密限制了对过去的影响;胁迫密码会清除账户而不是打开它设备一旦被攻破,其上当前的一切都会暴露;胁迫密码只在你被要求解锁的那一刻有用——如果存储已经被提前复制则无济于事
拿到你助记词的人你的身份,并可在今后冒充你读取过去对话的 ratchet 部分——那些密钥是随机的,只存在于设备上助记词从不离开你的设备,也从不传输身份密钥、签名预密钥和 PQ 预密钥都由助记词派生,且不发布一次性预密钥,因此每个对话的开场消息都可以通过助记词加上链上永久保存的信封重新计算。也没有吊销机制
恶意联系人你发给对方的一切,并可截图或转发接触你的其他聊天对象,或读取其他对话屏蔽,以及每个对话独立的密钥没有任何密码学能阻止你的聊天对象本身不可信
添加联系人时的冒充者验证成功时什么也看不到用自己的密钥替换一个其密钥包已在链上签名的联系人用钱包签名并发布到链上的预密钥包,使任何注册表都无法替换某个账户的密钥没有可比对的安全码或指纹,因此确认账户属于目标本人完全只能在应用之外进行,且没有任何辅助
Apple你的 Apple ID 购买了订阅看到消息、联系人,或将购买与你的发送活动关联盲令牌隔在购买与每一次发送之间Apple 知道你是 PrivaMesh 的用户,这在 iOS 上无法避免
网络层面的审查者你连接过某个 Solana RPC 端点读取或有选择地丢弃单条消息RPC 端点可替换,包括换成你自己运行的封锁 Solana 或所有 RPC 会使投递完全中断

这个模型的前提

密码学原语是牢靠的:X3DH、Double Ratchet、AES-256-GCM,以及 iOS 26 上的 ML-KEM-768。你的设备尚未被攻破。你会确认所添加的联系人就是你想找的人。其中任何一条不成立,其余设计都救不了你。

它还假定我们对这些原语的实现是正确的——这正是源代码公开、发现缺陷有奖励的原因。未覆盖内容的完整列表见已知限制。

常见问题

PrivaMesh 最难防御的是什么?

持续监视整个网络并保存一切的全局攻击者。掩护流量提高了时序关联的成本,但无法击败这种规模的观察者,而链会为他们留下一份可供分析的永久记录。

如果我的设备被扣押,什么会暴露?

其上当前的一切:明文、联系人和密钥,除非设备已锁定且攻击者无法通过 Face ID。前向保密将损失限制在 ratchet 尚未删除的内容——旧消息已经无法恢复。如果你被迫亲自解锁,胁迫密码会清除账户而不是打开它。

PrivaMesh 会被强制交出我的数据吗?

可以被要求。可交出的只有某个账户在某个时间为一次发送付了费。没有消息内容、没有收件人、没有联系人列表、也没有账户记录,因为这些都不存储。

VPN 有用吗?

有用,可以防范 RPC 提供商和网络层面的观察者,也就是能看到你 IP 的两个攻击者。它对写入链上的内容没有任何影响,而那些内容本来就无法读取。

继续阅读