WebAuthn (Web Authentication) – стандарт W3C (рекомендация с 2019 года), который позволяет веб-сайтам аутентифицировать пользователей с помощью криптографии с открытым ключом. Вместо пароля используется ключ, хранящийся в аутентификаторе: встроенном в устройство (с подтверждением отпечатком, лицом или PIN-кодом) или внешнем аппаратном ключе.
Как работает
- При регистрации аутентификатор создаёт пару ключей для конкретного сайта, сайт сохраняет открытый ключ.
- При входе сайт отправляет вызов, аутентификатор подписывает его закрытым ключом после подтверждения пользователем.
- Закрытый ключ не покидает устройство и привязан к домену сайта.
Преимущества
- Устойчивость к фишингу: ключ работает только на настоящем домене.
- Нет паролей, которые можно украсть или подобрать.
- Удобство: вход отпечатком или лицом.
Связанные понятия
- FIDO2 – общий стандарт, включающий WebAuthn и протокол CTAP для внешних ключей.
- Passkeys – синхронизируемые между устройствами ключи на базе FIDO2.