Связка ключей ios: Настройка службы «Связка ключей iCloud»

Содержание

Настройка службы «Связка ключей iCloud»

С помощью службы «Связка ключей iCloud» можно синхронизировать пароли и другую защищенную информацию между устройствами.

Информацию, хранимую в службе «Связка ключей iCloud», можно не запоминать. Эта служба автоматически заполняет вашу информацию, такую как имена пользователей и пароли Safari и других приложений, ключи доступа, информацию о кредитных картах и коды безопасности, а также пароли Wi-Fi на всех одобренных устройствах.

Порядок включения службы «Связка ключей iCloud»

Перед включением Связки ключей iCloud обновите устройство до последней версии iOS, iPadOS или macOS и включите двухфакторную аутентификацию для Apple ID.

При обновлении устройства в окне Ассистента настройки системы отобразится сообщение о том, что необходимо настроить Связку ключей iCloud. Если вы хотите настроить Связку ключей iCloud позже, выполните следующие действия.

Включение службы «Связка ключей iCloud» на iPhone, iPad и iPod touch

  1. Перейдите в меню «Настройки», коснитесь [вашего имени], а затем выберите «iCloud».
  2. Нажмите «Пароли и связка ключей».*
  3. Включите службу «Связка ключей iCloud». Может потребоваться ввести пароль устройства или пароль Apple ID. 

Поиск сохраненных паролей и ключей доступа на iPhone или iPad

Включение службы «Связка ключей iCloud» на компьютере Mac

  1. Выберите меню Apple  > «Системные настройки». 
  2. Нажмите свое имя, а затем — iCloud. В более ранних версиях macOS нажмите Apple ID, а затем выберите iCloud на боковой панели.
  3. Включите параметр «Пароли и связка ключей».*
  4. Если вы выберете вариант «Подтвердить позже» при входе в свою учетную запись с идентификатором Apple ID, вам потребуется выполнить подтверждение с использованием старого пароля или другого устройства, когда появится соответствующий запрос. Если вам не удается это сделать, сбросьте данные с сквозным шифрованием при появлении запроса.

Поиск сохраненных паролей и ключей доступа на компьютере Mac

* На iPhone, iPad или iPod touch с iOS 13 или более поздней версии или на компьютере Mac с macOS Catalina или более поздней версии для включения службы «Связка ключей iCloud» требуется двухфакторная аутентификация. Если вы еще не настроили эту функцию, вам предложат начать использовать двухфакторную аутентификацию.

Если Связка ключей iCloud выключена

При выключении Связки ключей iCloud пароль, ключ доступа и данные кредитной карты сохраняются локально на устройстве. Если вы выйдете из iCloud на этом устройстве при включенной связке ключей, вам будет предложено сохранить или удалить эту информацию. 

  • При выборе первого варианта информация не удаляется и не синхронизируется при внесении изменений на других устройствах. 
  • Если вы не храните информацию хотя бы на одном устройстве, данные из Связки ключей iCloud также удаляются на серверах iCloud.

Как Связка ключей iCloud защищает вашу информацию

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

Узнайте о том, как iCloud защищает вашу информацию

Информация о продуктах, произведенных не компанией Apple, или о независимых веб-сайтах, неподконтрольных и не тестируемых компанией Apple, не носит рекомендательного или одобрительного характера. Компания Apple не несет никакой ответственности за выбор, функциональность и использование веб-сайтов или продукции сторонних производителей. Компания Apple также не несет ответственности за точность или достоверность данных, размещенных на веб-сайтах сторонних производителей. Обратитесь к поставщику за дополнительной информацией.

Дата публикации: 

Доступ к ключам входа и паролям на всех Ваших устройствах с помощью iPhone и Связки ключей iCloud

Используйте Связку ключей iCloud для хранения ключей входа и паролей для веб-сайтов и приложений, данных банковских карт и сетей Wi‑Fi, а также другой информации учетной записи на всех одобренных Вами устройствах и компьютерах Mac (требуется iOS 7, iPadOS 13, OS X 10. 9 или новее; для ключей входа требуется iOS 16, iPadOS 16, macOS Ventura или tvOS 16 и новее). Связка ключей iCloud защищает данные 256-битным AES-шифрованием при хранении и передаче, и эта информация недоступна для Apple.

