Сегодня мы поговорим на тему двухфакторной и двухэтапной аутентификации (2FA, 2SV). Расскажем о том, какие существуют виды 2FA, сфокусируем внимание на 2FA-приложениях, в том числе рассмотрим популярные решения в данном сегменте и сделаем их небольшое сравнение.
- Введение
- Виды двухфакторной аутентификации
- Как работают 2FA-приложения
- Обзор 2FA-приложений
- 4.1. Duo Mobile (Duo Security)
- 4.2. ESET Secure Authentication (ESET)
- 4.3. Gemalto SafeNet Authentication Service и SafeNet MobilePASS+ (Gemalto)
- 4.4. Multifactor (Мультифактор)
- 4.5. Protectimus SMART (Protectimus)
- 4.6. SecurID и RSA SecurID Software Token (RSA — The Security Division of EMC)
- 4.7. Twilio Authy 2-Factor Authentication (Authy)
- Сравнение
- Выводы
Введение
Специалисты по информационной безопасности часто сталкиваются с вопросом об усилении защиты того или иного сервиса. При этом вопрос идентификации пользователя с последующим прохождением аутентификации играет немаловажную роль. Сегодня обычный пароль не защитит от хакеров. Фишинговые атаки или вредоносные программы на компьютере с лёгкостью скомпрометируют учётные данные. Для усиления защиты аккаунтов чаще всего применяется двухфакторная аутентификация, которая использует сочетание привычного кодового слова с ещё одной дополнительной проверкой — например, посредством одноразового пароля (One-Time Password, OTP).
В целом двухфакторная аутентификация, или 2FA — это технология контроля доступа в два этапа, когда помимо ввода логина и пароля к аккаунту пользователя просят подтвердить свою личность дополнительным способом, например ввести одноразовый пароль, полученный по электронной почте, в SMS-сообщении на мобильный телефон, при помощи генератора (аппаратного или программного) и т. п. Введение дополнительного уровня безопасности обеспечивает более эффективную защиту аккаунта от несанкционированного доступа.
Пароли для однократной процедуры аутентификации проще и удобнее в использовании, т. к. нет смысла защищать их от кейлогеров или опасаться, что они будут «закешированы» на компьютере.
По данным Microsoft, к сетям Azure Active Directory можно получить доступ с помощью функции Windows Hello, которая способна сканировать отпечаток пальца владельца или его лицо. Также пользователи применяют приложение Microsoft Authenticator и основанные на FIDO2 ключи для входа в аккаунты без пароля.
«Безопасники» подвергают серьёзной оценке различные методы защиты, особенно когда пользователи работают из недоверенной среды. Выбор правильного решения для аутентификации имеет большое значение для снижения рисков в сфере ИБ. Хорошие 2FA-решения имеют самый большой ряд поддерживаемых моделей токенов и могут защитить как облачные, так и локальные приложения или сервисы, а также любой сетевой доступ с произвольного устройства.
Виды двухфакторной аутентификации
На данный момент существует много разнообразных способов удостоверения личности с помощью 2FA:
- Одноразовые пароли на бумаге (распечатываемый набор кодов).
- Отправка временного кода на адрес электронной почты.
- Отправка одноразового пароля по SMS.
- OTP-токены (аппаратные генераторы одноразовых паролей).
- 2FA-программы (приложения класса Authenticator).
Одноразовые пароли на бумаге, как правило, используют онлайн-банки. Можно, например, получить в офисе кредитной организации карточку со стираемым покрытием поверх полей с кодами или просто распечатать набор паролей в банкомате, а система дистанционного обслуживания (ДБО) при аутентификации на сайте будет просить ввести одноразовый набор символов под определённым номером.
Отправка пароля по электронной почте — это максимально упрощённый вариант защиты. Для аутентификации пользователя нужно знать всего лишь его адрес (который очень часто используется в качестве логина). Соответственно, уровень защиты таким методом — ниже, чем в других сценариях, особенно если используется один пароль для входа в почту и на целевой ресурс.
Ещё одним способом двухфакторной аутентификации является отправка одноразового пароля по SMS. Однако коды в SMS-сообщениях — тоже не очень надёжный вариант. Во-первых, такой пароль можно подсмотреть при помощи уведомлений на экране блокировки смартфона. Во-вторых, сообщение может быть перехвачено вредоносной программой. Распространён также вид мошенничества, называемый «SIM swapping»: путём обмана или сговора в салоне сотовой связи можно получить новую SIM-карту с нужным номером, и SMS-сообщения будут приходить на неё, а телефон жертвы даже не сможет подключиться к сети. Есть и другие способы компрометации одноразовых паролей по SMS.
Более надёжным является аппаратный OTP-токен (генератор одноразовых паролей). Он представляет собой устройство в виде брелка с дисплеем и кнопкой. В памяти устройства заранее программируется определённое количество паролей. При нажатии на кнопку коды отображаются на дисплее.
В феврале мы сравнивали токены с аппаратной поддержкой алгоритмов ГОСТ и сертификатом ФСБ России. Ознакомиться с материалом будет полезно тем, кто выбирает токен для использования в коммерческих и государственных организациях.
В нынешнее время на фоне массовости смартфонов под управлением операционных систем Android и iOS популярность стали набирать специализированные программы для двухфакторной аутентификации. Мы уже писали о том, что сам смартфон можно использовать как ключ для входа в аккаунт; сегодня мы сфокусируем внимание на 2FA-приложениях.
Как работают 2FA-приложения
Программы для двухфакторной аутентификации устроены очень просто. Вот что понадобится сделать пользователю:
- установить на смартфон само приложение,
- зайти в настройки безопасности сервиса, который в числе вариантов двухфакторной аутентификации предлагает использовать такие программы, и выбрать соответствующую опцию,
- отсканировать QR-код, который отобразится в сервисе, с помощью 2FA-приложения.
После этого программа начинает периодически (например, каждые 30 секунд) создавать новый одноразовый код. Пароли формируются на основе ключа, который известен только ей и серверу, а также текущего времени, округлённого до 30 секунд. Поскольку обе составляющие одинаковы и у клиента, и у сервиса, коды генерируются синхронно. Данный алгоритм называется OATH TOTP (Time-based One-Time Password), и в подавляющем большинстве случаев используется именно он.
Также существует альтернатива — алгоритм OATH HOTP (HMAC-based One-Time Password). В нём вместо текущего времени используется счётчик, увеличивающийся на 1 при каждом новом созданном коде. Но этот алгоритм редко встречается на практике, поскольку при его использовании гораздо сложнее обеспечить синхронное создание кодов на стороне сервиса и приложения. Проще говоря, есть немалый риск, что в один неподходящий момент счётчик собьётся и ваш одноразовый пароль не сработает.
Таким образом, можно считать OATH TOTP де-факто индустриальным стандартом (хотя формально он таковым не является, на чём создатели алгоритма очень настаивают в его описании).
Выбор 2FA-приложений на удивление велик, однако стоит выбирать программы, созданные крупными и проверенными разработчиками, т. к. применение малоизвестных приложений может быть попросту небезопасным и привести, например, к утечке тех же одноразовых токенов.
Далее в статье будет дан обзор популярных коммерческих (т. е. не бесплатных) решений для двухфакторной аутентификации, а также проведено их сравнение.
Обзор 2FA-приложений
Duo Mobile (Duo Security)
Приложение Duo Mobile доступно для iOS и Android. Его отличительной особенностью является то, что оно работает полностью в режиме офлайн и поэтому может быть использовано там, где нет сотовой связи или Wi-Fi.
При наличии интернет-соединения Duo Mobile предлагает также аутентификацию с помощью пуш-сообщений. При каждом заходе на сервер пользователь немедленно получает запрос, который он может либо одобрить, либо запретить одним нажатием. Пуш-уведомления были добавлены в стремлении сделать процедуру двухфакторной аутентификации максимально простой: вместо того чтобы открывать приложение для генерации одноразовых паролей, искать код к нужному сервису, а потом вписывать 6 цифр в окно ввода, пользователю нужно только разблокировать смартфон и нажать на кнопку «Approve». Кроме того, приложение Duo Mobile позволяет получать пуш-уведомления и на смарт-часы, что очень удобно.
Рисунок 1. Интерфейс Duo Mobile
Duo Security предлагает специальный тарифный план «Personal». Он абсолютно бесплатен, но количество пользователей не должно превышать 10-ти. Поддерживаются добавление неограниченного числа интеграций и все доступные методы аутентификации.
С подробной информацией о продукте можно ознакомиться здесь.
ESET Secure Authentication (ESET)
ESET Secure Authentication (на нашем ресурсе можно прочитать обзор версии 3.0) является полностью самостоятельным программным продуктом, предназначенным для корпоративного использования, и представляет собой набор отдельных модулей, организованных по клиент-серверному принципу. Посредством API двухфакторная аутентификация через ESA внедряется в любые информационные системы, такие как веб‑порталы, CRM, различные бухгалтерские программные комплексы и т. д., а использование пакета SDK позволяет встраивать 2FA в собственное программное обеспечение.
Клиентская часть ESET Secure Authentication устанавливается на мобильные устройства под управлением популярных ОС, принимая пуш-уведомления и генерируя одноразовые пароли доступа.
Рисунок 2. Пример пуш‑сообщения, используемого для аутентификации пользователя на мобильном устройстве под управлением Android (слева) и iOS (справа)
С подробной информацией о продукте можно ознакомиться здесь.
Gemalto SafeNet Authentication Service и SafeNet MobilePASS+ (Gemalto)
SafeNet Authentication Service обеспечивает надёжную аутентификацию с гибкими опциями, адаптированными к индивидуальным потребностям конкретной организации. Решение имеет полностью автоматизированное управление, широкую интеграционную экосистему, многоуровневую архитектуру, предлагает широкий выбор 2FA-методов и токенов, а также гарантирует безопасность на основе стандартов (FIPS 140-2, DSKPP). В свою очередь, SafeNet MobilePASS+ является программным аутентификатором для генерации одноразовых паролей, который можно применять в связке с SafeNet Authentication Service (как локальной, так и облачной редакциями).
В аутентификаторе доступны три режима синхронизации.
- По событию: каждый раз при открытии приложения и его разблокировке MobilePASS+ формирует значение одноразового пароля, которое позволяет выполнить аутентификацию только для одной сессии.
- По времени: то же, что в предыдущем случае, но ещё и в рамках заданного интервала (30 или 60 секунд). Если одноразовый пароль устарел, доступ к целевой системе будет отклонён.
- Режим «запрос—ответ» (Challenge—Response): при попытке доступа к целевой системе будет формироваться строка, которая является «запросом». Пользователь после разблокировки приложения вводит этот запрос в MobilePASS+, а далее приложение формирует «ответ», который будет являться значением одноразового пароля.
Рисунок 3. Интерфейс Gemalto SafeNet MobilePASS+
Приложение MobilePASS+ может функционировать в онлайн- или офлайн-режиме. В первом случае доступна аутентификация с помощью пуш-уведомлений. Кроме того, программа предоставляет дополнительные механизмы защиты, такие как разблокировка мобильного приложения с использованием PIN-кода или посредством биометрии (отпечаток пальца, FaceID).
С подробной информацией о продукте можно ознакомиться здесь.
Multifactor
Приложение создано для работы с системой многофакторной аутентификации multifactor.ru.
Доступно для Android и iOS. Разрабатывалось в первую очередь с упором на удобство применения для конечных пользователей.
Выгодным преимуществом является возможность работы напрямую через приложение Telegram, в котором формируются пуш-уведомления. При этом нет необходимости скачивать отдельное приложение для получения второго фактора.
Процесс аутентификации при использовании приложения Multifactor выглядит следующим образом: пользователь при входе на подключенный ресурс получает пуш-уведомление на свое устройство с двумя командами — «Подтвердить» и «Отклонить»; если нет подключения к интернету, то приложение генерирует одноразовый код.
Рисунок 4. Интерфейс Multifactor
Приложение разработано в России.
Поддерживается аутентификация в мобильные и веб-приложения, а также в сетевые устройства и сервисы, не имеющие интерфейса для ввода второго фактора.
Кроме того, Multifactor можно использовать для управления двухфакторной аутентификацией в других приложениях и веб-службах, которые используют коды доступа.
Protectimus SMART (Protectimus)
Protectimus SMART — программный токен, разработанный компанией Protectimus. Он подходит для смартфонов на базе операционных систем Android и iOS.
Основные функции:
- Возможность выбора алгоритма генерации OTP (по счётчику, по времени, по ответу от сервера).
- Дополнительная защита приложения с помощью PIN-кода.
- Возможность выбора длины одноразового кода (6 или 8 символов).
- Возможность создания нескольких токенов на одном устройстве.
- Возможность установки приложения на смарт-часы под управлением Android.
Доступна также функция подписи данных (Confirm What You See, CWYS), которая защищает от таких современных хакерских угроз, как «автозалив» или «реплейсмент». Благодаря подключению функции CWYS при генерации OTP-пароля для финансовых транзакций используются не только секретный ключ, время или счётчик, но и основные данные перевода, такие как сумма, валюта, адресат и т. п. Таким образом, даже если пароль будет перехвачен, он окажется абсолютно бесполезным для хакера.
Рисунок 5. Интерфейс Protectimus SMART
Приложение Protectimus Smart поддерживает все три алгоритма генерации одноразовых паролей OATH — HOTP, TOTP и OCRA. Это делает программу универсальной. Она подходит как для работы с сервисом Protectimus, так и для любого другого стороннего 2FA-решения. Приложение работает автономно, как и аппаратный токен, доступ к интернету или какой-либо другой сети не требуется. Впрочем, при наличии соединения здесь тоже можно воспользоваться облегчённой аутентификацией через пуш-уведомления.
При желании Protectimus Smart дополнительно защищается PIN-кодом или отпечатком пальца. Также можно выбрать длину одноразового пароля — 6 или 8 символов (в зависимости от требований системы), использовать приложение на русском или английском языке, сделать бэкап для всех токенов.
С подробной информацией о продукте можно ознакомиться здесь.
SecurID и RSA SecurID Software Token (RSA — The Security Division of EMC)
Компания RSA Security (ныне — RSA, The Security Division of EMC) уже много лет предлагает собственное решение в области двухфакторной аутентификации. Технология RSA SecurID является кросс-платформенной.
Данное решение включает в себя три компонента:
- RSA Authentication Manager — серверная часть. Устанавливается на отдельный компьютер; хранит базу пользователей и журнал событий, обрабатывает информацию, присылаемую агентами.
- RSA Authentication Agents — агенты. Устанавливаются на ресурсы, которые необходимо защитить; подменяют запрос на ввод логина и пароля собственным запросом SecurID (логин + пин-код + токен-код), проверяют введённую информацию с помощью центрального сервера и на основании результатов дают доступ либо отказывают в нём.
- Hardware & Software Authenticators — токены и заменяющее их ПО. Находятся непосредственно у пользователя, отображают текущее значение одноразового пароля.
Рисунок 6. Интерфейс RSA SecurID Software Token
SecurID «из коробки» работает с более чем 350 партнёрскими продуктами, включая веб-серверы (Oracle Application Server, Microsoft IIS, Apache и др.), VPN и прочие сетевые устройства (Cisco, Check Point, Microsoft и др.), терминальные серверы (Citrix, Microsoft), операционные системы семейства Windows. Есть API, позволяющий встроить SecurID практически в любую систему.
С подробной информацией о продукте можно ознакомиться здесь.
Twilio Authy 2-Factor Authentication (Authy)
Authy — частная компания, которая предоставляет услуги по усилению систем безопасности. У одноимённого приложения много преимуществ: Twilio Authy 2-Factor Authentication выгодно отличается облачным резервным копированием учётных записей, работой со множеством сервисов, полноценным офлайн-режимом.
Основные функции Twilio Authy:
- Защищённое облачное хранилище для резервного копирования учётных записей.
- Мультисинхронизация.
- Офлайн-режим.
- Поддержка всех популярных сервисов.
- Работа с криптовалютными кошельками.
Рисунок 7. Интерфейс Twilio Authy 2-Factor Authentication
С подробной информацией о продукте можно ознакомиться здесь.
Сравнение
Несмотря на то, что базовая функция у всех рассмотренных приложений — одна и та же (создание одноразовых паролей по стандартному алгоритму), некоторые продукты обладают дополнительными возможностями или особенностями. Представим их сопоставление в сравнительной таблице.
Таблица 1. Сравнение 2FA-приложений
Критерий / приложение | Twilio Authy 2-Factor Authentication | Duo Mobile | ESET Secure Authentication | Gemalto SafeNet MobilePASS+ | Multifactor | Protectimus SMART | RSA SecurID Software Token |
Архитектура | Облачная | Облачная | On-premise | Облачная и on-premise | Облачная | Облачная и on-premise | Облачная и on-premise |
Поддерживаемые платформы | iOS, Android, macOS, Windows, Linux | iOS, Android | iOS, Android | iOS (10 или выше), Android (4.4 или выше), Windows 10 | iOS, Android | iOS, Android | iOS, Android, Windows, BlackBerry OS, macOS |
Офлайн-режим | Да | Да | Да | Да | Да | Да | Нет |
Пуш-уведомления | Да | Да | Да | Да | Да | Да | Да |
Резервное копирование учётных записей в облако | Да | Да | Нет (данные ESA автоматически добавляются в резервные копии Active Directory) | Нет | Да | В разработке | Да |
Язык интерфейса | Английский | Английский | Английский | Английский | Русский | Русский, английский | Английский |
Защита приложения | PIN-код, отпечаток пальца | PIN-код, отпечаток пальца | PIN-код, отпечаток пальца | PIN-код, отпечаток пальца, FaceID | PIN-код и Биометрия | PIN-код, отпечаток пальца (в разработке) | PIN-код, отпечаток пальца |
Выводы
Драйвером развития рынка двухфакторной аутентификации остаются риски несанкционированного доступа к данным и критически важным для бизнеса информационным системам.
2FA-приложения позволяют применять двухфакторную аутентификацию для входа в операционные системы Windows и Linux, в облачные сервисы, для доступа к VPN и к VDI-системам компаний.
С помощью 2FA-приложений можно нейтрализовать весьма крупную долю угроз, и выбор в пользу усиленной аутентификации оправдывает себя. Программы этого типа удобны и просты в применении для организации доступа к корпоративным ресурсам, к порталам и облачным сервисам. Одноразовый пароль не требует запоминания: ввёл и забыл. Также немаловажно, что за каким бы рабочим местом ни трудился пользователь, ему не потребуется устанавливать драйвер для токена.