Как называется сканер отпечатков пальцев в телефоне. Какими бывают и как работают сканеры отпечатков пальцев

Что представляет собой отпечаток и как обмануть сканер отпечатков пальцев? По сути, отпечаток — это папиллярные узоры на коже. То есть выступы и углубления, которые складываются в определенный узор. У каждого человека они свои, индивидуальные.

Формирование папиллярных узоров

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

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

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

Как работает сканер отпечатков

Сканер отпечатков пальцев должен выполнить два действия:

  1. Получить изображение узора
  2. Проверить, совпадает ли он с отпечатками, находящимися в базе данных.

Сканирование

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

В то время, когда на светодиод попадает свет, он производит электрический заряд. Таким образом, формируется пиксель на будущем снимке узора. Цвет пикселя варьирует в зависимости от того, какое количество света попало.

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

Анализ отпечатка

Полученное изображение подвергается анализу программного обеспечения. Распознавание происходит при помощи сложных алгоритмов.

Можно разделить все узоры на три основных типа:

  • дуговые,
  • петлевые
  • завитковые.

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

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

Виды сканеров отпечатка пальца

Оптические сканеры бывают двух видов:

  • Сканеры Apple (iPhone 5s и далее) делают снимок пальца в то время, когда он прикасается к экрану телефона.
  • Другой тип сканера делает сразу несколько изображений, пока вы проводите пальцем по экрану. Такой сканер использовался в смартфонах Самсунг Галакси S5. Позже сканер заменили на первый тип. Он удобнее, но при этом дороже, поскольку надо использовать большую матрицу.

Все сканеры подобного плана имеют один минус: царапины и загрязнения могут вывести его из строя.

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

Достаточно сделать слепок фаланги пальца и прикоснуться им к сканеру. К тому же владельца телефона можно заставить приложить его палец к устройству.

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

Как видите, есть несколько способов, как обмануть сканер отпечатков пальцев. Причем,если в айфонах это сделать затруднительно, то в смартфонах с ОС Андроид дело обстоит намного проще.

Не так давно технология считывания отпечатков пальцев была связана в основном с научно-фантастическими фильмами. Теперь, даже в бюджетном смартфоне Xiaomi есть сканер отпечатков пальцев. Мы объясним читателям принцип его работы.

Сканер отпечатков пальцев (Touch ID) позволяет идентифицировать пользователя на основе уникального рисунка кожи на кончике пальца. У каждого человека свой собственный отпечаток и «рисунок», который не повторяется даже в случае идентичных близнецов.

Отпечаток пальца (fingerprint) позволяет идентифицировать любого человека, например в случае поиска преступников. Как оказалось, функция Touch ID также полезна для пользователей смартфонов. С её помощью можно защитить смартфон от несанкционированного доступа.

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

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

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

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

Минуции (или «точки Гальтона») – это уникальные для каждого пальца участки рисунка кожи (точки), которые показывают в каких местах папиллярные линии сливаются, раздваиваются или обрываются.

Типы сканеров отпечатков пальцев

1. Оптический сканер «снимает» всю панель пальцев и использует CCD-матрицу (как и большинство камер) для этого. В местах, где свет не приходит (гребни), матрица записывает «черные» пиксели, создавая точно отображаемое изображение пальца. Часто оптические сканеры имеют встроенный источник света (обычно светодиодный), чтобы сделать изображение максимально прозрачным.

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

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

4. Ультразвуковой сканер – использует явление дифракции, т. е. отражение и рассеяние звуковых волн. Когда мы прикладываем палец к считывателю он начинает генерировать неслышимые звуки для нас. Поведение звуковых волн в точках контакта «гребня» площадки отпечатка со сканером совершенно иное, чем во «впадинах» (где есть воздух). Это позволяет ультразвуковому сканеру создавать точный отпечаток вашего пальца.

Какой сканер отпечатка пальца лучше?

В настоящее время большинство смартфонов Xiaomi используют ёмкостные считыватели, например популярные Redmi Note 3 или Mi 5. Однако большие надежды связаны с ультразвуковыми сканерами, установленными непосредственно под дисплеем, и, вероятно, эта технология будет наиболее популярна в ближайшем будущем.

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

Официально поддержка сканера отпечатков пальцев появилась в Android 6.0, но до сих пор многие пользователи воспринимают его лишь как средство для разблокировки смартфона. Между тем сканер можно использовать, чтобы нажимать кнопки «Домой» или «Назад», открывать шторку, снимать камерой, запускать приложения, защищать пароли, СМС, фотографии и банковские счета. А если ты умеешь пользоваться Tasker, то сможешь назначить на сканер отпечатков практически любое действие.

