Может ли пользователь получить доступ к keychain на iOS?

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

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

Очевидно, что если пользователь взломает наше приложение или у него есть джейлбрейк-устройство или каким-то образом "человек-в-середине", которое отправляет информацию на устройство или т.д., Они могут получить доступ к элементам связки ключей. Я не беспокоюсь об этом - просто о том, сможет ли пользователь с обычным, неспаренным устройством и никакими странными приложениями получить доступ к данным в цепочке ключей.

Спасибо за вашу помощь.

Ответ 1

Согласно документам Apple:

Если в OS X любое приложение может получить доступ к любому элементу keychain при условии, что пользователь дает разрешение, в iOS приложение может получить доступ только к своим собственным элементам связки ключей.

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

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