Дактилоскопический сканер Futronic FS-80


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

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

А пока приступим к вскрытию…

Установка драйверов

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

Установка сканера в систему очень проста: скачиваем с сайта производителя драйверы, которые, кстати, за время работы над статьей успели обновиться до версии 2.0. Стандартная всплывающая подсказка «Обнаружено новое устройство» в трее, стандартное же окошко Мастера нового оборудования, выбираем установку из указанного места, коим будет папка с предварительно скачанным и распакованным комплектом драйверов для Windows XP (также поддерживается Windows 2000 Professional).

После завершения установки у нас в системе появляется новый класс устройств Personal identification devices и его типичный представитель: уже знакомая черненькая пластиковая коробочка.

Программное обеспечение для работы со сканером

Вместе с драйверами для сканера c сайта производителя можно также скачать и ПО, разработанное для работы с ним. Сюда входят: FinLogon и Fingerpirnt Authentication Server (FAS). К сожалению обе программы представлены только для одной платформы — Windows.

Основной клиентской программой, осуществляющей работу со сканером является FinLogon Personal Edition — она получит ваши отпечатки, померит, посчитает и выдаст свой вердикт: кто тут свой, а кто чужой ;) Ее можно скачать на сайте совершенно бесплатно, да и в стандартный комплект самого сканера она входит.

FinLogon Enterprise Edition — версия FinLogon, ориентированная на применение в среде предприятия. Состоит из клиентской части (подозреваю что это та же самая, чуть-чуть модифицированная FinLogon PE) и серверной части — встраиваемого в Active Directory модуля аутентификации (add-on authentication module) для Windows 2000/2003 Server. Данная версия на сайте не выложена и покупается отдельно — цена зависит от количества копий/пользователей в сети предприятия. Для совсем уж корпоративных клиентов предусмотрен отдельный программный комплекс Fingerprint Authentication Server (FAS) — ориентированный на работу на отдельном выделенном сервере в сети предприятия, осуществляющем хранение и верификацию отпечатков. Он так же состоит из серверной и клиентских частей, хотя клиентское ПО здесь не обязательно и нужно только, если необходимо реализовать контроль доступа к остальным общим ресурсам и серверам сети.

Так как я пока что не собираюсь открывать у себя дома кооператив Одесская артель «Московские баранки», рассмотрим поподробнее первый из описанных продуктов. Впрочем, при наличии у читателей интереса к функционированию системы в рамках корпоративной сети, этот интерес мы постараемся удовлетворить (разумеется).

FinLogon PE

Системные требования данной программы: MS Windows 2000/XP, 200 МГц и выше Pentium процессор, 128 Мбайт ОЗУ минимум, 10 Мбайт «на жестком диске» минимум, USB-порт. В общем-то ничего удивительного — использовать любую из этих систем на более слабом железе все равно вряд ли кто станет.

После установки (Setup -> Next -> Yes -> Next -> Next- > Yes -> Finish, Reboot) первое, что бросается в глаза — изменение стандартного окошка входа в систему: теперь оно содержит логотип Futronic и предлагает на выбор (в зависимости от настроек, о которых мы поговорим позже) два способа входа в систему: обычный — нажать Ctrl-Alt-Del и ввести свой пароль (программа при установке включает такой тип логона) или с и использованием сохраненных отпечатков пальца (для каждого пользователя можно зарегистрировать хоть все 10 пальцев, к сожалению пальцы на ногах не предусмотрены программой ;)) Так как отпечатков мы пока не «накатали» (enroll) выбираем стандартный вход и переходим к следующему этапу: добавлению наших пальчиков.

В меню Программы появился новый пункт: Futronic Logon, в котором содержится ссылка на всего лишь одно приложение: Finger Manager (а больше то и не надо, ага). Запускаем, смотрим — интерфейс очень простой и понятный:

Меню Action предлагает как раз то, что нужно — стандартный набор действий: Добавить Пользователя/Отпечаток, Удалить, Переименовать, Изменить свойства и осуществить Экспорт/Импорт пользователей. При добавлении, для каждого нового пользователя появляется новая строка в табличке. Очень удобно то, что процедура добавления использует стандартное системное окошко выбора пользователя — особенно это будет полезно пользователям домена.

Экспортирует данные программа в файл собственного формата с расширением fle — скорее всего туда записываются темплейты пользовательских отпечатков. Можно выбирать экспортируемых пользователей.

