Lze se zbavit správy uživatelských účtů?

22. 8. 2016

Sdílet

Snad neexistuje informační systém, který by se obešel bez uživatelských účtů. Uživatelé se musí do systému autentizovat svými přihlašovacími údaji, aby bylo zajištěno, že se systémem pracují jen opravdu povolané osoby.

Dnešní informační systémy jsou komplexní a poskytují různé funkce různým skupinám uživatelů. V tom nejjednodušším případě se může jednat o administrátory systému a „obyčejné“ uživatele. Proto musí mít každý uživatel definována přístupová oprávnění do systému a systém musí přistupující uživatele autorizovat – zjistit jejich oprávnění na základě ověřené identity a zpřístupnit jim jen odpovídající množinu aplikačních funkcí.

Vlastními silami

Správa uživatelských účtů a přístupových oprávnění se obvykle řeší tak, že součástí informačního systému je databáze uživatelů s uloženými přístupovými právy. Tento přístup má ovšem tu nevýhodu, že systém musí uživatelům poskytovat rozhraní pro správu jejich účtů, zahrnující minimálně změnu hesla, reset zapomenutého hesla a odblokování zablokovaného účtu. S tím souvisí vyřešení problému bezpečného doručení přístupových údajů uživateli, zvláště pokud ten pochází ze zcela jiného subjektu, než je subjekt správce informačního systému.

Další podstatnou nevýhodou je, že uživatelé disponují N přihlašovacími údaji do N systémů. Uživatelé tak používají buď jedno heslo do více systémů, nebo mají hesla někde poznamenaná. To je z bezpečnostního pohledu nepřípustné.

Zmiňovanou druhou nevýhodu lze alespoň částečně eliminovat nasazením tzv. identitních adresářů (LDAP adresářů). Uživatelské účty jsou uloženy na jednom místě a uživatelé přistupují pod jedinými přihlašovacími údaji do více aplikací, které autentizují uživatele vůči centrálnímu adresáři. Adresář obvykle také slouží pro uložení přístupových práv uživatelů v podobě přidělených aplikačních rolí nebo zařazením uživatele do určité skupiny.

Stále však platí, že musí existovat nástroj pro správu uživatelských účtů v LDAP adresáři a musí být vyřešena distribuce přihlašovacích údajů uživatelům.

Poskytovatelé identit

Pokud chceme správu uživatelských účtů zcela eliminovat, je zapotřebí využít služeb třetí strany, poskytovatele identit. Ten u sebe drží databázi uživatelů a garantuje určitou míru (kvalitu) ověření jejich totožnosti. Například osobní ověření vůči občanskému průkazu bude mít vyšší váhu než dálkové ověření. Poskytovatel identit poskytuje jednak rozhraní pro uživatele za účelem správy jejich účtů, jednak rozhraní pro poskytovatele služeb za účelem autentizace přistupujících uživatelů.

Správce informačního systému (jakožto poskytovatel služby) vstoupí do smluvního vztahu s poskytovatelem identit a upraví svůj informační systém takovým způsobem, aby byl schopen využívat autentizační služby poskytovatele identit.

Uživatelé se následně mohou do informačního systému hlásit tak, že na jeho přihlašovací stránce zadají své přihlašovací údaje a systém je odešle k ověření poskytovateli identit. Tento způsob je však z bezpečnostního hlediska minimálně pochybný. Uživatel nemá jistotu, co všechno informační systém s jeho přihlašovacími údaji provádí. Co když si je ukládá stranou do nějaké tajné databáze?

Mnohem bezpečnější variantou přihlášení uživatele do informačního systému je postup, kdy je uživatel nejprve přesměrován na přihlašovací rozhraní poskytovatele identit, zde zadá své přihlašovací údaje a po jejich úspěšném ověření je autentizovaný uživatel přesměrován zpět do cílového informačního systému. Uživatel tak zadává své přihlašovací údaje v perimetru poskytovatele identit a nedochází k jejich prozrazení jinému systému.

Poskytovatel identit předává informačnímu systému informace o autentizovaném uživateli, které obvykle tvoří jméno, příjmení, adresa, e-mail a další kontaktní či osobní údaje. Pochopitelně zde záleží na tom, jakou množinu údajů poskytovatel identit poskytuje a jaké údaje byly vyplněny poskytovatelem (při registraci uživatele) nebo uživatelem. Logicky platí, že se nelze spoléhat na pravost a správnost údajů vyplněných uživatelem.

S údaji o uživateli také souvisí jejich zastarávání (např. adresa po přestěhování, příjmení u žen po provdání) a způsob jejich aktualizace. Spoléhá poskytovatel identit, že uživatel provede aktualizaci údajů sám? Nebo požaduje po uživatelích, aby v pravidelných intervalech kontrolovali správnost a aktuálnost svých údajů?

Mezi známé poskytovatele identit patří např. Google, Facebook a u nás mojeID. Také existuje několik komunikačních protokolů pro výměnu ověřených identit (OpenID, OAUTH, SAML).

A co přístupová práva?

