Стендап Сьогодні
📢
Канал в Telegram @stendap_sogodni
🦣
@stendap_sogodni@shevtsov.me в Федиверсі
20.08.2025
Passkey - що воно таке є?
Популярна останні роки технологія авторизації Passkey - це коли пристрій магічним чином входить за тебе, без жодних паролів. Як же ж воно працює?
По-перше, насправді технологія називається Web Authentication, але не дуже це зрозуміло, чи не так?
Технічно Passkey - простіше простого: замість пароля генерується криптографічна пара, публічний ключ надсилається на сервер, приватний — зберігається в безпечне сховище. Для авторизації клієнт підписує приватним ключем пакет-випробування, а сервер — перевіряє підпис. Все це вже знайоме, зокрема схоже працює клієнтська авторизація TLS. (Гарний бік асиметричної криптографії - “it just works”, та не потрібно городити складніших систем.)
Відразу стає очевидною головна перевага Passkey - вони абсолютно непідвладні фішингу, оскільки сама процедура авторизації автоматично перевіряє правдивість сайту. Також відпадає необхідність вигадувати та запамʼятовувати паролі. Та ніяка третя сторона не підслухає приватний ключ, бо він нікуди не передається. А це три головні проблеми з безпекою в інтернеті!
Складність тут тільки одна — де зберігати оті ключі. Стандарт наполягає на апаратній безпеці — тобто перевірці біометрики або апаратного ключа. Наприклад, в айфоні Passkey зберігаються в Secure Enclave - спеціально виділеному сховищі, доступ до якого відбувається тільки через біометрику.
Може здатися, що біометрика є частиною самого протоколу автентифікації, але це не так. Точніше, на комунікацію з сервером вона ніяк не впливає. А значить, сховище ключів зовсім не обовʼязково повинно бути захищеним. Тобто тут є вікно для вразливостей, як на мене.
Наприклад, в 1Password цікава історія. З одного боку, ключі від Passkey там зберігаються так само як і будь-який пароль — та раніше ж цього вистачало. А з іншого, для доступу до ключів достатньо знати головний пароль, без всякої біометрики. До того ж ще цікавий момент - 1Password нараді не дозволяє експортувати ключі Passkey - взагалі! Аргументують це відсутністю (поки що) стандарту. Але по факту, Passkey у 1Password привʼязують вас до цього сервісу.
Втім, змінити Passkey не набагато складніше, ніж звичайний пароль. Зокрема, Passkey не є ідентифікатором, а тільки засобом автентифікації. Втративши доступ до Passkey, ти не втрачаєш сам обліковий запис.
Тут можна було б завершити, що Passkey - це дуже круто та варто всюди на них переходити, але з фактичного досвіду поки є проблеми; на відміну від звичайної автентифікації тут складніша взаємодія з браузером, та деякі сайти (зокрема Sony.com) не завжди правильно її виконують. Так що на свій огляд, та памʼятай, кому ти свої ключі довіряєш.