Сайт о телевидении

Сайт о телевидении

» » Как работает отпечаток пальца на смартфоне. Оптические сканеры отпечатков пальцев. Обзор датчика R308

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

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

Во втором типе оптического сканера мы должны проводить пальцем по сканеру. Сканер делает серию снимков и программно объединит их в один. Такой метод называется протяжным (swipe). Его реализовала Samsung в Galaxy S5. Но в последующих моделях она отказалась от этого метода. В силу необходимости использования большей матрицы для полного снимка отпечатка пальца первый тип оптического сканера является более дорогим, чем протяжной, но в то же время более удобным для конечного пользователя. Общим недостатком оптических сканеров является подверженность загрязнению, царапинам, влиянию физического состояния пальца (влажность, например). Кроме того, такой сканер можно обмануть с помощью снимка отпечатка пальца, что успешно продемонстрировала группа хакеров Chaos Computer Club. Они сфотографировали в высоком разрешении отпечаток пальца на стекле, распечатали его на лазерном принтере, залили жидким латексом и после высыхания такой слепок был распознан системой сканера как родной. Таким образом удалось обойти защиту детищ и Samsung, и Apple.

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

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

Это исключает потребность в чистом, сухом, неповрежденном пальце. Ультразвуковой сканер невозможно обмануть с помощью снимка отпечатка, так как он формирует 3D-картину строения кожи, а также умеет фиксировать пульс. В марте этого года компания Qualcomm представила свою разработку на базе данной технологии и ходят слухи, что впервые мы увидим ее реализацию в смартфоне Xiaomi Mi5.

Далее давайте затронем тему программной и аппаратной реализации сканера отпечатка пальца в разных системах. Впервые Apple представила биометрический способ идентификации в iPhone 5s под брендом Touch ID. Это был оптический сканер на основе с разрешением 500 ppi. Он был встроен в кнопку «Home» и покрыт сапфировым стеклом, устойчивым к царапинам.

За обработку сканированного отпечатка отвечал сопроцессор, а уже преобразованный цифровой код хранился только в специальном изолированном хранилище. С помощью сканера отпечатка пальца iPhone 5s можно было только разблокировать смартфон и авторизоваться в iTunes. Сторонних приложений он не поддерживал. Уже в iOS 8 была реализована оплата с помощью Touch ID в ApplePay, появилась возможность использовать сканер для защиты данных сторонних программ.

В смартфонах на операционной системе Android сканер отпечатков впервые появился в Motorola Atrix 4G, но из-за неудобства реализации использовался немногими пользователями. Качественным прорывом стал флагман Samsung Galaxy S5.В нем с помощью сканера отпечатка пальцев можно было не только разблокировать смартфон, но и авторизоваться в платежной системе PayPal. Также функционал сканера могли использовать сторонние приложения. Но из-за метода сканирования отпечатка пальца (протяжного) решение в Samsung S5 проигрывало Touch ID.

В связи с особенностями операционных систем решение Apple в плане защиты от взлома вредоносными программами более надежное.

Стоит сказать, что в Android системах вплоть до 6-ой версии не было нативной поддержки такого способа аутентификации, и только в Android Marshmallow Google внедрила поддержку сканера отпечатков пальцев непосредственно в систему. В новой версии ОС разработчикам проще реализовать приложения для работы со сканером, так как достаточно добавить поддержку системных API. Вендерам же нет нужды создавать с нуля или адаптировать готовые программные решения, нередко не лучшего качества или низкого удобства.

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

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

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

  • оптические;
  • кремниевые (или полупроводниковые);
  • ультразвуковые.

Оптические сканеры

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

1. FTIR-сканеры - устройства, в которых используется эффект нарушенного полного внутреннего отражения (Frustrated Total Internal Reflection, FTIR) .

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

2. Оптоволоконные сканеры (fiber optic scanners) - представляют собой оптоволоконную матрицу, каждое из волокон которой заканчивается фотоэлементом.

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

