¿Ha adquirido alguna vez una tarjeta regalo para un amigo? Es una solución muy práctica cuando no sabemos qué comprar pero queremos tener un detalle. Sin embargo, este procedimiento esconde un problema de privacidad.
El ciclo de la tarjeta regalo tiene tres pasos. Primero, al comprarla, los datos personales del comprador quedan vinculados al número de serie de la tarjeta. Después, se entrega a su destinatario. Finalmente, éste se deberá identificar ante la tienda para poder usarla.
La tienda puede relacionar a ambas partes, pues sabe qué tarjeta ha comprado uno y qué tarjeta gasta el otro. La información que obtienen sobre nuestros círculos de amistades podría ser usada, por ejemplo, para campañas de publicidad u otros fines comerciales.
Entonces, ¿no sería mejor que la tienda no conociera la relación entre esas dos personas?
El reto de la proteger la intimidad
Para resolver este problema podemos recurrir a la criptografía, que es la rama de las matemáticas que se encarga de garantizar la seguridad y la privacidad en muchas de nuestras actividades cotidianas. Por ejemplo, está presente cuando accedemos a una página web o enviamos un mensaje en WhatsApp.
Usando la criptografía, podemos crear un conjunto de instrucciones que garanticen unos objetivos de seguridad y privacidad concretos. Este conjunto de instrucciones se llama protocolo criptográfico.
Para diseñarlo, primero hay que caracterizar el problema: quién interviene, cómo se relacionan entre sí los participantes y qué fines persigue cada uno.
Actores implicados
En este caso, intervienen el comprador, el beneficiario de la tarjeta y la tienda. Esta última quiere que nadie pueda gastar una tarjeta regalo que no haya adquirido antes un comprador. Dicho de otra forma: si la tienda vende cinco tarjetas regalo, no pueden aparecer seis beneficiarios, cada uno con una tarjeta regalo válida diferente.
Tanto el comprador como el beneficiario quieren esconder su relación a la tienda. Esto quiere decir que esta no debe ser capaz de identificar con quién de entre todos los compradores de tarjetas está relacionado el beneficiario.
Por ejemplo, si cinco personas distintas adquieren cada una una tarjeta, se trata de que, cuando alguien la gaste luego, la tienda no pueda saber cuál de esas cinco se la regaló.
Nótese que para satisfacer este objetivo de privacidad debe haber al menos dos compradores: si la tienda solo ha vendido una tarjeta y viene alguien a gastarla, es evidente quién la ha comprado.
Firma ciega, una solución
Nuestro objetivo de mejorar la privacidad en las tarjetas regalo precisa un protocolo que garantice dos cosas: que la tienda no puede vincular a un beneficiario con un comprador y que no se pueden falsificar tarjetas regalo.
Una vez caracterizado el problema, debemos seleccionar qué herramientas criptográficas tenemos disponibles para solucionarlo.
Por ejemplo, podemos usar la firma ciega (blind signature, en inglés), que originalmente se diseñó para hacer cheques digitales anónimos.
¿Cómo funciona?
Imaginemos que tenemos un cheque y el banco tiene un sello. Nuestro cheque solo es válido si el banco lo ha sellado, pero nosotros no queremos que el banco sepa cuál es el número de serie de nuestro cheque. Podríamos meterlo en un sobre y cerrarlo de tal manera que el banco no pudiera abrirlo.
Para sellar el cheque y validarlo, el banco moja el sello en tinta, sella el sobre y nos lo devuelve. En este proceso, la tinta del sello atraviesa el sobre, de manera que el sello queda igualmente impreso en nuestro cheque. Abrimos el sobre y este está sellado y listo para usarse ¡sin que el banco sepa cuál ha sellado!
Esto es exactamente lo que la firma ciega hace con cheques, sobres y sellos digitales. Además, garantiza dos objetivos.
- Primero, solo puede haber tantos cheques sellados como sobres ha sellado el banco.
- Segundo, cuando el banco ve un cheque sellado, no puede saber en cuál de todos los sobres que selló estuvo metido. Es decir, no sabe quién se lo dio para sellar.
Visto así, parece evidente que una firma ciega es lo que la tienda, el beneficiario y el comprador de tarjetas regalo necesitan. Con ella, podemos esconder la relación entre quien hace el regalo y quien lo recibe, además de prevenir la falsificación.
De forma digital, el comprador debe meter la tarjeta regalo en un sobre, dárselo a la tienda para que lo selle y pagar. Solo le queda enviársela al beneficiario para que la use cuando quiera y la tienda no podrá saber quién de entre todos los compradores se la ha dado. ¡Problema resuelto!
Llevado a la práctica, una forma de implementación usa como sobre una herramienta criptográfica llamada commitment y como sello una herramienta criptográfica llamada firma digital.
Para gastar la tarjeta, el beneficiario debe revelar el número de serie de la tarjeta y acompañarlo de una prueba de conocimiento cero. Esta prueba asegura que el beneficiario conoce un commitment para dicho número de serie que la tienda ha firmado, pero sin revelar ni el commitment ni la firma.
Pago en efectivo
¿Qué ocurre si queremos hacer la transacción en persona en una tienda física? Al pagar con tarjeta de crédito, quedaría registro del número de esta junto al número de serie de la tarjeta regalo. De este modo, cuando el beneficiario se registra para usar la tarjeta regalo, su identidad queda vinculada a la del comprador.
Por el contrario, pagar con efectivo no deja registro de la identidad del comprador de la tarjeta regalo, por lo que esta asociación no se puede realizar.