Я вірю у паролі, користуюся менеджерами паролів і дуже не люблю двохфакторну аутентифікацію. Також я не користуюся апаратними ключами на основних акаунтах.
Втім, деінде я змушений користуватися двухфакторкою. Просто обставини бувають різні, акаунти дуже різні (особисті та робочі) і правила деяких сервісів явним чином вимагають 2FA.
Так от.
У мене нема жодного красивого-моднього-хіпстерського ключа YubiKey, але сьогодні раптом чомусь стало цікаво дізнатися, як же ця хулєра працює.
Що таке, по суті, апаратний ключ? Маленька штучка з роз’ємом USB, схожа на флешку, і на ній мікроконтролер зі специфічною прошивкою. Нагадує всі мої devboard’и :) І стало мені цікаво, чи можна зробити апаратний ключ з якоїсь моєї Raspberry Pi Pico.
Загуглив. Можна. Вже існує проект Pico Keys, вільний та відкритий. Це готові для використання прошивки, які дають можливість (серед всього іншого) перетворити більш-менш всяку плату з мікроконтролером RP2040, RP2350 або ESP32-S3 на апаратний ключ FIDO2.
Воно у мене трошки глючило, бо я після завантаження прошивки не міг ініціалізувати ключ коректним чином. Баг вже відомий, виправлення скоро опублікують, а поки що я завдяки коментарям десь там на Github зміг вдало скористатися попередньою версією інструмента ініціалізації.
Коротше кажучи, моя плата Waveshare RP2040-Zero (точніше, її китайський клон) зараз красиво блимає світлодіодом і реагує на натискання кнопки BOOTSEL, зовсім як справжній комерційний апаратний ключ FIDO2.
Можна з таким ключем погратися на платформі для демонстрації механізму роботи WebAuthn.
Можна налаштувати, наприклад, вхід в акаунт Google через цей апаратний ключ. Я налаштував. Воно працює. Дідько, це круто!
Все рівно я не планую відмовлятися від використання паролів на своїх основних акаунтах. Але ситуації бувають різні, акаунти бувають різні, тож можливо, що деінде апаратні ключі будуть цілком доречні.
Такі от справи.