Nano Hash - криптовалюты, майнинг, программирование

Настройка Azure B2C AD для использования приложения Authenticator

Можно ли в Azure B2C настроить многофакторную проверку подлинности для использования приложения Microsoft Authenticator?


Ответы:


1

В настоящее время Azure AD B2C не поддерживает интеграцию с приложением Microsoft Authenticator.

Вы должны запросить это через форум Azure AD B2C в feedback.azure.com

09.05.2017

2

Меня заставили поверить, что теперь это возможно. Это ссылка на образец Github, показывающий, что его можно настроить с помощью настраиваемых политик.

https://github.com/azure-ad-b2c/samples/tree/master/policies/custom-mfa-totp

На случай, если он когда-нибудь будет снят, выполните следующие действия на 2019-10 2020-12:

Azure AD B2C: многофакторная проверка подлинности TOTP

С помощью Azure Active Directory (Azure AD) B2C вы можете интегрировать многофакторную аутентификацию на основе TOTP, чтобы вы могли добавить второй уровень безопасности для регистрации и входа в свои приложения, ориентированные на потребителя. Для этого необходимо использовать настраиваемую политику и настраиваемую конечную точку REST API. Если вы уже создали политики регистрации и входа, вы все равно можете включить Многофакторную аутентификацию.

В примере кода решения для многофакторной аутентификации Azure AD B2C TOTP задействован следующий компонент:

  1. Azure AD B2C - сервер авторизации, отвечающий за проверку личности пользователя, предоставление (и отзыв) доступа к ресурсам и выдачу токенов. Он также известен как поставщик удостоверений.
  2. Веб-приложение или мобильное приложение, также известное как приложение проверяющей стороны. Приложение, которое использует поставщик удостоверений (Azure AD B2C) для проверки подлинности.
  3. Custom Rest API - с помощью Identity Experience Framework, лежащего в основе AD B2C, вы можете интегрироваться с RESTful API в процессе взаимодействия с пользователем. Добавление собственной бизнес-логики. Платформа Identity Experience Framework отправляет данные в службу RESTful в коллекции входных утверждений и получает данные обратно из RESTful в коллекции выходных утверждений. Вызов REST API защищен сертификатом клиента. Мы используем специальный REST API для подготовки QR-кода, регистрации кода безопасности пользователя и проверки кода TOTP.
  4. TOTP - алгоритм одноразового пароля на основе времени, который вычисляет одноразовый пароль из общего секретного ключа (REST API и приложение для проверки подлинности) и текущего времени.
  5. QR-код - машиночитаемая оптическая этикетка, содержащая информацию об элементе, к которому она прикреплена. В этом случае QR-код содержит TOTP URI.
  6. Приложение Authenticator. Приложение Microsoft (или Google) Authenticator обеспечивает дополнительный уровень безопасности с помощью TOTP (и других методов).

Привилегии

  • Все компоненты поднялись вверх, работают и хорошо настроены.

  • b2clogin.com для входа в Azure AD B2C и клиентская сторона JavaScript включена (в общедоступной предварительной версии). Чтобы включить клиентский код JavaScript в политике Azure AD B2C:

  • В основном решении .Net используются следующие пакеты NuGet: OtpNet и QRCoder.

  • Решение основано на атрибуте расширения. Прочтите здесь, как настроить атрибуты расширения.

1. Процесс входа

На следующей диаграмме показан процесс входа в систему с регистрацией и проверкой MFA. Решение основано на TOTP. TOTP - это одноразовый пароль, основанный на времени, который предоставляет временный пароль, сгенерированный алгоритмом, работающим в службе REST API. Алгоритм генерирует пароль (временный код доступа), используя комбинацию секретного ключа (сгенерированного REST API и хранящегося в хранилище каталогов Azure AD B2C) с текущей меткой времени (гарантирующей уникальность каждого пароля). Во время регистрации и входа пользователь предоставляет код доступа в Azure AD B2C для завершения процесса входа. Секретный ключ используется приложением для проверки подлинности пользователя и REST API (хранящимся в хранилище каталогов Azure AD B2C), что позволяет REST API проверять код доступа.

2. Процесс регистрации мобильных устройств.

