You are on page 1of 33

Protocolos criptogrficos

Alice

Bob

Protocolos Bsicos

Confidencialidad
Autenticacin del usuario
Integridad del mensaje
Distribucin de claves
Comparticin de secretos
Pruebas de conocimiento cero (Zero Knowledge Proof)
Transferencias electrnicas seguras
Compromiso con un bit
Transferencias trascordadas
Elecciones electrnicas
Lanzar una moneda por telfono

Definicin
Es un conjunto bien definido de etapas, implicando a dos
o ms partes y acordado por ellas, designado para realizar
una tarea especfica, que utiliza como herramienta algn
algoritmo criptogrfico

Confidencialidad
Transmisin secreta de la informacin

Confidencialidad
Protocolo bsico:
Alicia genera una clave secreta de sesin para
criptografa simtrica (AES, DES, Flujo,).
La usa para cifrar un mensaje.
Cifra dicha clave con criptografa asimtrica
utilizando la clave pblica de Bob (RSA, Elgamal,
curvas elpticas, )
Enva a Bob ambos cifrados
Bob descifra la clave simtrica con su clave secreta
de descifrado asimtrico.
Con esa clave simtrica descifra el mensaje cifrado

Autenticacin del usuario


Permite garantizar que el remitente de un
mensaje o el usuario con el que
establecemos comunicacin es quin
pretende ser

Autenticacin del usuario


A travs de la firma digital, el empleo de una clave
secreta asociada a una clave pblica asociada a una
identidad certificada por una autoridad de certificacin.
Firma digital implementada con criptografa de clave
pblica: DSS, Elgamal, RSA, ECDSA,

Autenticacin del mensaje (integridad)


Garantiza que el mensaje enviado no ha
sido substituido por otro ni alterado

Autenticacin del mensaje (integridad)


A travs de la firma digital, aplicado al hash de un
documento
Firma digital implementada con criptografa de clave
pblica: DSS, Elgamal, RSA, ECDSA,

Distribucin de claves
Creacin y transporte de las claves a
utilizar por cada par de usuarios.

Distribucin de claves
En criptosistemas asimtricos, las claves pblicas se
distribuyen a travs de repositorios pblicos mantenidos
por autoridades de confianza y de certificados expedidos
por stas. Las parejas de claves pueden ser generadas por
los suscriptores de estos certificados o por la propias
autoridades en las que los suscriptores delegan
En criptosistemas simtricos la distribucin se hace con
protocolos del estilo Diffie-Hellman o con el servicio de
confidencialidad de criptografa asimtrica

Comparticin de secretos
Distribuir cierto secreto entre un conjunto
de P participantes, de forma que ciertos
subconjuntos prefijados de P puedan,
uniendo sus participaciones, recuperar
dichos secretos

Comparticin de secretos
Definimos:
l = #P
K secreto a repartir
t = nmero mnimo de participantes que se deben reunir para
reconstruir el secreto K{1,,s-1}
Shamir dio el siguiente modelo de resolucin del problema:
1. Calcular un primo p > max {s, l+1}
2. Se escogen aleatoriamente a1,,at-1 Zp.
3. Se construye el polinomio de grado t 1, q(x ) = K + a x
4. Se distribuye el secreto en las participaciones s = q(i )(mod p )
Mediante el teorema de interpolacin de Lagrange t personas del
colectivo de participantes podran recuperar el polinomio q(x), puesto
que conocen las imgenes de t puntos, y de ah su trmino
independiente, que es el secreto. Ahora bien, t-1 personas no
obtendran informacin adicional, ya que cualquier trmino
independiente sera compatible con la construccin
t 1

i =1

Pruebas de conocimiento cero


Permite a un individuo convencer a otro de
que posee cierta informacin, sin revelarle
nada sobre el contenido de la misma

Pruebas de conocimiento cero


Definimos:
p, nmero primo grande
g, generador de Zp.
x, secreto de Alice e y=gx (mod p) valor pblico asociado
Alice demuestra el conocimiento del logaritmo discreto de y:
1. Alice elige un entero aleatorio r y enva a Bob h=gr (mod p)
2. Bob elige aleatoriamente un bit c{0,1} y se lo enva a
Alice
3. Alice enva a Bob el entero b = r + cx (mod p-1)
4. Bob acepta la prueba de Alice si gb=hyc (mod p)
Este proceso se repite cuantas veces desee Bob para convencerse
de que no ha sido casualidad el envo de b.

Transacciones electrnicas seguras


