Аутентификация одноразовыми кодами: преимущества и риски

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

Насколько безопасны приложения-аутентификаторы?

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

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

Как работают приложения-аутентификаторы

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

Дальше вы вводите код, который сгенерировало ваше приложение, и сервис сравнивает его с тем, что сгенерировал он сам. Если коды совпадают, то все отлично, вас можно пустить в аккаунт (а если нет — то нельзя). Кроме того, при подключении приложения-аутентификатора через QR-код передается масса информации помимо секретного ключа. В том числе период времени, через который истекает «срок годности» одноразового кода — как правило, 30 секунд.

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

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

Насколько безопасна аутентификация кодом из приложения

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

  • Хорошо защищает от утечек: одного только пароля недостаточно для входа в аккаунт, нужен еще и одноразовый код.
  • Неплохо защищает при перехвате этого самого одноразового кода. Поскольку код действует только 30 секунд, у злоумышленника остается не так-то много времени, чтобы им воспользоваться.
  • Не позволяет восстановить секретный ключ из одноразового кода, так что даже если код перехватят, клонировать аутентификатор не получится.
  • Не требует подключения к Интернету на устройстве, генерирующем одноразовые коды, — его можно держать полностью изолированным от Сети.

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

Утечки, взлом почты и обходные пути

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

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

Что по этому поводу стоит делать?

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

Физический доступ и подглядывание через плечо

Более очевидная неприятность: кто-нибудь может подсмотреть одноразовый код у вас через плечо, когда вы пользуетесь приложением-аутентификатором. Причем даже не один код, а несколько — ведь аутентификаторы часто отображают коды подряд. И, соответственно, войти в любой из тех аккаунтов, код от которых удастся подсмотреть. Конечно, у злоумышленника будет не так уж много времени, чтобы воспользоваться увиденным. Но все же лучше не рисковать, расторопному взломщику этих 30 секунд может и хватить…

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

Как минимизировать такие риски?

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

Фишинговые сайты

Большинство фишинговых сайтов — та их часть, которая рассчитана на массовые атаки, — устроены достаточно примитивно. Их создатели обычно довольствуются воровством логинов и паролей — с последующей их оптовой продажей где-нибудь в даркнете по принципу «два рубля пучок». От таких халтурщиков двухфакторная аутентификация, конечно же, прекрасно защищает: даже если кто-то заполучит ваши логин и пароль, без одноразового кода из приложения они будут совершенно бесполезны.

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

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

Зловреды-стилеры

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

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

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

Чтобы этого не произошло:

  • не устанавливайте программы из сомнительных источников;
  • обязательно используйте надежную защиту на всех своих устройствах.

Бэкапы аутентификаторов (а точнее, их отсутствие)

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

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

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

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

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

Как оставаться в безопасности

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

  • Обязательно установите пароль на вход в устройство, на котором установлен аутентификатор.
  • Используйте приложение-аутентификатор, которое умеет скрывать на экране одноразовые коды и позволяет установить пароль на вход в само приложение.
  • Не забывайте делать резервные копии аутентификатора.
  • Не используйте простые пароли и не устанавливайте одинаковые комбинации для разных аккаунтов. Сгенерировать и запомнить уникальные и надежные последовательности символов поможет менеджер паролей.
  • Следите за утечками и вовремя меняйте пароли от протекших сервисов — особенно в почте, к которой привязаны другие аккаунты. Кстати, Kaspersky Password Manager отслеживает утечки паролей и предупреждает о них.
  • Чтобы защититься от фишинга и зловредов-стилеров, установите на все свои устройства надежное защитное решение.
  • Следите за попытками входа в ваши учетные записи и оперативно реагируйте на подозрительную активность. Кстати, у нас есть инструкция, которая подскажет, что делать, если ваш аккаунт взломали.
Советы