Назад до блогу

Ключі доступу для сайту: як впровадити вхід без пароля

·16 хв читання·Rendframe·Ключі доступу, Безпека сайту, Продуктова розробка, Клієнтський досвід

Ключ доступу прибирає з входу пароль, який можна виманити на підробленому сайті. Але він не виправить слабке відновлення акаунта, незрозуміле пояснення чи хаос з обліковими записами. Впроваджувати треба весь шлях користувача, а не одну кнопку.

Редакційна схема впровадження ключів доступу: від мапи акаунтів через створення ключа й щоденний вхід до відновлення та контрольованого розширення
Створення ключа, звичайний вхід, новий пристрій і відновлення — одна система, а не чотири окремі задачі.

Коротка відповідь: спочатку запропонуйте ключі доступу як помітний, але добровільний спосіб входу для однієї зрозумілої групи. Залиште перевірений запасний шлях, вимагайте сильну повторну автентифікацію перед додаванням або видаленням ключів, підтримайте кілька ключів на акаунт і вимірюйте не лише активації, а й успішні входи та відновлення. Пароль варто прибирати тільки після доказів.

У 2026 році це вже продуктове рішення, а не експеримент для ентузіастів. За оцінкою FIDO Alliance State of Passkeys 2026, у світі використовується п'ять мільярдів ключів доступу. У дослідженні десяти країн 75% опитаних споживачів уже активували passkey принаймні для одного акаунта, а 68% організацій впровадили або впроваджують їх для працівників. України серед цих країн не було, тому це сигнал зрілості технології, а не оцінка українського ринку.

Що саме змінює ключ доступу

Ключ доступу, або passkey, — це облікові дані на основі відкритого ключа та стандарту WebAuthn. Під час створення пристрій або менеджер облікових даних генерує пару ключів для конкретного сайту чи застосунку. Сервіс отримує відкритий ключ, а приватний залишається під контролем автентифікатора. Для входу сервер надсилає новий challenge, а пристрій підписує його після локального розблокування — через PIN, відбиток пальця або розпізнавання обличчя.

Сайт не отримує біометрію. Він перевіряє криптографічний підпис. Специфікація W3C WebAuthn Level 3, опублікована як Candidate Recommendation Snapshot 26 травня 2026 року, описує такі прив'язані до relying party облікові дані й браузерний API. NIST SP 800-63B пояснює головну різницю: WebAuthn прив'язує відповідь до перевіреного домену, а пароль і вручну введений одноразовий код не є стійкими до фішингу.

СпосібЩо зберігає серверЩо підтверджує людинаСтійкість до фішингу
ПарольВерифікатор пароляПовторно використовуваний секретНі
Пароль + код із SMS або застосункуВерифікатор і прив'язку MFAСекрет і код, який можна переслатиНі
Ключ доступу з user verificationВідкритий ключ і метаданіПідпис для конкретного домену після розблокуванняТак, за правильної реалізації

Це не робить безпечним увесь акаунт автоматично. Якщо оператор підтримки скидає доступ за датою народження, а лист на пошту може замінити всі ключі, зловмисник піде простішим шляхом. Викрадення сесії, шкідливе ПЗ на розблокованому пристрої, помилки авторизації та шахрайство вже після входу залишаються окремими ризиками.

З якої групи користувачів почати

Не починайте з формулювання «увімкнути всім». Складіть карту типів акаунтів, пристроїв, наслідків компрометації та можливостей підтримки. Найкращий пілот — повторні входи, відомі користувачі, сучасні пристрої, зрозуміле відновлення й відчутна проблема з паролями або кодами.

ГрупаЧому підходитьЩо перевірити
Адміністратори й командаВисока ціна фішингу, контрольоване навчанняОсобисті й корпоративні пристрої, SSO, звільнення, запасний ключ
Постійні клієнтиМенше скидань пароля, входи можна порівнюватиПошук акаунта, спільні пристрої, вхід з іншого телефона
Партнери та постачальникиВідомі особи й регулярний кабінетЗміна підрядників, делеговане адміністрування, федерація
Гостьовий checkoutЗазвичай не підходитьНе змушуйте створювати акаунт заради passkey

Для інтернет-магазину логічний старт — клієнти, які вже мають кабінет і повертаються перевірити замовлення, керувати підпискою чи купити знову. Гостьову оплату залиште. Для внутрішньої системи візьміть малу команду, але не тестуйте лише на ноутбуці розробника: потрібні реальні Windows і macOS, Android та iOS, керовані й особисті профілі, актуальні браузери та, за потреби, апаратні ключі.

