Shibboleth (informatică)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Sigla Shibboleth.

Shibboleth este un sistem de autentificare unică (conectare) pentru rețelele de calculatoare. Vă permite să vă autentificați pe diferite sisteme, permițându-vă să vă conectați la rețelele diferitelor organizații sau instituții, utilizând o singură identitate. Federațiile sunt adesea universități sau organizații de servicii publice.

Shibboleth a fost dezvoltat de consorțiul non-profit Internet2 , care a creat o arhitectură și implementare open source pentru gestionarea identității și autentificarea identității federate. Infrastructura se bazează pe standardul Open Security Assertion Markup Language (SAML). Identitatea federată permite ca informațiile despre utilizatori să fie partajate între diferite sisteme și organizații din cadrul unei federații. Aceasta permite conectarea unică între diferite sisteme și elimină necesitatea ca sistemele individuale să păstreze numele de utilizator și parolele. Furnizorii de identitate (IdP) furnizează informații despre utilizator, în timp ce furnizorii de servicii (SP) folosesc informațiile și oferă acces la conținut protejat.

Shibboleth este open source și lansat sub licența Apache 2 . Multe extensii au fost furnizate de alte grupuri.

Istorie

Din punct de vedere istoric, proiectul Shibboleth s-a născut din Internet2 , un consorțiu bine cunoscut în comunitățile open-source. Astăzi, proiectul este gestionat de Shibboleth Consortium [1] . Cele mai populare două software gestionate de Shibboleth Consortium sunt Shibboleth Identity Provider și Shibboleth Service Provider, care sunt implementări ale Security Assertion Markup Language (SAML).

Proiectul Shibboleth a fost demarat în 2000 cu scopul de a facilita partajarea resurselor între organizații cu infrastructuri de autentificare și autorizare incompatibile. Înainte de a dezvolta software, au studiat arhitectura necesară mai mult de un an. După o versiune alfa, două beta și două versiuni minore, Shibboleth IdP 1.0 a fost lansat la 1 iunie 2003 [2] , urmat de Shibboleth IdP 1.3 lansat la 26 august 2005.

Versiunea 2.0 a software-ului Shibboleth a fost lansată pe 19 martie 2008 [3] și avea atât IdP, cât și SP, dar - mai important - a acceptat SAML v2.0.

Din punct de vedere istoric, Shibboleth și protocolul SAML au fost dezvoltate în aceeași perioadă de timp. La început, Shibboleth se baza pe SAML, dar acolo unde lipsea SAML, Shibboleth improviza. În esență, dezvoltatorii Shibboleth au implementat caracteristici care au compensat cele lipsă în SAML 1.1. Unele dintre aceste caracteristici au fost ulterior încorporate în SAML 2.0 și, în acest sens, Shibboleth a contribuit la dezvoltarea protocolului SAML.

Poate că cea mai importantă caracteristică a fost protocolul Shibboleth AuthnRequest. Deoarece protocolul SAML V1.1 a fost inerent un protocol IdP-first, Shibboleth a inventat un protocol simplu de solicitare de autentificare bazat pe HTTP care a transformat SAML V1.1 într-un protocol SP-first. Acest protocol a fost implementat mai întâi în Shibboleth IdP 1.0 și ulterior rafinat în Shibboleth IdP 1.3.

Bazându-se pe acea muncă timpurie, Liberty Alliance a introdus un protocol AuthnRequest complet extins în cadrul Liberty Identity Federation Framework. În cele din urmă, Liberty ID-FF 1.2 sa alăturat OASIS, care a stat la baza standardului OASIS SAML V2.0.

Arhitectură

Shibboleth este o tehnologie bazată pe web care implementează profilurile push, artefactele și atributele HTTP / POST ale SAML, inclusiv componentele Identity Provider (IdP) și Service Provider (SP). Shibboleth 1.3 are propria sa prezentare tehnică, [4] document de arhitectură, [5] și document de conformitate [6] care se bazează pe specificația SAML 1.1.

Shibboleth 1.3

În cazul utilizării canonice:

  1. Un utilizator accesează mai întâi o resursă găzduită de un server web (furnizorul de servicii) cu protecția conținutului activată prin Shibboleth.
  2. SP creează o cerere de autentificare proprietară care este transmisă prin browser folosind șiruri de interogare în adresa URL pentru a furniza ID-ul entității SAML al solicitantului, Locația consumatorului de afirmare și, opțional, pagina finală care trebuie returnată utilizatorului.
  3. Utilizatorul este redirecționat către propriul serviciu IdP sau către un serviciu de unde sunteți (WAYF), unde poate selecta IdP principal pentru redirecționare ulterioară.
  4. Utilizatorul se autentifică la un mecanism de control al accesului extern Shibboleth.
  5. Shibboleth generează o afirmație de autentificare SAML 1.1 cu un „handle” temporar conținut în ea. Acest handle permite IdP să recunoască o cerere referitoare la un anumit utilizator (browser) ca fiind corespunzătoare unui utilizator autentificat anterior.
  6. Datele de autentificare ale utilizatorilor sunt trimise către Serviciul Consumatorului de Aserțiune al SP. SP consumă afirmația și trimite o AttributeQuery către serviciul IdP pentru atributele legate de acel utilizator, care poate include sau nu identitatea utilizatorului.
  7. IdP trimite către SP o afirmație de atribut care conține informații fiabile despre utilizator.
  8. SP poate apoi fie să ia o decizie de control al accesului, fie să ofere informații aplicațiilor pentru a le permite să ia aceste decizii.

