Capítulo 10: Aplicaciones especiales de la criptografía

18
Agenda Votoelectr´onico Dinero digital Comunicaci´onan´onima Aplicaciones Especiales de la Criptograf´ ıa Juan Manuel Garc´ ıa Garc´ ıa 4 de noviembre de 2010 Juan Manuel Garc´ ıa Garc´ ıa Aplicaciones Especiales de la Criptograf´ ıa

Transcript of Capítulo 10: Aplicaciones especiales de la criptografía

AgendaVoto electronico

Dinero digitalComunicacion anonima

Aplicaciones Especiales de la Criptografıa

Juan Manuel Garcıa Garcıa

4 de noviembre de 2010

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

Voto electronicoObjetivosFirmas ciegasProtocolo FOO

Dinero digitalObjetivosProtocolo de dinero digital

Comunicacion anonimaProblema de la cena de los criptografosRuteo de cebolla

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

ObjetivosFirmas ciegasProtocolo FOO

Voto electronico

Objetivos:

◮ Anonimato

◮ Imparcialidad

◮ Contabilidad

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

ObjetivosFirmas ciegasProtocolo FOO

Firmas ciegas en RSA

1. La autoridad registradora tiene la clave publica de RSA {e, n}y la clave privada d y la funcion de firma S(w) = wd mod n.

2. El votante vela la boleta x calculando f (x) = x · r e mod n,donde r es un numero aleatorio.

3. La boleta velada es enviada a la AR quien la firma comoS(f (x)) = (x · r e)d mod n = xd · r mod n.

4. El votante puede desvelar el voto mediante la funciong(y) = y/r . Entonces, al recibir la boleta velada firmadarealiza: g(S(f (x))) = xd · r/r mod n = xd mod n = S(X ). Elvotante tiene ahora un voto firmado.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

ObjetivosFirmas ciegasProtocolo FOO

Protocolo Fujioka-Okamoto-Ohta

Notacion:

◮ b es la boleta.

◮ (e, n) y d las claves publica y privada, respectivamente, delvotante.

◮ r un valor aleatorio para velar las firmas.

◮ ev y dv son el par de claves, publica y privada, del validador.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

ObjetivosFirmas ciegasProtocolo FOO

Protocolo Fujioka-Okamoto-Ohta

1. El votante cifra la boleta B = {b}k con una llave secreta k yla vela (B · r ev ) mod n.

2. El votante firma la boleta velada (B · r ev )d mod n y la envıa alvalidador.

3. El validador verifica la firma de la boleta velada y que elvotante aun no haya emitido su voto.

4. El validador firma la boleta (B · r ev )dv mod n y la regresa alvotante.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

ObjetivosFirmas ciegasProtocolo FOO

Protocolo Fujioka-Okamoto-Ohta

5. El votante remueve la capa de firma ciega (B · r ev )dv /r = Bdv .

6. El votante envıa la boleta cifrada-firmada al contador devotos.

7. El contador verifica la firma de la boleta. Si la boleta esvalida, el contador la agrega a una lista que se publicadespues de que todos los votantes emitieron su voto.

8. Una vez que la lista es publicada los votantes verifican que suboleta esta incluida y envıan su clave k . El contador de votosabre las boletas y contabiliza los votos.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

ObjetivosProtocolo de dinero digital

Dinero digital

Objetivos:

◮ Anonimato

◮ Irrastreabilidad

◮ Imparcialidad

◮ Divisibilidad

◮ Transferibilidad

◮ Operabilidad fuera de lınea

◮ Universalidad

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

ObjetivosProtocolo de dinero digital

Protocolo de dinero digital

El siguiente protocolo es utilizado para crear una sola monedadigital:

1. El cliente crea k unidades de la moneda m. Cada unidadcontiene:

◮ Encabezado con informacion◮ Denominacion◮ Numero serial unico.

2. El cliente vela las unidades (mi · bi )eb con diferentes factores

bi y los envıa al banco para firma.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

ObjetivosProtocolo de dinero digital

Protocolo de dinero digital

3. El banco elige aleatoriamente k − 1 unidades para verificar,dejando una unidad i .

4. El cliente da al banco todos los factores excepto el de launidad i .

5. El banco verifica el contenido de las unidades (exceptuando lai) para asegurarse que el cliente no intenta hacer fraude.

6. Si todo se verifica bien, el banco firma la unidad restante consu clave privada d y la envıa de regreso al cliente.

