Связка ключей в iOS. Что нужно знать! Как подтвердить этот iphone на другом устройстве. Часто задаваемые вопросы о функции «Связка ключей iCloud. Подключение нового iOS-устройства к Связке ключей iCloud


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

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

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

Активировать данный режим вы можете непосредственно с вашего Apple устройства, например iPad или iPhone . Я буду показывать на примере iPad, но разницы между активацией режима на iPhone или iPad - нет.

Активация

Следуйте шагам описанным ниже для того чтобы успешно активировать необходимый сервис:

В последующем вы сможете синхронизировать информацию из данной службы с другими устройствами: как на базе операционной системы iOS, а также Mac OS.

Настройка

Теперь давайте настроит автоматическое сохранение важных данных в сервисе iCloud Keychain введенных в браузере Safari:

  1. Первым делом вам нужно перейти в настройки устройства и выбрать раздел Safari, а далее перейти в пункт – пароли;
  2. В открывшемся поле вам нужно поставить галочку в разделе “Имена и пароли”.

После выполнения вышеописанной операции, все вами пароли, логины и другие данные вводимые в браузере Safari будут сохраняться, по вашему запросу, в облачный сервис iCloud Keychain.

Некоторые советы по работе с данной описываемой функцией :

  1. Если не удается настроить или активировать связки, вам нужно обновить операционную систему до актуальной версии, а также проверить подключение к интернету;
  2. Вы можете просматривать все сохраненные пароли, для этого вам нужно: перейти в настройки, далее в раздел Safari, Пароли, сохраненные пароли;
  3. Данная служба может не выполнять сохранение паролей на некоторых вебсайтов, т.к. такие сайты, в целях безопасности, запрещают сохранять какие либо данные;
  4. Рекомендую вам использовать данный инструмент – связка ключей – только на мобильном Apple устройстве без джейлбрейка. Т.к. использование данной функции с джейлбрейком может быть небезопасно.

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

При использовании приложения » связка ключей iCloud » введите код безопасности iCloud. Код может быть: шестизначный, численный или буквенно-цифровой, либо созданный автоматически. Этот код позволяет восстановить данные при потере устройства, а также выполнять определенные действия при идентификации пользователя. Это дополнительная защита, но код должен быть таким, чтобы вы его не забыли и запомнили. Если неправильно указать код, да ещё несколько раз, то произойдёт блокировка связки ключей на этом устройстве. Для возобновления работы обращайтесь в техническую службу Apple для установления личности и разблокировки.

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

Настройка связки

При невозможности подтверждения входа из другого устройства в приложение на новом устройстве используйте код безопасности, после ввода которого, подтвердите по SMS подключение. На любом устройстве Apple для настройки приложения зайдите в меню «Настройка», выберете «iCloud», ищите приложение с ключами. При нажатии на иконку приложения появится переключатель, передвиньте его на включение. Введите пароль ID и продолжайте дальнейшие действия по инструкции. Теперь Вам доступна самая главная функция — автоматизация вводы любых паролей и кодов. Легко оплачивайте покупки, заходите на сайты, на почту не задумываясь.

Безопасность кредитных карт

В хранилище содержатся номера кредитных карт и сроки их действия. Цифры безопасности не остаются в памяти. При отключении приложения данные не стираются.

Некоторые проблемы при использовании приложения и пути их решения

Не получен код по SMS

  • Убедитесь, что к учетной записи прикреплен именно этот номер телефона.
  • Проверьте тарифный план, узнайте нет ли запрета SMS оповещения.

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

Пароли от социальных сетей не отображаются на устройствах

В разделе «Настройки» откройте «Safari» и зайдите в «Автозаполнение». Проверьте работоспособность учетной записи «Имена и пароли». При выключении этой функции пароли не запоминаются. Затем нажмите «Домой» и проверьте «Safari». Если окно программы черное, то отключите режим «Частный доступ».

Иногда популярные веб — сайты не дают разрешение на сохранение пароля их посетителям, поэтому от них пароли не сохранятся.

При потере доступа к одному из устройств

При потере доступа к одному из устройств необходимо создать другой код безопасности. Зайдите в «Настройка», выберите приложение, зайдите во вкладку «Дополнительно». Выберите «Подтвердить с кодом безопасности» и выберите вкладку «Забыли код». Активируйте «Сбросить связку ключей». Подтверждайте свои действия и создавайте новый пароль.

Сообщение о смене кода

При появлении сообщения о смене кода безопасности, не игнорируйте его. Обновлять код безопасности не обязательно, но систему обновить надо. Если не выполнить этих действий, сообщение появится вновь. Если игнорировать это сообщение и не реагировать, отмечая «не сейчас», то после третьего отказа связка ключей будет выключена. Не будет происходить синхронизация на других устройствах, и восстановить через сайт работу приложения будет невозможно.

При появлении этого сообщения возможно провести обновление. Нажмите «создать» и выполняйте предложенные действия.

Введен неправильный код много раз

При введении несколько раз неправильного кода, связка будет отключена. Связка ключей в облаке просто удалится. Подтвердите это устройство через другое или сбросьте приложение.

Выключение службы на всех устройствах

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

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

Безопасность

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

При возникновении проблем со связкой, проверьте настройки в устройстве.

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

Как это работает

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

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

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

Проверенные устройства