Сразу оговоримся, что в этой статье речь пойдет о смартфонах на базе Android 6.0, в которых сканер отпечатков и доступ к нему реализован согласно требованиям Google. Только такие смартфоны позволяют сторонним приложениям использовать сканер в своих целях. Китайские и некоторые другие смартфоны со сканером отпечатков и Android 5.0/5.1 не подойдут, так как хоть и поддерживают разблокировку смартфона прикосновением пальца, но не имеют API, с помощью которого сторонний софт мог бы его задействовать.

1. Вешаем на сканер кнопку «Домой», «Назад» или любую другую

Наверное, самое полезное применение, которое можно придумать сканеру отпечатков, - это повесить на него одну из хардварных или экранных кнопок, будь то «Домой», «Назад» или «Обзор». Все это позволяет сделать приложение Fingerprint Quick Action .

Устанавливаем приложение, ставим галочку напротив пункта «Разрешить Fingerprint Quick Action». Откроется окно «Спец. возможности», в котором необходимо найти приложение и включить его. Далее можно повесить на одиночное, двойное нажатие или свайп по сканеру одно из множества действий, включая кнопки «Назад» и «Домой», а также «Выключить экран», «Показать панель уведомлений» (как в Google Pixel), «Разделить экран» (для одновременного запуска двух приложений в Android 7.0) и другие.

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

2. Запускаем приложения

Тот же Fingerprint Quick Action позволяет с помощью сканера запускать приложения. Это может быть очень удобно, если чаще всего ты используешь смартфон, например, для общения в Telegram/WhatsApp или звонков. Так доступ к телефону или мессенджеру всегда будет под рукой.

Выбрать приложение можно таким же способом, как и назначить кнопку. Необходимо промотать список действий до самого конца и выбрать Launch app or shortcut (да, приложение переведено не полностью), далее в главном окне приложения появится пункт Single tap app or shortcut. Тут можно будет выбрать приложение.

3. Защищаем приложения

С помощью сканера отпечатков можно не только запускать, но и защищать приложения. Для этого можно использовать App Lock - приложение, позволяющее закрыть доступ к выбранным приложениям с помощью PIN-кода, паттерна либо отпечатка пальца.

Пользоваться им очень просто. Запускаем приложение, включаем «Разблокировать отпечатком», далее вводим либо PIN, либо паттерн (здесь он зовется рисунком), пропускаем экран с просьбой ввести email, на следующем экране переходим в настройки, выбираем App Lock, активируем и возвращаемся. На следующем экране появится список приложений. Чтобы включить защиту, достаточно активировать переключатель напротив имени приложения. Теперь при попытке запустить приложение появится просьба поднести палец к сканеру.

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

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

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

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

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

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

Рассматриваемый сканер отпечатков пальцев R308 (ссылка в магазин) является оптическим (метод на отражение). Данный метод использует эффект нарушенного полного внутреннего отражения (Frusted Total Internal Reflection). Эффект заключается в том, что при падении света на границу раздела двух сред световая энергия делится на две части - одна отражается от границы, другая проникает через границу во вторую среду. Доля отраженной энергии зависит от угла падения светового потока. Начиная с некоторой величины данного угла, вся световая энергия отражается от границы раздела. Это явление называется полным внутренним отражением. В случае контакта более плотной оптической среды (поверхности пальца) с менее плотной в точке полного внутреннего отражения пучок света проходит через эту границу. Таким образом, от границы отразятся лишь пучки света, попавшие в определенные точки полного внутреннего отражения, к которым не был приложен папиллярный узор пальца. Для захвата полученной световой картинки поверхности пальца используется специальный датчик изображения (КМОП или ПЗС, в зависимости от реализации сканера).

Для данного метода можно отметить следующее:

  • Одни из самых дешевых сканеров отпечатков пальцев при относительно большой площади сканирования пальца
  • Чувствительность к загрязнению рабочей поверхности датчика
  • Малая защита от муляжей
  • Относительно крупные размеры модуля

Итак сканер отпечатков пальцев R308 имеет следующий вид:

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

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

