Як працюють passkeys і чому це поки що найкращий захист від фішингу

Нещодавно ми викотили в свій продукт (UD MAXI AI SOC) підтримку passkeys і це найсвіжіший шматок пазлу у нашому стеку захисту автентифікації. Не будемо казати «перлина колекції», бо в платформі є набагато технологічніші рішення. Але, скажімо так: щоб не залишитись «шевцем без чобіт», вирішили таки реалізувати хоча це не pain, а швидше job.

Щоб зрозуміти, навіщо ми це додали, треба усвідомити, що стара-добра багатофакторна автентифікація (MFA) вже не відповідає сучасним вимогам безпеки:

  • Пароль + MFA — погано захищають вас від фішингу.
  • Пароль + MFA + менеджер паролів — має забагато рухомих частин і, відповідно, більше можливостей натупити.

А я вам напамʼятаю, що люди туплять завжди. Це, власне, наша головна фішка як виду homo sapiens.

Чому пароль + MFA пасує перед фішингом

Тому що хакери стали дратуюче терплячими і водночас із блискавичною реакцією.

Уявіть: ви заходите на фейковий сайт, який виглядає один-в-один як справжній. Піксель-перфект. Той самий логотип, той самий шрифт і той самий дрібний напис про копірайт знизу. Ви вводите пароль. Зловмисник миттєво його перехоплює . Далі вилітає віконце з запитом вашого коду MFA — саме там, де ви звикли його бачити. Ви вводите код. Зловмисник забирає і його.

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

Найобразливіше тут те, що як тільки ваш телефон завібрував, ви як відповідальний дорослий підтвердили вхід, а зловмисник просто використав вашу старанність проти вас. Краса.

Де менеджер паролів рятує, а де — ні

Менеджер паролів — це дуже і дуже круто! І досі ним не користуватися — це як ходити голим в Шевченківському гаю на Великдень: всі сміються, фоткають і показують пальцем, а ви змушені виправдовуватися, що «це просто дуже холодно надворі».

Коли у вас є парольний менеджер і ви реєструєтесь, скажімо, на новому сайті, то його бравзерний плагін автоматично:

  • Генерує для цього сайту довгий і унікальний пароль.
  • Шифрує і зберігає собі цю нову пару «логін—пароль».
  • Пропонує також зберегти і другий фактор MFA.
  • А також зберігає адресу сайту.

Останній пункт — це наш сірий кардинал, бо кожного разу, коли ви повертаєтесь на цей сайт, бравзерний плагін шукає в парольному менеджері цю адресу сайту і якщо знаходить — автоматично підставляє в потрібні поля ваш логін, пароль, автоматично натискає кнопку «Далі» і навіть автоматично вводить другий фактор MFA на наступному екрані. Але якщо адреса сайту хоч на один символ відрізняється від оригіналу, він навіть не запропонує автозаповнення. Без жодних додаткових повідомлень, попереджень чи спливаючих вікон — просто фейковий сайт йде за русскімваєннимкорабльом.

Але весь цей захист тримається на соплях вашій самоусвідомленій дисципліні постійного використання менеджера паролів. Це знову той самий «human factor», а ми вже зʼясували, що тупити — це наша еволюційна фішечка.

Чому сама концепція паролів — це провал

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

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

Паролі можна забути, вгадати, зламати (brute-force), виманити фішингом або витягти з чергового зливу бази даних. Усі ці вектори атак існують лише тому, що паролі — це human-readable секрети, створені для того, щоб люди могли ними зручно користуватись. Це і є корінь зла: ми побудували автентифікацію навколо найбільш ненадійного компонента системи — памʼяті людини, а потім щиро дивуємось результату.

Що ж таке passkey

Passkey (укр. «парольний ключ») за своєю природою ближчий до фізичного об’єкта — «ключа», який ви «маєте», ніж до уявної концепції «паролю», яку ви «знаєте».

Технічною мовою: passkey — це випадкове ціле число в двійковій системі числення довжиною в 256 знаків, згенероване спеціальним чіпом безпеки (Security Enclave в Apple, TPM на Windows і тд) на вашому пристрої. Щоб уявити passkey, треба уявити кодовий замок на 256 коліщаток, на кожному з яких є тільки 2 цифри — 0 і 1. Таке здоровенне число неможливо запамʼятати, його немає сенсу вводити, ви його навіть ніколи не бачите. Воно просто тихо існує в чіпі безпеки на вашому пристрої і використовується тільки тоді, коли на якомусь сайті треба підтвердити, що ви — це ви.