Проверенным устройством может быть iPhone, iPad или iPod touch с ОС iOS 9 или более поздней версии либо компьютер Mac с ОС OS X El Capitan или более поздней версией, в систему которого был выполнен вход с использованием двухфакторной аутентификации. Это устройство, для которого нам известна его принадлежность вам, и которое можно использовать для проверки личности путем отображения кода подтверждения Apple при выполнении входа с другого устройства или браузера.

Проверенные номера телефонов

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

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

Код подтверждения отличается от, вводимого для разблокирования iPhone, iPad и iPod touch.

Настройка двухфакторной аутентификации для идентификатора Apple ID

В настоящее время двухфакторная аутентификация доступна пользователям iCloud, у которых по крайней мере на одном устройстве используется ОС iOS 9 либо OS X El Capitan или более поздней версии. .

Чтобы включить двухфакторную аутентификацию, можно выполнить следующие действия на устройстве iPhone , iPad или iPod touch.

Включение двухфакторной аутентификации в разделе «Настройки»

Если на устройстве установлена ОС iOS 10.3 или более поздней версии, выполните следующие действия.

  1. Перейдите в раздел «Настройки» > [ваше имя] > «Пароль и безопасность».
  2. Нажмите «Продолжить».

Если на устройстве установлена ОС iOS 10.2 или более ранней версии, выполните следующие действия.

  1. Откройте меню «Настройки» > iCloud.
  2. Выберите свой идентификатор Apple ID > «Пароль и безопасность».
  3. Нажмите «Включить двухфакторную аутентификацию».
  4. Нажмите «Продолжить».

Возможно, потребуется ответить на контрольные вопросы Apple ID.


Ввод и подтверждение доверенного номера телефона

Укажите номер телефона, на который необходимо получать проверочные коды при входе в систему. Можно выбрать получение кодов в виде текстовых сообщений или автоматических телефонных звонков.

Введите проверочный код, чтобы подтвердить номер телефона и включить двухфакторную аутентификацию.

На компьютере Mac с ОС OS X El Capitan или более поздних версий выполните следующие действия.


  1. Перейдите в меню Apple > «Системные настройки» > iCloud > «Учетная запись».
  2. Щелкните значок «Безопасность».
  3. Щелкните «Включить двухфакторную аутентификацию».

Некоторые идентификаторы Apple ID, созданные в ОС iOS 10.3 или macOS 10.12.4 и более поздних версий, защищены двухфакторной аутентификацией по умолчанию. В этом случае двухфакторная аутентификация будет уже включена.

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

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

Что следует помнить при использовании двухфакторной аутентификации

Двухфакторная аутентификация значительно усиливает защиту Apple ID. После включения этой функции для выполнения входа в учетную запись потребуется пароль и доступ к проверенным устройствам или проверенному номеру телефона. Чтобы обеспечить максимальную защиту своей учетной записи и постоянный доступ, существует несколько простых рекомендаций, которым необходимо следовать:

  • Запомните свой пароль Apple ID.
  • Используйте код-пароли для всех своих устройств.
  • Своевременно обновляйте проверенные номера телефонов.
  • Обеспечивайте физическую безопасность проверенных устройств.

Управление учетной записью

Можно управлять своими проверенными номерами телефонов, проверенными устройствами и другой информацией об учетной записи на.

Своевременное обновление проверенных номеров телефонов

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

  1. Перейдите в раздел «Безопасность» и щелкните «Правка».

Если необходимо добавить номер телефона, щелкните «Добавить проверенный номер телефона» и введите номер телефона. Выберите способ подтверждения номера (текстовым сообщением или автоматическим телефонным звонком) и нажмите «Продолжить». Чтобы удалить проверенный номер телефона, щелкните рядом с номером телефона, который необходимо удалить.

Просмотр проверенных устройств и управление ими

Можно просматривать список проверенных устройств и управлять им в разделе «Устройства» страницы учетной записи Apple ID .

  1. Перейдите на страницу своей учетной записи Apple ID.
  2. Выполните вход, указав идентификатор Apple ID.
  3. Перейдите в раздел «Устройства».

Создание паролей для программ

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

  1. Войдите на страницу учетной записи Apple ID .
  2. Нажмите кнопку «Создать пароль» в разделе «Пароли приложений».
  3. Следуйте инструкциям на экране.

После создания пароля для программы введите или вставьте его в поле ввода пароля в программе обычным способом.

Справка и часто задаваемые вопросы

Нужна помощь? Возможно, вы найдете ответы на свои вопросы ниже.

Это отличается от текущей двухэтапной проверки Apple?

Да. Двухфакторная аутентификация встроена непосредственно в iOS, macOS, tvOS, watchOS и веб-сайты компании Apple. В ней используются другие методы подтверждения проверенных устройств и предоставления кодов подтверждения и оптимизируется работа в целом. Двухфакторная аутентификация обязательна для использования определенных функций, требующих повышенной безопасности.

Что делать, если у меня нет доступа к проверенному устройству или код подтверждения не был получен?

При выполнении входа, когда под рукой нет доверенного устройства, на котором отображается код подтверждения, код отправляется на проверенный номер телефона посредством текстового сообщения или автоматического телефонного звонка. Щелкните «Код не получен» на экране входа и выберите отправку кода на проверенный номер телефона. Также код можно получить непосредственно на проверенном устройстве в меню «Настройки». .

Как восстановить доступ к учетной записи, если не удается выполнить вход?

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

Нужно ли теперь запоминать ответы на контрольные вопросы?

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

Может ли служба поддержки Apple помочь мне восстановить доступ к моей учетной записи?

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

Каковы системные требования для двухфакторной аутентификации?