Permite realizar de manera electrnica
segura las operaciones bancarias habituales,
firma electrnica de contratos,...

Seguridad en pagos con tarjeta de


crdito: Protocolo SET
Autenticacin de todas las partes: Comprador, vendedor,
entidades financieras
Confidencialidad: SET cifra el nmero de la tarjeta de
crdito. El resto se hace opcionalmente (con SSL, por
ejemplo)
Integridad de contenido
Intimidad: Las entidades financieras no acceden a la
informacin sobre los hbitos de consumo del comprador
Verificacin de crdito por parte del comerciante
No repudiacin

Protocolo SET: Participantes


El banco emisor de la tarjeta: Responsable de la facturacin,
recoleccin y servicio al consumidor
El banco adquiriente: Procesa las transacciones con tarjeta y las
autorizaciones de pago
El titular de la tarjeta
El comerciante
La pasarela de pagos: Conecta Internet con las redes privadas de
autorizacin de pagos
El procesador: Proporciona servicios adicionales operando en la
infraestructura de telecomunicaciones sobre las que se realizan las
transacciones
Autoridad de certificacin: Certifica las claves pblicas de las
entidades (titular, comerciante, entidades financieras)

Comerciante

4
1 2

9
3

Pasarela de pagos

6
Titular comprador
con wallet SET

10

Procesador

5
$
Banco emisor

Banco adquiriente

Protocolo SET
1. Orden de compra del cliente
2. Inicializacin de la cartera del cliente
3. Transmisin cifrada de la orden de pago: El cliente comprueba el pedido y transmite una
orden de pago de vuelta al comerciante. Esta orden de pago est formada por dos partes
Informacin del pedido (slo accesible al comprador)
Instrucciones de pago (slo accesible a las entidades financieras)
4. Envo de la peticin de pago al banco adquiriente
5. Validacin del cliente y del comerciante por el banco adquiriente
6. Autorizacin del pago por el banco emisor del cliente
7. Envo al comerciante de un testigo de la transferencia de fondos
8. Envo de los productos y de un recibo de compra a la cartera del cliente como justificante
(acuse de recibo)
9. Entrega del testigo de transferencia de fondos para cobrar el importe de la transaccin
10. Cargo a la cuenta del cliente

Dinero electrnico de Chaum


1. El banco establece unas claves pblicas RSA para cada tipo de billete
2. Las tres partes (comprador, vendedor, banco) establecen una
comparticin del secreto ri que se relacione con el valor vi de un billete
3. El comprador enva una orden de pago para el vendedor al banco con
valor vi y aade el valor P= risei (mod ni), siendo s un entero aleatorio.
4. El banco comprueba que hay fondos y le devuelve al comprador
Q= Pdi= ridi s (mod ni)
5. El comprador comprueba que ri= (Q/s)ei y enva al vendedor Q/s
6. El vendedor comprueba que ri= (Q/s)ei con lo que le puede reclamar el
valor vi al banco

Compromiso con un bit


Permite a Alice comprometerse con una
eleccin (un bit o ms generalmente una
serie de bits), sin revelar tal eleccin hasta
un momento posterior. El protocolo
garantiza a Bob que Alice no cambia su
eleccin

Compromiso con un bit


Existen infinidad de posibilidades. Simplemente cifrando
el valor comprometido y revelando la clave para
comprobar el compromiso
Por ejemplo, dado un primo grande p, un generador g de
Zp y un valor comprometido s<p, el compromiso podra
venir dado por C=gs (mod p)

Transferencia trascordada
Permite a Alice enviar a Bob un mensaje o
secreto de entre dos posibles. El protocolo
garantiza a Bob que Alice no sabe cul es el
que ha recibido.

Transferencia trascordada (segn Rabin)


Dado un escenario RSA y un entero r que es resto
cuadrtico, existen 2 pares de races cuadradas:r1 y r2.
Se puede demostrar que N=mcd (r1+r2, N)*mcd (r1-r2, N).
Supongamos que Alice conoce p y q, y que Bob elige un
entero aleatorio x y manda a Alice w=x2 (mod N). Dado
que Alice conoce p y q, es capaz de calcular las 4 races
cuadradas de w: x y y.
Si Alice le enva una de las 4 races, slo puede asegurar
que Bob conoce las 4 races y por tanto la factorizacin de
N con una probabilidad de un 50%
El algoritmo se puede afinar para que Alice sepa que
conoce una de las races, pero sin comprometer el
conocimiento de la factorizacin de N

