El inicio de sesión único (SSO) es un esquema de autenticación que permite a los usuarios iniciar sesión en una sesión una única vez, utilizando un conjunto único de credenciales de inicio de sesión, además de obtener acceso seguro a múltiples aplicaciones y servicios relacionados durante esa sesión sin necesidad de iniciar sesión nuevamente.
SSO se usa comúnmente para gestionar la autenticación en intranet o extranet de la empresa, portales de estudiantes, servicios de nube pública y otros entornos donde los usuarios necesitan moverse entre múltiples aplicaciones para realizar su trabajo. También se utiliza cada vez más en aplicaciones y sitios web orientados al cliente, como sitios de banca y comercio electrónico, para combinar aplicaciones de proveedores externos en experiencias de usuario ininterrumpidas y sin inconvenientes.
El inicio de sesión único se basa en una relación de confianza digital entre un grupo de aplicaciones, sitios web y servicios relacionados y confiables, llamados proveedores de servicio, y una solución SSO, llamada proveedor de identidad. La solución SSO suele formar parte de una solución IAM (gestión de identidades y accesos) más amplia.
En general, la autenticación SSO funciona de la siguiente manera:
El proceso puede variar dependiendo de varios factores. Por ejemplo, un usuario que ha estado inactivo durante un período específico puede necesitar iniciar sesión cuando intenta acceder a otra aplicación. O bien, si un usuario autenticado intenta acceder a una aplicación o servicio que maneja información especialmente confidencial, se le puede solicitar al usuario un factor de autenticación adicional, como un código enviado al teléfono móvil o al e-mail del usuario (consulte 'SSO adaptativo' a continuación).
Obviamente, SSO ahorra tiempo y problemas a los usuarios. Tome a los usuarios corporativos, por ejemplo: en lugar de iniciar sesión en varias aplicaciones varias veces al día, con SSO a menudo pueden iniciar sesión en la intranet o extranet corporativa solo una vez para acceder durante todo el día a cada aplicación que necesitan.
Pero al reducir drásticamente la cantidad de contraseñas que los usuarios deben recordar y la cantidad de cuentas de usuario que los administradores deben gestionar, SSO refuerza la postura de seguridad de las organizaciones. Específicamente, SSO puede
El principal riesgo de SSO es que si las credenciales de un usuario se ven comprometidas, pueden otorgar acceso a un atacante a todas o la mayoría de las aplicaciones y recursos en la red.
Solicitar a los usuarios que creen contraseñas largas y complejas, y cifrarlas y protegerlas cuidadosamente donde sea que estén almacenadas, contribuye en gran medida a prevenir el peor de los casos. Pero la mayoría de los expertos en seguridad recomiendan implementar SSO con autenticación multifactor o MFA. MFA requiere que los usuarios proporcionen al menos un factor de autenticación además de una contraseña, por ejemplo, un código enviado a un teléfono móvil, una huella digital o una tarjeta de identificación. Debido a que estas credenciales adicionales son las que los hackers no pueden robar o falsificar fácilmente, MFA puede reducir drásticamente los riesgos relacionados con las credenciales comprometidas en SSO.
El esquema de SSO descrito anteriormente (un inicio de sesión único y un conjunto de credenciales de usuario que proporciona acceso a la sesión a varias aplicaciones relacionadas) a veces se denomina SSO simple o puro. Otros tipos de SSO, o métodos de autenticación similares a SSO, incluyen:
SSO se puede implementar mediante cualquiera de varios protocolos y servicios de autenticación.
SAML/SAML 2.0
SAML (Security Assertion Markup Language) es el protocolo estándar abierto más antiguo para el intercambio de datos cifrados de autenticación y autorización entre un proveedor de identidad y varios proveedores de servicios. Debido a que proporciona un mayor control sobre la seguridad que otros protocolos, SAML generalmente se usa para implementar SSO dentro y entre dominios de aplicaciones empresariales o gubernamentales.
OAuth/OAuth 2.0
OAuth/OAuth 2.0 (Autorización abierta) es un protocolo estándar abierto que intercambia datos de autorización entre aplicaciones sin exponer la contraseña del usuario. OAuth permite usar un inicio de sesión único para agilizar las interacciones entre aplicaciones que normalmente requieren inicios de sesión separados para cada una. Por ejemplo, OAuth hace posible que LinkedIn busque en sus contactos de e-mails posibles nuevos miembros de la red.
OpenID Connect (OIDC)
Otro protocolo estándar abierto, OICD, utiliza API REST y tokens de autenticación JSON para permitir que un sitio web o una aplicación otorgue acceso a los usuarios autenticándolos a través de otro proveedor de servicios.
En capas sobre OAuth, OICD se usa principalmente para implementar inicios de sesión sociales en aplicaciones de terceros, carritos de compras y más. Una implementación más liviana, OAuth/OIDC a menudo se utiliza para SAML para implementar SSO en SaaS (software como servicio) y aplicaciones en la nube, aplicaciones móviles y dispositivos de Internet de las cosas (IoT).
LDAP
LDAP (protocolo ligero de acceso a directorios) define un directorio para almacenar y actualizar las credenciales de los usuarios y un proceso para autenticar a los usuarios en el directorio. Introducido en 1993, LDAP sigue siendo la solución de directorio de autenticación elegida por muchas organizaciones que implementan SSO, porque LDAP les permite proporcionar un control granular sobre el acceso al directorio.
ADFS
ADFS (Servicios de federación de Active Directory) se ejecuta en Microsoft Windows Server para permitir la gestión de identidades federadas, incluido el inicio de sesión único, con aplicaciones y servicios locales y externos. ADFS utiliza Servicios de dominio de Active Directory (ADDS) como proveedor de identidad.
'Confianza cero' adopta un enfoque de seguridad de 'nunca confíe, siempre verifique': cualquier usuario, aplicación o dispositivo, ya sea fuera de la red o ya autenticado y dentro de la red, debe verificar su identidad antes de acceder al siguiente recurso de red que desee acceder.
A medida que las redes se vuelven más distribuidas, abarcando la infraestructura local y múltiples nubes públicas y privadas, un enfoque de confianza cero es esencial para evitar que las amenazas que penetran en la red obtengan más acceso y causen el máximo daño.
SSO, y en particular SSO como parte de una solución IAM, se considera ampliamente como una tecnología fundamental para implementar un enfoque de confianza cero. El desafío fundamental de la confianza cero es crear una arquitectura de seguridad que pueda tomar medidas drásticas contra los atacantes que ingresan a la red, sin obstaculizar la capacidad de los usuarios finales autorizados para moverse libremente por la red y realizar su trabajo o negocio. Cuando se combina con autenticación multifactor, controles de acceso y permisos, microsegmentación de red y otras técnicas y mejores prácticas, SSO puede ayudar a las organizaciones a lograr este equilibrio.