Модул 2 · 2.4
Passkeys и ключове за сигурност
Модул 2: Пароли и вход в системата · Време за четене: 10 минути
Учебна цел: След този урок ще можете да обясните защо passkeys и ключовете за сигурност са устойчиви на фишинг, да посочите разликата между синхронизирани и обвързани с устройство passkeys и да определите кога да ги използвате.
Основни понятия: passkey, FIDO2, WebAuthn, публичен и частен ключ, обвързан с домейна, ключ за сигурност, синхронизиран passkey, обвързан с устройство passkey
Проблемът с всичко, което преписвате
В урок 2.3 видяхте, че код от приложение или sms не предпазва от добре направен фалшив сайт. Вие въвеждате кода на rnijnbank.example, измамникът го препраща за секунди към mijnbank.example и влиза в акаунта. Слабото място винаги е едно и също: Вие трябва да прецените дали сте на истинския сайт. Човек, който бърза или вижда убедителна страница, рано или късно допуска тази грешка.
Passkeys и ключовете за сигурност отнемат това решение от Вас. Не Вие проверявате адреса, а Вашият браузър и Вашето устройство. И няма нищо за преписване или препращане.
Какво е passkey
Passkey е средство за вход, което заменя паролата. FIDO Alliance, организацията зад стандарта, го описва като замяна на паролата, която отключвате по същия начин, както отключвате устройството си: с отпечатък, лице или ПИН код.
Технически passkey е двойка ключове:
- частен ключ, който остава на Вашето устройство (или във Вашия мениджър на пароли, вижте по-долу) и никога не отива към уебсайта;
- публичен ключ, който уебсайтът съхранява.
Онова, което е подписано с частния ключ, уебсайтът може да провери с публичния ключ. Но с публичния ключ самите Вие не можете да подпишете нищо. Ако базата данни на уебсайта изтече, нападателят разполага само с публични ключове, с които не може да влезе в акаунтите. Следователно няма какво да се разбие с груба сила, както при изтеклите пароли от урок 2.1.
Технологията се нарича FIDO2. Частта, вградена във Вашия браузър, е WebAuthn, стандарт на W3C (консорциумът, който създава уеб стандартите). Частта между компютъра Ви и отделен ключ за сигурност се нарича CTAP.
Как протича влизането
- На
mijnbank.exampleизбирате „Вход с passkey“. - Уебсайтът изпраща случайна предизвикателна стойност: число, използвано само веднъж.
- Вашият браузър предава тази стойност на Вашето устройство, заедно с домейна, на който се намирате.
- Вашето устройство Ви иска да отключите: отпечатък, лице или ПИН код. Тази проверка се извършва на Вашето устройство. Отпечатъкът Ви никога не отива към уебсайта; уебсайтът получава само информация, че проверката е успешна.
- Вашето устройство подписва предизвикателната стойност с частния ключ, свързан с
mijnbank.example. - Уебсайтът проверява подписа с Вашия публичен ключ. Ако съвпада, Вие влизате.
Защо passkey не работи на фалшив сайт
При създаването си passkey се обвързва с домейна на уебсайта. В WebAuthn това се нарича Relying Party ID: passkey принадлежи на mijnbank.example (и евентуално неговите поддомейни) и на нищо друго. Браузърът определя кой домейн се посочва в заявката, не уебсайтът. Фалшив сайт не може да фалшифицира това.
Ако попаднете чрез фишинг имейл на https://rnijnbank.example или https://mijnbank.example.inlog-check.example, се случва следното:
- Фалшивият сайт изисква passkey.
- Вашият браузър търси passkey за този домейн. Такъв не съществува.
- Получавате съобщение като „няма passkey за този сайт“ или празен списък за избор.
Няма нищо, което можете случайно да одобрите или да препишете. Дори и Вие да не забележите фалшивия сайт, passkey там просто не работи. Това имаме предвид под устойчивост на фишинг. NIST също го посочва: устойчивостта на фишинг изисква криптографска автентикация; пароли, кодове, които се преписват, и съобщения за одобрение не отговарят на това изискване.
Ако на сайт, на който винаги влизате с passkey, изведнъж виждате само поле за парола или искане да „въведете код от приложението“, това е предупредителен знак. Проверете адреса.
Синхронизиран или обвързан с устройство
Съществуват два вида passkeys. Разликата е в това къде се намира частният ключ.
| Синхронизиран passkey | Обвързан с устройство passkey | |
|---|---|---|
| Къде се намира частният ключ? | У доставчик на passkey: ключодържателя на Вашата операционна система или Вашия мениджър на пароли, който го копира криптирано към другите Ви устройства | На едно устройство, например ключ за сигурност, и не може да напусне това устройство |
| Нов телефон? | Passkey се пренася, когато влезете в акаунта си при доставчика | Трябва да създадете нов passkey на новото устройство |
| Изгубено устройство? | Няма проблем, докато акаунтът Ви при доставчика е защитен | Без резервен ключ оставате извън акаунта |
| Слабо място | Акаунтът при доставчика: който влезе там, получава достъп до всички Ваши passkeys | Загуба; необходим е резервен ключ |
| Подходящ за | Почти всички обикновени акаунти | Администраторски акаунти, хостинг, регистрация на домейн, банка, самия акаунт при доставчика |
В стандарта WebAuthn синхронизиран passkey се нарича „multi-device credential“. FIDO Alliance посочва обвързаните с устройство passkeys на ключ за сигурност като формата с най-висока степен на сигурност и препоръчва ключ за сигурност и като средство за възстановяване, ако загубите достъп до синхронизираните си устройства.
Ако използвате синхронизирани passkeys, защитете акаунта при доставчика допълнително добре: силна парола, двуфакторно удостоверяване, а в идеалния случай и собствен ключ за сигурност.
Ключове за сигурност
Ключ за сигурност е малко устройство, което поставяте в USB порт или доближавате до телефона си (NFC). На него са записани обвързани с устройството passkeys. Влизането става чрез докосване на ключа, често с ПИН код на самия ключ или отпечатък върху него.
Съществуват няколко производителя; при избора обърнете внимание на поддръжката на FIDO2, нужния Ви тип връзка (USB-A, USB-C, NFC) и дали поддържа ПИН код или отпечатък.
Най-важното правило: регистрирайте винаги поне два ключа. Вторият е Вашият резервен ключ. Свързвате го с всяка услуга, точно както първия, и го съхранявате на друго място, например вкъщи в чекмедже или в сейф. Ако изгубите ежедневния си ключ, влизате с резервния, премахвате изгубения ключ от акаунтите си и купувате нов втори ключ. Ключ не може да се копира; това е целенасочено.
Влизане на друг компютър
Искате да влезете на лаптоп, но Вашият passkey е на телефона Ви. В такъв случай браузърът често предлага да покаже QR код. Сканирате го с телефона си и отключвате там. FIDO Alliance нарича това cross-device authentication. Телефонът проверява чрез Bluetooth дали действително се намира в близост до лаптопа. Така някой, който разполага само със снимка на QR кода, не може да влезе отдалечено с нея.
Клопки и кога да ги използвате
Passkeys са голяма крачка напред, но не са магия:
- Паролата често продължава да съществува. Много услуги позволяват вход и с парола плюс код, успоредно с passkey. Измамник ще опита точно този път. Ако е възможно, изключете старите начини за вход или направете паролата дълга и уникална.
- Възстановяването е най-слабото звено. Ако някой може да заобиколи Вашия passkey чрез имейл за „забравена парола“ или обаждане до поддръжката, акаунтът Ви е толкова сигурен, колкото и този път за възстановяване. Проверете какви данни за възстановяване са записани (урок 2.5).
- Не всяка услуга го поддържа. В такъв случай използвайте приложение за удостоверяване (authenticator).
- Споделените акаунти се съчетават лошо с passkeys на едно лично устройство. По-добре дайте на всеки собствен акаунт със собствен passkey (модул 7).
- Отключено устройство е отворена врата. Защитете телефона и лаптопа си с добро заключване на екрана (модул 5).
Откъде да започнете? От акаунтите с най-големи щети при превземане: Вашата поща, Вашият мениджър на пароли или доставчик на passkey, хостинг и регистрация на домейн, банка и счетоводство. Ако някоя от тези услуги предлага passkeys или ключове за сигурност, активирайте го там първо.
Обобщение
- Passkey е двойка ключове: частният ключ остава у Вас, уебсайтът разполага само с публичния ключ. Теч при уебсайта не предоставя нищо за разбиване.
- Браузърът обвързва passkey с истинския домейн. На фалшив сайт няма passkey, следователно няма какво да се открадне или одобри.
- Синхронизираните passkeys се пренасят към другите Ви устройства; обвързаните с устройство passkeys (ключ за сигурност) остават на едно устройство.
- Регистрирайте винаги резервен ключ и го съхранявайте на друго място.
- Passkey е толкова сигурен, колкото пътят за възстановяване и старите начини за вход, които все още са активни.
Тест (quiz)
Задача
Задача D2.4: Вашият първи passkey или ключ за сигурност. Проучете кои от най-важните Ви акаунти поддържат passkeys или ключове за сигурност, настройте поне един от тях и уредете резервен вариант. Отметнете списъка за проверка и отговорете на въпросите за размисъл.
Задача D2.4: Вашият първи passkey или ключ за сигурност
Ето как да подходите: (1) Проверете при най-важните си акаунти (поща, мениджър на пароли или доставчик на passkey, хостинг, регистрация на домейн, банка, счетоводство) в настройките за сигурност дали поддържат passkeys или ключове за сигурност. (2) Изберете за всеки акаунт: синхронизиран passkey (във Вашата операционна система или мениджър на пароли) или свързан с устройство (ключ за сигурност). За управление на хостинг, домейни и Вашия доставчик на passkey е по-добре ключ за сигурност. (3) Настройте passkey или ключ за поне един акаунт. (4) Осигурете резерва: втори регистриран ключ, съхраняван на друго място, или при синхронизиран passkey, второ устройство и добра защита на акаунта Ви при доставчика. (5) Проверете дали старият начин за влизане (парола с sms или код) все още е включен. Изключете го, ако е възможно, или направете паролата дълга и уникална. (6) Тествайте веднъж влизането на второ устройство (например с QR кода и телефона си).
Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.
За допълнително четене
- FIDO Alliance, Passkeys (на английски): https://fidoalliance.org/passkeys/
- W3C, Web Authentication Level 3 (на английски, самият стандарт): https://www.w3.org/TR/webauthn-3/
- passkeys.dev, Terms (на английски, речник на понятия от членове на FIDO Alliance и W3C): https://passkeys.dev/docs/reference/terms/
- NIST SP 800-63B-4, раздел за устойчивост на фишинг и синхронизируеми автентикатори (на английски): https://pages.nist.gov/800-63-4/sp800-63b.html
- Нидерландският NCSC, Как да изберете метод за MFA (на нидерландски): https://www.ncsc.nl/multifactor-authenticatie/hoe-kies-je-een-mfa-methode
