Зашифрованы ли имена учетных записей (kSecAttrAccount) в связке ключей iOS?

Пример Apple GenericKeychain сохраняет имя пользователя и пароль в связке ключей iOS. Это делает это с помощью kSecAttrAccount для имени пользователя и kSecValueData для пароля.

Все элементы данных, помещенные в цепочку для ключей, зашифрованы, включая kSecAttrAccount / имя пользователя в этом примере?

Я спрашиваю, потому что я не хочу, чтобы имена учетных записей были раскрыты.

1 ответ

Если вы используете kSecAttr для имени пользователя оно будет зашифровано.

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

(см. "Структура цепочки для ключей")

Как вы используете kSecAttrAccount, который может быть использован только с классами kSecClassInternetPassword а также kSecClassGenericPassword (см. Keychain Services Reference @ kSecAttrAccount), имя учетной записи будет зашифровано.

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