Биометрическая система на мобильном телефоне

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

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

Для обеспечения безопасности передаваемых данных, как правило, используется протокол 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 основных компоненты:

  1. верификация по изображению лица;
  2. верификация по статической парольной фразе;
  3. детектор присутствия.



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

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

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

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

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

  1. Вероятность сходства пользователя с эталоном по результатам бимодальной верификации больше порогового значения.
  2. Детектор присутствия по лицу принял решение о том, что перед устройством находится живой человек, а не муляж или фотография.
  3. Детектор присутствия по голосу (в случае, если он используется) принял решение о том, что голос принадлежит Клиенту системы.

Решение 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-кривую:



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

  1. Злоумышленник не имеет записи/изображения Клиента
  2. Злоумышленник имеет запись/изображение Клиента


Результат представлен в таблице:

Порог бимодальной верификации Ошибка ложного отклонения (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, решение удовлетворяет противоположным требованиям бизнеса и служб безопасности и имеет хорошие перспективы для расширения области применения.
Share post

Similar posts

Comments 40

    0
    Из описания не ясно, как ваша система защищена от предъявления ей планшета с видеозаписью или звонком по скайпу.
      +1
      Там на экране написано «Скажите следующее:… некоторая фраза ...»
      +2
      Нафиг нафиг такие всеобщие системы слежения-идентификациии
        +2
        Расскажите пожалуйста как Ваш «Детектор присутствия» может понять приставлено ли дуло пистолета к затылку человека который хочет пройти авторизацию в такой системе?
        Мне кажется никак, отсюда возникает закономерный вопрос о надежности такой системы.
        Если в системе с классическим вводом пароля мы можем ввести спец.пароль призванный аннулировать все доступы и оповестить охрану о попытке незаконного проникновения под давлением, то как у Вас в Вашей системе решается эта задача?
          +2
          Наверное спец голосовым паролем который действует точно так же?

          Вроде бы хорошая технология и полезная и нужная, но стойкое ощущение, что использоваться она будет в основном во-вред меня не покидает.
            +1
            Кодекс параноика: любая технология внедряется для усиления контроля и слежения за гражданами.
              0
              Пора идти к психологу?
              А вообще кодекс зануды: Не важно для чего внедряется. Важно как оно будет использовано.
              0
              Насколько я понял, может быть произнесена любая фраза, верификация идет по анализу голоса. Хотя в статье написано «верификация по статической парольной фразе», но это бред, для этого нужно чтобы никого не было вокруг, иначе эту фразу все будут знать.

              И еще попутно возник вопрос
              >>в процессе произнесения парольной фразы производится детектирование присутствия пользователя на основе анализа мимических изменений лица;

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

              Или вариант еще проще, я подношу планшет на котором запущен скажем скайп к камере телефона с OnePass, так что камера OnePass видит только лицо на экране планшета и думает что перед ней реальный человек — что тогда будет?
                0
                Если в Скайпе Клиент биометрической системы, и он произносит фразу своим голосом в режиме онлайн, то он явно знает, что перед ним приложение OnePass. Зачем тогда ограничивать ему доступ? OnePass должен его пустить
                  +1
                  Наверно затем не пускать, что система должна пускать реально присутствующего перед ней человека, а не сферического коня в вакууме. Например OnePass защищает вход в сейфовую комнату, логично предположить, что пускать туда нужно реально того человека который стоит перед дверью и верифицируется, а тут получается что перед дверью стоит злоумышленник с планшетом, а на другом конце города реальный сотрудник, семью которого держат в заложниках и он в скайп говорит данные для авторизации и система его пустит — такого быть не должно.
                    0
                    Со случаем в сейфе я согласен, но OnePass — мобильное приложение
                      0
                      >но OnePass — мобильное приложение

                      Замечательно, пусть ключом от сейфа будет мобильник с OnePass, который в случае успеха говорит реальному сейфу открытся. Вектор атаки по прежнему тот же и защиты от него нет.
              +1
              «Против лома нет приема», но 99.9% взломов ИТ систем происходит без использования пистолета. В этих случаях большинство сценариев довольно простые: кража мобильного телефона, фишинг, использование пароля родственниками (дети снимают деньги со счета родителей) и т.п. Во всех этих случаях биометрическая система надежнее пин-кода.
              0
              Бывают ситуации, когда такая система будет срабатывать через раз. Вот пример из моей жизни — несколько лет назад я попал в аварию и испытал на себе действие подушки безопасности. Она из пластика сделана — это всё равно что получить в лицо боксёрской перчаткой циклопических размеров. Неделю моё лицо было мягко говоря, непригодно для распознавания. Опять же кто-то усы отращивает, кто-то сбривает, голос может быть хрипловат после активных возлияний накануне…
                0
                Да, да… в субботу утром у некоторых могут возникнуть проблемы.
                  +1
                  Усы, очки и борода существенного влияния на распознавание по лицу не оказывают. Мы даже закрывали часть лица рукой (до 25% лица) — работает! Для идентификации по лицу используется движок компании Cognitec (с нашими доработками трекера лиц), который является одним из лучших в мире по надежности (отчет по тестированию Национального института стандартов и технологий США: biometrics.nist.gov/cs_links/face/frvt/frvt2013/NIST_8009.pdf)
                  Голосовая биометрия на нашем собственном движке, Центра Речевых Технологий, который стал лучшим в мире в этом году (результат тестирования все тем же Нац.Института стандартов: www.speechpro.ru/media/news/2014-04-23-0). Конечно, при полном «пропадании» голоса система не будет узнавать пользователя, но за счет обобщенного решения голос+лицо небольшие отклонения одной модальности (хрипотца, помятый вид) компенсируются решением по другой модальности.
                    0
                    Жаль, что ЦРТ сотрудничает только с юр.лицами, да и ценник на ваши технологии очень не гуманный.
                  0
                  Я правильно понимаю по приведённой таблице, что при наличии видеозаписи злоумышленник проходит авторизацию в 7-8% попыток? Это ж как-то совсем ненадёжно.
                    0
                    К счастью, записать видео с пользователем, смотрящим фронтально и произносящим пароль, очень непросто. И этот барьер смогут преодолеть далеко не все злоумышленники.
                    Но это предмет основной текущей работы. И последние результаты показывают, что вероятность 7-8% в ближайшее время можно уменьшить.
                    +1
                    Биометрия довольно удобна. Я сам на телефоне пользуюсь Face Unlock. Тестировал примерно на 6-7 людях, узнаёт только меня. Но для разблокировки телефона этого достаточно. А вот для интернет-банкинга как-то пока биометрию использовать боязно. Но тем не менее, было бы очень интересно увидеть результаты тестирования, если они будут публичны. Успехов. ЦРТ — делает действительно интересные вещи.

                    И сам вопрос: что передаётся в целевую систему, если не секрет? Если у нас есть логин/пароль — то шлётся хэш для сверки. А тут?
                      0
                      Да, биометрия для интернет-банкинга требует особенный подход, в частности, высокую надежность, защиту от подделок лица/голоса, поэтому мы прорабатываем вариант с двумя слабо коррелированными модальностями и liveness detection. Спасибо за пожелание, результатами будем делиться по мере возможности!
                      Касательно вопроса:
                      В целевую систему передается биометрическая модель. Т.е. на мобильном устройстве рассчитывается математическая модель лица и голоса, которая затем отправляется в виде бинарного набора данных (килобайты) на удаленный сервер. Удаленный сервер сравнивает эту модель с эталонной и принимает решение о доступе.
                      Положительная особенность такой схемы в том, что, во-первых, решение принимается на сервере, а не на устройстве, во-вторых, подделать модель, скопировав её из одной из предыдущих сессий клиента, нельзя — из-за вариативности голоса и лица модели никогда не совпадают.
                      • UFO just landed and posted this here
                    • UFO just landed and posted this here
                        0
                        Как я писал в комментариях выше, из-за вариативности голоса и лица модели одного и того же человека никогда не совпадают. Поэтому, сервер, получая модель и осуществляя сравнение с моделями из предыдущих сессий, детектирует такую ситуацию. Что касается смены пароля в случае его компрометации, то голосовой пароль легко поменять.
                        • UFO just landed and posted this here
                            0
                            1. Голосовая модель — это большой набор параметров (сотни) разных типов данных, которая хранится в бинарном виде. Если просто поменять какой-то кусок данных, то биометрическая система или не «распарсит» модель (сообщит об ошибке), или эта модель в корне перестанет быть похожей на модель-эталон, хранящийся в системе. Чтобы сымитировать естественные изменения модели, не влияющие на решение системы, необходимо точно знать, какие сотни параметров из имеющихся сотен меняются и в каком диапазоне. Кроме того, надо знать структуру хранения параметров модели в памяти.
                            2. На сегодняшний день в мире нет нормальных синтезаторов голоса, которые оперируют только некими «параметрами голоса». Все более-менее качественные синтезаторы голоса используют т.наз. метод Unit Selection, подразумевающий использование большой базы записанных звуков, слов и предложений реального человека, комбинируя которые можно сгенерировать любую фразу голосом этого человека. Эти записи размером десятки часов делаются в студии на качественные микрофоны. Поэтому просто «узнать» параметры голоса любого человека, чтобы сгенерировать с помощью них любую парольную фразу, невозможно!
                            Записать конкретную парольную фразу, да, возможно, но в случае её компрометации, пользователь может её сменить!
                            • UFO just landed and posted this here
                                0
                                Уважаемый, fdsc, теоретически можно взломать любую систему. Это вопрос времени и стоимости. Те способы, которые Вы приводите, либо практически невозможны, либо очень дорого стоят и относятся к самому сложному классу взломов. Одна из задач биометрии — существенно усложнить взлом защищенной системы и, тем самым, снизить риски и, в конечном счете, сократить финансовые потери банков и их клиентов.
                                • UFO just landed and posted this here
                                    0
                                    Определенные доказательства все же есть, т.к. параллельно с разработкой биометрической системы мы занимаемся изучением и их способов взломов, т.наз. spoofing attacks. Возможно, напишу один из следующих постов про это.
                                    • UFO just landed and posted this here
                              • UFO just landed and posted this here
                                  0
                                  Сломали с использованием брата-близнеца :) А если его нет?
                                  • UFO just landed and posted this here
                                      0
                                      Брата не билизнеца бимодальная система уж точно отличит! Т.к. используется не только голос, как у Agnitio, но и лицо.
                                      • UFO just landed and posted this here
                                          0
                                          Уважаемый fdsc, Вы в который раз критикуете биометрическую систему, а я привожу контраргументы. Предлагаю поменяться местами: Вы, предложите, пожалуйста, точное описание сценария, например, взлома системы братом, а я покритикую :)
                                          • UFO just landed and posted this here
                                              0
                                              Я Вам с удовольствием приведу доказательства, но просто для этого нужно чуть более подробное описание сценария взлома. Сценарий с братом и поддельным лицом не совсем очевиден.

                                              P.S. Если Вас интересуют биометрические системы, методы их взлома и защиты, приходите к нам работать! Или учиться на кафедру Речевых информационных систем (http://www.ifmo.ru/department/83/kafedra_rechevyh_informacionnyh_sistem_(bazovaya).htm). Тогда за деньги Вы сможете заниматься интересным делом.
                                              • UFO just landed and posted this here

                        Only users with full accounts can post comments. Log in, please.