Сканер отпечатков пальцев как средство аутентификации пользователя. Сканер отпечатков пальцев: как это работает

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

Предпосылки развития

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

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

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

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

Толчок к развитию

Одним из первых девайсов, получивших датчик отпечатков пальцев, стал ноутбук от Acer - TravelMate 739. На обработку прикосновения к сканеру ему требовалось чуть больше 12 секунд, но для начала двухтысячных годов это было невероятно.

Уже в 2002 году мир увидел первое мобильное устройство со сканером отпечатков пальцев - карманный компьютер от HP - iPAQ Pocket PC h5400. Экран 320×240 точек, процессор Intel PXA250 400МГц, 64 МБ ОЗУ и 20 МБ под файловое хранилище - я мечтал о таком.


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

Apple запатентовала разблокировку с помощью дактилоскопического датчика в 2008 году, но пока компания доводила технологию до ума, Motorola представила первый в мире Android-смартфон с дактилоскопом - Atrix 4G.


К несчастью для Motorola, это устройство на рынке осталось почти что незамеченным. К моменту старта продаж интерес покупателей и индустрии к сканерам окончательно угас, чтобы возродиться вслед за анонсом iPhone 5S 10 сентября 2013 года. После этого события каждая уважающая себя компания считала долгом как можно скорее встроить сканер отпечатков пальцев свой аппарат.

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

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

Сейчас в потребительской электронике наиболее распространены оптические и емкостные сенсоры.

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

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


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

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


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

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

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


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

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

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

“Железо” - это не все

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

Например, громким скандалом стала история с HTC One Max, где в памяти телефона хранились полные копии отпечатков пальцев как есть, даже без шифрования.

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

Принцип проиллюстрирую на примере уравнения a+b=4. Какие пары чисел дают в сумме четыре - догадаться не сложно. Если слева от знака “равно” вместо a+b находится особая математическая последовательность - односторонняя хеш-функция. В нее можно подставить цифры, полученные с датчика отпечатков пальцев и получить справа некое значение. В одну сторону такую функцию посчитать легко, но проделать обратную операцию практически невозможно.


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

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

Аналогичный алгоритм, названный Nexus Imprint появился у пользователей Android только вместе с 6-й версией этой операционной системы. Тогда же Google представила Fingerprint API для сторонних разработчиков и включила в программу сертификации аппаратов требования к датчику отпечатков пальцев.

Но вечная проблема Android - фрагментация накладывает опечаток и здесь. Если для продажи устройств в Европе производители получают все необходимые сертификаты, то для выхода на такие рынки, как Китай и Индия это делать не обязательно. Так что многие аппараты без Google Play, попадающие по неофициальным каналам в частности на российский рынок, не недостаточно хорошо защищены.

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

Не безопаснее, но удобнее


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

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

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

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

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

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

С развитием технологий изобретается все большее количество способов, ограничивающим какие-то действия одним и позволяющая беспрепятственно совершать какие-либо действия другим. Одним из современных методов ограничения доступа являет распознавание отпечатков пальцев, основанный на уникальности папиллярного узора пальца каждого человека. Распознавание отпечатка пальца человека является одним из методов биометрической аутентификации. Данный метод аутентификации по отпечаткам пальцев, заглядывая в историю, был основан в 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 Резистор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Каких типов бывают дактилоскопические сканеры

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

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

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