Что такое ecid iphone

Всё про откат. Часть 1. Небольшой ликбез

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

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Процесс обновления происходит следующим образом: iTunes или само устройство (при обновлении по «воздуху») обращается к специальному серверу Apple и запрашивает проверку цифровой подписи. В процессе отправляется идентификатор устройства (ECID), и поэтому ответ сервера уникальный для каждого запроса. Если всё нормально, то происходит цифровая подпись прошивки (SHSH) и начинается процесс установки.

Разумеется, такую проверку проходят только актуальные версии iOS. Узнать, какие прошивки сейчас подписываются, можно здесь: https://ipsw.me/.

Можно ли обойти эту систему?

Да, SHSH с сервером Apple может запросить не только iTunes, но и любая другая программа. Разработчиком 1Conan был сделан инструмент, который позволяет сохранить SHSH2-сертификаты: https://tsssaver.1conan.com/. Для использования этого метода вам нужно узнать ECID вашего iOS-устройства.

Как узнать ECID вашего iPhone, iPad или iPod Touch?

Как сохранить SHSH2-подписи?

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

Кроме сохранения сертификатов, нам нужно будет произвести еще одну операцию – настроить nonce. Как это делается? Для каждой прошивки свой инструмент для этого.

Собственно, сами утилиты:

Так что же такое nonce? Каждый раз, когда ваше устройство загружается в режиме Recovery, оно генерирует значение nonce (уникальное число каждый раз). В нашем сохранённом SHSH2 есть строка Generator и ID. Наша задача — сделать число nonce и число ID одинаковыми. Если вы используете Jailbreak-устройство, можно это сделать с помощью программ, перечисленных выше.

В следующей части мы применим способ на практике и покажем процесс отката на iPhone 5s с 11.1.2 до 10.3.3/10.2.

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Новости, статьи и анонсы публикаций

Свободное общение и обсуждение материалов

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Лонгриды для вас

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Великолепная автономность, отсутствие лагов и тормозов, компактность, премиальный дизайн и многие другие вещи делают MacBook — лучшим ноутбуком на сегодняшний день. В статье расскажем о нюансах работы и сравним Mac с Windows-девайсами.

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

watchOS 8, которую Apple представила на WWDC 2021, оказалась наискучнейшим обновлением носимой операционки. Поэтому хочется верить, что watchOS 9 будет круче. Рассказываем и показываем, что в ней можно поменять, чтобы она стала лучше

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Apple выпустила заключительную бета-версию iOS 14.7, которая называется Release Candidate. Новых функций обновление почти не несёт, но исправлений представлено достаточно много

Я наверное тут единственный который вообще никакие сертификаты не сохранял.

Источник

Поиск серийного номера или IMEI на iPhone, iPad или iPod touch

Узнайте, как найти серийный номер, IMEI/MEID, CDN и ICCID на iPhone, iPad или iPod touch.

Подготовка

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Поиск серийного номера, номера IMEI/MEID или ICCID

Все еще не нашли нужный номер? См. следующие разделы.

В Finder или iTunes

Нет доступа к устройству?

iPhone

Обладатели данных устройств могут найти серийный номер в программе «Настройки», а номер IMEI/MEID — на лотке SIM-карты. Если нет возможности открыть программу «Настройки», то для получения поддержки можно назвать номер IMEI/MEID вместо серийного номера.

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Обладатели этих устройств могут найти серийный номер в программе «Настройки», а номер IMEI/MEID (MEID — это первые 14 цифр номера IMEI) — на задней панели. Если нет возможности открыть программу «Настройки», то для получения поддержки можно назвать номер IMEI/MEID вместо серийного номера.

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Если у вас первоначальная модель iPhone, серийный номер и номер IMEI выгравированы на задней панели.

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

iPad и iPod touch

Серийный номер устройств iPad Pro, iPad и iPod touch находится на задней панели. На модели iPad с поддержкой Wi-Fi и сотовой связи также можно найти код IMEI.

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Finder и iTunes

Серийный номер устройства также можно найти в Finder или iTunes.

Чтобы вставить эти данные в форму регистрации или обращения в службу поддержки Apple, выберите «Правка» > «Скопировать серийный номер».

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Нет доступа к устройству

