CzechIdM a autentizace proti koncovému systému

CzechIdM nabízí svým uživatelům webové rozhraní, ve kterém mohou zažádat o přístupy nebo měnit svá hesla na koncových systémech. V článku, jehož úvod si právě čtete, se podíváme, jak je zajištěna bezpečnost přihlášení do CzechIdM, jaké možnosti přihlášení CzechIdM poskytuje a jaká je jejich technická implementace. Administrátoři CzechIdM tu rovněž naleznou návod, jak ověřovat uživatele pomocí hesla z některého koncového systému.

Autentizace

Autentizací v tomto článku budeme rozumět ověření, že uživatel, který se chce přihlásit na účet v CzechIdM, je skutečně tím, za kterého se vydává.

Standardní přihlášení

Běžné přihlášení ověřuje hesla proti jejich otisku (heši) v datovém úložišti (databázi MySQL). CzechIdM neuchovává nikde hesla ke svým uživatelským účtům, pouze jejich otisky. Případný útočník se tak není schopen přihlásit do CzechIdM ani při znalosti všech dat v datovém úložišti. Jako hešovací funkce je použita funkce SHA-512, vyhovující všem požadavkům na moderní zabezpečení.

Druhou možností, jak ověřit uživatele, je pomocí jeho hesla ke spárovanému účtu na koncovém systému.

Výhoda autentizace proti koncovému systému

Identity Management bývá zpravidla nasazován do prostředí s několika již běžícími systémy, do kterých mají uživatelé přístup zabezpečený heslem. V okamžiku nasazení CzechIdM občas vyvstává následující otázka: Jak bezpečně předat uživatelům prvotní heslo do uživatelského rozhraní?

Řešením může být (mimo jiné) právě autentizace vůči již připojenému koncovému systému. Uživatelům tak není potřeba sdělovat žádné nové heslo; přihlásí se pomocí svého obvyklého hesla z některého již běžícího systému a v uživatelském rozhraní si nastaví své prvotní heslo do CzechIdM.

Metoda authenticate

CzechIdM se ke koncovým systémům připojuje pomocí takzvaných konektorů, což jsou implementace rozhraní org.identityconnectors.framework.spi.Connector. Konektorů existuje celá řada, některé se používají pro napojení relační databáze, některé pro správu identit prostřednictvím webových služeb.

Interface org.identityconnectors.framework.spi.Connector, poskytuje metodu authenticate pomocí které je možné ověřit identitu vzhledem ke koncovému systému:

boolean result = false; String name = getUser(); Connector connector = getConnector(); Uid uid = null; GuardedString password = getPassword();uid = connector.authenticate(ObjectClass.ACCOUNT, name, password, null);
if (uid != null) {
   result = true;
} else {
   result = false;
}

Nastavení properties pro vzdálenou autentizaci

Základní konfiguraci CzechIdM lze nastavit v properties souboru META-INF/idm_configuration.properties. Jedná se o jednoduchý textový soubor, v němž lze upravit některé klíčové parametry. Jedním z nich je právě způsob autentizace.

Předpokládejme, že si přejeme, aby se uživatelé ověřovali proti koncovému systému „LDAP“ ve schématu „default“, kde jsou uživatelé identifikováni svým uživatelským jménem v atributu „name“. K tomu je zapotřebí nastavit následující parametry v souboru idm_configuration.properties:

auth_resource=LDAP
auth_schema=default
auth_id_attribute=name

Nic dalšího není třeba dělat, o zbytek se postará CzechIdM. Každý další uživatel od uložení souboru bude ověřován proti koncovému systému LDAP.

Závěr

V článku jsme se blíže podívali na možnosti autentizace v Identity Manageru CzechIdM. Kdybyste měli k CzechIdM nebo k článku jakýkoli dotaz, neváhejte a napište mi na vojtech.matocha@bcvsolutions.eu! Všechny otázky rádi zodpovíme!