Esquemas criptográficos visuales
 

Luis Hernández Encinas
Dpto. Didáctica de las Matemáticas y de las CC.EE.
UNIVERSIDAD DE SALAMANCA
Fausto Montoya Vitini
Jaime Muñoz Masqué
Dpto. Tratamiento de la Información y Codificación.
Instituto de Física Aplicada, C.S.I.C.


Los esquemas criptográficos visuales son protocolos criptográficos que codifican un mensaje formado por una imagen definida por píxeles en vez de codificar un mensaje de texto definido por letras y números. Los esquemas visuales se definen a partir de los esquemas umbrales y han dado lugar al nacimiento de la Criptografía Visual. En este artículo se presentan estos esquemas y se da una visión global del estado del arte en esta rama de la Criptografía: se definen los esquemas visuales umbrales, se introducen los conjuntos de participantes cualificados para recuperar la imagen original, se señalan los problemas de contraste al efectuar la recuperación de la imagen (mensaje) codificada y se aplican estos esquemas a los protocolos de autenticación e identificación.
Como es bien sabido, el objetivo de la Criptografía consiste en intercambiar de forma segura un mensaje de modo que ninguna persona no autorizada pueda tener acceso a la información contenida en el mismo. El procedimiento utilizado consiste en cifrar el mensaje de modo que lo haga irreconocible para quien no esté autorizado a recuperar el texto original. Los métodos de cifrado más empleados en la actualidad se basan en algoritmos matemáticos que usan determinados parámetros, conocidos como claves. La seguridad de tales algoritmos se suele basar en la presunta intratabilidad computacional de un problema matemático (factorización entera, logaritmo discreto, etc.).
En el caso particular de que el mensaje no esté formado por letras y números sino que esté formado por una imagen definida por píxeles blancos y negros, estamos ante otro tipo de criptografía, que se ha dado en llamar Criptografía Visual. Esta nueva criptografía, que no necesita ningún tipo de conocimiento criptográfico para la recuperación de la imagen original, fue propuesta por Naor y Shamir ([NS95]) y desarrollada posteriormente por otros autores (véanse [St95], [ABSS96], [ABSS99] y [BSS99]).
La base de los criptosistemas visuales son los esquemas visuales umbrales, que a su vez se fundamentan en una aplicación bien conocida de la criptografía como son los esquemas umbrales (ver [FGHMM97], §8.5). En general, un esquema umbral t de n es un procedimiento criptográfico en el que hay n participantes y que es llevado a cabo por un director, D. El director divide un secreto S (que puede ser una clave utilizada para cifrar un mensaje) en n partes o sombras, proporcionando, de forma secreta, una sombra a cada uno de los n participantes. La división del secreto en sombras debe hacerse de modo que cualesquiera t participantes puedan determinar el valor del secreto S sin más que compartir las t sombras que poseen; y de tal manera que ningún grupo de t–1 participantes, o menos, pueda obtener información alguna sobre el valor secreto de S.
De forma resumida se puede dar una idea de cómo elaborar un esquema umbral 2 de 2, donde el secreto sea, p.e., una cadena de m bits (ver [HM99]). El secreto original se divide en 2 sombras, de modo que para recuperarlo será necesario reunir la información de las 2 sombras. El director podría elegir al azar m bits, que serían la primera sombra, mientras que la segunda la obtendría sin más que sumar módulo 2 cada bit del secreto con cada bit de la primera sombra. Posteriormente proporcionaría de forma secreta las sombras a los participantes, quienes deberían reunir (sumando bit a bit) la información de las sombras que poseen para recuperar el secreto original. Obsérvese que ninguno de los dos participantes obtiene información alguna acerca de los bits de S, dado que la primera sombra es aleatoria. Además, la elaboración de las sombras es segura, puesto que la recuperación del secreto original a partir de una de las sombras es una tarea difícil: se deberían probar las 2m posibles valores de la otra sombra.

Figura 1. Píxeles cifrados mediante subpíxeles cuadrados 2´2 o mediante círculos

ESQUEMAS VISUALES UMBRALES

