userVerification: глубокое погружение

В этом документе обсуждается, что такое userVerification в WebAuthn, а также поведение браузера, которое возникает при указании userVerification во время создания ключа доступа или аутентификации.

Что такое «проверка пользователя» в WebAuthn?

Ключи доступа основаны на криптографии с открытым ключом. При создании ключа доступа генерируется пара открытого и закрытого ключей, закрытый ключ сохраняется поставщиком ключей доступа, а открытый ключ возвращается на сервер проверяющей стороны (RP) для хранения. Сервер может аутентифицировать пользователя, проверив подпись, подписанную тем же ключом доступа, используя парный открытый ключ. Флаг «присутствие пользователя» (UP) в учётных данных открытого ключа подтверждает, что кто-то взаимодействовал с устройством во время аутентификации.

Верификация пользователя — это дополнительный уровень безопасности, призванный подтвердить присутствие нужного человека во время аутентификации, а не просто какого-то другого, как это подтверждается присутствием пользователя. На смартфонах это обычно делается с помощью механизма блокировки экрана, будь то биометрическая проверка, PIN-код или пароль. Информация о том, была ли выполнена верификация пользователя, отображается в флаге «UV», который возвращается в данных аутентификатора во время регистрации ключа доступа и аутентификации.