Protocolo de seguridad SAML
Que es SAML?
- Define un framework XML para intercambiar informacion de autenticacion y autorizacion
- Existen varias declaraciones (Assertion) XML:
- Credenciales, autenticacion, atributo, autorizacion, etc.
- Protocolo tipo request & response
- Permite habilitar Single-Sign-On (SSO)
- Es un estandar OASIS
- https://www.oasis-open.org/standards
¿Por qué SAML?
- Estan apareciendo estandares para numerosas facetas de comercio colaborativo, como:
- Transacciones de negocio (Por ejemplo ebXML)
- Interaccion de software (Por ejemplo: SOAP)
- Pero no esta estandarizado un medio para comunicar esas propiedades de seguridad
- Pobre acoplamiento entre componentes
- *Dicen que es complicado de utilziar
¿Qué casos de uso podemos darle?
- Cuando compartes información de seguridad a traves de SAML este tiene tres formas para acometer sus diseños y requerimientos
- Single-Sign-On (Autentificacion unificada)
- Transacción distribuida
- Servicio de autorizacion
SAML
- Es un framework basado en XML para intercambiar información XML
- Declaraciones de seguridad (security assertions) codificadas en XML
- Protocolo request/response codificado en XML
- Reglas de uso de assertions con frameworks estándares de mensajería y transporte
SAML Assertions
- Las assertions son declaraciones o descripciones de un "hecho", asociados a "alguien".
- Las assertions SAML son conjuntos de uno o mas de tres clases de "sentencia" (statement) acerca de un "sujeto" (subject).
- Autenticacion (authentication statement)
- Atributo (attribute statement)
- Autorizacion (authorization statement)
Authentication assesment
- Un authority assert declara que:
- El sujeto S ha sido authenticado
- Con las intenciones I
- En la hora H
- Diseñado con el objetivo de usarlo en servicios de Single-Sign-On.
Ejemplo de assertion con un authentication statement

Ejemplo de assertion con dos attribute statement

Authorization statement
- Una autoridad decide
- Si conceder o no acceso a la request del subject S
- Para el acceso de tipo A al recurso R
- Proporcionando la credencial E
- El sujeto (subject) puede ser humano o programa
- El recurso puede ser una pagina web o un web service.
Ejemplo de assertion con authorization statement

Fin
Escenario hipotético de SSO
- A los administradores del aplicativo sani.metlife.cl se les permite el acceso a tasadores.metlife.cl sin hacer relogin. Lo reciproco tambien funcionara

Escenario de Transacción Distribuida
- Un cliente necesita contratar un seguro para su credito inmobiliario en metlife.cl, que esta afiliada cardif.cl

Escenario de servicio de autenticación
- Un empleado de metlife se autentica directamente en linkdin que efectua su propia autorizacion contra metlife.cl

Ejemplo SAML

Protocolo de seguridad SAML
By Emilio Montes
Protocolo de seguridad SAML
- 413