Для оптимальной работы необходимо, чтобы все устройства, которые используются с идентификатором Apple ID, удовлетворяли этим системными требованиям:

  • устройство iPhone, iPad или iPod touch с ОС iOS 9 или более поздней версии;
  • компьютер Mac с ОС OS X El Capitan и iTunes 12.3 или более поздней версии;
  • Apple Watch с ОС watchOS 2 или более поздней версии;
  • Apple TV (4-го поколения) с tvOS;
  • компьютер с ОС Windows с установленными программами iCloud для Windows 5 и iTunes 12.3.3 или более поздней версии.

Что делать, если я не узнаю местоположение, показанное в уведомлении о входе?

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

Если вы знаете, что являетесь тем самым пользователем, который пытается выполнить вход, но не узнаете показанное местоположение, вы можете нажать «Разрешить» и продолжить регистрацию.

Однако, если вы получите уведомление о том, что ваш идентификатор Apple ID используется для выполнения входа на новом устройстве, а вы не пытались выполнить вход, нажмите «Не разрешать», чтобы заблокировать попытку выполнения входа.

Что произойдет в случае использования двухфакторной аутентификации на устройстве с более ранними версиями программного обеспечения?

При использовании двухфакторной аутентификации на устройствах под управлением более ранних версий ОС может понадобиться добавить код подтверждения из шести цифр в конце своего пароля при выполнении входа. на проверенном устройстве под управлением ОС iOS 9 или OS X El Capitan или их более поздних версий либо получите его на свой проверенный номер телефона. Затем введите пароль, добавив к нему код подтверждения из шести цифр непосредственно в поле пароля.

Можно ли отключить двухфакторную аутентификацию после ее включения?

Двухфакторную аутентификацию нельзя отключить для некоторых учетных записей, созданных в ОС iOS 10.3 или macOS Sierra 10.12.4 и более поздних версий. Если идентификатор Apple ID создан в более ранних версиях ОС iOS или macOS, двухфакторную аутентификацию отключить можно.

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

Для выключения двухфакторной аутентификации выполните вход на странице своей учетной записи Apple ID и щелкните «Правка» в разделе «Безопасность». Затем щелкните «Выключить двухфакторную аутентификацию». После создания новых секретных вопросов и подтверждения даты рождения двухфакторная аутентификация будет отключена. Если на странице учетной записи Apple ID отсутствует пункт для отключения двухфакторной аутентификации, значит, ее нельзя отключить.

Если кто-то включит двухфакторную аутентификацию для Apple ID без вашего разрешения, ее также можно отключить из сообщения электронной почты с подтверждением регистрации, отправленного на ваш Apple ID или резервный адрес электронной почты. Щелкните «Выключить двухфакторную аутентификацию» в нижней части сообщения электронной почты для восстановления предыдущих настроек безопасности Apple ID и контроля над своей учетной записью. Ссылка является активной в течение двух недель после регистрации.

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

Apple ID - ключ ко всей экосистеме Apple. И со временем его важность только возрастает. iCloud, iCloud Drive, фотографии, контакты, покупки, iMessage - все это завязано на Apple ID и, в случае проблем с авторизацией, может быть безвозвратно утеряно.

Мало того, ваш iPhone, iPad и Mac тоже сильно зависят от Apple ID и без него превратятся в «кирпичи». Этим часто пользуются мошенники - подбирают пароль, заходят в iCloud, удаленно блокируют все устройства и вымогают за разблокировку деньги.

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

Сложный пароль - банально, но работает

Первое с чего нужно начать - создать сложный пароль к Apple ID. Тут конечно не надо впадать в паранойю. Достаточно сделать что-то бессмысленное для посторонних длинною в 10–12 символов. У нас давно уже есть сенсор отпечатков Touch ID, поэтому часто вводить такой пароль руками не придется.

Чтобы изменить пароль :

  1. Безопасность → Изменить пароль ;
  2. Следуйте подсказкам на экране: введите старый пароль и два раза новый.

Двухэтапная аутентификация

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

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



Двухэтапная аутентификация работает для :

  • входа на страницу учетной записи Apple ID;
  • входа в iCloud или на сайт iCloud.com с нового устройства;
  • входа в iMessage, Game Center или FaceTime;
  • покупок в iTunes Store, App Store или iBooks Store на новом устройстве;
  • получения информации по идентификатору Apple ID в поддержке Apple.

Чтобы включить двухэтапную аутентификацию для Apple ID :

  1. Зайдите на сайт appleid.apple.com и залогиньтесь со своим Apple ID;
  2. Безопасность → Двухэтапная проверка → Настроить ;
  3. Введите ответы на контрольные вопросы.
  4. Введите номер своего мобильного телефона , на который придет проверочный код;
  5. Введите проверочный код в появившемся поле браузера;
  6. Выберите и списка ваши устройства, которые можно использовать для авторизации;
  7. Сохраните Ключ восстановления .


Ключ восстановления - сверхважная штука, его надо обязательно куда-то сохранить. Проблема в том, что скопировать этот ключ сочетанием Cmd C нельзя. Поэтому придется записать его руками или сделать скриншот. Многие делают скриншот и он просто теряется. На этом как-то попался и я. Поэтому обязательно сохраните его в 1Password.

ЧИТАЙТЕ ТАКЖЕ :

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