3. Электрооптические сканеры (electro- optical scanners) основаны на использовании специального электрооптического полимера, в состав которого входит светоизлучающий слой.

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

4. Оптические протяжные сканеры (sweep optical scanners) в целом аналогичны FTIR-устройствам.

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

5. Роликовые сканеры (roller- style scanners) . В этих миниатюрных устройствах сканирование пальца происходит при прокатывании пальцем прозрачного тонкостенного вращающегося цилиндра (ролика).


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

6. Бесконтактные сканеры (touchless scanners) . В них не требуется непосредственного контакта пальца с поверхностью сканирующего устройства.

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

Полупроводниковые (кремниевые) сканеры

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

1. Емкостные сканеры (capacitive scanners) - наиболее широко распространенный тип полупроводниковых сканеров, в которых для получения изображения отпечатка пальца используется эффект изменения емкости pn-перехода полупроводникового прибора при соприкосновении гребня папиллярного узора с элементом полупроводниковой матрицы.

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

2. Чувствительные к давлению сканеры (pressure scanners) - в этих устройствах используются сенсоры, состоящие из матрицы пьезоэлементов.

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

3. Термо-сканеры (thermal scanners) - в них используются сенсоры, которые состоят из пироэлектрических элементов, позволяющих фиксировать разницу температуры и преобразовывать ее в напряжение (этот эффект также используется в инфракрасных камерах).

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


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

4. Радиочастотные сканеры (RF- Field scanners) - в таких сканерах используется матрица элементов, каждый из которых работает как маленькая антенна.

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

5. Протяжные термо-сканеры (thermal sweep scanners) - разновидность термо-сканеров, в которых для сканирования (так же как и в оптических протяжных сканерах), необходимо провести пальцем по поверхности сканера, а не просто приложить его.

6. Емкостные протяжные сканеры (capacitive sweep scanners) - используют аналогичный способ покадровой сборки изображения отпечатка пальца, но каждый кадр изображения получается с помощью емкостного полупроводникового сенсора.

7. Радиочастотные протяжные сканеры (RF- Field sweep scanners) - аналогичны емкостным, но используют радиочастотную технологию.

Ультразвуковые сканеры

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

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

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

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

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

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

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

Рассматриваемый сканер отпечатков пальцев 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

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

Оптические сканеры

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

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

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

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

Конденсаторные сканеры

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

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

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

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

Ультразвуковые сканеры

Новейшая дактилоскопическая технология, впервые представленная в составе смартфона Le Max Pro. Немаловажную роль в ней сыграла Qualcomm и технология Sense ID. Для фактического сбора деталей об отпечатке в состав аппаратной платформы входят ультразвуковые передатчик и приёмник. Через помещенный на сканер палец передаётся ультразвуковой импульс. Он частично поглощается, частично передаётся обратно на сенсор в зависимости от бугорков, пор и других уникальных для каждого отпечатка деталей.

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

Алгоритмы и криптография

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

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

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

Несомненно, подобная информация должна надежно храниться на устройстве и сохраняться подальше от кода, который может скомпрометировать её. Вместо загрузки информации пользователя в сеть, процессоры ARM могут надежно хранить её в выделенной физической микросхеме с использованием своей технологии Trusted Execution Environment (TEE) на базе TrustZone. Это безопасное хранилище также используется для других криптографических процессов и напрямую сообщается с защищенными аппаратными компонентами, такими, как датчик отпечатка, чтобы предотвратить любые попытки перехвата посредством ПО. Доступ к утвержденной информация не личного характера, например, паролю могут получить только приложения, использующие API клиентов TEE.

