OpenID

Na Galipedia, a Wikipedia en galego.

OpenID é un sistema de identificación dixital descentralizado, co cal un usuario pode identificarse nunha páxina web a través dunha URL ou dun XRI na versión actual, e pode ser verificado por calquera servidor que soporte o protocolo.

Características[editar | editar a fonte]

Nos sitios web que admiten OpenID, os usuarios non teñen que crear unha nova conta de usuario para obter o acceso. No seu lugar, só precisan dispoñer dun identificador creado nun servidor que verifique OpenID, chamado provedor de identidade ou IdP. O provedor de identidade pode confirmar a identificación OpenID do usuario a un sitio que soporte este sistema.

A diferenza das arquitecturas Single Sign-On, OpenId non especifica o mecanismo de autenticación. Polo tanto, a seguridade dunha conexión OpenId depende da confianza que teña o cliente OpenID no provedor de identidade. Se non existe confianza no provedor, a autenticación non será adecuada para servizos bancarios ou transaccións de comercio electrónico, aínda que o provedor de identidade poida usar un sistema de autenticación forte que o habilite para tales fins.

OpenID está gañando forza debido ao anuncio dalgúns sitios grandes, como Technorati de adoptaren este sistema[1]. O software MediaWiki conta cunha extensión para permitir acceso por OpenID,[2] pero polo momento non se usa nos servidores de Wikipedia.

Historia[editar | editar a fonte]

Desenvolvemento[editar | editar a fonte]

O sistema OpenID desenvolveuno orixinalmente Brad Fitzpatrick de LiveJournal, aínda que David Recordon de VeriSign, Josh Hoyt de JanRain e Dick Hardt de Sxip foron posteriores coautores. As novas especificacións de OpenID desenvólveas unha meritocracia fundamentada na lista de distribución do proxecto. Para apoiar a implantación de OpenID, un grupo de empresas anunciou en agosto de 2006 un programa de contribucións de desenvolvemento que lles ofrecía 5.000 dólares aos primeiros dez proxectos de software libre que implementasen total compatibilidade con OpenID[3].

A partir da versión 1.1, OpenID utiliza o protocolo de busca de servizos Yadis. En decembro de 2007 viu a luz a versión 2.0 da Autenticación OpenID[4].

Terminoloxía[editar | editar a fonte]

Un glosario básico dos termos usados con OpenID:

  • Usuario final: a persoa que quere acceder coa súa identidade a un sitio.
  • Identificador: a URL ou XRI elixida polo usuario final como seu identificador OpenID.
  • Provedor de identidade: un provedor de servizos que ofrece rexistro de URL ou XRI OpenID e prové autenticación OpenID.
  • Parte confidente: o sitio que quere verificar a identidade do usuario final.

Como funciona OpenID[editar | editar a fonte]

Un sitio web, como exemplo.com, que quere ofrecer acceso aos seus visitantes a través de OpenID, coloca un formulario de identificación nalgunha das súas páxinas. Ao contrario que os típicos formularios de identificación que preguntan ao usuario polo seu nome e contrasinal, neste caso só existe un campo para o identificador OpenID. O sitio web pode optar por mostrar un pequeno logo OpenID xunto ao campo. Este formulario estará conectado a unha implementación da biblioteca cliente OpenID.

Exemplos[editar | editar a fonte]

Se, por exemplo, Antía quere acceder a exemplo.com usando o identificador OpenID antia.proveedor-openid.org que ela previamente rexistrou no proxecto de identidade proveedor-openid.org, simplemente vai a exemplo.com e teclea antia.proveedor-openid.org na caixa de identificación de OpenID. A partir da versión 2.0 da autenticación OpenID (e nalgunhas das implementacións de OpenID 1.1) Antía tamén pode identificarse tecleando un i-nome como =exemplo.antia ou =exemplo.comunidade*antia.

Se o identificador é unha URL, a primeira cousa que debe realizar a parte (exemplo.com) é transformala a unha forma canónica, del tipo http://antia.proveedor-openid.org/. Con OpenID 1.0, a parte confidente solicita entón a páxina web situada en dita URL e, vía unha etiqueta HTML de ligazón, descobre que o servidor de provedor é, poñamos, http://proveedor-openid.org/openid-auth.php. Tamén descobre se debe ou non usar unha identidade delegada (ver máis abaixo). A partir de OpenID 1.1, o cliente realiza o descubrimento destes datos solicitando o 'documento XRDS (tamén chamado documento Yadis) co tipo de contido application/xrds+xml, que pode estar dispoñible en dita URL e que sempre estará dispoñible a través dunha XRI.

Modos de comunicación[editar | editar a fonte]

Hai dous modos mediante os cales a parte confidente pode comunicarse co provedor de identidade:

  1. checkid_immediate, o cal está orientado á identificación automática e no que toda comunicación entre os dous servidores se realiza como unha tarea de fondo, sen que o usuario sexa consciente;
  2. checkid_setup, no que o usuario comunícase directamente co servidor provedor usando o mesmo navegador web que emprega para acceder ao sitio da parte confidente.

A segunda opción é máis popular na Web; tamén pode suceder que un checkid_immediate termine converténdose nun checkid_setup se a operación non pode automatizarse.

