Před čím vás ochrání bezpečnostní klíč?

Autor: Standa / IuRe

Do českých obchodů se pomalu dostávají malá elektronická zařízení, na pohled podobná flash disku, nabízející ochranu pro vaše online účty. Modely jako YubiKey, Yubico Security Key nebo Google Titan se dají pořídit v cenové relaci zhruba 700 až 2700 Kč. Zatím tato zařízení nemají ustálený český název, a tak se jim říká různě: bezpečnostní klíče, hardwarové klíče, tokeny, autentizační zařízení. Pro jednoduchost jim v tomto článku budu říkat prostě klíče. Pokusím se vysvětlit, k čemu jsou dobré a jak to souvisí s digitálními svobodami.

Vícefaktorová autentizace

Abyste se ke svým online účtům dostali jen vy, a ne nějaký neřád, musíte se něčím prokázat neboli autentizovat. Tím může být jeden nebo více autentizačních faktorů, které se řadí do tří základních kategorií:

  1. Něco, co znám (heslo, PIN).
  2. Něco, co mám (klíč, mobil, počítač).
  3. Něco, čím jsem (biometrické vlastnosti jako obličej nebo otisk prstu).

Praxe ukazuje, že autentizace heslem, kterou asi používáte u většiny online účtů, zkrátka není dost bezpečná. Jakmile se nějaký neřád dozví vaše heslo, může si s vaším účtem dělat, co chce. Proto online služby zavádějí možnost (a někdy i povinnost) přidat si k heslu další faktor.

Jednorázové SMS kódy

Možná už je znáte: Na mobil vám přijde SMS s kódem, který opíšete. Tak se ověří, že máte po ruce svůj mobil (se svou SIM kartou), což je „něco, co mám.“

Tento poměrně jednoduchý a často používaný „druhý faktor“ má ale spoustu problémů.

Za prvé není až tak bezpečný. Neřád, který už zná vaše heslo, se může dostat i k jednorázovému kódu, a to hned několika způsoby:

  • Může vás nalákat k instalaci nekalé appky, která bude chtít přístup k SMS a neřádovi je přepošle.
  • Může vás nalákat na falešnou přihlašovací stránku, která je k nerozeznání od té opravdové až na adresu.
  • Může přesvědčit operátora, aby vaše SMS přesměroval na neřádův telefon, pomocí triku jménem SIM swap nebo pomocí špatně hlídaných komerčních služeb na přesměrování SMS.

Za druhé jsou SMS kódy omezující, protože musíte mít po ruce nabitý, zapnutý a funkční mobil pokrytý signálem. Nesmíte si ho rozbít. Nesmí vám ho zabavit žárlivý partner v domácnosti. Nemůžete si udělat večer sami pro sebe a vypnout telefon. A u některých online služeb dokonce musíte mít jednu ze schválených národních předvoleb, aby vám SMS přišla.

Za třetí se vzdáváte části svého soukromí:

  • Vaše telefonní číslo není jen k tomu, aby vás někdo mohl kontaktovat. Je to globální identifikátor, který je pro sběrače osobních údajů možná cennější než vaše rodné číslo. Můžou na něj nabalit další informace, se kterými se pak budou snažit předvídat vaše chování a navrhovat vám obsah, jako to dělal Facebook, než se na to přišlo (a ještě nějakou dobu potom).
  • Data o vašem telefonu sbírá i stát. V Česku platí data retention a nařizuje ukládat záznamy, ze kterých se dá zjistit, kdo vám kdy poslal SMS a kde jste se při tom zrovna nacházeli. Takové záznamy se uchovávají 6 měsíců a můžou se používat při vyšetřování trestné činnosti.

Potvrzení v appce

Jiný způsob ověření využívá mobilní aplikaci a připojení k Internetu.

Typicky se při pokusu o přihlášení pošle push notifikace do appky, kde můžete přihlášení schválit nebo zamítnout. Tak to obvykle řeší bankovní aplikace.