Подобное решение от Qualcomm встроено в архитектуру Secure MSM, Apple называет подобный проект «Secure Enclave», но все они основаны на одном и том же принципе – хранении информации на отдельной части процессора, к которой не могут получить доступ приложения, работающие в обычной среде операционной системы. В рамках альянса FIDO (Fast Identity Online) были разработаны надежные криптографические протоколы, позволяющие использовать эти аппаратно защищенные зоны для аутентификации между «железом» и сервисами без пароля. Поэтому можно входить на сайт или онлайн-магазин, используя отпечаток пальца, а ваша персональная информация при этом не покинет пределы смартфона. Это достигается путем передачи на сервер цифровых ключей, а не биометрической информации.

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

С развитием технологий изобретается все большее количество способов, ограничивающим какие-то действия одним и позволяющая беспрепятственно совершать какие-либо действия другим. Одним из современных методов ограничения доступа являет распознавание отпечатков пальцев, основанный на уникальности папиллярного узора пальца каждого человека. Распознавание отпечатка пальца человека является одним из методов биометрической аутентификации. Данный метод аутентификации по отпечаткам пальцев, заглядывая в историю, был основан в 1877 году англичанином Уильямом Гершелем, который выдвинул гипотезу о неизменности папиллярного рисунка ладонной поверхности кожи человека. Эта гипотеза стала результатом долгих исследований Уильяма Гершеля, служившего полицейским чиновником в Индии.

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

Емкостные сканеры отпечатка пальца изготавливают на кремниевой пластине, которая содержит область микроконденсаторов. Они расположены равномерно в квадратной или прямоугольной матрице. Прямоугольные датчики считаются более подходящими, поскольку больше соответствуют форме отпечатка. Способы емкостного сканирования основаны на заряде и разряде конденсаторов в зависимости от расстояния до кожи пальца в каждой отдельной точке поля и считывании соответствующего значения. Это возможно, поскольку размеры гребней и впадин на коже достаточно велики. Средняя ширина гребня - около 450 мкм. Сравнительно небольшой размер конденсаторных модулей (50 х 50 мкм) позволяет замечать и фиксировать различия емкости даже на близких точках кожи.

Итак, рассмотрим один из сканеров отпечатков пальцев, построенный по принципу емкостного сканера – R301 компании Grow Technology (цена на Aliexpress около 18$). Технические характеристики модуля:

  • Напряжение питания 4,2 – 6 Вольт (работает и при 3,3 В)
  • Ток потребления – 40 мА
  • Пиковый ток потребления – 100 мА
  • Интерфейс – UART, USB
  • Baud rate – 9600*n, n=1~12, по умолчанию 57600 bps
  • Время сканирования отпечатка пальца –до 0,2 сек
  • Размер шаблона отпечатка – 810 байт
  • Коэффициент ложного пропуска FAR (False Acceptance Rate) – менее 0,001 %
  • Коэффициент ложного отказа в доступе FRR (False Rejection Rate) – менее 0,1 %
  • Время среднего поиска – менее 0,05 сек
  • Уровень безопасности – 5
  • Диапазон рабочих температур – -10-+50 градусов Цельсия
  • Режимы сравнения – 1:1, 1:N
  • Емкость памяти библиотеки отпечатков - 1700

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

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

Сама библиотека отпечатков пальцев хранится во flash памяти 25q80 (восьми выводная микросхема), подключенной по SPI к цифровому сигнальному процессору. Кроме этого на этой стороне модуля расположены кварцевый резонатор на 24 МГц, стабилизатор напряжения с низким падением напряжения на 3,3 вольта XC6206 (элемент в корпусе sot-23 с маркировкой 662k) и резисторы и конденсаторы, необходимые для работы схемы.

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

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

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

Для того чтобы подключить модуль R301 к ПК можно использовать контакты USB или переходник USB-UART.

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

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

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

Данные модули в основном предназначены для встраивания в системы, что делает интерфейс UART основным. Подключим датчик к микроконтроллеру:

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

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

Основные команды, необходимые для работы с модулями сканеров отпечатков пальцев:

Команда (hex) Ответ (hex) Описание
EF01 FFFFFFFF 01 0003 1D 0021

