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

Made with Slides.com