Jinde může počítač zobrazit QR kód, který je pak potřeba naskenovat mobilem. Tak funguje Mobilní klíč eGovernmentu coby jedna z možností, jak se přihlásit k českému očkovacímu portálu.

Pokud je potřeba vyšší bezpečnost, může vás telefon požádat o odemčení PINem, obličejem nebo otiskem prstu, případně může být samotná appka chráněna nějakým heslem.

Je to pohodlnější a bezpečnější než SMS. Není potřeba opisovat žádné kódy, a tím pádem je ani nemůžete zadat na žádnou falešnou stránku. Appka se může připojit k Internetu přes mobilní data nebo přes Wi-Fi a nepotřebuje znát vaše telefonní číslo.

Ale jak možná tušíte, je to ještě víc omezující než SMS. Opět musíte mít mobil, který je nabitý, zapnutý a funkční, ale tentokrát to navíc musí být smartphone, a to pravděpodobně s nějakou novější verzí Androidu nebo iOS, aby vám na něm appka fungovala. Pro push notifikace na Androidu bývají navíc potřeba služby Google Play. Samotná appka taky nemusí být zrovna důvěryhodná, a tak nevíte, jestli vás nebude šmírovat, když si ji nainstalujete.

Časově proměnlivé kódy

Méně často se dá setkat s online službou, která umožňuje použití časově proměnlivých kódů (TOTP). Ty na rozdíl od SMS fungují úplně offline. Dřív se ke generování takových kódů používaly malé hardwarové tokeny s baterií a displejem; dnes se častěji používají softwarové generátory. Všechny fungují stejným způsobem, takže si můžete vybrat takovou aplikaci, která je důvěryhodná a nešmíruje, například FreeOTP pro Android a iOS.

Nevýhodou je trochu složitější používání a nutnost opisování kódů. Na falešné přihlašovací stránky si musíte dávat pozor sami.

Taky to bohužel není použitelné pro internetové platby. Tam se vyžaduje, abyste si mohli před opsáním kódu ověřit, kolik peněz posíláte komu, ale TOTP generátor takové informace nemá.

Bezpečnostní klíč

Nedostatky vícefaktorových autentizačních metod, které jsem doteď popisoval, vedly ke vzniku standardů pro bezpečnostní klíče.

Jsou to malá zařízení, která se dají nosit na klíčence nebo v peněžence a fungují bez baterie i bez signálu. Nemusíte mít strach ze sledování své polohy jako u SMS ani o svoje kontakty jako u pochybných appek. Klíč nemůže komunikovat s ničím jiným než se zařízením, ke kterému ho připojíte. Potom dovede na požádání předat webovému prohlížeči dlouhý a bezpečný kód (přesněji řečeno elektronický podpis), kterým jasně dokáže, že daný klíč máte u sebe vy a nikdo jiný.

S moderním standardem U2F nebo ještě novějším FIDO2 dokáže klíč odlišit jednu webovou stránku od druhé a podle toho pozměnit kódy. Proto i kdyby vás neřád nalákal na falešnou stránku a získal kód z vašeho klíče, nebude ho moct použít na žádné jiné stránce než na té své falešné. Dokonce podle samotného klíče ani nepozná, kdo jste. Jeden klíč si tím pádem můžete klidně zaregistrovat u několika různých účtů, aniž by šlo poznat, že jde o jeden a ten samý klíč. (Pozor, to nemusí platit u jiných protokolů. Například starší Yubico OTP posílá sériové číslo klíče.)

Tak může bezpečnostní klíč chránit bezpečnost vašich online účtů a zároveň chrání i vaše soukromí víc než ostatní způsoby vícefaktorové autentizace.

Jak použít klíč?

Ještě než si pořídíte bezpečnostní klíč, zjistěte si u zařízení, ze kterých se chcete přihlašovat, jaké mají porty (USB-A, USB-C, Lightning) nebo jestli podporují bezkontaktní spojení přes NFC. Podle toho si pak vyberete model klíče. Zkontrolujte, že klíč podporuje protokol U2F nebo FIDO2.

