安全说明

三个词,和你在跟谁说话

影响 Kryfo 0.5.0 及更早版本。已在 0.5.1 和 0.5.2 中修复。

发生了什么

在 Kryfo 里,别人靠你的三个词和你的脸认出你。它们从来证明不了一个人是谁,而且可以被复制。有人可以把你的三个词放进一个邀请链接、QR 码或个人页面,而它们指向的是他自己的密钥。添加了它的人看到的像是和你的聊天,其实是在和另一个人聊。如果那个人还以添加者的名义给你发消息,他就能夹在你们两人之间,读到经过他的内容。

在 0.4.1 及更早版本中问题更严重:复制来的名字还能顶替一个已经存在的聊天。0.4.2 修复了这一部分。

我们没有发现这被用来针对任何人。

谁受影响

使用 0.5.0 或更早版本,并通过链接、用户名、配对码、请求,或不是从对方本人手机上扫描的 QR 码添加过别人的所有人。

不受影响:

我们改了什么

在 0.5.1 中:

0.5.2 用核对卡片和这不是对方本人按钮取代了“未核对”标记。如果安全码不一致,这个按钮会从你的手机上移除该联系人,并屏蔽它的密钥。

你该怎么做

  1. 更新到 0.5.2。它现在已经在 kryfo.app 和 GitHub 上,几天内会上架 F-Droid。
  2. 和重要的联系人当面核对安全码:打开对方的页面,点按验证密钥,核对全部 12 组。
  3. 如果安全码不一致,点按这不是对方本人。然后用对方当面给你的链接或 QR 码重新添加,并在新的聊天里核对安全码。

接下来

完整的修复会随 0.6 的身份重新设计一起到来,它基于 Signal 的官方库。即使到那时,安全码仍然是真正的核对方式。

更早的修复

0.3.2 和 0.4.1 修复了一个问题:在已解锁的手机上点按通知,可能绕过应用锁打开聊天。

致谢

感谢 Ami(SleepingAmi)和 sooox(sooox-cc),他们发现了这个问题,在自己的手机上做了验证,并私下告诉了我们。

如果你发现问题,请先私下告诉我们:kryfo.app/security。