Характеристики сканера отпечатков пальцев R308:

  • Напряжение питания – 4,5-5 вольт
  • Рабочий ток – 40 мА
  • Интерфейс – UART (TTL logical level)
  • Baud rate – 9600*n, n=1~12, по умолчанию 57600 bps
  • Время сканирования отпечатка пальца –до 0,5 сек
  • Размер шаблона отпечатка – 512 байт
  • Коэффициент ложного пропуска FAR (False Acceptance Rate) – менее 0,001 %
  • Коэффициент ложного отказа в доступе FRR (False Rejection Rate) – менее 0,5 %
  • Уровень безопасности – 5
  • Время среднего поиска – менее 1 сек
  • Размер окна считывания отпечатка пальца – 18х22 мм
  • Размер модуля – 55,5х21х20,5 мм
  • Диапазон рабочих температур – -20-+40 градусов Цельсия

Для подключения к другим устройствам R308 имеет 6-контактный разъем:

  1. Vt – плюс питания детектора пальца
  2. Vin – плюс питания модуля
  3. Touch – выход сигнала детектора пальца

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

Структура пакета данных, передаваемых и принимаемых модулем:

  1. Header – заголовок, фиксированное значение 0xEF01 (2 байта)
  2. Adder – адрес сканера отпечатков пальцев, фиксированное значение 0xFFFFFFFF (4 байта)
  3. Package identifier – идентификатор пакета данных, 01H – пакет команды, 02H – пакет данных, 07H – пакет ответа, 08H – пакет окончания данных (1 байт)
  4. Package length – количество байт пакета информации (включает сумму байт данных пунктов 5 - 6), максимальное количество 256 байт (2 байта)
  5. Package contents – полезные данные
  6. Checksum – контрольная сумма, арифметическая сумма пунктов 3-6 (2 байта)

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

  1. Сканирование отпечатка пальца и сохранение его в буфере. Возвращает код подтверждения об успешности операции.
  2. Создание файла символов отпечатка пальца из оригинального отпечатка и сохраняет его в CharBuffer1 (2). Возвращает код подтверждения об успешности операции.
  3. Поиск на совпадение отпечатка пальца в библиотеке модуля который соответствует хранимому в CharBuffer1 или CharBuffer2. Возвращает код подтверждения об успешности операции и ID отпечатка пальца в библиотеке модуля.
  4. Создание шаблона модели отпечатка пальца. Информация в CharBuffer1 и CharBuffer2 объединяется и комбинируется для получения более достоверных данных об отпечатке пальца (отпечаток в этих буферах должен принадлежать одному пальцу). После операции данные сохраняются обратно в CharBuffer1 и CharBuffer2. Возвращает код подтверждения об успешности операции.
  5. Сохранение шаблона отпечатка пальца из Buffer1/Buffer2 во флэш память библиотеки модуля. Возвращает код подтверждения об успешности операции.
  6. Удаление шаблона из флэш памяти модуля. Возвращает код подтверждения об успешности операции.
  7. Очистка памяти библиотеки отпечатков пальцев модуля. Возвращает код подтверждения об успешности операции.
  8. Проверка пароля модуля. Возвращает код подтверждения об успешности операции.

Для того чтобы искать совпадение отпечатка пальца в библиотеке модуля необходимо сканировать отпечаток пальца и сохранить его в буфере, сгенерировать символьный файл и поместить его в CharBuffer и прописать команду на поиск совпадений отпечатков пальце (инструкции 1, 2, 3).

Для того чтобы внести отпечаток пальца в память модуля необходимо получить изображение отпечатка пальца, сохранить его в буфере и сгенерировать символьный файл, сохраняемый в CharBuffer (операции повторяем минимум 2 раза и сохраняем все в CharBuffer1 и CharBuffer2), далее комбинируем данные в буферах 1 и 2 для получения более точного результата и запускаем командой сохранение в указанное место памяти информацию об отпечатке пальца (инструкции 1, 2, 4, 5).

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

Для оценки работы модуля к статье прилагается демонстрационная прошивка для микроконтроллера STM32, соответствующая схеме:

На LCD дисплее отображаются необходимые данные для работы со сканером отпечатков пальцев, при включении схемы без замкнутых перемычек Jmp1 и Jmp2 запускается основной цикл программы, когда микроконтроллер ждет получения отпечатка пальца от сканера и запускает поиск в памяти модуля при его появлении. При включении с замкнутой перемычкой Jmp1 запускается полное стирание памяти библиотеки отпечатков пальцев. При включении с замкнутой перемычкой Jmp2 запускается добавление 5 новых отпечатков пальцев в память модуля. Для добавления отпечатка пальца необходимо дважды приложить палец к сканеру для его сохранения в случае отсутствия ошибок при сканировании отпечатков.