Недавно я сам на этом попался, когда купил в аэропорту новый iPad Pro и попытался настроить его прямо там. У меня была включена двухэтапная проверка, но из-за плохого интернета коды не доходили. Я пробовал отправлять их несколько раз на iPhone и в виде SMS на номер телефона. Безуспешно. В итоге мой аккаунт заблокировали и предложили разблокировать ключам восстановления. Конечно же, их у меня не оказалось. Так что активация новенького iPad на этом и остановилась. Мне пришлось ждать час, чтобы система дала возможность снова отправить одноразовый пароль. Если бы я потерял свой телефон, то аккаунту пришел бы писец на все время нахождения за границей, пока бы я не восстановил SIM-карту.

Итак, ещё раз. Если двухэтапная проверка включена :

  • Для управления Apple ID вам каждый раз потребуется выполнить два из трех условий: ввести пароль, использовать проверенное устройство или указать ключ восстановления;
  • Если вы забудете свой пароль, для его сброса понадобятся ключ восстановления и проверенное устройство. Apple не сможет сбросить или изменить пароль от вашего имени.

Как изменить ключ восстановления от Apple ID

Если вы не знаете свой ключ восстановления - не беда. Его можно изменить в любой момент, но только если есть доступ к Доверенному устройству. Для этого:

  1. Зайдите на сайт appleid.apple.com
  2. Безопасность → Изменить → Заменить утерянный ключ ;
  3. Сохраните ключ (скриншот, заметка);
  4. Введите новый ключ в появившееся поле, чтобы он набрал силу.

Еще раз обращаю внимание, что ключ скопировать нельзя. Сделайте скриншот и сохраните его в менеджер паролей 1Password, либо запишите его в другое надежно место.

Как добавить доверенное устройство

Если ваш парк техники Apple не ограничен айфоном, то имеет смысл активировать все устройства для получения одноразовых паролей на вход в Apple ID. В случае проблем, хоть одно из них да окажется рядом. Доверенным устройством может быть любой iPhone или iPad, активированное под вашим Apple ID и с включенной функцией «Поиск iPhone».

  1. Зайдите на сайт appleid.apple.com и залогинитесь со своим Apple ID;
  2. Безопасность → Проверенные устройства → Проверить ещё одно устройство;
  3. В этом списке будут все ваши устройства с включённой функцией «Поиск iPhone». Если нужного устройства нет, попробуйте его разблокировать и обновить список;
  4. Выберите нужное устройство;
  5. Введите в форму код, который отобразится на его экране.


Что в итоге

После всех этих манипуляций у вас должно получится следующее:

  1. Хороший пароль Apple ID для входа в iCloud, Apple Music, App Store и т.п.;
  2. Двухэтапная аутентификация при которой нужно иметь доступ к проверенному устройству или телефона для изменения каких либо настроек Apple ID, входа iCloud на незнакомых устройствах.

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

Кстати, Apple предлагает двухэтапную проверку для пользователей iOS 8 (и предыдущих), а для тех, кому повезло больше (для iOS 9 и старше), двухэтапную аутентификацию. Все равно следует знать, куда вводить код проверки Apple ID, ведь оба способы похожи друг на друга.

Что собой представляет двухэтапная проверка?

Это дополнительная защита, благодаря которой никто не получит доступ к Apple ID даже в том случае, если он знает пару логин/пароль. Для доступа все равно понадобится конкретный набор чисел, которого у него не будет.

Если вы не знаете, куда ввести код проверки Apple ID, то смотрите следующую инструкцию.

  1. Переходим на официальный сайт appleid.apple.com. Вводим логин и пароль, секретный шифр.
  2. Изучаем информацию про проверку, которая выдается автоматически. Далее жмем "Продолжить". Может такое быть, что информация о двухэтапной проверке не будет выводиться. Найти ее можно в разделе "Изменить - Безопасность - Настроить - Двухэтапная проверка".
  3. В следующем окне необходимо ввести номер телефона. На него будут приходить коды в СМС для выполнения проверки. Необязательно выбирать свой номер телефона. Можно указать номер родителей, жены и т. д.
  4. На следующей странице необходимо проверить указанный вами телефон. Вам должен прийти код в СМС. Вводите его в появившееся окно. Если его нет, то нажимайте на кнопку "Отправить код повторно".
  5. После ввода кода программа предложит выбрать вспомогательные гаджеты для получения проверочного кода. Тут можно указать дополнительные доверенные смартфоны. Каждый доверенный смартфон придется подтвердить по СМС.
  6. После подтверждения вы увидите ключ восстановления. Он сложный и неизменяемый. Его нужно сохранить в надежном месте - он будет использоваться в том случае, если вы вдруг забудете пароль к своему аккаунту Apple ID или просто потеряете доверенный смартфон.
  7. В следующем окне придется снова ввести код восстановления. Это кому-то может показаться странным, но это нормально. Такой шаг акцентирует внимание пользователя на важности ключа. Укажите код с листка, не копируя его программным методом.
  8. Последнее - принимаем условия проверки.


Теперь всё. Проверка активирована. Теперь при попытке входа в аккаунт Apple ID будет необходим код проверки Apple ID. Куда вводить его, вы теперь знаете. Знает и злоумышленник, но войти в аккаунт он не сможет, т. к. у него просто не будет доверенного смартфона.

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

Двухэтапная аутентификация


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

Включается аутентификация в настройках. Там есть пункт меню "Пароль и...". Также аутентификация может быть доступной в настройках iCloud, во вкладке Apple ID - "Пароль и безопасность". Жмем на "Включить". Защита будет включена, но еще не активирована.

