Управління обліковими даними
Управління обліковими даними, також відоме як система управління обліковими даними (CMS), є встановленою формою програмного забезпечення, яке використовується для видачі та управління обліковими даними як частина інфраструктури відкритих ключів (PKI).
Програмне забезпечення CMS використовується урядами та підприємствами для надання надійної двофакторної аутентифікації (2FA) працівникам та громадянам. CMS інтегрується з компонентами PKI для забезпечення єдиного рішення для IT-відділів для видачі та управління обліковими даними для широкого спектру пристроїв, включаючи смарт-карти, USB-ключі, смартфони, ноутбуки та настільні комп'ютери.[1]
Управління обліковими даними також є запропонованим інтерфейсом програмування додатків (API), який розробляється World Wide Web Consortium для стандартизації аспектів того, як менеджери паролів використовуються веб агенти користувача (веб-браузери та інші додатки) для створення, зберігання, використання та зміни комбінацій імені користувача та пароля для входу, а також для управління «федеративними» обліковими даними (такі як Single_sign-on токени) агентами користувача. API розробляється Група робочих застосунків безпеки Вебу (W3C), і перебуває на стадії Робочого проекту з квітня 2016 року. Це пропозиція на треку Рекомендацій, яка очікується на статус стандарту, але може зазнати значних змін до цього.[2][3] API управління обліковими даними вже було розширено пропозицією WebAuthn (Веб-аутентифікація), яка досягла статусу Кандидат Рекомендації у квітні 2018 року і додає можливість обробки аутентифікація з відкритими ключами.[4]
Сучасні веб-браузери зазвичай можуть зберігати та автоматично вводити імена користувачів і паролі для входу на веб-сайти, хоча часто вони використовують не зовсім оптимальні евристики для визначення, які поля форми та дані повинні бути заповнені/збережені, що призводить до непослідовної та іноді некоректної поведінки. Браузери також можуть мати проблеми з заповненням форм для входу для федеративних ідентичностей, таких як випадок, коли користувач, підключаючись до веб-сайту, використовує обліковий запис третьої сторони (наприклад, Facebook, Google або Twitter) для автентифікації та надання інформації про ідентичність. Специфікація управління обліковими даними також має на меті спростити процес зміни паролів так, щоб локально збережений пароль на клієнті міг бути оновлений одночасно з його зміною на сервері.
Google Chrome підтримує управління обліковими даними з версії 51,[5], яка була випущена в травні 2016 року,[6], а Opera підтримує з версії 44,[5] яка була випущена у квітні 2017 року.[7] Mozilla Firefox включає підмножину API для підтримки WebAuthn з версії 60, яка була випущена в травні 2018 року.[8]
Станом на робочий проект від серпня 2017 року,[9] користувацькі агенти, що підтримують API управління обліковими даними, повинні реалізувати «сховище облікових даних» для постійного зберігання об'єктів облікових даних, а також повинні включати «вибір облікових даних», щоб дозволити користувачам взаємодіяти з об'єктами та дозволяти або відмовлятися від їх використання для входу. Ідеально, облікові дані повинні мати ім'я та favicon, а також іншу пов'язану інформацію, щоб допомогти відрізнити, для якого веб-сайту або служби вони використовуються, а також можливість відрізняти облікові дані для кількох облікових записів на одному сайті.
API визначає чотири основні JavaScript методи, які відкривають інтерфейс CredentialsContainer
: navigator.credentials.create()
, navigator.credentials.store()
, navigator.credentials.get()
та navigator.credentials.preventSilentAccess()
. Також визначено основний об'єкт інтерфейсу Credential
, з нащадками PasswordCredential
та FederatedCredential
. (WebAuthn також визначає об'єкт інтерфейсу PublicKeyCredential
.) API доступний лише тоді, коли користувацький агент підключений до захищеного (HTTPS) веб-сайту. Браузери все ще можуть реалізувати автозаповнення інформації для входу на незахищених сайтах, але не повинні дозволяти таким сайтам скористатися автоматизацією, яку забезпечує API, оскільки це може призвести до випадкового витоку паролів або інших облікових даних. Крім того, доступ до API дозволено лише в головних вікнах, а не всередині <iframe>
елементів чи інших вкладених контекстів перегляду.
Метод navigator.credentials.create()
використовується для створення об'єктів облікових даних у пам'яті, а store()
ініціює запис об'єкта в сховище облікових даних після успішного входу. get()
запитує потенційно релевантні облікові дані зі сховища, які можуть бути представлені користувачу у виборі облікових даних. Коли виконуються запити на отримання, користувацькі агенти за замовчуванням повинні запитувати у користувача дозвіл, хоча інтерфейс користувача може дозволити встановити прапорець, що дозволяє «тиху» авторизацію без показу запиту. Веб-сайт може скинути цей прапорець за допомогою методу preventSilentAccess()
, який рекомендується використовувати при виході.
- ↑ Система управління обліковими даними - MyID CMS. Intercede (англ.). Процитовано 31 липня 2019.
- ↑ West, Mike, ред. (4 серпня 2017). Управління обліковими даними Рівень 1. W3C. Процитовано 12 травня 2018.
- ↑ W3C Web Application Security Working Group. Процитовано 12 травня 2018.
- ↑ Balfanz та ін. (20 березня 2018). Веб-аутентифікація: API для доступу до облікових даних відкритого ключа Рівень 1. W3C. Процитовано 12 травня 2018.
- ↑ а б Credential Management API. MDN Web Docs. Mozilla. 20 лютого 2018. Процитовано 13 травня 2018.
- ↑ Оновлення стабільного каналу. Chrome Releases. 25 травня 2016. Процитовано 13 травня 2018.
- ↑ Mielczarczyk, Kornelia (5 квітня 2017). Opera 44.0.2510.1159 Стабільне оновлення. Opera Blogs. Процитовано 13 травня 2018.
- ↑ Firefox — Примітки (60.0) — Mozilla. Mozilla. 9 травня 2018. Процитовано 13 травня 2018.
- ↑ West, Mike, ред. (4 серпня 2017). Управління обліковими даними Рівень 1, робочий проект W3C, 4 серпня 2017. Процитовано 12 травня 2018.