7. El cliente des-vela la unidad i usando bi y de este modo tieneuna moneda mi firmada por el banco.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

Problema de la cena de los criptografosRuteo de cebolla

La cena de los criptografos

Un grupo de criptografos estan disfrutando una cena en unrestaurant local. Al pedir la cuenta, reciben la sorpresa de que estaya ha sido pagada por una persona anonima y no deben nada.Especulan entonces que pudo haber sido pagada por uno de loscomensales o por su empleador, la NSA. Aunque todos respetan ladecision del que pago de permanecer anonimo, desean saber sialguien de la mesa fue quien lo hizo.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

Problema de la cena de los criptografosRuteo de cebolla

Problema: Si uno de los criptografos en la mesa fue quienpago,¿Como puede hacerselo saber a los demas de una maneraanonima?Solucion: Cada uno de los criptografos lanza una moneda enprivado con quienes estan a su derecha e izquierda. Todos selevantan y anuncian verdadero si las dos monedas que vieronfueron diferentes o falso si las monedas fueron iguales. Si uno delos criptografos fue el que pago, entonces afirma lo opuesto. Si elnumero de verdaderos y el numero de criptografos son ambosimpares, o ambos pares, la NSA pago. En cualquier otro caso unode los criptografos pago.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

Problema de la cena de los criptografosRuteo de cebolla

Protocolo de los Criptografos Comensales

◮ Hay n criptografos P1, P2, . . . ,Pn sentados en una mesaredonda.

◮ Los criptografos estan sentados de modo que Pi esta entrePi−1 y Pi+1 (modulo n).

1. Cada par de criptografos Pi y Pj elige un bit aleatorio b(i , j).2. Cada criptografo Pi calcula el valor b(i , i − 1)⊕ b(i , i + 1)⊕ si

donde si es la senal que desea enviar.3. Se calcula:

s = (b(n, 1)⊕ b(1, 2)⊕ s1)⊕ · · · ⊕ (b(n − 1, n)⊕ b(n, 1)⊕ sn).

4. Si uno de los criptografos envio una senal, entonces s = 1.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

Problema de la cena de los criptografosRuteo de cebolla

Protocolo de los Criptografos Comensales

El resultado es valido porque:

◮ s = (b(n, 1)⊕ b(1, 2)⊕ s1)⊕ · · · ⊕ (b(n − 1, n)⊕ b(n, 1)⊕ sn)

◮ s = (b(n, 1)⊕b(n, 1)⊕s1)⊕· · ·⊕(b(n−1, n)⊕b(n−1, n)⊕sn)

◮ s = s1 ⊕ s2 ⊕ · · · ⊕ sn

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

Problema de la cena de los criptografosRuteo de cebolla

Ruteo de cebolla

◮ Permite comunicacion anonima a traves de una red decomputadoras.

◮ Los mensajes son cifrados y enviados a traves de varios nodosde red denominados ruteadores de cebolla.

◮ Cada ruteador de cebolla remueve una capa de cifrado paradescubrir instrucciones de ruteo y reenviar el mensaje alsiguiente ruteador donde esto se repite.

◮ Los nodos intermedios desconocen el origen, destino ycontenido del mensaje.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

Problema de la cena de los criptografosRuteo de cebolla

Red de mezclas de descifrado

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

Problema de la cena de los criptografosRuteo de cebolla

Red anonima TOR

◮ Es una implementacion del ruteo de cebolla de codigo abierto.

◮ Las direcciones IP del emisor y receptor no son,simultaneamente, legibles en ninguna parte del camino (yninguna de las dos es legible en pasos intermedios).

◮ El receptor solo conoce la direccion IP de la ultima maquinaintermedia, no del emisor.

◮ Manteniendo ocultos algunos de los puntos de entrada a lared, Tor puede evadir muchos sistemas de censura en Internet.

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa

AgendaVoto electronico

Dinero digitalComunicacion anonima

Problema de la cena de los criptografosRuteo de cebolla

Otras aplicaciones con anonimato

◮ P2P anonimo: Freenet, I2P, Vuze, Stealthnet, etc.

◮ Remailer anonimo: Mixmaster, Cypherpunk, Mixminion, etc.

◮ Remailer de pseudonimos: Penet

Juan Manuel Garcıa Garcıa Aplicaciones Especiales de la Criptografıa