1. Главная страница » Компьютеры

Linux сканер отпечатков пальцев

Автор: | 16.12.2019

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

Запись отпечатка пальца

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

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

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

Open the Activities overview and start typing Users .

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

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

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

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

Select Next . You will see a confirmation message that your fingerprint was saved successfully. Select Close to finish.

Проверьте, работает ли отпечаток вашего пальца

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

Сохраните изменения в любых открытых файлах и затем выйдите из системы .

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

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

В последнее время некоторую популярность получили так называемые сканеры отпечатков пальцев, при помощи которых можно очень удобно проводить авторизацию в системах Windows. Кто-то ценит в этих сканерах защищенность (что можно поставить под сомнение), кто-то — удобство, а кто-то просто любит различные гаджеты в стиле Джеймса Бонда. Сканеры отпечатков пальцев присутствуют на многих ноутбуках высшего ценового диапазона, ну а для компьютера можно приобрести такое устройство где-нибудь на Ebay или Amazon (почему-то сканеры отпечатков пальцев не так-то просто найти в свободной продаже на территории России).

К сожалению, производители сканеров отпечатков пальцев до сих пор обращают мало внимания на Linux-системы и обделяют их программной поддержкой. Однако, благодаря независимым разработчикам, мы можем использовать многие из подобных устройств и под Linux (в частности — под Ubuntu). Это возможно благодаря пакету Fingerprint GUI.

Поддерживается ли мой сканер отпечатков пальцев под Linux?

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

Она отобразит список всех USB-устройств, подключенных к компьютеру. Найдите строчку с fingerprint reader’ом (сканером отпечатков) и посмотрите 6 и 7 столбцы в этой строчке — там будут указаны уникальные идентификаторы производителя и устройства (два 16-ричных числа).

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

Устройство есть в списке? Отлично! Тогда ставим Fingerprint GUI!

Установка и настройка Fingerprint GUI в Ubuntu Linux

Для того, чтобы установить пакет, требуется добавить PPA:

Однако, имейте в виду. После этого стандартный пакет PolicyKit (имя которого зависит от используемого окружения — например, policykit-gnome) будет удален. Если впоследствии вы захотите удалить Fingerprint PPA, вам придется установить этот пакет вручную, иначе вы можете получить нерабочую систему.

Теперь осталось запустить программу Fingerprint GUI и зарегистрировать новые "пальчики". Как только это будет сделано, требуется перезапустить сессию (разлогиньтесь и попробуйте войти заново, либо просто перезагрузите компьютер).

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

Помогла ли вам эту инструкция? Используете ли вы авторизацию по отпечаткам пальцев на домашнем компьютере/ноутбуке?

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

Драйвера только для Windows 10, и только на сайте производителя ноутбука. Сразу возникла мысль если и не завести его в линуксе, то хотя бы понять, как же он работает. Висит сканер на usb, вместе с тачпадом.

Для начала сделаем lsusb и посмотрим, как определяется наш сканер:

Тут нас ждет первое разочарование: сканер работает через bulk-transfer. Если в HID формат данных определен в дескрипторе, то тут — тёмный лес, можно пихать всё, что придет в голову. Что делать?

Перезагружаюсь в Windows 10, ставлю Wireshark, запускаю запись всего трафика USB. Дальше в настройках Windows иду в меню, где устанавливаются отпечатки для входа в систему. Регистрирую один палец, выхожу. Выключаю запись в Wireshark, сохраняю полученный дамп. Снова перезагружаюсь в Linux.

Снова запускаю Wireshark, открываю дамп, фильтрую по нужным vid/pid, нахожу искомый сканер.

Среди всей кучи явно выделяются отдельные «жирные» пакеты, больше 16 килобайт:

Смотрю, что там. На первый взгляд мусор, ничего определенного. Сохранил данные такого пакета отдельным файлом, 18432 байта, сделал xxd ./image.raw, увидел примерно такое:

Тут сразу в глаза бросились некие чередующиеся пары байт, это очень неспроста. Было сделано предположение, что этот блок не что иное, как 16-битная квадратная картинка, поскольку старший байт случаен, а вот младший плавает совсем немного — весьма характерно для однотонного изображения, коим является отпечаток. Догадку подтвердил расчет, sqrt(18432bytes / (16bit /8)) = 96. Квадратная картинка со стороной 96 пикселей?

