Single SingOn (SSO)

Single SingOnEl Single SingOn (SSO o inicio de sesi贸n 煤nica) es la capacidad de las aplicaciones modernas para permitir a los usuarios el acceso a varias aplicaciones mediante una solo autenticaci贸n, utilizando para ello, un proveedor de autenticaci贸n en com煤n.

Esto quieres decir que un usuario podr铆a entrar a varias aplicaciones sin necesidad de tener que autenticarse en cada una, en su lugar, solo requerir谩 autenticarse la primera vez en cualquiera de las aplicaciones y posteriormente podr谩 acceder al resto si pasar por el proceso de autenticaci贸n.

 

M茅todos de autenticaci贸n tradicional

 

Para comprender mejor este concepto es importante entender c贸mo funcionan los m茅todos de autenticaci贸n tradicional, en el cual, los usuarios requieren de un inicio de sesi贸n en cada aplicaci贸n o p谩gina web en la que requieren entrar:

 

Tradicional authentication method Single SingOn

Ilustraci贸n 1 – M茅todo de autenticaci贸n tradicional

 

En los m茅todos de autenticaci贸n tradicional, el usuario tiene que autenticarse en cada aplicaci贸n en la que va requiriendo acceder, de esta manera, el usuario puede tener un usuario y contrase帽a diferente para cada aplicaci贸n. Cuando el usuario introduces sus credenciales, las aplicaciones van y comprueba que los datos del usuario son correctos directamente sobre su base de datos. Si las credenciales son correctas el usuario podr谩 acceder y operar el sistema.

 

 

Single SingOn (SSO)

 

A diferencia de los m茅todos tradicionales, SSO permite delegar el proceso de autenticaci贸n a una entidad externa, la cual tiene como 煤nica responsabilidad autenticar que el usuario es quien dice ser, una vez autenticado este regresa un comprobante o Ticket que deber谩 ser presentado a la aplicaci贸n a la cual se est谩 solicitando el acceso. La aplicaci贸n toma el comprobante y lo valida contra la entidad de autenticaci贸n (SSO) y valida la veracidad del ticket y la vigencia del mismo, si todo est谩 bien, entonces la aplicaci贸n permite al usuario operar el sistema. Cuando el usuario requiere entrar a otra aplicaci贸n distinta, tan solo requerir谩 presentar el ticket para poder autenticarse nuevamente hasta esta otra aplicaci贸n.

 

Single SingOn Authentication

Ilustraci贸n 2 – Autenticaci贸n mediante Single SingOut

 

En esta imagen, podemos apreciar de forma m谩s clara como es el proceso de autenticaci贸n mediante SSO. El usuario intenta entrar a la aplicaci贸n A, como el usuario no est谩 autenticado, redirecciona al usuario a al proveedor de autenticaci贸n que soporte SSO, el usuario se autentifica ante el proveedor de autenticaci贸n, si se lleva acabo correctamente, este crea un token que le es enviado al usuario. A continuaci贸n, el proveedor de autenticaci贸n redirecciona nuevamente al usuario a la aplicaci贸n A. Cuando el usuario es redireccionado nuevamente a la aplicaci贸n A, el cliente ya cuenta con un token, el cual es enviado a la aplicaci贸n A para la autenticaci贸n. Finalmente, la aplicaci贸n A requiere validar el Token contra el proveedor de autenticaci贸n, si este es v谩lido, entonces la aplicaci贸n A permite al usuario operar.

Puedes aprender m谩s sobre los tokens y la autenticaci贸n en mi articulo autenticacion con json web tokens

 

 Single SingOn Authentication away

 

Ilustraci贸n 3 – Autenticaci贸n en la aplicaci贸n B

 

Otro escenario a estudiar, es cuando el usuario intenta entrar a una segunda aplicaci贸n (Aplicaci贸n B) justo despu茅s de haber autenticado en la aplicaci贸n A. Lo que pasa es muy parecido a lo que acabamos de analizar. Como el usuario ya cuenta con un Token, solo requiere enviar el token al momento de conectarse con la aplicaci贸n B, seguido, este valida que el token sea v谩lido con ayuda del proveedor de autenticaci贸n, este 煤ltimo le indica a la aplicaci贸n B que el token es v谩lido, entonces la aplicaci贸n B permite al usuario operar la aplicaci贸n.

En caso de que el proveedor de autenticaci贸n regresara que el token es invalido, entonces la aplicaci贸n redirecciona al usuario al proveedor de autenticaci贸n para que inicie sesi贸n nuevamente.

 

 

Ventajas y Desventajas

 

A continuaci贸n, listo algunas de las ventajas/desventajas que veo implementar SSO

 

Ventajas

  • Simplifica la forma de autenticaci贸n para los usuarios.
  • Permite tener una sola credencial para todos los aplicativos.
  • Facilita el porte t茅cnico, pues en caso de p茅rdida de contrase帽as, solo modifica en un solo punto.

 

Desventajas

  • Si falla la autoridad de autenticaci贸n, es muy probable que no se tenga accesos a las aplicaciones asociadas.
  • Un 煤nico usuario/password para todas las aplicaciones aumenta el riesgo de seguridad, pues las mismas credenciales dan acceso a todas las aplicaciones.
  • Requiere preparar a las aplicaciones para soportar SSO

 

 

Conclusiones

 

Single SingOn se ha convertido es una de las tecnolog铆as favoritas de las compa帽铆as, pues en muchas ocasiones, es posible autenticarse a las aplicaciones con tan solo estar logeados en la computadora.

Tambi茅n tenemos los inicios de sesi贸n mediante redes sociales han sido un 茅xito en la web, pues es posible acceder a p谩ginas con nuestra cuenta de Google, Facebook, Twitter, etc.

 

En lo general, implementar Single SingOn es una muy buena estrategia, sin embargo, existe escenarios de alta seguridad, en donde tener un solo usuario/password podr铆a ser muy riesgoso, 驴o te imaginas que los c贸digos nucleares de una naci贸n se activar谩n con la contrase帽a de su Twitter?

Art铆culos relacionados

Que es Service-oriented architecture (SOA) En los 煤ltimos a帽os hemos escuchado haber de SOA por todas partes, SOA aqui SOA alla y SOA por todas partes, Pero que es realmente SOA ya que en ocasi...
sql injection, tu p谩gina esta en peligro Probablemente hallas escuchado el termino SQL Injection聽 o Inyecci贸n de SQL y es que es uno de los ataques m谩s frecuentes a los sistemas inform谩tico...
Integraci贸n de aplicaciones con Cross Reference Cross Reference o Referencias cruzadas es una de las t茅cnicas m谩s utilizadas para la integraci贸n de aplicaciones basadas en Arquitectura SOA, en don...

Oscar Blancarte

Ideol贸gico, Innovador y emprendedor, Padre, Tecn贸logo y Autor, amante de la ciencia y la tecnolog铆a en todos sus colores y sabores. Arquitecto de software & Full Stack Developer con experiencia en la industria del desarrollo de software y la consultor铆a. Amante de la programaci贸n y el Ajedrez.

Deja un comentario

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *