Для защиты от фишинга клиентское программное обеспечение добавляет идентификатор канала TLS к URL-адресу источника вызова перед отправкой U2F на устройство, а сервер проверяет полученные данные после получения подписи.
Система строгой аутентификации FIDO UAF позволяет онлайн-сервисам и веб-сайтам, как в открытом Интернете, так и на предприятиях, прозрачно использовать присущие компьютерам конечных пользователей функции безопасности для строгой аутентификации пользователей и уменьшить проблемы, связанные с созданием и хранением многочисленных учетных данных в Интернете. Эталонная архитектура FIDO UAF описывает компоненты, протоколы и интерфейсы, составляющие экосистему строгой аутентификации FIDO UAF.
В этом разделе описывается состояние документа на момент его публикации. Другие документы могут заменять данный документ. Список последних публикаций FIDO Alliance и последнюю редакцию данного технического отчета можно найти в Указателе спецификаций FIDO Alliance по адресу https://fidoalliance.org/specifications/.
Этот документ был опубликован FIDO Alliance в качестве предлагаемого стандарта. Если вы хотите прокомментировать этот документ, пожалуйста, свяжитесь с нами. Все комментарии приветствуются.
ДАННАЯ СПЕЦИФИКАЦИЯ FIDO ALLIANCE ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ» БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ВКЛЮЧАЯ, БЕЗ ОГРАНИЧЕНИЙ, ЛЮБЫЕ ЯВНЫЕ ИЛИ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ НЕНАРУШЕНИЯ ПРАВ, ТОВАРНОГО СОСТОЯНИЯ ИЛИ ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ.
Этот документ был рассмотрен и одобрен в качестве предлагаемого стандарта членами Альянса FIDO. Это стабильный документ, который можно использовать в качестве справочного материала или цитировать из другого документа. Роль FIDO Alliance в выпуске Рекомендации заключается в привлечении внимания к спецификации и содействии ее широкому использованию.
Table of Contents
Данный раздел не является предписывающим.
Этот документ описывает эталонную архитектуру универсальной системы аутентификации FIDO Universal Authentication Framework (UAF). Целевой аудиторией данного документа являются лица, принимающие решения, и технические архитекторы, которым необходимо всестороннее понимание решения FIDO UAF для строгой аутентификации и его взаимосвязи с другими соответствующими отраслевыми стандартами.
Спецификация FIDO UAF выглядит следующим образом:
- Протокол FIDO UAF
- Протокол FIDO UAF Протокол FIDO UAF API приложения и привязка к транспорту
- FIDO UAF API Аутентификатор Специфический модуль аутентификатора Обязательство аутентификатора и Привязка аутентификатора
- FIDO UAF FIDO UAF API Реестры аутентификаторов
- FIDO UAF APDU
- Следующие дополнительные документы FIDO содержат важную информацию о спецификации UAF:
Спецификация FIDO AppID и Facets
- Служба метаданных FIDO
- FIDO FIDO Service FIDO Default Value Registers
- Алгоритм FIDO ECDAA
- Отчет о безопасности FIDO
- Глоссарий FIDO
- Данный раздел не является предписывающим.
- Разработать технические спецификации для определения открытых, масштабируемых, интероперабельных механизмов для замены использования паролей для безопасной аутентификации пользователей онлайн-услуг.
1.1 Background
Данный раздел не является предписывающим.
- Предоставление зрелых технических спецификаций в признанные организации по разработке стандартов для официальной стандартизации.
- Архитектура FIDO включает в себя два основных протокола, охватывающих два основных варианта работы пользователя при использовании интернет-услуг. В этих двух протоколах много общих элементов, но они адаптированы для соответствующих случаев использования.
- Протокол универсальной структуры аутентификации (UAF)
Протокол UAF позволяет веб-сервисам обеспечивать беспарольную и многоуровневую безопасность. Пользователь регистрирует свое устройство в онлайн-сервисе, выбирая локальный механизм аутентификации, например, двигая пальцем, глядя на камеру, говоря в микрофон, вводя PIN-код и т.д. Протокол UAF позволяет сервису выбирать, какие механизмы будут представлены пользователю.
После регистрации пользователь просто повторяет локальную аутентификацию, когда ему нужно пройти аутентификацию в службе. Пользователю больше не нужно вводить свой пароль при аутентификации с этого устройства. UAF также позволяет сочетать несколько механизмов аутентификации, например, отпечаток пальца и PIN-код.
Документ, который вы читаете, описывает эталонную архитектуру UAF.
Универсальный двухфакторный протокол (U2F)
Протокол U2F позволяет веб-службам повысить безопасность существующей инфраструктуры паролей, добавляя сильный второй фактор к соединению с пользователем. Пользователь входит в систему с именем пользователя и паролем, как и раньше. Служба также может попросить пользователя в любой момент предъявить устройство со вторым фактором. Надежный второй фактор позволяет службе упростить пароли (например, четырехзначный PIN-код) без ущерба для безопасности.
При входе в систему и аутентификации пользователь предъявляет второй фактор, просто нажав кнопку на USB-устройстве или коснувшись его через NFC. Пользователь может использовать свое устройство FIDO U2F с любым веб-сервисом, поддерживающим этот протокол, используя встроенную поддержку в веб-браузерах.
Данный раздел не является предписывающим.
Архитектура FIDO UAF разработана для достижения целей FIDO и обеспечения желаемых преимуществ для экосистемы. Это достигается путем заполнения пробелов в существующем состоянии с помощью стандартных протоколов и API.
FIDO UAF High-Level Architecture
Данный раздел не является предписывающим.
Специфические для FIDO элементы эталонной архитектуры описаны ниже.
Рис. 1 Высокоуровневая архитектура FIDO UAF
Клиент FIDO UAF реализует клиентскую часть протоколов FIDO UAF и отвечает за следующее:
Взаимодействие с конкретными аутентификаторами FIDO UAF с помощью уровня абстракции аутентификаторов FIDO UAF через API аутентификаторов FIDO UAF.
2.1 FIDO UAF Client
Взаимодействие с агентом пользователя на устройстве (например, мобильное приложение, браузер) с использованием интерфейсов, специфичных для агента пользователя, для связи с сервером FIDO UAF. Например, FIDO-специфичный плагин для браузера будет использовать существующие интерфейсы плагина для браузера или мобильное приложение может использовать FIDO-специфичный SDK. Затем агент пользователя отвечает за отправку сообщений FIDO UAF на сервер FIDO UAF в доверенном месте.
- Архитектура FIDO UAF гарантирует, что программное обеспечение клиента FIDO может быть реализовано на различных типах систем, операционных системах и веб-браузерах. Хотя клиентское программное обеспечение FIDO обычно зависит от конкретной платформы, взаимодействие между компонентами должно обеспечивать согласованную работу пользователя от платформы к платформе.
- Сервер FIDO UAF реализует серверную часть протоколов FIDO UAF и отвечает за:
Взаимодействие с веб-сервером доверенной стороны для доставки сообщений протокола FIDO UAF клиенту FIDO UAF через агент пользователя устройства.
2.2 FIDO UAF Server
Проверяйте аутентификаторы FIDO UAF по настроенным метаданным аутентификатора, чтобы убедиться, что только доверенные аутентификаторы зарегистрированы для использования.
- Управление сопоставлением зарегистрированных аутентификаторов FIDO UAF с учетными записями пользователей на доверенной стороне.
- Оценить ответы на аутентификацию пользователя и подтверждение транзакции, чтобы определить их достоверность.
- Сервер FIDO UAF предназначен для развертывания доверенными лицами в качестве сервера на месте или для передачи внешнему стороннему провайдеру, поддерживающему FIDO.
- Протоколы FIDO UAF передают сообщения FIDO UAF между пользовательскими устройствами и доверенными сторонами. Протокольные сообщения адресованы:
Обнаружение аутентификаторов FIDO UAF, доступных в системе или устройстве пользователя. Discovery передает атрибуты аутентификатора FIDO UAF доверенной стороне, что позволяет принимать политические решения и обеспечивать их выполнение.
2.3 FIDO UAF Protocols
Он проверяет информацию, предоставленную аутентификаторами FIDO UAF, чтобы убедиться, что аутентификатор является подлинным и заслуживающим доверия. Верификация осуществляется с помощью сертификатов удостоверения открытого ключа, распространяемых через метаданные аутентификатора.
- Authenticator Registration: The FIDO UAF registration protocol enables Relying Parties to:
- Зарегистрируйте аутентификатор и свяжите его с учетной записью пользователя у доверенной стороны. После подтверждения подлинности аутентификатора доверенная сторона может предоставить уникальный безопасный идентификатор, характерный для доверенной стороны и аутентификатора FIDO UAF. Этот идентификатор может быть использован в будущих взаимодействиях между парой и не известен никакому другому устройству.
- Завершение усилий по стандартизации FIDO2 и обязательство ведущих производителей браузеров внедрить его предвещает новую эру повсеместного оборудования с поддержкой FIDO для всех пользователей Интернета.
- Почти каждый месяц в открытый доступ попадают миллионы имен пользователей и паролей для электронной почты и различных социальных сервисов. Это лучше любого эксперта по информационной безопасности говорит нам о том, что пароли, даже сложные, больше не являются современным средством защиты.
Предпочтения пользователей при выборе той или иной услуги меняются. Раньше выбор падал на самый удобный вариант, а теперь — на самый безопасный.
Что такое двухфакторная аутентификация и протокол FIDO U2F
Для обеспечения безопасности они изобрели многофакторную аутентификацию (MFA) и ее упрощенную версию — двухфакторную аутентификацию (2FA): Первая линия безопасности — это логин и пароль, то есть то, что пользователь знает и помнит, а вторая — то, что есть только у пользователя: SMS, электронная почта, приложения одноразовых паролей (OTP/TOTP/HOTP), криптографические токены, биометрия. Самые дешевые и удобные варианты — это приложение и SMS. Мы вводим ваше имя пользователя и пароль на сайте, а затем получаем SMS-код на ваш мобильный телефон. Введите код, и вы получите доступ к данным.
2FA существует уже давно, и большинство крупных онлайн-сервисов широко используют его. 2FA пробила себе дорогу в финтех-сектор: Онлайн-платежи без подтверждения и авторизации, например, через SMS, больше немыслимы.
И что удивительно, несмотря на повсеместное использование 2FA, учетные записи пользователей по-прежнему крадут и взламывают. Давайте попробуем разобраться в слабых сторонах методов 2FA и их уязвимости.
Мир 2FA сегодня
Фишинг: Почти все решения 2FA уязвимы к атакам MITM (Men in the Middle) и, соответственно, к фишинговым атакам.
Безопасность Возьмем, к примеру, SMS, которое в настоящее время является самым популярным решением 2FA на рынке. Интернет полон сообщений о перевыпуске SIM-карт в России, США, Южной Африке, Великобритании и других странах. Более того, специальные технические средства, имеющиеся в распоряжении служб безопасности, и методы социальной инженерии еще не отменены.
- Стоимость: Криптовалютные токены, которые имеют отличные показатели безопасности, стоят недешево. Их покупка осуществляется за счет конечного пользователя, и редко когда сервис оплачивает их и доставляет пользователю. Даже отправка SMS стоит денег. Поэтому принятие и использование 2FA возможно не для всех.
- Совместимость. Не все операционные системы включают драйверы для криптографических токенов. Не все пользователи хотят возиться с поиском и установкой этих программ.
- Простота использования. Пользователи слишком ленивы, чтобы вводить уникальные пароли. Разблокировать экран телефона, открыть сообщение или программу OTP, прочитать код, ввести код, ошибиться, повторить все с начала — таков типичный алгоритм двухфакторного взаимодействия и аутентификации пользователя.
- Сегодняшние решения 2FA не обеспечивают надежной защиты пользователя, зачастую сложны в реализации, дороги и не отличаются гибкостью.
- В 2007 году PayPal попытался внедрить 2FA путем отправки OTP через SMS. Хотя в то время этот метод был передовым и достаточно безопасным, процент принятия был катастрофически низким. Большинство пользователей просто проигнорировали возможность повысить безопасность своих данных.
Когда компания PayPal совместно с Validity Sensors исследовала возможности внедрения биометрических технологий, родилась идея о том, что пришло время создать отраслевой стандарт, который будет поддерживать все аппаратные средства аутентификации. В 2013 году был основан альянс FIDO (Fast IDentity Online), целью которого является создание такого стандарта. Членами организации стали многие крупные компании, такие как Google, ARM, Bank of America, Master Card, Visa, Microsoft, Samsung, LG, Dell и RSA.
FIDO U2F
Основными целями FIDO на данный момент являются удобные для пользователей, безопасные, частные и стандартизированные решения.
На сегодняшний день FIDO разработала два стандарта: U2F (Universal Second Factor) и UAF (Universal Authentication Framework для биометрической аутентификации).
U2F — это открытый протокол без драйверов, изначально разработанный Google и Yubico и используемый для двухфакторной аутентификации на некоторых устройствах USB, NFC, Bluetooth LE или SIM-картах (спецификации все еще разрабатываются), которые хранят ключи и выполняют криптографические функции.
В настоящее время поддержка U2F реализована в браузерах Chrome и Edge, а также в операционной системе Windows 10.
Что из себя представляет U2F?
Протокол основан на аутентификации по принципу «вызов-ответ» с использованием электронной цифровой подписи.
С точки зрения пользователя, работа с протоколом довольно проста. Пользователь вводит имя пользователя и пароль, подключает устройство U2F к компьютеру через USB (или через Bluetooth или NFC) (нажимает кнопку, вводит пин-код, проходит биометрическую проверку или вообще ничего не делает) и успешно проходит аутентификацию.
Взаимодействие с U2F-клиентом (например, браузером или Windows 10) происходит следующим образом:
Со стороны пользователя
Давайте рассмотрим подробнее, как работает протокол.
Углубление в протокол U2F
Пользователь вводит имя пользователя и пароль, сервер проверяет учетные данные и, если они верны, генерирует случайный вызов и отправляет его клиентскому программному обеспечению, которое, в свою очередь, пересылает его устройству U2F. Устройство U2F ждет, пока пользователь подтвердит дальнейшие действия (как упоминалось выше, например, нажатием кнопки на устройстве), а затем отправляет подписанный вызов обратно в клиентское программное обеспечение, которое передается на сервер для проверки подписи.
Для защиты от фишинга клиентское программное обеспечение добавляет идентификатор канала TLS к URL-адресу источника вызова перед отправкой U2F-устройству, а сервер проверяет полученные данные после получения подписи.
Чтобы избежать создания пары ключей для каждой учетной записи (что может привести к тому, что одна учетная запись будет раскрывать скомпрометированный сервис для всех учетных записей, использующих устройство U2F), сервер передает идентификатор приложения и случайное зерно вместе с вызовом во время регистрации, а устройство U2F генерирует уникальную пару зависимых регистрационных ключей. Способ генерации этих ключей не описан в протоколе и остается на усмотрение производителя устройства.
Для защиты от фишинга клиентское программное обеспечение добавляет идентификатор канала TLS к URL-адресу источника вызова перед отправкой U2F на устройство, а сервер проверяет полученные данные после получения подписи.
Бухгалтерская книга FIDO — это неправильный термин. Ledger — это компания, которая производит аппаратный кошелек для криптовалют, который также поддерживает стандарты FIDO для аутентификации.
Предпочтения пользователей при выборе той или иной услуги меняются. Раньше выбор падал на самый удобный вариант, а теперь — на самый безопасный.
What is a FIDO ledger?
Протокол UAF предназначен для того, чтобы веб-службы могли обеспечить многоуровневую безопасность без пароля, позволяя пользователям регистрировать свое устройство в веб-службе и использовать локальный механизм аутентификации, например, провести пальцем, посмотреть на камеру, поговорить в микрофон, ввести PIN-код и т.д.
Протокол U2F предназначен для того, чтобы веб-службы могли дополнить традиционную аутентификацию на основе пароля вторым агентом аутентификации, представляемым через USB-устройство или интерфейс NFC.
What’s the difference between U2F and UAF? Why two separate standards?
В FIDO UAF модуль аутентификатора (ASM) — это уровень абстракции программного обеспечения (своего рода промежуточное ПО), который отделяет клиентов FIDO UAF от базового оборудования и обеспечивает стандартный интерфейс к доступным интерфейсам/устройствам аутентификации (например, датчику отпечатков пальцев).
— Universal Authentication Framework (UAF), которая обеспечивает аутентификацию без пароля с помощью метода, локального для устройства пользователя.
What is FIDO ASM?
— Универсальный второй фактор (U2F), который позволяет использовать аппаратный токен или другое устройство в качестве второго фактора.
— Протокол аутентификации пользователей (CTAP), который позволяет устройству с поддержкой FIDO аутентифицировать пользователя, получающего доступ к приложению через веб-браузер с поддержкой WebAuthn на другом устройстве.
Сначала мы сделаем простой ответ на вызов. Наш сервер посылает случайный вызов. Наше устройство подписывает вызов и отправляет подпись обратно на сервер, который затем проверяет подпись.
Мы живем в эпоху, когда о личной безопасности нужно думать всегда. Однако, поскольку мы живем в цифровую эпоху, мы должны в первую очередь заботиться о безопасности наших данных в Интернете, на смартфоне, в онлайн-банкинге, электронной почте и т.д. В сегодняшней статье мы расскажем о ключе безопасности Fido и двухфакторной аутентификации как о более надежном способе защиты ваших данных.
Учитывая, насколько далеко шагнули технологии, что сегодня почти каждый имеет возможность носить в кармане смартфон, сравнимый с мощными компьютерами и устройствами хранения данных. Теперь вы можете сделать любой смартфон своим ключом для двухфакторной аутентификации. А если вы хотите быть максимально защищенным, используйте его для всех своих личных счетов в Интернете.
Защитный ключ Fido на телефоне андроид: что это такое
Самыми популярными, но и самыми уязвимыми целями являются сервисы Google, которые неоднократно подвергались атакам хакеров. Однако, чтобы защитить своих клиентов, разработчики разработали специальные методы защиты в виде многоступенчатых ключей. И когда пользователь хочет войти в свою учетную запись, ему неизбежно приходится проходить через все эти шаги.
Конечно, можно использовать физический ключ, но это влечет за собой дополнительные проблемы. Поэтому лучшее решение — превратить смартфон в донгл. Это означает, что ваш iPhone или устройство Android является своего рода тестером для всех попыток подключения к устройствам. И только от вас зависит, подтвердить или отвергнуть эти попытки. Самым популярным ключом безопасности является FIDO. Это новый открытый стандарт аутентификации U2F, разработанный специально для устройств Android.
Обычно все эти меры безопасности придумываются для самых уязвимых людей:
Политики,
Для кого доступны эти возможности
бизнесмены,
- журналисты,
- защитников прав и свобод,
- важные и популярные люди (блогеры и знаменитости).
- Но сегодня все эти возможности доступны каждому, поэтому никогда не помешает сделать свой аккаунт неприступной крепостью.
- Конечно, чтобы установить все эти функции безопасности на смартфон, ваше устройство должно работать под управлением современной операционной системы, как Android, так и iPhone.
FIDO охватывает как беспарольную аутентификацию (с помощью элементов FIDO UAF), таких как отпечаток пальца, радужная оболочка глаза, голос, так и многофакторную аутентификацию, такую как OTP и USB-ключ. В настоящее время Tizen не поддерживает многофакторную аутентификацию.
Посетите страницу паролей для вашего приложения. Вам может быть предложено войти в систему с помощью учетной записи Google. Нажмите «Выбрать приложение» в нижней части страницы и выберите приложение и устройство, для которого вы хотите создать пароль.
Выберите опцию «Создать». Пароль приложения (16-значный код в желтой строке) будет сгенерирован на вашем устройстве (экран 11). Нажмите на ссылку «Готово».
Как создать пароль для приложения
Экран 11. Пароль приложения
Если вы забыли пароль для соответствующего приложения, не волнуйтесь. Хотя каждый пароль приложения используется только один раз, при необходимости вы можете создать новый пароль приложения в любое время, даже для устройства или приложения, которое вы ранее авторизировали.
До недавнего времени настройка двухэтапной аутентификации в сообщениях Outlook была практически идентичной, за исключением того, что аутентификация с помощью аппаратного маркера была невозможна. Однако с появлением Windows 10 версии 1809 ситуация изменилась. Следует отметить, однако, что ключ безопасности можно использовать только сегодня, если вы используете английскую версию (США) и браузер Edge. Если вы используете другой браузер или версию операционной системы, ключ безопасности не будет работать. Какова процедура? Чтобы настроить ключ безопасности, перейдите в окно Windows Setup и запустите раздел Accounts, как показано на экране 12. Выберите ссылки Управление моей учетной записью Microsoft (экран 13), а затем выберите Безопасность (экран 14) и Дополнительные параметры безопасности (экран 15). Щелкните ссылку Настройка ключа безопасности. Выберите тип маркера, который вы хотите использовать. Либо устройство USB, либо устройство с поддержкой NFC (экран 16).
Двухфакторная аутентификация в Outlook
Экран 12. Раздел «Настройка счетов
Экран 13. Настройка учетной записи
Экран 14. основы безопасности Экран 15. Настройка ключа безопасности Экран 16. выбор типа токена Обратите внимание, что для настройки можно выбрать только версию 5.0 Yubikey. Ключи Yubikey не отличаются от версии к версии. Узнать, какой у вас ключ, можно только с помощью YubiKey Manager. Эту программу можно загрузить с сайта yubico.com (экран 17). Экран 17. Введите PIN-код вашего устройства. Если у вашего YubiKey еще нет PIN-кода, вам будет предложено создать его (экраны 18 и 19).
Теперь я более подробно расскажу, почему токен подходит только для версии 5.0. Проблема в том, что ваш токен должен поддерживать технологию FIDO 2.0. Проект FIDO 2 представляет собой серию взаимосвязанных инициатив, направленных на создание стандарта аутентификации FIDO для Интернета и значительное расширение экосистемы FIDO. FIDO 2 состоит из спецификации W3C для веб-аутентификации (WebAuthn) и соответствующего протокола FAPO для «клиентского аутентификатора», что позволит пользователям использовать обычные устройства для простой аутентификации в сетевых службах — как в мобильной, так и в офисной среде.
Проект FIDO 2
WebAuthn определяет стандарт WebAPI, который может быть интегрирован в браузеры и соответствующую инфраструктуру веб-платформы, чтобы сетевые службы могли использовать аутентификацию FIDO. Это позволяет внешним устройствам, таким как мобильные телефоны или ключи безопасности FIDO, взаимодействовать с WebAuthn и служить в качестве аутентификаторов для настольных приложений и веб-служб.
Эти стандарты реализованы во многих основных веб-браузерах, включая Chrome, Firefox и Microsoft Edge. Android, Windows 10 и связанные с ними технологии Microsoft также будут предлагать встроенную поддержку аутентификации FIDO (см. рисунок).
Рисунок. Проект FIDO 2
С завершением усилий по стандартизации FIDO2 и обязательством ведущих производителей браузеров внедрить его, начинается новая эра повсеместного FIDO с аппаратной поддержкой для всех пользователей Интернета.
Предприятия и поставщики сетевых услуг, которые хотят защитить себя и своих клиентов от парольных рисков, таких как фишинг, взлом и атаки с использованием украденных учетных данных, скоро смогут внедрить надежную стандартную аутентификацию, работающую через браузер. Внедрение аутентификации FIDO позволяет сетевым службам предложить пользователям выбор из экосистемы устройств, которые мы используем каждый день, таких как мобильные телефоны и ключи безопасности. Предпочтения пользователей при выборе той или иной услуги меняются. Раньше выбор падал на самый удобный вариант, а теперь — на самый безопасный.
Реальная разница между Google и Microsoft заключается в том, что Microsoft позволяет использовать свой ключ для аутентификации одного агента. Другими словами, введя свой ключ, вы входите в систему без использования имени пользователя и пароля. Ключевая информация хранится на диске доверенной платформы на физическом компьютере. Затем эти данные сравниваются с вашими учетными данными в облаке и информацией FIDO-2.
Удобно? Именно. Но есть и дополнительное обязательство для пользователя. Не теряйте ключ безопасности! Если вы это сделаете, злоумышленник, который найдет его, сможет войти в вашу учетную запись. И им не нужно ваше имя пользователя или пароль. Это зависит от того, насколько сложным является ваш PIN-код. Поэтому не храните его вместе с ключом.
Вы также можете распечатать пароли, если не можете получить их через SMS и пользуетесь не смартфоном, а обычным телефоном (экраны 8 и 9).
В 2013 году в Кремниевой долине был основан альянс FIDO Alliance (Fast IDentity Online) для решения проблем простой и безопасной аутентификации в интернете. В настоящее время FIDO насчитывает более трехсот аффилированных членов и тридцать членов правления. В список членов совета директоров входят такие компании, как Google, Yubico, Microsoft, Visa, Mastercard, American Express, Paypal и другие.
Основными целями FIDO являются простые в использовании, безопасные, частные и стандартизированные решения.
FIDO U2F — Универсализируем второй фактор
В настоящее время FIDO ввела два стандарта: U2F (Universal Second Factor) и UAF (Universal Authentication Framework) — это универсальная структура аутентификации для биометрической аутентификации. Сегодня мы поговорим о U2F. Если тема будет интересной, я могу написать статью о UAF в будущем.
U2F — это открытый протокол двухфакторной аутентификации, основанный на аутентификации по принципу «вызов-ответ» с использованием электронных цифровых подписей.
Протокол U2F имеет три уровня абстракции: Пользователь, браузер (технический клиент) и сам протокол.
Для пользователя все просто. Пользователь вводит свое имя пользователя и пароль, вставляет устройство U2F, нажимает кнопку и успешно проходит аутентификацию. Об этом мы писали ранее на HabraHabra.
Алгоритм взаимодействия с U2F на стороне браузера выглядит следующим образом:
Пользователь
Пользователь проверяет логин и пароль.
Браузер
Зависимая сторона, например, Google, запрашивает подпись вызова через U2F JS API
Когда пользователь подтверждает, например, нажатием кнопки или иным способом, что он хочет выполнить двухфакторную аутентификацию, устройство возвращает сигнатуру вызова.
Браузер отправляет подпись зависимой стороне.
Сначала мы сделаем простой ответ на вызов. Наш сервер посылает случайный вызов. Наше устройство подписывает вызов и отправляет подпись обратно на сервер, который затем проверяет подпись.
Подпись исходного URL и идентификатор канала
Шаг первый — Вызов-Ответ
Учитывая, насколько далеко шагнули технологии, что сегодня почти каждый имеет возможность носить в кармане смартфон, сравнимый с мощными компьютерами и устройствами хранения данных. Теперь вы можете сделать любой смартфон своим ключом для двухфакторной аутентификации. А если вы хотите быть максимально защищенным, используйте его для всех своих личных счетов в Интернете.
Шаг второй — Защита от фишинга
Создайте пару зависимостей из набора данных
В настоящее время наше устройство подписывает все с помощью одной пары ключей. Это создает проблему конфиденциальности, поскольку открытый ключ будет везде одинаковым. Например, если вы зарегистрированы на печально известном сайте AshleyMadison.com, злоумышленник может связать утечку открытого ключа с другими вашими учетными записями и потенциально причинить физический и психологический вред.
Шаг третий — Приватность или регистрационно-зависимая пара ключей
Природа паролей склоняет нас к лени. Длинные, сложные пароли (самые надежные) нам труднее всего создавать и запоминать. Многие люди берут простой пароль, немного изменяют его и используют — это большая проблема, потому что хакеры уже давно имеют списки популярных паролей. А хакеры автоматизируют атаки «credential stuffing», чтобы узнать, что именно вы добавили к своему паролю «по умолчанию».
FIDO работает на основе распознавания лиц и отпечатков пальцев — многие современные смартфоны могут это делать.
Как работает FIDO
«Пароль — это то, что вы знаете. Устройство — это то, что у вас есть. Биометрия — это то, что вы есть. Мы движемся к тому, что пароль всегда будет при вас — и необходимость помнить его отпадет», — говорит Стивен Кокс, главный архитектор по безопасности компании SecureAuth.
FIDO (Fast Identity Online) стандартизирует использование аппаратных устройств (сканеров отпечатков пальцев, камер) для создания уникальной «биометрической карты», которую пользователь может использовать для регистрации и входа на веб-сайты.
Подделать отпечатки пальцев или лица гораздо сложнее и дороже — вот почему, по словам Эндрю Шикиара, исполнительного директора FIDO Alliance, «…в течение следующих пяти лет каждый крупный потребительский интернет-сервис будет иметь альтернативу регистрации без пароля».
FIDO также выгодна для предприятий, поскольку устраняет страх перед утечкой данных (особенно конфиденциальной информации о клиентах). Украденные «биометрические карты» помешают хакерам войти в систему, поскольку их нужно не только ввести, но и подтвердить.
Вот один из способов входа в систему на основе FIDO без паролей. Вы открываете страницу входа в систему на ноутбуке, вводите имя пользователя, нажимаете кнопку, а затем используете биометрическую аутентификацию на ноутбуке, например Touch ID от Apple или Windows Hello. Если ваша система не оснащена соответствующими устройствами, вы можете подключить свой телефон через Bluetooth — и использовать FIDO таким же образом.
30 июня 2015 года были выпущены две новые версии протокола, которые поддерживают Bluetooth и NFC в качестве транспортных протоколов для U2F n 8. Это позволило проводить аутентификацию на мобильных устройствах с технологией NFC по протоколу U2F.
7 декабря 2016 года была объявлена обновленная спецификация протокола U2F v1.1. n 10
Предпосылки и история создания править | править код
События, связанные с массовыми взломами аккаунтов п 1 п 2 п 3, подтверждают необходимость защиты данных, находящихся на онлайн-сервисах. Часто учётные записи пользователей защищены слабыми паролями п 4, пользователями используется одинаковый пароль в разных учетных записях, что способствует массовым взломам. п 5 Поэтому строгая аутентификация становится все более важным требованием. Большинство решений, обеспечивающих строгую аутентификацию дороже и сложнее в использовании (особенно с мобильными устройствами). В то же время, например, второй фактор в виде OTP уязвим для относительно общих атак, таких как фишинг п 6, смарт-карты требуют специализированного оборудования и/или установки драйверов перед использованием. В идеале база для безопасной аутентификации должна соответствовать таким требованиям, как: использование строгой аутентификации, соблюдение конфиденциальности пользователя, удобство использования и взаимодействие между различными устройствами, с помощью которых производится аутентификация. Для решения этих вопросов образовался F >1
Спецификации протокола U2F v1.0 были опубликованы F >п 7
Архитектура FIDO включает два основных протокола, которые охватывают два основных варианта работы пользователя при использовании интернет-услуг. В этих двух протоколах много общих элементов, но они адаптированы для соответствующих случаев использования.
В конце 2015 года началась работа над усовершенствованными спецификациями, называемыми F >п 9
Альянс FIDO (Fast IDentity Online) — это организация, созданная для решения проблемы отсутствия совместимости между устройствами строгой аутентификации и проблем, возникающих у пользователей при создании и запоминании нескольких имен пользователей и паролей.
Протокол UAF позволяет веб-сервисам обеспечивать беспарольную и многоуровневую безопасность. Пользователь регистрирует свое устройство в онлайн-сервисе, выбирая локальный механизм аутентификации, например, двигая пальцем, глядя на камеру, говоря в микрофон, вводя PIN-код и т.д. Протокол UAF позволяет сервису выбирать, какие механизмы будут представлены пользователю.
FIDO Universal Authentication Framework
FIDO Alliance предлагает сертификацию FIDO Ready™ для FIDO-совместимых продуктов.
Выберите опцию «Создать». Пароль приложения (16-значный код в желтой строке) будет сгенерирован на вашем устройстве (экран 11). Нажмите на ссылку «Готово».
ASM — это программный компонент для конкретной платформы, который предоставляет API для клиентов FIDO UAF для распознавания и взаимодействия с одним или несколькими доступными аутентификаторами. Один ASM может создавать отчеты от имени нескольких аутентификаторов.
FIDO UAF Components
Протокол FIDO UAF и его различные функции описаны в Спецификации протокола FIDO UAF. На следующем рисунке показана упрощенная архитектурная диаграмма взаимодействий и действующих лиц.
Рисунок: Высокоуровневая архитектура UAF.
FIDO UAF состоит из следующих ключевых элементов:
Клиент FIDO UAF
Клиент FIDO UAF реализует клиентскую часть протоколов FIDO UAF и отвечает за взаимодействие с конкретными аутентификаторами FIDO UAF с использованием уровня абстракции аутентификатора FIDO UAF через API аутентификатора FIDO UAF (в приложениях для мобильных и мобильных устройств). Перед использованием аутентификаторов убедитесь, что устройство может обрабатывать сообщения протокола UAF.
Сервер FIDO UAF
Сервер FIDO UAF реализует серверную часть протоколов FIDO UAF и отвечает за:
Взаимодействие с веб-сервером доверяющей стороны для доставки сообщений протокола FIDO UAF клиенту FIDO UAF, использующему агент пользователя устройства.
Проверка аутентификаторов FIDO UAF на соответствие настроенным метаданным аутентификатора, чтобы гарантировать, что только доверенные аутентификаторы зарегистрированы для использования.
Управление сопоставлением зарегистрированных аутентификаторов FIDO UAF с учетными записями пользователей в Партии.
Оценить ответы на аутентификацию пользователя и подтверждение транзакции, чтобы определить их достоверность.
Журналы FIDO UAF
Протоколы FIDO UAF передают сообщения FIDO UAF между пользовательскими устройствами и доверенными сторонами. Протокольные сообщения адресованы:
Протокол регистрации FIDO UAF позволяет доверяющим сторонам обнаруживать аутентификаторы FIDO UAF, имеющиеся в системе или устройстве пользователя. Discovery передает свойства аутентификаторов FIDO UAF полагающейся стороне, что позволяет принимать политические решения и обеспечивать их выполнение.
Рисунок: FIDO UAF зачисление
Аутентификация обычно основана на криптографических протоколах аутентификации «вызов-ответ» и облегчает пользователю выбор аутентификаторов FIDO UAF для использования в событии аутентификации.
Рисунок: Аутентификация FIDO UAF
Удаление обычно требуется при удалении учетной записи пользователя в партии. Сторона может инициировать удаление, запросив аутентификатор удалить авторизацию UAF, связанную с учетной записью пользователя.
Чтобы проверить, может ли указанное сообщение протокола UAF быть обработано устройством, используйте функцию fido_uaf_is_supported():
Ядро протокола UAF состоит из концептуальных разговоров между клиентом FIDO UAF и сервером FIDO.
Checking the UAF Message Support
Вести беседы:
Зарегистрируйте аутентификатор.
UAF позволяет доверяющей стороне зарегистрировать аутентификатор FIDO в учетной записи пользователя доверяющей стороны. Доверяющая сторона может определить политику для поддержки различных типов аутентификаторов FIDO. Клиент FIDO UAF может регистрировать только существующие аутентификаторы, которые соответствуют этой политике.
-
UAF должен позволять доверяющей стороне запрашивать у конечного пользователя аутентификацию с помощью ранее зарегистрированного аутентификатора FIDO. Эта аутентификация может быть задействована в любое время по усмотрению полагающейся стороны.
Доверяющая сторона может удалить физический ключ аутентификации, связанный с учетной записью.