Серийный номер и номер IMEI/MEID устройства можно найти в нескольких местах.

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

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

Источник

[FAQ] Как получить ECID вашего iPad в Windows и Mac OS и для чего это нужно

С релизом iPhone 3GS и iPod touch 3G Apple представила новую систему защиты под названием ECID, которая распространилась и на iPad. Система ECID предотвращает возможность понижения прошивки на наших iДевайсах. Когда iTunes начинает процесс восстановления прошивки, сервер запрашивает у Apple создание сертификата для вашего устройства. Так как процесс происходит онлайн, Apple в состоянии отказать в перепрошивке устройства на более ранние версии прошивок.

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

Ниже инструкции, в которые помогут вам «добыть» ECID вашего iPad, что бы потом сделать бекап файлов SHSH.

Как получить ECID в ОС Windows

Скачиваем утилиту usbview отсюда

Шаг 1. Введите ваш iPad в Recovery Mode:

Шаг 2. Откройте программу usbview, которую вы скачали ранее.
Шаг3. В разделе “options”, выберите “config descriptors” (включено)
Шаг 4. Нажмите F5 на клавиатуре вашего компьютера.

Шаг5. Пролистайте вниз до строчки “Apple Recovery (iBoot) USB drive, и нажмите на нее.

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Шаг 6. Перепишите 16 значный код ECID.

Step 7. Что бы выйти из Recovery Mode зажмите кнопки power и home на 10 секунд.

Как получить ECID в Mac OS

Шаг 1. Введите ваш iPad в Recovery Mode:

Шаг 2. Перейдите в Applications> Utilities> и запустите “System Profiler”

Шаг 3. В появившемся окне выбирите “USB” из левого блока. Потом кликните на “Apple Mobile Device (Recovery Mode)” и немного ниже вы увидите:

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Шаг 6. Перепишите 16 значный код ECID.

Step 7. Что бы выйти из Recovery Mode зажмите кнопки power и home на 10 секунд.

Оригиналы мануалов тут (английский). Обсуждение на форуме.

Источник

Безопасность iOS (часть II)

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

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

В прошлой статье шла речь о базовых механизмах безопасности операционной системы iOS. Базовые механизмы включают в себя цепочку доверенной загрузки, персонализацию системного ПО, подписание кода сообщений, выполнение приложений в песочнице и с правами непривилегированного пользователя, права доступа (entitlements), ASLR и ARM’s Execute Never. Но, допустим, что случилось страшное: нарушителю удалось каким-то образом обойти базовые механизмы безопасности, и конфиденциальная информация пользователя теперь находится под угрозой. Но и тогда нарушителю может помешать последний, практически нерушимый, оплот безопасности – механизмы шифрования и защиты данных.

Аппаратный уровень

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

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

Каждое устройство с iOS имеет встроенный чип, в котором реализован алгоритм AES-256. Расположение чипа на пути от флеш-памяти к оперативной памяти заметно снижает энергозатраты на шифрование/дешифрование. На аппаратном уровне также реализован алгоритм SHA-1.

При производстве в процессор зашиваются два 256-битных ключа AES: UID (уникальный идентификатор устройства) и GID (групповой идентификатор устройства). Никакое программно-аппаратное обеспечение не может напрямую прочитать ключи AES; можно только прочитать результаты шифрования/дешифрования на этих ключах. Ключ UID уникален для каждого устройства, и он неизвестен даже Apple. Не стоит путать UID и ECID; ECID – это тоже уникальный и тоже идентификатор, который имеет вид 00000XXXXXXXXXXX, где X – шестнадцатеричная цифра; а UID, как уже говорилось выше, 256-битный ключ. Ключ GID одинаков для всех процессоров одного семейства (например, у всех процессоров A5 GID одинаковый).

При загрузке ядра служба IOAESAccelerator вычисляет еще пять ключей на основе UID и GID:

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Рисунок 1. Ключи, генерируемые на основе UID и GID

В дальнейшем нас будут интересовать только ключи 0x835, 0x89A и 0x89B.

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