Un esquema visual umbral t de n es un procedimiento similar a un esquema umbral t de n, pero caracterizado por el hecho de que el secreto, S, es una imagen formada por píxeles blancos y negros y porque las n sombras en que se divide el secreto son otras tantas imágenes con el mismo número de píxeles que la imagen original, es decir, cada uno de los píxeles que forman la imagen original es cifrado dando lugar a n versiones modificadas de dicho pixel, una para cada sombra. Además, la recuperación del secreto se lleva a cabo fotocopiando cada una de las sombras sobre una transparencia y luego superponiendo t transparencias cualesquiera, teniendo en cuenta que dicho secreto no puede recuperarse con t–1 transparencias o menos. Nótese que para la recuperación de la imagen original no se requiere ningún tipo de conocimiento criptográfico ni el uso de ningún algoritmo. Basta con mirar y «ver» la imagen que resulta al superponer las transparencias.
Un proceso para elaborar un esquema visual umbral 2 de 2, no tan elemental como el presentado en [HM99] y que proporciona mejor resolución en la imagen recuperada, consiste en utilizar, para cifrar cada pixel original, píxeles cifrantes constituidos por 4 subpíxeles, dos blancos y dos negros, ordenados en una matriz 2´2, de modo que al superponerlos se obtengan píxeles totalmente negros (cifran un pixel negro) o mitad blancos y mitad negros (cifran un pixel blanco). El procedimiento de cifrado de un pixel original consiste en elegir, de forma aleatoria, una cualquiera de las parejas de píxeles cifrantes mostradas en la Figura 1.a (horizontales, verticales o diagonales), según sea el color del pixel original. Dado que en la recuperación de la imagen original los píxeles blancos se recuperan mitad blancos, mitad negros, se produce una pérdida de contraste al comparar la imagen original y la que se recupera.
También puede considerarse para este esquema umbral 2 de 2 la posibilidad de cifrar cada uno de los píxeles originales mediante círculos en lugar de cuadrados. Cada círculo se divide en dos semicírculos (subpíxeles), de modo que uno de ellos será negro y el otro blanco, y tales que el diámetro que los separa formará determinado ángulo con la horizontal (Figura 1.b). Cuando los dos círculos (girados a y b grados) se superponen, el rango de tonos que pueden cubrir van desde el medio gris (representando al pixel blanco) hasta el negro (representando al pixel negro), dependiendo del ángulo de rotación, a–b, entre los dos semicírculos.

Figura 2. Imágenes originales (logotipo del CSIC), sombras e imágenes recuperadas en blanco y negro y en tonos grises

Si se elige para cada pixel en cada sombra un ángulo de rotación aleatorio (vigilando el ángulo que se desea para la otra sombra), cada una de las dos transparencias parecerá uniformemente gris, con lo que no se obtendrá ninguna información de la imagen original. Como ejemplo, en la Figura 2, se pueden comparar las sombras e imágenes en blanco y negro y en tonos grises de una misma imagen secreta.
Una nueva extensión de este modelo podría llamarse cifrado visual subliminal pues consiste en usar dos imágenes aparentemente inocentes como sombras, por ejemplo, un árbol y un pajarillo, de modo que al superponerlas aparezca la imagen cifrada, que no tiene nada que ver con los dibujos del árbol y el pájaro originales. Para ello se consideran píxeles compuestos por 4 (= 2´2) subpíxeles, de modo que un pixel blanco se cifra mediante un pixel con 2 subpíxeles negros y un pixel negro se cifra con un pixel que contiene 3 subpíxeles negros. Al superponer las sombras se obtienen píxeles blancos formados por 3 subpíxeles negros y píxeles negros formados por los 4 subpíxeles negros.

ESQUEMAS CRIPTOGRÁFICOS VISUALES

