Паролі·28 питань

Як працюють апаратні ключі безпеки стандартів FIDO2 та WebAuthn на рівні взаємодії з браузером і сервером?

Відповідь

Апаратні ключі безпеки, такі як YubiKey, є фізичними пристроями, які підключаються до комп'ютера чи смартфона через USB, NFC або Bluetooth. Вони реалізують криптографічну аутентифікацію на основі стандартів FIDO2 та WebAuthn, повністю виключаючи необхідність передачі пароля мережею. Коли користувач намагається увійти на сайт, сервер генерує унікальну випадкову послідовність байтів і відправляє її в браузер разом із ідентифікатором запрашуваного домену.

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

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

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

Цей метод забезпечує максимальний рівень захисту від перехоплення облікових даних, витоків баз даних на боці сервісів та атак типу Man-in-the-Middle. Навіть якщо база даних сервера буде повністю скомпрометована зловмисниками, у них залишаться лише відкриті ключі, за допомогою яких неможливо увійти в систему або відновити вихідний закритий ключ.

Чи корисна ця відповідь?

Інші питання цієї теми

Пов’язані питання з інших тем