Чи можна просто вгадати або підібрати (забрутфорсити) це число? Можна. Теоретично. Щоб зробити це за допомогою сучасного ноутбука, вам знадобиться 1068 років. Для порівняння: вік Всесвіту — це всього-на-всього 1010 років. Тож ми говоримо про часові проміжки, на фоні яких астрономічні епохи виглядають як перекур. Тобто теоретично підібрати можливо, а практично — сучасними обчислювальними методами — ні. За допомогою квантових обчислювальних методів — можна, але є нюанси.

Оскільки passkey неможливо запамʼятати і не треба вводити ручками, його можна вважати секретом, повʼязаним із пристроєм, а не памʼяттю. І це чудова новина, бо ваша пам’ять постійно забуває, чи «вимкнула я праску», не те що випадкове число довжиною 256 знаків.

Як це працює «під капотом»

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

Реєстрація (один раз на пристрій):

  • Ви заходите на сайт і тицяєте кнопку «зареєструвати новий passkey».
  • Браузер просить ваш пристрій перевірити біометрію (ваше обличчя чи відбиток пальця), щоб переконатись, що це ви, і розблокувати доступ до чіпа безпеки на пристрої.
  • Чіп безпеки пристрою генерує оце довге випадкове число, яке називається приватний ключ, і ще в пару до нього публічний ключ, про який я розкажу нижче.
  • Приватний ключ зберігається всередині чіпа пристрою і ніколи його не покидає. Передавати його комусь — це теж погана ідея, бо не просто так цей ключ називається «приватним».
  • А от його однояйцевий брат-близнюк під назвою публічний ключ відправляється на сайт, де й зберігається.

До речі, якщо ви логінитесь на цей же сайт з п’яти різних пристроїв, то під час реєстрації кожен пристрій генерує свій унікальний приватний ключ, а сайт збереже всі п’ять відповідних публічних ключів. Це як пʼять дублікатів: якщо загубити або зламати один з пристроїв з ключем, то залишаються ще 4 копії ключа на інших пристроях, з якими можна буде залогінитися на цей сайт. Це вам не «один пароль на всі сервіси», про який ми зазвичай не згадуємо в пристойному товаристві.

Навіщо ця муть з парою ключів замість одного

Тому що секрети, тобто приватні ключі, не варто передавати інтернетом (і просто мережою), бо їх перехоплюють. Часто. То що ж робити?

От саме тому математику і називають «королевою наук», бо з її допомогою можна придумувати елегантні рішення складних проблем. Конкретно в цьому випадку математика дала криптографам концепції «простих чисел» та «еліптичних кривих», а ті з їх допомогою зліпили концепцію асиметричних (приватний + публічний) пар ключів. Ці ключі з пари назавжди математично між собою повʼязані, але цей звʼязок працює тільки «в один бік»:

  • Якщо «зʼєднати» приватний ключ із будь-яким текстом → то отримаємо т.зв. «цифровий підпис». І тільки відповідний публічний ключ із пари може зі 100% гарантією підтвердити, що цей «цифровий підпис» було створено з допомогою «приватного ключа» саме із цієї пари.
  • Якщо «зʼєднати» публічний ключ із будь-яким текстом → то отримаємо зашифрований текст. І тільки відповідний приватний ключ із пари зможе його розшифрувати.

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

Вхід на сайт за допомогою passkey

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

  • Сайт надсилає вашому браузеру випадковий набір букв—цифр—символів.
  • Браузер просить ваш пристрій перевірити біометрію (ваше обличчя чи відбиток пальця), щоб пересвідчитись, що це ви, і розблокувати доступ до чіпа безпеки.
  • Чіп безпеки дістає з себе приватний ключ, який він створив конкретно під цей сайт і «зʼєднує» його з цим випадковим набором букв—цифр—символів, який прислав сайт. В результаті ми отримуємо «цифровий підпис».
  • Випадковий набір букв—цифр—символів разом із щойно створеним «цифровим підписом» летить назад на сайт.
  • Сайт перевіряє достовірність «цифрового підпису» за допомогою публічного ключа, який у нього зберігався, і якщо ключі були з однієї пари, то — ласкаво просимо.

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

Чому passkeys множать фішинг на нуль

Фейковий сайт може перехопити ваш пароль, поки ви його вводите. Може навіть перехопити ваш ще один фактор — TOTP-код. Але він не може витягти ваш приватний ключ — бо той фізично не покидає чіп безпеки. Красти просто нема чого.

