[Из песочницы] Биометрическая система на мобильном телефоне

adba0a2601bd4cffb1904fd6e32cc14b.png Я работаю в области биометрических технологий и хочу описать одно из решений, претендующее на то, чтобы в скором будущем прочно войти в наш обиход. Речь идет о биметрической системе аутентификации пользователя, которой можно пользоваться на любом современном смартфоне, и которая предназначена для удобного (!) и надежного разграничения доступа к различным мобильным сервисам, как банковским, медицинским, так и любым другим приложениям.В последнее время все большее количество компаний используют возможности сети интернет для предоставления своих услуг. Как правило, архитектура таких приложений представляет собой использование технологии «тонкий клиент», которая подразумевает централизованное хранение данных клиента и предоставление доступа к ним только по специальному запросу. Клиент с помощью удаленного терминала (это может быть обычный ноутбук, планшет или смартфон) и специальной программы или стандартного веб-браузера может просматривать и изменять информацию на удаленном сервере.

Для обеспечения безопасности передаваемых данных, как правило, используется протокол SSL (Secure Sockets Layer). Кроме того, если система представляет собой приложение, доступ в него может быть защищен логином и паролем. Для повышения безопасности может использоваться ЭЦП (Электронно-Цифровая Подпись) — бинарная последовательность данных, формируемая криптографическим алгоритмом.

К сожалению, зачастую, клиенты хранят данные доступа прямо на ноутбуке или смартфоне, и при его утере или краже, доступ к сервисам легко могут получить третьи лица. Еще одним недостатком паролей или ЭЦП является невысокое удобство использования — необходимость помнить пароль или хранить файл ЭЦП на отдельном носителе. Именно поэтому сейчас на рынок обеспечения безопасности доступа начинают выходить биометрические технологии.Биометрические характеристики уникальны для каждого человека и при грамотном использовании их очень сложно подделать. Сегодня наиболее широко используются такие биометрические характеристики как отпечатки пальцев, ДНК, радужная оболочка глаза, изображение лица и голос. В ракурсе описанной выше проблемы подтверждения личности при использовании мобильного телефона наиболее подходящими технологиями являются биометрия по лицу и голосу. И этому есть несколько аргументов:

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

Биометрический признак Тест Условия тестирования FRR FAR Отпечатки пальцев FVC 2006 неоднородная популяция, включая работников ручного труда и пожилых людей 2,2% 2,2% Лицо MBE 2010 полицейская база фотографий 4,0% 0,1% Голос (ООО «ЦРТ») NIST 2012 текстонезависимое распознавание 3% 1% Радужная оболочка глаз ICE 2006 контролируемое освещение, широкий диапазон качества 1,1% 0,1% Решение OnePass для мобильной аутентификацииРешение OnePass бимодального доступа, над которым мы работаем, представляет собой многофакторную аутентификацию пользователя, которая включает 3 основных компоненты: верификация по изображению лица; верификация по статической парольной фразе; детектор присутствия. 36f6b00c21b94af2a634a146eff6995b.pngВерификация по голосу производится на основе использования фиксированной парольной фразы. На этапе регистрации в OnePass, система предлагает пользователю короткий пароль или подсказку, например, «Произнесите Вашу фамилию и имя». Фразу необходимо повторить 3 раза — так достигается максимальная надежность и оценивается вариативность произнесения. На этапе верификации на экране также появляется пароль, который достаточно произнести только один раз. Использование подсказки позволяет не хранить и не запоминать пароль.

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

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

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

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

Вероятность сходства пользователя с эталоном по результатам бимодальной верификации больше порогового значения. Детектор присутствия по лицу принял решение о том, что перед устройством находится живой человек, а не муляж или фотография. Детектор присутствия по голосу (в случае, если он используется) принял решение о том, что голос принадлежит Клиенту системы. Решение OnePass для мобильной платформы имеет интерфейс, работающий в двух режимах: регистрации и верификации Клиента. Мы постарались сделать их максимально удобными и быстрыми: верификация по лицу производится нажатием одной кнопки (отсюда и название решения OnePass); для удобства позиционирования лица производится зеркалирование изображения с камеры на экран; верификация по голосу запускается автоматически параллельно верификации по лицу, запись голоса также завершается автоматически; в процессе произнесения парольной фразы производится детектирование присутствия пользователя на основе анализа мимических изменений лица; обработка всех данных производится в параллельном режиме, что позволяет получить результат сразу же после произнесения парольной фразы; наличие подсказки голосового пароля не требует его хранения или запоминания Надежность бимодальной аутентификации Точная оценка надежности приложения очень важна, ведь от вероятности ошибки системы будет зависеть степень доверия пользователей к системе, а также потенциальные потери Клиента при взломе биометрической системы.Основные показатели надежности биометрической системы — это ошибки 1-го и 2-го рода: False Rejection Rate (FRR) и False Acceptance Rate (FAR). Немного дополнительной информации можно найти здесь: Критерии оценки надежности биометрических систем.

Тестирование надежности решения мы проводили не только на общеизвестных речевых и лицевых базах данных (YOHO, RSR2015, FERET, MOBIO), но и базах, предоставленных нашими клиентами, одним из которых был крупный банк США. Для тестирования использовались смартфоны Samsung Galaxy Note II, S3 и S4.

Для оценки точности работы любой биометрической системы принято использовать характеристические кривые: ROC (Receiver Operating Characteristic) или DET (Detection error tradeoff), которые устанавливают зависимость между ошибками FRR и FAR. Для бимодального решения OnePass мы получили следующую DET-кривую:

ed963ad23e5c4acebe93b384ada22494.png

Далее тестировалась вся система (бимодальное решение и модуль определения присутствия живого пользователя) по двум сценариям:

Злоумышленник не имеет записи/изображения Клиента Злоумышленник имеет запись/изображение Клиента Результат представлен в таблице:

Порог бимодальной верификации Ошибка ложного отклонения (FR) Ошибка ложного пропуска (FA), Злоумышленник не имеет записи/изображения Клиента Ошибка ложного пропуска (FA), Злоумышленник имеет запись/изображение Клиента 0.3 1.85% 0.129% 8.00% 0.5 2.08% 0.021% 7.99% 0.7 3.63% 0.004% 7.86% Подытожу, что это очень неплохие показатели для биометрической системы, работающей в реальных условиях, особенно с учетом сценария взлома с помощью фотографии. В настоящее время OnePass проходит испытания в одном из банков США в качестве защиты доступа к интернет-банкингу, и демонстрируемые результаты отвечают ожиданиям клиента. Благодаря объединению функций бимодальной аутентификации и liveness detection, решение удовлетворяет противоположным требованиям бизнеса и служб безопасности и имеет хорошие перспективы для расширения области применения.

© Habrahabr.ru