En primeiro lugar, a parte confidente e o provedor (opcionalmente) establecen un segredo compartido, que a parte confidente se encarga de almacenar. Se empleamos checkid_setup, a parte confidente redirixe ao navegador web do usuario cara ao provedor. No exemplo, o navegador de Antía sería redirixido a provedor-openid.org de xeito que Antía puidese autenticarse contra o provedor.

O método de autenticación pode variar, mais normalmente un provedor OpenID pide un contrasinal (e entón posiblemente almacena a sesión do usuario usando cookies, tal e como fan moitos sitios con autenticación baseada en contrasinal). En caso de que Antía non teña unha sesión activa en proveedor-openid.org, este solicitará o seu contrasinal. Unha vez teña a sesión aberta, o servidor preguntará acerca da confianza que lle ofrece http://exemplo.com/openid-retorno.php (a páxina designada por exemplo.com como destino ao que o usuario debería volver tras completar a autenticación para recibir os detalles da súa identidade). Se ela responde positivamente, a autenticación OpenID considérase exitosa e o navegador é redirixido á páxina de retorno indicada coas credenciais outorgadas. Se Antía decide non fiarse do sitio da parte confidente, o navegador tamén será redirixido, pero se notificará do rexeitamento á parte confidente, de xeito que exemplo.com como contrapartida se negará a autenticar a Antía.

Non obstante, o proceso de login non rematou aínda porque nesta etapa, exemplo.com non pode decidir se as credenciais recibidas realmente foron recibidas dende proveedor-openid.org. Se eles tiñan establecido previamente un segredo compartido, o consumidor pode validar o segredo compartido recibido coas credenciais que tivese gardadas previamente. Cada consumidor é chamado con estado porque garda o segredo compartido entre sesións. En comparación, un consumidor sen estado ou mudo deberá facer unha petición máis a fondo (check_authentication) para asegurarse que os datos viñeron de verdade de provedor-openid.org.

Despois de que o identificador de Antía fose verificado, ela será considerada rexistrada en exemplo.com como antia.provedor-openid.org. O sitio pode entón gardar a sesión ou, se este é o seu primeiro rexistro, pedir a Antía que introduza información específica para exemplo.com para rematar o rexistro.

Fundación OpenID[editar | editar a fonte]

A Fundación OpenID, radicada nos Estados Unidos, así como a súa filial OpenID Europe,[5] creáronse en 2007. É unha organización sen fin de lucro cuxo papel é a organización e o desenvolvemento do framework OpenID para a comunidade e de administrar a súa propiedade intelectual.

Identificadores OpenID[editar | editar a fonte]

A partir da versión 2.0 da autenticación OpenID así como nalgunhas das implementacións de OpenID 1.1, hai dous tipos de identificadores: URLs y XRIs.

URLs[editar | editar a fonte]

Hai dous xeitos de obter unha URL OpenId válida que poida ser usada para rexistrarse en tódolos sitios que soporten OpenID.

  1. Primeiro, usar unha URL existente que o usuario controle (como o seu blog ou páxina persoal), e se sabe editar HTML, poderá inserir os tags OpenID apropiados no código seguindo as instrucións das especificacións de OpenID. Comentar que usando un subdominio poderá facer que o seu OpenID sexa máis sinxelo de escribir, mais non é preciso.
  2. Segundo, que o usuario rexistre o seu identificador OpenID cun provedor de identidades. Estes ofrecen a posibilidade de rexistrar URLs (habitualmente terceiros niveles de dominio) configuradas automaticamente para ser utilizadas con servizos de autenticación OpenID.

XRIs[editar | editar a fonte]

Os XRIs son un novo sistema de identificación en Internet, deseñado especificamente para identidades dixitais de dominio cruzado.

Características[editar | editar a fonte]

Os XRIs son de dúas formas i-nomes e i-números que son habitualmente rexistrados simultaneamente como equivalentes. Os I-nomes son reasignables (semellantes a nomes de dominio), namentres que os i-números nunca son reasignados. Cando un i-nome XRI é usado como un identificador OpenID, este é resolto inmediatamente polo i-número equivalente (o elemento CanonicalID dun documento XRDS). Este i-número é o identificador OpenID almacenado pola parte confidente. Deste xeito o usuario e a parte confidente están protexidos contra os cambios de identidade que poderían suceder cunha URL fundamentada nun nome DNS reasignable.

Críticas[editar | editar a fonte]

OpenID recibiu numerosas críticas de base relativas a problemas dende distintos ámbitos, pero en especial de seguridade e privacidade. A unificación de tódalas identidades implica altos riscos, amais do feito de que o servidor de identidade coñecerá tódalas webs que se visiten cada día. É máis, se se comprometese a seguridade do ordenador usuario ou do servidor, toda a vida dixital do usuario quedaría desprotexida.[6]

Notas[editar | editar a fonte]

  1. Technorati Announces Support for Open ID, TechCrunch, 19.10.2006, consultado o 27.9.2009
  2. http://www.MediaWiki.org/wiki/Extension:OpenID Extensión OpenID do sofware MediaWiki
  3. OpenID Bounty Program, consultado o 27.9.2009
  4. OpenID 2.0, Error 500, 6.12.2007, consultado o 27.9.2009
  5. http://openideurope.eu/ OpenID Europe Foundation
  6. http://idcorner.org/2007/08/22/the-problems-with-openid/ The problems with OpenID

Véxase tamén[editar | editar a fonte]

Outros artigos[editar | editar a fonte]

Ligazóns externas[editar | editar a fonte]