Теперь нам нужно настроить аутентификацию. Вводим доверенный номер, дожидаемся кода, подтверждаем смартфон. Теперь защита активирована, далее нужно разобраться, куда ввести код проверки Apple ID. При входе в любой сервис Apple нужно будет указать логин, пароль. А уж затем будет отправлен код в СМС. Его нужно ввести после пары логин/пароль.

В чем разница?


Несложно заметить, что практически отличия между двухэтапной проверкой и аутентификацией отсутствуют. В обоих случаях для входа необходим код проверки Apple ID, так в чем же разница?

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

Теперь вы знаете, куда нужно ввести код проверки Apple ID. Но прежде защиту нужно включить.

Вывод

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

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

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

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

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

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

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

На устройстве iPhone, iPad или iPod touch:

На компьютере Mac с ОС OS X Yosemite или более поздней версии

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

На устройстве, на котором вы создали новый код безопасности iCloud, откроется окно для подтверждения. Одобрите добавление новой связки ключей iCloud для устройства.

Если нет доступа к устройству, которое использует службу «Связка ключей iCloud»

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

Безопасное хранение паролей и их синхронизация между устройствами - задача непростая. Около года назад Apple представила миру iCloud Keychain, свое централизованного хранилище паролей в OS X и iOS. Давай попробуем разобраться, где и как хранятся пароли пользователей, какие потенциальные риски это несет и имеет ли Apple техническую возможность получить доступ к расшифрованным данным, хранящимся на ее серверах. Компания утверждает, что такой доступ невозможен, но, чтобы это подтвердить или опровергнуть, необходимо разобраться, как работает iCloud Keychain.

iCloud 101

На самом деле iCloud - это не один сервис, это общее маркетинговое название для целого ряда облачных сервисов от Apple. Это и синхронизация настроек, документов и фотографий, и Find My Phone для поиска потерянных или похищенных устройств, и iCloud Backup для резервного копирования в облако, и теперь вот iCloud Keychain для безопасной синхронизации паролей и номеров кредитных карт между устройствами на базе iOS и OS X.

Каждая служба iCloud расположена на собственном домене третьего уровня, таком как pXX-keyvalueservice.icloud.com, где XX - номер группы серверов, отвечающих за обработку запросов текущего пользователя; для различных Apple ID этот номер может быть разным; более новые учетные записи обычно имеют большее значение этого счетчика.

Код безопасности iCloud

Прежде чем погружаться в анализ iCloud Keychain, обратим внимание на то, каким образом эта служба конфигурируется. При включении iCloud Keychain пользователю предлагается придумать и ввести код безопасности iCloud (iCloud Security Code, далее - iCSC). По умолчанию форма ввода позволяет использовать четырехзначный цифровой код, но, перейдя по ссылке «Дополнительные параметры», все же можно использовать более сложный код или вовсе позволить устройству сгенерировать стойкий случайный код.

Теперь мы знаем, что данные в iCloud Keychain защищены с помощью iCSC. Ну что же, попробуем разобраться, как именно эта защита реализована!

Перехват трафика или man-in-the-middle

Первым шагом при анализе сетевых сервисов зачастую является получение доступа к сетевому трафику между клиентом и сервером. В случае с iCloud для нас есть две новости: плохая и хорошая. Плохая состоит в том, что весь (ну или по крайней мере подавляющая его часть) трафик защищен TLS/SSL, то есть он зашифрован и обычной пассивной атакой «прочитать» его не удастся. Хорошая же новость заключается в том, что Apple сделала всем желающим поисследовать iCloud подарок и не использует фиксацию сертификата (certificate pinning), что позволяет достаточно просто организовать атаку «человек посередине» (man-in-the-middle) и расшифровывать перехваченный трафик. Для этого достаточно:

  1. Поместить подопытное iOS-устройство в одну Wi-Fi-сеть с компьютером, осуществляющим перехват.
  1. Установить на компьютере перехватывающий прокси-сервер (такой как Burp, Charles Proxy или любой аналогичный).
  1. Импортировать на iOS-устройство TLS/SSL-сертификат установленного прокси-сервера (подробности в справке конкретного прокси).
  1. В настройках Wi-Fi-сети на iOS-устройстве (Настройки → Wi-Fi → Имя сети → HTTP Прокси) указать IP-адрес перехватывающего компьютера в Wi-Fi-сети и порт, на котором слушает прокси-сервер.

Если все сделано правильно, то весь трафик между устройством и iCloud’ом будет как на ладони. И из перехвата этого трафика будет отчетливо видно, что iCloud Keychain построен на базе двух сервисов iCloud: com.apple.Dataclass.KeyValue и com.apple.Dataclass.KeychainSync - и при первоначальном, и при повторном включениях на других устройствах iOS обменивается данными с этими сервисами.

Первый сервис не нов и был в числе первых возможностей iCloud; он широко используется приложениями для синхронизации настроек. Второй же является новым и разработан, очевидно, специально для iCloud Keychain (хотя его функционал теоретически позволяет использовать его и для других целей). Рассмотрим эти сервисы подробнее.

com.apple.Dataclass.KeyValue

Как было отмечено выше, это один из сервисов, используемых iCloud Keychain. Многие существующие приложения используют его для синхронизации небольших объемов данных (настройки, закладки и тому подобное). Каждая сохраняемая этой службой запись ассоциируется с идентификатором приложения (Bundle ID) и именем хранилища (store). Соответственно, для получения сохраненных данных от сервиса также необходимо предоставить эти идентификаторы. В рамках iCloud Keychain данный сервис используется для синхронизации записей Keychain в зашифрованном виде. Достаточно подробно этот процесс описан в документе iOS Security в разделах Keychain syncing и How keychain syncing works.

