有没有人知道Apple的APN推送通知服务中的漏洞在哪里?
我们可以确保将我们的通知安全地发送给Apple,因此我们只需要知道它们是否可以从那时被截获?
动机: 我们已经构建了一个iOS消息传递应用程序,我们将其作为100%安全的解决方案,其中一些功能在安全性方面从未被利用过。
答案 0 :(得分:4)
UNNotificationServiceExtension
,允许开发人员通过APNS发送完全加密的通知有效负载,然后让最终用户设备上的应用程序在显示之前进行解密(或加载任何其他支持数据)通知:
UNNotificationServiceExtension类提供Notification Service应用程序扩展的入口点,该扩展允许您在将远程通知传递给用户之前自定义远程通知的内容。 Notification Service应用扩展程序不会显示任何自己的UI。相反,它会在向用户的设备发送适当类型的通知时按需启动。您可以使用此扩展程序修改通知的内容或下载与扩展程序相关的内容。例如,您可以使用扩展来解密加密数据块或下载与通知关联的图像。
我的团队正在进一步调查此问题,以便以完全符合HIPAA标准的方式发送有用的通知,Apple无法查看通知的明文。我们很乐观。
答案 1 :(得分:3)
查看this article:
设备本身与推送云服务之间的连接是 当然是通过TLS渠道获得的。
...
但是实际的文字和其他文字呢 使用来自应用程序云的推送消息发送的元数据 对设备上安装的应用程序的服务。如何保护?事情 这是因为它总是如上所述在运输中固定但是 邮件本身在这些传输之间是明文。
这就是用户隐私的问题。所有推云 服务有每个推送消息,通过他们的系统发送, 用明文。
那就是他们有分析,看待,分享/出售的能力 数据。 他们有可能遭到入侵和数据泄露 对网络罪犯。
因此,一般情况下,如果您想要安全起见,请不要使用推送通知发送任何敏感数据。相反,只需使用推送通知作为同步机制,以告诉应用程序有新数据需要以您可以控制的安全方式获取。
答案 2 :(得分:0)
简短的回答:您不应将敏感数据包含在通知有效载荷中。
更多详细信息:即使APN使用Apple documentation的两个信任级别来强制进行端到端加密验证和身份验证,您也不应在有效载荷中包含敏感数据< / p>
因为不能保证传递远程通知,所以永远不要 包括敏感数据或可以通过其他方式检索的数据 您的有效载荷。而是使用通知来提醒用户新 信息或信号,表明您的应用程序正在等待数据。
例如,电子邮件应用程序可以使用远程通知来标记 应用程序的图标,或提醒用户新电子邮件可用于 特定帐户,而不是发送电子邮件的内容 直。收到通知后,该应用应打开一个 直接连接到您的电子邮件服务器以检索电子邮件。