On the first-time user sign-in or when MFA is required for the first time (for example accessing highly confidential data), Azure AD B2C custom policy (Henceforth B2C) checks if the user already registered (extension_StrongAuthenticationAppSecretKey claim exists in Azure Active Directory identity store’s user account). If not exist, B2C calls the REST API GenerateTOTP endpoint to generate secret key and QR code for the user. The REST API:

  1. Считывает имя пользователя для входа в систему
  2. Генерирует случайный секретный ключ
  3. Создает TOTP URI (см. Формат URI позже)
  4. Создает QR-код для TOTP URI
  5. Возвращает растровое изображение QR-кода в формате based64 и сгенерированный секретный ключ в формате base64.

2.1 Генерация TOTP URI

URI включает следующие данные и может содержать больше, например время TOTP (по умолчанию 30 секунд) и размер (по умолчанию 6 цифр):

  • Протокол - otpauth: // totp
  • Имя пользователя: B2CDemo: [email protected]
  • Секретный ключ: F4KRXSGXYBYT7BQ5THURPPH2RQ27JGSJ
  • Издатель: демонстрация Azure AD B2C

Ниже приведен пример такого URI:

otpauth://totp/B2CDemo%3asomeone%40contos.com?secret=F4KRXSGXYBYT7BQ5THURPPH2RQ27JGSJ&issuer=Azure%20AD%20B2C%20Demo

2.2 Сканирование и проверка QR-кода

После того, как REST API вернет регистрационную информацию обратно в Azure AD B2C. Пользователь переходит к следующему этапу оркестрации, указанному в пути пользователя. На этом этапе согласования считывается QR-код (в формате base64) и используется JavaScript для представления QR-кода, который пользователь может сканировать.

2.3 Добавление новой учетной записи удостоверения личности в средство проверки подлинности Microsoft

At this point, the user needs to download and install the authenticator app (Microsoft, Google, or any other authenticator app such as Authy app). In Microsoft Authenticator, click add account, select the account type, and scan the QR code provided by Azure AD B2C.

Back to Azure AD B2C, user needs to copy and type the passcode (wining the 30-seconds timeframe) in Azure AD B2C and click continue.

2.4 Проверка кода TOTP с помощью Azure AD B2C

Когда пользователь нажимает продолжить, Azure AD B2C вызывает конечную точку REST API VerifyTOTP. Отправка кода, предоставленного конечным пользователем, секрета пользователя и времени последнего совпадения (эти данные поступают из учетной записи пользователя Azure AD). Мы используем время последнего совпадения, чтобы предотвратить и проверить, что проверочный код уже использовался. REST API проверяет код, предоставленный конечным пользователем, с секретным ключом и временем последнего совпадения. Если код недействителен, конечному пользователю отображается удобная для пользователя ошибка с просьбой снова предоставить проверочный код TOTP. Примечание. Поскольку код TOTP действителен в течение 30 секунд, пользователь может указать новое значение. Azure AD B2C снова вызовет конечную точку проверки, пока пользователь не предоставит допустимое значение. На следующем этапе Azure AD B2C сохраняет секретный ключ пользователя и последнее совпадение в удостоверении Azure Active Directory.

3. Вход и проверка MFA.

  1. Azure AD проверяет, зарегистрирован ли пользователь (утверждение extension_StrongAuthenticationAppSecretKey). Если существует, Azure AD B2C просит пользователя ввести код подтверждения.
  2. Конечному пользователю необходимо открыть приложение аутентификации, скопировать проверочный код TOTP и нажать «Продолжить».
  3. Когда пользователь нажимает кнопку "Продолжить", Azure AD B2C запускает поток, описанный в разделе 2.4 Проверка кода TOTP с помощью Azure AD B2C.
09.10.2019
  • Привет, тебе действительно удалось это сделать? Я уже неделю борюсь безуспешно. 29.06.2020
  • @Hintee, похоже, ссылка на документы может быть недавно обновлена: github.com/azure-ad-b2c/samples/tree/master/policies/ 29.06.2020
  • @codeMonkey Правильно ли я понял пример: Azure AD B2C не поддерживает функции TOTP, но для этого вам необходимо настроить службу для обработки TOTP (QR-код, проверка и т. д.)? :( 03.03.2021

  • 3

    Сейчас это возможно только с помощью настраиваемых политик Azure.

    Пожалуйста, перейдите по следующей ссылке к образцу. https://github.com/azure-ad-b2c/samples/tree/master/policies/custom-mfa-totp

    Если у вас возникнут трудности с настройкой данного образца, прочтите следующую статью. https://medium.com/@snkaushi_9371/enable-totp-based-multi-factor-authentication-in-azure-ad-b2c-84e967d76aa4

    12.07.2020
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..