Традиционная аутентификация vs Биометрия

Специальный корреспондент
Собака

Собака

Пресс-служба
Ветеран пробива
Private Club
Регистрация
13/10/15
Сообщения
60.959
Репутация
64.440
Реакции
294.529
USDT
0
Скорее всего каждое ваше утро начинается также как и моё: беру в руки телефон, и прежде чем проверить сообщения, мой палец сам тянется к экрану. И, честно признаться, я даже не вспоминаю о пин-коде — я просто смотрю на камеру, и устройство открывается. Это стало настолько обыденным, что уже даже кажется, что так было всегда.

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

Давайте вспомним, как было раньше. Цифровая жизнь состояла из списка паролей буквально на всё: пароль от почты, пароли от соцсетей, пин-код от банковского приложения, одноразовые смс-коды. Эта система была понятной и, в теории, надежной. Если забыла пароль, его можно восстановить. Если потеряла токен, его можно заблокировать и заказать новый.

Но со временем этот список становился уж очень большим. Я ловила себя на том, что использую один и тот же пароль для интернет-магазина и для облачного хранилища с личными фото. А звонки от банка с просьбой назвать код из смс и вовсе заставляли нервничать. Оказалось, что самая хрупкая часть системы безопасности — это я сама. Моя забывчивость и любовь к удобству.

И тут вдруг приходит биометрия. С её приходом всё стало намного проще: отпечаток пальца или фэйс айди мгновенно разблокируют телефон или даже одобрят платёж телефоном. Лицо и отпечаток стали моим паролем. Удобно? Невероятно!

Но однажды я задумалась: а что, если вдруг мой цифровой отпечаток украдут?
Пришло осознание главного различия. Пароль можно сменить, как замок после ссоры с бывшим. А что я сделаю с украденным отпечатком пальца? Его не сменишь. Он со мной навсегда. Мои биометрические данные — мой цифровой аватар, и его утечка это гораздо более серьёзная проблема.

Вопрос — что же теперь делать, чтобы максимально обезопасить себя и свои данные? Отказаться от всех удобств и вернуться к паролям или продолжить пользоваться биометрией. Думаю, чтобы прийти к какой-то определённости, нужно всё-таки немного залезть под капот этих технологий.

❯ Традиционные методы​

В начале предлагаю поговорить о традиционных методах.

Когда мы вводим пароль например: «P@s$w0Rd!», система не хранит его в открытом виде. Она их кэширует. Этот введённый пароль превращается в уникальную бессмысленную строку (что-то вроде a3f8d7c0...). При следующем входе пароль снова хэшируют и сравнивают два хэша. Совпали — я внутри. Это значит, что даже если злоумышленник украдет базу хэшей, ему придется долго и нудно подбирать к ним исходные пароли (процесс брутфорса). Но здесь и кроется слабость: слабые пароли и устаревшие алгоритмы хэширования (вроде MD5 или SHA-1) ломаются быстро.

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

c3393f05bf7a74089d813128a4a57a17.jpg

❯ Биометрия​

Теперь заглянем под капот биометрии. При разблокировал телефона лицом происходит сложный процесс. Сенсор с точечным проектором наносит на лицо сеть из 30 000 невидимых инфракрасных точек. Система создает не точную 3D-карту глубины лица, учитывая каждый изгиб носа, глубину глазниц и так далее. Затем из этой карты извлекается математический шаблон, который является уникальным цифровым отпечаток, описывающий геометрию в виде векторов и чисел.

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

04c17cff7df3dc08c19599ee601451cb.jpeg

И вот ключевой технический момент: этот шаблон, как правило, никогда не покидает безопасную среду устройства особый защищенный чип, называемый Secure Enclave(в Apple) или Trusted Execution Environment (TEE) (в Android). Там шаблон хранится в зашифрованном виде и там же происходит сравнение. Даже операционная система не имеет к нему прямого доступа. Когда мы смотрим в камеру, сканер моментально создает новый шаблон и сравнивает его с эталоном внутри Secure Enclave. Совпадение? Дверь открыта. Поэтому, с технической точки зрения, биометрические данные в идеале не утекают в облако и не хранятся на серверах — они локальны.

Но технологии не идеальны, и их уязвимости очень показательны.

❯ Слабости технологий​

Что касается биометрии, то тут сразу на ум приходит несколько вещей:

  • Во-первых, это спуфинг — попытка обмана датчика. Для отпечатков создают искусственные пальцы из желатина или силикона по оставленным на стекле отпечаткам. Для 2D-распознавания лиц (как в дешевых смартфонах) иногда достаточно распечатанной фотографии. Но современные 3D-системы устойчивы к фото. Однако были демонстрации атак с помощью специально изготовленных 3D-масок — это дорого и сложно, но технически возможно.
  • Главная же уязвимость не в алгоритме, а в канале передачи данных. Если шаблон каким-то образом извлекают из Secure Enclave или он передается на сервер для удобной синхронизации и хранится там плохо защищенным, вот тогда это катастрофа.
Традиционные методы имеют больше недостатков:

  • Чисто человечески фактор. Это самая большая и неизлечимая проблема. Все технические ухищрения разбиваются о наши когнитивные ограничения. Мы создаем пароли не случайно. Мы используем значимые даты, имена, простые замены букв на цифры (@ вместо a, 1 вместо i). Злоумышленники используют это в словарных атаках, которые в тысячи раз эффективнее полного перебора. Кстати говоря, сюда ещё можно отнести тот факт, что очень часто люди используют одинаковый пароль сразу во многих местах. Если хакеру удастся подобрать один верный пароль от какого-нибудь старого форума, который был лет 10 назад, тот конечно он попробует его ещё и в остальных местах. И тут могут начаться проблемы.
  • Часто можно столкнуться с проблемами даже имея гениальный пароль. Например когда сервисы используют старые алгоритмы кэширования, которые уже научились обходить при помощи радужных таблиц (Rainbow Tables).
  • Возможность перехватить пароль по дороге. Если вводить пароль в публичной Wi-Fi сети, которой управляет злоумышленник, он может перехватить незашифрованные данные сессии. Защита конечно есть — HTTPS (SSL/TLS), но не все сайты его используют корректно, да и пользователь может проигнорировать предупреждение браузера о недействительном сертификате.

❯ Подведение итогов​

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

Самое интересное происходит сейчас, на стыке технологий. Новый стандарт FIDO2/WebAuthn и его удобная оболочка Passkeys.

С помощью Passkey устройство создает на лету уникальную пару криптографических ключей приватный и публичный. Приватный ключ навсегда остается в безопасности устройства (в том же Secure Enclave), защищенный биометрией или пин-кодом. Публичный ключ отправляется на сервер. При следующем входе сервер отправляет вызов. Устройство запрашивает у меня биометрию ( взгляд или отпечаток), чтобы разрешить подписать этот вызов приватным ключом. Подпись отправляется на сервер, который верифицирует ее публичным ключом.

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

В общем, какой вывод можно сделать? Нужно использовать не «или-или», а «и-и-и».






Источник
 
  • Теги
    идентификации
  • Назад
    Сверху Снизу