MicroID es un protocolo de identidad descentralizado . Fue desarrollado originalmente en 2005 por Jeremie Miller.Un MicroID es un identificador simple que consta de una URI de comunicación/identidad cifrada (por ejemplo , correo electrónico , OpenID o Yadis ) y una URL declarada . Juntos, estos dos elementos crean un hash que puede ser utilizado por servicios de terceros.
Ben Laurie demostró problemas de privacidad con él en 2006, [ 1 ] al igual que Chris Erway en un Informe Técnico de Brown CS en 2008 [ 2 ].
Intercambio de MicroID
Aquí hay un ejemplo de un hash MicroID , en pseudocódigo :
MicroID = sha1 ( sha1(" mailto:user@example.com ") + sha1(" http://example.net/ ") );
El MicroID calculado se colocaría en una página web para su reclamación. Un verificador, que generaría el MicroID de forma independiente, visitaría la página para comprobar si el MicroID generado coincide con el que aparece en ella. Si coinciden, se considera que existe una reclamación.
MicroID se basa en un URI de comunicación . Dado que tanto el proveedor como el verificador de MicroID pueden verificar el URI de comunicación, una implementación adecuada de MicroID permite realizar declaraciones de identidad confiables.
Limitaciones de seguridad
Un MicroID es esencialmente un URI de contenido firmado con una dirección de correo electrónico u otra atribución. Dado que el URI de contenido se conoce con fines comparativos, cualquier persona que conozca el URI de comunicación (por ejemplo, la dirección de correo electrónico) asociado a la identidad puede falsificar una reclamación de MicroID.
En particular, dado que un verificador debe generar el MicroID para poder compararlo, se deduce que cualquier parte en la que se confíe para verificar el MicroID de un usuario también debe ser de confianza para generar nuevas declaraciones de autoría con él.
Así que si puedes verificar, puedes falsificar.
En otras palabras, cualquiera (por ejemplo, Alice) que pueda verificar el MicroID de otra persona (por ejemplo, Bob) en un recurso 'X' también puede generar (falsificar) un MicroID en cualquier otro documento (por ejemplo, Alice puede generar un MicroID válido para un documento Y, distinto de X, a nombre de Bob).
Suponiendo que la identidad no se conoce (por ejemplo, 1) el editor ha optado por permanecer anónimo y 2) niega a otros la capacidad de verificar la afirmación de MicroID hasta un momento en el futuro en que el uso revele su identidad), entonces alguien con direcciones de correo electrónico puede realizar un ataque de diccionario trivial para encontrar la propiedad de los recursos,Alguien que tenga una URI puede realizar un ataque de diccionario sencillo para encontrar una dirección de correo electrónico.
Por lo tanto, el (único) caso de uso restante es aquel en el que una entidad genera un nonce criptográfico seguro (por ejemplo, un UUID); lo usa para publicar documentos a lo largo del tiempo, y en algún momento en el futuro revela el UUID para probar que el usuario escribió esos documentos (y acepta que a partir de ese momento cualquiera puede hacer cualquier reclamo en su nombre).
Limitaciones de privacidad
Como se explicó anteriormente, un MicroID es un hash generado a partir de una URI pública y una dirección de correo electrónico semipública. Quienes conocen ambos datos pueden verificar la identidad en una página. El hash ayuda a ocultar la dirección de correo electrónico semipública a quienes no deberían conocerla, en particular a los remitentes de spam.
Sin embargo, las investigaciones [ 2 ] sobre sitios web sociales populares como Last.fm, Digg y ClaimID muestran que un ataque de fuerza bruta puede descifrar la dirección de correo electrónico en el 20-25% de los casos.
El ataque de fuerza bruta adivina las direcciones de correo electrónico a partir del nombre de usuario público y otra información disponible en las redes sociales, comprobando así solo una docena de direcciones candidatas por MicroID. A pesar de ello, el estudio demostró que un ataque sencillo como este podría tener éxito una cuarta parte de las veces, dedicando apenas una fracción de segundo a comprobar todas las direcciones candidatas para cada usuario. Por lo tanto, el esquema de hash no garantiza la privacidad de la dirección de correo electrónico.
Arquitectura de una reivindicación de MicroID
Un ejemplo de una solicitud de MicroID exitosa es el siguiente:
- Un usuario se registra en un servicio web. Dicho servicio verifica el correo electrónico del usuario y crea páginas web públicas que contienen un MicroID. Este MicroID se compone del correo electrónico cifrado (URI de comunicación) y la URL de la página web.
- A continuación, el usuario se registra en un servicio de verificación. Este servicio también verifica el correo electrónico del usuario.
- El usuario introduce la URL de la página que desea reclamar en el servicio de verificación. El servicio de verificación calcula el MicroID e intenta verificarlo en la página reclamada.
- Si el MicroID de la página reclamada coincide con el del servicio de verificación, existe una reclamación. El verificador reclamará entonces la propiedad de la página.
MicroID y el DOM
MicroID permite reclamar la propiedad de elementos HTML semánticos . Por ejemplo, un MicroID insertado en un elemento de bloque constituirá una reclamación de propiedad sobre todo lo que contenga. Un MicroID insertado en el encabezado de una página constituirá una reclamación de propiedad sobre la página en sí. Las reclamaciones solo se pueden verificar a nivel de URI.
Proveedores de MicroID conocidos
Los siguientes servicios web proporcionan MicroIDs a sus usuarios:
Verificadores MicroID conocidos
Los siguientes servicios web verifican las afirmaciones de MicroID:
Enlaces externos
- http://microid.org - Página principal de MicroID
- https://microid.org/blog - Blog de MicroID
- https://lists.ibiblio.org/mailman/listinfo/microid - Lista de correo de MicroID
- https://microid.org/code/ - Código fuente abierto de MicroID
Referencias
- Control de acceso informático