¿Qué es SSO (Single Sign-On) y como funciona?

Descubre todos los detalles para mejorar tus conocimientos relacionados a SSO

2024-05-07

¿Qué es SSO (Single Sign-On)?
 

Muchos usuarios se han enfrentado a la molesta experiencia de iniciar sesión en varios sitios web que utilizan a diario y no tener la confianza plena de cuáles son sus contraseñas.

Esto puede implicar intentar recordar múltiples contraseñas olvidadas hace mucho tiempo, o escribir los nombres de las mascotas de la infancia para responder preguntas de seguridad. 

SSO elimina esta incomodidad y mejora la vida en línea.  Single Sign-On (SSO) es un esquema de autenticación que se  utiliza para iniciar sesión en un sistema o plataforma en línea. Este proceso permite a un usuario iniciar sesión en diferentes sistemas usando un solo ID.

 Ejemplo de Funcionamiento

 

Paso 1: 

Un usuario visita Gmail, o cualquier servicio de correo electrónico. Gmail encuentra que el usuario no está conectado y lo redirige al servidor de autenticación SSO, que también encuentra que el usuario no está conectado. Como resultado, el usuario es redirigido a la página de inicio de sesión de SSO, donde ingresa sus credenciales de inicio de sesión.

Pasos 2-3: 

El servidor de autenticación SSO valida las credenciales, crea la sesión global para el usuario y crea un token.

Pasos 4-7: 

Gmail valida el token en el servidor de autenticación SSO. El servidor de autenticación registra el sistema de Gmail y devuelve "válido". Gmail devuelve el recurso protegido al usuario.

Paso 8: 

Desde Gmail, el usuario navega a otro sitio web propiedad de Google, por ejemplo, YouTube.

Pasos 9-10: 

YouTube encuentra que el usuario no está conectado, y luego solicita autenticación. El servidor de autenticación SSO encuentra que el usuario ya está conectado y devuelve el token.

Pasos 11-14:

YouTube valida el token en el servidor de autenticación SSO. El servidor de autenticación registra el sistema de YouTube y devuelve "válido". YouTube devuelve el recurso protegido al usuario.

El proceso está completo y el usuario recupera el acceso a su cuenta.

 

Beneficios de su uso:

  • SSO permite a los usuarios acceder a múltiples sistemas y aplicaciones con un solo conjunto de credenciales. Esto elimina la necesidad de recordar y escribir múltiples contraseñas, lo que simplifica el proceso de inicio de sesión y mejora la experiencia del usuario.
  • Al reducir la fricción asociada con el proceso de inicio de sesión, SSO mejora la eficiencia y la productividad de los usuarios. No tener que iniciar sesión repetidamente en diferentes sistemas a lo largo del día permite a los empleados concentrarse en sus tareas principales sin interrupciones innecesarias.
  • Mejora de la seguridad: Aunque puede parecer paradójico, SSO puede mejorar la seguridad al reducir la probabilidad de que los usuarios utilicen contraseñas débiles o reutilizadas. Además, al centralizar la gestión de contraseñas y la autenticación, las organizaciones pueden implementar políticas de seguridad más sólidas y consistentes.
  • Para los administradores de sistemas, SSO simplifica la gestión de cuentas de usuario al reducir la cantidad de contraseñas que deben administrar y restablecer. Esto también disminuye el riesgo de errores humanos y facilita la incorporación y salida de empleados en la organización.
  • Al disminuir el número de solicitudes de soporte relacionadas con contraseñas olvidadas o bloqueadas, SSO puede reducir los costos asociados con el soporte técnico y la gestión de cuentas de usuario.
  • Al implementar políticas de acceso más estrictas y un mayor control sobre la autenticación de usuarios, SSO puede ayudar a las organizaciones a cumplir con los requisitos de cumplimiento normativo, como GDPR, HIPAA, PCI-DSS, entre otros.

 

Protocolos y estándares:

SSO puede implementarse utilizando diferentes protocolos, como SAML (Security Assertion Markup Language), OAuth (Open Authorization), OpenID Connect, entre otros. Es importante entender cómo funcionan estos protocolos y cuál es el más adecuado para las necesidades específicas de la organización:

 

SAML (Security Assertion Markup Language):  SAML es un estándar de intercambio de información de autenticación y autorización entre partes, desarrollado por el Consorcio de Autenticación de Seguridad (OASIS). Permite que un servicio de autenticación (proveedor de identidad) autentique a un usuario y genere un "assertion" (declaración) sobre el usuario, que luego es consumida por un servicio de proveedor de servicios para permitir el acceso.

SAML utiliza XML para codificar las declaraciones de autenticación, proporcionando un método seguro y estandarizado para la autenticación basada en tokens.

 

OAuth (Open Authorization):

OAuth es un protocolo de autorización estándar que permite que una aplicación obtenga acceso limitado a los recursos de un usuario en un servicio en línea, sin necesidad de que el usuario comparta sus credenciales de inicio de sesión.

OAuth se utiliza comúnmente para permitir que aplicaciones de terceros accedan a recursos protegidos en nombre de un usuario, como por ejemplo, acceder a su cuenta de redes sociales para publicar contenido o interactuar con amigos.

OAuth utiliza tokens de acceso para proporcionar autorización, en lugar de autenticación directa como lo hace SAML.

 

OpenID Connect:

OpenID Connect es una capa de autenticación sobre OAuth 2.0, diseñada para la autenticación de usuarios y la gestión de identidades. 

Proporciona una forma estándar de que los usuarios autentiquen su identidad en diferentes sitios web o aplicaciones utilizando proveedores de identidad compatibles con OpenID Connect.

OpenID Connect utiliza tokens de identificación (ID tokens) basados en JSON Web Tokens (JWT) para proporcionar información sobre la identidad del usuario autenticado.

 

¿Qué otros métodos de Sign On existen?

  • Social Sign-On: Permite a los usuarios iniciar sesión en un sitio web utilizando sus credenciales de una red social, como Facebook, Google, Twitter, etc.
  • Federated Sign-On: Similar al SSO, pero permite a los usuarios iniciar sesión en sistemas o aplicaciones que están bajo diferentes dominios o autoridades de seguridad.
  • Passwordless Sign-On: Elimina la necesidad de usar contraseñas tradicionales para la autenticación, utilizando métodos alternativos como biometría, tokens de seguridad o códigos de verificación.
  • Multi-Factor Authentication (MFA): Requiere que los usuarios proporcionen más de un método de autenticación para verificar su identidad, como una combinación de contraseña, código SMS, token de seguridad, etc.

 

 

Últimas publicaciones

Red Flags en tu trabajo y como saber cuando debes irte

02/09/2024

Ver articulo

Herramientas SAST que todo Developer debería conocer

26/08/2024

Ver articulo

¿Por qué es importante trackear tus logros en tu trabajo?

20/08/2024

Ver articulo
Whatsapp Mentores Tech