Биометрия для защиты данных: анти-спуфинг, определение живости и биометрический ключ

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

Биометрия для защиты данных: анти-спуфинг, определение живости и биометрический ключ

Дело вот в чем. Какое-то время назад моя команда, работая над другим продуктом, который помимо основного функционала предусматривает аутентификацию пользователя в системе, столкнулась с отсутствием удобного и при этом безопасного решения для аутентификации. То есть пользователь или терпит неудобства, или рискует данными.

Мы разработали собственный аутентификатор для внутренних нужд на основе нейронных сетей, биометрии и технологии определения живости, и назвали его SVORT. Чуть позже выяснили, что получившийся продукт востребован в B2B-секторе для идентификации, верификации и аутентификации пользователя/клиента по лицу, и углубились в это направление.

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

Это была предыстория, ниже описано, что такое SVORT и как это работает. Небольшое уточнение: мы пока не выкатили SVORT для внешнего пользователя, сейчас шлифуем его и работаем над UX. Но мы бы хотели получить фидбек от реальных людей, которые в перспективе будут использовать наш продукт, чтобы сделать его классным и удобным. Если вам интересно, как работает биометрия, оставьте свой имейл вот тут, мы пришлем ссылку на SVORT (там написано, что мы пришлем ссылку на приложение, но на самом деле сейчас мы работаем над расширением).

Вот как все должно работать после того, как мы допилим расширение

Итак, вы скачали SVORT, установили его и используете его в качестве дополнительного фактора безопасности. С помощью SVORT можно защитить свои данные, но только если интернет-ресурс, которым вы пользуетесь, поддерживает U2F — например, Gmail, Facebook, Twitter и т.д. (проверить, поддерживает ли определенный сайт U2F-стандарт, можно здесь).

  • Для того, чтобы начать использовать SVORT, нужно зарегистрироваться в системе. Для этого вам будет предложено посмотреть в камеру, а потом завершить ротационный челендж, чтобы система смогла построить биометрическую карту лица.
​Процесс регистрации ​SVORT, Inc.
  • Чтобы использовать SVORT на определенном ресурсе, нужно в настройках безопасности на этом ресурсе добавить SVORT как второй фактор безопасности.
  • Для аутентификации расширение попросит вас пройти виртуальный лабиринт, поворачивая голову в указанных направлениях. После успешного выполнения пользователь получает доступ.
Виртуальный лабиринт: приведите красную точку к выходу, поворачивая голову<br />​ SVORT, Inc.​
Виртуальный лабиринт: приведите красную точку к выходу, поворачивая голову
​ SVORT, Inc.​

Вот как происходит регистрация в системе:

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

Анти-спуфинг, определение живости и виртуальный лабиринт

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

Важно: SVORT не хранит чувствительную информацию пользователей ни на их девайсах, ни на серверах.

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

Пожалуйста, ответьте в комментариях на несколько вопросов (еще можно написать на k.margulec@svort.io):

  • Насколько, на ваш взгляд, подобное решение нужно пользователям?
  • Используете ли вы какое-либо средство для дополнительной защиты своих данных?
  • Почему вы не будете пользоваться аутентификатором (SVORT или любым другим)?

Спасибо за внимание, наша команда будет благодарна за любую обратную связь и помощь в создании безопасной цифровой среды. Возможно, кому-то будет интересно следить за судьбой проекта, поэтому ниже ссылки на аккаунты SVORT в LinkedIn, Facebook, Twitter, а вот тут еще наш блог на Medium, давайте оставаться на связи.

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

P.S.: это не попытка протестить расширение, не нанимая тестировщика, нам действительно важно понять, насколько пользователи вообще интересуются своей безопасностью в сети.

11
3 комментария

За этим будущее - это факт.

1

надеюсь, криптохеш с солью? а ещё лучше - argon2

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

Также ввиду того, что непосредственно перед обучением той самой нейронной сети первичные данные (изображение пользователя) также обрабатываются другой нейросетью (свёрткой) с целью выделения уникальных фич (характеристик) лица, которые в свою очередь представлены в виде некоторого нечеловекоинтерпритируемого вектора размером 512байт, обучаемая итоговая (хранимая) нейросеть (её параметры) в принципе может быть приравнена к некоторому хешу с солью (вес сжатой нейросети от 40Кб).

Использование же функций таких как Argon2, Scrypt, PBKDF2 и т.д. не имеет особого смысла при входном векторе большого размера (в нашем случае 36Кб). При этом сами операции получения некоторого ключа при наличии сохранённой нейросети нельзя назвать "нетребовательными к ресурсам".