По данным специалистов по безопасности, около 80% случаев взлома компьютерных систем происходят из-за ненадежных паролей. У парольной аутентификации немало недостатков — запоминающиеся пароли легко подобрать, а надежные часто забывают. В этой связи уже давно идет поиск альтернативных способов подтверждения прав доступа. Стандарты беспарольной аутентификации для Всемирной паутины разрабатывает сформированная в 2013 году организация FIDO Alliance. На сегодня регламентированный ею протокол аутентификации по ключам доступа (passkey) — WebAuthn поддерживается большинством браузеров, но довольно ограниченным числом сайтов, сервисов и приложений.
Беспарольная аутентификация опирается на инфраструктуру шифрования с открытым ключом. При регистрации на сайте, поддерживающем ключи доступа, на смартфоне пользователя создается пара ключей. Открытый передается сайту, закрытый хранится в защищенной области на устройстве. При попытке входа на сайт он отправит на смартфон, использовавшийся при регистрации аккаунта, специальное push-уведомление — запрос, содержащий некоторые данные. Пользователь, получив уведоиление, разблокирует смартфон с помощью лица, отпечатка пальца или цифрового кода, а тот подписывает закрытым ключом данные запроса и возвращает их сайту. В случае успешной верификации подписанных данных на сайте, выполняемой с помощью открытого ключа, автоматически происходит вход — без использования пароля. Вместо смартфона роль аутентификатора могут выполнять другие устройства — планшет, ПК и др.
Таким образом, ключ доступа обеспечивает возможность не только более быстрой, но и более защищенной аутентификации: хранимый на сайте открытый ключ для злоумышленников бесполезен, а получить закрытый из защищенной области пользовательского устройства весьма затруднительно. Ключи доступа также обеспечивают защиту от фишинга, ведь верификация происходит автоматически под контролем соответствующей инфраструктуры, которую вряд ли введет в заблуждение даже идеально сфабрикованная копия сайта.
Аутентификация по ключам доступа поддерживается всеми ведущими поставщиками платформ, включая Google, Microsoft и Apple. Их облачные сервисы обеспечивают возможность синхронизации ключей доступа между различными устройствами одного и того же пользователя. То есть, к примеру, владелец учетной записи Apple iCloud сможет заходить на защищенный сайт как со своего iPhone, так и с iPad. В настоящее время идет работа по обеспечению возможности защищенного обмена ключами доступа между экосистемами разных поставщиков. Разрабатываются механизмы восстановления ключей при утрате устройства-аутентификатора — сложность в том, что в таком случае необходимо заново запрашивать ключи у всех сервисов, где пользователь успел зарегистрироваться.
Переход на беспарольную аутентификацию на предприятиях потребует определенных усилий, но задачу можно упростить, воспользовавшись сторонними сервисами безопасности. В приложениях для обеспечения поддержки ключей доступа придется модифицировать и пользовательскую, и серверную часть. На сайтах процедуры входа, создания и отзыва ключей можно реализовать с помощью стандартного API WebAuthn.
В любом случае, учитывая факт поддержки аутентификации по ключам доступа со стороны ИТ-гигантов, этот механизм уже в ближайшие годы скорее всего станет применяться гораздо шире, чем сейчас.