Capítulo 10: Aplicaciones especiales de la criptografía
1. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´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
2. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Voto electr´onico
Objetivos
Firmas ciegas
Protocolo FOO
Dinero digital
Objetivos
Protocolo de dinero digital
Comunicaci´on an´onima
Problema de la cena de los cript´ografos
Ruteo de cebolla
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
3. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Objetivos
Firmas ciegas
Protocolo FOO
Voto electr´onico
Objetivos:
◮ Anonimato
◮ Imparcialidad
◮ Contabilidad
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
4. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Objetivos
Firmas ciegas
Protocolo FOO
Firmas ciegas en RSA
1. La autoridad registradora tiene la clave p´ublica de RSA {e, n}
y la clave privada d y la funci´on de firma S(w) = wd m´od n.
2. El votante vela la boleta x calculando f (x) = x · re m´od n,
donde r es un n´umero aleatorio.
3. La boleta velada es enviada a la AR quien la firma como
S(f (x)) = (x · re)d m´od n = xd · r m´od n.
4. El votante puede desvelar el voto mediante la funci´on
g(y) = y/r. Entonces, al recibir la boleta velada firmada
realiza: g(S(f (x))) = xd · r/r m´od n = xd m´od n = S(X). El
votante tiene ahora un voto firmado.
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
5. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Objetivos
Firmas ciegas
Protocolo FOO
Protocolo Fujioka-Okamoto-Ohta
Notaci´on:
◮ b es la boleta.
◮ (e, n) y d las claves p´ublica y privada, respectivamente, del
votante.
◮ r un valor aleatorio para velar las firmas.
◮ ev y dv son el par de claves, p´ublica y privada, del validador.
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
6. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Objetivos
Firmas ciegas
Protocolo FOO
Protocolo Fujioka-Okamoto-Ohta
1. El votante cifra la boleta B = {b}k con una llave secreta k y
la vela (B · rev ) m´od n.
2. El votante firma la boleta velada (B · rev )d m´od n y la env´ıa al
validador.
3. El validador verifica la firma de la boleta velada y que el
votante a´un no haya emitido su voto.
4. El validador firma la boleta (B · rev )dv m´od n y la regresa al
votante.
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
7. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Objetivos
Firmas ciegas
Protocolo FOO
Protocolo Fujioka-Okamoto-Ohta
5. El votante remueve la capa de firma ciega (B · rev )dv /r = Bdv .
6. El votante env´ıa la boleta cifrada-firmada al contador de
votos.
7. El contador verifica la firma de la boleta. Si la boleta es
v´alida, el contador la agrega a una lista que se publica
despu´es de que todos los votantes emitieron su voto.
8. Una vez que la lista es publicada los votantes verifican que su
boleta est´a incluida y env´ıan su clave k. El contador de votos
abre las boletas y contabiliza los votos.
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
8. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Objetivos
Protocolo 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
9. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Objetivos
Protocolo de dinero digital
Protocolo de dinero digital
El siguiente protocolo es utilizado para crear una sola moneda
digital:
1. El cliente crea k unidades de la moneda m. Cada unidad
contiene:
◮ Encabezado con informaci´on
◮ Denominaci´on
◮ N´umero 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
10. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Objetivos
Protocolo 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 la
unidad i.
5. El banco verifica el contenido de las unidades (exceptuando la
i) para asegurarse que el cliente no intenta hacer fraude.
6. Si todo se verifica bien, el banco firma la unidad restante con
su 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 tiene
una moneda mi firmada por el banco.
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
11. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Problema de la cena de los cript´ografos
Ruteo de cebolla
La cena de los cript´ografos
Un grupo de cript´ografos est´an disfrutando una cena en un
restaurant local. Al pedir la cuenta, reciben la sorpresa de que ´esta
ya ha sido pagada por una persona an´onima y no deben nada.
Especulan entonces que pudo haber sido pagada por uno de los
comensales o por su empleador, la NSA. Aunque todos respetan la
decisi´on del que pag´o de permanecer an´onimo, desean saber si
alguien de la mesa fue quien lo hizo.
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
12. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Problema de la cena de los cript´ografos
Ruteo de cebolla
Problema: Si uno de los cript´ografos en la mesa fue quien
pag´o,¿C´omo puede hacerselo saber a los dem´as de una manera
an´onima?
Soluci´on: Cada uno de los cript´ografos lanza una moneda en
privado con quienes est´an a su derecha e izquierda. Todos se
levantan y anuncian verdadero si las dos monedas que vieron
fueron diferentes o falso si las monedas fueron iguales. Si uno de
los cript´ografos fue el que pag´o, entonces afirma lo opuesto. Si el
n´umero de verdaderos y el n´umero de cript´ografos son ambos
impares, o ambos pares, la NSA pag´o. En cualquier otro caso uno
de los cript´ografos pag´o.
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
13. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Problema de la cena de los cript´ografos
Ruteo de cebolla
Protocolo de los Cript´ografos Comensales
◮ Hay n cript´ografos P1, P2, . . . , Pn sentados en una mesa
redonda.
◮ Los cript´ografos est´an sentados de modo que Pi est´a entre
Pi−1 y Pi+1 (m´odulo n).
1. Cada par de cript´ografos Pi y Pj elige un bit aleatorio b(i, j).
2. Cada cript´ografo Pi calcula el valor b(i, i − 1) ⊕ b(i, i + 1) ⊕ si
donde si es la se˜nal 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 cript´ografos envi´o una se˜nal, entonces s = 1.
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
14. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Problema de la cena de los cript´ografos
Ruteo de cebolla
Protocolo de los Cript´ografos Comensales
El resultado es v´alido 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
15. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Problema de la cena de los cript´ografos
Ruteo de cebolla
Ruteo de cebolla
◮ Permite comunicaci´on an´onima a trav´es de una red de
computadoras.
◮ Los mensajes son cifrados y enviados a trav´es de varios nodos
de red denominados ruteadores de cebolla.
◮ Cada ruteador de cebolla remueve una capa de cifrado para
descubrir instrucciones de ruteo y reenviar el mensaje al
siguiente ruteador donde esto se repite.
◮ Los nodos intermedios desconocen el origen, destino y
contenido del mensaje.
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
16. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Problema de la cena de los cript´ografos
Ruteo de cebolla
Red de mezclas de descifrado
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
17. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Problema de la cena de los cript´ografos
Ruteo de cebolla
Red an´onima TOR
◮ Es una implementaci´on del ruteo de cebolla de c´odigo abierto.
◮ Las direcciones IP del emisor y receptor no son,
simult´aneamente, legibles en ninguna parte del camino (y
ninguna de las dos es legible en pasos intermedios).
◮ El receptor solo conoce la direcci´on IP de la ´ultima m´aquina
intermedia, no del emisor.
◮ Manteniendo ocultos algunos de los puntos de entrada a la
red, Tor puede evadir muchos sistemas de censura en Internet.
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa
18. Agenda
Voto electr´onico
Dinero digital
Comunicaci´on an´onima
Problema de la cena de los cript´ografos
Ruteo de cebolla
Otras aplicaciones con anonimato
◮ P2P an´onimo: Freenet, I2P, Vuze, Stealthnet, etc.
◮ Remailer an´onimo: Mixmaster, Cypherpunk, Mixminion, etc.
◮ Remailer de pseud´onimos: Penet
Juan Manuel Garc´ıa Garc´ıa Aplicaciones Especiales de la Criptograf´ıa