Tipus | estàndard tècnic i aplicació XML ![]() |
---|---|
Basat en | Extensible Markup Language ![]() |
Security Assertion Markup Language (Llenguatge de marques per assercions de seguretat, SAML, pronunciat SAM-el, /ˈsæməl/) és un estàndard informàtic obert per intercanviar dades d'autenticació i autorització entre parts, en particular, entre un proveïdor d'identitat i un proveïdor de servei.[1] SAML és un llenguatge de marques basat en XML, orientat a la seguretat.
SAML és també:
L'autenticació única és relativament fàcil d'acomplir dins d'un àmbit de seguretat (utilitzant galetes, per exemple) però ampliant SSO arreu de diferents àmbits de seguretat és més difícil i acaba abocant a la proliferació de no-interoperabilitats entre tecnologies propietàries. El perfil SSO de Navegadors Web SAML fou especificat i estandarditzat per promoure la interoperabilitat.[3]
Una asserció SAML és un document XML que el proveïdor d'identitat envia al proveïdor del servei que conté l'autorització de l'usuari:[4]
L'especificació de SAML defineix tres rols: el principal (típicament un usuari humà), el proveïdor d'identitat (IdP) i el proveïdor de servei (SP). En el cas d'ús bàsic adreçat per SAML, el principal llença una petició des del proveïdor del servei. El proveïdor del servei llença una petició al proveïdor d'identitat i que li retorna una asserció () d'autenticació. En la base d'aquesta asserció, el proveïdor del servei pot decidir el control d'accés, és a dir, pot decidir si per donar el vist-i-plau a l'intent de connexió que fa el principal.
Al cor de l'asserció de SAML hi ha un subjecte (un principal dins del context d'un àmbit de seguretat particular) sobre el que s'està provant de comprovar la identitat. El subjecte acostuma a ser (tot i que no té per què) un ésser humà. Mentre a la Revisió Tècnica SAML 2.0, els termes subjectes i principal es fan servir de forma intercanviada.[5]
Abans de comunicar l'asserció d'autenticació de l'IdP al SP, l'IdP pot demanar alguna informació del principal—com ara un nom d'usuari i contrasenya—per tal d'autenticar-lo. SAML especifica el contingut de l'asserció que l'IdP passarà al SP. A SAML, un proveïdor d'identitat pot proporcionar assercions a molts proveïdors de servei. Similarment, un SP pot fer les comprovacions a partir d'assercions de confiança de molts IdPs independents.
SAML no especifica el mètode d'autenticació al proveïdor d'identitat. L'IdP pot utilitzar un nom d'usuari i una contrasenya, o altres formes de autenticació, incloent l'autentificació de doble factor. Un servei de directori com RADIS, LDAP o Directori Actiu que permeten als usuaris identificar-se amb un nom d'usuari i una contrasenya són formes típiques d'autenticació de tokens usant un proveïdor d'identitat.[6] Les xarxes socials populars d'Internet també proporcionen serveis d'identitat que, en teoria, poden ser usades per donar suport a intercanvis SAML.
El Comité Tècnic de Serveis de Seguretat OASIS, reunit per primer cop al gener del 2021, es va encarregar de "definir un marc de treball XML per l'intercanvi de la informació d'autorització i autenticació".[7] Amb aquest objectiu, les propietats intel·lectuals de sota foren contribuïdes al Comité durant els primers dos mesos d'aquell any:
Desenvolupant a partir d'aquestes contribucions inicials, al novembre del 2002, OASIS va anunciar la versió 1.0 de l'especificació del Llenguatge de Marques de Serveis de Seguretat (S2ML) com un estàndard d'OASIS.[8]
Mentre, la Liberty Alliance, un gran consorci d'empreses i organitzacions sense ànim de lucre i governamentals, va proposar una extensió a l'estàndard SAML, anomenat el Liberty Identity Federation Framework (ID-FF).[8] Igual que el seu predecessor SAML, ID-FF va proposar un marc de treball estandarditzat, arreu de dominis, basat en web i d'autenticació única. Liberty també va descriure un cercle de confiança, on cada domini participant és confiat per acuradament documentar els processos usats per identificar un usuari, el tipus de sistema d'autenticació emprat i qualssevol polítiques associades amb les credencials d'autenticació emprades. Altres membres del cercle de confiança poden llavors examinar aquestes polítiques i determinar si confien en aquesta informació.
Mentre Liberty estava desenvolupant ID-FF, el SSTC va començar a treballar en una actualització menor de l'estàndard SAML. L'especificació SAML 1.1 resultant fou ratificada el setembre del 2003. Al novembre següent, Liberty va contribuir l' ID-FF a OASIS, plantant per tant la llavor per la següent versió major de SAML. Al març del 2005, SAML 2.0 fou anunciat com un estàndard OASIS, representant la convergència de Liberty ID-FF i les extensions propietàries contribuides pel projecte Shibboleth, així com versions anteriors de SAML mateix. La majoria d'implementacions de SAML suporten la versió 2.0 mentre moltes suporten la versió 1.1 per compatibilitat cap enrere. Cap al gener del 2008, els desplegaments de SAML 2.0 esdevingueren habituals en administració pública i empreses privades d'arreu del món.
Les versions de SAML han estat:
La Liberty Alliance va contribuir la seva Identity Federation Framework (ID-FF) a l'OASIS SSTC al setembre del 2003:
Les versions 1.0 i 1.1 de SAML són diferents excepte algunes petites diferències. Entre 1.1 i 2.0, les diferències són substancials, estant adreçades al mateix cas d'ús i sent la 2.0 compatible amb el seu predecessor.
Tot i que ID-FF 1.2 fou contribuït a OASIS com la base de SAML 2.0, hi ha algunes diferències important entre SAML 2.0 i ID-FF 1.2. En particular, ambdues especificacions, malgrat les seves adreces comunes, són incompatibles.