Potom můžete otevřít webový prohlížeč, přihlásit se k některému ze svých online účtů a začít procházet jeho nastavení bezpečnosti. Doporučuji začít u správců hesel, e-mailu, bankovnictví, sociálních sítí a služeb pro ukládání souborů. Zkuste v nastavení najít možnost připojení bezpečnostního klíče pro vícefaktorovou autentizaci. Pokud ji najdete, můžete si k účtu připojit svůj klíč a začít ho používat pro budoucí přihlášení.

Když je čas klíč použít, měl by vám webový prohlížeč říct, co se právě děje: Jestli si zrovna připojujete nový klíč k účtu, přihlašujete se, potvrzujete platbu a podobně. Pokud všechno souhlasí, akci potvrdíte přiložením klíče k NFC snímači nebo stisknutím tlačítka na klíči.

Záložní přístup

Může se stát, že klíč ztratíte nebo vám přestane fungovat. Abyste pak nezůstali úplně odstřihnutí od svého účtu, doporučuji využít záložní přístupy, které by vám každá služba s vícefaktorovou autentizací měla nabídnout. Měli byste mít u každého účtu nastavené aspoň dva způsoby přístupu.

Pokud máte dva bezpečnostní klíče, můžete si k účtu připojit jeden pro každodenní používání a druhý jako záložní.

Pokud máte jen jeden klíč, je obvykle možné nechat si vygenerovat sadu náhradních kódů, které si můžete vytisknout nebo opsat na papír.

Podpora

Standardy pro bezpečnostní klíče vznikly poměrně nedávno (U2F v roce 2014, FIDO2 WebAuthn v roce 2019). Řada velkých online služeb je podporuje už dnes a dá se čekat, že takových služeb bude víc a víc.

Svůj bezpečnostní klíč můžete použít jako druhý faktor například k zabezpečení účtu správce hesel 1Password, Dashlane nebo NordPass. Stejnou podporu mají i technologičtí giganti Facebook, Google, Microsoft a Twitter.

Osobně bych si přál, aby podporu co nejdřív přidaly i české banky a státní portály (elektronická identita, očkovací portál), které se zatím spoléhají na nepříliš bezpečné SMSky nebo na vnucované appky.

Budoucnost bez hesel

Nejnovější klíče s protokolem FIDO2 mají ještě jednu zajímavou vychytávku: Umí ověřit, že je používá jejich právoplatný majitel, a ne třeba nějaký zloděj. K tomu je nejdřív potřeba nastavit otisk prstu, pokud jde o bezpečnostní klíč se čtečkou otisků, a nebo PIN, který se doporučuje šestimístný.

Takový klíč už je pak sám o sobě dvoufaktorový, a tím pádem dost bezpečný na to, aby už nebylo potřeba heslo k samotnému účtu!

Na webu se zatím dá přihlásit bez hesla většinou jen přes účet u Facebooku nebo u Googlu, což není ideální, protože pak tyhle firmy můžou sledovat, kam se přihlašujete. Jen malá hrstka služeb dovoluje přihlášení bez hesla pomocí FIDO2. Doufám, že takových služeb časem bude víc. Pokud nemáte rádi hesla ani šmírující giganty, snad se mnou budete souhlasit.

Co dál?

Podle mého názoru by měly být bezpečnostní klíče podporovány na co nejvíc místech, aspoň jako alternativa.

Pokud si to myslíte taky, zkuste příště zpozornět, až po vás někdo bude chtít telefonní číslo kvůli vícefaktorové autentizaci. Nabízí i nějaké alternativy? Pokud ne, proč? Vědí, že SMS kódy nejsou bezpečné a že existuje lepší možnost? Pokud ne, můžete je odkázat na tento článek.

A pokud si můžete dovolit pořídit jeden nebo dva klíče, je to podle mého názoru rozumná investice.