Проблема: с паролями всегда морока
Их всегда очень много. Практически любой пользователь интернета зарегистрирован на десятках, если не сотнях разнообразных сайтов и сервисов. Это форумы, соцсети, мессенджеры, интернет-магазины, онлайн-банки и много еще где. Большинство из них требуют придумывать и использовать собственные пароли, про многие мы со временем забываем.
Перед каждым встает вопрос — как придумать и запомнить сильный пароль. Ведь слабый может привести к взлому твоей учетной записи. И тут оказывается, что вопросов на самом деле гораздо больше.
- Использовать везде один и тот же пароль или разные?
- Если разные, то как запретить себе пользоваться одним и тем же паролем?
- Использовать случайный набор символов, какие-то алгоритмы или лучше длинные фразы?
- Какую длину пароля выбрать?
- Запоминать его самому или довериться менеджеру паролей?
- Если менеджер, то какой выбрать — онлайн или офлайн?
- Если офлайн, то как синхронизировать пароли между всеми устройствами?
- Стоит ли менять пароли и как часто?
Потом выясняется, что какой бы пароль вы ни выбрали, злоумышленник может ухитриться его перехватить. В ответ приходится использовать двухфакторную аутентификацию: одноразовые коды по смс или специальное приложение.
Кажется, повезло! Криптографы придумали, как избавить от паролей обычных пользователей
Токен — это компактное устройство, подключающееся к компьютеру или телефону через USB, NFC или Bluetooth. Он похож на обычную флешку, хранит зашифрованную информацию, защищен от взлома, например, пин-кодом.
В рамках проекта FIDO2 (Fast IDentity Online) одноименный альянс разработал специальный беспарольный протокол аутентификации интернет-пользователей. Вместо связки логина и пароля они предложили использовать секретный ключ, который хранится на аутентификаторе — на токене.
Первым делом пользователь должен привязать свой токен к учетной записи. При регистрации токена тот с помощью браузера общается с сайтом, отправляет на сервер публичный ключ и подписывает всю «переписку» своим секретным ключом. Сайт сохраняет публичный ключ и запоминает, что он связан с конкретной учетной записью. В будущем сайт с помощью этого публичного ключа будет проверять подписи, сделанные секретным ключом, и понимать, к какой учетной записи давать доступ пользователю.
Перед использованием токен попросит пользователя пройти дополнительную проверку. Например, ввести пин-код или дотронуться до встроенного сканера отпечатков пальцев. Это необходимо для защиты от кражи.
На случай потери токена рекомендуется сразу регистрировать два ключа — основной и запасной.
К отказу от паролей все уже почти готово
Чтобы воспользоваться беспарольной аутентификацией в интернете, необходима поддержка новой технологии от всех трех сторон — владельцев сайтов, пользователей и посредников в виде браузеров. Дела пока обстоят примерно так:
- ❌ Использование FIDO2 сайтами (пока есть только страницы для тестирования)
- ✔️ Наличие клиентских устройств
- ✔️ Поддержка со стороны браузеров
Для использования FIDO2 в браузерах должна быть поддержка специального программного интерфейса — Web Authentication API. Его уже поддерживают современные версии Google Chrome, Mozilla Firefox и Opera. В ближайшем будущем к ним присоединится браузер Microsoft Edge.
В 2018 году поступили в продажу первые клиентские устройства с поддержкой FIDO2 — токены от Yubico (с поддержкой USB и NFC). Была успешно завершена краудфандинговая кампания по производству аналогичных токенов, но с открытыми исходным кодом и аппаратной частью.
FIDO Alliance
Отраслевая организация, объединяющая Google, Amazon, Microsoft, Mozilla и еще более 250 компаний. Продвигает стандарт двухфакторной аутентификации FIDO U2F.
Аутентификаторы в FIDO2
Кроме токена аутентификатором в FIDO2 может быть платформа. Например, связка браузера Chrome и Touch ID на макбуках или бразуера Chrome и системы разблокировки телефона на андроиде.