WebAuthn как альтернатива паролям Блог компании FirstVDS Информационная безопасность
Утверждение, что пароль не самый надежный способ защиты, вряд ли кто-то подвергнет сомнению. Кто же спорит: пароль — это не всегда удобно. И небезопасно. Их трудно запомнить, из-за чего люди порой выбирают самые неудачные и используют их снова и снова. Пароли также легко поддаются фишингу, причем злоумышленники постоянно придумывают всё более изощренные виды атак. Альтернативы паролям есть, и наиболее перспективную из них мы рассмотрим. И это WebAuthn.
Что такое WebAuthn WebAuthn — сетевой стандарт, который обеспечивает быструю и беспарольную аутентификацию пользователя. Основан на технологии FIDO (от англ. Fast Identity Online) — технология онлайн-аутентификации личности пользователя.
Важное условие: устройство должно поддерживать этот сетевой стандарт.
Изначально WebAuthn разрабатывался с прицелом на абсолютное исключение паролей из системы аутентификации. Однако на практике речь до определенного времени шла об его использовании только в качестве второго компонента двухэтапной (двухфакторной) аутентификации, то есть в дополнение к паролю.
В целом же, это решение уже довольно давно используется рядом IT-гигантов и в настоящее время встроено в большинство современных браузеров.
По сути, WebAuthn представляет собой API управления учетными данными. Он позволяет веб-приложениям аутентифицировать пользователей без использования паролей — например, с помощью биометрии или флешки. Всю работу делает криптография с открытым ключом.
С WebAuthn вы можете использовать один аутентификатор (например, Yubikey) на любом сайте, поддерживающем стандарт. Таким образом, вам не нужно иметь пароли для каждого сайта, который вы посещаете, а только надежный аутентификатор, который работает с WebAuthn (о том, как это устроено, чуть ниже).
В дополнение к удобству, WebAuthn обеспечивает конфиденциальность, поскольку ни один сайт не может определить по аутентификатору, для каких других сайтов вы его использовали. Злоумышленники также не могут перехватить и успешно воспроизвести запрос аутентификации, поэтому вредоносные сайты не могут использовать ключ для атак на подлинные сайты, что исключает атаки типа «человек посередине». WebAuthn также позволяет вам выбрать собственный аутентификатор на свое устройство (смартфон, компьютер) или внешний аутентификатор (например, USB-ключ безопасности).
Аутентификация посредством WebAuthn выполняется посредством трех компонентов: сайта (верификатора), браузера пользователя и собственно аутентификатора, в роли которого может выступать, например, биометрия или ключ безопасности на флешке. В упрощенном виде это выглядит так: при попытке авторизации с помощью отпечатка пальца или ключа встроенный скрипт WebAuthn сигнализирует верификатору, что у пользователя есть корректный аутентификатор, то есть необходимые данные для подтверждения того, что он (пользователь) — это он. В результате успешной аутентификации пользователь авторизуется в системе верификатора.
Немного терминологии Изучая документацию по WebAuthn, вы увидите, что там полно аббревиатур. Давайте посмотрим, что они означают:
FIDO — это сокращение от Fast IDentity Online. Альянс FIDO – это открытая ассоциация, в которую входят сотни компаний. FIDO работает над созданием стандартов аутентификации, которые помогут сократить (а в перспективе и вообще исключить) использование паролей в мире.
FIDO2 — это общий термин для спецификаций консорциума World Wide Web (W3C) и Альянса FIDO. Он включает в себя как WebAuthentication (беспарольный веб-API для аутентификации в браузерах, который уже является стандартом консорциума W3C), так и протокол CTAP.
CTAP расшифровывается как Client To Authenticator Protocol. В нем описывается, как аутентификаторы могут реализовать двухфакторную и беспарольную аутентификацию. Эти ключи могут быть встроенными в такие устройства, как телефоны и ноутбуки (аутентификаторы на устройстве или платформе), или они могут быть внешними (роуминговые или ключи безопасности), то есть подключаться через NFC, USB и/или BLE.
CTAP2 — это новый протокол, который позволяет использовать аутентификаторы нового типа, то есть не только для двухфакторной, но и для беспарольной или многофакторной аутентификации.
CTAP1, который раньше назывался FIDO U2F. Он позволяет использовать более старые средства аутентификации, такие как ключи безопасности, для второго фактора, то есть в качестве дополнительной защиты после ввода пароля.
Источник:
habr.ru