Почти все эти функции дублируются на стандартном тулбаре. Настройки видимости тулбаров выбираются в меню View.

Другой заслуживающий внимания пункт меню — Tools, при помощи которого можно изменить различные параметры процесса, такие как качество распознавания отпечатка, и включить парочку дополнительных опций. Если, например вы хотите видеть свои папиллярные линии каждый раз как прикладываете палец к сканеру, то можете поставить галочку напротив опции Enable Visualization for image capture. Опция Verification against fake replica достаточно загадочна и может использоваться только со специальным типом сканера — в моем случае, при попытке его включить вылезло вот такое окошко:

Опция Disable MIOT (Multifingers In One Template) выключает проверку того, что пользователь прижимает один и тот же палец во время его регистрации.

Для системных администраторов и других лиц, страдающих паранойей, есть пункт Advanced Security Settings. Здесь можно защитить мастер-паролем или отпечатком пальца запуск самой программы, нажатие комбинации Ctrl-Alt-Del и деинсталляцию программы.

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

  • Интеграция в стандартную процедуру Windows-логона — использование собственной библиотеки GINA (Graphical Identification and Authentication) вместо стандартной
  • Поддержка входа в систему в любых комбинациях ввода пароля и/или распознавания отпечатка
  • Надежность распознавания отпечатков:
    • FAR — 10-6
    • FRR — 10-2
  • Информация об отпечатках (темплейты) хранится в реестре Windows и шифруется по 256-битному протоколу AES
  • Поддерживается операция экспорта и импорта темплейтов в файл
  • Определение того, что палец «живой», а не кожа с трупа (LFD — Live Finger Detection)
  • Возможность возврата по отпечатку из режимов сна, блокировки и хранителя экрана (Standby или Hibernate, Windows Lock, Screen saver)

На этом спартанская функциональность FinLogon заканчивается, что, кстати, является вполне оправданным решением и чем-то напоминает известный Unix-way (каждой задаче свой инструмент). Поэтому все дополнительные возможности наращиваются уже с помощью Add-on, о которых и пойдет речь ниже.

Finlogon PE Add-On Pack

На данный момент в пакет дополнений, выложенный на сайте входят Модуль заполнения паролей (One Touch Password Filler) и Модуль шифрования данных (File Encryption Module)

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

После установки, в программной группе Futronic Logon появляется новый пункт: OneTouch Password Filler и дополнительные пункты контекстного меню Encrypt и Decrypt, предусмотрительно расположенные в той же части меню, что и Общий доступ и безопасность

Пункт меню нам понадобится всего один раз — чтобы запустить Password Filler первый раз, затем он пропишется в Автозапуске и Системном трее в виде вот такого значка:

Заполнение паролей

Чтобы добавить новую комбинацию «логин-пароль» щелкаем на значке правой кнопкой мыши и выбираем пункт Finger Setting Manager, после чего видим главное окно этой программы

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

Протестировав систему на ЖЖ, gmail.com и ICQ я вполне удовлетворился полученными результатами — все работает как часы. Есть возможность экспорта и импорта сохраненных профилей.

Шифрование

Для шифрования/дешифрования файлов щелкаем правой кнопкой на выбранном объекте и выбираем нужный пункт меню. После чего видим окошко Encryption модуля.

Прикладываемся ;) и смотрим на процесс шифрования:

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

Не делайте так ;)

А если попробовать зашифровать файлы с помощью отпечатка, не зарегистрированного в Finger Manager, то можно полюбоваться и на такое:

Так тоже не делайте… Хотя можете попробовать: как видно, «защита от дурака» присутствует, так что испортить что-либо все равно не дадут. В качестве заключения можно сказать, что используется 64-х разрядный тройной DES алгоритм шифрования.

Особенности получения отпечатка

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

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

Внимательно рассмотрев попавшийся ко мне в руки сканер, и почитав описание на сайте я сделал вывод, что тут используется оптический отражательный сенсор (Optical reflective sen sor). Изображение пальца через призму из оптического стекла попадает на CMOS-матрицу (почти такую же, как в современных цифровых фотоаппаратах). Для нормального распознавания полученной картинки все современные сенсоры генерируют изображение с разрешением как минимум 500 dpi. Производители FS-80 берут этот показатель с небольшим запасом: фактическое разрешение картинки, если посчитать его, разделив размеры в дюймах на размеры в пикселах, получается равным 508 dpi, что не может не радовать.

