WebAuthn: пароли отменяются

29.12.2018

Отменить пароли! Этот призыв становится все популярней из-за постоянно увеличивающегося количества аккаунтов каждого пользователя. Несмотря на то, что в Windows уже довольно давно можно входить в систему без пароля, используя различные методы, в веб-сервисах ввод комбинации имени пользователя и пароля до сих пор является повседневной рутиной. Однако защита паролем не работает должным образом. Хакеры с [...]

Отменить пароли! Этот призыв становится все популярней из-за постоянно увеличивающегося количества аккаунтов каждого пользователя. Несмотря на то, что в Windows уже довольно давно можно входить в систему без пароля, используя различные методы, в веб-сервисах ввод комбинации имени пользователя и пароля до сих пор является повседневной рутиной.

Однако защита паролем не работает должным образом. Хакеры с пугающей периодичностью взламывают крупные сервисы и массово крадут данные для входа. Растущее число паролей множества пользователей нагружает систему: анализ таких менеджеров паролей, как LastPass или Dashlane показывает, что типичный пользователь использует в данном программном обеспечении около 200 паролей. В среднем количество паролей на одного пользователя удваивается каждые пять лет.

При этом серферы испытывают определенные неудобства, так как, согласно опросам, лишь 13% из них используют менеджеры паролей. Другие механизмы обеспечения безопасности, такие как двухфакторная аутентификация, также не получают широкого признания у большинства пользователей. Однако надежда есть: новый стандарт WebAuthn (веб-аутентификация) может сделать пароли ненужными, по крайней мере, в долгосрочной перспективе.

Новое использование известной технологии

Строго говоря, WebAuthn еще не является стандартом. В организации W3C (Консорциум Всемирной паутины) интерфейс в данный момент обладает статусом Candidate Recommendation (рекомендован к рассмотрению). Разработка данной предварительной версии нового стандарта в целом завершена, но официально не одобрена. Ответственным за разработку WebAuthn является FIDO Alliance (Fast IDentity Online), организация, которая с 2012 года разрабатывает стандарты аутентификации. Поэтому WebAuthn часто обозначается как FIDO 2.0. Используемая технология не нова, она основана на универсальной системе аутентификации (Universal Authentication Factor (UAF)). Идея проста: вместо сохранения конфиденциальных данных (например, паролей) они подтверждаются, например, использованием смартфона или особых ключей обеспечения безопасности.

Довольно долгое время подобные ключи применяются в организациях для обеспечения доступа к системе без использования паролей. Среди частных пользователей, ратующих за повышенную безопасность, очень популярны ключи YubiKeys от компании Yubico. При этом пользователь применяет небольшой USB-накопитель, который вставляется в ПК, после чего осуществляется автоматический вход в Windows. Такие ключи также поддерживаются в Linux и macOS.

WebAuthn использует технологию там, где осуществляется максимальное число входов в различные системы — в браузере. При этом не обязательно «зацикливаться» на USB-портах. Для аутентификации могут использоваться встроенные в смартфоны и ноутбуки сканеры сетчатки глаза или отпечатков пальцев, а также устройства, подключенные через NFC-чипы или Bluetooth. Безопасную передачу данных от этих внешних устройств в браузер обеспечивает клиент протокола аутентификации (Client to Authenticator Protocol (CTAP)) собственной разработки.

Вход в систему без пароля

Плюсы WebAuthn состоят в том, что стандарт обеспечивает повышенную безопасность по сравнению с традиционными паролями, а также упрощает и ускоряет работу. Использование WebAuthn не связано с дополнительными затратами. Для запуска не нужно устанавливать программное обеспечение или драйверы, необходимо просто вставить ключ и связать его с учетной записью пользователя или включить сканер отпечатков пальцев на смартфоне.

Фактическая работа по интеграции осуществляется в фоновом режиме при взаимодействии с сервисами, так как при каждом сеансе доступа формируется уникальная асимметричная пара ключей для каждого пользователя. При этом WebAuthn использует метод открытого ключа. Соответственно, для каждого сервиса существует один открытый и один закрытый ключ. Секретный закрытый ключ никогда не покидает устройство, на котором он хранится. Сторона, предоставляющая услугу, хранит открытый ключ в защищенной базе данных.

При входе в систему сервер, используя JavaScript, отправляет браузеру сигнал-запрос, например, случайное число, которое подписывается закрытым ключом и отправляется обратно. Это звучит сложно, однако для пользователя на практике это означает лишь необходимость приложить палец к биометрическому сканеру ноутбука или вставить ключ обеспечения безопасности. При этом фантазия не ограничена: например, можно использовать токен в комбинации с PIN-кодом или дополнительно запрашивать пароль перед аутентификацией. В завершение сервер проверяет подписанное сообщение, используя сохраненный открытый ключ, и разрешает или запрещает доступ.

Преимущество WebAuthn состоит в том, что ни логины, ни пароли, ни другие конфиденциальные сведения не покидают браузер и тем самым оставляют «похитителей данных» ни с чем. Попытки фишинга, атаки посредника или атаки повторного воспроизведения проходят впустую.

Аппаратная и сервисная поддержка

В браузерах, начиная с версий Chrome 67 и Firefox 60, осуществляется широкая поддержка протокола WebAuthn. Компания Microsoft в ближайшее время собирается включить его в Edge. Новые ключи безопасности от компании Yubico представляют собой первые токены, поддерживающие WebAuthn. Сервис Dropbox уже интегрировал WebAuthn, однако не в виде набора паролей, а в качестве второго мощного фактора обеспечения приватности. WebAuthn имеет все возможности избавить пользователя от использования паролей, но реализация задачи займет некоторое время.

Читайте также:

Фото: компания-производитель