Работа с ключами безопасности#

Настройка ключей безопасности#

Blitz Identity Provider позволяет использовать для идентификации и аутентификации ключи безопасности (WebAuthn, Passkey, FIDO2, U2F). Для взаимодействия с ключами безопасности используется спецификация WebAuthn.

Поддерживаются следующие типы ключей:

  • Внешние ключи – представляют собой аппаратные устройства в виде USB-ключей или брелоков, подключаемые к ПК, планшету и телефону с помощью USB-порта, Bluetooth или NFC. Для использования ключей не требуется установка на устройство драйверов, плагинов – взаимодействие с ключами осуществляется через встроенные возможности браузеров.

  • Встроенные ключи – встроенные в устройстве и операционной системе механизмы аутентификации, поддерживающие WebAuthn:

    • Windows Hello – можно входить с помощью ПИН-кода Windows, проверки отпечатка пальца или распознавания лица;

    • Touch ID или пароль на MacBook;

    • Touch ID или Face ID на мобильном телефоне iOS или проверки отпечатка пальца или распознавания лица в Android.

Ключи безопасности настраиваются на вкладке Ключи безопасности раздела Аутентификация консоли управления.

../_images/auth_keys.png

Предусмотрены следующие настройки:

  • Имя системы аутентификации – необходимо задать подходящее для отображения пользователям имя системы аутентификации или имя приложения.

  • Домен системы аутентификации – должен совпадать с доменом, используемым системой аутентификацией или быть вышестоящим доменом. На этот домен будут выпускаться ключи безопасности.

  • Алгоритмы подписи – рекомендуется как минимум указать алгоритмы ES256 и RS256, чтобы обеспечивалась работа с Passkey, Windows Hello и большинством распространенных аппаратных FIDO2 и U2F ключей безопасности.

  • Ограничение разрешенных средств аутентификации – при значении «Не выбрано» средства аутентификации не ограничиваются. Если выбрать «Переносные», то будут работать только аппаратные ключи безопасности (подключаемые по USB, Bluetooth или NFC). Если выбрать «Встроенные в платформу», то будут работать только встроенные в устройства ключи безопасности (Windows Hello, Touch ID на MacBook, Touch ID и Face ID в мобильных телефонах, а также использование телефона как средства аутентификации с подключением по Bluetooth).

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

  • Время ожидания – указывается время в миллисекундах, в течение которого система аутентификации будет ожидать от браузера ответа на запрос обращения к ключу безопасности.

  • Отображаемое имя пользователя – задает шаблон со строками подстановки, в соответствии с которым на странице входа по ключу безопасности в системе аутентификации отображается имя запомненного пользователя (актуально при использовании режиме «Обнаружение сервером»).

  • Отображаемый идентификатор учетной записи – задает шаблон со строками подстановки, в соответствии с которым на устройстве пользователю показывается имя ключа безопасности.

  • Нормальный сдвиг счетчика аутентификации – настройка, которая определяет, что сервер аутентификации будет сравнивать счетчик количества аутентификаций на устройстве со счетчиком количества аутентификаций этим же ключом на сервере и в случае расхождения более чем на число, указанное в счетчике, запретит использование ключа безопасности (защита от клонирования ключа).

Сервер аутентификации Blitz Identity Provider стандартно сконфигурирован таким образом, что в нем настроено доверие ко всем известным на момент выпуска текущей версии Blitz Identity Provider корневым и промежуточным сертификатам TPM модулей, FIDO, а также актуальным сертификатам Apple и Google, необходимым для проверки подписи аттестационных объектов FIDO2 и U2F. При необходимости скорректируйте разрешенные аттестационные сертификаты.

Использование ключей безопасности на первом и втором факторе описано в следующих разделах.

Вход с помощью WebAuthn, Passkey, FIDO2#

Существует возможность использовать ключи безопасности (WebAuthn, Passkey, FIDO2) для входа в Blitz Identity Provider.

Для настройки входа с помощью ключей безопасности необходимо задать следующие настройки на вкладке Первый фактор:

  • Разрешенные режимы аттестации – использование только режимов FULL и FULL_NO_ROOT повысит безопасность, но не позволит использовать для входа некоторые ключи, а также ПИН-код Windows, так как при регистрации таких ключей аттестационный объект приходит без подписи производителя чипсета или ключа или с использованием самоподписанного ключа. Использование режима SELF позволяет атакующему реализовать атаку «человек по середине» на подмену ключа в момент регистрации, в случае если устройство пользователя контролируется атакующим.

  • Показывать метод только пользователям, которые привязали к учетной записи ключ безопасности – если Blitz Identity Provider уже идентифицировал пользователя, то он уже знает, настроены ли для учетной записи пользователя ключи безопасности. Если ключи безопасности не настроены, то можно настроить, чтобы пользователю метод входа с помощью ключа безопасности не показывался.

  • Приравнять использование этого метода к применению первого и второго фактора – если опция включена, то вход по ключу безопасности будет означать, что пользователь прошел двухфакторную аутентификацию.

  • Правила соответствия – при входе по ключу безопасности пользователя просят ввести логин. Настройка правил соответствия позволяет указать правила поиска соответствия учетной записи введенному логину. Для найденной учетной записи будет запрошена проверка входа по ключу безопасности. Для создания правила используется строка подстановки: ${login} – это строка, введенная пользователем в поле «логин». В результате, например, правило email=${login} означает, что строка, введенная пользователем, будет сравниваться с атрибутом email в хранилище данных.

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

../_images/fido2.png

Подтверждение входа с помощью WebAuthn, Passkey, FIDO2, U2F#

Существует возможность использовать ключи безопасности (WebAuthn, Passkey, FIDO2, U2F) для подтверждения входа в Blitz Identity Provider.

Для настройки подтверждения входа с помощью ключей безопасности необходимо задать следующие настройки на вкладке Второй фактор:

  • Разрешенные режимы аттестации – использование только режимов FULL и FULL_NO_ROOT повысит безопасность, но не позволит использовать для входа некоторые ключи, а также ПИН-код Windows, так как при регистрации таких ключей аттестационный объект приходит без подписи производителя чипсета или ключа или с использованием самоподписанного ключа. Использование режима SELF позволяет атакующему реализовать атаку «человек по середине» на подмену ключа в момент регистрации, в случае если устройство пользователя контролируется атакующим.

  • Показывать метод только пользователям, которые привязали к учетной записи ключ безопасности – если ключи безопасности не настроены, то можно настроить, чтобы пользователю метод подтверждения входа с помощью ключа безопасности не показывался.

../_images/fido2_u2f.png