En los esquemas visuales presentados anteriormente se ha considerado que cada pixel original es cifrado mediante píxeles que están divididos en 2 o en 4 subpíxeles. Sin embargo, para extender los esquemas anteriores, se puede considerar que cada pixel de la imagen secreta se cifra mediante m subpíxeles para cada una de las n sombras. Este número m se denomina expansión del pixel. Además, en estos esquemas se estudia también un nuevo factor, conocido como contraste relativo, que informa de la pérdida de contraste de la imagen original con respecto a la imagen recuperada al descifrar los píxeles blancos originales, debido a que se obtienen píxeles que no son completamente blancos.
En un esquema visual 2 de n, el cifrado de un pixel original en m subpíxeles se podría hacer de forma parecida a como se hizo antes, es decir, dividiendo cada uno de los dos píxeles cifrantes en m subpíxeles y ennegreciendo algunos de ellos. Sin embargo, esta extensión es más fácil de ejecutar si cada pixel dividido en m subpíxeles se representa por una colección de m dígitos binarios (0 para los subpíxeles blancos y 1 para los negros). Además, como cada pixel original da lugar a n píxeles, uno para cada sombra, conviene utilizar dos matrices de tamaño n´m para describir el esquema, una para los píxeles blancos, C0, y otra para los píxeles negros, C1. En esta situación, el algoritmo para cifrar un pixel en un esquema criptográfico visual 2 de n con expansión de pixel m es el siguiente:
Entrada: un pixel original P = 0 ó 1 (blanco o negro).
Salida: los n píxeles cifrantes de P para cada una de las n sombras.
1. Seleccionar una permutación aleatoria r del conjunto {1, 2, ..., m}.
2.NP es la matriz construida permutando las columnas de la matriz CP según r.
3. Desde i = 1 hasta n, la fila i de NP son los m subpíxeles del pixel para la sombra i.
Para ilustrar el algoritmo podemos considerar un esquema t = 2 de n = 4 con expansión de pixel m = 6. En este caso, las dos matrices C0 y C1 son las siguientes:

Entonces, si se quiere cifrar un pixel negro P = 1, se elige una permutación aleatoria del conjunto {1, 2, 3, 4, 5, 6}, por ejemplo r = {4, 2, 5, 6, 3, 1} y se construye la matriz N1 para este pixel, sin más que permutar según r las columnas de la matriz C1:

Los n = 4 píxeles cifrantes, formados por m = 6 subpíxeles cada uno, que codifican el pixel negro original son los que se obtienen de la matriz N1 anterior interpretando cada fila como un pixel cifrante para cada sombra y cada elemento de la fila como el color de cada uno de los subpíxeles que lo forman. Si lo que se desea es cifrar un pixel blanco (P = 0), el proceso sería el mismo pero utilizando la matriz C0 para construir N0.

Figura 3. Ejemplo de esquema visual selectivo con 4 participantes
ESQUEMAS CRIPTOGRÁFICOS SELECTIVOS

En los esquemas visuales anteriores todos los participantes estaban igualmente cualificados para recuperar la imagen secreta a partir de la sombra que recibían, es decir, en un esquema visual umbral t = 3 de n = 8, por ejemplo, bastaba con unir las sombras de 3 cualesquiera de los 8 participantes para recuperar la imagen secreta original. Sin embargo, se pueden considerar esquemas visuales con n participantes que no estén caracterizados por el parámetro t, es decir, esquemas en los que la recuperación de la imagen original esté determinada no por la unión de las sombras de determinado número fijo de participantes, sino por el hecho de pertenecer o no a un grupo de participantes cualificados. A este tipo de esquema visual umbral lo llamaremos selectivo.
De forma más general un esquema criptográfico visual para un conjunto, P, de n participantes es un procedimiento criptográfico que permite codificar una imagen secreta, S, en n sombras de modo que cada participante del conjunto P recibe una de tales sombras. Si 2P es el conjunto de las partes de P, los elementos de determinado subconjunto, Q, de 2P son los participantes que pueden recuperar «visualmente» la imagen codificada, si unen sus sombras (participantes cualificados), mientras que el resto de subconjuntos de 2P no tienen acceso a ninguna información de la imagen original ([ABSS96] y [ABSS99]). Nótese que con este esquema criptográfico es posible que no siempre haga falta el mismo número de sombras cada vez que se desee recuperar la imagen. Puede darse el caso en el que un subconjunto de participantes cualificados esté formado por sólo 2 individuos, mientras que otro puede estar formado por 4 participantes diferentes.
Al igual que en los esquemas umbrales anteriores, la recuperación «visual» de la imagen se lleva a cabo fotocopiando las sombras de cada uno de los participantes en una transparencia y superponiéndolas, sin necesidad de que éstos posean selectivo con 4 participantes conocimientos criptográficos. La situación que se presenta en un esquema criptográfico selectivo puede ser, más o menos, la del siguiente ejemplo. Se considera un esquema criptográfico visual con n = 5 participantes, que denotaremos por {1,2,3,4,5}. En este esquema criptográfico sólo se podrá recuperar la imagen secreta si se forman subconjuntos de participantes que contengan, al menos, a alguno de los siguientes conjuntos de participantes cualificados elementales: {1,5} o {3,4,5}. Por tanto, el conjunto de participantes cualificados, Q, es el siguiente:
Q = {1,5},{1,2,5},{1,3,5},{1,4,5},{3,4,5},{1,2,3,5},{1,2,4,5},{1,3,4,5},{2,3,4,5},{1,2,3,4,5}}
Para cualquier otro subconjunto de participantes no es posible recuperar la imagen secreta. Por ejemplo, las sombras de {1,3}, {2,4,5} o {1,2,3,4} no recuperarán la imagen original. A modo de ejemplo, en la Figura 3 (tomada de [St95]) puede verse un esquema visual de 4 participantes, {1,2,3,4}, cuyos participantes cualificados elementales son {1,2}, {2,3} y {3,4}. Se observa que la unión de las sombras de {1,3}, {2,4} o {1,4} no recuperan la imagen, mientras que la superposición de las sombras de {1,2} o {3,4} sí que lo hacen.

