- ledna 2024 oznámil oficiální účet na síti X americké Komise pro cenné papíry a burzy (SEC), tedy regulátora finančních trhů, schválení bitcoinových ETF, tedy rozhodnutí, na které trh čekal měsíce. Během několika minut bitcoin získal více než 1 000 dolarů na jednotce. Pak to SEC popřela: účet byl napadený. Kurz spadl o více než 2 000 dolarů.
Poučné na tom případu není rozsah pohybu na trhu, ale banalita použitého prostředku. Podle tiskové zprávy amerického ministerstva spravedlnosti si šestadvacetiletý Eric Council Jr. vytiskl falešný doklad totožnosti na přenosné tiskárně karet, přišel do prodejny AT&T a přesvědčil zaměstnance, aby telefonní číslo spojené s účtem převedl na SIM kartu, kterou ovládal. SMS zprávou pak obdržel kódy pro obnovení hesla a předal je svým komplicům. 16. května 2025 byl odsouzen ke 14 měsícům vězení.
Je nutné jedno upřesnění, které mění čtení případu, aniž by oslabilo jeho poučení. Podle oficiálního prohlášení SEC bylo vícefaktorové ověření na tomto účtu vypnuto v červenci 2023, a to na žádost samotného týmu. SMS tedy v době činu nesloužila jako druhý faktor, ale jako kanál pro obnovu přístupu. A právě to činí příklad užitečným: ať už jde o druhý faktor, nebo o zadní vrátka, telefonní číslo zůstává místem, kde řetěz povolí.
Co má druhý faktor zaručit
Princip se vejde do jedné věty. Samotné heslo je něco, co víte; přidává se k němu něco, co máte (telefon, fyzický klíč) nebo něco, čím jste (otisk prstu). Kdo vám ukradne heslo z úniku dat, ještě tím nedisponuje vaším fyzickým předmětem.
Úvaha stojí na zřídka vyslovovaném předpokladu: že druhý faktor je skutečně vázán na předmět ve vašem držení a že jeho předložení něco dokazuje o tom, kde se právě přihlašujete. SMS selhává v obou bodech.
SMS není faktor vlastnictví
Přijetí kódu SMS zprávou nedokazuje, že vlastníte zařízení, ale že telefonní číslo, přidělené operátorem a tímtéž operátorem měnitelné, ukazuje na nějaký přístroj. To není totéž. Tento rozdíl využívají tři vektory a neopravují se stejným způsobem.
SIM swapping
To je útok z případu SEC a nestojí na žádné technické chybě. Útočník shromáždí osobní údaje o cíli, často už dostupné z veřejných úniků, a pak kontaktuje operátora s tím, že je danou osobou: ztracený telefon, prosím o převod čísla na novou SIM. Pokud je přesvědčivý, nebo pokud spolupracuje některý zaměstnanec, číslo změní majitele a všechny SMS chodí jemu. Výroční zpráva IC3 za rok 2024, centra pro hlášení FBI, eviduje jen za tento rok 982 hlášení o SIM swappingu a téměř 26 milionů dolarů deklarovaných ztrát, přičemž počítá pouze oběti, které podaly oznámení. Žádná aktualizace softwaru tento vektor neopraví: nemíří na software, míří na lidský obchodní proces.
Odposlech přes SS7
Signaling System 7 je protokol, díky němuž spolu telefonní sítě po celém světě komunikují: směrují hovor, obsluhují roaming, doručí SMS od jednoho operátora druhému. Byl navržen v roce 1975, kdy byl klub operátorů uzavřený, nepočetný a každý považoval ostatní ze své podstaty za důvěryhodné. Neobsahuje proto žádnou nativní autentizaci mezi sítěmi: požadavek, který vypadá legitimně, je jako legitimní vyřízen.
Není to teoretická slabina. V prosinci 2014 ji němečtí výzkumníci Tobias Engel a Karsten Nohl veřejně předvedli na Chaos Communication Congress: lokalizace účastníka a odposlech jeho SMS pouze na základě telefonního čísla. V roce 2017 bylo potvrzeno reálné zneužití: německý operátor O2-Telefónica přiznal, že několika zákazníkům byly vybílené bankovní účty poté, co útočníci získali přístup do sítě zahraničního operátora a nastavili přesměrování SMS, aby zachytili bankovní potvrzovací kódy.
Phishing v reálném čase
Třetí vektor je nejdůležitější, protože nezávisí na žádné telekomunikační chybě a přežije vše, co by se v předchozích dvou opravilo.
Falešná stránka dokonale napodobí přihlašovací stránku služby. Zadáte tam uživatelské jméno a heslo, které falešná stránka okamžitě přepošle té pravé, a ta odešle SMS na váš telefon. SMS vám skutečně dorazí a je pravá. Kód zadáte na falešné stránce, která jej během několika sekund přepošle dál. Relace se otevře a drží ji útočník.
Říká se tomu útok adversary-in-the-middle. Je zprůmyslněný: nástroje jako Evilginx, reverzní proxy, která se objevila v roce 2017, nebo sady prodávané v měsíčním předplatném, jej zpřístupňují bez jakýchkoli zvláštních dovedností. Ostatně to, co je ukradeno, není jen kód, ale session cookie, díky které lze zůstat přihlášen, aniž by bylo nutné znovu projít jakýmkoli ověřením.
Jde o věc architektury. Kód odeslaný SMS zprávou neobsahuje žádnou informaci o stránce, která jej vyžádala. Nemůže tedy odlišit pravou od falešné: je platný všude, kam jej zadáte.
Tohle už není názor, tohle je oficiální stanovisko
Nejsilnější argument proti SMS nepřichází od dodavatelů řešení, ale od institucí, které píší standardy.
V červenci 2025 vydal americký NIST finální verzi SP 800-63B-4, Digital Identity Guidelines: Authentication and Authenticator Management. Text vytváří výslovnou kategorii omezených autentizátorů, vyhrazenou mechanismům, jejichž schopnost odolávat útokům se s vývojem hrozeb zhoršila. Oddíl 3.1.3.3 tam řadí využití veřejné telefonní sítě, tedy kódy zasílané SMS zprávou nebo hlasovým hovorem: „Use of the PSTN for out-of-band verification is restricted as described in this section and SHALL satisfy the requirements of Sec. 3.2.9." Konkrétně to znamená, že služba, která jej stále používá, musí nabídnout neomezenou alternativu, informovat uživatele o riziku a mít migrační plán.
V prosinci 2024 vydala CISA, americká agentura pro kybernetickou bezpečnost, svůj dokument Mobile Communications Best Practice Guidance, a to po špionážní kampani Salt Typhoon, při níž aktéři napojení na čínský stát pronikli do několika amerických telekomunikačních operátorů. Formulace nenechává prostor pro výklad: „Do not use SMS as a second factor for authentication. SMS messages are not encrypted", a dále bez obalu: „Only FIDO authentication is phishing-resistant." Dokument výslovně doporučuje hardwarové klíče FIDO, jmenovitě Yubico a Google Titan, a upřesňuje, že po zapnutí FIDO je nutné SMS vypnout, jinak zůstává jako zneužitelná záložní cesta.
Autentizační aplikace: skutečný pokrok, ale jen částečné řešení
Aplikace typu TOTP, tedy Time-based One-Time Password, generují šestimístný kód, který se mění každých třicet sekund a počítá se lokálně ze sdíleného tajemství z aktivace a z aktuálního času. Telefonní sítí neprochází nic.
Zisk je okamžitý: SIM swapping ztrácí účinek, protože číslo už nehraje roli, a odposlech přes SS7 také, protože se nepřenáší žádná zpráva. Přechod na autentizační aplikaci se vyplatí u každého účtu, který nemůže jít dál.
Třetí vektor však zůstává nedotčen. Kód TOTP zadaný na falešné stránce se přepošle na pravou přesně stejně jako kód z SMS. Aplikace neví, kde se přihlašujete: zobrazí číslo, a to číslo je platné u kohokoli, kdo je předloží ve svém třicetisekundovém okně. CISA to říká stejnými slovy: kódy z autentizační aplikace jsou lepší než SMS, ale zůstávají zranitelné vůči phishingu.
TOTP je poctivý mezistupeň, nikoli cíl.
Proč klíč FIDO2 mění povahu problému
Hardwarový klíč FIDO2/WebAuthn se nespokojí s tím, že útok ztíží, on mu odebírá mechanickou možnost.
Při registraci u služby klíč vygeneruje kryptografický pár klíčů určený právě této službě. Veřejná část putuje ke službě, soukromá nikdy neopustí čip a nelze ji ani exportovat, ani přečíst. Žádné sdílené tajemství, které by šlo zkopírovat, žádný šestimístný kód k odchycení.
Pak přichází rozhodující mechanismus, vazba na origin. Při přihlášení předá prohlížeč klíči skutečný název domény zobrazené stránky. Tato informace je součástí podepisovaných dat a prohlížeč ji vynucuje: JavaScript stránky ji nemůže ani změnit, ani zfalšovat.
Klíč FIDO2 nedělá phishing těžším k provedení. Dělá výsledek phishingu nepoužitelným.
Vraťme se k útoku adversary-in-the-middle, tentokrát s klíčem. Falešná stránka je dokonalá, oběť nic nepozná a dotkne se klíče. Prohlížeč předá skutečnou doménu stránky, tedy tu podvodnou. Klíč zjistí, že pro tuto doménu žádný pár neexistuje, nebo pro ni podepíše a vytvoří podpis, který pravá služba odmítne. V obou případech útočník nezíská nic použitelného.
V tom je ten rozdíl v povaze. U SMS nebo TOTP stojí bezpečnost nakonec na bdělosti uživatele, na jeho schopnosti odhalit zfalšovanou doménu v adresním řádku ve chvíli, kdy spěchá a stránka vypadá normálně. U FIDO2 provádí tuto kontrolu stroj, pokaždé, bez závislosti na něčí pozornosti. Právě tento přenos odpovědnosti je důležitější než kryptografická odolnost.
Efekt lze změřit. Google zavedl povinné klíče pro své zaměstnance na začátku roku 2017 a v roce 2018 uvedl, že nezaznamenal žádné kompromitování účtu u více než 85 000 lidí.
Skutečné limity hardwarových klíčů
Vydávat je za dokonalé by bylo nepoctivé a k přípravě opravdových rozhodnutí zbytečné.
Náklady existují. Počítejte s 25 až 60 eury podle modelu, více u biometrických verzí, a vynásobte dvěma.
Ztráta klíče je to skutečné riziko. Jediný klíč u kritického účtu je konstrukční chyba. U každého důležitého účtu je třeba mít zaregistrované dva, přičemž jeden je uložený jinde, u blízké osoby nebo v trezoru. Druhý není komfort, je to to, co umožňuje používat první bez obav.
Pokrytí je neúplné. Mnoho služeb, zejména bankovních v Evropě, FIDO2 zatím nepodporuje, odtud následující stanovení priorit.
Klíč lze ukrást. Odtud nutnost nastavit na klíči PIN nebo zvolit model s otiskem prstu: bez toho stačí samotný předmět tomu, kdo jej zvedne.
Záložní cesta zůstává nejslabším článkem. Zapnout FIDO2 bez vypnutí SMS nechrání před ničím: útočník prostě půjde cestou, která zůstala otevřená. Migrace končí až tehdy, když je starý mechanismus z účtu odstraněn, včetně možností obnovy.
Co se hardwaru týče, řada YubiKey pokrývá nejširší spektrum protokolů, klíče Google Titan jsou levnější a omezují se na FIDO, Nitrokey a SoloKeys nabízejí alternativy s otevřeným a auditovatelným firmwarem a Token2 vyrábí modely s vestavěnou klávesnicí, kde se PIN zadává přímo na klíči, nikoli na klávesnici počítače. Mezi klíči certifikovanými pro FIDO2 neexistuje špatná volba: protokol je stejný a liší se jen doplňková využití.
Kde začít, když nelze změnit všechno
Pořadí migrace není věcí preference, vyplývá ze závislostí mezi vašimi účty.
- Nejdřív hlavní e-mailová schránka. Přijímá odkazy pro obnovu téměř všeho ostatního. Útočník, který ji ovládne, převezme ostatní účty jeden po druhém, aniž by na kterýkoli z nich přímo zaútočil. Nic si nezaslouží být zabezpečeno dřív než ona.
- Správce hesel. Soustřeďuje první faktor všech vašich přístupů, takže jeho ochrana musí odpovídat ochraně nejlépe zabezpečeného účtu, který obsahuje. Je to chvíle prověřit kvalitu hlavního hesla, což je téma podrobně rozebrané v našem článku o entropii a vědě za vaší bezpečností.
- Finanční účty a kryptoplatformy. Cíle s okamžitou hodnotou, kde se kompromitace během několika minut promění v nevratnou ztrátu.
- Sociální sítě s publikem. Případ SEC ukazuje, jakou váhu má slovo sledovaného účtu, a škoda nedopadá vždy na jeho majitele.
- Zbytek může počkat, s aplikací TOTP místo SMS. Fórum nebo streamovací služba stejné úsilí neospravedlňují.
U účtů, které FIDO2 zatím nepodporují: přejít na TOTP všude, kde to jde, a požádat operátora o zablokování přenosu čísla, což je u většiny bezplatná volba.
Co to říká o přístupu Arpokrat
Tento text popisuje problém, který existuje jen proto, že do středu systému byl postaven identifikátor. Telefonní číslo nikdy nebylo koncipováno jako důkaz totožnosti: páteří online autentizace se stalo ze zvyku a všechny tři výše popsané útoky využívají právě tohle zneužití účelu.
To je úvaha, která stála u návrhu protokolu Arpokrat Messenger: žádné telefonní číslo, žádná e-mailová adresa, žádný účet. Uživatel existuje jako soubor kryptografických klíčů uložených na vlastním zařízení a navázání kontaktu probíhá přes jednorázové pozvánkové odkazy. Logika je stejná jako u FIDO2, jen o stupeň výš: co třetí strana nedrží, to z ní nelze dostat, ani sociálním inženýrstvím vůči operátorovi, ani úředním příkazem. Tuto souvislost s architekturou Zero-Knowledge rozvíjíme v článku o sbírej teď, dešifruj později.
Hardwarový klíč, který podepisuje, aniž by kdy odhalil své tajemství, je ostatně také principem offline kryptopeněženky, popsané v našem kompletním průvodci cold walletem: držet tajnou část ve vyhrazeném předmětu a ven pustit jen podpis.
Závěr
Dvoufaktor přes SMS nebyl špatně navržen. Když se na počátku desátých let rozšířil, představoval oproti samotnému heslu značný pokrok a měl pro sebe jedinou vlastnost, která ve velkém měřítku rozhoduje: telefon už měl každý.
Problémem není jeho vynález, ale jeho přežívání. Demonstrace SS7 pocházejí z roku 2014, reálné zneužití v bankovnictví z roku 2017, industrializace phishingu v reálném čase z konce téže dekády. CISA napsala, ať se přestane používat, v roce 2024, NIST omezení formalizoval v roce 2025. Zhruba deset let dělí okamžik, kdy se díry staly zneužitelnými ve velkém, od okamžiku, kdy to instituce daly na papír. A SMS zůstává u většiny služeb pro širokou veřejnost výchozím druhým faktorem.
Právě tento rozestup je skutečnou informací tohoto textu. Bezpečnostní mechanismy nemizí, když přestanou fungovat, ale když je nahradí něco stejně jednoduchého, a to trvá mnohem déle. Otázka tedy nezní, zda byste měli SMS opustit, to je rozhodnuto už roky. Zní: která další ochrana, kterou považujete za samozřejmou, se už, aniž by to zatím někdo napsal, nachází ve stejné situaci.
Zdroje
- Ministerstvo spravedlnosti USA, Alabama Man Sentenced to 14 Months in Connection with Securities and Exchange Commission X Hack that Spiked Bitcoin Prices, 16. května 2025
- Securities and Exchange Commission, SECGov X Account, oficiální prohlášení z 22. ledna 2024
- NIST, SP 800-63B-4, Digital Identity Guidelines: Authentication and Authenticator Management, finální verze z července 2025
- CISA, Mobile Communications Best Practice Guidance, 18. prosince 2024
- FBI Internet Crime Complaint Center, 2024 Internet Crime Report
- Threatpost, Cellular Privacy, SS7 Security Shattered at 31C3, demonstrace Tobiase Engela a Karstena Nohla, prosinec 2014
- Help Net Security, Attackers exploited SS7 flaws to empty Germans’ bank accounts, květen 2017
- Krebs on Security, Google: Security Keys Neutralized Employee Phishing, červenec 2018
- W3C, Web Authentication: An API for accessing Public Key Credentials, specifikace WebAuthn