Відновлення — частина автентифікації

Намалюйте всі способи повернути або змінити доступ: синхронізований ключ, другий пристрій, апаратний ключ FIDO2, акаунт identity provider, лист, SMS, recovery code, звернення до підтримки, скидання адміністратором. Для кожного визначте рівень перевірки, журналювання й повідомлення. Практична безпека акаунта близька до найслабшого маршруту, здатного замінити автентифікатори.

У настанові щодо синхронізованих автентифікаторів NIST радить централізоване керування ключами, кілька автентифікаторів для акаунтів із підвищеними вимогами, повідомлення про відновлення й контроль корпоративної синхронізації. Синхронізація між телефонами та ноутбуками дає зручність, але це інша модель, ніж прив'язаний до пристрою апаратний ключ. Політика має відповідати наслідкам втрати доступу.

  1. Дозвольте кілька ключів. Людина може додати іншу екосистему або фізичний security key.
  2. Перевіряйте повторно. Створення й видалення ключа, зміна recovery email чи телефона та чутливі операції потребують недавнього сильного входу.
  3. Надсилайте сповіщення. Повідомляйте про новий ключ, відновлення, видалення й важливу зміну акаунта через уже відомий канал.
  4. Додайте паузу там, де ціна висока. Щойно відновлений акаунт не обов'язково має одразу змінювати виплати, адміністраторів або завантажувати весь архів.
  5. Обмежте повноваження підтримки. Оператор виконує журналювану процедуру з ризик-сигналами, а не вигадує перевірку під час дзвінка.

Відновлення має бути не лише суворим, а й реалістичним. Клієнт зі зламаним телефоном не повинен втратити історію покупок. Водночас звільнений працівник не має зберігати доступ через ключ на особистому пристрої. Для покупця, співробітника й аварійного адміністратора потрібні різні сценарії.

Шість етапів впровадження

  1. Зафіксуйте базові показники. Успішність і тривалість входу, скидання паролів, помилки MFA, звернення до підтримки й повідомлення про захоплення акаунтів — окремо за пристроями та браузерами.
  2. Опишіть ідентичність і відновлення. Знайдіть дублікати акаунтів, social login, SSO, довірені сесії, зміну реквізитів, offboarding і ручні винятки. Визначте, який запис користувача володіє ключем.
  3. Побудуйте повний життєвий цикл. Реєстрація, вхід, повторна перевірка, кілька ключів, видалення, втрата, відновлення, повідомлення та аудит мають увійти до першого production-рішення.
  4. Проведіть внутрішній compatibility pilot. Перевірте різні ОС і браузери, private mode, новий пристрій, QR-вхід з телефона, screen reader, спільний комп'ютер, скасований діалог, timeout і обрив мережі.
  5. Запросіть добровільну групу. Пропонуйте створення після успішного звичайного входу або в налаштуваннях безпеки. Залиште зрозумілий fallback. На спільному пристрої не створюйте ключ без явного наміру.
  6. Розширюйте за даними. Спершу виправте тексти, помилки та recovery, потім додавайте групи. Відмова від пароля — окреме рішення після достатнього покриття ключами.

Свіжий вебінар FIDO Alliance від серпня 2026 року про rollout у європейському банку підкреслює саме операційну сторону: enrollment, recovery, legacy systems, аудит і прийняття користувачами — це частина проєкту, а не прибирання після інтеграції API.

Технічні критерії приймання

  • Сервер створює непередбачуваний одноразовий challenge і швидко завершує його дію.
  • Backend перевіряє origin, relying party ID, challenge, credential ID, підпис і потрібні політиці прапорці user presence та user verification.
  • Увесь потік працює через HTTPS; для мобільного застосунку коректно прив'язані домен і пакет.
  • Сервер зберігає відкритий ключ і мінімальні метадані; приватного ключа чи біометричного шаблону він ніколи не очікує.
  • Один акаунт підтримує кілька ключів із датою створення, останнім використанням і зрозумілою назвою провайдера, якщо вона доступна.
  • Registration, sign-in, account discovery, recovery та зміни обмежені rate limit без витоку інформації про наявність акаунта.
  • Після підозри на захоплення чи відновлення старі сесії відкликаються, а останні зміни перевіряються.
  • Журнал містить події життєвого циклу ключа, але не секрети й не надмірний цифровий відбиток пристрою.
  • Бібліотеки оновлюються, а міграції форматів ключів і обмежень бази даних перевірені тестами.
  • Fallback і help desk проходять такий самий threat modeling, як WebAuthn ceremony.