Синхронизация Keychain

Когда пользователь впервые включает iCloud Keychain, устройство создает «круг доверия» (circle of trust) и ключи синхронизации (syncing identity, состоит из открытого и закрытого ключей) для текущего устройства. Открытый ключ этой пары помещается в «круг доверия», и этот «круг» дважды подписывается: сперва закрытым ключом синхронизации устройства, а затем асимметричным ключом (основанным на эллиптической криптографии), полученным из пароля пользователя на iCloud. Также в «круге» сохраняются параметры для вычисления ключа из пароля, такие как соль и количество итераций.

Подписанный «круг» сохраняется в Key/Value-хранилище. Он не может быть прочитан без знания пользовательского пароля iCloud и не может быть изменен без знания закрытого ключа одного из устройств, добавленных в «круг».

Когда пользователь включает iCloud Keychain на другом устройстве, это устройство обращается к Key/Value-хранилищу в iCloud и замечает, что у пользователя уже есть «круг доверия» и что новое устройство в него не входит. Устройство генерирует ключи синхронизации и квитанцию для запроса членства в «круге». Квитанция содержит открытый ключ синхронизации устройства и подписана ключом, полученным из пользовательского пароля iCloud с использованием параметров генерации ключа, полученных из Key/Value-хранилища. Подписанная квитанция затем помещается в Key/Value-хранилище.

Первое устройство видит новую квитанцию и показывает пользователю сообщение о том, что новое устройство запрашивает добавление в «круг доверия». Пользователь вводит пароль iCloud, и подпись квитанции проверяется на корректность. Это доказывает, что пользователь, генерировавший запрос на добавление устройства, ввел верный пароль при создании квитанции.

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

Как работает синхронизация Keychain

Теперь в «круге доверия» два устройства, и каждое из них знает открытые ключи синхронизации других устройств. Они начинают обмениваться записями Keychain через Key/Value-хранилище iCloud. В случае если одна и та же запись присутствует на обоих устройствах, то приоритет будет отдан имеющей более позднее время модификации. Если время модификации записи в iCloud и на устройстве совпадают, то запись не синхронизируется. Каждая синхронизируемая запись зашифровывается специально для целевого устройства; она не может быть расшифрована другими устройствами или Apple. Кроме того, запись не хранится в iCloud постоянно - она перезаписывается новыми синхронизируемыми записями.

Этот процесс повторяется для каждого нового устройства, добавляемого в «круг доверия». Например, если к «кругу» добавляется третье устройство, то запрос подтверждения будет показан на двух других устройствах. Пользователь может подтвердить добавление на любом из них. По мере добавления новых устройств каждое устройство из «круга» синхронизируется с новыми, чтобы убедиться, что набор записей на всех устройствах одинаков.

Необходимо заметить, что синхронизируется не весь Keychain. Некоторые записи привязаны к устройству (например, учетные записи VPN) и не должны покидать устройство. Синхронизируются только записи, имеющие атрибут kSecAttrSynchronizable. Apple установила этот атрибут для пользовательских данных Safari (включая имена пользователей, пароли и номера кредитных карт) и для паролей Wi-Fi.

Кроме того, по умолчанию записи сторонних приложений также не синхронизируются. Для их синхронизации разработчики должны явным образом установить атрибут kSecAttrSynchronizable при добавлении записи в Keychain.

iCloud Keychain оперирует двумя хранилищами:

  • com.apple.security.cloudkeychainproxy3
- Bundle ID: com.apple.security.cloudkeychainproxy3;
  • com.apple.sbd3
- Bundle ID: com.apple.sbd (SBD - акроним Secure Backup Daemon).

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

Второе же хранилище предназначено для резервного копирования и восстановления записей Keychain на новые устройства (например, когда в «круге доверия» нет других устройств) и содержит зашифрованные записи Keychain и сопутствующую информацию.

Таким образом, записи Keychain хранятся в обычном Key/Value-хранилище (com.apple.securebackup.record). Эти записи зашифрованы с помощью набора ключей, хранящегося там же (BackupKeybag). Но этот набор ключей защищен паролем. Откуда берется этот пароль? Что это за служба депонирования паролей Apple? Далее постараемся разобраться.

apple.Dataclass.KeychainSync

Это новый сервис, возник он относительно недавно: впервые его поддержка появилась в бета-версиях iOS 7, затем она отсутствовала в iOS 7.0–7.0.2 и была вновь добавлена в iOS 7.0.3, вышедшей одновременно с релизом OS X Mavericks. Это и есть упомянутая выше служба депонирования паролей (адрес службы - pXX-escrowproxy.icloud.com).

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

  • токен аутентификации iCloud, получаемый в обмен на Apple ID и пароль при первичной аутентификации в iCloud (стандартный способ аутентификации для большинства сервисов iCloud);
  • код безопасности iCloud (iCSC);
  • шестизначный цифровой код, передаваемый серверами Apple на номер сотового телефона, ассоциированный с пользователем.

В теории все выглядит хорошо, но, чтобы определить, совпадает ли теория с практикой, нам потребуется провести аудит программы-клиента службы депонирования. В ОС iOS и OS X эта программа носит название com.apple.lakitu . Описание процесса ее реверсинга и аудита выходит за рамки статьи, поэтому сразу переходим к результатам.

Доступные команды