Кроме того к статье прилагается программа SFGDemo. С ее помощью можно получить изображение своего отпечатка пальца помимо стандартных операций добавления отпечатка в память, поиска совпадений, удаления отпечатка из памяти (для подключения к компьютеру используется переходник USB-UART).

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 МК STM32

STM32F103C8

1 В блокнот
VR1 Линейный регулятор

LM7805

1 В блокнот
VR2 Линейный регулятор

AMS1117-3.3

1 В блокнот
FP1 Датчик отпечатков пальцев R308 1 В блокнот
HG1 LCD-дисплей 2004a 1 В блокнот
C1, C2 Конденсатор 22 пФ 2 В блокнот
C3 470 мкФ 1 В блокнот
C4-C7, C9, C10, C12 Конденсатор 100 нФ 7 В блокнот
C8 Электролитический конденсатор 220 мкФ 1 В блокнот
C11 Электролитический конденсатор 100 мкФ 1 В блокнот
R1 Резистор

22 Ом

1 В блокнот
R2 Резистор

100 Ом

1 В блокнот
R3 Подстроечный резистор 10 кОм 1

Биометрические механизмы аутентификации используются в смартфонах не так давно. Всего три года назад дактилоскопический сканер появился в iPhone 5s. Отдельные попытки интегрировать сканеры отпечатков предпринимались и раньше, но ничего хорошего из этого не выходило. А как обстоят дела сегодня? Насколько легко обойти сканер и надежно ли он хранит данные отпечатков пальцев?

Количество vs качество

Сегодня Apple ставит датчики Touch ID практически во все устройства (за исключением линейки iPod Touch), в то время как производители смартфонов на Android получили возможность доступа к нужному API только с выходом Android 6.0, под управлением которой сейчас работает порядка 15% устройств. Попробуем разобраться, насколько безопасен дактилоскопический метод аутентификации и имеет ли практический смысл его использование.

Соблюдая исторический порядок, начнем мы, пожалуй, с Apple.

Touch ID и Secure Enclave: сладкая парочка

Три года назад проблемой Apple, уже в те времена начинавшей обращать внимание на безопасность данных, было то, что пользователи в массе своей не желали каким-либо образом защищать собственные устройства. Вводить PIN-код для разблокировки телефона? Это долго и неудобно. Посмотрев на ситуацию, в Apple решили не заставлять людей использовать коды блокировки, а попросту максимально упростить процесс разблокировки. Основная идея технологии Touch ID вовсе не в том, чтобы сделать безопаснее твой конкретный аппарат. Идея в том, чтобы сделать безопасность достаточно удобной и привлекательной для основной массы пользователей. И своей цели компания добилась.

Touch ID - это уникальный программно-аппаратный комплекс, и слово «уникальный» здесь не несет рекламного оттенка: каждый датчик в процессе производства проходит настройку для работы с конкретным устройством. Помнишь скандал с «ошибкой 53»? Именно эта особенность стала камнем преткновения, который блокировал работу устройств с замененным в кустарных условиях датчиком отпечатков пальцев.

Где хранятся отпечатки пальцев

Казалось бы, необходимость хранить данные отпечатков в виде односторонней хеш-функции очевидна, но тебе это только кажется: разработчики HTC One Max решили, что хранить отпечатки можно в виде картинок в самой обычной папке в памяти устройства. Чем бы ни думали разработчики HTC, инженеры Apple такой ошибки не совершили: сканированный отпечаток пропускается через хеш-функцию и сохраняется в Secure Enclave - защищенном от доступа извне микрокомпьютере. Отдельно отмечу, что эти данные не попадают в iCloud и не передаются на сервер компании.

Что интересно, даже односторонние хеш-функции отпечатков зашифрованы, причем ключи шифрования вычисляются во время загрузки устройства на основе уникального аппаратного ключа (который также хранится внутри Secure Enclave и не может быть оттуда извлечен) и кода блокировки, который вводит пользователь. Расшифрованные дактилоскопические данные хранятся только в оперативной памяти устройства и никогда не сохраняются на диск. При этом система время от времени удаляет данные отпечатков даже из оперативной памяти устройства, вынуждая пользователя авторизоваться с помощью кода блокировки (который, напомним, даст системе возможность расшифровать данные отпечатков и возобновить работу датчика Touch ID).