Пробуем перегнать равку в изображение:

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

Теперь надо это дело автоматизировать, чтобы до конца понять, как же оно работает. Для этого нам будет нужна libusb.

Покопавшись в дампе трафика, я понял, что для того, чтобы забрать скан пальца, надо отправить 0х0009 на endpoint 0x82. Однако тут оказалась засада — сканер отдавал картинку сразу, не ожидая пальца на себе. Ну, черные квадраты такие.

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

Код работы с libusb шаблонный, взятый частично из мануала, частично с SO. Собираем, запускаем, радуемся картинке с отпечатком в папке с кодом.

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

Так что буду надеятся, что авторы добавят этот код к проекту.

Вообще, несколько удивило то, что отпечатки приходят просто картинкой и обрабатываются в юзерспейсе. Безопасность? Нет, не слышали. На мой взгляд, отпечатки не должны покидать сканер, к системе должен вылетать некий хеш, уникальный для сканера, но никак не сырая картинка. Да, отпечатки публичны, но одно дело собирать их по одному в реальном мире, и совершенно другое — найти уязвимость в ПО и сливать готовые отпечатки миллионами…

Вы можете помочь и перевести немного средств на развитие сайта

Комментарии (60):

Вспоминается история с отпечатками на смартфонах HTC

Мда…
Получается: взломай винду, если там есть камера — получи фотографию, если сканер отпечатков — отпечаток пальца. Интересно, насколько сложно потом этим с добром залогиниться в айфон?

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

и 3D принтером можно сделать палец с таким отпечатком

3д принтер не панацея.
1) Не хватит точности. У FDM 100% не выйдет.
2) Где модельку возьмем?

Какие-то злобные местные парни ставят -1 за всё подряд. Может ума не хватает понять о чем речь, а может просто новые российские традиции «злоба против всех». Эта фраза — тест на ум, парни. Кликайте минус, если вы умны.

По сути вопроса — 3д точности в 0.05 вполне хватит и такие принтеры уже доступны. Модель не нужна — достаточно сделать небольшую пластинку, на которой будет квадратик с борозками повторяющими рисунок. И это только для сканеров отпечатков, которые учитывают рельеф. Те, которые не учитывают — достаточно просто распечатки на обычном 2д принтере.

Ты на гиктаймсе xD Карму сливают за то, что ты отвечаешь не в тренде.
Я прекрасно понял что вы имели ввиду, но у меня достаточно большой опыт работы с 3D печатью и скажу, что так не получится.
По пунктам:
1) Точность позиционирования не равно минимальному размеру элемента. Точность 0,05 означает, что одна линия может отстоять от другой на 0,05мм. Но вы мне можете напечатать точку 0,05 на 0,05.
Грубо минимальный размер элемента у 3д принтера = диаметру сопла вдоль направления движения и x4-5 поперек — потому что головка как бы размазывает и она не может подать и сразу вытянуть что бы сделать точку. У всей системы большая инерция. То есть при сопле 0,4мм у вас линии будут минимум 0,4 мм. Можно попробовать найти сопло 0,1мм и напечатать рисунок в 1 слой без откатов, но это подойдет далеко не для всех отпечатков.
2) Слои размазываются, что еще увеличивает толщину линии, но уменьшает толщину слоя. Не сильно, но для отпечатка пальца — важно.
3) Точность слоя не равно точности печати на этом слое. Верхний слой «замазывают» и получают глянец. Слои довольно «рифленые». Для обычной печати это не важно, но для отпечатка пальца — очень.
В общем и целом 3Д принтеры это не панацея. Все их чуть ли не для производства использовать хотят, хотя по факту они идеальны разве что для пототипов.

так понятно, что не расплавленным пластиком печатать, а фотополимерами

Я понимаю почему иногда ругаются на "минусаторов" те, у кого рейтинг комментария -3 и ниже. Но откуда пошла мода ругаться на минусы тому, чей комментарий имеет положительный рейтинг?

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

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

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

Занимался одно время изготовлением печатей (фотолитография) и мне кажется, что едва ли что-то получится дельное — не хватит разрешающей способности. Если честно, и обычные-то печати получались хорошо если со второй попытки — очень капризная технология 🙂