Аудит com.apple.lakitu позволяет определить список команд, реализуемых службой депонирования. На соответствующем скриншоте представлены команды и их описание. Особо хотелось бы остановиться на последней команде - с ее помощью возможно изменить номер телефона, ассоциированный с текущей учетной записью. Наличие этой команды делает многофакторную аутентификацию, используемую при восстановлении iCloud Keychain (пароль Apple ID + iCSC + устройство), заметно менее надежной, так как позволяет исключить один из факторов. Интересно и то, что пользовательский интерфейс iOS не позволяет выполнить эту команду - в нем просто нет такой опции (по крайней мере я ее не нашел).

Особенность данной команды, отличающая ее от всех прочих, в том, что она требует аутентификации с паролем Apple ID и не будет работать, если для аутентификации используется токен iCloud (прочие команды работают при аутентификации по токену). Это служит дополнительной защитой данной команды и показывает, что проектировщики системы предприняли шаги для повышения ее безопасности. Тем не менее не до конца ясно, зачем эта команда вообще присутствует в системе.

Восстановление депонированных данных

Для получения депонированных данных выполняется следующий протокол:

  1. Клиент запрашивает список депонированных записей (/get_records).
  1. Клиент запрашивает ассоциированный телефонный номер, на который сервером будет направлен код подтверждения (/get_sms_targets).
  1. Клиент инициирует генерацию и доставку кода подтверждения (/generate_sms_challenge).
  1. После того как пользователь ввел iCSC и код подтверждения из SMS, клиент инициирует попытку аутентификации с использованием протокола SRP-6a (/srp_init).
  1. После получения ответа от сервера клиент производит вычисления, предписанные протоколом SRP-6a, и запрашивает депонированные данные (/recover).
  1. В случае если клиент успешно аутентифицировался, сервер возвращает депонированные данные, предварительно зашифровав их на ключе, выработанном в процессе работы протокола SRP-6a (если протокол отработал успешно, то и сервер, и клиент вычислили этот общий ключ).

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

Secure Remote Password

На шаге 4 клиент начинает выполнение протокола SRP-6a. Протокол SRP (Secure Remote Password) - это протокол парольной аутентификации, защищенный от прослушивания и man-in-the-middle атак. Таким образом, например, при использовании этого протокола невозможно перехватить хеш пароля и затем пытаться восстановить его, просто потому, что никакой хеш не передается.

Apple использует наиболее совершенный вариант протокола, SRP-6a. Этот вариант предписывает разрывать соединение при неудачной аутентификации. Кроме того, Apple позволяет лишь десять неудачных попыток аутентификации для данного сервиса, после чего все последующие попытки блокируются.

Подробное описание протокола SRP и его математических основ выходит за рамки статьи, но для полноты изложения ниже представлен частный вариант, используемый службой com.apple.Dataclass.KeychainSync .

В качестве хеш-функции H используется SHA-256 , а в качестве группы (N , g) - 2048-битная группа из RFC 5054 «Using the Secure Remote Password (SRP) Protocol for TLS Authentication». Протокол выполняется следующим образом:

  1. Устройство генерирует случайное значение a , вычисляет A=g^a mod N , где N и g - параметры 2048-битной группы из RFC 5054 , и отправляет на сервер сообщение, содержащее идентификатор пользователя ID , вычисленное значение A и код подтверждения из SMS. В качестве идентификатора пользователя используется значение DsID - уникальный числовой идентификатор пользователя.
  2. Получив сообщение, сервер генерирует случайное значение b и вычисляет B=k*v + g^b mod N , где k - множитель, определенный в SRP-6a как k=H(N, g) , v=g^H(Salt, iCSC) mod N - верификатор пароля, хранящийся на сервере (аналог хеша пароля), Salt - случайная соль, сгенерированная при создании учетной записи. Сервер отправляет клиенту сообщение, содержащее B и Salt .
  3. Путем несложных математических преобразований клиент и сервер вычисляют общий сессионный ключ K . На этом первая часть протокола - выработка ключа - завершена, и теперь клиент и сервер должны убедиться, что они получили одно и то же значение K .
  4. Клиент вычисляет M=H(H(N) XOR H(g) | H(ID) | Salt | A | B | K) , доказательство того, что он знает K , и отправляет на сервер M и код подтверждения из SMS. Сервер также вычисляет M и сравнивает полученное от клиента и вычисленное значения; если они не совпадают, то сервер прекращает выполнение протокола и разрывает соединение.
  5. Сервер доказывает клиенту знание K путем вычисления и отправки H(A, M, K) . Теперь оба участника протокола не только выработали общий ключ, но и убедились, что этот ключ одинаков у обоих участников. В случае со службой депонирования сервер также возвращает случайный вектор инициализации IV и депонированную запись, зашифрованную на общем ключе K с использованием алгоритма AES в режиме CBC .

Использование SRP для дополнительной защиты пользовательских данных, на мой взгляд, существенно улучшает безопасность системы от внешних атак хотя бы потому, что позволяет эффективно противостоять попыткам перебора iCSC: за одно подключение к сервису можно попробовать только один пароль. После нескольких неудачных попыток учетная запись (в рамках работы со службой депонирования) переводится в состояние soft lock и временно блокируется, а после десяти неудачных попыток учетная запись блокируется окончательно и дальнейшая работа со службой депонирования возможна только после сброса iCSC для учетной записи.

В то же время использование SRP никак не защищает от внутренних угроз. Депонированный пароль хранится на серверах Apple, соответственно, можно предположить, что Apple может при необходимости получить к нему доступ. В таком случае, если пароль не был защищен (например, зашифрован) до депонирования, это может привести к полной компрометации записей Keychain, сохраненных в iCloud, так как депонированный пароль позволит расшифровать ключи шифрования, а они - записи Keychain (обрати внимание на com.apple.Dataclass.KeyValue).