Когда и почему iOS удаляет данные отпечатков из оперативной памяти

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

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

Звучит как натяжка? Попахивает теорией заговора? Нет, просто Apple очень не понравилась попытка давления со стороны правоохранительных органов, в ответ на которое она и ввела эту меру: Apple adds another rule forcing iPhone and iPad users to employ a passcode to unlock their device .

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

  • телефон выключен или перезагружен;
  • пользователь добавляет данные еще одного пальца;
  • телефон получает команду удаленной блокировки через Find My iPhone;
  • было пять безуспешных попыток разблокирования с помощью отпечатка подряд;
    устройство ни разу не разблокировалось в течение двух суток;
  • антиполицай: прошло более шести суток с момента последнего ввода кода блокировки, а само устройство не было разблокировано датчиком Touch ID в течение последних восьми часов.

Смысл последнего пункта нужно пояснить. По мнению сайта PhoneArena, он «может усложнить работу правоохранительных органов». Я выразился бы более уверенно, ведь последний пункт был введен сразу после нашумевшего процесса с террористом из Сан-Бернардино, когда на Apple оказывалось беспрецедентное давление.

Как обойти сканер отпечатков пальцев

Если речь идет о взломе Touch ID, то обмануть датчик сложно, но можно. Для обмана современных датчиков тебе придется создать трехмерную модель пальца, причем из правильного материала. На старых устройствах (iPhone 5s, iPad mini 3) обойти датчик заметно проще. К примеру, команда немецких хакеров смогла провести датчик iPhone 5s через два дня после выхода устройства на рынок, попросту распечатав оригинальный отпечаток пальца с разрешением 2400 dpi.

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

Действовать нужно четко и быстро: у тебя минимум времени.

  1. Итак, к тебе в руки попал телефон в неизвестном состоянии. Не трогай кнопку Touch ID! Если телефон заблокирован (а он, скорее всего, заблокирован), ты напрасно потратишь одну попытку из пяти. Проверь состояние устройства коротким нажатием кнопки питания.
  2. Если устройство заблокировано, изолируй его от внешних радиосетей, поместив его в клетку Фарадея (в домашних условиях ее роль выполнит обычная микроволновка. Выключенная микроволновка!). Не забудь поставить его на зарядку, даже если ее роль будет выполнять внешний аккумулятор. Все это делается для того, чтобы оградить устройство от команд по протоколу Find My iPhone, которые позволят как дистанционно заблокировать устройство, так и уничтожить его содержимое. (Думаешь, эти меры очевидны? Как бы не так! Науке известны как минимум два нашумевших случая, когда полицейские допускали удаленное уничтожение данных с уже конфискованных устройств.)
  3. А вот если устройство разблокировано, в твоих силах не позволить ему заблокировать экран. Для этого просто отключи автоматическую блокировку (в отличие от процедуры снятия кода блокировки, для отключения автоматической блокировки никакой код тебе вводить не потребуется).
  4. Если устройство было заблокировано, у тебя есть максимум 48 часов (на самом деле меньше) на попытки обмануть датчик отпечатков.
  5. Обрати внимание: все манипуляции с устройством должны проводиться исключительно в среде, защищенной от радиоволн (сетей Wi-Fi и сотовых сетей). Для срабатывания Find My iPhone достаточно пары секунд.
  6. Если датчик отпечатков удалось обмануть, отключи автоматическую блокировку экрана (см. пункт 3). Имей в виду: попытки добавить еще один отпечаток в настройках или сменить код блокировки не пройдут - для этих операций система всегда потребует ввести код.

Как это использовать?