Є ще й другий рівень захисту: passkeys криптографічно прив’язані до назви конкретного сайту (RP ID), для якого вони були створені. І якщо ви будете намагатися залогуватися на подібному сайті, який виглядає як оригінальний, то приватний ключ відмовиться підписувати запит від такого сайту, бо в приватному ключі міститься інформація, про справжню назву цього сайту (домен). Тобто фішинговий сайт присилає запит, пристрій дивиться на домен і каже: «Я тебе не знаю», і нічого не видає.

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

Отож, passkeys прибирають людський фактор із процесу автентифікації. Нема паролів, немає TOTP-кодів для перехоплення, секрети не покидають пристрій. Також passkey зменшують кількість рухомих частин у самому процесі автентифікації, що зменшує ймовірність того, що щось може піти не так.

FIDO Alliance, до якої входять Microsoft, Google, Amazon та інші великі вендори, активно просуває саме цей тип автентифікації як наразі найкращий захист від фішингу. Але, як і будь‑яке нововведення, він впроваджується дуже інертно: інтернет загалом усе ще перебуває на дуже ранній стадії adoption. Більшість сервісів навіть не наблизилися до фази «ранні послідовники» (early adopters) — це стосується навіть технологічних компаній. У 2026‑му опцію «Login with passkey» поруч із «Login with password» і «Login with Google» пропонує мізерна частка сайтів.

Моралі не буде, буде прохання: 1. підіть і сьогодні ж перейдіть на passkeys всюди, де можете, 2. розкажіть про них і переконайте перейти на них всіх до кого дотягнетесь.

👍ПодобаєтьсяСподобалось25
До обраногоВ обраному9
LinkedIn
Ctrl + Enter
Ctrl + Enter

Неповний перелік веб-сервісів, які підтримуть автентифікацію по FIDO2
hideez.com/pages/supported-services
Є бібліотеки для впровадження у власні веб-сервіси, у т.ч. внутрішньокорпоративні.
Сучасні хардварні токени FIDO2 можуть зберігати порядка 150 пар публічних/приватних ключів, які автоматично використовуються для конкретних доменів/сервісів.
Окрім автентифікації у вебдодатках ключі можуть використовуватися для SSH ( developers.yubico.com/...​uring_SSH_with_FIDO2.html ), шифрування носіїв ( kudelskisecurity.com/...​isk-encryption-with-fido2 ) тощо.
Єдине що для SSH/шифрування варто мати додатковий резервний ключ FIDO2.

Клас, дуже дякую за пояснення і працю!

Хардварний ключик Yubikey працює скрізь, і навіть на смартфонах по nfc.

Yubikey однозначно топ, однак по ціні трохи кусається (зокрема якщо впроваджувати на корпоративному рівні).
На ринку є хороші аналоги, у себе використовуємо ключі FIDO2 бренду token2. Окрім хорошого співвідношення ціни/якості доставляють в Україну Новою поштою. Вибачайте за рекламу, можливо комусь буде корисно.

Чому варто зберігати авто-згенеровані паролі, унікальні для кожного сайту і ресурсу в пароль-менеджері бразузера. Зайшов на фішинг-сайт. Побачив, що не працює автозаповнення (бо доменне ім’я — інше :). Показав фак фішеру. Пішов з фішинг-сайту.

Взагалі все так, але тут нема обмежень автозгенерованими паролями.

Так, звісно, це вже про зручність :)

При наяваності FIDO2 як другого фактора «лівий» домен не пройде. Найгірше — засвітиться користувач/пароль. Щоправда не кожен сайт підтримує FIDO2.

І ще дещо...

Уявімо собі, що фейковий сайт якимось чином зміг підставитись замість реального (про це — нижче). Розглянемо просту атаку. Позначимо: CL — клієнт, RS — справжній сайт, FS — фейковий сайт.

CL -> FS (думає, що RS): запит авторизації.
FS -> RS: питає куку, як описано в статті («випадковий набір букв—цифр—символів»).
RS -> FS: надсилає куку.
FS -> CL: пересилає куку.
Клієнт підписує куку.
CL -> FS: підписана кука.
FS -> RS: переслана підписана кука.
RS думає, що одобрив клієнта. Фактично, він одобрив фейковий сайт. Тепер є авторизація (а з сучасними підходами це надовго, щонайменше, на декілька хвилин, цього досить для хакера). RP ID не допоміг, бо він співпадає з реальним.