Votaciones electrnicas
Permite realizar un proceso electoral
electrnicamente, garantizando la deseable
privacidad, su anonimato y la imposibilidad
de fraude.

Votaciones electrnicas
Anonimato:
Firma ciega (Chaum)
Cifrado homrfico
Redes de mezcla ( http://www.scytl.com/es/white-papers-p-95.html )
Acumuladores criptogrficos

Lanzar una moneda por telfono


Posibilita a Alice y Bob a jugar al cara y
cruz, comunicndose por correo electrnico,
telfono, etc., garantizando la imposibilidad
de hacer trampa.

Lanzar una moneda por telfono


Basado en el principio de cut-and-choose sobre elementos
comprometidos con un bit (o varios).

Pquer mental cifra asimtrica RSA (1)


En este caso se usar un sistema RSA en el que el mdulo de trabajo
n ser compartido y el par de claves asimtricas de cada jugador, e y
d, sern ambas secretas. Veamos un ejemplo para 4 jugadores.
1. El jugador A que repartir las cartas, todas ellas codificadas con
un nmero aleatorio ci, las mezclar cifrndolas con su clave
pblica eA: EeA[c1, c2, c3, ... c50, c51, c52] y las enva a B.
2. B elige cinco cartas, las cifra con su clave pblica eB y devuelve
a A : EeB{EeA[cB1, cB2, cB3, cB4, cB5]}.
3. A descifra lo recibido con su clave privada dA y se lo enva a B:
EeB[cB1, cB2, cB3, cB4, cB5].
4. B descifra ahora con su clave privada dB lo recibido y se queda
con su mano cBi = cB1, cB2, cB3, cB4, cB5.

Pquer mental cifra asimtrica RSA (2)


5. El jugador B pasa las restantes 47 cartas al jugador C y se
repiten los pasos 2 al 4 anteriores entre C y A, usando ahora las
claves eC, dA y dC.
6. Terminado el paso 5, el jugador C tendr entonces como mano
cCi = cC1, cC2, cC3, cC4, cC5.
7. El jugador C pasa las restantes 42 cartas al jugador D y se
repiten los pasos 2 al 4 entre D y A, usando ahora las claves eD,
dA y dD.
8. Terminado el paso 7, el jugador D tendr entonces como mano
cDi = cD1, cD2, cD3, cD4, cD5.
9. El jugador D devuelve las 37 cartas que quedan y que estn
cifradas con su clave pblica: EeD{EeA[c1, c2, c3, ... c36, c37]} al
jugador A.

Pquer mental cifra asimtrica RSA (3)


10. El jugador A elige 5 cartas entre las 37 y devuelve al jugador
D: EeD{EeA[cA1, cA2, cA3, cA4, cA5]}.
11. El jugador D descifra con su clave privada dD lo recibido y
enva a A: EeA[cA1, cA2, cA3, cA4, cA5].
12. El jugador A descifra con su clave privada dA lo recibido y se
queda con su mano cAi = cA1, cA2, cA3, cA4, cA5.
13. Todos tienen su mano de juego. Las restantes 32 cartas quedan
en poder de A cifradas por D y A: EeD{EeA[c1, c2, ... c31, c32]}.
14. Si un jugador X desea descarte, pide las cartas a A, elige las
que desea, las cifra con su clave pblica eX y se las devuelve a
A, quien las enva a D para que descifre con su clave privada
dD. D las devuelve a A para que descifre con su clave privada
dA y A enva a X: EeX[cartas elegidas en su descarte].

Ejercicios
1. En una transferencia trascordada de Rabin, A y B se
intercambian lo siguiente. A enva a B el nmero compuesto n =
55, B elige el valor x = 9 y enva x2 mod n a A. Qu valores de
los 4 que puede devolver A a B permiten a este ltimo factorizar
el cuerpo n?
2. Qu sucede si en el ejemplo anterior B elige x = 10?
3. Presente una solucin al problema del lanzamiento de la moneda
a travs del esquema de transferencia trascordada de Rabin.
4. Se desea que el usuario B le firme de forma ciega al usuario A el
mensaje M = 100. Si nB = 253, eB = 19 y el usuario A elige k =
25, realice y compruebe el protocolo de firma ciega.
5. En el esquema de Pruebas de conocimiento cero, si se repite el
protocolo 20 veces, cul es la probabilidad de que el supuesto
conocedor del secreto engae a la otra persona?
6. Especifique qu protocolos criptogrficos se han de seguir en
cada uno de los pasos del pago SET para garantizar su seguridad.

You might also like