两部手机各自生成一对一次性 X25519 密钥。QR 携带公钥那一半。每一端把对方的公钥和自己的私钥组合 (ECDH),在本地推导出相同的共享密钥。任何服务器都不会看到。
哪些留在你的手机上,哪些会到达我们的服务器。
对于你的个人联系人,Hongi 在你的手机上运行。配对之后,码字在两部手机上计算,无需联网;你们共享的秘密在已配对的手机上派生,从不发送到我们的服务器。不过,有些功能确实会用到我们的服务器,主要的几项如下。
- 1
远程配对(邀请链接)
当你与不在身边的人配对时,我们的中继服务器会短暂保存一个配对会话:标识符、临时公钥,以及你分享的显示名称(在两部手机之间加密)。中继服务器无法读取该名称,也无法推算出你们共享的秘密。会话会自动过期,默认在 30 分钟后过期。
- 2
验证通知
为了发送静默核验,我们的推送服务会把一个化名的信箱标识符与你应用的推送令牌关联起来,并通过 Expo 将加密消息转交给 Apple 或 Google。它们看到的是路由信息,而不是你的码字。
- 3
机构与工作账户
如果你从目录中添加一个机构,Hongi 会保存一条配对记录,以及机构一方秘密的加密副本,以便其工作人员验证你。如果你的雇主为你开通工作账户,Hongi 会保存你的电子邮件地址、角色和成员身份;使用 Hongi Work 时,还会保存你手机的证书(含经批准的姓名和角色),以及不含姓名记录的在线状态查询。
我们从不接收的内容
- 你的个人码字和共享秘密。它们在已配对的手机上派生并保存。
- 你的通话。没有音频、没有通话内容、没有转录文本。Hongi 从不参与通话。
- 你的通讯录或位置。应用不会请求你的联系人或 GPS 位置。
- 广告追踪器。应用中没有广告,也没有第三方行为分析。
- 个人使用的注册。与你信任的人配对不需要账户。
不过,我们的服务器确实会处理一些数据,例如服务日志中的 IP 地址以及上面提到的记录。隐私政策列出了全部内容以及我们的保存期限。
它如何运作,用图说明。
四张简短示意图,展示配对、暗号和静默核验的真实运作方式。和你在安全白板上会看到的画一样,每一步配上所用的加密原语。
Hongi 的中继把端到端加密的邀请从一部手机转发到另一部。中继无法解密内容。送达之后两部手机通过 X25519 在设备本地推导出相同的共享密钥,与现场配对完全一样。
每 30 秒,两部手机基于共享密钥和当前时间槽运行 HMAC-SHA512,推导出两条不同的暗号。一条是你说出口的,一条是你听到的。没有共享密钥,冒充者两条都生成不出来。
发送静默核验时,你的手机会加密消息,并通过我们的推送服务和 Expo 发送给 Apple 或 Google,再由它们送达你联系人的手机。我们的推送服务通过一个化名的信箱标识符转发消息,无法读取其内容。
配对是如何进行的?
当面:打开 Hongi,点击 Pair,扫描对方手机上的二维码。远程:点击 Pair > 邀请链接,通过任意渠道发送链接;邀请经由我们的中继服务器传递,但你码字背后的秘密从不经过它。两部手机使用 X25519 在本地派生出共享秘密。没有任何服务器能看到这个秘密。
如果我丢了手机怎么办?
没有设备就无法恢复码字,这是有意为之:共享秘密只保存在已配对的手机上。要与某位联系人恢复保护,请在新手机上与对方重新配对。
Hongi 真的离线吗?
配对之后,是的。当面时用二维码配对;远程时,邀请经由我们的中继服务器传递。之后,码字在手机上根据共享秘密和当前时间计算,因此核对码字不需要联网。静默核验则需要两部手机都联网。
静默核验有什么用?
如果来电听起来不对劲,而你又不能大声询问码字,就点击“发送静默核验”。你真正的联系人的手机会显示一条通知,说明有联系人请求身份核验;只有在 Hongi 里才能看到是谁在请求,然后回答“是的,是我”或“不,我没有在和 … 通话”。来电者听不到任何动静。两部手机都需要联网。
如何添加联系人?
点击 Pair 开始新的配对。扫描或发送邀请链接。配对完成后,联系人会出现在你的主屏幕上,并显示当前时段的码字。
如何删除我的数据?
在应用中打开“设置”,点击最下方的“删除所有数据”:已配对的联系人、他们的秘密和 Hongi 的设置都会从手机上删除,所有工作账户也会退出登录。如果手机已不在你手中,hongi.io/delete 会说明你可以怎么做,包括如何就我们服务器上的数据联系 privacy@hongi.io。
Hongi 支持哪些语言?
应用目前支持荷兰语、英语、法语、德语、土耳其语、西班牙语、意大利语、葡萄牙语、波兰语、阿拉伯语、印地语、印尼语、日语、韩语和中文。网站语言与之一致。
加密算法有多安全?
配对使用 X25519 椭圆曲线密钥交换(RFC 7748)。码字通过 HMAC-SHA512(RFC 4231)由共享秘密和当前 30 秒时段派生。对于个人配对,秘密只保存在两部已配对手机的受保护存储中(iOS 钥匙串或基于 Android Keystore 的存储);没有任何服务器保存它们。
为什么叫 Hongi?
Hongi 是传统的 Māori 问候,两个人将鼻子和额头贴在一起,分享同一口气,即 ha。它标志着两个人不再是陌生人的那一刻。我们选用这个名字,因为应用以另一种方式做了同样的事:两个人,一次配对,从此互信。
仍然卡住了?
请发邮件至 info@hongi.io。请注明操作系统(iOS 或 Android)、应用版本(设置 > 关于)以及你想做什么。我们越快复现问题,就越快能修复它。