Допустим, у тебя получилось обмануть датчик отпечатка пальцев. Что дальше? iOS - закрытая система, а вся память устройства будет зашифрована. Варианты?

  • Установка джейлбрейка: нет. Для взлома 64-битного iPhone или iPad тебе в любом случае потребуется ввести код блокировки (а в некоторых случаях еще и отключить код блокировки в настройках).
  • Физическое извлечение данных: можно попробовать. Если джейлбрейк уже установлен, ты сможешь извлечь большую часть данных, но не сможешь расшифровать keychain. А вот если джейлбрейка нет, то ничего поделать не получится - для его установки тебе потребуется код блокировки.
  • iCloud: возможно. Разблокировав устройство, ты сможешь заставить его сохранить свежую резервную копию в iCloud (Settings –> iCloud –> Backup –> Backup now). Помни, однако, что для извлечения этих данных из облака тебе понадобится пароль от Apple ID, а если в учетке активирована двухфакторная аутентификация - то и доступ ко второму фактору (в роли которого, впрочем, может выступить исследуемое устройство). Важный момент: тебе придется подключить устройство к Wi-Fi, в результате чего вместо резервной копии на устройство может прилететь команда блокировки или уничтожения данных.
  • Резервная копия iTunes: пожалуй, это единственное, что сделать можно и нужно. Разблокированное устройство легко подключается к iTunes, с помощью которого создается резервная копия данных на твоем компьютере. Дальнейшее - дело техники. Один момент: пароль на резервную копию. Если он установлен, тебе придется его взломать (например, с помощью Elcomsoft Phone Breaker). А вот если он не установлен - обязательно установи свой! Простейшего 123 будет вполне достаточно. Из резервной копии, зашифрованной паролем, ты сможешь извлечь все данные, а из незашифрованной - все, кроме keychain. Поскольку в keychain хранится все самое интересное, установить временный пароль перед снятием резервной копии будет весьма полезно.

Итог

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

Отпечатки пальцев и Android

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

Google Android 4.x–5.1.1: все очень грустно

Первые устройства со встроенными дактилоскопическими датчиками стали появляться довольно давно, еще во времена Android 4.4. На сегодняшний день их уже очень много: это Samsung Galaxy S5, S6, S7, Motorola Moto Z, Sony Xperia Z5, LG G5, Huawei Ascend Mate 7 и последующие, Meizu Pro 5 - и это далеко не все. Вот только не в каждом устройстве датчик отпечатков используется правильным образом. Связано это в первую очередь с тем, что вплоть до версии Android 6.0 в системе не существовало универсального API для дактилоскопической аутентификации. Нет API - нет и формальных требований , и, соответственно, нет никакой сертификации со стороны Google.

При полном отсутствии внешнего контроля производители нагородили такое… в страшном сне не приснится. Например, разработчики HTC One Max экстерном сдали экзамен по курсу «Android за 21 день» и реализовали замечательную систему, которая хранит полноценные копии отпечатков пальцев в публично доступном каталоге в несжатом (не говоря уже о шифровании) формате. Пожалуй, в инструкциях по «взлому» этой системы нет никакой нужды. Уточню только, что данные хранятся в файле /data/dbgraw.bmp, причем для твоего удобства разрешение доступа выставлено 0666.

Пример не единичный. Samsung Galaxy S5 вышел с Android 4.4 на борту. В скором времени хакерам удалось получить доступ к сканеру отпечатков и успешно обойти защиту.

До выхода шестой версии Android производители успели выпустить массу устройств, к которым безграмотно прикрутили датчики отпечатков. Ломать их даже неинтересно, до того там все уныло. Понятно, что долго терпеть такую ситуацию в Google не могли. Они и не стали.

Android 6.0: Fingerprint API и Nexus Imprint

С выходом Android 6.0 в Google не только разработали собственный API для аутентификации по отпечаткам пальцев, но и обновили Compatibility Definition Document, которому обязаны следовать все производители, желающие сертифицировать свои устройства для установки сервисов Google (это очень важный момент, о нем чуть позже).

Было выпущено сразу два референсных устройства: Nexus 5X и Nexus 6P. В них - и неотключаемое шифрование раздела данных, и правильная реализация датчиков отпечатков, получившая название Nexus Imprint.

Итак, чего же требует Google от производителей для получения сертификата соответствия? В отличие от ситуации с обязательным шифрованием на Android 5.0, на сей раз список требований не допускает двойных толкований. Переведем выдержку из .

7.3.10. Датчик отпечатков пальцев