Shibboleth acceptă o serie de variante ale acestui caz de bază, inclusiv fluxuri în stil portal în care IdP elimină o afirmație nedorită care trebuie livrată la accesul inițial la SP și pornirea sesiunii „leneșe”, care permite unei aplicații să activeze protecția conținut printr-o metodă la alegere la cerere.

Shibboleth 1.3 și versiunile anterioare nu oferă un mecanism de autentificare încorporat, dar orice mecanism de autentificare bazat pe web poate fi utilizat pentru a furniza lui Shibboleth date de utilizator. Cele mai comune sisteme în acest scop sunt Serviciul Central de Autentificare (CAS) sau Pubcookie. Funcțiile de autentificare / SSO ale containerului Java în care rulează IdP (de exemplu, Tomcat) pot fi de asemenea utilizate.

Shibboleth 2.0

Shibboleth 2.0 se bazează pe standardele SAML 2.0. Shibboleth 2.0 IdP trebuie să efectueze procesări suplimentare pentru a suporta cereri de autentificare pasivă și forțată în SAML 2.0. SP poate solicita o metodă de autentificare specifică de la IdP. Shibboleth 2.0 acceptă capabilități suplimentare de criptare și setează o durată implicită a sesiunii de 30 de minute.

Atribute

Controlul accesului lui Shibboleth se realizează prin asocierea atributelor furnizate de IDP la regulile definite de SP-urile. Un atribut este orice atom de informații despre un utilizator, cum ar fi „membru al acestei comunități”, „Alice Smith” sau „licențiat în baza contractului A”. Identitatea utilizatorului este considerată un atribut și este transmisă numai dacă este solicitată în mod explicit, ceea ce păstrează confidențialitatea utilizatorului. Atributele pot fi scrise în Java sau extrase din directoare și baze de date. Atributele standardului X.520 sunt mai frecvent utilizate, dar atributele noi pot fi definite în mod arbitrar atâta timp cât sunt înțelese și interpretate în mod similar de către IdP și SP într-o tranzacție.

Încredere

Încrederea între domenii este implementată folosind criptografie cu cheie publică (adesea pur și simplu certificate de server SSL ) și metadate care descriu furnizorii. Utilizarea informațiilor transmise este controlată prin acorduri. Federațiile sunt adesea folosite pentru a simplifica aceste relații prin agregarea unui număr mare de furnizori care sunt de acord să utilizeze reguli și contracte comune.

Adopţie

Federațiile s-au format în multe țări din întreaga lume pentru a construi structuri de încredere pentru schimbul de informații utilizând software-ul SAML și Shibboleth. Mulți furnizori de conținut majori acceptă conectarea bazată pe Shibboleth.

Notă

  1. ^ Site-ul oficial al consorțiului Shibboleth , la shibboleth.net .
  2. ^ Michelle Pollack, I2-News: Internet2 Releases Privacy- Preserving Web Authorizing Software , at mail.internet2.edu , 1 iulie 2003. Accesat la 28 noiembrie 2007 (arhivat din original la 13 decembrie 2012) .
  3. ^ Shibboleth 2.0 Disponibil , pe lists.internet2.edu .
  4. ^ Tom Scavo și Scott Cantor, Shibboleth Architecture: Technical Overview (Document ID: draft-mace-shibboleth-tech-overview-02) ( PDF ), pe shibboleth.internet2.edu , 8 iunie 2005. Accesat 2 octombrie 2017 ( Arhivat din original la 14 martie 2012) .
  5. ^ Shibboleth Architecture: Protocols and Profiles ( PDF ), la wiki.shibboleth.net , 10 septembrie 2005. Accesat la 24 august 2017 .
  6. ^ Scott Cantor, RL "Bob" Morgan și Tom Scavo, Shibboleth Architecture: Conformance Requirements ( PDF ), la wiki.shibboleth.net , 10 septembrie 2005. Accesat la 24 august 2017 .

linkuri externe

Securitate IT Portal de securitate cibernetică : Accesați intrările Wikipedia care se ocupă de securitatea cibernetică