Быстрое и безопасное удаление ключей настолько же важно, как и их генерация. Для решения подобной проблемы на устройствах под управлением iOS существует специальная область под названием Effaceable Storage. Область занимает 1 блок (

1Мб) во flash-памяти и содержит три ключа: зашифрованный ключ EMF, зашифрованный ключ DKey и ключ BAG1 (подробнее об этих ключах чуть ниже). Технология Effaceable Storage позволяет при необходимости быстро стереть все ключи, сделав всю информацию на устройстве пользователя недоступной.

Механизм защиты данных

Наряду с технологиями аппаратного уровня, для защиты данных пользователя во flash-памяти также используется механизм Data Protection. Механизм ориентирован на мобильные устройства и позволяет пользователю, например, отвечать на входящие звонки без расшифровки конфиденциальных данных, или в фоновом режиме скачивать информацию даже когда устройство заблокировано. Контроль доступа к каждому фалу осуществляется на основе класса защиты, то есть каждому файлу присваивается определенный класс защиты, в зависимости от того, когда может потребоваться доступ к этому файлу (например, только после разблокировки устройства, или даже если устройство заблокировано). У каждого класса защиты есть отдельный ключ, на котором шифруется ключ файла, принадлежащего конкретному классу защиты.
Рассмотрим теперь подробнее, какие действия происходят при создании файла, и как организована его защита. Все очень просто.

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

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Рисунок 2. Первоначальный вариант иерархии ключей

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

Пароль пользователя

На своем устройстве пользователь может установить пароль (Passcode). Всего возможно три вида паролей:

На основе UID устройства и пароля пользователя с помощью специальной функции (PBKDF2) вычисляется парольный ключ (Passkey):

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Рисунок 3. Вычисление парольного ключа

Чтобы усложнить нарушителю атаку перебором, вычисление парольного ключа намеренно замедляется и в среднем занимает около 80 миллисекунд, причем после каждой неудачной попытке ввода пароля временная задержка до следующей попытки увеличивается. Кроме того, пользователь может включить опцию, благодаря которой после определенного числа неправильных попыток ввода пароля вся информация с устройства будет стерта. Заметим еще, что благодаря тому, что в вычислении парольного ключа участвует UID, парольный ключ для разных устройств с одинаковым паролем все равно будет различаться. Вообще, парольный ключ играет одну очень важную функцию, о которой будет рассказано чуть позже. Известно также, что, начиная с iOS 5, в процессе вычисления парольного ключа участвует еще один аппаратный ключ UID+, но, к сожалению, более подробной информации об этом ключе мне найти не удалось

Ключи классов защиты

Всего в iOS существует 11 классов защиты, причем 5 классов используются для защиты данных (ключи классов защиты данных), а 6 для защиты элементов связок ключей (ключи классов защиты элементов связки ключей). Сначала рассмотрим ключи классов защиты данных.

Название

Назначение

Данные доступны только после разблокировки

Данные доступны после разблокировки или если дескриптор файла остался открытым до блокировки

Данные недоступны только до первой аутентификации пользователя

Данные доступны, даже если устройство заблокировано

Таблица 1. Ключи классов защиты данных

Полная защита (NSFileProtectionComplete, Class A): Если для данных установлен такой класс защиты, то спустя некоторое время после блокировки устройства расшифрованный ключ класса полной защиты стирается из оперативной памяти, делая тем самым данные класса NSFilePotectionComplete недоступными до тех пор, пока пользователь снова не разблокирует устройство и не введет пароль.

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

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Данные недоступны только до первой аутентификации пользователя (NSFileProtectionCompleteUntilFirstUserAuthentication, Class C): В отличие от класса полной защиты ключ класса защиты NSFileProtectionCompleteUntilFirstUserAuthentication не удаляется из памяти после блокировки устройства, следовательно пользователь будет иметь доступ к данным класса С, начиная с момента первой разблокировки устройства и ввода пароля вплоть до перезагрузки устройства.

Защита отсутствует (NSFileProtectionNone, Class D): Этот класс по умолчанию присваивается данным, если им не присваивается какой-либо другой класс. На самом деле ключ NSFileProtectionNone хранится в Effaceable Storage: это и есть тот самый ключ Dkey, зашифрованный ключом 0x835, т.е. Dkey! = AES_ENC(0x835, DKey). Таким образом, даже если файлу не присвоен какой-либо класс защиты, файл все равно шифруется.

Связка ключей

