Art Wittman | Director de contenido | 22 de octubre de 2024
Todos lo hacemos, y sabemos que no deberíamos. Hay ese archivo en nuestro teléfono o pedazo de papel en nuestra billetera, o peor aún, una nota de Post-it pegada a la parte posterior de nuestro teclado, que enumera nuestros nombres de usuario y contraseñas. Luego está el hábito de usar el nombre de nuestro perro junto con algunos números y alguna puntuación.
La realidad es que la vida moderna en el mundo web significa que de alguna manera tenemos que rastrear docenas de nombres de cuentas y contraseñas. A menos que tengas un recuerdo notable, no todos van a ser diferentes. En su mayoría son simples, son viejos, y si alguien realmente lo intentó, son adivinables. Es un regalo para los posibles ciberdelincuentes, y es 100% evitable.
La tecnología de inicio de sesión único es una solución parcial al problema de la contraseña que nos afecta tanto en el trabajo como en nuestra vida personal. Nos permite iniciar sesión una vez en un servidor de autenticación, que luego emite certificados en nuestro nombre que sirven como credenciales verificadas para las aplicaciones participantes.
Lo más probable es que haya utilizado un sistema de este tipo. Si has elegido "Iniciar sesión con Apple", o Google, o el sistema de gestión de identidad de algún otro proveedor grande en lugar de crear una nueva contraseña para una aplicación web, estás usando SSO. Cada vez más, SSO se utiliza en la empresa, también, a menudo en combinación con otras tecnologías de autorización para proteger los sistemas empresariales y hacer que el mantenimiento de contraseñas sea sostenible en docenas a cientos de aplicaciones y servicios.
Conclusiones clave
El concepto de inicio de sesión único es sencillo: en lugar de proporcionar un nombre de usuario y una contraseña o identificarse de otra manera con cada aplicación que utilice, proporcione esa información una sola vez a un servidor de autenticación. Una vez hecho esto, el servidor de autenticación envía certificados de identificación en su nombre cuando accede a cualquier aplicación que participa en el sistema SSO.
SSO reduce el número de nombres de usuario y contraseñas que necesita conocer. También puede reducir en gran medida el número de veces que se le pide que proporcione credenciales de identificación, lo que facilita el uso de una amplia gama de aplicaciones y es más probable que cree contraseñas más seguras. Desde el punto de vista de los planificadores de TI empresariales, SSO les permite actualizar los procedimientos de seguridad y desplegar mecanismos de autenticación más avanzados para ser utilizados por el servidor de autenticación, lo que permite a todas las aplicaciones participantes disfrutar de una autenticación más segura sin necesidad de modificación.
En su vida personal, el uso del sistema de autenticación de un proveedor importante en lugar de configurar manualmente un nuevo nombre de usuario y contraseña en cada aplicación viene con varios beneficios. Una ventaja principal es que los grandes proveedores que ofrecen servicios federados de gestión de identidad son buenos para proteger las contraseñas y otros datos personales que les confían los clientes. Es posible que un nuevo proveedor con una nueva aplicación no proteja tan bien las credenciales que proporciona.
SSO funciona solicitando a los usuarios que se autentiquen en un servidor SSO en lugar de en aplicaciones individuales. Una vez completado el proceso de autenticación, el servidor SSO proporciona certificados a las aplicaciones a las que un individuo autenticado desea acceder. Los certificados sirven para verificar la identidad del usuario.
Por lo general, los certificados solo son válidos durante un cierto período de tiempo y, por lo general, están vinculados al sistema desde el que se autentican los usuarios individuales. Para participar, las aplicaciones se deben escribir de forma que puedan utilizar el servicio SSO. En la empresa, los planificadores de TI normalmente elegirán un modelo SSO y, a continuación, necesitarán que las aplicaciones lo utilicen para verificar las identidades de los empleados. Esto puede ser un problema para las aplicaciones monolíticas más antiguas que crean sus propios repositorios de credenciales de usuario o que pueden no soportar arquitecturas SSO comunes.
Los componentes y conceptos comunes de SSO comparten varias características, incluida la gestión de identidad centralizada, la estandarización y las sólidas medidas de seguridad. Una clave es la interoperabilidad: estos sistemas deben trabajar juntos para asegurarse de que el proceso de autenticación sea fácil de usar y funcione sin problemas en múltiples aplicaciones. Cuando eso se logra, los equipos de TI encontrarán que son capaces de exigir contraseñas más seguras y autenticación de dos factores con un rechazo mínimo.
SAML. Security Assertion Markup Language es una especificación técnica que describe la estructura de un documento que servirá para autenticar usuarios en aplicaciones. SAML utiliza el estándar XML ampliamente aceptado para especificar la estructura del documento que los servidores de identidad, también conocidos como proveedores de identidad, crean y envían a las aplicaciones. Estas aplicaciones se denominan a menudo "proveedores de servicios" en el lenguaje SSO. Cualquier proveedor de identidad que utilice SAML creará credenciales de autenticación que puede utilizar cualquier aplicación que conozca SAML, lo que lo convierte en una buena opción para las aplicaciones de Internet.
SAML no proporciona un mecanismo para garantizar que la información de autenticación que recibe una aplicación no se modifica. Eso es manejado por otra tecnología.
Kerberos. Creado en el MIT a finales de 1980s como parte del Proyecto Athena, Kerberos es una arquitectura de autenticación y autorización completa. El Proyecto Athena buscó crear una red de recursos informáticos universalmente accesibles para los estudiantes del MIT en todo el campus. Kerberos utilizó originalmente el estándar de cifrado de datos (DES) para cifrar mensajes que se transfirieron entre los servidores de autenticación y las aplicaciones. Utilizó claves simétricas de 48 bits, lo que significa que la misma clave se utiliza para cifrar y descifrar mensajes. En ese momento, DES era la forma más segura de cifrado disponible como estándar mantenido por el Instituto Nacional de Estándares y Tecnología (NIST).
Actualmente, Kerberos utiliza el estándar de cifrado avanzado (AES), que sustituyó a DES en los estándares de cifrado del NIST. AES especifica claves más largas, de hasta 256 bits de longitud, y permite múltiples rondas de cifrado, lo que hace que el sistema sea muy difícil de descifrar.
Debido a que Kerberos utiliza cifrado de claves simétricas, requiere que un tercero de confianza gestione las claves, lo que lo hace más apropiado para aplicaciones empresariales donde un dominio de uso se puede establecer firmemente, generalmente limitado a las LAN y VPN de la empresa. Aunque Kerberos se puede utilizar en Internet, donde no se establecerá ningún dominio mediante un estándar de autenticación diferente (cifrado de clave pública) para iniciar el proceso, rara vez se utiliza de esta manera. Kerberos puede utilizar su propio formato de credencial o configurarse para utilizar SAML. Sigue siendo popular, incluso con Microsoft, que usa por defecto Kerberos en lugar de su sistema de autenticación NTLM menos seguro para redes empresariales.
OAuth. Como marco de autorización abierto que no incluye un marco de autenticación, OAuth es el sistema por defecto cuando una aplicación de Internet necesita acceder a los recursos de un servicio protegido en nombre de un usuario. La mayoría de los proveedores de nube, incluido Oracle con su Oracle Cloud Infrastructure (OCI), utilizan OAuth para gestionar el acceso a sus recursos en la nube. Oracle también ofrece bibliotecas y servicios que facilitan a los desarrolladores la creación de sus propias aplicaciones que utilizan OAuth.
Los siguientes son los componentes principales de un sistema OAuth:
El token de acceso puede especificar una variedad de tipos de permiso de acceso. Los distintos tipos se emiten según el nivel de confianza requerido y la naturaleza del dispositivo cliente. Por ejemplo, un televisor inteligente puede recibir un permiso de acceso diferente al de un portátil.
OpenID Conectar (OIDC). OpenID Connect es el sistema de gestión de identidades creado para su uso con OAuth. Juntos, OIDC y OAuth proporcionan un entorno SSO completo para aplicaciones basadas en web y sistemas nativos de Internet, como aplicaciones móviles. En lugar de utilizar SAML como base para devolver información de credenciales, OIDC utiliza un documento JSON conocido como tokens web JSON, que se describe a continuación, y protocolos RESTful; ambos son nativos de Internet y fáciles de usar para los desarrolladores.
En lugar de utilizar el cifrado de claves simétricas como lo hace Kerberos, OIDC utiliza el cifrado de claves públicas, que se presta mejor a redes sin dominio como Internet.
Autenticación de tarjeta inteligente. Sistemas como OIDC utilizan cifrado de clave pública para garantizar que solo los destinatarios deseados puedan ver los datos intercambiados con un proveedor de gestión de identidad durante y después de la autenticación. El cifrado de claves públicas es asimétrico e implica una clave pública, que se puede utilizar para cifrar los mensajes que se van a enviar a un cliente o servidor, y una clave privada que es secreta y que se debe utilizar para descifrar mensajes.
Normalmente, las claves privadas se almacenan en el dispositivo de un usuario. La mayoría de las computadoras portátiles vienen con un chip a prueba de alteraciones que utiliza la tecnología Trusted Platform Module (TPM) para descifrar los mensajes destinados al sistema. Los teléfonos Apple y Android utilizan sistemas diferentes, pero similares. Apple's se llama Secure Enclave y Android's se llama Android Knox. Estas tecnologías permiten que el dispositivo proporcione su clave pública a cualquier sistema que lo solicite correctamente y utilizará su clave privada que nunca se divulga para descifrar los mensajes que recibe.
La ventaja de estos sistemas es que el usuario del dispositivo no necesita saber nada sobre cómo se maneja el cifrado en sus sistemas. La desventaja es que cada dispositivo que posee el usuario tendrá un par único de claves públicas/privadas, por lo que los dispositivos se conocen individualmente en el proceso de cifrado. Si un ordenador portátil o teléfono se pierde o es robado, su sistema de cifrado no ayudará a evitar el acceso si el ladrón conoce la contraseña del propietario.
El uso de una tarjeta inteligente con un chip similar a los chips incrustados en las tarjetas de crédito permite a los usuarios autenticarse con un conjunto de claves, independientemente de los dispositivos que estén utilizando. El chip de la tarjeta es su propio microprocesador, por lo que debe insertarse en un lector de tarjetas o activarse y alimentarse mediante una tecnología RFID, como las comunicaciones de campo cercano. La seguridad de las tarjetas inteligentes es similar a la que ofrecen los chips TPM.
SSO de empresa. Las grandes organizaciones con infraestructuras de aplicaciones complejas pueden crear un sistema SSO de empresa, o eSSO, que se limita a los límites de sus redes. Los empleados apreciarán la necesidad de conocer solo una o dos contraseñas y nombres de usuario para acceder a las aplicaciones que su trabajo requiere, y la organización se beneficiará de una seguridad mejor y más manejable para los sistemas y los datos. Estos sistemas eSSO pueden preferir el cifrado de claves simétricas en función de su capacidad para revocar claves más fácilmente y SAML por su formato conocido, y a menudo emplean varios tipos de autenticación multifactor para una mejor seguridad de punto final.
A medida que las aplicaciones SaaS se vuelven más comunes, las empresas tienen la opción de avanzar hacia un sistema como OAuth que se utiliza más comúnmente en Internet o que requiere que las aplicaciones SaaS se ajusten al marco de eSSO que ha elegido la compañía. SAML se puede utilizar en la red empresarial y en Internet. Muchas aplicaciones SaaS soportarán ambos marcos para la autenticación de usuarios.
SSO web. Es probable que las aplicaciones web funcionen mejor o se limiten a utilizar OAuth para autorizar la actividad del usuario y OpenID Connect para autenticar usuarios. Como se supone que Internet es el transporte, los componentes de un sistema Web SSO se definen como un estándar IETF y, por lo tanto, tienden a funcionar de una manera que los desarrolladores web esperan y aprecian. Además, la autenticación está estrechamente vinculada con la autorización y utiliza métodos de acceso como protocolos REST y estándares de información basados en JSON para crear un sistema completo y extensible. Los sistemas de SSO web también están diseñados para funcionar en todos los dominios y a escala.
LDAP. El protocolo ligero de acceso a directorios se introdujo por primera vez en 1990s para permitir a los usuarios encontrar recursos que puedan desear utilizar en una red local, como servidores o impresoras. Se prevé un servidor autorizado que conocerá todos los recursos dentro de un dominio. Como tal, no es adecuado para el uso de Internet.
Debido a que LDAP se utiliza para otorgar acceso a los recursos de red, incluye un sistema de autenticación de usuarios con las credenciales del usuario almacenadas en el servidor LDAP. Sus mecanismos de autenticación de usuarios no son sólidos; por ejemplo, envía contraseñas a través de la red como texto no cifrado. Otro protocolo puede proporcionar cifrado, como SSL/TLS.
LDAP tiene la ventaja de ser flexible y ampliable, por lo que las empresas pueden utilizarlo para almacenar información adicional sobre los empleados, como roles organizativos y afiliaciones a grupos, y atributos como la ubicación de la oficina y el número de teléfono. Sin embargo, a menudo se requieren privilegios de acceso más detallados en la empresa (piense en la información sobre quién tiene acceso a ciertos datos) y esos derechos de acceso no pueden ser gestionados fácilmente por LDAP.
JWT. Los tokens web JSON son documentos compactos que se utilizan para transmitir información de forma segura entre las partes de una manera estructurada. Cumplen la misma necesidad que los documentos SAML, pero en formato más breve, lo que los hace adecuados para su inclusión en las URL. Los JWT se firman criptográficamente mediante técnicas de cifrado de clave pública para garantizar la autenticidad. En Open Authentication (Oath), una vez que se autentica un usuario, el servidor de identidad devolverá un token de ID de JSON.
Las solicitudes de autorización para acceder a recursos protegidos devolverán posteriormente un token de acceso JSON, que se debe incluir con cada solicitud en el servidor de recursos. Tales transacciones transfieren el estado del cliente, en este caso, autenticado y autorizado, como parte de cada solicitud, lo que los convierte en los llamados intercambios RESTful. REST, que significa "transferencia de estado representacional", es beneficioso porque los servidores de recursos no necesitan establecer y mantener sesiones con cada cliente que desee utilizar los recursos del servidor.
Los JWT son documentos de texto no cifrado, por lo que se deben utilizar en conexiones cifradas con HTTPS. Los tokens generalmente están diseñados de tal manera que no contienen datos confidenciales, como información de identificación personal. Debido a que cada token se firma de acuerdo con X.509, el estándar internacional para formatear certificados de clave pública, esa firma será validada por los servidores de recursos para garantizar que el token no se haya alterado. Los JWT son componentes de un sistema de autenticación y autorización OAuth/OpenID. Están diseñados para su uso en aplicaciones web, se escalan bien y están destinados a ser utilizados en todos los dominios.
Los profesionales de TI y seguridad tienden a ser fanáticos de SSO; entienden que significa centralizar la autenticación de usuarios, proteger información potencialmente confidencial y gestionar la integración con sistemas y aplicaciones empresariales. Por lo general, están encantados de abordar la formación de usuarios necesaria y abordar la supervisión y el mantenimiento continuos. Eso es un resultado directo de varios beneficios significativos que vienen con la tecnología.
En primer lugar, no hay tal cosa como seguro, solo hay grados de seguridad. Dicho esto, cualquier marco de SSO disponible comercialmente será altamente seguro, eso es parte del punto de la tecnología. Generalmente, el sistema SSO por sí solo no es una solución de seguridad total. En cambio, es un componente importante de un entorno seguro. Su papel como sistema tanto para autenticar usuarios como para proporcionar credenciales de autenticación a aplicaciones y otros sistemas que proporcionan recursos es una parte fundamental de una estrategia de seguridad general.
SSO se presta a una mejor privacidad, pero la privacidad puede variar con cada implementación. Por ejemplo, las respuestas de SAML y JWT contendrán, como mínimo, una afirmación de autenticación. También pueden contener información, como grupos y roles que se aplican al usuario, así como otros datos que los implantadores deciden proporcionar.
En las redes sociales o minoristas basadas en la web, puede ser útil para la aplicación conocer la edad, la ubicación y otra información personal del usuario. En general, si está demostrando dicha información personal a Facebook, asuma que Facebook se la proporcionará a otros a menos que la política de privacidad diga que no lo hará o que la aplicación le permita decir explícitamente que no comparta alguna información.
En la empresa, los sistemas SSO deben devolver afirmaciones de autenticación junto con los roles relevantes que el usuario tiene en la organización. También puede ser útil ofrecer la oficina de la empresa donde trabaja el usuario y el número de teléfono de la empresa. Otra información debería ser más difícil de obtener. Lo que se proporciona por defecto suele estar dictado por las políticas de RR. HH.
SSO está diseñado para proporcionar a los usuarios un acceso perfecto a varias aplicaciones y sistemas con solo un juego de credenciales de inicio de sesión. Si bien las organizaciones que tienen estrictos requisitos de cumplimiento normativo pueden encontrar que necesitan implementar medidas de seguridad adicionales, hay muchos casos de uso para SSO. Incluyen lo siguiente:
Aplicaciones empresariales Una empresa suele gestionar de docenas a cientos de aplicaciones, cada una de las cuales requiere que los usuarios se autentiquen. Crear y mantener sistemas de gestión de identidad por aplicación no es práctico para los usuarios o los equipos de TI. SSO ofrece una forma de autenticar a los empleados una vez y, a continuación, gestionar su autorización para utilizar recursos en función de esa autenticación puntual.
Las afirmaciones de autenticación suelen ser válidas solo durante un período determinado y en un único sistema. El sistema SSO puede conservar información más detallada sobre los roles de cada empleado dentro de la compañía y la pueden utilizar las aplicaciones o los sistemas de autorización para proporcionar acceso limitado a aplicaciones, datos y otros recursos.
Aplicaciones basadas en la nube Tanto para uso empresarial como de consumidor, los sistemas basados en la nube incluyen diferentes necesidades de identificación y autorización frente a los sistemas SSO destinados a la empresa. Para los consumidores, la conveniencia puede dictar que una vez que los usuarios son autenticados, pueden utilizar el servicio perpetuamente desde ese dispositivo. Una vez conectado a Gmail, por ejemplo, puede usarlo y otras aplicaciones de Google, como Docs o Sheets, sin necesidad de volver a autenticarse. En los negocios, los proveedores de servicios en la nube que ofrecen aplicaciones o plataformas SaaS e infraestructura como servicio también permitirán un amplio acceso a sus servicios una vez que se confirme la identidad del usuario. La autenticación es el primer paso en un esquema de autorización de servicio más grande que permite a los usuarios iniciar sesión una vez y utilizar una amplia gama de servicios. El acceso al servicio dependerá del rol de cada usuario para cada aplicación, tal vez sea administrador de una aplicación, desarrollador de una segunda y usuario final de una tercera. El acceso también dependerá de lo que la organización haya pagado.
No dejes que la falta de experiencia interna en seguridad te disuada de la adopción de SSO. Los proveedores de servicios de seguridad gestionados, así como los equipos de implementación de proveedores de SSO, están ahí para ayudar. Muchas empresas optan por utilizar los servicios SSO ofrecidos por proveedores externos. La empresa se beneficia de la experiencia, las funciones de seguridad avanzadas y la escalabilidad, y los equipos de TI pueden centrarse en ayudar a hacer crecer el negocio mientras dejan la gestión de SSO a los expertos.
En general, la aplicación requiere tres elementos principales.
Ya sea que esté implementando internamente, con la ayuda de un tercero o utilizando un modelo como servicio, hay claves para el éxito. Incluyen lo siguiente:
¿Necesita gestionar las identidades de los usuarios y el acceso a Oracle Cloud Infrastructure (OCI) y a través de aplicaciones en la nube y locales? Para las organizaciones que buscan una estrategia de seguridad de confianza cero, Oracle Cloud Infrastructure Identity and Access Management (IAM) proporciona las herramientas de gestión e integración que necesita.
¿Está interesado en implementar un autenticador universal con soporte de autenticación multifactor? Oracle Access Management ofrece un sistema flexible que se puede ejecutar en entornos locales o en la nube. Las organizaciones pueden activar estas políticas para seguir al usuario, independientemente de su dispositivo y ubicación, con el fin de proteger su acceso a los datos en cualquier lugar, en cualquier momento, desde cualquier dispositivo. Junto con la MFA, la cartera de IAM de Oracle admite SSO de dispositivos de confianza y SSO de aplicaciones, todo lo necesario para lograr principios y mandatos de arquitectura de confianza cero.
A medida que las empresas confían en más aplicaciones y las aplicaciones dependen de más servicios y fuentes de datos para hacer su trabajo, la autenticación y autorización de usuarios se vuelven más difíciles de gestionar. Los marcos SSO simplifican la vida tanto para los usuarios finales como para los arquitectos de aplicaciones al simplificar el proceso de autenticación y autorización.
La IA puede mejorar significativamente las capacidades y la seguridad de los sistemas SSO a través de la verificación biométrica, la detección de anomalías, el aprovisionamiento y otras capacidades. Descubre cómo poner en marcha un programa de IA de forma segura y rentable.
¿Qué significa SSO?
SSO son las siglas de Single Sign-On.
¿Cuál es mi cuenta de SSO?
Su cuenta SSO es un servicio de autenticación centralizado que le permite utilizar un juego de credenciales de conexión para acceder a varias aplicaciones y sistemas. Esto significa que solo tiene que recordar un nombre de usuario y una contraseña para acceder a todos los servicios y recursos que proporciona su organización. Las cuentas SSO optimizan el proceso de inicio de sesión, mejoran la seguridad y facilitan a los usuarios el acceso a la información y las herramientas que necesitan para realizar su trabajo.
¿Cuál es un ejemplo de un SSO?
En el espacio de consumo, grandes proveedores como Amazon, Google, Meta y Microsoft pueden actuar como una fuente de credenciales de usuario para otras aplicaciones. Si se le ha mostrado un cuadro de diálogo que le permite introducir sus credenciales o conectarse mediante uno de los servicios anteriores, está utilizando SSO.