Recomendaciones para la implementación de un SSO (Single Sign On)

Hola a todos. Quisiera saber sobre recomendaciones que me puedan hacer para la implementación de un SSO. Específicamente sobre frameworks existentes que puedan ayudar en la implementación del SSO. El contexto completo del proyecto es bastante amplio y aún no está completamente definido, por esta razón no especifico más información, sin embargo lo que se pretende es tener un SSO que sirva como la puerta de entrada a una o más aplicaciones de acuerdo a lo que los usuarios tienen asignado. Como dato extra les comento que las aplicaciones a las que se pretende implantar el SSO, son aplicaciones que hacen uso de Spring principalmente, por lo que no se si se pueda sacar ventaja de esto.

No se si tienen algún comentario u opinion acerca de OPENSSO, JOSSO o de algún otro framework que pueda ser de ayuda para el SSO.

Saludos!

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

OpenID? Spring Security?

Si estas usando Spring, ya viste Spring Security (antes llamado Acegi)? No trae para SSO?

Otra opción es que veas OpenID, una especificación abierta que te puede ayudar con esto, ya que además de que permite a usuarios con una cuenta de OpenID entrar a cualquier sitio que use OpenID, parece que también permite lo de SSO. Seguramente hay alguna librería en Java para manejar OpenID.

JAAS

La otra es que uses el API de JAAS, con la cual puedes realizar un SSO, la ventaja que también se puede integrar con algún Portal.

Saludos

Recomendaciones para la implementación de un SSO (Single Sign On

El contexto completo del proyecto es bastante amplio y aún no está completamente definido, por esta razón no especifico más información, sin embargo lo que se pretende es tener un SSO que sirva como la puerta de entrada a una o más aplicaciones de acuerdo a lo que los usuarios tienen asignado.

Las recomendaciones que obtengas en esta etapa tan temprana donde hay tan poca información serán escuetas. Por ejemplo, ¿ya tienen resuelto el tema de administración de identidad? ¿Basta con que los usuarios hagan el sign-on en su máquina Windows para otogarles/negarles el acceso a todos los sistemas con dicha credencial? ¿El single sign-off se realizaría entonces al terminar la sesión de Windows? ¿Como piensan aplicar el esquema para autenticación servicios en la intranet como web services o llamadas por medio de RMI/RPC si es que estos existen?

las aplicaciones a las que se pretende implantar el SSO, son aplicaciones que hacen uso de Spring principalmente, por lo que no se si se pueda sacar ventaja de esto

No hay razón en contrario. Si se habilita SPNEGO ni siquiera haría falta que los usuarios proporcionen sus credenciales una vez firmados en sus equipos Windows (depende del servidor web o del servidor de aplicaciones). También podría sacarse provecho de NTLM en redes Windows.

Si las aplicaciones Spring ejecutan en un contenedor JEE y utilizan un realm, podrían reemplazarlo con un provider que se conecte a tu solución de administración de identidad. En fin, hay múltiples alternativas, pero por supuesto se podrían discutir más a fondo una vez que se tenga una idea más clara de la situación actual y de la situación deseada.

Saludos

Javier Castañón

Re: OpenID? Spring Security?

Spring Security ya trae soporte para SSO. Respecto a OpenID, una cita:

"Authentication is out of scope for OpenID. Because there is no silver bullet for security, the way you authenticate your OpenID is actually out-of-scope of the protocol. We have seen vendors offer unique solutions like Verisign’s VIP, JanRain’s CallVerifID and Vidoop’s ImageShield created to provide alternatives to passwords for authenticating users’ OpenID’s. OpenID allows companies both large and small to experiment with ways to authenticate their users without requiring buy-in from sites across the Internet."

Que es una manera elegante de decir: "OpenID es aún inmaduro para ser considerado viable como una solución de autenticación en la que más de un Relying Party confíe"

Saludos

Javier

Recomendaciones para la implementación de un SSO (Single Sign On

Gracias por las respuestas y el interes sobre el tema. En efecto, la información aún es escueta, sin embargo en las próximas semanas se comenzará a recopilar toda la información necesaria para aterrizar mejor el problema y la solución que se busca. En cuanto tenga más información se las haré saber. Mientras tanto, se agradece lo comentado en relación al uso del OpenID para aplicarlo a soluciones de autenticación.

Saludos!