端到端加密和同步

问题描述:

我们的iOS应用程序存储用户在我们的服务器上的PostgreSQL数据库中相互发送的消息。因此,我们的用户只需登录即可在任何设备(iPhone,iPad,iPod Touch)上访问其全部消息历史记录。端到端加密和同步

我们希望实施端到端加密,同时仍允许我们的用户访问他们的来自任何设备的消息历史。

这可能吗?

例如,如果Apple的Messages应用程序是端对端加密的,那么它如何能够跨所有设备同步?

当然:你可以采取两种方式(至少有两种方式):让用户注册他们的设备并列出所有设备的公钥。然后使用单个数据密钥对所有设备进行加密,并使用各种公钥进行加密。缺点:添加设备意味着对设备进行重新加密。

您还可以将用户密码加密的单个私钥分发给每个设备。现在用户必须输入密码才能访问私钥和为其加密的消息。

这些是这样做的两种方式;会有更多。我不知道Apple如何执行端到端加密。