¿OpenID es tan fácil de hackear o me falta algo?


18

Para aquellas partes confiables (RP) que permiten al usuario especificar el proveedor de OpenID (OP), me parece que cualquiera que sepa o adivine que su OpenID podría

  1. Ingrese su propia dirección OP.
  2. Haga que los valide como propietarios de su OpenID.
  3. Acceda a su cuenta en el RP.

El RP "podría" tomar medidas para evitar esto al permitir que OpenID sea validado por el OP original, pero ...

  1. ¿Cómo sabes que lo hacen?
  2. Nunca podría cambiar su OP sin cambiar también su OpenID.

Respuestas:


7

OpenID es uno de esos sistemas en los que debe confiar en los puntos finales. Si el RP no es confiable, entonces este tipo de intoxicación por asociación es completamente posible. Si el RP es realmente confiable, entonces este tipo de ataque es MUCHO más difícil. La "solución" para no ser vulnerable a este ataque es la clave del principio de seguridad local (en ServerFault, esta sería la representación de su nombre de usuario en la base de datos back-end) con el punto final OpenID externo (la URL OpenID, ServerFault le permite asociar múltiples de estos).

Todavía puede atacar por medio de un ataque de envenenamiento de DNS por parte del RP, de modo que, por ejemplo, * .livejournal.com se redirige a un OP que ha diseñado especialmente para el ataque. Pero ese es un ataque de envenenamiento de DNS, no un error en OpenID. OpenID es vulnerable al envenenamiento de DNS.


En este caso, un RP confiable podría volverse no confiable porque suponen que OpenID es seguro en sí mismo.
David

Después de leer esto, me encontré en openid.net, y lo primero que vi fue el titular "The Foundation of Internet Identity" en el fondo de una foto de tres manos jugando a Jenga, cada una escogiendo una pieza de una forma muy inestable. Mirando la torre.
Andreas

2

Creo que estás confundiendo OpenID y las otras partes de User Security. Su OP es el mecanismo de autenticación, no su cuenta. Aquí en ServerFault, tiene una cuenta. Esa cuenta no tiene medios de autenticación por sí misma; excepto que lo señale a uno o más OP.

Cuando intenta iniciar sesión en su cuenta aquí como SF, le pide a su OP que maneje la autenticación. Solo ese OP (o los múltiples OP, sin importar cómo lo haya configurado) puede autenticarlo a los fines de su cuenta SF.

Hay tres partes en un sistema de inicio de sesión típico (llamado triple "A" o simplemente "AAA"):

  • Contabilidad: realiza un seguimiento de su nombre e información específica del sitio (como publicaciones, mensajes, etc.)
  • Autenticación: realiza un seguimiento de cómo asegurarse de que realmente sea usted (comúnmente una contraseña)
  • Autorización: realice un seguimiento de sus permisos Keeeps (acceso de lectura o escritura a varias cosas)

Puede leer más sobre los sistemas AAA en Wikipedia.


Si se me permite especificar cualquier OP cada vez que inicio sesión, el usuario malintencionado también podría especificar cualquier OP cuando intente hackear mi cuenta. Por lo tanto, especifican su propio OP y obtienen acceso.
David

No, solo les permitiría, una vez que hayan iniciado sesión, agregar puntos OpenID adicionales para su cuenta. Así lo hace de esta manera.
ceejayoz

2
@ David, cuando inicie sesión no especifica una cuenta y un OpenID que sólo se especifican el OpenID . Ese OpenID ya debe estar conectado a una cuenta, de lo contrario tiene la opción de crear una nueva cuenta (al menos aquí en SF).
Chris S

1

David, tu suposición es falsa. OpenID funciona así: 1) desea iniciar sesión en el sitio relyingparty.com 2) le da a relyingparty.com su OpenID, por ejemplo, david.com 3) relyingparty.com comprueba david.com (hey, es una URL) llamado punto final OpenID que se puede encontrar en david.com pero a través de la delegación también en otro lugar, por ejemplo, yahoo.com o google.com. vamos a llamarlo davidsopenidprovider.com 4) Ahora se le redirige a davidsopenidprovider.com. El trabajo de davidsopenidprovider.com es autenticarlo. Debe iniciar sesión en davidsopenidprovider.com. Depende de davidsopenidprovider.com cómo funciona este inicio de sesión. Puede ser nombre de usuario / contraseña, puede ser tarjetas de información, certificados de navegador, huellas digitales, tarjetas inteligentes, mecanismos fuera de banda como verificación de llamadas, ... Depende de davidsopenidprovider. com cómo maneja la autenticación. Luego se le pregunta si realmente desea iniciar sesión en relyingparty.com. 5) Si inició sesión con éxito en davidsopenidprovider.com, se lo redirigirá a relyingparty.com e iniciará sesión automáticamente allí. 6) davidsopenidprovider.com solo le garantiza a relyingparty.com que usted es quien dice ser. No envía ninguna contraseña.