Як клієнт може іти до фейкового сайту, думаючи, що реальний? Я вже писав в попередньому коментарі: http без SSL і тому без сертифіката; DNS; перехват трафіка на шлюзі; свій кореневий сертифікат, доданий через «соціальну інженерію» або через явне втручання в систему... і це тільки прості підходи. Ще можна організувати підпис іншим реальним визнаним коренем через підставні документи; досвідчені адміни це контролюють, але тисячи їх не знають про потенційну можливість контролю. Можна продовжувати...

Далі, passkey це лише етап явної перевірки авторизації. Далі можна вкрасти куку або токен авторизації.

Ітого-2: ніяка срібна куля не отрималась. Перевага у вигляді автоматичного контролю співпадіння домену є порівняно з ручним вводом, але не з менеджером паролів у браузері.

А ось як привід продати всім нове залізо з TPM і нову Windows — годиться.

Воно просто тихо існує в чіпі безпеки на вашому пристрої

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

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

«До речі», головна діра тут в тому, як встановлювати відповідність між ключами, доводячи, що вони всі належать одному юзеру.

І ось це треба було б продумати замість того, щоб розповідати на рівні семикласника, що таке 256-бітне число (а чому тільки 256?)

Це і є корінь зла: ми побудували автентифікацію навколо найбільш ненадійного компонента системи — памʼяті людини, а потім щиро дивуємось результату.

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

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

А підпис приватним ключем, який може бути активований з загубленого телефону/лаптопу, значить, здорова ідея? «Маша не хвойда? Ну вибачте» (tm)

Якщо «зʼєднати» публічний ключ із будь-яким текстом → то отримаємо зашифрований текст. І тільки відповідний приватний ключ із пари зможе його розшифрувати.

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

А взагалі, до чого це тут було у вас, коли сайт має перевіряти тільки підпис?

Весь цей рух з passkeys створений для того, щоб перекласти на юзера відповідальність за збереження секрету на рівні фізичного носія, який не легше зберігти, ніж пакован паролів під надійною програмою — але легше контролювати. Це як норми типового карного чи адміністративного кодексу: створені не так, щоб було справедливо, а так, щоб дуже приблизно справедливо при тому, що легко контролювати. 51 км/год при обмеженні 50 — штраф незалежно від того, за кермом ас-гонщик з мілісекундною реакцією і роками стажу на раллі-трассі, що і при 90 не накоїть, чи засмучений життям втомлений работяга, якому більше 30 їхати не слід. Так і тут, втратив телефона — все, іди заводь нові акаунти всюди.

Що технологія явно обмежена вимогами, які складно повністю задовільнити, що поточна стаття дуже однобока.

Одноразові паролі ніхто не відміняв
зазвичай у людини 2 пристрої є: комп’ютер та телефон, 1 буде зберігати резервний ключ

Ну... робочий ноут, домашній ноут, домашній десктоп на якому парочка Linux, які час від часу переставляються, пара серверів, ...

На мою думку при такому зоопарку варто використовувати зовнішній FIDO2. Ще й SSH можна прикрутити через ключ (ed25519-sk, etc).

Якщо використовувати FIDO2, варто придбати резервний ключ. У залежності від бренду сучасні ключі обходяться від 15 Євро, що доступно. Більшість веб-сервісів, що підтримують FIDO2, дозволяють реєструвати декілька ключів на одного користувача.
Ну і сучасні ключі вимагають встановлення PIN-коду, декількаразова помилка з PIN «форматує» ключ. Тобто для «знайденого» ключа потрібно знати домен/сервіс, де він використовується (FIDO2 має окремі пари приватні/публічні для кожного сервісу) + знати PIN-код. Додатково при необхідності працює перший фактор через ім’я користувача та пароль (той-же Гугл, GitLab, etc).

Якщо використовувати FIDO2, варто придбати резервний ключ. У залежності від бренду сучасні ключі обходяться від 15 Євро, що доступно.

Таксс... старе залізо без TPM — викинути. Придбати ключ, «від» 15 євро, тобто, рахуємо, по 25 на ключ. Два ключа щонайменше. Краще — три. Різних моделей, різних партій, бо можуть бути спільні баги і діри. Ручна синхронізація між ключами, яку треба періодично проводити.

Ну і сучасні ключі вимагають встановлення PIN-коду, декількаразова помилка з PIN «форматує» ключ.

Ще й можливість легко втратити всі дані, якщо просто помилився з тим PIN. А вводити його на очах потенційно небезпечного спостерігача?

