Статьи

08
Декабрь 2017

Методы аутентификации

Раздел: Статьи | Теги: OTP аутентификация двухфакторная аутентификация многофакторная аутентификация одноразовый пароль сервер аутентификации строгая аутентификация

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

Методы аутентификации

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

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

Перечислим способы аутентификации, а точнее те вторые факторы, которые сейчас дополняют или заменяют парольную защиту:

  • Одноразовые коды по СМС,
  • Одноразовые пароли, сгенерированные на смартфоне (Google authenticator, Nexus TruID, FreeOTP и другие) или на аппаратном генераторе(напр, Display Card),
  • PKI-сертификаты на смарт карте, токене или в файле,
  • Мобильные приложения, производящие аутентификацию, или, так называемая, мобильная аутентификация,
  • Различного вида биометрическая аутентификация (отпечаток пальца, сканер сетчатки, сканер лица, аутентификация по голосу и др.).

Пройдемся по методам по порядку и рассмотрим их преимущества и недостатки.

SMS OTPОдноразовые коды по СМС

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

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

Мобильные телефоны есть почти у всех, что делает этот метод универсальным. Но в действительности сейчас существуют достаточно недорогие типы атак, позволяющие перехватить SMS с одноразовым кодом или просто перевыпустить SIM-карту абонента другим лицом (по поддельной доверенности, в сговоре с сотрудником оператора). Стоит заметить, что способы защиты от перевыпуска карт есть: некоторые операторы просто блокируют услугу отправки и приема SMS на срок до одних суток, а системы аутентификации пользователей могут детектировать изменение IMSI — номера SIM карты и не позволять ему получать одноразовые коды до прохождения дополнительной аутентификации, например, в банкомате или лично в офисе. Хоть эти ограничения несколько усложняют действия пользователей, нельзя не согласиться с их положительным эффектом с точки зрения защиты от действий злоумышленников.

Еще стоит отметить, что аутентификация СМС не является полноценной двухфактоной, а в действительности представляет собой двухэтапную аутентификацию (от английского two-step verification). Просто объяснить отличие можно так: при двухфакторной аутентификации клиент не знает результата до отправки на проверку системе аутентификации обоих факторов; двухэтапная аутентификация позволяет получить ответ об успехе прохождения первого этапа перед тем, как клиент переходит к использованию второго метода. Таким образом, двухэтапная аутентификация проигрывает двухфакторной тем, что позволяет осуществить атаку на каждый метод аутентификации в отдельности.

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

OTPОдноразовые пароли

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

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

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

По алгоритмам генераторы OTP можно разделить на такие:

  • формируют одноразовый пароль на основе счетчика количества сгенерированных ранее одноразовых паролей. Пример — OATH HOTP.
  • формируют одноразовый пароль на основе временного окна, то есть счетчиком тут выступает количество шагов обычно по 30 секунд. Для алгоритмов этого типа важна синхронизация времени сервера аутентификации и генератора. Пример — OATH TOTP.
  • Запрос-ответ (Challenge-response) — система аутентификации формирует код, который клиент переносит в генератор OTP(кнопками, сканированием QR-кода, прослушиванием аудио записи), где в ответ генерируется одноразовый пароль. Этот одноразовый пароль клиент вводит для аутентификации на сайте или в программе. Пример — OATH OCRA.

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

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

Генерация пароля на основе времени на первый взгляд кажется более безопасной, ведь у пароля появляется срок жизни. Но, в действительности, время — не секретный параметр и у злоумышленника фактически уже есть данные об этой части секрета. К тому же легальный владелец генератора OTP не узнает, если у злоумышленника появится дубликат генератора. Все попытки аутентификации — и пользователя и злоумышленника - будут успешными.

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

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

PKI аутентификация по сертификатамPKI аутентификация (по сертификатам)

