В марте 2018 года Альянс FIDO (Fast IDentity Online) и Консорциум W3C достигли важного рубежа: после двух лет разработки стандарт Web Authentication (WebAuthn) получил статус кандидата в рекомендации (CR) — это стабильная версия документа, в которую больше не планируется вносить принципиальных изменений. Обсуждение CR завершилось 1 мая.
Что дальше? Теперь очередь Google, Mozilla и Microsoft. Когда поддержку Web Authentication API независимо и совместимо реализуют в двух браузерах, стандарт получит статус предложения в рекомендации. К этому моменту будут рассмотрены все предложения от сообщества — и документ представят Консультативному Совету W3C для окончательного утверждения.
Заметим, что кроме Web Authentication API нужна также независимая и совместимая реализация в двух браузерах поддержка FIDO AppID для валидации фреймворка расширений. Остальные расширения могут быть исключены из стандарта на последнем этапе перед утверждением, если не будут совместимо и независимо реализованы в двух браузерах.
Итак, стандарт практически принят. Представители Альянса FIDO уверены, что Google, Mozilla и Microsoft оперативно внедрят поддержку соответствующих API в браузеры на платформах Windows, Mac, Linux, Chrome OS и Android, работа уже идёт. В рабочую группу Web Authentication Working Group входят представители более 30 организаций, в том числе разработчики всех ведущих браузеров — поэтому поддержка с их стороны не заставит себя долго ждать. На данном этапе рабочая группа предлагает разработчикам веб-сервисов и приложений внедрять WebAuthn.
Что даст новый стандарт разработчикам и обычным пользователям?
WebAuthn устанавливает стандартный API, который поддерживается в браузерами и соответствующими веб-платформами.
Преимущества для пользователей
- Повышение удобства
- Встроенные аутентификаторы: сканеры отпечатка пальцев или биометрии лица в компьютерах, ноутбуках и/или мобильных телефонах.
- Удобные внешние аутентификаторы: криптографические токены и мобильные устройства для аутентификации между устройствами по протоколу CTAP.
- Повышение защиты
- Аутентификация FIDO надёжнее, чем простая парольная защита.
- Аккаунты защищены от фишинга, атак MiTM и утечки паролей.
Три способа беспарольной аутентификации в облаке Azure по токену YubiKey: одна из первых практических реализаций нового стандарта Web Authentication API
WebAuthn разработан совместно с альянсом FIDO (Fast IDentity Online) и становится ключевым компонентом проекта FIDO2, вместе со спецификациями Client to Authenticator Protocol (CTAP) для аутентификации между устройствами, device-to-device.
Универсальный аутентификатор
По протоколу CTAP внешний аутентификатор (например, криптографический токен) передаёт зашифрованные учётные данные на локальное устройство, подключённое к интернету (компьютер или мобильный телефон) по USB, Bluetooth или NFC.
Таким образом, спецификации FIDO2 обеспечивают простую и надёжную аутентификацию в онлайновых сервисах через стационарный компьютер или мобильное устройство. Самое главное, что это унифицированная аутентификация, которая не зависит от платформы, браузера, сервиса и т. д. Единственный аутентификатор должен работать везде, где поддерживается стандарт Web Authentication API и соответствующие протоколы. Это серьёзная заявка в борьбе с утечками паролей, фишингом, MiTM-атаками и другими серьёзными проблемаами информационной безопасности. Что говорить, если даже Twitter недавно нашёл баг, из-за которого все пароли пользователей записывались в логи открытым текстом. Ситуация с безопасностью в интернете оставляет желать лучшего, а обычной парольной защите нельзя доверять.
«Безопасность давно стала проблемой, которая мешает многим позитивным эффектам, которые интернет несёт для общества. Хотя есть много проблем веб-безопасности, и всё не исправить, но зависимость от паролей является одним из самых слабых звеньев. С помощью многофакторных решений WebAuthn мы устраняем это слабое звено», — заявил генеральный директор консорциума W3C Джефф Джаффе (Jeff Jaffe). — WebAuthn изменит то, как люди работают в вебе».
Фактически, мы стоим на пороге новой эры повсеместной аппаратной аутентификации для защиты каждого пользователя интернета.
Конечно, до всеобщего распространения аутентификаторов пока далеко. Прямо сейчас мы видим лишь первые примеры, как внедряется поддержка Web Authentication API и как она работает на практике.
Одну из первых демонстраций Web Authentication API в действии организовали компания Microsoft и производитель токенов Yubico в проекте по беспарольной аутентификации в облаке Azure по токену YubiKey. Этот недавно выпущенный токен по стандарту аутентификации FIDO2, который поддерживается в Windows 10 и Microsoft Azure Active Directory (Azure AD). На момент релиза в апреле 2018 года фича была доступна только для подписчиков Microsoft Technology Adoption Program. А этот токен YubiKey стал первым на рынке с поддержкой FIDO2.
Принятие FIDO2 в составе всеобщего стандарта Web Authentication API расширит использование аутентификаторов FIDO, которые уже несколько лет применяются в отдельных решениях. Браузеры и веб-сервисы с поддержкой FIDO2 будут обратно совместимы с ранее сертифицированными ключами FIDO для беспарольной аутентификации UAF, и двухфакторной аутентификации U2F.
FIDO2 — это продвинутая версия первоначального стандарта FIDO Universal 2nd Factor (U2F), созданного Yubico и Google. В то время как U2F требовал обязательного использования логина и пароля, FIDO2 поддерживает больше вариантов использования, в том числе и беспарольные схемы.
Беспарольная аутентификация по FIDO2 может быть и однофакторной, и двухфакторной: те же токены YubiKey поддерживают аппаратные пинкоды, которые неизвестны серверу, в отличие от обычных смарт-карт. Таким образом, токен представляет собой два фактора аутентификации: фактор «то, что у тебя есть» (само устройство) и «то, что ты знаешь» (пинкод).
К сожалению, у беспарольной аутентификации есть свои недостатки. Например, в случае потери токена YubiKey поможет только резервный ключ (если пользователь сделал его). Но в этом случае нужно заранее зарегистрировать резервный ключ на всех сервисах, чтобы потом иметь возможность отозвать предыдущий (потерянный). Впрочем, платформа Web Authentication поддерживает различные аутентификаторы, так что у пользователя останется возможность авторизоваться в сервисе иным способом.
Итак, теперь остаётся ждать, когда Google, Mozilla и Microsoft внедрят полноценную поддержку Web Authentication и FIDO2 на всех платформах. Все три компании анонсировали полную поддержку Web Authentication API для Firefox, Chrome и Edge, соответственно. Представитель Opera Software тоже состоит в рабочей группе Web Authentication Working Group.
Затем к процессу подключатся разработчики веб-сайтов и различных сервисов. Каждый пользователь сможет выбирать, какой способ беспарольной аутентификации ему удобнее использовать для авторизации на сайтах: сканер пальца, токен вроде YubiKey или что-то другое.
Альянс FIDO в ближайшее время начнёт сертификацию серверов, клиентов и аутентификаторов согласно спецификации FIDO2. Соответствующий инструментарий для тестирования доступен на официальном сайте. Справочные ресурсы для разработчиков здесь. Компания Yubico выложила бета-версию серверного кода для образца серверной поддержки CTAP2/WebAuthn: библиотеки на C, Python и Java.
Автор: GlobalSign_admin