Связка ключей iCloud может также синхронизировать учетные записи, которые Вы используете в приложениях «Почта», «Контакты», «Календарь» и «Сообщения», на всех Ваших устройствах iPhone, iPad и компьютерах Mac.

Настройка Связки ключей iCloud

Если Вы не настроили Связку ключей iCloud во время первой настройки iPhone, откройте «Настройки»  > [Ваше имя] > «iCloud» > «Пароли и связка ключей», включите функцию «Связка ключей iCloud» и следуйте инструкциям на экране.

Настройка Связки ключей iCloud на другом устройстве

Когда Вы включаете Связку ключей iCloud на дополнительном устройстве, на другие устройства, использующие Связку ключей iCloud, отправляется запрос на разрешение использования дополнительного устройства.

Разрешите использование дополнительного устройства на одном из остальных Ваших устройств. Синхронизация Связки ключей iCloud на дополнительном устройстве начнется автоматически.

Чтобы подтвердить использование Связки ключей iCloud, когда у Вас нет доступа к другим своим устройствам, воспользуйтесь своим кодом безопасности iCloud, следуя инструкциям на экране.

Восстановление Связки ключей iCloud, если все Ваши устройства потеряны или украдены

Благодаря синхронизации на всех Ваших устройствах, если Вы потеряете одно устройство, Вы можете использовать Связку ключей iCloud для удобного решения проблемы. Если все Ваши устройства потеряны, но Вы добавили контакт для восстановления доступа к Вашей учетной записи Apple ID, этот контакт сможет помочь Вам восстановить доступ к Связке ключей iCloud. Для получения дополнительной информации откройте «Настройки»  > [Ваше имя] > «Пароль и безопасность», затем коснитесь «Подробнее» под действием «Добавить контакт для восстановления доступа».

Можно также восстановить Связку ключей iCloud с помощью хранилища Связки ключей iCloud, также защищенной от атак методом перебора. Связка ключей iCloud передает данные связки ключей пользователей в Apple, не позволяя Apple читать пароли и другие данные, которые там содержатся. Связка ключей пользователя зашифрована с использованием надежного код-пароля, и служба ответственного хранения выдает копию этой связки ключей только при соблюдении строгого набора условий.

Чтобы восстановить связку ключей с помощью хранилища Связки ключей iCloud, выполните аутентификацию с использованием Apple ID на новом устройстве, затем ответьте на сообщение SMS, отправленное на доверенный номер телефона. Выполнив аутентификацию и ответит на сообщение, Вам потребуется ввести код-пароль устройства. В iOS, iPadOS и macOS доступно только 10 попыток аутентификации. После нескольких неудавшихся попыток запись блокируется, и, чтобы получить право на дополнительные попытки, пользователь должен связаться со службой поддержки Apple на веб-сайте поддержки Apple.

Подробнее о Связке ключей iCloud см. в статье службы поддержки Apple Настройка службы «Связки ключей iCloud».

Настройка связки ключей iCloud — Служба поддержки Apple

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

Связка ключей iCloud запоминает вещи, поэтому вам не нужно это делать. Он автоматически заполняет вашу информацию, например имена пользователей и пароли Safari и приложений, ключи доступа, информацию о кредитной карте и коды безопасности, а также пароли Wi-Fi на любом одобренном вами устройстве.

Как включить связку ключей iCloud

Прежде чем включать связку ключей iCloud, обновите свое устройство до последней версии iOS или iPadOS или до последней версии macOS и включите двухфакторную аутентификацию для своего Apple ID.

Когда вы обновляете свое устройство, помощник по настройке просит вас настроить связку ключей iCloud. Если вы хотите настроить связку ключей iCloud в другое время, выполните следующие действия.

Включите «Связку ключей iCloud» на iPhone, iPad или iPod touch