Я всі проблеми і витрати перерахував, чи ще є? Хтось вважає це надійним підходом?

Трохи не так.
По цінах — можна купити пару ключів за 25 Євро за пару з недорогою доставкою в Україну Новою поштою (погугліть token2). Пакети до 150 Євро йдуть без мита, 2-3 тижні.
Ключі FIDO2 по архітектурі не синхронізуються, внутрішній приватний ключ «не виймається». Тобто на сервісі потрібно реєструвати кожен ключ. Один можна закопати на городі )
Ключ працює без танців з бубном на практично усіх браузерах. Особисто користуюся USB-ключами далеко понад 10 років, ще з часів U2F (предок FIDO2). Жодних проблем.
До речі, FIDO2 інтегровані у Дельту (не маю до цього стосунку))
newage-invest.com/...​eky-fido-v-systemi-delta
Зараз під руками:
res.cloudinary.com/...​/z0soqogyftzj3hcndvbp.jpg
А старе залізо можете не викидати )

По цінах — можна купити пару ключів за 25 Євро за пару з недорогою доставкою в Україну Новою поштою

Добре, якщо так. Ви перед цим писали про «від 15 євро».

Тобто на сервісі потрібно реєструвати кожен ключ. Один можна закопати на городі )

І кожного разу, як додам ключ до ще одного сайту, треба їхати до городу, викопувати ключ, реєструвати вхід з нього (окрема процедура встановлення, що обидва ключі до одного логіну, в якій теж може бути проблема з секьюріті), закопувати взад, їхати додому. Регулярне закопування-викопування буде підозрилим, і приверне зайву увагу від тих, хто подумає, що там якесь золото, і при своїх розкопках викине незрозумілу «флешку» так, що потім не знайдете, або просто розломає її в пошуках золота. PIN від нерегулярно використаного фізичного ключа буде швидко забутий, або ж його треба буде записати в паперовому записнику (і добре, якщо хоч якось замасковано). В паперовому — тому, що всі електронні засоби ви ж виключаєте на користь тих «токенів»? Або ж залишаєте щось за їх межами?

Мені здається, що сучасний механізм, коли паролі десь у гуглі, а секьюріті базується на тому, що сотовий оператор звʼязаний контрактом на конкретний паспорт, не просто простіший за це все, а ще й реально секьюрніший в середньому :)) якщо саме ви не є мішенню для держави чи якихось силовиків високого рангу. У останньому випадку, звісно, вам ті всі пляски с ключами окупляться.

(Спец з кібербезпеки сказав би тут, що якщо всі будуть з ключами, то ті, кому ключі реально потрібні, не будуть помітні на їх фоні. Згоден, таке трапилось років 10 назад з тотальним приходом HTTPS і LetsEncrypt. Але це інше питання.)

А старе залізо можете не викидати )

Я мав на увазі лаптопи без TPM. Можна і в них постійно втикати ключі як у вас на фото, звісно, але це гімор. Особливо у випадку телефона, з якого теж періодично треба кудись ходити.

Ви перед цим писали про «від 15 євро».

25 Євро за пару (2шт.)/ 2 = 12,5 Євро + витрати на доставку = виходить за один коло 15 Євро (із власного досвіду, замовляв більше).
Пан дуже скурпульозний та має поняття у сільському господарстві )
«Гімори» з використанням USB лікуються їх виламуванням NFC. Щоправда це не має стосунку до теми статті.

Схоже на https handshake.
Саме збираюсь впроваджувати у своєму проекті цю технолоджію. До речі Github теж відносно нещодавно запровадив passkey.
Дуже зручно, нічого не тримаю в голові, а запам’ятовує за мене менеджер паролів що встановлений на ПК з власною зашифрованою базою, здається 128-бітним ключиком, який зберігається офлайн :)
Гарна технолоджія!

Сподіваюсь деякі українські банки долучаться, бо ще досі мають смс та TOTP в якості другого фактору. Це бляха жах... Вони мали б бути найперші. Хоча, ентерпрайз...

За кордоном ряд урядових веб-сервісів для громадян доступні через FIDO2, швейцарський приклад agov.token2.ch
У свій час Гугль усі внутрішні сервіси, у т.ч. роботу з підрядниками, перевів на FIDO2 — це виявилося значно дешевше, аніж управління цифровими підписами.

Свої робітники (в гуглі!) і централізована видача хардварних токенів ≢ пересічний юзер і вимога купляти токени десь на умовній Розетці.

