Що таке OIDC?
Дізнайтеся про OpenID Connect (OIDC) – протокол автентифікації, який перевіряє ідентичності користувачів, коли вони виконують вхід для доступу до цифрових ресурсів.
Визначення OpenID Connect (OIDC)
OpenID Connect (OIDC) – це протокол автентифікації ідентичності, який є розширенням стандарту Open Authorization (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 надає низку переваг як фізичним особам, так і організаціям.
Зменшує ризик викрадення паролів
Коли користувачі мають використовувати кілька паролів для доступу до програм, потрібних для роботи та особистого життя, вони часто вибирають прості паролі, як-от Password1234!, і використовують один і той самий пароль для кількох облікових записів. Це збільшує ризик того, що пароль буде вгадано зловмисником. І, знаючи пароль до одного облікового запису, зловмисник також може отримати доступ до інших облікових записів. Зменшення кількості паролів, які потрібно запам’ятовувати, збільшує ймовірність того, що буде використано надійніший і безпечніший пароль.
Удосконалює заходи безпеки
Запровадивши централізовану автентифікацію в одній програмі, організації також можуть захистити доступ до кількох програм за допомогою суворих заходів контролю доступу. OIDC підтримує двофакторну та багатофакторну автентифікацію, які вимагають, щоб користувачі підтверджували свою особу, використовуючи принаймні два з таких факторів:
Щось, що знає лише користувач, як-от пароль.
Щось, що має лише користувач, зокрема надійний пристрій або маркер, який важко скопіювати.
Щось, що належить лише користувачу, зокрема відбиток пальця або сканування обличчя.
Багатофакторна автентифікація – це перевірений спосіб, який дає змогу скоротити кількість порушень безпеки облікових записів. Організації також можуть вживати інших заходів безпеки за допомогою OIDC, як-от керування привілейованим доступом, захист паролем, безпека входу або захист ідентичності, у кількох різних програмах.
Спрощує взаємодію з користувачами
Вхід у кілька облікових записів протягом дня може забирати багато часу та дратувати людей. До того ж, якщо вони втратять або забудуть пароль, його відновлення може ще більше зашкодити продуктивності. Компанії, які використовують OIDC для забезпечення єдиного входу для своїх працівників, допомагають їм приділяти більше часу продуктивній роботі, а не спробам отримати доступ до програм. Організації також підвищують імовірність того, що клієнти реєструватимуться на їхні послуги та користуватися ними, якщо дозволять використовувати для входу облікові записи Microsoft, Facebook або Google користувачів.
Стандартизує автентифікацію
Фонд OpenID, до складу якого входять такі провідні бренди, як 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
-
Microsoft Entra ID
Безпечно з’єднуйте працівників, клієнтів і партнерів з їхніми програмами, пристроями та даними за допомогою хмарного рішення для керування ідентичностями й доступом.
-
Керування ідентифікатором Microsoft Entra
Забезпечте відповідним користувачам належний рівень доступу до необхідних програм і служб, використовуючи засоби автоматизації.
-
Підтверджувані ID Microsoft Entra
Надайте децентралізовані ідентичності за допомогою керованої служби офіційних посвідчень, заснованої на відкритих стандартах.
-
ID робочих навантажень 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