Само сканирование (а, скорее, даже не сканирование, а фотоснимок) занимает порядка 100 мс, во время которых палец освещается 4-мя инфракрасными светодиодами (в моей недоразвитой модели их почему то оказалось всего два). Во время сканирования, интенсивность освещения автоматически подстраивается в зависимости от характеристик сканируемого отпечатка (влажный/сухой, нечеткий и т.п.).

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

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

В заключение, ТТХ нашего подопытного такие:

  • Материал контактной линзы: оптическое стекло толщиной 14 мм
  • Размер предметного окна: 16 × 24 мм
  • Подключение: USB 1.1 совместимый интерфейс, устройство типа «plug and play»
  • Стандартный USB кабель длиной 2 м
  • Размеры самого устройства: 45 × 63 × 26 мм
  • Вес: 80 грамм.
  • Температурный режим: от 0 до +55 градусов Цельсия
  • Тип сенсора: оптический, на отраженном свете, для захвата изображения используется CMOS-матрица ( Advanced CMOS camera technology )

Параметры получаемого изображения

  • Размеры 480 × 320 пикселей (150K точек).
  • Соответственно разрешение рабочей поверхности: 508 точек/дюйм (dpi)

Электрические характеристики

  • Источник подсветки: 2 инфракрасных диода (LED).
  • Рабочее напряжение: DC 4.4-5.25V через USB-порт.
  • Потребляемая мощность в различных режимах: активный — 350 мВт (подсветка, сканирование), останов (standby mode) — 100 мВт, спящий (sleep mode) — 40 мВт.
  • Допустимый кожный потенциал: 15 кВ.
  • Допускаемый воздушный разряд — 16 KV без необратимых повреждений
  • Допускаемый электростатический разряд при контакте (ESD contact) — 8 KV
  • Скорость передачи кадров: 5 кадров/cек.
  • Физическая скорость передачи: до 6 Мбит/сек.

 

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

*NIX

Найти драйвера под Unix-подобные системы было не очень сложно. Я спросил у Яндекса, я спросил у Гуголя и оба указали на сайт Biomark.org.ru. Вот что пишет про себя его автор — Дмитрий Стефанков:

Автор проекта не является владельцем или создателем biometric engine. Любой биометрический алгоритм использует очень сложную математику и многие эмпирические допущения. Автор не знает как и не сможет адаптировать biometric engine к любому сканеру. Это могут сделать только разработчики biometric engine. И лишь затем автор сможет добавить новую или изменную biometric engine и поддержку команд для другого сканера в BFPSDK. Поэтому по вопросу исходных текстов или лицензирования алгоритма или поддержки другого оборудования, пожалуйста, обращайтесь непосредственно в Futronic

Гораздо большие трудности составило найденные драйвера установить и заставить работать. Сразу оговорюсь, что установить сканер под Slackware 10.2 у меня не получилось в связи с кривой поддержкой PAM в этой системе (по умолчанию его просто нет). Поэтому все дальнейшие действия производились на поставленной по случаю FreeBSD 5.4.

Вкратце процедура установки и использования устройства можно описать так:

  • Установка аппаратной поддержки устройства системой
  • Установка SDK предоставляющего интерфейс для работы с ним

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

  • Установка PAM_ BFP модуля.

Рассмотрим каждый шаг подробней:

Аппаратная поддержка устройства

Она может быть реализована двумя способами — в виде модуля ядра (uscanner для Linux и uscan_bfp для BSD) или с помощью библиотеки libusb. Второй вариант предпочтительней, потому что не требует перекомпиляции ядра с новым модулем, поэтому воспользуемся им.

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

kernel: ugen0: vendor 0x1491 product 0x0020, rev 1.00/0.01, addr 2

Для успешной работы BFP_SDK нам понадобится libusb 0.1.7 или старше, поэтому удаляем старую версию libusb из системы:

#> pkg_del libusb-0.1.1 b

Качаем с сайта http://libusb.sourceforge.net/ последнюю версию библиотеки и выполняем стандартную последовательность в каталоге с распакованными исходниками:

#>./configure
#> make
#> make install

Текущая версия SDK привязана к версии 0.1.7, поэтому если вы ставите более новую версию обязательно создайте символическую ссылку /lib/libusb-0.1.so.7 указывающую на местоположение библиотеки в системе (обычно в /usr/local/lib/). Если сильно повезет, то у вас в системе появится последняя версия данной библиотеки.

Установка SDK

