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

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

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

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

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

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

1 ответ

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

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