Есть ли простой способ совместного использования частных данных между двумя или более пользователями с помощью CloudKit?Частный обмен данными с использованием CloudKit
Публичная и закрытая дата очевидны, но, похоже, не существует способа, позволяющего группе пользователей организовывать собственный силос для совместного использования данных между собой, не делая его доступным для всех других пользователей системы и разработчику приложения.
У меня есть приложение для академического сотрудничества, но самым простым примером может быть обмен частным сообщением между двумя пользователями.
Я предполагаю, что для достижения этой цели можно попытаться создать систему шифрования с открытым ключом поверх CloudKit, но это не то, что я ищу, и будет плохо масштабироваться за пределами двух пользователей в каждой группе.
Public Key (асимметричное шифрование) не очень хорошо масштабируется, только один ключ необходим для каждого пользователя. Существует центральная точка для получения информации о каждом пользователе по требованию. Симметричное шифрование ключей не масштабируется, поскольку для каждого потенциального соединения требуется ключ, то есть каждый пользователь будет иметь симметричный ключ с каждым другим пользователем. Вся безопасность поставляется со стоимостью. – zaph
Чтобы уточнить, я имел в виду, что он не очень хорошо масштабируется, если пользователь пытается обмениваться данными с несколькими другими пользователями (например: групповой чат с пятью другими пользователями), потому что пользователь, отправляющий сообщение, должен будет зашифровать его с помощью открытый ключ каждого из других членов группы и пять зашифрованных копий необходимо сохранить для каждого сообщения, общего в группе. – hashemi
[Брент Симмонс писал об этом и думает, что это невозможно.] (Http://inessential.com/2014/07/28/setting_expectations_about_cloudkit) – hashemi