Беспарольная аутентификация: что это такое и почему на неё делают ставку IT-гиганты
Разбираемся, действительно ли это так безопасно, как утверждают Apple, Microsoft и Google.
Иллюстрация: Оля Ежак для Skillbox Media
Максим Чернухин
Эксперт Skillbox, консультант по IT, СТО в «Сбербанк страхование жизни». В прошлом работал в «Альфа-Банк» и «Сбертехе» на ключевых проектах. 10 лет в IT.
В 2022 году Google, Microsoft и Apple рассказали всему миру, что вместе создают новый способ аутентификации — Passkeys. Предполагается, что помощью него пользователи смогут заходить на сайты и приложения без паролей — просто разблокировав смартфон с помощью биометрии.
Звучит интересно, учитывая, что беспарольная аутентификация — явление не новое и широко обсуждаемое ещё с 1980-х. В этой статье разбираемся, что это за аутентификация такая, как она работает и каких видов бывает. А ещё — рассказываем, как её подключить и начать использовать уже сегодня.
Что такое беспарольная аутентификация
Беспарольная аутентификация — это способ войти в аккаунт, не требующий знания пароля и других кодовых слов. Чтобы подтвердить свою личность, пользователь должен передать системе уникальный идентификатор: ввести код из СМС, перейти по ссылке из письма, отправить данные другого аккаунта или подтвердить вход на уже авторизованном устройстве.
Взломать беспарольный аккаунт сложнее, чем обычный. Интерпретируя классику: если у вас нет пароля, то вам его не потерять. Его не смогут украсть, слить в интернет, подсмотреть в браузере или подобрать с помощью банального перебора.
Пытливый читатель спросит: если это так удобно и безопасно, почему сервисы в IT массово не переходят на эту систему? Всё дело в том, что до сих пор не было полностью надёжного способа логиниться без пароля: SMS, QR-коды и электронные письма не решают полностью проблему, потому что легко перехватываются хакерами.
А сейчас техника дошла до того, что мы можем войти на сайт, банально разблокировав экран смартфона с помощью графического ключа или Face ID. Такой способ аутентификации называется Passkeys, и именно над ним сейчас работают Apple, Google, Microsoft и другие компании — участники альянса FIDO (огранизации, выступающей за отмену паролей).
Вот как работает Passkeys:
- Пользователь создаёт на своём смартфоне ключи, которые нужны для подтверждения входа на новых устройствах. По сути, превращает свой смартфон в USB-ключ или криптографический токен.
- Заходит на сайт или в приложение с нового компьютера и нажимает кнопку «Войти в аккаунт».
- Ему предлагают ввести логин: адрес электронной почты, никнейм или номер телефона.
- На телефон, на котором созданы ключи, приходит уведомление — с просьбой разблокировать телефон и разрешить доступ.
- Пользователь разблокирует телефон и жмёт кнопку «Подтвердить».
- Готово — аутентификация пройдена успешно.
Чем беспарольная аутентификация лучше двухфакторной
Беспарольная аутентификация готовится прийти на смену не только обычной (парольной), но и продвинутой — двухфакторной и мультифакторной.
Последние два вида используют привычный способ аутентификации (пароли) и добавляют дополнительный слой защиты — коды из СМС, одноразовые почтовые ссылки, push-уведомления или подтверждение входа на другом устройстве.
Давайте узнаем немного подробнее о двухфакторной и мультифакторной аутентификации, чтобы понять, чем они отличаются от беспарольной.
Двухфакторная аутентификация — это одновременная аутентификация двумя разными способами. Например, сначала нужно ввести логин и пароль, а потом — подтвердить личность с помощью одноразового кода, который придёт на телефон или электронную почту.
Мультифакторная аутентификация — это как двухфакторная, но количество факторов подтверждения больше. Например, пользователь должен ввести пароль, одноразовый код из СМС, а потом ещё перейти по ссылке из email.
Сегодня многоступенчатые формы аутентификации — это самый надёжный способ защитить аккаунт, но даже с ними вы полностью не застрахованы от взлома. Причины всё те же: пароли легко утекают в Сеть, а дополнительный слой защиты в виде СМС легко «стирается» предприимчивым хакером.
Характерный пример — атака SIM swap, заточенная на подмену сим-карты. Вот как она выглядит:
- Злоумышленник собирает личные данные о пользователе: возраст, город проживания, дату рождения — всё что угодно. Делает он это, например, с помощью фишинга или методов социальной инженерии.
- Затем он запрашивает на сайте оператора связи замену SIM-карты — а собранные данные использует для подтверждения личности владельца.
- Если данные о владельце подтверждены, оператор связи может либо заменить его текущий номер сим-карты на новый, либо выдать новую карту.
- После этого старая карта блокируется, а все СМС и звонки будут приходить на новую.
Атака SIM swaps показывает, что «двухфакторка» не смогла надёжно защитить аккаунты от взлома. Беспарольная аутентификация с помощью Passkeys должна решить эту проблему, потому что полностью избавляет и от паролей, и от архаичных этапов подтверждения. Чтобы взломать аккаунт, защищённый Passkeys, нужно либо украсть это устройство, либо получить к нему доступ удалённо. Сделать это тоже можно, но гораздо сложнее.
Но хакеры не сидят сложа руки, а значит, уязвимости и в этой системе когда-то найдутся. Или злоумышленники пойдут другим путём — например, научатся генерировать отпечатки пальцев с помощью нейросетей. Пока ещё нет идеальной системы безопасности, которая защитила бы от всего.
Виды беспарольной аутентификации
Выше мы уже успели обсудить некоторые виды аутентификации без пароля: с помощью СМС, почты или современного Passkeys. Но на самом деле их существует гораздо больше — давайте остановимся на самых популярных.
OTP-код
Исторически первый способ аутентификации без пароля, изобретённый ещё в далёкие 1980-е. Специальная программа генерирует одноразовый пароль (one-time password, или OTP) на устройстве или в облаке и присылает его пользователю в момент входа. Обычно длина OTP составляет от 4 до 12 символов, а приходит он в СМС, в пуш-уведомлениях или на почту.
Такие коды создают специальные программы, например Google Authenticator или «Яндекс Ключ». Хранятся коды часто прямо на смартфоне. Использовать их нужно за определённое время — дальше они станут недействительными.
Некоторые сервисы могут создать OTP-коды с длительным сроком действия — они называются резервными. Резервные коды нужны, чтобы вы могли войти в аккаунт, даже если потеряете доступ к телефону или SIM-карте.
QR-код
Аутентификацию по QR-коду используют, когда у пользователя уже есть активная сессия на другом устройстве — компьютере или телефоне. Смысл простой: сканируете камерой телефона код на экране, и сервис автоматически аутентифицирует вас в системе. При этом во время каждой сессии создаётся новый QR-код, поэтому по одному коду не получится залогиниться с двух устройств.
Push-уведомления
Этот способ похож на QR-коды. Здесь тоже нужно быть авторизованным на каком-то устройстве — например, компьютере. А чтобы войти в аккаунт на другом, пользователь должен подтвердить аутентификацию с помощью push-уведомления.
В некоторых случаях, например при использовании Microsoft Authenticator, после получения «пуша», пользователю нужно дополнительно подтвердить свою личность на устройстве, с помощью пин-кода или биометрии.
Одноразовые ссылки на почту
Работает так: пользователю на электронную почту приходит письмо с URL-ссылкой. Если кликнуть по ней, пользователь автоматически попадает в свой личный кабинет уже авторизованным.
Этот способ считается устаревшим и ненадёжным, ведь пользователю нужно как-то войти в почтовый сервис. А для этого нужно использовать другой способ аутентификации.
OAuth и OpenID
Этот способ позволяет логиниться на сайтах и в приложениях с помощью единых учётных записей — например, Google или «Яндекса».
OAuth и OpenID удобны тем, что поддерживают кросс-аутентификацию на мобильных устройствах. Например, если вы вошли в аккаунт Google и дали доступ к нему приложению, которое поддерживает OAuth, то вам больше не нужно будет вводить логин и пароль для входа в это приложение.
Passkeys
Passkeys позволяют заходить в аккаунты на сайтах и в приложениях с помощью криптографических ключей. Они уникальны, защищены от подделки, а потому идеальны для подтверждения личности пользователя.
Криптографические ключи бывают двух видов: публичные и приватные. Публичные общедоступны и представляют собой что-то вроде цифрового профиля пользователя. Приватные хранятся строго на устройстве и нужны для аутентификации.
Для создания ключей можно использовать сервисы Google, Microsoft или Apple. Подробнее этот процесс мы расписываем чуть дальше.
Приватный ключ можно привязать к нескольким устройствам — на случай, если пользователь потеряет доступ к одному из них. При этом для разных устройств используется один и тот же ключ, поскольку он уникален для каждого аккаунта.
Когда пользователь заходит на сайт и нажимает кнопку «Войти в аккаунт», система находит его профиль — публичный ключ. Дальше сайт отправляет запрос об аутентификации на устройство. Чтобы подтвердить личность, нужно разблокировать устройство, а затем разрешить доступ. Только после этого аутентификация считается успешной и пользователь попадает в свой аккаунт.
Способ разблокировки пользователь выбирает сам. Это может быть отпечаток пальца, сканер сетчатки глаза, ПИН-код или графического ключ — в зависимости от того, какие способы разблокировки поддерживает ваше устройство. Конечно, разблокировка по биометрии считается наиболее надёжной, но не на всех гаджетах есть возможность её подключить.
Ещё одной удобной фишкой Passkeys стала аутентификация по Bluetooth. Допустим, мы хотим залогиниться на сайте с ноутбука. Рядом лежит телефон, где находится приватный ключ, по которому проходит аутентификация. Если оба устройства подключены друг к другу по Bluetooth, то, когда мы нажмём кнопку «Войти», нам не нужно будет разблокировать телефон — ноутбук поймает Bluetooth-сигнал от телефона и аутентифицирует нас автоматически. Но пока эта фича находится в разработке.
Как подключить беспарольную аутентификацию с помощью Passkeys
Подключение беспарольной аутентификации проходит в два шага: проверка совместимости с вашим устройством и создание ключа. Мы будем следовать инструкции от Google, чтобы создать ключ для Google-аккаунта. Для остальных учётных записей (например, Apple или Microsoft) шаги будут примерно такими же.
Шаг 1. Проверяем совместимость с устройством
Чтобы начать пользоваться Passkeys, нужно сперва убедиться, что ваше устройство поддерживает этот способ аутентификации. Вот список критериев, которым оно должно удовлетворять:
- Для ноутбука или ПК минимальная версия операционной системы: Windows 10, macOS Ventura или ChromeOS 109.
- Для смартфонов минимальная версия операционной системы: iOS 16 или Android 9.
- Поддержка протокола FIDO2 — можно посмотреть на официальном сайте.
Если устройство поддерживается, то дальше нужно убедиться, что установлена подходящая версия браузера:
- Для Chrome это версия 109 и выше.
- Для Safari это версия 16 и выше.
- Для Edge это версия 109 и выше.
И последний шаг в подготовке к настройке Passkeys — это проверить, что разблокировка устройства проходит с помощью биометрических данных, PIN-кода или графического ключа. Без этого не получится включить беспарольную авторизацию. А ещё нужно включить Bluetooth и убедиться, что он работает, пока вы проводите настройку.
Важное замечание: чтобы беспарольная аутентификация работала эффективнее и безопаснее, Google рекомендует постоянно обновлять операционную систему устройства до последней версии.
Шаг 2. Создаём приватный ключ
Сразу стоит сделать предостережение: создавайте ключи только на тех устройствах, которые принадлежат вам. Тогда вы не потеряете к ним доступ, даже если вы выйдете из Google-аккаунта.
Переходим на страницу с ключами: Google Passkeys. Чтобы создать ключ, вам нужно будет войти в Google-аккаунт. Если в аккаунте ещё не созданы ключи, вы увидите такой экран:
Бывает так, что ключи создаются автоматически, если вы используете Android-устройства. Они будут указаны ниже:
Если ключей нет, нужно нажать на кнопку Use passkeys. Появится окно:
Нажимаем Continue. Нас спросят, точно ли мы хотим создать ключ для этого аккаунта. Если да — жмём ещё раз Continue:
Теперь нужно будет подтвердить свою личность — с помощью биометрических данных, PIN-кода или графического ключа. MacBook, например, попросил ввести пароль от учётной записи:
Готово — ключ создан. А нам показали окно с подтверждением этого факта:
Ключи можно создать также и для других устройств — например, для ноутбука, смартфона и планшета. Со всех них можно будет подтверждать вход. Все устройства будут указаны в разделе Passkeys you created:
В любой момент вы можете удалить устройство. И помните: чтобы другие люди не смогли войти в ваш аккаунт, подключать стоит только те устройства, которые принадлежат лично вам.
Заходим в аккаунт с помощью ключа
Когда у нас создан ключ, мы можем без проблем войти в аккаунт с нового устройства. Для этого нужно зайти на сайт Google и нажать кнопку Войти. Нам скажут, что для входа используется беспарольная аутентификация и что нужно будет подтвердить вход на привязанном устройстве:
Как только мы нажмём Continue, на устройство придёт уведомление о том, что кто-то пытается войти в аккаунт. Чтобы подтвердить вход, просто разблокируем устройство.
Что запомнить
Давайте резюмируем всё, что мы узнали о беспарольной аутентификации.
- Беспарольная аутентификация — это альтернативный способ войти в аккаунт, который не требует знания пароля, ПИН-кода и других. Вместо него нужно, например, разблокировать телефон, ввести одноразовый код или перейти по ссылке.
- Компании развивают беспарольную аутентификацию как замену обычной — парольной, и улучшенной — двухфакторной и мультифакторной.
- Но взломать аккаунт с полной беспарольной аутентификацией всё равно можно. Хотя для этого хакеры используют более изощрённые методы — например, создают виртуальные копии устройств.
- Способов войти без пароля много: от одноразовых кодов до привязки аккаунта к устройству.
- Подключить беспарольную аутентификацию с помощью Passkeys можно уже сегодня, нужно только создать криптографический ключ в аккаунте Google, Apple или Microsoft.