Многие приложения должны хранить собственные данные (например, пароли приложения, Wi-Fi пароли, почтовые аккаунты, сертификаты и.т.п.) в безопасности. Безопасность конфиденциальных данных приложений достигается за счет так называемой “связки ключей” (Keychain). По своей сути связка ключей – это база данных SQLite, хранящаяся в файловой системе устройства и имеющая класс защиты NoProtection. Доступ к базе осуществляется при помощи демона securityd, именно этот демон решает какое приложение или процесс к какому элементу связки ключей (записи в базе данных) может обратиться.

Хотя сама база и имеет класс защиты NoProtection, элементы связки ключей имеют собственные классы защиты, а соответственно и ключи классов защиты, в дальнейшем такие ключи будут называться ключи классов защиты элементов связки ключей. В Таблице 2 представлены все 6 возможных ключей классов защиты элементов связки ключей:

Название

Назначение

Элемент связки ключей доступен только после разблокировки

Элемент связки ключей недоступен только до первой аутентификации

Элемент связки ключей доступен, даже если устройство заблокировано

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

Элемент связки ключей недоступен только до первой аутентификации, и элемент нельзя перемещать между устройствами

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

Таблица 2. Ключи классов защиты элементов связки ключей

Заметим, что половина ключей классов защиты связки ключей имеет постфикс “ThisDeviceOnly”. Дело в том, что в iOS 5 появилась возможность перемещать элементы связки ключей с одного устройства на другое. Элементы, которые имеют класс защиты с постфиксом “ThisDeviceOnly” дополнительно защищаются UID устройства, и поэтому на другом устройстве их просто не получится расшифровать.
Каждый элемент связки ключей имеет следующую структуру (начиная с iOS 5):

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Рисунок 4. Структура элемента связки ключей

access group: группа доступа, т.е. приложения, процессы, которые могут получить доступ к элементу связки ключей;

Сумки с ключами

(Слева от абзаца 5_dollars.png) Все ключи классов защиты объединяются в еще одну сущность под названием “сумка с ключами” (Keybag). Всего существует 4 разновидности сумок с ключами: Системная сумка с ключами (System Keybag), Резервная сумка с ключами (Backup Keybag), Депонированная сумка с ключами (Escrow Keybag), Резервная сумка с ключами iCloud (iCloud Backup Keybag). Все сумки имеют одинаковую структуру, которая представлена на Рисунке 5:

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Рисунок 5. Структура сумки с ключами

Теперь рассмотрим, какие функции выполняет каждая сумка в отдельности.

Системная сумка с ключами. Системная сумка хранится непосредственно на устройстве в файле /private/var/keybags/systembag.kb. Файл системной сумки зашифрован на ключе BAG1, который, как уже известно, находится в Effaceable Storage. Нужно отметить, что после каждой смены пароля меняется и ключ BAG1. После расшифровки файла мы получим системную сумку с ключами, но она будет находиться в заблокированном состоянии, то есть все ключи классов защиты в сумке по-прежнему будут зашифрованы. Каждый ключ зашифрован одним из трех способов: либо только на ключе UID, либо только на парольном ключе, либо одновременно на парольном ключи и на UID. За конкретный тип шифрования отвечает поле Wrapping type.

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Рисунок 6. Разблокировка системной сумки с ключами

В шифровании ключей классов защиты элементов связки ключей “…ThisDeviceOnlyвсегда участвует ключ UID, для того чтобы на другом устройстве эти ключи расшифровать бы не получилось.

Резервная сумка с ключами. Каждый раз, когда пользователь делает резервную копию устройства в iTunes, на компьютере пользователя создается резервная сумка с ключами. Ключи классов защиты в резервной сумке отличаются от ключей классов защиты в системной сумке, поэтому все файлы бэкапа перешифровываются на новых ключах. Файлы бэкапа шифруются, конечно же, алгоритмом AES 256 в режиме CBC на уникальном ключе и нулевом IV.

Всего возможно два вида бэкапов: обычный и зашифрованный. Различия между ними следующие:

