google - spring security 5 oidc
Proveedores de OpenID: ¿qué detiene a los proveedores maliciosos? (6)
Entonces me gusta la idea de OpenID. Lo apoyo en mi sitio y lo uso donde sea posible (¡como aquí!). Pero no tengo claro una cosa.
Un sitio que admite OpenID básicamente acepta cualquier proveedor de OpenID, ¿no? ¿Cómo funciona eso con los sitios que quieren reducir el registro de bots? ¿Qué impide que un proveedor malicioso de OpenID configure ID de bot ilimitados automáticamente?
Tengo algunas ideas, y las publicaré como posible respuesta, pero me preguntaba si alguien puede ver algo obvio que me he perdido.
La respuesta corta a su pregunta es: "No es así". OpenID proporciona deliberadamente solo un mecanismo para tener un sitio de autenticación centralizado; Depende de usted decidir qué proveedores de OpenID considera personalmente aceptables. Por ejemplo, Microsoft decidió recientemente permitir OpenID en su sitio de Healthvault solo de unos pocos proveedores seleccionados . Una empresa puede decidir solo permitir los inicios de sesión de OpenID desde su punto de acceso respaldado por LDAP, una agencia gubernamental solo puede aceptar OpenID de sitios respaldados por biometría, y un blog solo puede aceptar TypePad debido a su intenso filtrado de spam.
Parece haber mucha confusión sobre OpenID. Su objetivo original era simplemente proporcionar un mecanismo de inicio de sesión estándar para que, cuando necesite un mecanismo de inicio de sesión seguro, pueda seleccionar uno o todos los proveedores de OpenID para manejarlo por mí. Permitir que cualquiera en cualquier lugar establezca su propio proveedor confiable de OpenID nunca fue el objetivo. Hacer el segundo de manera efectiva es imposible; después de todo, incluso con el cifrado, no hay ninguna razón por la que no pueda configurar su propio proveedor para mentir de forma segura y decir que está autenticando a quien desee. Tener un único mecanismo de inicio de sesión estandarizado ya es un gran paso adelante.
OpenId no es mucho más que el nombre de usuario y la contraseña que un usuario selecciona al registrarse en su sitio. No confías en el framework OpenId para eliminar bots; su sistema de registro todavía debería estar haciendo eso.
Por lo que puedo decir, OpenID aborda solo la identificación, no la autorización. Detener bots es una cuestión de autorización.
Posible solución: aún puede solicitar nuevas ID para aprobar una prueba CAPTCHA. Al igual que los bots pueden registrarse con direcciones de correo electrónico falsas / múltiples en cualquier sitio, pero también fallan los pasos de "verificación" allí.
¿O vamos a tener que comenzar a mantener listas negras de proveedores? Esos no funcionarán realmente bien, dado lo trivialmente fácil que es establecer un nuevo proveedor.
Tenga en cuenta que, a diferencia de los inicios de sesión "por sitio" convencionales, OpenID le proporciona una identidad que potencialmente trasciende los sitios individuales. Mejor aún, esta identidad es incluso una URI, por lo que es perfecta para usar con RDF para intercambiar o consultar metadatos arbitrarios sobre la identidad.
Puede hacer algunas cosas con un OpenID que no puede hacer con un nombre de usuario convencional de un nuevo usuario.
En primer lugar, puede hacer algunas operaciones simples de la lista blanca. Si * .bigcorp.example son OpenID de empleados de Big Corp y usted sabe que Big Corp no son spammers, entonces puede incluir en la lista blanca esos OpenID. Esto debería funcionar bien para los sitios que están semicerrados, tal vez es un sitio social para empleados actuales y pasados.
Mejor aún, puedes hacer inferencias desde los otros lugares donde se ha usado OpenID específico. Supongamos que tiene un mapa de OpenID a los valores de reputación de .com. Cuando alguien aparece en su foro web con un OpenID, puede ver si tienen una reputación decente en y omitir el CAPTCHA o periodo de prueba para esos usuarios.
Usted ha confundido dos cosas diferentes: identificación y autorización. El hecho de saber quién es alguien no significa que deba darles automáticamente permiso para hacer algo. ¡Simon Willison lo cubre muy bien en An OpenID no es una cuenta! Se puede encontrar más discusión sobre las listas blancas en Social whitelisting con OpenID .