Включите «Связку ключей iCloud» на Mac

  1. Выберите меню Apple  > «Системные настройки» (или «Системные настройки»).
  2. Нажмите свое имя, затем выберите iCloud. В более ранних версиях macOS нажмите Apple ID, затем нажмите iCloud на боковой панели.
  3. Включить пароль и связку ключей.*
  4. Если вы выберете «Подтвердить позже» при входе в свой Apple ID, вам нужно будет подтвердить старый пароль или с другого устройства при появлении соответствующего запроса. Если вы не можете одобрить, сбросьте сквозное шифрование данных при появлении запроса.

Найдите сохраненные пароли и ключи доступа на Mac

*На вашем iPhone, iPad или iPod touch с iOS 13 или более поздней версии или на вашем Mac с macOS Catalina или более поздней версии для включения iCloud Keychain требуется двухфакторная аутентификация. Если вы еще не настроили ее, вам будет предложено перейти на двухфакторную аутентификацию.

При отключении Связки ключей iCloud

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

  • Если вы решите сохранить информацию, она не будет удалена или обновлена ​​при внесении изменений на других устройствах.
  • Если вы не сохраните информацию хотя бы на одном устройстве, данные вашей связки ключей также будут удалены с серверов iCloud.

Как iCloud Keychain защищает вашу информацию

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

Узнайте больше о том, как iCloud защищает вашу информацию

Информация о продуктах, не производимых Apple, или независимых веб-сайтах, не контролируемых и не тестируемых Apple, предоставляется без рекомендации или одобрения. Apple не несет ответственности за выбор, работу или использование сторонних веб-сайтов или продуктов. Apple не делает никаких заявлений относительно точности или надежности сторонних веб-сайтов. Свяжитесь с продавцом для получения дополнительной информации.

Дата публикации:

Защита пользовательских данных с помощью Keychain для iOS | Джен Сипила | iOS App Development

В этом посте я расскажу о безопасном сохранении данных в iOS-приложениях с помощью Apple Keychain Services. Я покажу вам, что делает Keychain Services API, и продемонстрирую быстрый и простой способ начать использовать функциональность Keychain в ваших приложениях с помощью реализации оболочки.

Связка ключей предлагает безопасную альтернативу сохранению конфиденциальных данных, таких как имена пользователей и пароли, с помощью NSUserDefaults, plist или подобных методов.

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

Apple предоставила Keychain Services API для решения этой проблемы и помощи разработчикам в создании приложений, которые безопасно обрабатывают пароли и другую конфиденциальную информацию.

Брелок определяется в документации Apple как:

«…зашифрованный контейнер, в котором безопасно хранятся небольшие фрагменты данных от имени приложений и защищенных служб».

и

«…просто база данных, хранящаяся в файловой системе».

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

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

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

Хранение и извлечение данных напрямую с помощью Keychain — непростая задача. К сожалению, использовать Keychain API довольно сложно. Он написан на C и требует много времени на настройку. К счастью, Apple и многие другие участники создали оболочки более высокого уровня, чтобы скрыть запутанный код C и организацию, обеспечивающую работу вещей снизу.

Если вы хотите увидеть, как напрямую использовать API, то, похоже, это лучший учебник (несмотря на то, что он сильно устарел): Базовая безопасность Рэя Вендерлиха в iOS 5.

Эта страница справочной документации Apple по API также отличный способ увидеть, как реализовать связку ключей непосредственно в вашем приложении.

Собственная оболочка Apple Keychain называется GenericKeychain и доступна в примере кода как в Objective C, так и в Swift.

Другие оболочки существуют как Cocoapods или библиотеки расширений на Github и других сайтах управления зависимостями.

Небольшой образец обертки связки ключей, доступный на Cocoapods.org.

Вот несколько оберток для ключей, которые я рекомендую:

  1. SwiftKeychainWrapper от Jason Rendel (jrendel) для Swift. https://cocoapods.org/pods/SwiftKeychainWrapper или https://github.com/jrendel/SwiftKeychainWrapper
  2. SAMKeychain от Sam Soffes для Objective C. https://cocoapods.org/pods/SAMKeychain
  3. Слесарь по Мэтью Палмер для Свифта. (Посмотрите видеоруководство) https://github.com/matthewpalmer/Locksmith