Figura 4. Ejemplo de esquema visual extendido

ESQUEMAS CRIPTOGRÁFICOS EXTENDIDOS


Los esquemas criptográficos visuales presentados en la sección anterior pueden ampliarse si se consideran junto con los esquemas visuales subliminales. De esta forma, si a la estructura anterior, en la que dentro del conjunto de participantes hay determinados subconjuntos de participantes cualificados, añadimos la posibilidad de que las sombras que se generen por el director contengan imágenes inocentes, estamos ante los esquemas visuales extendidos ([BSS99] y [ABSS99]). Por tanto, en este tipo de esquemas se pueden elegir las imágenes que aparecerán en cada una de las sombras de modo que cada participante reconozca cuál le pertenece porque en la misma aparece, p.e., su inicial.
A modo de ejemplo se puede considerar un esquema visual extendido con 3 participantes, {A,B,C}, de modo que los participantes cualificados elementales sean: {A,B} y {B,C}, es decir, Q = {{A,B},{B,C},{A,B,C}}. En este caso, las sombras que corresponden a los tres participantes podrían ser las de la Figura 4 (tomada de [ABSS99]). Como se puede apreciar, cada una de las sombras contiene como imagen inocente una letra: A, B o C, esto es, la inicial de cada participante. A la hora de recuperar la imagen original se aprecia que la superposición de las sombras de participantes cualificados proporciona la imagen original (la letra S); mientras que de las sombras de los participantes no cualificados {A,C} sólo se obtiene la superposición de sus iniciales.

SOBRE EL CONTRASTE DE LOS ESQUEMAS VISUALES

En algunos párrafos precedentes se ha comentado, muy de pasada, que cuando se superponen dos o más transparencias, correspondientes a otras tantas sombras, para obtener la imagen original, se produce una pérdida de contraste en relación con la imagen original, debido a que los píxeles negros se recuperan como píxeles totalmente negros, mientras que los píxeles blancos se recuperan como grises (mitad blancos, mitad negros en el caso de los esquemas con contraste de pixel m = 2). Esta concepción de contraste no contempla otros problemas como pueden ser la pérdida de nitidez de la imagen recuperada recuperada por la distorsión que puedan sufrir las transparencias debidas al calor de la impresora o fotocopiadora, cuando se elaboran, etc.
Desde este punto de vista, se puede definir el contraste en un esquema visual como la diferencia entre el nivel de gris de un pixel negro y un pixel blanco. Resulta claro que en los esquemas 2 de 2 presentados, donde el cifrado se lleva a cabo pixel a pixel, y donde cada pixel se cifra por medio de dos píxeles, el mejor contraste que se puede obtener es 0’5. Naor y Shamir ([NS95]) mostraron que en el caso de considerar un esquema visual t de t, el mejor contraste que se puede conseguir superponiendo t transparencias o sombras es 1/2t–1. Posteriormente, los mismos autores ([NS96]) han determinado límites más ajustados para el contraste de este tipo de esquemas como función de la complejidad del esquema, que en este caso se traduce en el número de transparencias superpuestas. El método que utilizan para recuperar una imagen secreta no es exactamente el mismo que el que propusieron inicialmente y que se ha presentado aquí.
El nuevo método de recuperación se basa en lo que los autores llaman el semigrupo de superposición («cover»), cuyos elementos son 2 colores cualesquiera, por ejemplo, el azul (A) y el rojo (R) y por el color «transparente» (T), es decir, el semigrupo es: {A,R,T}. La operación de este semigrupo consiste en la superposición de dos de sus elementos y se presenta en la siguiente tabla:

  Arriba