Однако в документе «iOS Security» Apple утверждает, что для хранения депонированных записей используются специализированные аппаратные модули безопасности (Hardware Security Module, HSM) и что доступ к депонированным данным невозможен.

Безопасность депонирования

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

Для восстановления Keychain пользователь должен аутентифицироваться, используя имя пользователя и пароль iCloud, и ответить на присланное SMS. Когда это выполнено, пользователь должен ввести код безопасности iCloud (iCSC). Кластер HSM проверяет корректность iCSC, используя протокол SRP; при этом iCSC не передается на серверы Apple. Каждый узел кластера, независимо от других, проверяет, не превысил ли пользователь максимально допустимое количество попыток получения данных. Если на большей части узлов проверка завершается успешно, то кластер расшифровывает депонированную запись и возвращает ее пользователю.

Далее устройство использует iCSC, чтобы расшифровать депонированную запись и получить пароль, использованный для шифрования записей Keychain. При помощи этого пароля Keychain, полученная из Key/Value-хранилища, расшифровывается и восстанавливается на устройство. Допускается лишь десять попыток аутентификации и получения депонированных данных. После нескольких неудачных попыток запись блокируется, и пользователь должен обратиться в службу поддержки для разблокировки. После десятой неудачной попытки кластер HSM уничтожает депонированную запись. Это обеспечивает защиту от брутфорс-атак, направленных на получение записи.

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

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

Итак, мы выяснили, как работают отдельные элементы системы, и теперь самое время посмотреть на систему целиком.

Putting it all Together

На схеме представлена работа iCloud Keychain в части депонирования и восстановления записей Keychain. Система работает следующим образом:

  1. Устройство генерирует набор случайных ключей (в терминологии Apple - keybag) для шифрования записей Keychain.
  2. Устройство зашифровывает записи Keychain (имеющие установленный атрибут kSecAttrSynchronizable) с помощью набора ключей, сгенерированного на предыдущем шаге, и сохраняет зашифрованные записи в Key/Value-хранилище com.apple.sbd3 (ключ com.apple.securebackup.record).
  3. Устройство генерирует случайный пароль, состоящий из шести групп по четыре символа (энтропия такого пароля - около 124 бит), зашифровывает набор ключей, сгенерированный на шаге 1, при помощи этого пароля и сохраняет зашифрованный набор ключей в Key/Value-хранилище com.apple.sbd3 (ключ BackupKeybag).
  4. Устройство зашифровывает случайный пароль, сгенерированный на предыдущем шаге, с помощью ключа, полученного из кода безопасности iCloud пользователя, и депонирует зашифрованный пароль службе com.apple.Dataclass.KeychainSync .

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

При случайном коде подсистема депонирования пароля не используется вообще. При этом случайный пароль, сгенерированный системой, и является iCSC, и задача пользователя его запомнить и безопасно хранить. Записи Keychain все так же зашифровываются и сохраняются в Key/Value-хранилище com.apple.sbd3 , но служба com.apple.Dataclass.KeychainSync не используется.

Выводы

Можно смело утверждать, что с технической точки зрения (то есть social engineering не рассматриваем) и по отношению к внешним угрозам (то есть не Apple) безопасность службы депонирования iCloud Keychain находится на достаточном уровне: благодаря использованию протокола SRP даже при компрометации пароля iCloud злоумышленник не сможет получить доступ к записям Keychain, так как для этого дополнительно необходим код безопасности iCloud, а перебор этого кода существенно затруднен.

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

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

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

Максимальный уровень безопасности (не считая полного отключения iCloud Keychain, конечно) обеспечивается при использовании случайного кода - и не столько потому, что такой код сложнее подобрать, сколько потому, что при этом не задействована подсистема депонирования паролей, а следовательно, уменьшается и attack surface. Но удобство этого варианта, конечно, оставляет желать лучшего.

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

Функция iCloud Keychain (Связка ключей) может хранить ваши имена и пароли для веб-сайтов на iPhone, iPod touch, iPad и Mac, защищая их с помощью надёжного 256-разрядного шифрования AES. При этом данные прозрачно синхронизируются между всеми гаджетами, так что необходимости запоминать их теперь нет.

Как настроить Связку ключей в iOS 7:

Шаг 1 : По умолчанию функция iCloud Keychain выключена, поэтому перед тем, как настроить синхронизацию паролей, необходимо активировать ее в настройках iOS 7. Зайдите в меню Настройки –> iCloud и пролистайте вниз до раздела Связка ключей.

Шаг 2 : Переведите выключатель «Связка ключей iCloud» в положение Вкл. Ваш iPhone или iPad предложит использовать пароль iOS в качестве кода безопасности. В этом случае вы можете настраивать iCloud Keychain на всех своих устройствах при помощи секретного кода с главного гаджета. Нажмите Использовать пароль или Создать другой код.

Шаг 3 : Введите код безопасности для iCloud.

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

Шаг 5 : Укажите пароль вашей учетной записи для завершения настройки iCloud Keychain.

Шаг 6 : Теперь при указании учетной записи на сайтах Safari будет предлагать вам сохранить пароль в памяти iДевайса и в связке ключей iCloud. При этом облачный сервис будет поддерживать актуальность информации на каждом из устройств. В нужный момент пароли будут вводиться автоматически.