Poskytovatel identit nám pomůže vyřešit identifikaci a autentizaci uživatelů. Je ale zapotřebí vyřešit i autorizaci.

Přístupová práva jsou obvykle různá pro každý informační systém a jejich přidělování a správa u poskytovatele identit by nebyla efektivní. Přiřazení přístupových práv uživatelům bývá proto uloženo v cílovém informačním systému.

Z toho vyplývá potřeba vyřešit, kdo a jak bude přístupová práva uživatelům přidělovat. Jednou možností je vytvořit rozhraní pro přidělování práv uživatelům a určit, kdo bude toto rozhraní využívat. To ale znamená, že jsme se sice zbavili správy uživatelských účtů, ale zůstala nám nadále správa přístupových oprávnění.

Druhou možností, jak naložit s přístupovými právy, je automatické přiřazení na základě některých údajů o uživateli. Například je-li u uživatele specifikováno, že se jedná o statutárního zástupce firmy, může mít automaticky přiřazena vyšší oprávnění než uživatel s pracovní pozicí „Účetní“. Otázkou samozřejmě zůstává důvěryhodnost těchto údajů. Jak bylo řečeno výše, pokud nebyl údaj zapsán poskytovatelem identit a ověřen na základě podkladů předložených uživatelem, je nutné jej považovat za nedůvěryhodný a pouze informativní.

Vlastně je tu ještě třetí možnost. Všichni uživatelé informačního systému mají stejná oprávnění (tj. všichni mají mít přístup ke stejným aplikačním funkcím; např. přispěvatelé do diskusí), takže správu přístupových práv není potřeba vůbec řešit. Nebo pokud existuje pouze malá skupina privilegovaných uživatelů, může se vyplatit zřídit pro ně interní účty.

Federace identit

Pro zlepšení uživatelského komfortu (či rozšíření uživatelské základny) může být informační systém napojen na více poskytovatelů identit.

V tom okamžiku je potřeba vyřešit následující problém... Uživatel se jednou přihlásí např. pomocí identity Google a podruhé pomocí identity mojeID. Bylo by ideální, aby informační systém rozpoznal, že se jedná o jednu a tu samou osobu. Toto právě řeší tzv. federace identit.

Technik pro párování identit z různých zdrojů je několik. Obvykle jsou založeny na porovnávání údajů daných identit a hledání shody. Kombinace některých údajů ale nevedou k jednoznačné identifikaci osoby a hrozí riziko spárování s nesprávným účtem. Třeba kombinace „jméno+příjmení+adresa“ není dostatečná (otec a syn stejného jména bydlící ve stejném domě), ale stačí přidat např. datum narození a riziko výskytu různých osob se stejnými údaji se výrazně sníží (muselo by se jednat např. o dvojčata).

Proto může být při párování různých identit zapotřebí součinnost ze strany uživatele, aby potvrdil, že se jedná o jeho účet. Samozřejmě „odmáčknutí“ tlačítka „Je to můj účet“ nestačí a uživatel musí předložit nějaký důkaz o vlastnictví dané identity. Nejjednodušším způsobem je autentizovat se pomocí této identity.

Český eGovernment

V české státní správě se v současnosti vyskytují dva významní poskytovatelé identit – Jednotný identitní prostor (JIP) systému Czech POINT a Identitní prostor Informačního systému datových schránek (ISDS). Na tyto poskytovatele se však nyní mohou napojit jen informační systémy státní správy.

Zatímco v JIP jsou uloženy výhradně jen identity úředníků státní správy, ISDS obsahuje identity vlastníků datových schránek, což jsou kromě státních institucí také právnické osoby a na dobrovolné bázi podnikatelé a fyzické osoby.

Oba poskytovatelé identit provozují autentizační služby pro ověření přihlašujících se uživatelů. V případě JIP to jsou webové služby KAAS, v případě ISDS se jedná o tzv. Autentizační službu. Uživatelé zadávají své přihlašovací údaje vždy v perimetru daného poskytovatele.

Co se týče přístupových oprávnění, JIP Czech POINT nabízí možnost definovat sadu aplikačních rolí, které lze přiřazovat uživatelům v JIP. ISDS používá vlastní přístupová práva a role uživatelů, které může do cílového systému předávat jako jeden z údajů o uživateli.

Pro federaci identit se v českém eGovernmentu skvěle hodí identifikátor AIFO ze základních registrů. AIFO jednoznačně identifikuje danou osobu, ale je pro každý systém jiný. Poskytovatel identit může předat AIFO uživatele cílovému systému, ten ale musí použít konverzní službu základních registrů, aby získal „své“ AIFO. Komunikace se základními registry, a tedy i využití AIFO, je však opět omezena jen pro informační systémy státní správy.

bitcoin_skoleni

Zatímco JIP Czech POINT vrací AIFO přímo v údajích uživatele, ISDS je neposkytuje. Informační systém ale může získat AIFO uživatele na základě předaného ID datové schránky uživatele dotazem do registru obyvatel.

Autor je business analytikem ve firmě NEWPS.CZ s.r.o.