Насколько безопасны push-уведомления Apple APNS?

Кто-нибудь знает, где находятся уязвимости в сервисах push-уведомлений Apple APN?

Мы можем гарантировать, что наши уведомления будут безопасно отправляться в Apple, поэтому нам просто нужно знать, могут ли они быть перехвачены с этого момента?

Мотивация: мы создали приложение для обмена сообщениями iOS, которое мы делаем как 100% безопасное решение, с некоторыми функциями, которые никогда ранее не использовались в области безопасности.

2 ответа

Apple выпустила UNNotificationServiceExtension В прошлом году разработчики могли отправлять полностью зашифрованные полезные данные уведомлений через APNS, а затем позволяли приложению на устройстве конечного пользователя самостоятельно выполнять расшифровку (или загружать любые дополнительные вспомогательные данные) перед отображением уведомления:

Класс UNNotificationServiceExtension предоставляет точку входа для расширения приложения службы уведомлений, которое позволяет настраивать содержимое удаленного уведомления до его доставки пользователю. Расширение приложения службы уведомлений не имеет собственного пользовательского интерфейса. Вместо этого он запускается по требованию, когда на устройство пользователя доставляется уведомление соответствующего типа. Это расширение используется для изменения содержимого уведомления или загрузки содержимого, связанного с расширением. Например, вы можете использовать расширение для расшифровки зашифрованного блока данных или для загрузки изображений, связанных с уведомлением.

Моя команда исследует это далее как средство для отправки полезных уведомлений полностью HIPAA-совместимым способом, и у Apple нет возможности видеть открытый текст уведомления. Мы настроены оптимистично.

Посмотрите на эту статью:

Соединение между самим устройством и сервисом push-облаков, разумеется, защищено по каналу TLS.

...

Но как насчет реального текста и других метаданных, которые отправляются с помощью push-сообщения из облачной службы приложения в приложение, установленное на устройстве. Как это обеспечивается? Дело в том, что он всегда защищен на транспорте, как описано выше, но само сообщение в виде текста между этими транспортами.

И именно здесь возникает проблема с конфиденциальностью пользователей. Все push-облачные сервисы имеют каждое push-сообщение, которое отправляется через их системы в виде открытого текста.

То есть они имеют возможность анализировать, просматривать, делиться / продавать данные. И они рискуют подвергнуться риску и потерять данные для киберпреступников.

В общем, если вы хотите быть в безопасности, не отправляйте конфиденциальные данные с push-уведомлениями. Вместо этого просто используйте push-уведомления в качестве механизма синхронизации, чтобы сообщить приложению, что есть новые данные, которые необходимо извлекать безопасным способом, которым вы можете управлять.

Краткий ответ: не следует включать конфиденциальные данные в полезные данные уведомлений.

Более подробно: несмотря на то, что APNs обеспечивают сквозную криптографическую проверку и аутентификацию с использованием двух уровней доверия, согласно документации Apple, вы не должны включать конфиденциальные данные в полезную нагрузку.

Поскольку доставка удаленных уведомлений не гарантируется, никогда не включайте в полезную нагрузку конфиденциальные данные или данные, которые можно получить другими способами. Вместо этого используйте уведомления, чтобы предупредить пользователя о новой информации или как сигнал о том, что в вашем приложении есть данные, ожидающие ее.

Например, приложение электронной почты может использовать удаленные уведомления для обозначения значка приложения или для предупреждения пользователя о том, что новое электронное письмо доступно в конкретной учетной записи, в отличие от отправки содержимого сообщений электронной почты напрямую. После получения уведомления приложение должно установить прямое соединение с вашим почтовым сервером для получения электронных сообщений.

Другие вопросы по тегам