В устройствах, в которых возможно использование блокировки экрана, РЕКОМЕНДУЕТСЯ использование датчика отпечатков пальцев. Требования к устройствам, оборудованным таким датчиком и предоставляющим доступ к API сторонним разработчикам:

  • ОБЯЗАТЕЛЬНО декларировать поддержку android.hardware.fingerprint.
  • ОБЯЗАТЕЛЬНО полная реализация fingerprint API из документации к Android SDK .
  • ОБЯЗАТЕЛЬНО иметь уровень ложноположительных срабатываний менее 0,002%.
  • НАСТОЙЧИВО РЕКОМЕНДУЕТСЯ уровень ложноотрицательных срабатываний менее 10%, задержка срабатывания менее 1 секунды (для 1 сохраненного отпечатка).
  • ОБЯЗАТЕЛЬНО ограничивать скорость попыток 30-секундной задержкой после 5 неудачных попыток.
  • ОБЯЗАТЕЛЬНО иметь аппаратное безопасное хранилище, а верификацию отпечатков проводить исключительно в доверенной зоне Trusted Execution Environment (TEE) или на выделенном процессоре с безопасным каналом связи с TEE. (На этом погорел Samsung S5, в котором с безопасным каналом связи была проблема )
  • ОБЯЗАТЕЛЬНО шифровать данные отпечатков таким образом, чтобы доступ к ним невозможно было получить за пределами Trusted Execution Environment (TEE) согласно Android Open Source Project .
  • ОБЯЗАТЕЛЬНО не разрешать добавлять отпечатки без установления доверенной цепочки (пользователь должен добавить или верифицировать PIN/паттерн/пароль через TEE согласно Android Open Source).
  • НЕ ПОЗВОЛЯТЬ сторонним приложениям различать отдельные отпечатки.
  • ОБЯЗАТЕЛЬНО корректно обрабатывать флаг DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT.
  • ВСЕ ОПИСАННЫЕ ВЫШЕ ТРЕБОВАНИЯ ОБЯЗАТЕЛЬНЫ при обновлении до Android 6.0, при этом данные отпечатков должны быть или мигрированы безопасным образом, или сброшены.
  • ЖЕЛАТЕЛЬНО использовать иконку Android Fingerprint из Android Open Source Project.

Как видим, документ не подразумевает двойных толкований. Производители, желающие сертифицировать устройства на базе Android 6.0 и выше, оборудованные датчиками отпечатков, должны полностью выполнить все требования. Более того: устройства, которые обновляются на Android 6.0, также обязаны соответствовать новым требованиям (и, соответственно, проходить сертификацию).

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

Android Smart Lock

А на самом деле в Android до сих пор есть ряд зияющих дыр в безопасности, позволяющих не просто обходить, а обходить на раз плюнуть все эти отпечатки и пароли. Одна из таких дыр - система Android Smart Lock, с помощью которой можно автоматически разблокировать телефон при совпадении некоторых внешних факторов. К примеру, многие пользователи разрешают автоматическую разблокировку дома, забывая о том, что точность позиционирования далеко не идеальна и понятие «дом» для телефона будет охватывать 80-метровый радиус. Многие активируют разблокировку доверенным устройством Bluetooth или включают псевдобиометрическую разблокировку по снимку лица (обходится довольно легко демонстрацией видеоролика или трехмерной модели).

Что интересно, никакой необходимости в Smart Lock при наличии работоспособного датчика отпечатков нет: экран в любом случае включается и разблокируется нажатием одной кнопки. Почему в Compatibility Definition нет требования отключать Smart Lock при активном датчике отпечатков? Загадка. Но ты можешь использовать эту систему для разблокирования устройства. Только имей в виду, что Smart Lock не будет активна сразу после перезагрузки устройства; для активации системы устройство нужно будет разблокировать паролем или паттерном хотя бы раз.

Наши китайские друзья

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

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

В Китае Google под запретом, и многие полуподвальные производители совершенно не собираются заморачиваться с ненужными сертификациями. Да ты и сам знаешь, с какими прошивками зачастую приходят устройства из Китая. В угоду производительности шифрование, как правило, не включается даже в прошивках на основе Android 6.0, а загрузчик не блокируется принципиально (в случае с процессорами MediaTek) или может быть легко разблокирован. Соответственно, есть там датчик отпечатков или нет - не играет ни малейшей роли.

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

Из этого правила бывают исключения. Все международные модели Huawei, Lenovo в обязательном порядке сертифицируются Google (а вот о специфически китайских моделях этого сказать нельзя). Интересна ситуация со смартфонами LeEco, которые продаются в Китае и пытаются завоевать внешние рынки. В случае с LeEco для одной и той же модели часто существуют как чисто китайские, так и международные прошивки. Отличаются они далеко не только предустановленным магазином Google Play, списком доступных языков и наличием/отсутствием «китайского мусора». В случае с международными прошивками (Индия, США, Россия) компания формально сертифицирует устройство для установки Google Play Services.