EF01 FFFFFFFF 07 0005 xx nnnn ssss,

где xx - код подтверждения (0h - успешно завершено, 1h - ошибка), nnnn - количество шаблонов в библиотеке отпечатков, ssss - контрольная сумма

Считать количество сохраненных отпечатков в памяти библиотеки отпечатков пальцев модуля.
EF01 FFFFFFFF 01 0003 01 0005

где xx - код подтверждения (0h - успешно завершено, 1h - ошибка при приеме пакета данных, 2h -не обнаружен палец, 3h - ошибка при сканировании), ssss - контрольная сумма

Сканирование отпечатка пальца и сохранение его в буфер.

EF01 FFFFFFFF 01 0004 02 bb ssss,

где bb - CharBuffer1 или CharBuffer2 (1h или 2h), ssss - контрольная сумма

EF01 FFFFFFFF 07 0003 xx ssss,

где xx - код подтверждения (0h - успешно завершено, 1h, 6h, 7h, 15h - ошибка), ssss - контрольная сумма

Создание файла символов отпечатка пальца из оригинального отпечатка и сохраняет его в CharBuffer1 (2).
EF01 FFFFFFFF 01 0003 05 0009

EF01 FFFFFFFF 07 0003 xx ssss,

где xx - код подтверждения (0h - успешно завершено, 1h, ah - ошибка), ssss - контрольная сумма

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

EF01 FFFFFFFF 01 0006 06 bb pppp ssss

где bb - CharBuffer1 или CharBuffer2 (1h или 2h), pppp - номер ячейки памяти библиотеки отпечатков пальцев, ssss - контрольная сумма

EF01 FFFFFFFF 07 0003 xx ssss,

где xx - код подтверждения (0h - успешно завершено, 1h, 18h - ошибка, bh - неверный номер ячейки памяти), ssss - контрольная сумма

Сохранение шаблона отпечатка пальца из Buffer1/Buffer2 во флэш память библиотеки модуля.

EF01 FFFFFFFF 01 0007 0C pppp nnnn ssss,

где pppp - номер ячейки памяти библиотеки отпечатков пальцев, nnnn - количество удаляемых отпечатков пальцев, ssss - контрольная сумма

EF01 FFFFFFFF 07 0003 xx ssss,

где xx - код подтверждения (0h - успешно завершено, 1h, 10h - ошибка), ssss - контрольная сумма

Удаление шаблона из флэш памяти модуля.
EF01 FFFFFFFF 01 0003 0D 0011

EF01 FFFFFFFF 07 0003 xx ssss,

где xx - код подтверждения (0h - успешно завершено, 1h, 11h - ошибка), ssss - контрольная сумма

Очистка памяти библиотеки отпечатков пальцев модуля.
EF01 FFFFFFFF 01 0003 03 0007

EF01 FFFFFFFF 07 0005 xx mmmm ssss,

где xx - код подтверждения (0h - успешно завершено, 1h, 08h - ошибка), mmmm - оценка соответствия, ssss - контрольная сумма

Точное сравнение шаблонов из CharBuffer1 и CharBuffer2.

EF01 FFFFFFFF 01 0008 04 bb pppp nnnn ssss,

где bb - CharBuffer1 или CharBuffer2 (1h или 2h), pppp - начальный номер ячейки памяти диапазона поиска на совпадение, nnnn - количество ячеек памяти для поиска на совпадение, ssss - контрольная сумма

EF01 FFFFFFFF 07 0007 xx pppp mmmm ssss,

где xx - код подтверждения (0h - успешно завершено, 1h - ошибка, 9h - нет совпадений), pppp - номер ячейки памяти, которая совпала с отпечатком пальца, mmmm - оценка соответствия, ssss - контрольная сумма

Поиск на совпадение отпечатка пальца в библиотеке модуля который соответствует хранимому в CharBuffer1 или CharBuffer2.

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

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

STM32F103C8

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

LM7805

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

AMS1117-3.3

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