Entonces su suposición "Como consumidor, cuando creo una cuenta en any-site.com, no tengo noción de la inteligencia de los desarrolladores / administradores del sitio". es falso en lo que respecta a OpenID. Si hay un punto débil, es el proveedor pero no any-site.com. Ese es el problema con los inicios de sesión tradicionales de nombre de usuario / contraseña ahora. Debe confiar en cada sitio que ofrece inicios de sesión de esa manera y no solo en uno, su proveedor de OpenID.

Espero que esto ayude a comprender OpenID.


0

¿Cómo sabes que lo hacen?

De la misma manera que sabe que cualquier sitio antiguo pasa su contraseña a otra persona, usted no. Es por eso que usa lo que probablemente sea una empresa de buena reputación.

Nunca podría cambiar su OP sin cambiar también su OpenID.

Seguro que puede. Mira en la delegación de OpenID.

Mi OpenID es http://ceejayoz.com/ , pero mi OP es WordPress.com. Dos METAetiquetas en la cabecera de http://ceejayoz.com/ me permiten hacer esto, y puedo cambiarlo cuando quiera.


0

Su openID es su proveedor. pwnguin.netes mi openID Esto no está sujeto a adivinanzas, es simplemente un hecho conocido. Lo que protege mi openID es el software que se ejecuta en pwnguin.net, que solo responde afirmativamente si el visitante en cuestión tiene una cookie de autenticación.

No diré que openID es seguro; hay todo tipo de scripts de sitios cruzados que podrían continuar, o algunos detalles mundanos que tiendo a ignorar o equivocarme.


0

Esto es lo que obtuve de las respuestas aquí ...

OpenID es tan seguro como las partes involucradas y eso es cierto para cualquier método de autenticación. Me di cuenta de eso antes de comenzar esta discusión.

El problema con OpenID, como me parece a mí, es doble ...

  1. Su LoginID ya no es un secreto compartido solo entre usted y el sitio en el que lo usa. Es su OpenID y es conocido por todos los sitios en los que lo usa, y es algo fácilmente adivinable como una dirección de correo electrónico o algo derivado de su dirección de correo electrónico o algo similar.

  2. Los RP pueden implementar OpenIP en su sitio sin hacer la debida diligencia, suponiendo que debido a que están utilizando un 'protocolo' ampliamente aceptado, es seguro. Por supuesto, la mayoría de los desarrolladores de sitios web corrientes no tienen un concepto real de cómo asegurar un sitio, pero, si implementan su propia seguridad, al menos el número 1 no entra en juego.

Como consumidor, cuando creo una cuenta en any-site.com, no tengo idea de la inteligencia de los desarrolladores / administradores del sitio. Utilizo una identificación que no creo que sea fácil de adivinar. No quiero que serverfault.com sepa la ID que uso para iniciar sesión en Etrade.com. También uso una contraseña diferente en cada sitio y administro esas contraseñas con mi propio esquema. Es muy poco probable que mi cuenta esté compuesta a menos que los operadores del sitio sean idiotas.

Con OpenID, todos en la WEB saben cómo funciona y cómo atacarlo, si el RP no cuenta con las medidas adecuadas.

Me encanta el software de código abierto, pero en el caso de OpenID, creo que abre la posibilidad de que haya implementaciones inferiores disponibles para los adoptadores desprevenidos.

Creo que todo esto podría resolverse mediante un sello de aprobación firmado que asegure al consumidor que el sitio ha pasado una auditoría y no es vulnerable a los piratas informáticos.

Tal vez solo soy paranoico.


Sé que esto es antiguo, pero saber que el "id" de openid es inútil ... google, por ejemplo, usa exactamente la misma url para un usuario único. Cómo saber eso te ayuda a iniciar sesión en stackoverflow como yo (aparte de saber que si puedes hackear mi cuenta de Google puedes ser autenticado como yo, pero eso no es diferente de "olvidé mi nombre de usuario / contraseña").
jmoreno
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.