В частности, в международных прошивках LeEco на основе Android 6.0 (например, для Le2 Max) активируется (и не отключается) шифрование раздела данных - в полном соответствии с требованиями Android Compatibility Document. Многими пользователями это воспринимается как неудобство, и они пытаются перейти с таких прошивок на что-то другое, основанное на китайских сборках, что в свете разблокированного загрузчика полностью обесценивает всю модель безопасности.

Как взломать сканер отпечатков пальцев.

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

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

А вот ультразвуковой датчик обманывается с помощью пальца, отпечатанного на 3D-принтере, причем материал особого значения не имеет. Наконец, практически любой датчик примет за настоящий накладной отпечаток, выполненный из тонкого слоя токопроводящего материала и надетый поверх пальца.

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

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

Сравнение с Touch ID

Напрямую сравнить безопасность Apple Touch ID с ситуацией в мире Android не получится: если у Apple устройств единицы, то смартфонов на Android, наоборот, слишком много. В них могут использоваться самые разные датчики, основанные на разнообразных технологиях (от емкостных и оптических до ультразвуковых). Для разных датчиков подбирают разные технологии обхода. К примеру, для Samsung Galaxy S6 вполне срабатывает финт с разблокированием телефона моделью пальца, напечатанной на 3D-принтере из самого обычного пластика (с Apple Touch ID такой простой трюк не пройдет; для печати нужно будет использовать материал, обладающий особыми свойствами). Некоторые другие устройства легко обманываются распечатанными с высоким разрешением картинками.

А вот сравнение с Nexus Imprint вполне имеет смысл. В Nexus 5X и 6P Google использовал образцово-показательный подход к безопасности. Это и неотключаемое шифрование раздела данных, и грамотная интеграция датчиков отпечатков, да и сами датчики выбраны не абы как.

В устройствах сторонних производителей могут использоваться недостаточно безопасные датчики, могут зиять откровенные дыры в безопасности (несмотря на формальное соответствие требованиям Android Compatibility Definition).

Как защититься от взлома сканера отпечатков пальцев

Прочитал статью и твердо решил отключить злосчастный датчик в своем устройстве, использовав вместо него сложный буквенно-цифровой пароль? Не спеши. На самом деле все не так плохо. В случае с относительно современными устройствами Apple (начиная с iPhone 6, iPad mini 4, iPad Air) взлом дактилоскопического датчика тебе не грозит: даже если твой отпечаток сумеют отсканировать в достаточно высоком разрешении, времени на то, чтобы его использовать, у злоумышленника будет совсем немного. Правоохранительные органы могут заставить тебя разблокировать телефон отпечатком (и в отличие от разблокировки паролем они имеют на это полное право), но для этого действия им потребуется получить специальный ордер, в котором будет оговорена вся процедура. На получение ордера нужно время, за которое данные отпечатка в твоем iPhone успеют «протухнуть».

А вот если у тебя смартфон на Android… Включи шифрование. Без него данные с твоего телефона сольют безо всяких датчиков. Отключи Smart Lock - это зияющая дыра в безопасности. Убедись, что твой аппарат сертифицирован Google и работает под управлением Android 6.0 или более новой системы. Если это не так - я бы датчик отключил от греха подальше. Наконец, не поленись поискать информацию о том, был ли взломан датчик отпечатков для твоего устройства и если был - просто или сложно это сделать. Принимай решение в зависимости от того, насколько лично тебя устраивает сложность взлома дактилоскопического датчика потенциальным злоумышленником именно на твоем устройстве.

Заключение

Дактилоскопическая аутентификация - не панацея. Ее основное предназначение не в том, чтобы сделать более безопасным конкретно твое устройство, а в том, чтобы снизить неудобства, связанные с безопасной блокировкой телефона, и таким образом убедить основную массу пользователей все-таки блокировать свои устройства. У Apple - получилось. В Android ситуация сложнее: референсная система Nexus Imprint работает идеально, практически полностью копируя методы Touch ID. У других производителей дела обстоят не так радужно. Качество и безопасность датчиков временами вызывают сомнения, а в устройствах под управлением Android 5.1 и более ранних версий дактилоскопические датчики и вовсе остаются открытой дырой в безопасности. В случае с китайскими устройствами с разблокированным загрузчиком наличие дактилоскопического датчика никак не ухудшит и без того отсутствующую безопасность (впрочем, может и ухудшить: если попавший в твои руки телефон включен, а раздел данных зашифрован, то обман такого датчика - отличный способ обойти шифрование).

Last updated by at Январь 27, 2017 .