Исследование Фраунгофера о безопасности брелка для iOS:
Из того, что я могу сказать, есть два уровняшифрования, которое использует цепочка для ключей iOS.Первый уровень использует пароль блокировки экрана в качестве ключа шифрования.На втором уровне используется ключ, сгенерированный и сохраненный на устройстве.
Исследователи Фраунгофера выяснили, как обойти второй уровень.Это «более простой» уровень, так как ключ шифрования хранится на устройстве.Поэтому на iOS4 их метод работает только с записями цепочки для ключей, которые НЕ используют kSecAttrAccessibleWhenUnlocked или kSecAttrAccessibleWhenUnlockedThisDeviceOnly, потому что эти записи находятся в памяти с дешифрованным первым уровнем - даже когда телефон заблокирован.
- Начиная сiOS 4, ключи с kSecAttrAccessibleWhenUnlocked и kSecAttrAccessibleWhenUnlockedThisDeviceOnly защищены дополнительным уровнем шифрования
- В iOS 3.x и более ранних версиях все ключи можно расшифровать с помощью метода Фраунгофера, независимо от используемого атрибута доступности
- Устройства со слабыми паролями (менее шести цифр) будут по-прежнему уязвимы
≈50 мс на попытку пароля;→ ≈20 попыток в секунду;→ ≈1,7 года для 50% -ного изменения правильного пароля для 6-значного буквенно-цифрового кода с основанием 36. Стандартный простой код из 4 цифровых цифр будет взломан менее чем за 9 минут.Исходя из предположения, что счетчик неправильных попыток в iOS можно обойти, поскольку он не основан на аппаратном обеспечении
Apple Inc. WWDC 2010, Core OS, сессия 209 «Защита данных приложения», слайд 24
Итог: если вам необходимо хранить конфиденциальные данные, лучше используйте свое собственное шифрование.И не храните ключ на устройстве.
Редактировать: Есть множество новостных статей , в которых цитируется исследование Фраунгофера, и заверяйте своих читателей, чтобы они не беспокоились, если их устройства не украдут, потому что этоАтака может быть осуществлена только при физическом доступе к устройству.
Я как-то сомневаюсь.Тот факт, что исследователи проводили свои тесты с физическим доступом к телефону, кажется, просто облегчил проблему, а не ограничил ее.Это их описание того, что они сделали для расшифровки записей цепочки для ключей:
После использования инструмента для джейлбрейка, чтобы получить доступ к командной оболочке, мы запускаем небольшой скрипт для доступа и дешифрования паролей, найденных вбрелокРасшифровка выполняется с помощью функций, предоставляемых самой операционной системой.
Как известно любому, кто использовал jailbreak.me, для взлома не требуется физический доступ к устройству,Теоретически это должно быть тривиально изменить код jailbreak.me и сделать так, чтобы он автоматизировал следующее:
- Выполните джейлбрейк как обычно (все, что требуется, это чтобы пользователь открыл злонамеренно созданный PDF)
- Запуск сценариев Fraunhofer после завершения джейлбрейка
- Отправка паролей по сети в место, откуда злоумышленник может прочитать его из
Так что еще раз, будьте осторожны с тем, что выположить в брелок.