Подходит ли Keychain для хранения общих данных, таких как строки?

Связка ключей, похоже, часто используется для имен пользователей и паролей, но стоит ли использовать ее для других конфиденциальных вещей (банковских реквизитов, идентификационных номеров и т. д.), но без пароля? Какое шифрование использует брелок? Сценарий, который меня беспокоит, - это вор, приобретающий iPhone (с заблокированным экраном) и имеющий возможность доступа к файловой системе для получения этой информации.

Кроме того, не повлечет ли использование связки ключей экспортные ограничения из-за использования шифрования?


person cannyboy    schedule 09.05.2010    source источник


Ответы (1)


(Относительно 2-го вопроса обратитесь к юристу.)

Связка ключей может использоваться для хранения любых строковых данных.

Все данные связки ключей хранятся в базе данных SQLite (/Library/Keychains/keychain-2.db) и шифруются с помощью AES-256 с использованием ключа для конкретного устройства (подробности ищите по ключу 0x835).

Данные связки ключей должны быть в безопасности, пока клиент не взломан. (Но тогда все полуконфиденциальные данные в .plist безопасны, пока клиент не взломан.)

person kennytm    schedule 09.05.2010
comment
Почему данные связки ключей становятся небезопасными, когда устройство взломано? Можешь объяснить? - person Krishnan; 27.09.2011
comment
@Krishnan: любой пользователь с достаточными правами может удалить библиотеку MobileSubstrate, чтобы прочитать базу данных, как если бы это делала подключенная программа. - person kennytm; 27.09.2011
comment
KennyTM: ох..так что, если кто-то так решителен и получит с собой iPhone, любая вещь, которую мы считали личной, перестанет быть частной. Я прав? Тогда есть ли вообще способ защитить данные в iOS? Люди предлагали SQLCipher. Что вы думаете об этом? - person Krishnan; 28.09.2011