Me pregunto qué modelo de seguridad está detrás de OpenID. ¿Es algo así como kerberos?
La pregunta es muy amplia y es difícil adivinar lo que realmente estás preguntando. Puede encontrar la especificación en enlace
Kerberos se utiliza normalmente en un entorno controlado . En ese entorno hay servidores Kerberos conocidos y confiables ("centro de distribución de claves"). El servidor Kerberos autentica el proveedor de servicios para el cliente y el cliente para el proveedor de servicios. Por lo tanto, el servidor Kerberos debe conocer a todos los clientes y a todos los proveedores de servicios.
OpenID , sin embargo, está diseñado para un entorno abierto como Internet en general. Es decir, cualquier proveedor de servicios (sitio web) puede trabajar junto con cualquier servidor openid ("proveedor de identidad") para autenticar a los clientes.
Como Kerberos se utiliza en entornos controlados, el inicio de sesión en los servicios es totalmente transparente después de iniciar sesión en su computadora. Sin embargo, en Internet, debe elegir su proveedor de openid y luego iniciar sesión en él. Estos son dos pasos adicionales. Además, la redirección a su proveedor de openid puede terminar en un sitio de phishing , si el proveedor de servicios es malicioso.
El servidor openid solo conoce a sus usuarios. A diferencia de Kerberos, los proveedores de OpenID no pueden autenticar a los proveedores de servicios . Muchos proveedores de Openid, por lo tanto, piden al usuario que confirme que desea iniciar sesión en un sitio web específico antes de pasar información de identidad. En un entorno controlado, los administradores toman esas decisiones (asumiendo que tienen un mejor entendimiento sobre la seguridad que los usuarios). Esta confirmación se puede guardar para cada dominio. A diferencia de Kerberos, sin embargo, no hay autenticación involucrada. Si la propiedad de un dominio cambia por razones legítimas o ilegales, esto no se nota.
OpenID tiene una serie de problemas que Kerberos no tiene. Sin embargo, Kerberos no funciona en absoluto en un entorno abierto, por lo que no es una alternativa para los casos de uso comunes de OpenID.
Entiendo que OAuth (que es el protocolo que implementa OpenID) es un descendiente directo de Kerberos. Echa un vistazo a esta discusión para ver un puntero a la especificación.
Lea otras preguntas en las etiquetas authentication openid federation sso