Безопасность CloudKit для хранения сообщений

Я рассматриваю возможность использования CloudKit для поддержки своего приложения для обмена сообщениями. С CloudKit вы можете установить разрешения на чтение, запись и изменение/удаление данных:

Мир — любой пользователь, аутентифицированный или нет. Аутентифицированный — пользователь, вошедший в систему с помощью iCloud Creator — пользователь, создавший определенную запись, будет иметь над ней права создателя.

Разрешения недостаточно разделены, чтобы я мог указать «Любой пользователь, имеющий отношение к сообщению», то есть отправителя и получателя.

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

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


person Andrew    schedule 23.12.2015    source источник


Ответы (1)


Я тестирую аналогичную идею и обнаружил, что вы должны использовать шифрование с открытым/закрытым ключом, тогда ваш отправитель должен зашифровать свое сообщение получателю с помощью открытого ключа получателя. Тогда только получатель сможет расшифровать сообщение. Мне не нравится идея предоставлять доступ к измененной записи другим пользователям, поэтому вы должны предоставить доступ для чтения другим пользователям, купить только отправитель будет иметь полный доступ, поэтому ваше приложение должно удалять старые сообщения. Если вашему получателю нужно сохранить свои сообщения, лучше использовать его личную базу данных после чтения и расшифровки. Это общая идея.

person Joel    schedule 11.01.2016