Можливо неуважно прочитали (agov.token2.ch) — у Швейцарії (і не лише) урядові сервіси доступні громадянам із автентифікацією через FIDO2. Тобто умовний швейцарець купує у швейцарській умовній Розетці ключ та й реєструється. Причому цей-же ключ може використовуватися для інших веб-сервісів.

Можливо неуважно прочитали (agov.token2.ch)

Я уважно прочитав. Обовʼязку використовувати ці ключі, на щастя, немає.

Причому цей-же ключ може використовуватися для інших веб-сервісів.

З тими ж проблемами, які я тут описував в сусідніх коментарях.

Я уважно прочитав.

Однак це суперечить Вашим словам вище щодо

Свої робітники (в гуглі!) і централізована видача хардварних токенів ≢ пересічний юзер і вимога купляти токени десь на умовній Розетці.

Використання FIDO2 у більшості випадків опція на розсуд користувача. Обов’язку/вимоги використання ключів до помешкання/авто також немає. У кожного своя параноя ))

Ну ось для ФОП буде (6 місяців після війни) вимога купляти токени для КЕП. А для деяких професій типа нотаріусів — вже багато років. Та ж сама картина — мені не довіряють, що я здатен якісно зберігти файловий ключ на своєму компі, і вимагають окремого девайса. Чому я не маю припустити, що таке ж саме вводитиметься і іншими? А ви активно саме за такі токени аґітуєте.

Використання FIDO2 у більшості випадків опція на розсуд користувача.

«У більшости випадків», ага. А щоб вінду встановити на комп, вже вимагають TPM, який такий же токен, тільки вдубований (вибачте за описку, вирішив її залишити, бо классна).

Я розумію, що це все не 100% аргументи. Але при тому, що так і не доведена принципова перевага таких засобів, а натомість є очевидні недоліки, аґітація за них, особисто на мене, не подіє.

У масового користувача один пристрій, телефон, і його час від часу крадуть. Викрали пристрій — втратив акаунт? Чи відновлення можливе через телефон+смс ?

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

А тепер розповіжте, будь ласка, як секьюрно і, бажано, автоматично копіювати такі ключі в парольний менеджер :))

Створення passkey та збереження в менеджері
youtu.be/JDfx9L4BS60
youtu.be/rA2Ps0JalSk (desktop)

Імпорт паролів з браузера в desktop app
youtu.be/KjZYNJa2-bs

1) Якийсь enpass, який ще треба поставити і якому довіряти. А має вистачати браузера і засобів ОС.
2) Імпорт, я бачу, ручний. Пересічний юзер забуватиме регулярно його робити.

Тобто, якісного методу ви не дали.

Саме так, має бути довіра. Ви ж браузеру довіряєте? Я от не довіряю. Не бачу проблеми в питанні «треба ще поставити». Сьогодні 5-ти річна дитина із цим впорається. Якось браузер ви поставили. Імпорт виконується один раз і забув, це звичайна міграція від браузерного зберігання в інше ПЗ. Знову ж таки, якщо людина розумово не відстала то це не буде суттєвою перепоною. Аби було бажання. А як немає ні довіри ні бажання, то й нема про що говорити.

Саме так, має бути довіра. Ви ж браузеру довіряєте? Я от не довіряю. Не бачу проблеми в питанні «треба ще поставити».

Браузерів 4-5 на планету. Відповідальність за них колоссальна, відповідно, контроль якости дуже високий, люди на виду (ну да, виключаємо Microsoft Edge, бо Microsoft). А якісь ліві софтини, про які перший раз чую... ось їм і не довіряю.

А як немає ні довіри ні бажання, то й нема про що говорити.

Дійсно нема про що говорити. Я краще залишусь з Firefoxʼом, де можу, чи Chrome, де інша ситуація.

Браузерів 4-5 на планету. Відповідальність за них колоссальна, відповідно, контроль якости дуже високий, люди на виду (ну да, виключаємо Microsoft Edge, бо Microsoft).

Вы уверены что у вас установлен именно оригинальный браузер, а не фейковый?

Да, уверен.

как проверяли? «скачали из доверенного источника»? Надеюсь, без смс и регистрации?

Алексей, давайте сократим несколько итераций данной высокосодержательной беседы: вы мне расскажете про вирус Томпсона и что он гарантированно сидит в моей убунте в нескольких копиях, включая, но не ограничиваясь, невидимыми модулями ядра; я спрошу, с какого такого Нибиру вы получили эту информацию, не видя мою систему; вы сошлётесь на третий глаз и хроники SCP; и мы разойдёмся ко всеобщему согласию и благорастворению.