Согласно такой схеме резервного копирования элементы связки ключей “…ThisDeviceOnly” перебросить с одного устройства на другое никак не получится, а перемещаемые элементы связки ключей можно, простите за тавтологию, переместить только в зашифрованном бэкапе.
Депонированная сумка с ключами. Депонированная сумка позволяет синхронизированному устройству (например, компьютеру, на котором установлен iTunes) разблокировать устройство с iOS, не требуя каждый раз пароля от пользователя. Когда устройство подключается к компьютеру, iTunes просит пользователя ввести пароль. После правильного ввода пароля создается депонированная сумка (ключи классов защиты в ней точно такие же, как и в системной сумке) и сохраняется на компьютере. Депонированная сумка зашифрована на 256-битном случайно сгенерированном ключе. Ключ, в свою очередь, хранится в файле на устройстве в папке /private/var/root/Library/Lockdown/escrow_records. Файл имеет класс защиты NSFileProtectionCompleteUntilFirstUserAuthentication.

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

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

Что такое ecid iphone. Смотреть фото Что такое ecid iphone. Смотреть картинку Что такое ecid iphone. Картинка про Что такое ecid iphone. Фото Что такое ecid iphone

Рисунок 7. Иерархия ключей

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

В заключение статьи опишем возможные атаки на механизм защиты данных

Атаки на механизм защиты данных

Допустим, нарушитель все-таки хочет извлечь конфиденциальную информацию из устройства пользователя. Нарушителю может потребоваться файл целиком (например, какой-нибудь сверхсекретный документ), или какие-либо атрибуты безопасности приложений (Wi-Fi пароль, сертификаты, закрытые ключи приложений и.т.п.). В первом случае необходимо знать ключ EMF, а также соответствующий ключ класса защиты данных. Ключ EMF зашифрован на ключе 0x89B, который, в свою очередь, вычислен на основе UID. Для шифрования ключей классов защиты данных используются ключи BAG1, UID и/или парольный ключ. Во втором случае элементы связки ключей зашифрованы на соответствующих ключах классов защиты элементов связки ключей, и для их (ключей классов защиты) расшифровки также необходимо знать ключи BAG1, UID и/или парольный ключ.

Следует сказать, что на данный момент известных способов извлечь аппаратные ключи UID и GID не существует. Но не все так плохо. Специально для программно-технической экспертизы устройств с iOS компания Sogeti Labs выпустила пакет утилит, позволяющих извлечь практически все ключи (кроме аппаратных) из устройства. Ключи можно прочитать, благодаря пропатчиванию службы ядра IOAESAccelerator. Именно эта служба при загрузке ядра вычисляет ключи 0x835, 0x89A и 0x89B (см. Рисунок 1), а зная их, можно получить ключи Dkey, EMF и BAG1 (BAG1 вообще хранится незашифрованным). Для пропатчивания на устройстве, безусловно, должен быть сделан jailbreak. Код утилит от Sogeti Labs открыт, и при желании их легко можно найти в Интернете.

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

Случай 2: Эксплуатация Депонированной сумки с ключами. Как известно ключи классов защиты из депонированной сумки ничем не отличаются от ключей в системной сумке. Если нарушитель будет иметь доступ к устройству и компьютеру пользователя, то он сможет извлечь из устройства ключ, на котором зашифрована депонированная сумка (подбор 256-битного ключа займет достаточно много времени), расшифровать сумку и извлечь все ключи классов защиты. В результате нарушитель получит доступ некоторым данным и атрибутам безопасности.

Случай 3: Эксплуатация обычного бэкапа. В обычных бэкапах все ключи классов защиты элементов связки ключей зашифрованы на ключе 0x835. Следовательно, имея доступ к компьютеру с бэкапом и устройству пользователя, можно с помощью утилит Sogeti Labs извлечь ключ 0x835 и расшифровать все элементы связки ключей из бэкапа.

Случай 4: Эксплуатация зашифрованного бэкапа. В отличие от предыдущего способа часть ключей сейчас (с 6 по 8) зашифровано на парольном ключе резервной копии, а другая часть (с 9 по 11) на парольном ключе резервной копии и ключе 0x835. Если пароль резервной копии достаточно слабый, то его можно подобрать, а дальнейшие действия ничем не отличаются от предыдущего способа.

Но не стоит думать, что достаточно сложный пароль будет панацеей от всех атак. Даже самый стойкий пароль не устоит перед социальной инженерией или внедрением вируса в устройства (при условии, что на устройстве сделан jailbreak).

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *