🇪🇸 Firmas anónimas universales: unión entre el pasado, el presente y el futuro de la autenticación anónima

Universal Anonymous Signatures: bridging past, present, and future of anonymous authentication

¿Qué resuelve UAS?

La cuestión no es sólo que los esquemas AC, GS y RS (y sus numerosas variantes) tengan algunas cosas en común. Sus propias razones de ser están estrechamente relacionadas. Permiten a los usuarios autenticarse de forma anónima, al tiempo que permiten a los proveedores de servicios tener algún tipo de control sobre la información que pueden extraer. Desde un punto de vista teórico, esto se refleja en el hecho de que los modelos de seguridad suelen parecerse mucho. A modo de ejemplo, siempre hay que pensar en las propiedades de anonimato, que capturan lo que se puede saber de una firma. Y sobre las propiedades de infalsificabilidad, que tienen variantes de trazabilidad y no trazabilidad, que establecen con precisión qué tipo de garantía de infalsificabilidad pueden esperar los verificadores (proveedores de servicios) y los usuarios, respectivamente. Además, hay formas de construir estos esquemas a partir de bloques de construcción muy similares.

No obstante, y por alguna razón, hasta el momento, AC, GS, RS y otros se han estudiado de forma independiente. Más aún, aunque dentro de alguna rama concreta, como GS, existan modelos de seguridad de referencia como la línea de trabajo “Fundamentos de las firmas de grupo”, no siempre es así. Incluso teniendo modelos de referencia, estos modelos de seguridad suelen estar ligados a un compromiso concreto privacidad-utilidad.

Un ejemplo práctico

Digamos que tiene un esquema de CA que le permite revelar selectivamente atributos arbitrarios en el momento de la presentación de credenciales. Pero entonces, quiere reutilizarlo en un escenario en el que también necesita vincular las presentaciones del mismo usuario (tal vez quiera recompensar a este usuario con algunos puntos de fidelidad, o tal vez este usuario le esté enviando spam y quiera bloquearlo). En pocas palabras, quiere añadir algún tipo de auditabilidad. ¡Este cambio a priori sencillo requiere un nuevo modelo de seguridad! Claro, si sabe cómo hacerlo, puede ampliar el anterior y, si tiene suerte, la construcción que tenía antes también puede actualizarse fácilmente. Pero si ha implementado alguna vez este tipo de cosas, ya sabe que esto suele ser esperar demasiado.

Un modelo dinámico para las compensaciones entre privacidad y utilidad en la autenticación anónima

Exigir un modelo de seguridad por cada compromiso concreto entre privacidad y utilidad no es, obviamente, lo ideal. Precisamente es lo que queríamos arreglar, ya que este tipo de requisitos cercanos pero diferentes son bastante comunes en la práctica. Así pues, lo que hemos hecho es idear UAS, un modelo de seguridad genérico que puede retocarse aquí y allá, de modo que usted pueda adaptarlo a las necesidades de su caso de uso -en términos de la compensación requerida entre privacidad y utilidad. En un poco más de detalle, mirando de cerca, hay tres puntos en los que uno puede querer adaptar este tipo de esquemas de autenticación anónima:

  • En el momento de la emisión: cuando un usuario solicita una credencial, se le puede pedir que ofrezca credenciales de respaldo obtenidas previamente que cumplan la propiedad A o B - ¡o puede que ni siquiera se le pida que ofrezca una credencial en absoluto!
  • En el momento de la firma: cuando un usuario quiere producir una firma anónima (o presentar su credencial), el verificador puede requerir saber que los atributos de la credencial cumplen ciertos criterios.
  • En el momento de la auditoría: los auditores pueden exigir que se pueda extraer cierta información después de crear la firma. También es posible que no haya auditores en absoluto.

Plasmamos estas compensaciones variables a través de “marcadores de posición funcionales” (los programadores pueden pensar en ello como funciones abstractas) en estos tres puntos, que están incrustados dentro de un entorno de seguridad que básicamente sigue la plantilla de anonimato-no falsificabilidad mencionada anteriormente. El aspecto más relevante para los ingenieros es que, dada una construcción que se demuestre segura en nuestro modelo, solo tendrían que especificar las funciones concretas necesarias en cada paso -emisión, firma y auditoría-, ¡y ya está! La seguridad se deduce de la seguridad de la construcción principal.

¿Y qué relación tiene esto con GS, AC o RS?

¡Una pregunta justa! Hemos intentado asegurarnos de que nuestro pretendido modelo general es realmente general. Entonces, ¿cómo lo hicimos? Bueno, demostramos que, dando funciones concretas en tiempo de emisión, firma y auditoría, nuestra construcción genérica puede comportarse como un esquema GS, AC o RS. Más concretamente, demostramos que tal variante de nuestra construcción es un esquema seguro GS, AC, o RS, bajo sus modelos de seguridad bien conocidos).

Por supuesto, los papeles son finitos, por lo que solo demostramos que los GS, AC y RS básicos pueden construirse a partir de una construcción genérica de UAS. También esbozamos pruebas para variantes más avanzadas, como GS con apertura dependiente del mensaje, Firmas privadas multimodales y Credenciales anónimas revocables. Es fácil imaginar muchas otras variantes. Credenciales anónimas con capacidades de auditoría ampliadas, por ejemplo, o incluso esquemas de firma anónima con un compromiso entre privacidad y utilidad que no se ha considerado obstante en el espacio académico.

¿Qué es (o puede ser) lo siguiente?

Puede que lo primero que haya notado es que se trata de un trabajo bastante teórico. Si bien todo parece estar bien sobre el papel, los problemas pueden aparecer mientras se codifica. Un aspecto que preocupa de forma legítima es qué penalización se paga en términos de eficiencia por tener una construcción que puede adaptarse a muchos casos de uso diferentes. Esa preocupación es muy razonable. Después de todo, los esquemas diseñados con un único propósito en mente tienden a ser más eficientes. Para evaluar mejor esta cuestión, estamos trabajando en un prototipo. Inicialmente, queremos disponer de una biblioteca que pueda abstraer los detalles internos y dejar que los desarrolladores se centren en la implementación de los marcadores de posición funcionales concretos que les interesan. Después, probar lo eficiente que es el resultado, a partir de nuestra (de momento solo) construcción genérica. Esto probablemente será lo suficientemente bueno para algunas aplicaciones, pero no para todas.

El artículo ofrece una construcción genérica basada en BBS+, cifrado y pruebas ZK genéricas (no interactivas). Sin duda, esto estará bien si lo que queremos conseguir son afirmaciones del tipo de divulgación selectiva, pero probablemente no nos convenga si queremos demostrar predicados más expresivos, por ejemplo. Así pues, el siguiente paso es pensar en construcciones genéricas alternativas que se adapten mejor a requisitos más expresivos.

También desde un punto de vista teórico, tenemos muchas ideas para el futuro. Permitir que los emisores y los auditores cambien sus funciones, por ejemplo. Ahora mismo, aunque pueden coexistir muchos emisores o auditores, cada uno de ellos se compromete con una función. O adaptar el modelo al entorno totalmente dinámico, y muchas cosas más.

¿Cómo pensamos integrar UAS en Atala?

Como ya hemos dicho, estamos trabajando en una implementación basada en nuestra construcción genérica a partir de BBS+, cifrado (ElGamal) y pruebas ZK (protocolos Sigma básicos). Será nuestro punto de partida, lo que nos permitirá probar esta nueva tecnología en la pila SSI que ofrece Atala. Al integrar UAS dentro de la [pila de agentes empresariales abiertos] de Atala (Introducing Open Enterprise Agent, a new Hyperledger lab for self-sovereign digital identity DApps), podremos aprovechar todas las herramientas que Atala incluye, y empezar a probar cómo se comporta UAS en entornos listos para la producción (con agentes, nodos, protocolos de comunicación, etc. específicos de SSI), y también adaptarla a las necesidades del mercado y de los equipos de ingeniería.

¡Esté atento a las próximas actualizaciones!


Traducción al español de “Universal Anonymous Signatures: bridging past, present, and future of anonymous authentication”, escrito por Jesus Diaz Vico, Ingeniero de investigación, enero 23 de 2024.


Notas del traductor

  • Corchetes del traductor.
  • Asuma que todo enlace apunta a un contenido en idioma :uk: inglés.
  • :es: Indica que el enlace apunta a un contenido en idioma español.

Considere suscribirse a las siguientes fuentes de información en español de Cardano según su interés.