Abajo

A R T
A A R A
R A R R
T A R T

Como se puede observar, la operación del semigrupo no es conmutativa, es decir, al superponer un color sobre otro, el resultado es el color que está encima, salvo que éste sea transparente, en cuyo caso, el resultado es, obviamente, el color inferior. Con este modelo se puede obtener un mejor contraste que con el modelo precedente. El mejor valor del contraste en esta situación es 1-1/c, siendo c tanto el número de sombras que se superponen como el número de subpíxeles que forman cada uno de los píxeles cifrados. Sin embargo, este nuevo método de recuperación no es aplicable para esquemas visuales umbrales t de n para los que n ³ t ³ 3.
En [ES99] se analizan las diferentes propuestas sobre el concepto de contraste y se propone una definición alternativa, presentándose ejemplos de los diferentes contrastes que se pueden conseguir.

ESQUEMAS VISUALES EN COLOR

Desde la aparición de las primeras propuestas de la criptografía visual y de las extensiones presentadas hasta aquí, queda pendiente la posibilidad de añadir color, tanto a la imagen a cifrar como a las sombras y a la imagen recuperada. De los esquemas planteados se aprecia la dificultad de diseñar criptosistemas visuales en color; sin embargo, se han hecho varias aproximaciones a esta posibilidad ([N94], [RP96] y [VeTi97]). Naccache ([N94]) utilizó el hecho de que cada color se caracteriza por su longitud de onda para proponer el uso de filtros que permitan pasar sólo la luz entre determinados valores de la longitud de onda. El esquema que propuso emplea dos filtros de modo que la combinación de ambos absorba todas las longitudes de onda excepto la correspondiente al color del dibujo original.
Verheul y van Tilborg ([VeTi97]) describieron un esquema para cifrar imágenes en color. El método para colorear un esquema 2 de 2, p.e., con r colores consiste en dividir cada pixel en r subpíxeles y cada subpixel es dividido en r regiones, una región fija para cada color. De esta manera, si el color del pixel original es c, la región del subpixel correspondiente a ese color tendrá el color c (se dirá que el subpixel es de color c) mientras que el resto de las regiones tendrá color negro. Una vez definido el esquema, a la hora de superponer las sombras se obtienen píxeles negros excepto cuando los dos subpíxeles son del mismo color, es decir, tienen en la misma región el mismo color. Para cifrar un pixel de color c hay que asegurarse que los subpíxeles de color c tienen la misma posición en ambas sombras y que esto no se verifica para ningún otro color. Una desventaja clara de este esquema es que hay una gran pérdida de contraste, puesto que si se desea cifrar un imagen que tenga r colores se obtiene una reducción en la resolución de un factor r2.

Figura 5. Píxeles en color y ejemplo de imagen en color cifrada y recuperada
En la Figura 5 se pueden observar los píxeles para dos sombras de modo que cifren píxeles en color. Se presenta también una imagen sencilla coloreada, sus sombras y la recuperación de la misma. La imagen original, de tamaño 12´12 píxeles, se presenta sólo a título de ejemplo, por lo que la resolución de la misma está claramente aumentada. Como se observa, la imagen original sólo tiene cuatro colores: negro, rojo, verde y azul. Para cifrar cada uno de los píxeles en color originales, se considera que el fondo de la imagen es negro, por lo que los colores que en realidad se deben cifrar son sólo tres: rojo, verde y azul. Por esta razón, cada uno de los píxeles cifrantes se divide en 3 subpíxeles horizontales y cada uno de los subpíxeles es dividido en 3 regiones ordenadas: la primera es para el color rojo, la segunda para el verde y la tercera para el azul. En la Figura 5 se observa un ejemplo de cómo se puede cifrar un pixel original negro, uno rojo, uno verde y uno azul. Nótese la pérdida de color de la imagen recuperada comparada con la imagen original.
Una solución diferente para imágenes en color y esquemas visuales 2 de 2 se plantea en [RP96]. En este caso, cuando se superponen dos colores diferentes se obtiene un tercer color: la suma de los dos anteriores. Por ejemplo, la superposición de rojo (R) y verde (V) da amarillo. Así, la combinación de los tres colores básicos, Rojo, Verde y Azul, proporciona los colores que se muestran en la siguiente tabla:

