Что такое OIDC?
Узнайте об OpenID Connect (OIDC) — протоколе проверки подлинности, который проверяет удостоверение пользователя при входе в систему для доступа к цифровым ресурсам.
Определено OpenID Connect (OIDC)
OpenID Connect (OIDC) — это протокол проверки подлинности удостоверений, который является расширением открытой проверки подлинности (OAuth) 2.0 и предназначен для стандартизации процесса проверки подлинности и авторизации пользователей при входе в систему для доступа к цифровым службам. OIDC обеспечивает проверку подлинности, что означает подтверждение того, что пользователи являются теми, кем они себя называют. OAuth 2.0 определяет, к каким системам разрешен доступ этим пользователям. OAuth 2.0 обычно используется для того, чтобы два несвязанных приложения могли обмениваться сведениями без ущерба для пользовательских данных. Например, многие люди используют свою электронную почту или учетные записи в социальных сетях для входа на сторонний сайт, а не создают новое имя пользователя и пароль. OIDC также используется для обеспечения единого входа. Организации могут использовать безопасную систему управления идентификацией и доступом (IAM), например Microsoft Entra ID (ранее Azure Active Directory), в качестве основного средства проверки подлинности удостоверений, а затем использовать OIDC для передачи этой проверки подлинности другим приложениям. Таким образом, пользователям нужно будет войти в систему только один раз, используя одно имя пользователя и пароль, чтобы получить доступ к нескольким приложениям.
Ключевые компоненты OIDC
В OIDC есть шесть основных компонентов:
- Проверка подлинности — это процесс подтверждения того, что пользователь является тем, кем он себя называет.
- Клиент — это программное обеспечение, такое как веб-сайт или приложение, которое запрашивает токены, используемые для проверки подлинности пользователя или доступа к ресурсу.
- Доверяющие стороны — это приложения, которые используют поставщиков OpenID для проверки подлинности пользователей.
- Токены удостоверений содержат идентификационные данные, включая результат процесса проверка подлинности под, идентификатор пользователя и сведения о том, как и когда пользователь проходит проверку подлинности.
- Поставщики OpenID — это приложения, для которых у пользователя уже есть учетная запись. Их роль в OIDC заключается в проверке подлинности пользователя и передаче этих сведений проверяющей стороне.
- Пользователи — это люди или службы, которые пытаются получить доступ к приложению без создания новой учетной записи или предоставления имени пользователя и пароля.
Каков принцип работы проверки подлинности OIDC?
Проверка подлинности OIDC позволяет пользователям входить в одно приложение и получать доступ к другому. Например, если пользователю нужно создать учетную запись на новостном сайте, у него может быть возможность использовать Facebook для создания своей учетной записи вместо создания новой учетной записи. Выбрав Facebook, они используют проверку подлинности OIDC. Facebook, называемый поставщиком OpenID, обрабатывает процесс проверки подлинности и получает согласие пользователя на предоставление конкретных сведений, таких как профиль пользователя, новостному сайту, который является проверяющей стороной.
Токены ИД
Поставщик OpenID использует токены ИД для передачи результатов проверки подлинности и соответствующих сведений проверяющей стороне. Примеры типов отправляемых данных включают идентификатор, адрес электронной почты и имя.
Области
Области определяют, что пользователь может делать с доступом. OIDC предоставляет стандартные области, определяющие такие параметры, как проверяющая сторона, для которой создан токен, время создания токена, срок истечения действия токена, а также уровень шифрования, используемый для проверки подлинности пользователя.
Типичный процесс проверки подлинности OIDC включает следующие действия:
- Пользователь переходит к приложению, к которому ему нужно получить доступ (проверяющая сторона).
- Пользователь вводит свое имя пользователя и пароль.
- Проверяющая сторона отправляет запрос поставщику OpenID.
- Поставщик OpenID проверяет учетные данные пользователя и получает авторизацию.
- Поставщик OpenID отправляет токен удостоверения и часто токен доступа проверяющей стороне.
- Проверяющая сторона отправляет токен доступа на устройство пользователя.
- Пользователю предоставляется доступ на основе сведений, предоставленных в токене доступа и проверяющей стороне.
Что такое потоки OIDC?
Потоки OIDC определяют, как токены запрашиваются и доставляются проверяющей стороне. Вот несколько примеров:
Потоки авторизации OIDC: поставщик OpenID отправляет проверяющей стороне уникальный код. Затем проверяющая сторона отправляет уникальный код обратно поставщику OpenID в обмен на маркер. Этот метод используется для того, чтобы поставщик OpenID мог проверить проверяющую сторону перед отправкой токена. При использовании этого метода браузер не видит маркер, за счет чего обеспечивается безопасность.
Потоки авторизации OIDC с расширением PKCE: этот поток аналогичен потоку авторизации OIDC, но в этом случае используется расширение открытого ключа для обмена кодами (PKCE) для отправки сообщений в виде хэша. При этом снижается вероятность перехвата маркера.
Учетные данные клиента: при этом потоке обеспечивается доступ к веб-API с использованием удостоверения самого приложения. Такой поток обычно используется для связи между серверами и для автоматизированных сценариев, не требующих взаимодействия с пользователем.
Код устройства: этот поток дает возможность пользователям входить в систему и получать доступ к веб-API на подключенных к Интернету устройствах, на которых нет браузеров или недостаточно удобно реализован интерфейс клавиатуры, например на смарт-телевизорах.
Использовать дополнительные потоки, например неявный поток OIDC, предназначенный для браузерных приложений, не рекомендуются, поскольку возникает угроза безопасности.
OIDC и OAuth 2.0
OIDC собран на основе OAuth 2.0 для добавления проверки подлинности. Сначала был разработан протокол OAuth 2.0, а затем добавлен OIDC для расширения его возможностей. Разница между ними заключается в том, что OAuth 2.0 обеспечивает авторизацию, а OIDC — проверку подлинности. OAuth 2.0 позволяет пользователям получать доступ к проверяющей стороне, используя свою учетную запись у поставщика OpenID, а OIDC позволяет провайдеру OpenID передавать профиль пользователя проверяющей стороне. OIDC также позволяет организациям предлагать своим пользователям возможность единого входа.
Преимущества проверки подлинности OIDC
Уменьшая число учетных записей, необходимых пользователям для доступа к приложениям, OIDC предлагает ряд преимуществ частным лицам и организациям:
Снижает риск кражи паролей
Когда людям нужно использовать несколько паролей для доступа к необходимым для работы и личной жизни приложениям, они часто выбирают легко запоминающиеся пароли, например Пароль1234!, и используют один и тот же пароль для нескольких учетных записей. Это увеличивает риск угадывания пароля злоумышленником. И как только они узнают пароль к одной учетной записи, они смогут получить доступ и к другим. С уменьшением числа паролей для запоминания увеличивается вероятность использования более надежного и безопасного пароля.
Улучшенные элементы управления безопасностью
Централизованная проверка подлинности в одном приложении позволяет организациям защитить доступ к нескольким приложениям с помощью строгого контроля доступа. OIDC поддерживает двухфакторную и многофакторную проверку подлинности, требующую от людей подтверждения удостоверения с использованием как минимум двух из следующих методов:
Запрос сведений, которые знает пользователь, например пароля.
Что-то, что у них есть, например доверенное устройство или токен, который нелегко скопировать.
Использование биометрических данных пользователя (например, распознавание отпечатка пальца или лица).
Многофакторная проверка подлинности — это проверенный метод предотвращения компрометации учетной записи. Организации также могут использовать OIDC для применения других мер безопасности, таких как управление привилегированным доступом, защита паролем, безопасность входа в систему или защита персональных данных в нескольких приложениях.
Упрощение пользовательского опыта
Вход в несколько учетных записей в течение дня может отнимать много времени и вызывать разочарование у людей. Кроме того, если они потеряют или забудут пароль, его сброс может еще больше снизить производительность. Компании, использующие OIDC для обеспечения единого входа в систему своих сотрудников, гарантируют, что их сотрудники тратят больше времени на продуктивную работу, а не на попытки получить доступ к приложениям. Организации также повышают вероятность того, что клиенты зарегистрируются и будут использовать их службы, разрешая отдельным лицам использовать свои учетные записи Microsoft, Facebook или Google для входа в систему.
Стандартизация проверки подлинности
OpenID Foundation, в состав которого входят известные бренды, как Microsoft и Google, создал OIDC. Он был разработан с учетом совместимости и поддерживает множество платформ и библиотек, включая iOS, Android, Microsoft Windows, а также основных поставщиков облачных служб и удостоверений.
Оптимизация управления удостоверениями
Организации, использующие OIDC для обеспечения единого входа для своих сотрудников и партнеров, могут уменьшить количество решений по управлению удостоверениями, которыми им необходимо управлять. Это упрощает отслеживание изменения разрешений и позволяет администраторам использовать один интерфейс для применения политик и правил доступа к нескольким приложениям. Компании, использующие OIDC для того, чтобы разрешить пользователям входить в свои приложения с помощью поставщика OpenID, сокращают количество удостоверений, которыми им необходимо управлять.
Примеры и варианты использования OIDC
Многие организации используют OIDC для обеспечения безопасной проверки подлинности в веб-приложениях и мобильных приложениях. Вот несколько примеров:
Когда пользователь регистрируется для получения учетной записи Spotify, ему предлагаются три варианта: регистрация через Facebook, регистрация через Google и регистрация с помощью адреса электронной почты. Пользователи, решившие зарегистрироваться через Facebook или Google, используют OIDC для создания учетной записи. Они будут перенаправлены к любому выбранному ими поставщику OpenID (Google или Facebook), а после входа в систему, поставщик OpenID отправит основные данные профиля Spotify. Пользователю не нужно создавать новую учетную запись для Spotify, и его пароли остаются защищенными.
LinkedIn также предоставляет пользователям возможность создать учетную запись, используя свою учетную запись Google, вместо создания отдельной учетной записи для LinkedIn.
Компания хочет предоставить единый вход для сотрудников, которым для выполнения своей работы необходим доступ к Microsoft Office 365, Salesforce, Box и Workday. Вместо того, чтобы требовать от сотрудников создания отдельной учетной записи для каждого из этих приложений, компания использует OIDC для предоставления доступа ко всем четырем. Сотрудники создают одну учетную запись и каждый раз, когда они входят в систему, они получают доступ ко всем приложениям, необходимым для работы.
Реализация OIDC для безопасной проверки подлинности
OIDC предоставляет протокол проверки подлинности для упрощения входа в систему для пользователей и повышения безопасности. Это отличное решение для компаний, которые хотят побудить клиентов подписаться на их службы без трудностей при управлении учетными записями. Это также позволяет организациям предлагать своим сотрудникам и другим пользователям безопасный единый вход в несколько приложений. Организации могут использовать решения для идентификации и доступа, поддерживающие OIDC, такие как Microsoft Entra, для управления всеми своими политиками безопасности удостоверений и проверки подлинности в едином месте.
Подробнее о Microsoft Security
-
Microsoft Entra ID
Безопасно подключайте сотрудников, клиентов и партнеров к своим приложениям, устройствам и данным с помощью облачного решения для управления идентификацией и доступом.
-
Управление Microsoft Entra ID
Автоматически обеспечивайте нужным людям доступ к нужным приложениям и службам.
-
Проверенные учетные данные Microsoft Entra
Предоставьте децентрализованным удостоверениям управляемую службу проверяемых учетных данных на основе открытых стандартов.
-
Идентификация рабочей нагрузки Microsoft Entra
Обеспечьте защиту удостоверений, предоставленных приложениям и службам, и управление ими.
-
Вопросы и ответы
-
OIDC — это протокол проверки подлинности удостоверений, который работает с OAuth 2.0 для стандартизации процесса проверки подлинности и авторизации пользователей при входе в систему для доступа к цифровым службам. OIDC обеспечивает проверку подлинности, то есть проверяет, являются ли пользователи теми, кем они себя называют. OAuth 2.0 определяет, к каким системам разрешен доступ этим пользователям. OIDC и OAuth 2.0 обычно используются для того, чтобы два несвязанных приложения могли обмениваться сведениями без ущерба для пользовательских данных.
-
OIDC и язык разметки заявлений системы безопасности (SAML) представляют собой протоколы проверки подлинности удостоверений, которые позволяют пользователям безопасно войти в систему один раз и получить доступ к нескольким приложениям. SAML — это более старый протокол, получивший широкое распространение для единого входа. Он передает данные в формате XML. OIDC — это новый протокол, использующий формат JSON для передачи пользовательских данных. OIDC набирает популярность, поскольку его проще реализовать, чем SAML, и он лучше работает с мобильными приложениями.
-
OIDC означает протокол OpenID Connect, который представляет собой протокол проверки подлинности удостоверений, используемый для того, чтобы два несвязанных приложения могли обмениваться данными профиля пользователя без ущерба для его учетных данных.
-
OIDC собран на основе OAuth 2.0 для добавления проверки подлинности. Сначала был разработан протокол OAuth 2.0, а затем добавлен OIDC для расширения его возможностей. Разница между ними заключается в том, что OAuth 2.0 обеспечивает авторизацию, а OIDC — проверку подлинности. OAuth 2.0 позволяет пользователям получать доступ к проверяющей стороне, используя свою учетную запись у поставщика OpenID, а OIDC позволяет провайдеру OpenID передавать профиль пользователя проверяющей стороне. Эта функция также позволяет организациям предлагать своим пользователям единый вход. Потоки OAuth 2.0 и OIDC схожи, за исключением того, что они используют несколько разную терминологию.
Типичный поток OAuth 2.0 состоит из следующих шагов:
- Пользователь переходит к приложению, к которому ему нужно получить доступ (серверу ресурсов).
- Сервер ресурсов перенаправляет пользователя в приложение, в котором у него есть учетная запись (клиент).
- Пользователь входит в систему, используя свои учетные данные для клиента.
- Клиент проверяет доступ пользователя.
- Клиент отправляет токен доступа на сервер ресурсов.
- Сервер ресурсов предоставляет пользователю доступ.
Типичный поток OIDC состоит из следующих шагов:
- Пользователь переходит к приложению, к которому ему нужно получить доступ (проверяющая сторона).
- Пользователь вводит свое имя пользователя и пароль.
- Проверяющая сторона отправляет запрос поставщику OpenID.
- Поставщик OpenID проверяет учетные данные пользователя и получает авторизацию.
- Поставщик OpenID отправляет токен удостоверения и часто токен доступа проверяющей стороне.
- Проверяющая сторона отправляет токен доступа на устройство пользователя.
- Пользователю предоставляется доступ на основе сведений, предоставленных в токене доступа и проверяющей стороне.
-
Поставщик OpenID использует токены идентификатора для передачи результатов аутентификации и соответствующих сведений приложению проверяющей стороны. Примеры типов отправляемых данных включают идентификатор, адрес электронной почты и имя.
Следите за новостями Microsoft Security