WebAuthN. Web Authentication API. Будущее аутентификации в вебе
На всякий случай: это не реклама, потому что это как если бы я продавал вам механизм http, cookie и local storage.
Это технология, которая уже в ваших устройствах.
Это продолжение серии постов «SMS Two factor auth — плохая практика. Альтернативы»
https://webauthn.io — демо-сайт, где я могу аутентифицироваться на десктопе, приложив палец к моему 6-летнему Huawei p20.
Или посветив лицом в FaceID айфона.
Или приложив палец к TouchID на макбуке — самый простой сценарий, состоит из 1 шага.
Или воспользовавшись Yubikey, который поддержан WebAuthN.
Технологию разрабатывали крутые дядьки из Google, Mozilla, MS и Yubico.
Можно подискутировать, каким фактором называть WebAuthN.
По сути это протокол между сайтом и устройствами пользователя, объединяющий второй и третий фактор, и позволяющий отказаться от первого. Да здравствует passwordless!
Я очень жду распространения этой технологии. Она вышла в бету еще в 2019 году, тогда была сыровата и не имела достаточной поддержки на устройствах и в браузерах.
Сейчас она готова к внедрению: поддерживается iOS 13.3+ и Android 7+, WebView, Safari, Chrome, Firefox, Edge, Opera. Список совместимых браузеров с версиями.
«Это какая-то техногиковская хрень для хакатона!», скажете вы.
А я приведу список сервисов, которые уже прикрутили WebAuthN, а в первом комменте накидаю скринов:
- Google
- PayPal
- Apple
- Microsoft
- Facebook
- Dropbox
Из наших:
- VK ID (Плюс OK и Mail)
- Яндекс ID (читай, все сервисы Яндекса)
- Плюс все, кто прикрутил вход через VK ID / Яндекс ID на свои сервисы
Плюсы:
— Очень user-friendly. В самых простых кейсах не нужно даже вводить логин, т.к. он сохранен в браузере. То есть просто на сайте нажал кнопку «войти», приложил палец к сканеру на ноуте и вошел. Ни забытых паролей, ни ожидания смс.
— Безопасность на уровне Yubikey, а то и выше. В отличие от ТОТП, не происходит обмена секретами. Так же как в случае с Yubikey, нет возможности фишинга ОТП-кода. А если украли телефон, то чтобы воспользоваться им нужно его разлочить.
— Не нужно ставить и настраивать доп приложения, не нужно покупать доп девайсы.
— Не нужно реализовывать доп сценарии в своих приложениях типа QR-кода или кнопки «да, это я». Уже всё реализовано в браузерном API и в нативе на мобилках.
— Бесплатно. Не нужно платить за пакет СМСок. Нет проблем с «зарубежными номерами телефона».
Минусы:
— Новая технология, не сформирована привычка у пользователей, еще могут вылезать баги.
— Если нет сканера отпечатков на ноуте, то задействуется телефон — а это таки лишнее движение.
Мое мнение:
За этой штукой будущее, но прямо сейчас делать это исключительным способом входа нельзя. У всех приведенных примеров этот способ — дополнительный. Хотя уже сейчас можно заходить в Google без пароля, но есть fallback-вариант в виде старых добрых «пароль + смс».
Тем не менее, возможности которые эта технология дает, уже сейчас можно использовать. Например, если нужно защитить самые ценные учетки, и вы думали прикручивать TOTP — рассмотрите WebAuthN в качестве второго фактора.
https://webauthn.guide/ — Почитать, лендос + дока
https://webauthn.io/ — Потыкать самому, зарегистрироваться + залогиниться
Post #126
5.52K