А кто-нибудь в курсе, FaceID на фотографию среагирует? 🙂

на 3х мерную среагирует, взломали быстро.

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

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

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

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

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

CRISPR/Cas9 нам поможет. Можно будет даже папиллярным узором какой-нибудь логотип нарисоваьб =)

Ох уж это новая мода списывать все непонятное на ДНК. Вы всерьёз думаете, что текстура вашей кожи задается генетикой?

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

С чего это они должны меняться? Вам часто отрывает руку и вы выращиваете себе новую?

Так клетки кожи очень часто обновляются напомню

Вы бы того… погуглили, что-ли. Перед тем, как что-нибудь в комментариях писать.
Ну, знаете, школьные такие вопросы: За что отвечает ДНК, что такое генотип и фенотип, какие слои кожи есть, какие из них отвечают за отпечатки, а в каких из них есть «клетки кожи», которые «очень часто обновляются напомню».

Ну раз мы так начинаем, ну давай. Папиллярный узор можно назвать частью фенотипа? Вполне. Меняется ли он в течении жизни? Как бы нет. (при чем тут только фенотип, просто чтобы приплести?)

Какие слои кожи: узор — внешний слой дермы (он же Papillary dermis). Большей частью соединительная ткань. Основные клетки — фибробласты — обновляются на 50 процентов примерно за 10 лет. Где моя мысль до этого была не верна

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

"Развитие всех тканей задается генетикой."
Тогда почему у однояйцевых близнецов отпечатки пальцев разные?

Ох, черт, простите меня. Когда я говорил «погуглите», я забыл добавить, что надо еще и понять то, что нагуглили. Без этого ничего не работает.
И это… «давайте», а не «давай». Я с вами не пил, чтобы на ты переходить.

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

Routine forensic DNA analysis is useless in the case of identical twins, which has in fact led to several cases of modern-day twins who blame each other for the crime.(3–6) Yet the fingerprints of identical twins are not identical. Some characteristics, such as pattern type and ridge count, are similar between twins.(7) However, the detailed “minutiae”—where skin ridges meet, end, or bifurcate—are different even between identical twins.

Подробнее можно почитать в «7. Reed T, Viken RJ, Rinehart SA. High heritability of fingertip arch patterns in twin-pairs. Am J Med Genet. 2006; 140A: 263–271.»

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

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

Кожа состоит из трех слоев: эпидермис, дерма, и гиподерма(подкожная жировая клетчатка). Последняя нам мало интересна, а вот на первых двух стоит остановиться подробнее. Основные клетки верхнего слоя кожи, которые мы и видим в качестве отпечатка — корнеоциты, ороговевшие кератиноциты. Ороговевшая часть кожи обновляется каждые 10. 30 дней. Но формирование отпечатков пальцев происходит глубже: в дерме. При развитии человеческого зародыша клетки дермы начинают делиться чуть больше, чем, скажем, у обезьян(у которых, за исключением коал, нет паппилярных узоров). Механические напряжения в ходе этого деления «выпячивают» часть ткани наружу, образуя гребни папиллярного узора — сосочки дермы. И этот же самый узор передается через весь эпидермис на поверхность кожи, слой за слоем повторяя рисунок поверхности дермы.
Таким образом, даже если срезать верхний слой эпидермиса(или весь эпидермис), рисунок не изменится — он находится глубже, в дерме, которая живет гораздо дольше, и обновляется гораздо медленнее, чем эпидермис. Ну, да, допустим 50% за 10 лет. 5% каждый год. Представьте себе дом, из которого каждый год убирают 5% кирпичей и заменяют их новыми точно такими же. Будет ли он через 10 лет сохранять ту же форму? Конечно будет, в чем проблема. Будет ли он тем самым кораблем, уже другой вопрос. Так что не так в сохранении рисунка(который гораздо крупнее отдельных клеток) неизменным при постепенной смене клеток?
А точная картинка отпечатка пальца берется, фактически, из теплового шума. Это случайная картинка сброса напряжений в точках роста, и представляет собой отличный пример фенотипа, независимого от генотипа.

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

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

Читайте также:  Post code c1 gigabyte

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *