Ověřování vs. federace vs. SSO

Subway of Life 8/52 / Dennis Skley

Ověřování. Federace. Jednotné přihlášení (SSO). Tyto pojmy jsem zmínil mnohokrát. Ve skutečnosti jsem formálně nedefinoval, co každý z těchto výrazů znamená, i když jsem je v průběhu psaní mnohokrát použil - tyto pojmy spolu úzce souvisejí.

Autentizace: proces entity (příkazce) prokazující její totožnost jiné entitě (systém).

Single Sign On (SSO): charakteristika autentizačního mechanismu, který souvisí s identitou uživatele používanou k poskytování přístupu mezi více poskytovateli služeb.

Federace: společné standardy a protokoly pro správu a mapování totožnosti uživatelů mezi poskytovateli identity napříč organizacemi (a bezpečnostními doménami) prostřednictvím vztahů důvěryhodnosti (obvykle vytvořených prostřednictvím digitálních podpisů, šifrování a PKI).

Zaprvé, správa identity a přístupu (IAM) je správa otázek identity v organizaci informačních technologií. Termín, IAM, se může vztahovat k týmu nebo odpovědnosti týmu. V ideálním případě je IAM centralizovaný tým, ale vzhledem k historii, politice nebo organizační struktuře to není vždy možné. Další nejlepší možností je mít centrální tým věnovaný každému z podniků mezi podniky (B2B), mezi podniky (B2C) a podniky (B2E). Až příliš často se každá jednotlivá skupina zabývá vlastními povinnostmi IAM - to vytváří další překážky při přijímání federace a SSO v rámci celé organizace. IAM může zahrnovat autentizaci uživatelů a systémů, autorizaci těchto uživatelů a systémů, zajišťování uživatelů, audit systémů identity, správu úložišť uživatelů (myslet LDAP nebo Active Directory), zásady týkající se hesel a další obavy.

Ověřování

Poskytování autentizačních služeb je hlavní odpovědností IAM. Autentizace je nejobecnější ze tří konceptů uvedených v názvu příspěvku. Z dřívějšího příspěvku na thinkmiddleware.com jsem jako definici autentizace uvedl následující. Autentizace je proces entity (příkazce) prokazující svou identitu jiné entitě (systému). Ředitelem může být počítačový program (například dávková úloha běžící na pozadí), koncový uživatel (člověk), počítačový systém, kus hardwaru, mobilní zařízení nebo jiné exotické věci. Systém je pro náš účel jakýkoli počítačový systém, který vyžaduje identifikaci volajícího před udělením přístupu - často tento systém bude na serveru, někdy je na zařízení (mobil, stolní počítač, notebook, tablet), někdy to bude být v prohlížeči. Ředitel poskytuje systému pověření, která musí být systémem ověřena pomocí nějakého typu systému identity (včetně úložiště uživatelů, federačního serveru nebo jiného). Pověření jsou citlivé informace, které pozitivně identifikují klienta a mohou mít mnoho podob:

  • Userid a heslo
  • Digitální podpis
  • Klientský certifikát X509v3
  • PIN # + náhodné číslo z technologie FOB, Google Authenticate nebo podobné technologie.

Pro úplnost obsahuje úložiště uživatelů informace o uživatelích (hlavních představitelích), jejich pověřeních, skupinách, členství ve skupině a dalších uživatelských atributech. Server LDAP nebo Active Directory je typickým příkladem úložiště uživatelů. Podrobnější popisy těchto pojmů naleznete zde. Již dříve jsem definoval server federace a poskytovatele identity v předchozím příspěvku.

Jednotné přihlášení

Single Sign On (SSO) je charakteristika autentizačního mechanismu, který souvisí s identitou uživatele používanou k poskytování přístupu přes více poskytovatelů služeb. SSO umožňuje, aby byl jediný autentizační proces (spravovaný jedním poskytovatelem identity, adresářovým serverem nebo jiným autentizačním mechanismem) použit ve více systémech (poskytovatelé služeb) v jedné organizaci nebo ve více organizacích. Tento jednotný mechanismus ověřování by mohl být:

  • server LDAP, Active Directory, databáze nebo podobný adresářový server
  • systém, který generuje a předává důvěryhodný token aplikacím za účelem autentizace.
  • Termín SSO se někdy používá k popisu přihlášení do aplikací pomocí správce hesel.
  • Před rokem 2005 mohl být SSO používán v tom smyslu, že společná sada pověření byla použita ve více systémech (pravděpodobně s nějakým typem asynchronního systému synchronizace hesel), ale tato pověření musela být poskytnuta uživatelem k přihlášení do každého samostatného systému - v v některých kontextech je tomu tak pravděpodobně stále.
  • Federace, jak je popsáno níže.

Single Sign On (SSO) se zabývá ověřováním a technickou interoperabilitou zúčastněných aktérů za účelem poskytování společných přihlašovacích údajů napříč systémy.

Řešení SSO založené na adresářovém serveru pro více aplikací vypadá jako následující diagram.

SSO prostřednictvím společného adresářového serveru

Dalším příkladem SSO jsou N poskytovatelé služeb (SP) v organizaci, která důvěřuje jedinému poskytovateli identity (IdP), vypadá jako následující (toto je ve skutečnosti federace identity, viz další část).

N SP věří jedinému IdP

Federace

Federativní správa identit je dílčí disciplínou IAM, ale obvykle jej podporují stejné týmy. Federace je typ SSO, kde herci pokrývají více organizací a bezpečnostních domén.

Ze specifikace WS-Federation (jeden z mnoha protokolů SSO, které umožňují federaci) máme: „Cílem federace je umožnit sdílení identit a atributů zabezpečení přes hranice důvěryhodnosti podle zavedených zásad.“ Toto je dobrý popis federace obecně; zahrnuje společné standardy a protokoly pro správu a mapování totožnosti uživatelů mezi poskytovateli identity napříč organizacemi (a bezpečnostními doménami) prostřednictvím vztahů důvěryhodnosti (obvykle vytvořených prostřednictvím digitálních podpisů, šifrování a PKI). Federace je vztah důvěry mezi těmito organizacemi; jedná se o to, kde jsou pověření uživatele skutečně uložena, a jak se mohou důvěryhodné třetí strany proti těmto pověřením autentizovat, aniž by je skutečně viděly.

Federační vztah lze dosáhnout prostřednictvím jednoho z několika různých protokolů včetně (ale nejen):

  • SAML1.1
  • SAML2
  • WS-Federation
  • OAuth2
  • OpenID Connect
  • WS-Trust
  • Různé proprietární protokoly

Federace může mít mnoho podob. V rámci organizace (oddělení, obchodní jednotky) mohou vzory vypadat takto:

  • N Poskytovatelé služeb (SP) v rámci organizace důvěřující jedinému poskytovateli identity (IdP) - viz diagram v poslední části.
  • N SP ve více organizacích, které důvěřují jediné ID třetí strany
N SP ve více organizacích, které důvěřují jediné ID třetí strany
  • N IDP v rámci organizace důvěryhodné jedním SP.
N IDP v rámci organizace důvěryhodné jedním SP
  • N IdP v rámci organizace důvěřující jedinému IdP
N IdP v rámci organizace důvěřující jedinému IdP
  • N SP (řekněme jim poskytovatelé rozhraní API) napříč více organizacemi, které důvěřují jedinému IDP, kterému je pak důvěryhodný společný systém (například brána API)
N SP ve více organizacích, které důvěřují jedinému IdP, což zase důvěřuje společný systém (API Gateway)
  • Identity Broker (IDP spravující vztahy mezi) s N SP a N IDP překlenující více organizací s propojenými federačními vztahy.
Vzor identity Broker s N SP a N IdP

V roce 2017 a později by veškerá autentizace koncového uživatele měla zahrnovat jednotné přihlášení s dobře známým produktem poskytovatele identity v podnikovém prostoru. Totéž platí většinou i v jiných kontextech. Podobně by v podnikovém prostoru měl SSO s aktéry mimo místní organizaci zahrnovat federační vztahy. Používání federačních vztahů mezi systémy v různých organizacích by mělo být používáno, jak to dává smysl.

Obrázek: Subway of Life 8/52 / Dennis Skley