Зашифрованы ли имена учетных записей (kSecAttrAccount) в связке ключей iOS?
Пример Apple GenericKeychain сохраняет имя пользователя и пароль в связке ключей iOS. Это делает это с помощью kSecAttrAccount
для имени пользователя и kSecValueData
для пароля.
Все элементы данных, помещенные в цепочку для ключей, зашифрованы, включая kSecAttrAccount
/ имя пользователя в этом примере?
Я спрашиваю, потому что я не хочу, чтобы имена учетных записей были раскрыты.
1 ответ
Если вы используете kSecAttr
для имени пользователя оно будет зашифровано.
Атрибуты, связанные с элементом цепочки для ключей, зависят от класса элемента; классы элементов, наиболее используемые приложениями... это интернет-пароли и общие пароли. Как и следовало ожидать, интернет-пароли содержат атрибуты для таких вещей, как домен безопасности, тип протокола и путь. Пароли или другие секреты, хранящиеся в виде элементов цепочки для ключей, шифруются.
(см. "Структура цепочки для ключей")
Как вы используете kSecAttrAccount
, который может быть использован только с классами kSecClassInternetPassword
а также kSecClassGenericPassword
(см. Keychain Services Reference @ kSecAttrAccount), имя учетной записи будет зашифровано.