Многофакторная аутентификация
Что такое аутентификация? Термин составлен из двух слов: греческого αὐθεντικός [аутентикос] – «действительный, подлинный» и латинского facio – «делать». Аутентификация – это процедура подтверждения субъектом доступа (пользователем) права владения или контроля над определенной учетной записью, которая используется для хранения данных пользователя и определения его прав доступа к сайту, интернет-магазину, системе и т.д.
Например, вам, как пользователю, системой может быть присвоен логин и предоставлен «секрет» – пароль, который известен только вам и системе аутентификации. Вводя логин и многоразовый пароль, вы доказываете системе, что вы – владелец учетной записи с указанным логином, так как только вам и проверяющей системе известен соответствующий этой учетной записи пароль. К сожалению, пароль можно украсть или подобрать. Многие пользователи, несмотря на предупреждения специалистов по защите информации, записывают пароль на бумажке и держат его рядом с компьютером. Часто используется один и тот же пароль для нескольких сайтов или простые комбинации вроде «1234…» или «QWERTY…».
Чтобы лучше защитить конфиденциальные данные и сделать процедуру подтверждения прав доступа более надежной, применяют двухфакторную проверку (two-factor authentication или 2FA), когда помимо связки «пароль-логин» требуется ввод одноразового пароля или кода, отправленного на телефон пользователя.
Что такое многофакторная аутентификация?
Многофакторная аутентификация (multi-factor authentication или MFA) – это метод проверки подлинности субъекта (данных его учетной записи) для последующего разрешения доступа к информации с помощью контроля нескольких факторов, не связанных напрямую друг с другом. Двухфакторная аутентификация – это частный случай MFA, заключающийся в контроле двух различных факторов.
Факторы многофакторной аутентификации
MFA объединяет не менее трех факторов:
- Фактор знания – подтверждение владения учетной записью путем предъявления связанной с ней секретной информации. Например, пароль, PIN-код или ответ на секретный вопрос (кодовое слово) – все это является проверкой на основе знания.
- Фактор владения – подтверждение владения учетной записью путем предъявления уникального предмета, связанного с учетной записью. Это может быть удостоверение личности или пропуск с встроенной смарт-картой, аппаратный брелок, USB-ключ (токен), подтверждение владения SIM-картой с определенным номером телефона, подтверждение владения смартфоном, связанным с учетной записью.
- Фактор свойства – подтверждение наличия у пользователя определенных биометрических характеристик: сканирование отпечатков пальцев, глаза, распознавание лица и голоса, клавиатурного почерка.
Также могут использоваться контекстные или адаптивные факторы, такие как проверка сведений о местонахождении пользователя (например, отслеживание IP-адреса или геолокации), цифровых отпечатков используемого для доступа устройства и сравнение их с ранее известными и использованными для данной учетной записи.
Проблемы безопасности, решаемые многофакторной аутентификацией
MFA – это мощное средство для защиты секретных данных и предотвращения несанкционированного доступа к коммерческой тайне в больших корпоративных системах. Если злоумышленник преодолеет один уровень защиты, то есть один фактор проверки окажется скомпрометированным, начинает работать второй, при необходимости – третий. В большинстве ситуаций принятых мер достаточно для предотвращения проникновения в систему.
MFA решает проблему недостаточной эффективности парольной защиты, предотвращая утечку данных из облачных хранилищ под воздействием кибератак.
Односторонняя и двусторонняя аутентификация
В процессе аутентификации участвуют как минимум две стороны. Обычно они называются сервером и клиентом. Проверка может быть односторонней или двусторонней (также известной как взаимная аутентификация).
В большинстве случаев процесс проверки является односторонним – либо клиент проверяет сервер, либо сервер проверяет клиента, но не то и другое одновременно в рамках единой процедуры.
При двусторонней взаимной аутентификации клиент и сервер проверяют подлинность друг друга в рамках одной и той же процедуры. Если одна из сторон терпит неудачу, то процесс проверки не проходит, независимо от успеха другой стороны.
Двусторонняя аутентификация более безопасна, чем односторонняя, но она сложнее в настройке и подвержена большему числу сбоев. По этой причине обычно используется только односторонняя проверка или две последовательные односторонние проверки.
Таким образом, двусторонняя аутентификация – это совсем не то же самое, что двухфакторная аутентификация.
Приведем пример двух последовательных односторонних аутентификаций – пользователь подключается с использованием веб-браузера (клиента) к веб-сайту (серверу) с использованием HTTPS/TLS соединения. При установлении HTTPS/TLS соединения выполняется первая односторонняя аутентификация – клиент проверяет надежность полученного от сервера цифрового сертификата HTTPS/TLS и его соответствия DNS-имени сервера, чтобы убедиться, что сервер, к которому устанавливается подключение, является именно тем веб-сайтом, за который он себя выдает. В случае успешности этой проверки при последующем обращении пользователя к защищенной зоне веб-сайта, сервер, в свою очередь, запрашивает одностороннюю аутентификацию пользователя, перенаправляя его на страницу входа. Эта аутентификация может быть как однофакторной, так и многофакторной. Например, сервер может попросить пользователя предъявить логин и пароль, затем ввести одноразовый код подтверждения, направленный по SMS. Либо сервер может попросить клиента подписать проверочный запрос с использованием принадлежащего пользователю средства электронной подписи.
Примером двусторонней аутентификации является случай, когда пользователь подключается с использованием веб-браузера к веб-сайту через HTTPS/TLS соединение. При этом одновременно выполняются две проверки – клиент проверяет надежность полученного от сервера цифрового сертификата и его соответствие DNS-имени сервера, а сервер проверяет надежность полученного от клиента цифрового сертификата и его соответствие учетной записи пользователя.
Внутриполосная и внеполосная многофакторные аутентификации
В зависимости от реализации выбранных факторов процесс многофакторной аутентификации может рассматриваться как внутриполосный (In-Band) и внеполосный (Out-of-Band).
Внутриполосная многофакторная аутентификация означает, что данные, передаваемые в процессе как первого, так и последующих факторов, передаются по одному и тому же каналу связи между одними и теми же устройствами. Например, пользователь обращается со своего компьютера на веб-сайт и сначала вводит на компьютере логин и пароль, а затем на этом же компьютере вводит одноразовый код подтверждения, направленный ему по SMS.
При внеполосной многофакторной аутентификации данные для прохождения второго и последующих факторов передаются по каналам связи, отличным от использованных при проверке первичного фактора. Например, пользователь обращается со своего компьютера на веб-сайт и сначала вводит на компьютере логин и пароль, затем сервер запрашивает у пользователя подтвердить вход с использованием иного устройства, например, мобильного телефона.
Внеполосная многофакторная аутентификация, как правило, является более безопасной, чем внутриполосная, так как для проведения некоторых атак злоумышленнику вместо контроля одного канала связи и одного клиентского устройства теперь нужно добиться одновременно контроля за несколькими каналами связи и устройствами.
Типы многофакторной аутентификации
Существует множество методов проверки факторов. Часть методов используют токены (token в переводе с англ.– «знак, символ; опознавательный знак; жетон»). Токен может быть программным: это зашифрованная последовательность символов, идентифицирующих объект, и аппаратным (USB-ключ или смарт-карта), который хранит или генерирует уникальный пароль. Все токены содержат аутентификационную информацию пользователя и могут подтвердить правильность данных и отсутствие их модификации. Удобство этих методов заключается в том, что для входа в систему пользователю не нужно придумывать и запоминать пароли.
Далее рассмотрим самые распространенные.
Одноразовый пароль, основанный на времени (TOTP)
Это сгенерированный алгоритмом уникальный код, который действует короткий промежуток времени, обычно 30 или 60 секунд. Его используют для проверки пользователя после ввода логина и пароля в двухфакторной аутентификации. Коды надежно защищены, однако их можно украсть, если получить доступ к устройству, генерирующему коды, или заразить его вирусом.
Коды подтверждения SMS и проверочные звонки Flash Call
Метод реализуется с помощью генерации сервером одноразового кода и отправки его через SMS на мобильный телефон, привязанный к учетной записи. Этот метод используется для двухфакторной аутентификации или подтверждения восстановления пароля.
Коды подтверждения по электронной почте
Метод реализуется с помощью генерации сервером одноразового кода и отправки его по электронной почте, привязанной к учетной записи. Этот метод используется для двухфакторной аутентификации или подтверждения восстановления пароля.
Аппаратный токен (USB-ключ, смарт-карта)
Устройства генерируют уникальный код для аутентификации. Метод применяют для защиты конфиденциальных данных при входе в личный кабинет в онлайн-банке.
Биометрическая проверка
Процесс проверки биометрических данных субъекта, таких как отпечатки пальцев, сканирование лица, радужной оболочки глаза, сетчатки глаза, рисунка вен руки, динамики голоса и других характеристик, присущих пользователю.
Контрольные вопросы
Вопросы, используемые в аутентификации для проверки личности, например, девичья фамилия матери, дата рождения, кличка домашнего животного. Устаревший метод, слабо защищает систему от кибератак и социальной инженерии.
Внедрение MFA в организации
Для внедрения системы многофакторной аутентификации необходимо обеспечить техническую и информационную поддержку ряда технологий:
- токены в виде брелоков или USB-устройств, смарт-карты и т.д. для всех пользователей системы;
- программные продукты для генерации одноразовых паролей;
- средства мобильной аутентификации: SMS-сообщения, обратные звонки, приложения для генерации одноразового пароля (OTP);
- для биометрической аутентификации – база данных с биометрической информацией, считыватель и ПО для её обработки.
Прогнозы на будущее MFA
Специалисты прогнозируют, что с развитием технологий токены и смарт-карты станут надежнее и удобнее. Будут шире использоваться поведенческие факторы, искусственный интеллект и адаптивная аутентификация на основе рисков. Более изощренные кибератаки на критически важное ПО потребуют постоянного совершенствования MFA.
В условиях санкционного давления предпочтение стоит отдавать российским IT-продуктам, соответствующим требованиям законодательства РФ. Важным моментом является наличие сертификации MFA-решения в Федеральной службе по техническому и экспортному контролю (ФСТЭК) России.
Примером успешной отечественной разработки для обеспечения безопасности информационных систем является сервер аутентификации Blitz Identity Provider. Это современное MFA-решение, которое легко адаптируется под требования как крупных, так и мелких предприятий.