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