Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia Tuesday TopDrive KupDnes Navrcholu Bomba NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Prokaž se, kdo přicházíš

Heslem francouzských revolucionářů bylo „Liberté, Egalité, Fraternité“ – volnost, rovnost, bratrství. Ve věku Internetu potřebujeme volnost uživatelů v sítích a aplikacích spíše omezovat. S rovností to také není tak slavné, uživatelé obvykle mají různé možnosti a úrovně oprávnění. Pokud jde o bratrství, inu to nejspíš nahradilo „přátelství“ na Facebooku.

Abychom mohli uživatele shora popsaným způsobem šikanovat (autorizovat, musíme je nejprve identifikovat (vědět, co jsou zač) a autentizovat (vědět, že nelžou).  Nejrozšířenějším způsobem autentizace v počítačových systémech jsou uživatelská jména a hesla. Jsou nejjednodušší a nejlevnější – bohužel ale nejsou příliš bezpečná. Bezpečnější přístup nabízí například vícefaktorová autentizace. V tomto článku se zaměříme na možnosti, které pro autentizaci obecně máme a v následném článku se podíváme na zajímavé vlastnosti jednorázových he­sel.

Autentizační faktory

Obecně se používají tři způsoby (autentizační faktory), jakými lze uživatele autentizovat, tedy ověřit si, že je skutečně tím, za koho se vydává.

Faktor znalosti

V této metodě uživatele autentizujeme podle toho, co zná – nějaké sdílené tajemství, známé pouze uživateli a ověřující straně. Typicky se jedná právě o autentizaci heslem. Technologicky a logisticky nejsnazší a nejlevnější řešení, protože nevyžaduje žádný zvláštní hardware, software a podobně.

Problém spočívá v tom, že sdílené tajemství bývá mnohdy mnohem sdílenější, než bychom si byli přáli. Prakticky všichni uživatelé používají do několika různých systémů totéž heslo. Těžko jim to můžeme vyčítat, protože kapacita lidského mozku není neomezená a hesel si musíme pamatovat příliš mnoho. Znamená to ovšem, že kompromitace jednoho systému může vést k poškození systémů zcela nesouvisejících.

Celou řadu zajímavých poznatků přinesly dvě nedávné causy uniklých rozsáhlých databází hesel: Sony Pictures a Gawker Media. Prvním a možná nejdůležitějším poznatkem je samozřejmě poučení nikdy nikomu nevěř: že je provozovatel webu velká společnost ještě neznamená, že nedojde k jeho kompromitaci. Další informace pocházejí z analýzy, kterou nad získanými daty provedl Troy Hunt.

Z ní mimo jiné vyplývá, že pokud měli uživatelé účet současně ve dvou napadených systémech Sony, v 92% případů v obou měli stejné heslo. Průnik uživatelů mezi databázemi Sony a Gawker je vzhledem k výrazně odlišnému zaměření mnohem menší (88 uživatelů), nicméně z nich 67% mělo v obou stejné heslo.

Znovu opakuji, že to jen těžko lze těm uživatelům vyčítat a že kdybych já měl v daných systémech účet, spadl bych do těch 67% taky, protože pro „obecně nedůležité weby“ používám stejné heslo. Nezbývá, než jenom doufat, že zbytek napadených stejně jako já pro důležitější systémy používá kvalitnější hesla.

Autentizace heslem přináší ještě další problém, a to nutnost bezpečného přenosu hesla mezi hlavou uživatele a serverem.

Bezpečný přenos mezi počítačem uživatele a serverem dokážeme zajistit docela snadno, technologie na to máme. Nejtypičtěji proženeme komunikaci SSL/TLS tunelem, jako například HTTPS. Řešení je to sice zcela standardní, ale přesto ne vždy použitelné. V případě menších webů nemusí levný hoster SSL podporovat, web běžící na SSL musí mít k dispozici samostatnou IP adresu (pokud neběží na nestandardním portu, což s sebou ale nese smečku dalších problémů) a je nutné si obstarat certifikát od důvěryhodné certifikační autority, což je obecně vnímáno jako drahé a komplikované. Sice existuje například CA StartCom která důvěryhodné serverové certifikáty vydává zdarma, ale příliš se o ní neví.

Kromě toho, mnohdy ani větší weby, pro který by to neměl být technologický problém, SSL nepoužívají anebo ho sice nabízejí, ale musíte si ho výslovně vyžádat. Přímo odstrašujícím příkladem jsou tři největší české e-shopy s výpočetní technikou:

  • Alfa Computer bezpečné přihlášení nepodporuje vůbec.

  • Czech Computer je sice přes SSL dostupný (pokud ručně napíšete https://www.czc­.cz/), ale na zabezpečenou verzi nevede žádný odkaz a heslo jde standardně otevřeným kanálem. 

  • Alza.cz  je zde mezi slepými jednookým králem, neboť se v přihlašovacím dialogu nachází nenápadný odkaz „SSL“, který vás zavede na zabezpečenou přihlašovací stránku. Výchozí cesta je ovšem i zde nezašifrovaná a nepředpokládám, že by možnost šifrovaného přístupu byla houfně implementována.

Další populární weby na tom nejsou lépe (servery společnosti Internet Info, včetně Lupa.cz, používají jednotný přihlašovací systém, který sice SSL nepoužívá, ale zdá se, že heslo přenáší na principu challenge/response, tedy bezpečně): Živě, MobilMania, iDnes, Lidovky a iHNed šifrované spojení pro přihlášení buďto nenabízejí vůbec, anebo jsem ho nenašel, ani když jsem ho aktivně hledal, což je v konečném důsledku totéž.

Obecně lépe jsou na tom bohudík poskytovatelé e-mailových služeb – Seznam, Centrum, AtlasUPC používají standardně SSL, černými ovcemi jsou Volny.cz a O2 Active. I pokud heslo bezpečně dopravíme mezi počítači, je nutné ho bezpečně dopravit z hlavy uživatele do jeho prohlížeče, kde mohou v cestě stát rozličné překážky, jako například rozličný malware, který hesla odchytává. Kromě toho, hardwarové keyloggery, máme-li fyzický přístup k počítači napadeného uživatele, jsou běžně dostupné a stojí pár desítek dolarů.

Faktor vlastnictví

Druhým faktorem, který můžeme využít při autentizaci, je vlastnictví. Uživatel svou totožnost prokazuje tím, že něco má. Ve světě počítačových systémů se jedná nejčastěji o certifikát, ideálně uložený na čipové kartě nebo USB tokenu. (Ve skutečnosti je podstatný zejména soukromý klíč asymetrického algoritmu, certifikát sám o sobě zase tak moc neznamená, ale je nejviditelnější součástí celé infrastruktury a pojmy jako „autentizace klientským certifikátem“ se již vžily.)

Výhodou tohoto faktoru je, že bývá obvykle podstatně komplikovanější se jej neoprávněně anebo dokonce nepozorovaně zmocnit. Jedná-li se o certifikáty, je výhodou také to, že komunikace automaticky probíhá šifrovaně, protože použití SSL je zde technologickou nutností.

Obtížnost implementace ale v případě klientských certifikátů oproti heslům vzrůstá hned o několik řádů. Je nutné vybudovat PKI, distribuovat certifikáty, naučit uživatele zacházení s nimi, nakoupit čipové karty, čtečky, middleware… Na frak dostává i univerzálnost přístupu: do systému se lze přihlásit jenom z počítačů, které mají patřičné softwarové a hardwarové vybavení. Žádný div, že se tato forma autentizace používá jenom velmi omezeně, zejména ve světě polouzavřených ekosystémů velkých firem.

Právě jednorázová hesla a tokeny pro jejich generování, jak bude obšírněji pojednáno dále, představují jednoduchý, levný a venkoncem nenáročný způsob, jak do systému implementovat tento faktor.

Faktor neměnné charakteristiky

Poslední obecně uznávaný autentizační faktor sleduje, co uživatel je. Tedy snímá jeho biometrické charakteristiky a porovnává je s těmi, které má uložené v databázi. V praxi se typicky jedná o otisk prstu nebo vzory na duhovce či sítnici oka, ale může jít i o exotičtější metody, jako například o způsob, jakým se člověk podepisuje. (Ty jsou mimochodem občas prezentovány jako čtvrtý faktor – faktor dovednosti, něco co člověk umí. Nicméně podle mého názoru se jedná stále o třetí faktor, protože se nejedná o vědomou schopnost, ale o pevně dané charakteristiky.)

Biometrické přihlašování je velice populární na místní úrovni, neb dnes jsou už i low-end modely notebooků vybaveny čtečkou otisků prstů. Nicméně pro obecné síťové nasazení se biometrické metody obecně moc nehodí.

První překážkou je opět nutnost speciálního hardware: ne každý počítač má biometrický snímač a patřičný software, nejsou také vzájemně kompatibilní. Další překážkou je špatná obrana proti replay útokům po síti. Pokud útočník získá jeden funkční vzorek, může jej používat do nekonečna.

Kromě toho, komerční čtečky otisků prstů nejsou zdaleka neomylné. Opakované testy prokázaly, že bez spolupráce oběti lze dostupné modely obelstít pomocí falešného prstu z gumy či želatiny. Skenery duhovky či sítnice jsou spolehlivější, i když ne bezchybné.

Tři pruty Svatoplukovy

Shora popsané metody autentizace nám mnoho optimistických výhledů nedávají – každá samostatně stojí za houby. Nicméně, stejně jako v českém bájesloví, když se dá několik nedokonalých autentizačních metod dohromady, jsou neporazitelné. No dobrá, tak řekněme mnohem obtížněji porazitelné.

Autentizační obdoba tří prutů knížete Svatopluka se zove vícefaktorová autentizace. Podniknout útok na každou z nich samostatně je relativně snadné, ale zaútočit na dvě nebo tři současně je mnohem komplikovanější. Typicky se používá kombinace „něco znát“ a „něco mít“. Musíte například „mít“ čipovou kartu a „znát“ její PIN. Dá se to vylepšit ještě o třetí faktor, o biometrickou autentizaci.

UX konference
       

Pokud se mi tedy například budete chtít dostat k datům uloženým na disku mého notebooku, pak vězte, že musíte něco mít (šifrovací klíč, kterým jsou data zašifrována), něco znát (heslo) a něco být (musíte projít biometrickou autentizací).

Vícefaktorová autentizace je z hlediska bezpečnosti tím nejkvalitnějším, co máme pro aplikace dnes k dispozici. Většina jejích variant ovšem vyžaduje nemalé investice a je co do nasazení pro menší projekty zbytečně komplexní. Jistou naději nabízí – a rostoucí podíl na trhu získává – princip jednorázových hesel. Není nikterak nový, ale nedávno publikované standardy jej slibují zpřístupnit i menším projektům.

Michal Valášek

Autor pracuje jako konzultant a hlavní softwarový architekt společnosti Altairis. Je Microsoft Most Valuable Professional pro ASP.NET a tvoří web aspnet.cz.

Školení Google Analytics pro pokročilé

DW - Školení Google Analytics
  • Jak využít nové funkce Google Analytics
  • Vyhodnocování kampaní díky používání Multichannel funnels
  • Kde návštěvníci vašeho webu utíkají z objednávacího procesu.
  • Nebudete opakovat časté chyby při vyhodnocování dat o návštěvnosti.

Detailní informace o školení Google Analytics pro pokročilé »

Přehled názorů

Špatně zvolený příklad
_pepak 1. 12. 2011 07:36
Nový
└ 
Re: Špatně zvolený příklad
lojza 1. 12. 2011 08:05
Nový
 
└ 
Re: Špatně zvolený příklad
_pepak 1. 12. 2011 08:13
Nový
 
 
├ 
Re: Špatně zvolený příklad
Jenda 1. 12. 2011 08:26
Nový
 
 
│
└ 
Re: Špatně zvolený příklad
Jean Laroux 1. 12. 2011 08:42
Nový
 
 
│
 
└ 
Re: Špatně zvolený příklad
Jean Laroux 1. 12. 2011 08:44
Nový
 
 
└ 
Re: Špatně zvolený příklad
lojza 1. 12. 2011 13:40
Nový
 
 
 
└ 
Re: Špatně zvolený příklad
_pepak 1. 12. 2011 20:30
Nový
identifikace
sx 1. 12. 2011 08:52
Nový
└ 
Re: identifikace
lol 1. 12. 2011 10:57
Nový
 
├ 
Re: identifikace
MilanK 1. 12. 2011 15:14
Nový
 
└ 
Re: identifikace
Ditys 2. 12. 2011 11:53
Nový
Aj tak vsetko zlyha na ludskom faktore
Portos 1. 12. 2011 10:01
Nový
├ 
Re: Aj tak vsetko zlyha na ludskom faktore
Jenda 2. 12. 2011 08:45
Nový
└ 
Re: Aj tak vsetko zlyha na ludskom faktore
Klimentov 2. 12. 2011 10:44
Nový
Skoda
Pesopes 1. 12. 2011 12:08
Nový
StartSSL
janpoboril 4. 12. 2011 12:21
Nový
Chybné vysvětlení
PD 4. 12. 2011 18:31
Nový
└ 
Re: Chybné vysvětlení
Michal Altair Valášek 5. 12. 2011 09:59
Nový
jedno https na ip adresu
p4l4cl][n 24. 4. 16:49
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem