Aprendizaje y descubrimiento 4min de Leitura - 24 de enero de 2023

Pruebas de conocimiento cero

provas de conhecimento zero

This post is also available in: Português Español

Existe un problema con muchos métodos tradicionales de validación de información: requieren demasiados datos para confirmar si algo es cierto o no, lo que puede causar problemas de privacidad.

La razón es que gran parte de la información de identificación personal (PII) compartida con servicios de terceros se almacena en bases de datos y no está completamente a salvo de los ciberdelincuentes. Con el robo de identidad convirtiéndose en un problema cada vez mayor, hay espacio para que se apliquen más protecciones de privacidad.

Ahí radica la razón del crecimiento en el uso de Pruebas de Conocimiento Cero. Es una forma de probar la validez de un reclamo sin revelar el reclamo en sí. En él, el ‘probador’ es la parte que intenta probar una afirmación, mientras que el verificador es responsable de validar esa afirmación.

En este contexto, una prueba de conocimiento cero actúa como un método de validación en el que alguien puede demostrarle a la otra parte (persona o sistema) que algo es cierto, sin revelar más información. Por lo tanto, usamos la declaración (llamada ‘testigo’) como entrada para generar una prueba concreta de su validez. Esta prueba proporciona garantías suficientes de que una afirmación es cierta sin tener que exponer los datos utilizados para crearla.

Por lo tanto, una prueba de conocimiento cero es un método en el que un usuario puede demostrar a otro que conoce un valor absoluto, sin tener que compartir información adicional.

Entonces, el probador puede demostrar que conoce el valor de X al verificador sin darle ningún dato más que el hecho de que conoce el valor de X. Entonces, lo interesante es que demuestra que sabe sobre la existencia de algo, sin decir qué es ese algo.

Ejemplo clásico

A pesar de ser novedosa, la Prueba de Conocimiento Cero no es tan nueva. De hecho, un artículo publicado hace exactamente 30 años buscaba explicar el concepto de la forma más sencilla posible. Firmado por los investigadores Louis Guilou, Jean Jacques Quisquater y Thomas Berson, el documento se titulaba “Cómo explicar el protocolo de conocimiento cero a tus hijos”.

Para ello apeló al ejemplo de la cueva de Alí Babá y la palabra mágica que abre su puerta. Los autores utilizaron personajes ficticios llamados María y Roberto, donde María quería demostrarle a Roberto que conocía la palabra mágica. Sin embargo, ella no quería decir cuál era la palabra, sino solo demostrar que sabía sobre su existencia.

Luego van a la cueva, donde está el camino 1 y el camino 2, que solo se conectan a través de la puerta. Roberto le pide a María que pase por 1 o 2 mientras él espera en la entrada. Para poder volver a la entrada haciendo el camino completo, María debe conocer la palabra mágica. Y lo demostró al lograr hacer el viaje sin siquiera tener que decirle a Roberto cuál era la palabra mágica.

Dentro del mundo de la seguridad digital, la prueba de conocimiento cero se utiliza en los bancos, por ejemplo. Uno de ellos es el ING holandés. La compañía tiene una versión modificada del sistema llamada prueba de brecha de conocimiento cero.

Uno de los usos es en el área de financiamiento. Los clientes pueden demostrar que ganan suficiente dinero para liberar fondos sin revelar cuánto ganan.

Estructura

Para operar de la manera pensada, los protocolos de conocimiento cero se basan en algoritmos que toman algunos datos como entrada y devuelven verdadero o falso como salida. Por lo tanto, debe satisfacer tres criterios.

El primero de ellos es la plenitud, es decir, la característica de ser completo y completo. Si la entrada es válida, el protocolo de conocimiento cero siempre devuelve «verdadero». Por lo tanto, si la afirmación es auténtica, la prueba puede ser aceptada.

Luego viene la solidez. Este punto abarca el hecho de que, si la entrada no es válida, es teóricamente imposible engañar al protocolo de conocimiento cero para que devuelva «verdadero». Por lo tanto, un probador falso no podría engañar a un verificador honesto haciéndole creer que una afirmación errónea es válida. Después de todo, el margen de error de este sistema es extremadamente bajo debido a su propia naturaleza.

El tercer criterio es el que le da nombre al sistema: conocimiento cero: el verificador no sabe nada de una declaración más que su validez o falsedad. Por lo tanto, tiene cero conocimiento sobre el contenido. Este requisito también impide que el verificador deduzca o adivine el contenido original de la evidencia.

Donde utilizarlo

Uno de los primeros usos que se puede dar, es el ejemplo utilizado al comienzo del texto: la protección de la identidad. Las pruebas de conocimiento cero pueden ayudar a las personas a validar la identidad mientras protegen los detalles confidenciales, ya que no es necesario revelar más detalles.

También es muy útil en las identidades descentralizadas, que brindan a las personas la capacidad de controlar el acceso a los identificadores personales. Probar la ciudadanía sin revelar los detalles del pasaporte es un buen ejemplo de cómo la tecnología de conocimiento cero permite una identidad descentralizada.

Otro buen uso es en la autenticación. Muchos servicios en línea requieren prueba de identidad para otorgar acceso. Esto generalmente requiere proporcionar información como dirección de correo electrónico, fecha de nacimiento, código postal y número de seguro social.

Sin embargo, las pruebas de conocimiento cero pueden simplificar la autenticación para plataformas y usuarios. Una vez que se ha generado una prueba de ZK (Zero Knowledge) utilizando entradas públicas (p. ej., datos que acrediten la membresía del usuario en la plataforma) y entradas privadas (p. ej., detalles del usuario), simplemente puede enviarla para autenticar su identidad cuando lo necesite. para acceder al servicio. Esto mejora la experiencia del usuario y evita que las organizaciones tengan que almacenar grandes cantidades de información de los clientes.

This post is also available in: Português Español