Color

Verde Verde Azul
Verde
Rojo amarillo Morado
Verde
amarillo Verde Cian
Azul
Morado Cian Azul

Si este procedimiento puede resultar difícil a la hora de superponer dos transparencias porque los colores no se suman y uno de ellos «tapa» al otro, el remedio puede consistir en usar alguno de los muchos programas de dibujo que existen en el mercado y que permiten «sumar» los colores de dos imágenes recurriendo a sistema RGB (Red, Green y Blue).
La solución propuesta por Rijmen y Preneel consiste en dividir cada pixel en cuatro subpíxeles con los colores básicos anteriores: rojo, verde, azul y blanco, de modo que dichos colores pueden aparecer en cualquier orden. Superponiendo dos píxeles divididos en los cuatro subpíxeles anteriores de todas las formas posibles y considerando las posibles simetrías, se obtienen 24 píxeles básicos, es decir, 24 colores si cada uno de los píxeles resultantes se empareja con el color que más se le parezca, en función de los colores de los subpíxeles que le forman.
Una vez planteada la anterior situación, para cifrar un pixel de un color determinado de la imagen original se selecciona el pixel coloreado de los 24 anteriores cuyo color más se aproxima al color original. A continuación se selecciona un orden aleatorio para los subpíxeles de la primera sombra y se selecciona el orden de los subpíxeles para la segunda sombra de modo que su unión produzca el color requerido. La ventaja de este esquema es que permite representar 24 colores con una reducción en la resolución de un factor 4 en lugar del factor 242 como sería en el caso de utilizar el método propuesto por Verheul y van Tilborg. Un inconveniente de este método es que una vez fijados los colores de los subpíxeles, quedan determinados los 24 colores iniciales. Este esquema se puede extender a más colores sin más que dividir cada pixel en un número mayor de subpíxeles.

AUTENTICACIÓN E IDENTIFICACIÓN VISUAL

