Push Notification 的 Payload 也应该加密吗?

信息安全 加密 安卓 移动的 IOS
2021-08-26 07:06:59

如果您有一个完全端到端加密的应用程序,那么发送到 APNS 或 GCM 的推送消息是否也应该被加密。

有效负载仅包含消息 id,来自 uid n 对话​​ gid。如果我们不对此进行加密,是否存在重大风险?

WhatsApp 或 Signal 等其他应用程序是如何做到的?我读到 Signal 只发送一个唤醒呼叫,在其推送通知的有效负载中没有额外的细节。

2个回答

我认为您应该对此进行加密,因为分析数据泄漏,此信息可以包含两个客户端之间的聊天时间(甚至他们删除消息),这对品牌很有好处,您可以说您拥有完全加密的应用程序。但是要确定实际风险,您需要问自己,使用“消息ID”之类的信息,您可以获得有关用户的信息,当我说您时,我的意思是每个有权访问数据库和服务器的人。你能找出谁和谁的信息吗?如果是,则其数据泄露风险。

关于您根据链接的信号应用程序,他们在桌面应用程序中存在数据泄漏(但他们在通知中发送文本正文是其噩梦),但在您的情况下,您不会向客户端发送文本正文。

根据whats app 常见问题解答:您的消息、照片、视频、语音消息、文档、状态更新和电话都不会落入坏人之手。

似乎他们不加密通知。zulip 移动加密通知

这一切都取决于您希望为您的用户/客户提供的安全级别或您的用户/客户需要什么。通常,对于想要了解您的对话的攻击者来说,消息 ID 并不是什么信息。

我不知道Whatsapp是如何做到的,但 Apple 有UNNotificationServiceExtension,它允许您通过 APNS 完全加密通知的有效负载,然后让应用程序在显示通知之前进行解密。我确信在 android 中有类似的 API。

既然已经有 API 可以帮助您轻松完成这项工作……为什么要冒不加密的风险?!