Алексей, давайте

давайте без давайте
я не хуже вас умею болтать и отвечать вопросом на вопрос.
Вам задали простой вопрос: " как вы гарантируете то, что ваше ПО — не фейковое"
Вы начали надувать щочки как типовой красноглазик «у меня убунту! Вы про меня ничо не знаете!».
но в целом я ответ на свой вопрос получил: «Никак»

Вы начали надувать щочки как типовой красноглазик

Винда с родным Edge в этом не отличается, г-н нетиповой красноглазик.

но в целом я ответ на свой вопрос получил: «Никак»

Продолжайте витать в грёзах дальше без меня.

Винда с родным Edge в этом не отличается, г-н нетиповой красноглазик.

Вот и расскажите вкрации — каким образом на винде или убунте гарантируется оригинальность софта (особенно стороннего)
Всем будет интересно послушать.
так что слезайте со своей ымперской лошади и скажите что-то полезное по теме.
Когда вам задают вопрос — велика вероятность что это просто вопрос с целью получить полезную информацию

Вы таки систематически показываете тотальное неумение читать и поддерживать конструктивное обсуждение.

Я не выдвигал тезис абсолютной гарантии оригинальности браузера. Я говорил про бо́льшую гарантию его безопасности, чем левых софтин, которые якобы помогают в хранении ключей.
Вопрос на «оригинальность» конкретно браузера зачем-то перевели вы. Это не по теме исходной статьи. Я мог бы долго рассказывать, что у меня в руте не бегает ничего лишнего, а вероятность пролома в моих условиях настолько низка, что практически считается нулём, в деталях, но я не хочу уходить в эту тему.

Когда вам задают вопрос — велика вероятность что это просто вопрос с целью получить полезную информацию

Ваши предыдущие едкие реплики про «без смс и регистрации» свели эту вероятность к практическому нулю. Если бы вы хотели именно вопрос с целью получить информацию, вы бы формулировали иначе. Опять же, это не 100%, это ≈95%, но я ради этих пяти процентов не хочу тратить время и настроение.

Я не выдвигал
Я говорил

преКрАсно! а я спросил «окей, а как біть с безопасностью браузера, ві уверені в нем»?
Следующим вопросм біл бі «а как насчет безопасности железа», и через какое-то время отсілка к оранж буку, которій считал небезопаснім любой компутер с сетевой картой
Єто назівается «развитие беседі»
но ві предпочитаете скандалить, вместо того чтобі беседовать. тоже вариант, конечно

что у меня в руте не бегает ничего лишнего,

но ві єтого не знаете, т.к. ві не знаете, скомпроментровано ли у вас железо

вероятность пролома в моих условиях настолько низка,

но єтого тоже ві не знаете, т.к. скорее всего ваше железо не нАходится под охраной и ві не проходите регулярній аудит

что практически считается нулём

за последнее время мі имели щастие наблюдать много факапов по секурити, и все — «с нулевой впероятностью»

Ваши предыдущие едкие реплики

Єто не «едкая реплика», єто ві у нас обидчивій
«без смс и регистрации» — устойчивая фраза, которая подразумевает недоверенній источник файлов

но я ради этих пяти процентов не хочу тратить время и настроение.

Ві уже потратили ужасно много времени рассказівая, какой ві нетакусик, вместо того чтобі сразу рассказать о том, о чем вас просят.
чуть поменьше гонора и пафоса, чуть побольше расслабона, и сразу количество людей, которіе вас «обижают неправильно сформулированніми вопросами» значительно сократится.

и через какое-то время отсілка к оранж буку, которій считал небезопаснім любой компутер с сетевой картой

Ну это было ещё одним очевидным и, что критично, неинтересным вариантом развития.

Ві уже потратили ужасно много времени рассказівая, какой ві нетакусик

Подробный рассказ тянул бы на отдельную статью, а я сейчас точно не готов переключаться на её написание. И что у вас с клавиатурой случилось?

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

Я не обиделся. Давно уже не обижаюсь на подобные сетевые дискуссии:)

я сейчас точно не готов переключаться на её написание. И что у вас с клавиатурой случилось?

Вы неготовы переключаться, я не готов переключаться. какие то вопросы? :)

Я не обиделся

Да? а по вам и не скажешь.

