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

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

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

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

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

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

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

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

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

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

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

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

Вместе с драйверами для сканера 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 (а больше то и не надо, ага). Запускаем, смотрим — интерфейс очень простой и понятный:

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

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

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

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

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

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

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

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

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

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

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

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

  • Интеграция в стандартную процедуру 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, предусмотрительно расположенные в той же части меню, что и Общий доступ и безопасность

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

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

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

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

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

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

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

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

Шифрование

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

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

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

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

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

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

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

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

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

Так тоже не делайте… Хотя можете попробовать: как видно, «защита от дурака» присутствует, так что испортить что-либо все равно не дадут. В качестве заключения можно сказать, что используется 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

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

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




Главное