
OpenID es un estándar abierto y un protocolo de autenticación descentralizado promovido por la Fundación OpenID, una organización sin fines de lucro . Permite que los usuarios se autentiquen mediante sitios cooperativos (conocidos como partes confiables o RP) utilizando un servicio de proveedor de identidad (IdP) de terceros, eliminando la necesidad de que los administradores web proporcionen sus propios sistemas de inicio de sesión ad hoc y permitiendo que los usuarios inicien sesión en múltiples sitios web no relacionados sin tener que tener una identidad y contraseña separadas para cada uno. [ 1 ] Los usuarios crean cuentas seleccionando un proveedor de identidad OpenID [ 1 ] y luego usan esas cuentas para iniciar sesión en cualquier sitio web que acepte la autenticación OpenID. Varias organizaciones grandes emiten o aceptan OpenID en sus sitios web. [ 2 ]
El estándar OpenID proporciona un marco para la comunicación que debe tener lugar entre el proveedor de identidad y el receptor OpenID (la " parte confiable "). [ 3 ] Una extensión del estándar (el Intercambio de Atributos OpenID) facilita la transferencia de atributos de usuario, como nombre y género, del proveedor de identidad OpenID a la parte confiable (cada parte confiable puede solicitar un conjunto diferente de atributos, según sus requisitos). [ 4 ] El protocolo OpenID no depende de una autoridad central para autenticar la identidad de un usuario. Además, ni los servicios ni el estándar OpenID pueden exigir un medio específico para autenticar a los usuarios, lo que permite enfoques que van desde los comunes (como contraseñas) hasta los novedosos (como tarjetas inteligentes o biometría).
La versión final de OpenID es OpenID 2.0, finalizada y publicada en diciembre de 2007. [ 5 ] El término OpenID también puede referirse a un identificador tal como se especifica en el estándar OpenID; estos identificadores toman la forma de un Identificador Uniforme de Recursos (URI) único y son administrados por algún "proveedor OpenID" que maneja la autenticación. [ 1 ]
Adopción
A fecha de marzo de 2016 , hay más de mil millones de cuentas habilitadas para OpenID en Internet (ver más abajo) y aproximadamente 1.100.934 sitios han integrado el soporte para consumidores de OpenID: [ 6 ] AOL , Flickr , Google , Amazon.com , Canonical (nombre del proveedor Ubuntu One ), LiveJournal , Microsoft (nombre del proveedor Cuenta de Microsoft ), Mixi , Myspace , Novell , OpenStreetMap , Orange , Sears , Sun , Telecom Italia , Universal Music Group , VeriSign , WordPress , Yahoo! , la BBC , [ 7 ] IBM , [ 8 ] PayPal , [ 9 ] y Steam , [ 10 ] aunque algunas de esas organizaciones también tienen su propia gestión de autenticación.
Facebook sí usó OpenID en el pasado, pero pasó a Facebook Connect . [ 11 ] Blogger también usó OpenID, pero desde mayo de 2018 ya no lo admite. [ 12 ]
Descripción general técnica
OpenID es un protocolo de autenticación descentralizado que permite a los usuarios autenticarse en múltiples sitios web con un único conjunto de credenciales, eliminando la necesidad de nombres de usuario y contraseñas diferentes para cada sitio. OpenID autentica al usuario con un proveedor de identidad (IdP), quien le proporciona un identificador único (denominado OpenID). Este identificador se puede utilizar para autenticar al usuario en cualquier sitio web compatible con OpenID.
Cuando un usuario visita un sitio web que admite la autenticación OpenID, el sitio lo redirige al proveedor de identidad (IdP) que haya elegido. El IdP le pedirá al usuario que se autentique (por ejemplo, ingresando un nombre de usuario y una contraseña). Una vez autenticado, el IdP generará un OpenID y lo enviará al sitio web. Este último podrá usar el OpenID para autenticar al usuario sin necesidad de conocer sus credenciales reales.
OpenID se basa en varios estándares existentes, como HTTP, HTML y XML. OpenID se apoya en diversas tecnologías, incluido un mecanismo de descubrimiento que permite a los sitios web encontrar el IdP asociado a un OpenID específico, así como mecanismos de seguridad para protegerse contra el phishing y otros ataques. [ 13 ]
Una de las principales ventajas de OpenID es que permite a los usuarios controlar su propia información de identidad, en lugar de depender de sitios web individuales para almacenar y gestionar sus credenciales de inicio de sesión. Esto puede ser especialmente importante en casos donde los sitios web son vulnerables a fallos de seguridad o cuando los usuarios están preocupados por la privacidad de su información personal.
OpenID ha sido ampliamente adoptado por numerosos sitios web y proveedores de servicios de gran tamaño, como Google, Yahoo! y PayPal. El protocolo también es utilizado por varios proyectos y frameworks de código abierto, como Ruby on Rails y Django.
Iniciar sesión
El usuario final interactúa con una parte confiable (como un sitio web) que ofrece la opción de especificar un OpenID para fines de autenticación; un usuario final normalmente ha registrado previamente un OpenID (por ejemplo, alice.openid.example.org) con un proveedor de OpenID (por ejemplo, openid.example.org). [ 1 ]
La parte que confía en OpenID normalmente transforma el OpenID en una URL canónica (por ejemplo, http://alice.openid.example.org/).
- Con OpenID 1.0, la parte confiable solicita el recurso HTML identificado por la URL y lee una etiqueta de enlace HTML para descubrir la URL del proveedor de OpenID (por ejemplo,
http://openid.example.org/openid-auth.php). La parte confiable también descubre si debe usar una identidad delegada (ver más abajo). - Con OpenID 2.0, la parte confiable descubre la URL del proveedor de OpenID solicitando el documento XRDS (también llamado documento Yadis ) con el tipo de contenido
application/xrds+xml; este documento puede estar disponible en la URL de destino y siempre está disponible para un XRI de destino .
Existen dos modos en los que la parte que confía en el proveedor puede comunicarse con él:
checkid_immediateEn este caso, la parte que confía en el proveedor de OpenID solicita que este no interactúe con el usuario final. Toda la comunicación se transmite a través del agente de usuario del usuario final sin notificarle explícitamente.checkid_setup, en la que el usuario final se comunica con el proveedor de OpenID a través del mismo agente de usuario utilizado para acceder a la parte que confía en él.
El checkid_immediatemodo puede recurrir al checkid_setupmodo anterior si la operación no se puede automatizar.
En primer lugar, la parte confiable y el proveedor de OpenID (opcionalmente) establecen un secreto compartido , referenciado por un identificador asociado , que la parte confiable almacena. Si se utiliza este checkid_setupmodo, la parte confiable redirige el agente de usuario del usuario final al proveedor de OpenID para que este pueda autenticarse directamente con dicho proveedor.
El método de autenticación puede variar, pero normalmente, un proveedor de OpenID solicita al usuario final una contraseña o algún token criptográfico, y luego le pregunta si confía en que la parte que le proporciona la información de identidad necesaria recibirá los datos necesarios.
Si el usuario final rechaza la solicitud del proveedor de OpenID de confiar en la parte confiable, el agente de usuario es redirigido a la parte confiable con un mensaje que indica que la autenticación fue rechazada; la parte confiable, a su vez, se niega a autenticar al usuario final.
Si el usuario final acepta la solicitud del proveedor de OpenID para confiar en la parte confiable, el agente de usuario se redirige a la parte confiable junto con las credenciales del usuario final. Dicha parte confiable debe confirmar que las credenciales provienen realmente del proveedor de OpenID. Si la parte confiable y el proveedor de OpenID habían establecido previamente un secreto compartido, la parte confiable puede validar la identidad del proveedor de OpenID comparando su copia del secreto compartido con la recibida junto con las credenciales del usuario final; a esta parte confiable se la denomina con estado porque almacena el secreto compartido entre sesiones. Por el contrario, una parte confiable sin estado o simple debe realizar una solicitud en segundo plano adicional check_authenticationpara garantizar que los datos provengan efectivamente del proveedor de OpenID.
Una vez verificado el OpenID, la autenticación se considera exitosa y el usuario final se considera conectado al servidor con la identidad especificada por el OpenID proporcionado (por ejemplo, alice.openid.example.org). El servidor generalmente almacena el OpenID del usuario final junto con la demás información de la sesión.
Identificadores
Para obtener una URL compatible con OpenID que permita iniciar sesión en sitios web compatibles con OpenID, el usuario registra un identificador OpenID con un proveedor de identidad. Estos proveedores ofrecen la posibilidad de registrar una URL (normalmente un dominio de tercer nivel, como username.example.com) que se configurará automáticamente con el servicio de autenticación OpenID.
Una vez registrado un OpenID, un usuario también puede utilizar una URL existente bajo su control (como un blog o una página de inicio) como alias o "identidad delegada". Simplemente inserta las etiquetas OpenID correspondientes en el HTML [ 14 ] o sirve un documento Yadis . [ 15 ]
A partir de la autenticación OpenID 2.0 (y algunas implementaciones de la versión 1.1), existen dos tipos de identificadores que se pueden utilizar con OpenID: URL y XRI.
Los XRI son un nuevo tipo de identificador de Internet diseñado específicamente para la identidad digital entre dominios. Por ejemplo, los XRI se presentan en dos formatos: i-names e i-numbers , que suelen registrarse simultáneamente como sinónimos . Los i-names son reasignables (al igual que los nombres de dominio), mientras que los i-numbers nunca se reasignan. Cuando un i-name XRI se utiliza como identificador OpenID, se resuelve inmediatamente al i-number sinónimo (el elemento CanonicalID del documento XRDS). Este i-number es el identificador OpenID almacenado por la entidad que confía en el sistema. De esta forma, tanto el usuario como la entidad que confía en el sistema están protegidos contra la posible usurpación de la identidad OpenID del usuario final por parte de un tercero, como puede ocurrir con una URL basada en un nombre DNS reasignable.
Fundación OpenID
La Fundación OpenID (OIDF) promueve y fortalece la comunidad y las tecnologías OpenID. La OIDF es una organización internacional sin fines de lucro dedicada al desarrollo de estándares, integrada por desarrolladores individuales, agencias gubernamentales y empresas que desean promover y proteger OpenID. Fundada en junio de 2007, la Fundación OpenID actúa como una organización de confianza pública que representa a una comunidad abierta de desarrolladores, proveedores y usuarios. La OIDF apoya a la comunidad proporcionando la infraestructura necesaria y facilitando la promoción y el respaldo de la adopción de OpenID. Esto incluye la gestión de la propiedad intelectual y las marcas registradas, así como el fomento del crecimiento exponencial y la participación global en OpenID.
Gente
La junta directiva de la Fundación OpenID tiene seis miembros de la comunidad y ocho miembros corporativos: [ 16 ]
Capítulos
La OIDF es una organización global que promueve la identidad digital y fomenta la adopción de OpenID. Para ello, ha impulsado la creación de delegaciones. Estas delegaciones forman parte oficialmente de la Fundación y trabajan dentro de su propio ámbito de actuación para apoyar el desarrollo y la adopción de OpenID como marco para la identidad centrada en el usuario en internet.
Acuerdos de propiedad intelectual y de contribución
La OIDF garantiza que las especificaciones OpenID sean de libre implementación; por lo tanto, exige que todos los colaboradores firmen un acuerdo de contribución. Este acuerdo otorga a la Fundación una licencia de derechos de autor para publicar las especificaciones colectivas e incluye un acuerdo de no reclamación de patentes. Dicho acuerdo establece que el colaborador no demandará a nadie por implementar las especificaciones OpenID.
Cuestiones legales
La marca registrada OpenID en Estados Unidos fue asignada a la Fundación OpenID en marzo de 2008. [ 17 ] Había sido registrada por NetMesh Inc. antes de que la Fundación OpenID estuviera operativa. [ 18 ] [ 19 ] En Europa, a fecha de 31 de agosto de 2007, la marca registrada OpenID está registrada a nombre de la Fundación OpenID Europe. [ 20 ]
El logotipo de OpenID fue diseñado por Randy "ydnar" Reddig, quien en 2005 había expresado planes de transferir los derechos a una organización OpenID. [ 21 ]
Desde el anuncio original de OpenID, el sitio oficial ha declarado: [ 22 ]
Nadie debería ser dueño de esto. Nadie planea ganar dinero con esto. El objetivo es publicar todo bajo las licencias más permisivas posibles, por lo que no se requiere dinero, licencia ni registro para jugar. La existencia de algo así beneficia a toda la comunidad, y todos formamos parte de ella.
Sun Microsystems , VeriSign y varias empresas más pequeñas involucradas en OpenID han emitido acuerdos de no reclamación de patentes que cubren las especificaciones de OpenID 1.1. Dichos acuerdos establecen que las empresas no harán valer ninguna de sus patentes contra las implementaciones de OpenID y revocarán sus promesas a cualquiera que amenace con hacer valer patentes contra los implementadores de OpenID. [ 23 ] [ 24 ]
Seguridad
Errores de autenticación
En marzo de 2012, un artículo de investigación [ 25 ] informó sobre dos problemas de seguridad genéricos en OpenID. Ambos problemas permiten que un atacante inicie sesión en las cuentas de la parte confiable de una víctima. Para el primer problema, tanto OpenID como Google (un proveedor de identidad de OpenID) publicaron avisos de seguridad para abordarlo. [ 26 ] [ 27 ] El aviso de Google dice: "Un atacante podría falsificar una solicitud de OpenID que no solicite la dirección de correo electrónico del usuario y luego insertar una dirección de correo electrónico sin firmar en la respuesta del IdP. Si el atacante reenvía esta respuesta a un sitio web que no se da cuenta de que este atributo no está firmado, el sitio web podría ser engañado para que inicie sesión en cualquier cuenta local del atacante". El artículo de investigación afirma que se ha confirmado la vulnerabilidad de muchos sitios web populares, incluidos Yahoo! Mail , smartsheet.com , Zoho , manymoon.com y diigo.com . Los investigadores han notificado a las partes afectadas, quienes luego han corregido su código vulnerable.
En cuanto al segundo problema, el documento lo denominó "Fallo lógico por confusión de tipos de datos", que también permite a los atacantes acceder a las cuentas RP de las víctimas. Inicialmente se confirmó la vulnerabilidad de Google y PayPal . OpenID publicó un informe de vulnerabilidad [ 28 ] sobre el fallo. El informe indica que Google y PayPal han aplicado correcciones y sugiere a otros proveedores de OpenID que revisen sus implementaciones.
Suplantación de identidad
Algunos observadores han sugerido que OpenID tiene debilidades de seguridad y podría ser vulnerable a ataques de phishing . [ 29 ] [ 30 ] [ 31 ] Por ejemplo, un intermediario malicioso podría redirigir al usuario final a una página de autenticación falsa de un proveedor de identidad, solicitándole que ingrese sus credenciales. Una vez completado esto, el intermediario malicioso (que en este caso también controla la página de autenticación falsa) podría acceder a la cuenta del usuario final con el proveedor de identidad y luego usar su OpenID para iniciar sesión en otros servicios.
En un intento por combatir posibles ataques de phishing, algunos proveedores de OpenID exigen que el usuario final se autentique con ellos antes de intentar autenticarse con la parte confiable. [ 32 ] Esto depende de que el usuario final conozca la política del proveedor de identidad. En diciembre de 2008, la Fundación OpenID aprobó la versión 1.0 de la Extensión de Política de Autenticación del Proveedor (PAPE), que "permite a las Partes Confiables solicitar a los Proveedores de OpenID que empleen políticas de autenticación específicas al autenticar usuarios y a los Proveedores de OpenID que informen a las Partes Confiables qué políticas se utilizaron realmente". [ 33 ]
Cuestiones de privacidad y confianza
Otros problemas de seguridad identificados con OpenID incluyen la falta de privacidad y la incapacidad para abordar el problema de la confianza . [ 34 ] Sin embargo, este problema no es exclusivo de OpenID y es simplemente el estado de Internet tal como se usa comúnmente.
Sin embargo, el proveedor de identidad sí obtiene un registro de tus inicios de sesión con OpenID; sabe cuándo iniciaste sesión en cada sitio web, lo que facilita enormemente el seguimiento entre sitios . Además, una cuenta OpenID comprometida probablemente represente una violación de privacidad más grave que una cuenta comprometida en un solo sitio.
Secuestro de autenticación en una conexión no segura
Otra vulnerabilidad importante se encuentra en el último paso del esquema de autenticación cuando no se utilizan TLS/SSL: la URL de redireccionamiento del proveedor de identidad a la parte confiable. El problema con este redireccionamiento es que cualquiera que pueda obtener esta URL (por ejemplo, interceptando el tráfico) puede reutilizarla e iniciar sesión en el sitio como el usuario víctima. Algunos proveedores de identidad utilizan nonces ( un número que se usa solo una vez) para permitir que un usuario inicie sesión en el sitio una vez y falle todos los intentos posteriores. La solución del nonce funciona si el usuario es el primero en usar la URL. Sin embargo, un atacante rápido que intercepta el tráfico puede obtener la URL y restablecer inmediatamente la conexión TCP de un usuario (ya que un atacante intercepta el tráfico y conoce los números de secuencia TCP necesarios) y luego ejecutar el ataque de repetición como se describió anteriormente. Por lo tanto, los nonces solo protegen contra atacantes pasivos, pero no pueden evitar que los atacantes activos ejecuten el ataque de repetición. [ 35 ] El uso de TLS/SSL en el proceso de autenticación puede reducir significativamente este riesgo.
Redirección encubierta
El 1 de mayo de 2014, se reveló un error denominado "Redirección encubierta relacionada con OAuth 2.0 y OpenID". [ 36 ] [ 37 ] Fue descubierto por el estudiante de doctorado en matemáticas Wang Jing en la Facultad de Ciencias Físicas y Matemáticas de la Universidad Tecnológica de Nanyang , Singapur. [ 38 ] [ 39 ] [ 40 ]
El anuncio de OpenID dice: "'Covert Redirect', publicado en mayo de 2014, es un ejemplo de atacantes que utilizan redireccionadores abiertos, una amenaza bien conocida, con medios de prevención bien conocidos. El protocolo OpenID Connect exige medidas estrictas que impiden los redireccionadores abiertos para prevenir esta vulnerabilidad." [ 41 ]
"El consenso general, hasta ahora, es que la redirección encubierta no es tan grave, pero sigue siendo una amenaza. Para entender qué la hace peligrosa, se requiere un conocimiento básico de la redirección abierta y cómo se puede explotar." [ 42 ]
No se publicó un parche de inmediato. Ori Eisen, fundador, presidente y director de innovación de 41st Parameter, declaró a Sue Marquette Poremba: «En cualquier sistema distribuido, confiamos en la buena voluntad de los participantes para que actúen correctamente. En casos como OAuth y OpenID, la distribución es tan extensa que no es razonable esperar que todos y cada uno de los sitios web publiquen el parche en un futuro próximo». [ 43 ]
Historia
El protocolo de autenticación OpenID original fue desarrollado en mayo de 2005 [ 44 ] por Brad Fitzpatrick , creador del popular sitio web comunitario LiveJournal , mientras trabajaba en Six Apart . [ 45 ] Inicialmente conocido como Yadis (un acrónimo de "Yet another distributed identity system"), [ 46 ] se le dio el nombre de OpenID después de que el nombre de dominio openid.net se le diera a Six Apart para usarlo en el proyecto. [ 47 ] El soporte para OpenID pronto se implementó en LiveJournal y en la comunidad del motor LiveJournal DeadJournal para los comentarios de las publicaciones del blog y rápidamente ganó atención en la comunidad de identidad digital. [ 48 ] [ 49 ] El desarrollador web JanRain fue uno de los primeros partidarios de OpenID, proporcionando bibliotecas de software OpenID y expandiendo su negocio en torno a servicios basados en OpenID.
A finales de junio, se iniciaron conversaciones entre usuarios de OpenID y desarrolladores de la empresa de software empresarial NetMesh, lo que condujo a una colaboración en la interoperabilidad entre OpenID y el protocolo Light-weight Identity (LID) similar de NetMesh. El resultado directo de la colaboración fue el protocolo de descubrimiento Yadis , que adoptó el nombre utilizado originalmente para OpenID. El nuevo Yadis se anunció el 24 de octubre de 2005. [ 50 ] Después de una discusión en el Taller de Identidad de Internet de 2005 , unos días después, los desarrolladores de XRI / i-names se unieron al proyecto Yadis, [ 51 ] contribuyendo con su formato Extensible Resource Descriptor Sequence ( XRDS ) para su utilización en el protocolo. [ 52 ]
En diciembre, los desarrolladores de Sxip Identity comenzaron conversaciones con la comunidad OpenID/Yadis [ 53 ] después de anunciar un cambio en el desarrollo de la versión 2.0 de su Protocolo de Identidad Extensible Simple (SXIP) hacia identidades basadas en URL como LID y OpenID. [ 54 ] En marzo de 2006, JanRain desarrolló una extensión de Registro Simple (SREG) para OpenID que permitía el intercambio de perfiles primitivo [ 55 ] y en abril presentó una propuesta para formalizar las extensiones a OpenID. Ese mismo mes, también se había comenzado a trabajar en la incorporación de soporte completo de XRI en OpenID. [ 56 ] A principios de mayo, el desarrollador clave de OpenID, David Recordon , dejó Six Apart y se unió a VeriSign para centrarse más en la identidad digital y la guía para la especificación OpenID. [ 49 ] [ 57 ] A principios de junio, las principales diferencias entre los proyectos SXIP 2.0 y OpenID se resolvieron con el acuerdo de admitir múltiples personas en OpenID mediante el envío de una URL de proveedor de identidad en lugar de una URL de identidad completa. Con esto, así como la adición de extensiones y soporte XRI en desarrollo, OpenID estaba evolucionando hacia un marco de identidad digital completo, con Recordon proclamando: "Vemos OpenID como un paraguas para el marco que abarca las capas de identificadores, descubrimiento, autenticación y una capa de servicios de mensajería que se sitúa encima y todo esto se ha denominado 'OpenID 2.0'". [ 58 ] " A finales de julio, Sxip comenzó a fusionar su protocolo Digital Identity Exchange (DIX) en OpenID, presentando los borradores iniciales de la extensión OpenID Attribute Exchange (AX) en agosto. A finales de 2006, un artículo de opinión de ZDNet defendió OpenID ante usuarios, operadores de sitios web y emprendedores. [ 59 ]
El 31 de enero de 2007, Symantec anunció la compatibilidad con OpenID en sus productos y servicios de Identity Initiative. [ 60 ] Una semana después, el 6 de febrero, Microsoft hizo un anuncio conjunto con JanRain, Sxip y VeriSign para colaborar en la interoperabilidad entre OpenID y la plataforma de identidad digital Windows CardSpace de Microsoft , con especial énfasis en el desarrollo de una solución de autenticación resistente al phishing para OpenID. Como parte de la colaboración, Microsoft se comprometió a brindar soporte a OpenID en sus futuros productos de servidor de identidad y JanRain, Sxip y VeriSign se comprometieron a agregar soporte para el perfil Information Card de Microsoft a sus futuras soluciones de identidad. [ 61 ] A mediados de febrero, AOL anunció que un servicio experimental de proveedor de OpenID estaba funcionando para todas las cuentas de AOL y AOL Instant Messenger (AIM). [ 62 ]
En mayo, Sun Microsystems comenzó a trabajar con la comunidad OpenID, anunciando un programa OpenID, [ 63 ] así como firmando un pacto de no reclamación con la comunidad OpenID, comprometiéndose a no hacer valer ninguna de sus patentes contra implementaciones de OpenID. [ 23 ] En junio, el liderazgo de OpenID formó la OpenID Foundation, una corporación de beneficio público con sede en Oregón para administrar la marca y la propiedad de OpenID. [ 64 ] Ese mismo mes, Snorri Giorgetti formó en Bélgica una OpenID Europe Foundation independiente [ 65 ] . A principios de diciembre, los principales contribuyentes al protocolo recopilaron acuerdos de no reclamación y las especificaciones finales de OpenID Authentication 2.0 y OpenID Attribute Exchange 1.0 fueron ratificadas el 5 de diciembre. [ 66 ]
A mediados de enero de 2008, Yahoo! anunció el soporte inicial para OpenID 2.0, tanto como proveedor como parte confiable, lanzando el servicio de proveedor a finales de mes. [ 67 ] A principios de febrero, Google, IBM, Microsoft, VeriSign y Yahoo! se unieron a la Fundación OpenID como miembros corporativos de la junta directiva. [ 68 ] Alrededor de principios de mayo, SourceForge, Inc. introdujo el soporte para proveedores y partes confiables de OpenID en el sitio web líder de desarrollo de software de código abierto SourceForge.net . [ 69 ] A finales de julio, el popular servicio de red social MySpace anunció soporte para OpenID como proveedor. [ 70 ] A finales de octubre, Google lanzó soporte como proveedor de OpenID y Microsoft anunció que Windows Live ID sería compatible con OpenID. [ 71 ] En noviembre, JanRain anunció un servicio alojado gratuito, RPX Basic, que permite a los sitios web comenzar a aceptar OpenID para el registro e inicio de sesión sin tener que instalar, integrar y configurar las bibliotecas de código abierto de OpenID. [ 72 ]
En enero de 2009, PayPal se unió a la Fundación OpenID como miembro corporativo, seguido poco después por Facebook en febrero. La Fundación OpenID formó un comité ejecutivo y nombró a Don Thibeau como director ejecutivo. En marzo, MySpace lanzó su servicio de proveedor OpenID previamente anunciado, lo que permitió a todos los usuarios de MySpace usar su URL de MySpace como OpenID. En mayo, Facebook lanzó su funcionalidad de parte confiable, [ 73 ] [ 74 ] permitiendo a los usuarios usar una cuenta OpenID habilitada para inicio de sesión automático (por ejemplo, Google) para iniciar sesión en Facebook. [ 75 ]
En septiembre de 2013, Janrain anunció que MyOpenID.com se cerraría el 1 de febrero de 2014; un gráfico circular mostraba que Facebook y Google dominaban el espacio de inicio de sesión social a partir del segundo trimestre de 2013. [ 76 ] Desde entonces, Facebook ha abandonado OpenID; ya no es patrocinador, ni está representado en la junta directiva, ni permite inicios de sesión con OpenID. [ 16 ] [ 77 ]
En mayo de 2016, Symantec anunció que descontinuaría su servicio de portal de identidad personal OpenID pip.verisignlabs.com. [ 78 ] [ 79 ]
En marzo de 2018, Stack Overflow anunció el fin del soporte para OpenID, alegando un uso insuficiente que justificara el costo. En el anuncio, se afirmó que, según la actividad, los usuarios preferían claramente la autenticación de cuentas mediante Facebook, Google y correo electrónico/contraseña. [ 80 ]
OpenID frente a pseudoautenticación mediante OAuth
OpenID permite usar un único conjunto de credenciales de usuario para acceder a múltiples sitios, mientras que OAuth facilita la autorización de un sitio para acceder y usar la información relacionada con la cuenta del usuario en otro sitio. Si bien OAuth no es un protocolo de autenticación , puede usarse como parte de uno.
La autenticación, en el contexto del acceso de un usuario a una aplicación, le indica a la aplicación quién es el usuario actual y si está presente o no. [...] La autenticación se centra en el usuario y su presencia en la aplicación, y un protocolo de autenticación a escala de internet debe ser capaz de hacerlo a través de las fronteras de la red y la seguridad.
Sin embargo, OAuth no le comunica nada de eso a la aplicación. OAuth no dice absolutamente nada sobre el usuario, ni cómo demostró su presencia, ni siquiera si sigue presente. Para un cliente OAuth, simplemente solicitó un token, lo obtuvo y, finalmente, lo utilizó para acceder a una API. No sabe quién autorizó la aplicación ni si siquiera había un usuario presente. De hecho, gran parte del propósito de OAuth es otorgar este acceso delegado para su uso en situaciones donde el usuario no está presente en la conexión entre el cliente y el recurso al que se accede. Esto es excelente para la autorización del cliente, pero resulta muy deficiente para la autenticación, donde el objetivo principal es determinar si el usuario está presente o no (y quién es). [ 81 ]
El siguiente diagrama ilustra las diferencias entre usar OpenID y OAuth para la autenticación. Cabe destacar que, con OpenID, el proceso comienza con la aplicación solicitando al usuario su identidad (normalmente una URI de OpenID), mientras que, con OAuth, la aplicación solicita directamente un token OAuth de acceso limitado (clave de valet) para acceder a las API (entrar en la plataforma) en nombre del usuario. Si el usuario concede dicho acceso, la aplicación puede obtener el identificador único para establecer el perfil (identidad) mediante las API.
![]()
Ataque contra la pseudoautenticación
OpenID proporciona un mecanismo de verificación criptográfica que impide el ataque que se describe a continuación contra los usuarios que hacen un uso indebido de OAuth para la autenticación.
Cabe señalar que la llave de valet no describe al usuario de ninguna manera; solo proporciona derechos de acceso limitados a una casa (que ni siquiera es necesariamente la del usuario, sino que este simplemente tenía una llave). Por lo tanto, si la llave se ve comprometida (el usuario actúa con mala intención y logra robar la llave de la casa de otra persona), puede suplantar la identidad del propietario ante la aplicación que solicitó su autenticidad. Si la llave se ve comprometida en cualquier punto de la cadena de confianza, un usuario malintencionado puede interceptarla y usarla para suplantar la identidad del usuario X ante cualquier aplicación que dependa de OAuth2 para la pseudoautenticación contra el mismo servidor de autorización OAuth. Por el contrario, la carta notariada contiene la firma del usuario, que la aplicación solicitante puede verificar, por lo que este ataque no es viable. [ 82 ]
Verificar la carta
La carta puede utilizar criptografía de clave pública para su autenticación.
- La aplicación solicitante proporciona su clave pública de cifrado al usuario, quien a su vez la facilita al servidor de autenticación.
- El servidor de autenticación cifra un documento que contiene una clave de cifrado que corresponde a un hash unidireccional de un secreto que el usuario conoce (por ejemplo, una contraseña) para el protocolo de desafío-respuesta utilizando la clave pública de la aplicación.
- El usuario devuelve el documento cifrado a la aplicación, que lo descifra.
- La aplicación cifra una frase aleatoria utilizando la clave de cifrado recibida y le pide al usuario que haga lo mismo; luego compara los resultados y, si coinciden, el usuario es auténtico.
OpenID Connect (OIDC)
Publicado en febrero de 2014 [ 83 ] por la Fundación OpenID, OpenID Connect (OIDC) es la tercera generación de la tecnología OpenID. Es una capa de autenticación sobre el marco de autorización OAuth 2.0 . [ 84 ] Permite a los clientes informáticos verificar la identidad de un usuario final basándose en la autenticación realizada por un servidor de autorización, así como obtener la información básica del perfil del usuario final de forma interoperable y similar a REST. En términos técnicos, OpenID Connect especifica una API HTTP RESTful, utilizando JSON como formato de datos.
OpenID Connect permite que diversos usuarios, incluidos clientes web, móviles y JavaScript, soliciten y reciban información sobre sesiones autenticadas y usuarios finales. La especificación OpenID Connect es extensible y admite funciones opcionales como el cifrado de datos de identidad, la detección de proveedores OpenID y la gestión de sesiones.
Véase también
Referencias
- 1 2 3 4 Eldon, Eric (14 de abril de 2009). "El servicio de inicio de sesión único OpenID se utiliza cada vez más" . venturebeat.com. Archivado del original el 2 de abril de 2018. Recuperado el 25 de abril de 2009 .
- ↑ "¿Qué es un OpenID?" . 8 de octubre de 2007. Archivado del original el 14 de junio de 2014. Consultado el 19 de junio de 2014 .
- ↑ "Especificación de autenticación OpenID 2.0 – Final" . Archivado del original el 22 de octubre de 2011. Consultado el 24 de octubre de 2011 .
- ↑ "Intercambio de atributos OpenID 1.0 – Final" . Archivado del original el 20 de noviembre de 2017. Consultado el 24 de octubre de 2011 .
- ↑ "Autenticación OpenID 2.0 - Final" . 5 de diciembre de 2007. Archivado del original el 22 de octubre de 2011. Consultado el 18 de mayo de 2014 .
- ↑ "Estadísticas de uso de OpenID" . Archivado del original el 4 de abril de 2016. Consultado el 1 de abril de 2016 .
- ↑ bashburn, bill (22 de abril de 2008). "La BBC se une a la Fundación OpenID" . OpenID - La capa de identidad de Internet . Archivado del original el 16 de octubre de 2008. Recuperado el 29 de octubre de 2008 .
- ↑ "Líderes tecnológicos se unen a la Fundación OpenID para promover la gestión abierta de identidades en la web" . 7 de febrero de 2008. Archivado del original el 10 de febrero de 2008.
- ↑ "PayPal Access utiliza OpenID 2.0" . OpenID - La capa de identidad de Internet . OpenID ·. 19 de octubre de 2011. Archivado del original el 22 de junio de 2014. Consultado el 19 de junio de 2014 .
- ↑ "Comunidad de Steam :: Documentación de la API web de Steam" . Archivado del original el 10 de febrero de 2012. Consultado el 10 de febrero de 2012 .
- ↑ Pérez, Juan Carlos (4 de diciembre de 2008). "Facebook y Google lanzan programas de portabilidad de datos para todos" . Network World, Inc. Archivado del original el 22 de junio de 2014. Recuperado el 19 de junio de 2014 .
- ↑ "Es tiempo de limpieza de primavera para Blogger" . Equipo de Blogger. Archivado del original el 2 de agosto de 2018. Consultado el 10 de septiembre de 2019 .
- ↑ Deeptha, R.; Mukesh, Rajeswari (1 de septiembre de 2018). "Extendiendo OpenID Connect hacia aplicaciones de misión crítica" . Cibernética y Tecnologías de la Información . 18 (3): 93– 110. doi : 10.2478/cait-2018-0041 .
- ↑ "Autenticación OpenID 1.1#Delegación" . Archivado del original el 18 de noviembre de 2017. Consultado el 30 de junio de 2009 .
- ↑ Paul Tarjan. "Delegación OpenID sencilla con Yadis" . Archivado del original el 4 de julio de 2009. Consultado el 30 de junio de 2009 .
- 1 2 "Liderazgo" . Fundación openID. Archivado del original el 24 de junio de 2014. Recuperado el 19 de junio de 2014 .
- ↑ "Cesión de marca registrada, número de serie: 78899244" . Oficina de Patentes y Marcas de los Estados Unidos . 6 de mayo de 2008. Archivado del original el 10 de octubre de 2013. Consultado el 19 de mayo de 2008.
Fecha de ejecución: 27/03/2008
. - ↑ "Información sobre el estado más reciente" . Oficina de Patentes y Marcas de los Estados Unidos. 27 de marzo de 2006. Archivado del original el 14 de mayo de 2011. Consultado el 20 de marzo de 2008 .
- ↑ "NetMesh: Empresa / Dirección" . NetMesh . Archivado del original el 30 de agosto de 2007. Consultado el 20 de marzo de 2008 .
- ↑ "Política de marca registrada y logotipo de OpenID Europe" . Fundación OpenID Europe . Archivado del original el 9 de marzo de 2008. Consultado el 20 de marzo de 2008 .
- ↑ Reddig, Randy (29 de junio de 2005). "Logotipo de OpenID" . Danga Interactive . Archivado del original el 14 de febrero de 2008. Recuperado el 20 de marzo de 2008 .
- ↑ Fitzpatrick, Brad (10 de agosto de 2009). "Propiedad intelectual" . Archivado del original el 11 de octubre de 2009. Recuperado el 13 de octubre de 2009 .
- 1 2 "Sun OpenID: Pacto de no aserción" . Sun Microsystems . Consultado el 20 de marzo de 2008 .
- ↑ "Pacto de no reclamación de patentes de OpenID de VeriSign" . VeriSign . Archivado del original el 15 de abril de 2008. Consultado el 20 de marzo de 2008 .
- ↑ Rui Wang; Shuo Chen; XiaoFeng Wang (mayo de 2012). "Iniciando sesión en sus cuentas a través de Facebook y Google: un estudio de seguridad basado en el tráfico de servicios web de inicio de sesión único implementados comercialmente" . Archivado del original el 13 de abril de 2016. Recuperado el 9 de marzo de 2012 .
- ↑ "Alerta de seguridad de Attribute Exchange" . 5 de mayo de 2011. Archivado del original el 31 de julio de 2017. Consultado el 9 de marzo de 2012 .
- ↑ "Aviso de seguridad para sitios web que utilizan OpenID Attribute Exchange" . 5 de mayo de 2011. Archivado del original el 24 de diciembre de 2011. Consultado el 9 de marzo de 2012 .
- ↑ "Informe de vulnerabilidad: confusión de datos" . OpenID - La capa de identidad de Internet . 15 de marzo de 2012. Archivado del original el 5 de septiembre de 2019. Consultado el 15 de marzo de 2012 .
- ↑ Crowley, Paul (1 de junio de 2005). "Ataques de phishing a OpenID" . Danga Interactive . Archivado del original el 10 de octubre de 2008. Recuperado el 20 de marzo de 2008 .
- ↑ Anderson, Tim (5 de marzo de 2007). "OpenID sigue siendo vulnerable al abuso" . IT Week. Archivado del original el 4 de julio de 2008. Consultado el 13 de marzo de 2007 .
- ↑ Slot, Marco. "Guía para principiantes sobre el phishing de OpenID" . Archivado del original el 4 de agosto de 2007. Consultado el 31 de julio de 2007 .
- ↑ "Preguntas frecuentes sobre Verisign PIP" . Archivado del original el 13 de noviembre de 2008. Consultado el 13 de noviembre de 2008 .
- ↑ Jones, Mike (31 de diciembre de 2008). "PAPE aprobado como especificación OpenID" . Fundación OpenID. Archivado del original el 1 de enero de 2009. Recuperado el 2 de enero de 2009 .
- ↑ Stefan Brands (22 de agosto de 2007). "El/los problema(s) con OpenID" . Archivado del original el 16 de mayo de 2011. Recuperado el 12 de diciembre de 2010 .(Publicado originalmente en The Identity Corner en www.idcorner.org/?p=161)
- ↑ Tsyrklevich, Eugene. "Inicio de sesión único para Internet: una historia de seguridad" (PDF) . Blackhat USA. Archivado (PDF) del original el 12 de enero de 2012. Recuperado el 19 de abril de 2012 .
- ↑ "Se descubre una grave vulnerabilidad de seguridad en OAuth y OpenID" . CNET. 2 de mayo de 2014. Archivado del original el 2 de noviembre de 2015. Consultado el 10 de noviembre de 2014 .
- ↑ "Redirección encubierta" . Tetraph. 1 de mayo de 2014. Archivado del original el 10 de marzo de 2016. Consultado el 10 de noviembre de 2014 .
- ↑ "Usuarios de Facebook y Google amenazados por una nueva falla de seguridad" . Yahoo. 2 de mayo de 2014. Archivado del original el 25 de julio de 2019. Consultado el 10 de noviembre de 2014 .
- ↑ "Se ha descubierto una peligrosa vulnerabilidad de redirección encubierta en OAuth y OpenID" . The Hacker News. 3 de mayo de 2014. Archivado del original el 8 de noviembre de 2014. Consultado el 10 de noviembre de 2014 .
- ↑ "Estudiante de matemáticas detecta vulnerabilidad de seguridad en OAuth y OpenID" . Tech Xplore. 3 de mayo de 2014. Archivado del original el 4 de diciembre de 2014. Consultado el 10 de noviembre de 2014 .
- ↑ "Redirección encubierta" . OpenID - La capa de identidad de Internet . OpenID. 15 de mayo de 2014. Archivado del original el 20 de octubre de 2014. Recuperado el 10 de noviembre de 2014 .
- ↑ "La vulnerabilidad "Covert Redirect" afecta a OAuth 2.0 y OpenID . Revista SC. 2 de mayo de 2014. Consultado el 10 de noviembre de 2014 .
- ↑ "Lecciones que se pueden aprender de la redirección encubierta" . 41st Parameter. 5 de mayo de 2014. Consultado el 10 de noviembre de 2014 .
- ↑ Fitzpatrick, Brad (16 de mayo de 2005). "Identidad distribuida: Yadis" . LiveJournal . Archivado del original el 4 de mayo de 2006. Recuperado el 20 de marzo de 2008 .
- ↑ Waters, John K (1 de diciembre de 2007). "OpenID actualiza la especificación de identidad" . Noticias para desarrolladores de Redmond . Archivado del original el 8 de febrero de 2008. Recuperado el 20 de marzo de 2008 .
- ↑ "Glosario" . Servidor LiveJournal: Información técnica. Archivado del original el 30 de septiembre de 2009. Consultado el 13 de octubre de 2009 .
- ↑ Lehn, David I. (18 de mayo de 2005). "18 de mayo de 2005" . Blog de Advogato para dlehn . Advogato. Archivado del original el 21 de diciembre de 2010. Recuperado el 13 de octubre de 2009.
Buscaban un nombre y lograron enviarme un correo electrónico sobre openid.net justo antes de que se lo ofreciera. Así que se lo di para el nuevo y mejorado proyecto OpenID.
- ↑ "OpenID: un sistema de identidad realmente distribuido" . 24 de septiembre de 2005. Archivado del original el 24 de septiembre de 2005. Consultado el 20 de marzo de 2008 .
- 1 2 Fitzpatrick, Brad (30 de mayo de 2006). "La vida de Brad : OpenID y SixApart" . LiveJournal . Archivado del original el 25 de abril de 2007. Recuperado el 20 de marzo de 2008 .
- ↑ Recordon, David (24 de diciembre de 2005). "Anunciando YADIS... de nuevo" . Danga Interactive . Archivado del original el 5 de septiembre de 2008. Recuperado el 20 de marzo de 2008 .
- ↑ Reed, Dummond (31 de diciembre de 2005). "Implementación de YADIS sin software nuevo" . Danga Interactive . Archivado del original el 5 de septiembre de 2008. Recuperado el 20 de marzo de 2008 .
- ↑ Reed, Drummond (30 de noviembre de 2008). "XRD Begins" . Igual a Drummond . Archivado del original el 20 de diciembre de 2008. Recuperado el 5 de enero de 2009 .
- ↑ Hardt, Dick (18 de diciembre de 2005). "Preocupaciones de Sxip con YADIS" . Danga Interactive . Archivado del original el 15 de octubre de 2008. Recuperado el 20 de marzo de 2008 .
- ↑ Hardt, Dick (10 de diciembre de 2005). "SXIP 2.0 Teaser" . Identity 2.0 . Archivado del original el 14 de agosto de 2007. Recuperado el 20 de marzo de 2008 .
- ↑ Hoyt, Josh (15 de marzo de 2006). "OpenID + Intercambio simple de información de registro" . Danga Interactive . Archivado del original el 11 de octubre de 2008. Recuperado el 20 de marzo de 2008 .
- ↑ Grey, Victor (2 de abril de 2006). "Propuesta de perfil XRI (i-name) para OpenID" . Danga Interactive . Archivado del original el 19 de marzo de 2008. Recuperado el 20 de marzo de 2008 .
- ↑ Recordon, David (29 de abril de 2006). "Movin' On..." LiveJournal . Archivado del original el 20 de octubre de 2006. Recuperado el 20 de marzo de 2008 .
- ↑ Recordon, David (16 de junio de 2006). "Impulsando OpenID" . Danga Interactive . Archivado del original el 22 de mayo de 2008. Recuperado el 19 de mayo de 2008 .
- ↑ Becker, Phil (4 de diciembre de 2006). "Argumentos a favor de OpenID" . ZDNet . Archivado del original el 4 de mayo de 2025. Recuperado el 12 de diciembre de 2010 .
- ↑ "Symantec presenta la iniciativa de identidad Security 2.0 en la conferencia DEMO 07" . Symantec . 31 de enero de 2007. Archivado del original el 9 de febrero de 2007. Consultado el 20 de marzo de 2008 .
- ↑ Graves, Michael (6 de febrero de 2007). "VeriSign, Microsoft y socios colaborarán en OpenID + Cardspace" . VeriSign . Archivado del original el 3 de mayo de 2008. Consultado el 20 de marzo de 2008 .
- ↑ Panzer, John (16 de febrero de 2007). "AOL y 63 millones de OpenIDs" . Red de desarrolladores de AOL . Archivado del original el 11 de mayo de 2008. Recuperado el 20 de marzo de 2008 .
- ↑ "Sun Microsystems anuncia el programa OpenID" . PR Newswire . 7 de mayo de 2007. Archivado del original el 9 de mayo de 2008. Consultado el 20 de marzo de 2008 .
- ↑ Junta Directiva de OpenID (1 de junio de 2007). "Fundación OpenID" . Archivado del original el 23 de noviembre de 2017. Recuperado el 20 de marzo de 2008 .
- ↑ "Fundación OpenID Europe" . Archivado del original el 15 de abril de 2008. Consultado el 4 de abril de 2008 .
- ↑ "OpenID 2.0...¡Por fin!" . Fundación OpenID . 5 de diciembre de 2007. Archivado del original el 30 de abril de 2008. Consultado el 20 de marzo de 2008 .
- ↑ "Yahoo! anuncia compatibilidad con OpenID; los usuarios podrán acceder a múltiples sitios web con su ID de Yahoo!" . Yahoo !. 17 de enero de 2008. Archivado del original el 4 de marzo de 2008. Consultado el 20 de marzo de 2008 .
- ↑ "Líderes tecnológicos se unen a la Fundación OpenID para promover la gestión de identidades abiertas en la web" . Fundación OpenID . Marketwire . 7 de febrero de 2008. Archivado del original el 15 de febrero de 2008. Consultado el 20 de marzo de 2008 .
- ↑ "SourceForge implementa la tecnología OpenID" (Comunicado de prensa). SourceForge, Inc. 7 de mayo de 2008. Archivado del original el 13 de mayo de 2008. Consultado el 21 de mayo de 2008 .
- ↑ "MySpace anuncia compatibilidad con "OpenID" e introduce nuevas implementaciones de disponibilidad de datos" . Business Wire . MySpace. 22 de julio de 2008. pág. 2. Archivado del original el 14 de mayo de 2011. Consultado el 23 de julio de 2008 .
- ↑ "Microsoft y Google anuncian compatibilidad con OpenID" . OpenID - La capa de identidad de Internet . Fundación OpenID. 30 de octubre de 2008. Archivado del original el 18 de diciembre de 2008. Consultado el 2 de enero de 2009 .
- ↑ «JanRain lanza la versión gratuita de su solución OpenID líder en la industria» (Comunicado de prensa). JanRain, Inc. 14 de noviembre de 2008. Archivado del original el 18 de diciembre de 2008. Consultado el 14 de noviembre de 2008 .
- ↑ "Desarrolladores de Facebook | Noticias para desarrolladores de Facebook" . Developers.facebook.com. 18 de mayo de 2009. Archivado del original el 23 de diciembre de 2009. Consultado el 28 de julio de 2009 .
- ↑ "Facebook ahora acepta inicios de sesión con cuentas de Google" . Pocket-lint.com. 19 de mayo de 2009. Archivado del original el 22 de mayo de 2009. Consultado el 28 de julio de 2009 .
- ↑ "Requisitos de OpenID – Wiki para desarrolladores de Facebook" . Wiki.developers.facebook.com. 26 de junio de 2009. Archivado del original el 23 de diciembre de 2009. Consultado el 28 de julio de 2009 .
- ↑ Kane, Zee M (4 de septiembre de 2013). "MyOpenID cerrará. Se desactivará el 1 de febrero de 2014" . The Next Web . Archivado del original el 7 de septiembre de 2013. Recuperado el 5 de septiembre de 2013 .
- ↑ "Miembros patrocinadores de OpenID" . 7 de octubre de 2009. Consultado el 17 de abril de 2014 .
- ↑ "El banner del portal de identificación personal de Symantec indica que el servicio se interrumpirá el 12 de septiembre de 2016" . Archivado del original el 11 de junio de 2016. Consultado el 17 de mayo de 2016 .
- ↑ "¿Está Symantec fracasando estrepitosamente en su intento de ser Google?" . 7 de mayo de 2016. Archivado del original el 2 de junio de 2016. Consultado el 17 de mayo de 2016 .
- ↑ "El soporte para OpenID finalizó el 25 de julio de 2018" . Archivado del original el 7 de marzo de 2018. Consultado el 6 de marzo de 2018 .
- ↑ "Autenticación de usuario con OAuth 2.0" . OAuth.net . Archivado del original el 19 de noviembre de 2015. Consultado el 19 de marzo de 2015 .
- ↑ "¿Por qué es una mala idea usar OAuth2 simple para la autenticación?" . Information Security Stack Exchange . Archivado del original el 7 de julio de 2018 . Recuperado el 7 de julio de 2018 .
- ↑ "Núcleo final de OpenID Connect 1.0 - Apéndice C. Avisos" . 2014. Archivado del original el 14 de marzo de 2024. Consultado el 14 de marzo de 2024 .
- ↑ "Preguntas frecuentes y respuestas sobre OpenID Connect" . 20 de febrero de 2014. Archivado del original el 23 de agosto de 2014. Consultado el 25 de agosto de 2014 .
Enlaces externos
- Estándares de la nube
- autenticación de contraseña
- Identidad federada
- Iniciativa de gestión de identidades
- protocolos de control de acceso informático