Проблема в тому, що passkey не скасовує man in the middle attack. Окрім ідентичної копії сайту досить легко зробити і ідентичний домен (і навіть проверіфаїти його ssl сертифікат) у мережі де відбувається ця атака. І з такими умовами можна отримати ті самі наслідки як і з паролем і 2FA.
Замість RP ID було б краще зберігати унікальний публічний ключ сайту створений для конкретного passkey. Тобто мати двостороннє асинхронне шифрування (і навіть це не стеля можливостей).
Вищевказаним чином, наприклад, відбувається аутентифікація у WireGuard і IPsec

А як в глобальній мережі можна підробити ідентичний домен? Це реально, чи я не так розумію вашу ідею з підміною? І взагалі як можна проверіфаїти сертифікат не маючи оригінального приватного ключа? Щось штибу підкласти власний згенерований сертифікат в локальній мережі чи як? Чи це якось на рівні софту робиться? Щось я собі не уявляю таку схему :)

Адреса домену підмінюється через DNS на шлюзі.
Далі при виході на будь-який сайт показується плашка «для вашої безпеки встановіть наш кореневий сертифікат» з простою понятною інструкцією. Велика частка юзерів так зробить. Нещодавно було, що цілі країни вимагали такого при доступі до ресурсів ззовні країни.

Окрім ідентичної копії сайту досить легко зробити і ідентичний домен (і навіть проверіфаїти його ssl сертифікат) у мережі де відбувається ця атака.

Ось це вже сумнівно. Якщо на сам пристрій ніхто поганий не вліз, то список довірених кореневих сертифікатів не буде розширений лівим записом, а тоді аутентификація сайту при https зʼєднанні пройде тільки для справжнього сайту. (Випадок скомпрометованого кореня не вважаю реальним.) А якщо це, наприклад, корпоративний компʼютер під корпоративною доменною політикою, то там всі питання до адміна домена.

Нормально, початковий доступ https верифікує сторону сайта, а сайт вже через ключ — юзера. В цьому проблем немає. Аналог для ssh у вигляді authorized_keys існує з середини 1990-х. Проблема технології саме в сховищі на стороні клієнта, воно може бути знищене або загублене, може бути вкрадене з відкриттям пристрою...

Ну, тут вже сорі. Жодна система захисту не переможе тупого і неуважного юзера.

А він описував проблему ніяк в неуважности юзера (точніше, при стандартному рівні уважности). Це вже за межами нормальних вимог до юзера — перевіряти ланцюг сертифікатів, дивитись в якийсь там certificate transparency log на відповідних сайтах, перевіряти локальний список довірених коренів (чи кілька їх), часто в неочікуваних місцях (скільки їх в Windows?)
Навіть дивитись на предмет замку чи галочки секьюріті в адресному рядку браузера — це для багатьох забагато. Всі ці речі мають контролюватись ОС і браузером.

Я — про це:

ідентичний домен (і навіть проверіфаїти його ssl сертифікат) у мережі де відбувається ця атака

щоб ssl-серт став «справжнім» і довіреним, треба, щоб вже сам клієнт в якийсь момент дозволив руцями додати в свою систему root CA атакуючого. Від цього захисту я не бачу, якщо комп — персональний і не керується централізованими корп-політиками.

Спробуємо змоделювати використання «клона» домену із візуально ідентичною копією сайту, якщо оригінальний сайт має другим фактором FIDO2:
— користувач на фейковому сайті ввів обліковий запис та пароль, зловмисник його перехопив
— на оригінальному сайт це дозволить зловмиснику одержати лише запит на підтвердження ключа, підписаний відкритим ключем FIDO2 користувача, що зберігається у базі оригінального сайту
Тобто при такій двоетапності потрібно реалізувати безпосередню взаємодію фейкового сайту із основним, для транзитного «прокидання» туди користувача/паролю та пізніше повернення запиту на FIDO2 і т.д.

Зайшов подивитись на цей флагман сесуріті. Опції 2FA/MFA нема, як і раніше, коли дивився на нього. Опцію з passkey можна скіпнути. ок

Фортеця Jacksonville доповідає....

То я біля фортеці Кримське на луганщині в 2015. І загалом в компанії працює декілька ветеранів, а також частина працівників в 22 році доєдналась до Сил Оборони за своєю спеціальністю. Приїжджайте якось в наш R&D HQ у фортеці Львів і ми вам проведемо екскурсію, а також фоточки різні інтєрєсні покажемо.

Підписатись на коментарі