Готово ли ваше устройство к ключам доступа?
Узнайте, что этот браузер умеет с WebAuthn, затем при желании создайте демонстрационный ключ доступа и войдите с ним. Аккаунт при этом не создаётся.
Проверки остаются на этой странице. Демонстрационный ключ доступа хранится на устройстве или в менеджере паролей. Закрытый ключ никогда не покидает этот аутентификатор. Страница держит открытый ключ только в этой сессии браузера, чтобы проверить подпись здесь.
01
Проверки браузера
WebAuthn доступен, платформенный аутентификатор не сообщён
Ниже всё ещё можно попробовать ключ безопасности. Отсутствие платформенной проверки не доказывает, что любая операция с ключом доступа провалится.
Защищённый контекст
ДоступноЭта страница — HTTPS или localhost, что требуется для WebAuthn.
WebAuthn API
ДоступноPublicKeyCredential присутствует, поэтому браузер может начать церемонию.
Платформенный аутентификатор с проверкой пользователя
НедоступноПлатформенный аутентификатор с проверкой пользователя не сообщён. Ключ безопасности или телефон всё ещё могут работать.«Доступно» значит, что браузер видит подходящий аутентификатор. Это не значит, что ключ доступа уже сохранён.
Автозаполнение ключа доступа
ДоступноБраузер может предложить ключ доступа из формы входа.Эта страница не открывает тот запрос, поэтому демо не смешивается с другим ключом доступа для этого сайта.
Подтверждение с телефона по QR-коду
НедоступноГибридный транспорт сообщён как недоступный.
Подробные возможности клиента
- Не поддерживается
userVerifyingPlatformAuthenticatorУстройство может подтвердить, что это вы, биометрией или PIN устройства.
- Не поддерживается
passkeyPlatformAuthenticatorДоступен встроенный провайдер ключей доступа.
- Поддерживается
conditionalGetПоля входа могут предложить сохранённый ключ доступа.
- Поддерживается
conditionalCreateБраузер может предложить создать ключ доступа после входа по паролю.
- Не поддерживается
hybridTransportТелефон может подтвердить вход на этом компьютере по QR-коду.
- Поддерживается
relatedOriginsRelated Origin Requests — связанные домены могут делить ключ доступа.
- Поддерживается
signalAllAcceptedCredentialsСайт может сообщить устройству, какие ключи доступа ещё принимаются.
- Поддерживается
signalCurrentUserDetailsСайт может обновить имя, показанное для ключа доступа.
- Поддерживается
signalUnknownCredentialСайт может попросить устройство скрыть ключ доступа, который больше не принимается.
- Поддерживается
extension:credPropsРегистрация может сообщить, является ли новая учётная запись обнаруживаемой.
- Поддерживается
extension:prfАутентификатор может вывести ключ для шифрования через расширение PRF.
- Поддерживается
extension:largeBlobАутентификатор может хранить больший blob рядом с учётными данными.
- Поддерживается
extension:appid - Поддерживается
extension:appidExclude - Поддерживается
extension:credBlob - Поддерживается
extension:credentialProtectionPolicy - Поддерживается
extension:enforceCredentialProtectionPolicy - Поддерживается
extension:getCredBlob - Поддерживается
extension:hmacCreateSecret - Поддерживается
extension:minPinLength - Не поддерживается
extension:payment
02
Попробуйте демонстрационный ключ доступа
Создаётся обнаруживаемая учётная запись с проверкой пользователя — та же форма, что у ключа доступа на реальном сайте. Она не связана с аккаунтом.
Устройство или менеджер паролей сохранит настоящий ключ доступа для этого сайта с именем аккаунта passkey-demo@passwords.lu. Позже удалите его в том менеджере паролей, iCloud Keychain, Google Password Manager или Windows Hello. «Забыть» здесь только убирает открытый ключ из этой сессии браузера.
Запрос создаётся на этой странице, и подпись проверяется здесь открытым ключом из регистрации. На продакшен-сайте запрос должен создаваться на сервере и подпись проверяться там. Эта церемония на сервер не отправляется.
Этот хост — не passwords.lu. Демонстрационный ключ доступа сохраняется только для текущего хоста.
- Relying party id
- localhost
- Имя аккаунта
- passkey-demo@passwords.lu
- Где найти
- Найдите в менеджере паролей passkey-demo@passwords.lu.
03
Ключи доступа, пароли и TOTP
Ключ доступа заменяет пароль ключом, привязанным к настоящему сайту. TOTP добавляет короткий код из общего секрета, и фишинговый сайт всё ещё может передать этот код дальше.
| Тема | Ключ доступа | Пароль | TOTP |
|---|---|---|---|
| Что у вас хранится | Закрытый ключ на устройстве или в его менеджере паролей. Подтверждаете биометрией или PIN устройства. | Секрет, который вы помните или храните. | Общий секрет в приложении-аутентификаторе, обычно рядом с паролем. |
| Фишинг | Подпись привязана к настоящему сайту. Похожий домен не сможет её использовать. | Секрет можно ввести на поддельной странице. | Фишинговый сайт в реальном времени может передать текущий код. |
| Взлом сервера | Сервер хранит открытый ключ. | Сервер хранит хеш, который можно атаковать офлайн. | Сервер хранит общий секрет. Копия может выпускать действительные коды. |
| Потерянный телефон | Зависит от синхронизации, другого устройства или восстановления, которое предлагает сайт. | Работает везде, если вы его знаете. | Нужно приложение-аутентификатор, резервная копия или коды восстановления сайта. |
| На этом сайте | Поддержка браузера плюс живое создание и вход на этой странице. | Инструменты силы и утечек в других разделах passwords.lu. | Генерируйте и проверяйте коды в инструменте TOTP. |
Разработчикам
Что relying party всё ещё должен делать
Обнаружение возможностей — не интеграционный тест. Продакшен-сайт выдаёт свежий запрос с сервера, проверяет подпись сохранённым открытым ключом и сверяет origin и relying party id. Эта страница делает эти проверки локально, чтобы показать церемонию без аккаунта. Вход запрашивает только эту демонстрационную учётную запись, поэтому запрос — не вход с любым другим ключом доступа для этого сайта.