Большинство упаковщиков включают три метода: один к добавить элемент брелка, один к отредактировать элемент брелка, и один для удалить его и сделать доступ и редактирование элементов цепочки для ключей с помощью одной строки кода.

Давайте рассмотрим реализацию Keychain для программы Swift с помощью SwiftKeychainWrapper Джейсона Ренделя.

  1. Откройте проект Xcode Swift, в котором вы хотите сохранить конфиденциальные данные или проверить их с помощью цепочки ключей.
  2. Перейдите к исходным файлам вашей оболочки. В нашем случае это будет: https://cocoapods.org/pods/SwiftKeychainWrapper, а для того, чтобы было проще оставаться в курсе, мы будем использовать какаопод. Здесь вы можете ознакомиться с документацией по обёртке и посмотреть, как данные будут добавляться в качестве элемента связки ключей, редактироваться и удаляться.

SwiftKeychainWrapper от Джейсона Ренделя Документация.

В этой документации обертки мы видим, что рекомендуется использовать сохранение строк. Поэтому для этого примера мы сохраним гипотетический пароль.

3. Создайте файл модуля для своего проекта и добавьте последнюю версию SwiftKeychainWrapper Cocoapod, например:

Добавьте имя модуля в файл модуля.

Сохраните его и не забудьте выполнить «установку модуля» в командной строке для вашего проекта.

4. Откройте файл рабочей области для вашего проекта.

В реальном приложении вы можете получить конфиденциальную строку различными способами, будь то из запроса к серверу, запрашивающего имя пользователя и пароль, или из текстового поля, куда пользователь вводит информацию.

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

Перейдите к раскадровке и настройте контроллер представления с текстовым полем и одной кнопкой, например:

Контроллер представления с текстовым полем и кнопкой сохранения.

Установите этот контроллер представления, чтобы он соответствовал классу контроллера представления.

Установить контроллер представления в соответствии с классом.

Затем создайте IBOutlet, соединяющий текстовое поле с контроллером представления, и IBAction, соединяющий кнопку. Ваш класс контроллера представления должен выглядеть так:

5. Если вы помните вышеизложенное, метод сохранения строки в связке ключей с помощью SwiftKeychainWrapper:

 let saveSuccessful: Bool = KeychainWrapper.standard.set("Some String", forKey: "myKey") 

Сейчас давайте реализуем получение строкового значения из passwordTextField, присвоение ему ключа и сохранение его в связке ключей при нажатии кнопки savePasswordButton. Метод возвращает логическое значение, которое действует как подтверждение того, что строка была успешно сохранена.

Вот как может выглядеть ваш код.

Прежде чем использовать метод .set для сохранения в цепочке для ключей, я проверяю с помощью инструкции if let, чтобы убедиться, что в текстовом поле действительно есть какой-то текст.

Когда вы вводите текст и нажимаете кнопку, кажется, что ничего не происходит, но внизу в консоли мы видим, что было напечатано подтверждение.

Это означает, что строка была сохранена в связке ключей!

6. Для извлечения строки из связки ключей давайте настроим еще одну кнопку.

Эта кнопка ничего не делает, кроме вывода полученной строки на консоль.

Подключите его IBAction и используйте требуемый метод для получения строки. См. ниже.

Добавьте следующий код в метод retrievePasswordButtonTapped.

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

При нажатии кнопки «Получить» введенный пароль должен быть получен и напечатан в консоли следующим образом:

7. Удаление элемента из «Связки ключей» выполняется по тому же шаблону, используя следующий метод:

 let removeSuccessful: Bool = KeychainWrapper.standard.remove(key: "myKey") 

8. Теперь вы успешно использовали SwiftKeychainWrapper для безопасного сохранения и доступа к строковому значению!

Как видите, добавление, извлечение и удаление из связки ключей с помощью оболочки выполняется одной простой строкой кода.

Каждая оболочка имеет свой немного уникальный синтаксис и настраиваемые параметры, но все они более или менее следуют тому же шаблону, что и в этом примере.

Спасибо за прочтение!

Ознакомьтесь с ресурсами для получения более подробной информации.

Ресурсы:

https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/01introduction/introduction.html

GenericKeychain

Пример использования службы цепочки ключей на iOS .

developer.

scroll to top