Анонимность и многофакторная аутентификация
К примеру, если на сайте социальной сети вы пользуетесь псевдонимом, включение двухфакторной аутентификации для доступа к сайту вынудит вас раскрыть номер своего мобильного телефона, после чего с помощью оператора сотовой связи можно будет установить вашу личность и связать с ней ваш псевдоним. Если для вас важно сохранять анонимность на определенном сервисе, следует либо пользоваться анонимным мобильным номером (при доступе к которому опять же не светить свой IP-адрес), либо отказаться от многофакторной аутентификации вовсе, что опять же снижает уровень безопасности.
Очевидны неудобства такой системы для пользователя: SMS-сообщение или телефонный вызов он сможет получить, только если смартфон находится в зоне действия сотовой сети. Особенно серьезные трудности могут возникнуть, если пользователь отправится за границу и по организационным или финансовым причинам не сможет использовать ту же SIM-карту, что и в стране постоянного проживания. Так, некоторые сервисы вынуждают клиентов применять исключительно аутентификацию (вторую) с помощью SMS-сообщений, хотя для получения одноразовых кодов можно использовать, например, PUSH-уведомления. Ко всему прочему ПИН-коды могут приходить со значительной задержкой, что замедляет или даже делает невозможной аутентификацию пользователя. К примеру, такая ситуация сложилась на сайте «Госуслуги», после того как в период пандемии COVID-19 правительство РФ ввело в действие меры поддержки населения. На этом ресурсе на ввод ПИН-кода отводится ограниченное количество времени, после чего код становится недействителен. Из-за резкого наплыва посетителей коды отправлялись на устройства пользователей со значительной задержкой, и посетители ресурса не могли аутентифицироваться.
Впрочем, на такой случай крупные ресурсы вроде Google и Facebook предлагают список одноразовых ключей, которые можно распечатать и хранить в безопасном месте. Это не слишком удобно, а также снижает уровень защиты системы, если распечатку носить с собой.
Учитывая небезопасность аутентификации посредством SMS-технологии, Национальный институт стандартов и технологий США (NIST) запретил использовать данный способ в государственных структурах, объявив его «устаревшим»
[65]. По словам сотрудников института, хакеры могут при соучастии оператора сотовой связи перевыпустить SIM-карту либо взломать устаревший и уязвимый набор протоколов ОКС-7
[66], используемый операторами и телефонными компаниями по всему миру. Поэтому было решено запретить использование дополнительного фактора аутентификации с помощью SMS-сообщений и заменить ее более безопасными методами.
С помощью приложений-аутентификаторов
Дополнительный (одноразовый) код может генерироваться специальным приложением-аутентификатором (типа Google Authenticator или Microsoft Authentificator), не требующим подключения к интернету. Приложение генерирует на основе первичного ключа (обычно в виде QR-кода) одноразовый код с ограниченным сроком действия (30–60 секунд). По истечении времени создается новый код. Если злоумышленнику и удастся перехватить один или даже несколько кодов, невозможно предугадать, какой код будет следующим.
Более универсальное и комфортное решение – разработка Authy (https://authy.com). Эта программа может не только генерировать одноразовые коды, но и умеет сохранять полученные сертификаты в облачном хранилище и позволяет копировать их на другие устройства (смартфоны, компьютеры, планшеты и даже «умные» часы). Если одно из устройств будет похищено, вы не потеряете контроль над аккаунтом. Аутентификация в приложении требует ввода ПИН-кода, а ключ, находящийся на скомпрометированном устройстве, можно отозвать
[67].
К недостаткам приложений-аутентификаторов можно отнести риск того, что если злоумышленник получит доступ к первичному ключу или взломает сервер, то, зная алгоритмы вычислений, он сможет генерировать пароли самостоятельно. К тому же не всегда можно быть уверенным, что данные из такого приложения не передаются на удаленный сервер, если девайс заражен вредоносным граббером, копирующим изображение на экране (проблема решается запуском аутентификатора на устройстве без доступа к интернету). И, как и в случае с SMS-сообщениями, если для аутентификации и генерации кодов используется одно и то же устройство, защита перестает быть двухфакторной.
Кроме того, если приложение-аутентификатор недоступно, многие сервисы предлагают альтернативные варианты передачи одноразового кода: звонок автоинформатора, отправку кода с помощью SMS-сообщения или даже электронной почты. В таком случае преимущества приложения-аутентификатора теряют весь смысл. Если приложение не работает, а код отправляется в SMS-сообщении, то злоумышленник может получить доступ к телефону жертвы, к примеру, клонировав SIM-карту.
КЕЙС В 2018–2020 гг. в Казани были отмечены многочисленные случаи мошенничества: у абонентов оператора сотовой связи «Мегафон» было похищено свыше 200 000 рублей. Преступления совершались с использованием виртуальных дубликатов SIM-карт и поддельной базовой станции. Проблема заключается в уязвимостях системы безопасности оператора; кроме того, услуга «Мобильные платежи» подключается без согласия абонента
[68],
[69],
[70].
С помощью мобильных приложений
Данный способ объединяет два предыдущих: вы не вводите одноразовый код, а подтверждаете вход с вашего мобильного устройства с установленным приложением службы, к которой вы получаете доступ. На устройстве хранится приватный ключ, который проверяется при каждом входе. Недостатки те же, что и у приложений-аутентификаторов.
С помощью аппаратных устройств
Токены безопасности
Для достижения максимального уровня защиты вместо программных инструментов аутентификации применяются аппаратные – специальные магнитные карты или USB-токены (похожи на flash-накопители без возможности записи данных пользователем). В этом случае помимо пароля преступнику необходим физический доступ к токену. Внутри такого токена находится специальный процессор, генерирующий криптографические ключи. Аутентификация осуществляется автоматически при подключении токена к устройству. Существуют версии токенов как для компьютеров, так и для мобильных устройств, например YubiKey (https://thekernel.com/ru/compare-yubikeys/).