Этот метод аутентификации основан на асимметричной криптографии. У клиента есть закрытый ключ, которым он подписывает запрос сервера аутентификации. Система аутентификации может проверить электронную подпись, используя открытый ключ клиента (обычно в виде сертификата). Таким образом подтверждается владение клиентом закрытым ключом.
Закрытый или, по-другому, секретный ключ пользователя может быть на смарт карте, криптографическом токене или просто в файле на диске или съемном накопителе. Токен, как и смарт карта в основе своей использует криптографический чип с неизвлекаемой памятью. Закрытый ключ генерируется непосредственно внутри чипа и этот ключ нельзя скопировать на другой носитель. Хранение же секретного ключа в файле менее безопасно, так как сделать копию файла можно достаточно просто.

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

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

Мобильная аутентификация pushМобильная аутентификация

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

Процесс проверки этого фактора происходит обычно так:

  • Пользователь вводит имя пользователя в браузере/приложении
  • Сервер отправляет запрос в приложение на смартфоне. Обычно это рандомное значение (nounce).
  • Пользователь подтверждает аутентификацию на смартфоне вводом PIN кода.
  • Приложение производит криптографическую подпись и отправляет подписанный ответ на сервер аутентификации.

Это один из наиболее перспективных методов двухфакторной аутентификации. С одной стороны он не требует затрат на покупку дополнительных устройств. А с другой стороны - обеспечивает высокий уровень защиты, основанной на криптографии с открытым ключом. Более того, мобильная аутентификация характеризуется еще одним преимуществом — использование отдельного логического канала (Out of band).

Очень удачной реализацией этого метода аутентификации является Nexus Personal Mobile — приложение, которое работает совместно с сервером аутентификации Hybrid Access Gateway. Помимо собственно аутентификации, приложение позволяет подписывать транзакции. Сообщение с информацией о транзакции отображается на экране смартфона до того, как пользователь его авторизует.

Биометрическая аутентификацияБиометрическая аутентификация

В настоящее время существует много систем биометрической аутентификации. В качестве биометрической характеристики человека в них используют:

  • отпечаток пальца
  • лицо
  • сетчатка глаза
  • радужная оболочка глаза
  • голос
  • почерк
  • сердечный ритм
  • и другие

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

Привычным для многих является замена пароля на ноутбуке сканированием отпечатка пальца или разблокировка смартфона тем же отпечатком или сканированием лица. Приложения используют эти возможности для защиты входа, заменяя PIN код. Это действительно несколько упрощает взаимодействие пользователей с этими приложениями. Но не стоит забывать, что биометрическая аутентификация основана на "похожести" текущего отпечатка, лица, голоса и т.п. на тот, что был изучен системой ранее. Небольшие отклонения от имеющегося в системе аутентификации образца не приведут к отказу аутентификации, в отличие от небольшого изменения пароля даже на 1 символ. То есть такую аутентификацию нельзя назвать строгой.

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

FIDO U2FУниверсальный второй фактор U2F

Альянс FIDO занимается решением проблемы аутентификации в интернете и предлагает стандарт U2F (Universal Second Factor) — протокол двухфакторной аутентификации. Этот протокол позволяет использовать аппаратные криптографические токены но не требует сложных централизованных систем вроде единого сервера аутентификации или инфраструктуры открытых ключей. Это упрощает использование преимуществ асимметричной криптографии и делает ее доступной широкому кругу пользователей и систем. Кроме прочего, стандарт позволяет защищать процессы аутентификации от фишинга, а так же клонирования токена. Более подробно на этом методе аутентификации мы останавливаться не будем, отметим лишь, что уже сейчас его позволяют использовать такие гиганты интернет индустрии, как Google и Facebook.

Заключение

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

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

Теги: OTPаутентификациядвухфакторная аутентификациямногофакторная аутентификацияодноразовый парольсервер аутентификациистрогая аутентификация

    Статьи
Последние записи
Архив
Категории
Теги
Ленты
RSS / Atom