Los problemas de autenticación e identificación han recibido un gran interés en criptografía. En la actualidad es uno de los campos de investigación más interesantes debido, fundamentalmente, a la proliferación de tarjetas de pago y monederos electrónicos. En estos contextos se hace necesaria la autenticación e identificación del propietario de la tarjeta y sería interesante disponer de algún sistema que, sin utilizar dispositivos computacionales complicados, llevara a cabo este objetivo.
Recordemos que en un protocolo de autenticación, un remitente intenta transmitir un mensaje a un destinatario mientras un adversario controla el canal de comunicación que es utilizado. Al final del protocolo, el destinatario debe ser capaz de determinar si el mensaje que ha recibido es el mismo que el que le fue enviado por el remitente o si ha sido modificado por el adversario durante el protocolo. Por su parte, en un protocolo de identificación, un usuario tiene que probar su identidad ante un verificador, de modo que un adversario no sea capaz de suplantar al usuario y engañar al verificador.
En [NP97] se presenta un escenario en el que se hace uso de lo que se ha venido en llamar «baja tecnología», de modo que tanto el destinatario del protocolo de autenticación como el usuario en el protocolo de identificación son humanos (no ordenadores) y no pueden llevar a cabo cálculos complicados ni almacenar una excesiva cantidad de datos. En este escenario
se hace uso de la criptografía visual y se define la autenticación visual y la identificación visual. Con ello se trata de proponer una alternativa a los métodos clásicos de autenticación e identificación, de modo que no se haga uso de «alta tecnología». Siguiendo la tradición de la criptografía, en estos esquemas consideraremos el recipiente Horacio, H, (dado que es un Humano con pocos recursos tecnológicos y no un ordenador), el informante Teresa, T, (dado que a menudo el informante es una Tarjeta) y el adversario Pilar, P, (porque en algunas aplicaciones el adversario es el Punto de venta).
Los esquemas de autenticación propuestos en [NP97] hacen uso de baja tecnología y son seguros contra un adversario con ilimitada potencia de cálculo y memoria. Además, los cálculos y requerimientos de memoria necesarios para T son lineales en el tamaño del mensaje y están dentro de la potencia actual de computación de las tarjetas electrónicas. En los esquemas de autenticación visual, T produce una cadena aleatoria r, crea una transparencia Tr y alguna información auxiliar Ar que es función de r. En estos esquemas T desea comunicar a H una información m, el contenido de la cual es conocido por P y sigue el siguiente protocolo de autenticación:
1. T envía un mensaje c a H, que es una función de m y de r.
2. P puede cambiar el mensaje c antes de que H lo reciba.
3. Una vez que H ha recibido el mensaje c’ su repuesta es «RECHAZO» o «ACEPTO m’» como función de c’ y su X información secreta Tr y Ar. Si la respuesta es «ACEPTO», también envía a T el valor de m’, la información que H cree recibir de T.
En este modelo, el adversario P puede cambiar el mensaje que T envía a H en la forma que desee, sin embargo, en un esquema visual, toda sombra legal debería contener exactamente dos subpíxeles negros en cada pixel cuadrado de tamaño 2×2. Entonces, P podría llevar a cabo dos tipos de cambios. El primero de ellos consistiría en cambiar la posición de dos subpíxeles negros en los píxeles de la imagen, cambio que no sería detectado por H. El segundo cambio podría ser el de colocar más de dos subpíxeles negros en cada pixel cuadrado original, lo que produciría una sombra ilegal del esquema visual. Sin embargo, esta modificación es difícilmente detectable por H (recuérdese que H es humano) a no ser que el cambio sea hecho en muchos pixeles.
A modo de ejemplo, presentaremos una situación de comercio electrónico en la que la autenticación visual puede proteger contra un posible intento de fraude. Supongamos un escenario de pago con tarjeta electrónica. Horacio, un cliente, tiene su tarjeta monedero electrónico que contiene determinada cantidad de dinero. Horacio quiere comprar algo a Pilar y pagar con su tarjeta, para lo cual se debe llevar a cabo un proceso de transacción entre la tarjeta de Horacio y el punto de venta de Pilar, después del cual, determinada cantidad de dinero ha sido transferida desde la tarjeta a Pilar. Las tarjetas monedero comunes no tienen un dispositivo que permita mostrar o recibir directamente información y todas las entradas y salidas de la transacción se llevan a cabo mediante un servidor remoto. Una traducción literal de esta situación en una compra-venta normal sería que el vendedor tomara el monedero del comprador y se sirviera él mismo de la cantidad correspondiente al importe de la compra (la mayor parte de los clientes no aceptarían esta forma de pago).
Supóngase el siguiente intento de fraude por parte de Pilar, que aún no ha recibido una solución aplicable para las tarjetas de pago estándar. Horacio compra algo por un importe de 1 euro. Pilar pide a la tarjeta de Horacio, T, que pague una cantidad de dinero, por ejemplo 10 euros. La tarjeta podría pedir a Horacio conformidad de la cantidad solicitada, pero toda comunicación entre Horacio y su tarjeta pasa por Pilar, quien podría cambiar los contenidos. Sería preferible que Horacio pudiera enviar a su tarjeta una conformidad que fuera función del importe a pagar y de alguna información secreta que sólo su tarjeta conociera. Sin embargo, esta situación es difícil dado que Horacio es humano (no un ordenador) y no tiene capacidad para llevar a cabo cómputos complicados. Este problema se resolvería permitiendo una comunicación fiable entre Horacio y su tarjeta mediante autenticación visual. La tarjeta podría enviar a Horacio la suma que se le pide que pague y Horacio podría responder con su aprobación o su rechazo mediante una determinada contraseña que sólo los dos conocieran.
Los escenarios para la identificación visual son muy similares a los de autenticación visual, como ya se ha mencionado. Sin embargo, el objetivo del protocolo de identificación visual es diferente: se trata de permitir a un usuario humano, H, probar su identidad ante un verificador, T, sin necesidad de consultar ningún dispositivo de computación. El objetivo de adversario, P, es convencer al verificar de que ella, Pilar, es el usuario. El protocolo de identificación visual es del tipo desafío-respuesta en el que el verificador, Teresa, envía al usuario un desafío, quien debe responder al mismo en base a algún tipo de información secreta que él (Horacio) posee.
El protocolo de identificación de H a T en la etapa i-ésima es el siguiente:
1. T envía a H un desafío di, que es función del dato secreto r.
2. Una vez recibido di, el usuario humano calcula una respuesta ri como función de di y su información secreta Tr y Ar, y se la envía a T.
3. T decide si la otra parte es H o no, teniendo en cuenta di y ri y el dato secreto r. Entonces T responde «ACEPTO» o «RECHAZO».
En los métodos de identificación propuestos en [NP97] no se hace uso de esquemas visuales umbrales 2 de 2, como en los esquemas de autenticación visual. En aquellos se tiene en cuenta que H debe probar a T que conoce alguna propiedad de la transparencia. Además, es posible utilizar transparencias con 10 colores, que son fácilmente discernibles entre sí. Por otra parte, dado que la navegación en Internet mediante worldwide-web ha introducido un interfaz gráfico estándar universal, es posible utilizar estos métodos de identificación cuando un usuario se conecta con un ordenador remoto mediante un navegador web. Para ello bastaría con presentar en la pantalla del usuario una imagen generada por el verificador. Téngase en cuenta que con este procedimiento no haría falta instalar nuevos programas en el ordenador remoto para la identificación. Además, el trabajo del verificador sería muy poco y los papeles del usuario y verificador serían reversibles.
REFERENCIAS
[1] [ABSS96] Ateniese, G., Blundo, C., De Santis, A. and Stinson, D. R. Visual cryptography for general access structures. Information and Computation 129, 1996, pp. 86-106.
[2] [ABSS99] Ateniese, G., Blundo, C., De Santis, A. and Stinson, D. R. Extended capabilities for visual cryptography. Por aparecer en Theoretical Computer Science.
[3] [BSS99] Blundo, C., De Santis, A. and Stinson, D. R. On the contrast in visual cryptography schemes. Journal of Cryptology v. 12, n. 4, 1999, pp. 261-289.
[4] [ES99] Eisen, P. A. y Stinson, D. R. Threshold visual cryptography schemes with specified whitness levels of reconstructed pixels. Disponible en http://cacr.math.uwaterloo.ca/dstinson/
[5] [FGHMM97] Fúster Sabater, A., De La Guía Martínez, D., Hernández Encinas, L., Montoya Vitini, F. y Muñoz Masqué, J. Técnicas criptográficas de protección de datos. RA-MA, Madrid, 1997.
[6] [HM99] Hernández Encinas, L. y Minguet Melián, J. Criptografía visual. Novática, 138, 1999, pp. 63-68.
[7] [N94] Naccache, D. Colorful cryptography –a purely physical secret-sharing scheme based on chromatic filters–. Coding and Information Integrity, French-Israeli workshop, 1994.
[8] [NP97] Naor, M. and Pinkas, B. Visual authentication and identification. Advances in Cryptology-CRYPTO’97. LNCS 1294, 1997, pp. 322-336.
[9] [NS95] Naor, M. and Shamir, A. Visual cryptography. Advanced in Cryptology, EUROCRYPT’94, LNCS 950, 1995, pp. 1-12.
[10] [NS96] Naor, M. and Shamir, A. Visual cryptography II: Improving the contrast via the cover base. Theory of Cryptography Library, report 96-07. Disponible en ftp://theory.lcs.mit.edu/pub/tcryptol/96-07.ps.
[11] [RP96] Rijmen, V. and Preneel, B. Efficient colour visual encryption or «Shared colors of Benetton», presentado en EUROCRYPT’96, Rump session. Disponible en htpp://www.iacr.org/conferences/ec96/rump/preneel.ps
[12] [St95] Stinson, D. R. An introduction to visual cryptography. Comunicación personal.
[13] [VeTi97] Verheul, E. R. and van Tilborg, H. C. A. Constructions and properties of k out of n visual secret sharing schemes. Designs, Codes and Cryptography 11, 1997, pp.179-196.

Documento en PDF
Luis Hernández Encinas
Dpto. Didáctica de las Matemáticas y de las CC.EE.
UNIVERSIDAD DE SALAMANCA
encinas@gugu.usal.es
Fausto Montoya Vitini
Jaime Muñoz Masqué
Dpto. Tratamiento de la Información y Codificación.
Instituto de Física Aplicada, C.S.I.C.
{fausto, jaime}@iec.csic.es

<volver