Автоматическая аутентификация в настольном браузере с WebAuthn - PullRequest
0 голосов
/ 17 сентября 2018

В Google I / O '18 была показана демонстрация, в которой пользователь аутентифицируется в PayPal, просто предоставив отпечаток пальца (см. YouTube 24:40). Это было сделано в браузере, работающем на смартфоне, который имеет датчик отпечатка пальца и требует от браузера реализации стандарта WebAuthn. Отпечаток пальца разблокирует закрытый ключ, который используется для аутентификации запрос-ответ и который хранится в аутентификаторе.

Насколько я понял, взаимодействие с пользователем (т.е. запрос отпечатка пальца) можно отключить, установив для аргумента userVerification значение discouraged (см. w3.org ). Пользователь будет авторизован автоматически.

Может ли этот поток быть реализован в браузере для настольного компьютера без какого-либо дополнительного оборудования? В браузерах реализован аутентификатор по умолчанию, который можно использовать для этого?

Конкретно, я хотел бы сделать это:

  • зарегистрировать пару открытого / закрытого ключа в браузере настольного компьютера через WebAuthn, чтобы к закрытому ключу нельзя было получить доступ через JavaScript (например, для защиты от атак XSS)
  • каждый раз, когда данные отправляются на сервер, они подписывают эти данные через API WebAuthn с помощью закрытого ключа, хранящегося в аутентификаторе «по умолчанию», без необходимости взаимодействия с пользователем

1 Ответ

0 голосов
/ 17 сентября 2018

Может ли этот поток быть реализован в браузере настольного компьютера без какого-либо дополнительного оборудования?В браузерах реализован аутентификатор по умолчанию, который можно использовать для этого?

Chrome, и, вероятно, большинство браузеров могут генерировать пару открытый-закрытый ключ и использовать ее для аутентификации.Однако безопасность этого ключа без его защиты специальным оборудованием, как в случае с телефоном, в лучшем случае весьма сомнительна.

Предпочтительным решением будет использование USB-токена, такого как YubiKey.Большинство из них требуют взаимодействия, а именно нажатия кнопки на токене, чтобы предотвратить использование вредоносной программой без ведома пользователя, но вы можете найти такую, которая этого не делает, или, альтернативно, вы сможете найти такую, которая позволит вамизменить прошивку и отключить это требование.

...