Biometric FingerPrint Software Development Kit (BFP SDK) для Linux/Unix платформ это центральная часть всей системы, связующая «железо» с приложениями использующими его, поэтому от успешности его установки зависит будет ли работать наш сканер. SDK поставляется в уже готовых бинарных пакетах для каждой платформы, так что вся установка состоит в простом копировании библиотек в нужные места системы, для чего достаточно запустить команду:

#> make -f bfpsdk.mak install

SDK может по выбору работать через модуль ядра или, по умолчанию, через libusb, эту и другие настройки можно посмотреть и изменить в файле конфигурации /usr/local/etc/bfpsdk.conf

Установка модуля авторизации pam_bfp

Как обычно — качаем пакет и распаковываем его во временный каталог. И выполняем такую последовательность шагов:

1. Установить общий PAM_ BFP модуль для FreeBSD:

#> make -f makefile.unx install-bsd

2. Создать конфигурационный каталог, например, /usr/local/etc/auth_pam_bfp (это каталог по умолчанию для PAM_BFP).

3. Установите права только для владельца на этот каталог (обычно root):

#> chown u=rwx,go=-rwx /usr/local/etc/auth_pam_bfp

4. Построить темплейт для пользователя:

#> ./maketmpl username. tmpl

Для шифрования темплейта на встроенном ключе:

# > ./maketmpl - k username.tmpl

Для шифрования темплейта по ключевой фразе:

# > ./maketmpl - p username.tmpl

Здесь придется 10 раз прилодить палец к сканеру.

Обратите внимание, что все файлы темплейтов должны иметь расширение .tmpl. Скопируйте этот темплейт в конфигурационный каталог.

#> cp ./username.tmpl \
/usr/local/etc/auth_pam_bfp/username.tmpl

Повторить создание и копирование темплейтов для остальных пользователей.

5. Скопировать пример конфигурации (файл config/auth_bfp.conf в каталоге с дистрибутивом) в конфигурационный каталог и отредактировать его в соответствии с собственными настройками:

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

local=1 timeout=4 level=600 account=root users="name1 name2"

Здесь мы настраиваем вход для локального сканера, с интервалом ожидания 4 секунды, уровнем точности биометрических измерений 600 (он может изменяться в диапазоне от 1 до 1000) для аккаунта администратора системы. Name1 и Name2 соответствуют именам темплейтов, то есть конкретным пальцам.

6. И наконец внести необходимые изменения в конфигурацию PAM, добавив в цепочку auth для сервиса login авторизацию с использованием модуля pam_ bfp. Для этого отредактируем файл /etc/pam.d/login, добавив туда перед всеми остальными строчку:

auth sufficient pam_bfp.so fp_prompt=1

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

Заключение

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

  • Нет разделения на пользователей программы и пользователей системы, как сделано в OmniPass. На мой взгляд это предотвращает лишнюю путаницу и в целом упрощает работу с паролями: один пользователь — один профиль
  • Более высокая степень интеграции в ОС. При описании OmniPass я жаловался, что нельзя отключить стандартное окошко входа в систему — здесь эта проблема решается собственной реализацией GINA-библиотеки
  • Хранение пользовательских данных в зашифрованном виде в реестре системы, а не в каких-то малопонятных файлах на жестком диске
  • Более простая и логичная система автоматического заполнения паролей — пользователь сам назначает последовательность действий после прикосновения пальцем, соответственно запускается она только при прикосновении — никаких ложных срабатываний.
  • Полноценная поддержка работы под семейством *nix и BSD систем — очень большой плюс
  • Поддержка не только персональных компьютеров, но и возможная работа в корпоративной сети (пусть софт для этого стоит дополнительных денег, зато он уже написан)

В этот список также можно добавить все традиционные плюсы от использования сканера:

  • Достаточно удобно как замена для входа в систему и заполнения различных паролей на сайтах, наблюдается определенная экономия времени
  • Также подхватывает любые системные окошки с запросом пароля — например при блокировке компьютера или при использовании пароля на хранитель экрана
  • Устранение ввода паролей вручную дает возможность сделать их более длинными и трудными для взлома
  • Регистрация нескольких пальцев позволяет использовать тот, который удобно

Теперь пройдемся по минусам:

  • В отличие от OmniPass нет возможности выбирать криптографического провайдера из доступных в системе, то есть алгоритм шифрования файлов
  • Отсутствует поддержка BioAPI

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



Сканер предоставлен компанией Мир-Оптом




Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.