Для незалежної технічної звірки зручно використати OWASP Authentication Cheat Sheet. Готовий identity provider може безпечно закрити значну частину протоколу. Але зв'язування акаунтів, права, підтримка, recovery та продуктовий UX усе одно залежать від вашої системи.

Поясніть незнайомі моменти людською мовою

В українському інтерфейсі основний термін — «ключ доступу»; passkey можна додати в дужках під час першого пояснення. «Створити ключ доступу» зрозуміліше, ніж «зареєструвати WebAuthn credential». Перед системним діалогом скажіть, що користувач підтвердить дію розблокуванням пристрою, а сайт не отримає відбиток пальця чи зображення обличчя.

Рекомендації Google щодо passkey user journeys, засновані також на дослідженнях FIDO, радять пропонувати створення під час входу, у налаштуваннях безпеки, після відновлення або повторної авторизації. Для passkey-first акаунта потрібен recovery method, а на сторінці керування — окремі, зрозуміло підписані ключі.

Перевірте клавіатурну навігацію, озвучення screen reader, повернення фокуса після системного вікна, zoom, локалізовані помилки та довгі рядки. Не передавайте стан лише піктограмою. Якщо браузер, політика чи вибір людини не дозволяє продовжити, покажіть нормальний запасний сценарій.

Метрики й умови зупинки

  • скільки eligible users побачили пропозицію, почали й завершили створення;
  • частка спроб та успішність входу ключем за платформами;
  • медіанний час входу порівняно зі старим потоком;
  • використання fallback із причиною;
  • початі, завершені й покинуті відновлення та звернення до підтримки;
  • додавання й видалення ключів після recovery;
  • інциденти з фішингом і захопленням акаунтів за достатній для порівняння період;
  • compatibility та accessibility defects за групами.

Призупиніть розширення, якщо зростає кількість невдалих відновлень, помітна група не може стабільно ввійти, підтримка обходить перевірки або account linking створює дублікати. Висока кількість активацій не компенсує слабкий fallback.

Поширені запитання

Ключі доступу безпечніші за пароль і код із SMS?

За правильної реалізації вони стійкі до фішингу облікових даних, бо підпис працює лише для справжнього сайту. Пароль і введений вручну код можна виманити або переслати. Проте загальна безпека ще залежить від відновлення, сесій, прав доступу, пристроїв і підтримки.

Чи отримує сайт мій відбиток пальця або Face ID?

Ні. Біометрія або PIN локально розблоковують криптографічну операцію. Сервіс отримує підписану відповідь і зберігає відкритий ключ, а не біометричний зразок.

Що буде після втрати телефона?

Синхронізований ключ може бути доступний на іншому підтвердженому пристрої. Також можна використати другий зареєстрований ключ або спроєктоване відновлення. Сценарій втрати й заміни треба перевірити до запуску.

Чи варто одразу вимикати паролі?

Ні. Почніть із добровільної активації та контрольованої групи. Відмовляйтеся від пароля лише тоді, коли є достатнє покриття ключами, recovery сильніший за старе скидання, сумісність доведена, а підтримка готова.

Чи можна додати passkeys до чинного сайту?

Зазвичай так — через наявний identity provider або власну реалізацію WebAuthn. Найбільше роботи часто не в браузерному виклику, а у зв'язуванні акаунтів, legacy clients, сесіях, відновленні, підтримці та міграції.

Безпечніший шлях має бути простішим

Ключі доступу справді можуть зменшити і фішинговий ризик, і тертя під час входу. Для цього людина повинна без проблем створити ключ, повернутися з іншого пристрою, безпечно відновити акаунт і розуміти кожну зміну. Почніть з однієї групи, побудуйте повний життєвий цикл і розширюйтеся за даними.

Rendframe може провести аудит чинного входу та recovery, спроєктувати identity architecture, реалізувати passkey pilot і перевірити його на реальних пристроях та edge cases. Окремо перевірте доставку листів відновлення акаунта, перегляньте послугу продуктової розробки Rendframe або надішліть нам карту вашого входу й відновлення.