Биометрические механизмы аутентификации стали использоваться в смартфонах не так давно. Всего четыре года назад дактилоскопический сканер появился в iPhone 5s. До той поры отдельные попытки интегрировать сканеры отпечатков предпринимались производителями и раньше, но ничего хорошего из этого не выходило.
Прогресс не стоит на месте. Со временем производители встраивали новые способы биометрической аутентификации. Разблокирование по лицу в Android Smart Lock, подсистема Windows Hello, позволяющая разблокировать смартфоны Lumia 950 и 950 XL по результатам сканирования радужной оболочки глаза, а также новейшая разработка Apple – система Face ID, сканирующая трёхмерную модель лица пользователя. Как обстоят дела с биометрией сегодня и стали ли наши смартфоны более безопасными от повсеместного внедрения сканеров отпечатков? Этой публикацией мы открываем серию статей, посвящённых методам биометрической аутентификации в современных смартфонах. Для начала поговорим о самом старом и самом популярном на сегодняшний день способе – датчиках отпечатков пальцев. Начнём наше исследование с устройств Apple – iPhone и iPad, оборудованных датчиком Touch ID.
На сегодняшний день компания Apple устанавливает датчики Touch ID практически во все свои устройства (за исключением давно не обновлявшейся линейки iPod Touch), в то время как производители смартфонов на Android получили возможность доступа к нужному API с выходом Android 6.0. Попробуем разобраться, насколько безопасен дактилоскопический метод аутентификации и имеет ли практический смысл его использование.
Соблюдая исторический порядок, начнём мы, пожалуй, с Apple.
В далёком 2013 году проблемой Apple, уже в те времена начинавшей обращать внимание на безопасность данных, был простой факт: пользователи в массе своей не желали каким-либо образом защищать свои устройства. Вводить PIN-код для разблокировки телефона? Это долго и неудобно. Проанализировав ситуацию, в Apple решили не заставлять пользователей использовать коды блокировки. Вместо этого в компании попытались попросту максимально упростить процесс разблокировки, сделав его умеренно безопасным. Основная идея технологии Touch ID (кстати, как и Smart Lock в Android) вовсе не в том, чтобы сделать безопаснее каждый отдельный телефон. Идея в том, чтобы сделать безопасность достаточно удобной и привлекательной в глазах основной массы пользователей, повысив распространённость безопасных способов блокировки устройств. И своей цели компания добилась.
Touch ID – это уникальный программно-аппаратный комплекс, и слово «уникальный» здесь не несёт рекламного оттенка: каждый конкретный датчик в процессе производства проходит настройку для работы с конкретным устройством. Давнишний скандал с «ошибкой 53» возник именно из-за этой особенности, которая блокировала работу устройств, у которых в кустарных условиях заменили датчик отпечатков пальцев.
Устройства, оборудованные Touch ID, не сохраняют копии отпечатков. Казалось бы, необходимость хранить данные отпечатков в виде односторонней хэш-функции очевидна, но не для производителей: так, разработчики одного из первых смартфонов с датчиком отпечатка, телефона HTC One Max, решили, что хранить отпечатки можно в виде картинок в самой обычной папке в памяти устройства.
Что бы ни думали разработчики HTC, инженеры Apple такой ошибки не совершили: сканированный отпечаток переводится в математическую форму, после чего сохраняются в зашифрованном виде в защищённой зоне процессора. Отдельно отметим, что эти данные не попадают в iCloud и не передаются на сервер компании.
Что интересно, даже односторонние хэш-функции отпечатков зашифрованы, причём ключи шифрования вычисляется во время загрузки устройства на основе уникального аппаратного ключа (который хранится глубоко внутри Secure Enclave и не может быть оттуда извлечён) и кода блокировки, который вводит пользователь. Расшифрованные дактилоскопические данные доступны только в оперативной памяти устройства и не сохраняются на диск. При этом система время от времени удаляет данные отпечатков даже из оперативной памяти устройства, вынуждая пользователя повторно авторизоваться с помощью кода блокировки (который, напомним, даст системе возможность расшифровать данные отпечатков и возобновить работу датчика Touch ID).
Пожалуй, самое интересное в системе безопасности iOS – это именно вопрос о том, при каких обстоятельствах iOS удалит данные отпечатков (для iPhone X – данные Face ID) из оперативной памяти устройства и заставит пользователя заново авторизоваться с помощью кода разблокировки. (Разумеется, из Secure Enclave данные отпечатков никуда не пропадают, просто для их расшифровки требуется ввести код разблокировки экрана).
Для начала подумаем, зачем Apple вообще понадобилось периодически удалять отпечатки?
В Apple прекрасно понимают (и понимали четыре года назад) тот факт, что любую биометрическую систему можно обмануть. Да, в Apple разработали прекрасные дактилоскопические сканеры, обмануть которые непросто. Но всё-таки можно. В конце концов, владельца можно заставить приложить палец для разблокирования телефона – вот только в рамках американской правовой системы для осуществления сего действа требуется ордер, на получение которого уходит время… по истечении которого телефон удалит из памяти данные отпечатков и не позволит разблокировать устройство по отпечатку пальца.
Звучит как натяжкаНет, просто Apple очень не понравилась попытка давления со стороны правоохранительных органов, в ответ на которое она и ввела эту меру:
Но не будем отвлекаться, а посмотрим лучше внимательно на условия, при которых система блокирует работу Touch ID и вынуждает авторизоваться с помощью кода блокировки.
Датчик Touch ID выключается, а данные отпечатков – удаляются из памяти устройства при соблюдении любого из следующих условий:
О режиме S.O.S. поговорим подробнее. Для его активации в «старых» устройствах (до iPhone 7 включительно) требовалось пятикратное нажатие кнопки питания (в Индии – всего лишь трёхкратное), что является довольно естественным жестом в условиях паники. В то же время для поколения устройств iPhone 8, 8 Plus и iPhone X нужно зажать и удерживать кнопку питания и одну из кнопок громкости, на что в условиях стресса способен… я думаю, никто не способен. Тем не менее, при входе в этот режим данные отпечатка (для iPhone X – данные Face ID) удаляются из оперативной памяти устройства, и для его разблокировки потребуется вновь авторизоваться при помощи пароля.
Если речь идёт о взломе Touch ID, то обмануть датчик сложно, но можно. Для обмана современных датчиков нужно создать трёхмерную модель пальца, причём из правильного материала. На старых устройствах (iPhone 5s, iPad mini 3) обмануть датчик заметно проще. К примеру, команда немецких хакеров смогла обмануть датчик iPhone 5s через два дня после выхода устройства на рынок (http://arstechnica.com/apple/2013/09/chaos-computer-club-hackers-trick-apples-touchid-security-feature/), попросту распечатав оригинальный отпечаток пальца с разрешением 2400 dpi.
Но перед тем, как приступать к моделированию отпечатка, необходимо позаботиться о сохранности данных на устройстве, а также о том, чтобы данные отпечатка не были удалены из памяти устройства раньше времени.
Действовать нужно чётко и быстро: времени не так много.
Допустим, нам удалось успешно обмануть датчик отпечатка пальцев. Что дальше? iOS – закрытая система, а вся память устройства будет зашифрована. Варианты?
Есть два момента, которые нужно обязательно отметить. Во-первых, это пароль на резервную копию. Если он установлен, его придётся взломать перебором (например, с помощью Elcomsoft Phone Breaker). А вот если он не установлен – обязательно установите известный пароль! Простейшего «123» будет вполне достаточно. Из резервной копии, зашифрованной паролем, можно расшифровать все данные, а из незашифрованной – все, кроме keychain. Поскольку в keychain хранится всё самое интересное, установить временный пароль перед снятием резервной копии будет весьма полезно.
Второй момент – версия iOS. Начиная с iOS 11 для установления доверительных отношений с компьютером (а они необходимы для создания резервной копии) требуется ввести пароль блокировки устройства. Если он неизвестен – ничего не получится. Таким образом, можно считать, что разблокировка по датчику отпечатка даже более безопасна по сравнению с паролем блокировки.
В Apple смогли с первой же попытки создать завершённую и очень удачную схему защиты. Датчик отпечатков удачно вписался в общую концепцию. Программным способом обойти эту защиту невозможно, времени на любые попытки обмануть датчик совсем немного, а результат на новых устройствах не гарантирован. Однозначно, в компании добились своей цели.
Ещё более совершенной схема биометрической аутентификации стала с выходом iOS 11. Теперь для того, чтобы извлечь данные из iPhone, недостаточно просто разблокировать его при помощи отпечатка. Любые действия с устройством (установление доверенных отношений для снятия резервной копии, добавление и удаление отпечатков, деактивация iCloud Lock и отвязка от учётной записи владельца, смена пароля на резервную копию) требуют дополнительного ввода пароля блокировки. Таким образом, даже обманув датчик отпечатков пальцев, злоумышленник получит лишь весьма ограниченный доступ и не сможет в полной мере использовать все возможности устройства.