Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma...

33
Criptografía Hash para Firma Electrónica Dr. Luis A. Lizama Pérez

Transcript of Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma...

Page 1: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Criptografía Hash para Firma Electrónica

Dr. Luis A. Lizama Pérez

Page 2: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

• Firma Electrónica

• Función Hash

• Firma de Una Sola Vez (OTS)

• Cadena Hash + S/Key

• HMAC

• Protocolo básico de Firma Electrónica Hash

• Conclusiones

Page 3: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Una firma digital es un método que permite garantizar la integridad de un

documento y se puede relacionar de manera única al firmante con su firma,

ya que realiza ésta con la llave privada y únicamente el firmante posee esa

llave, esto se traduce en que se verifica la autenticidad del firmante.

No es una firma digital:

– Una firma digitalizada (una firma manuscrita escaneada)

– Una contraseña o password

– Un sistema biométrico

– Un sistema de autenticación: este requisito solo no alcanza

– Una firma electrónica

– Un documento encriptado (solo se garantiza la confidencialidad)

Firma Electrónica

Page 4: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Un nuevo protocolo de firma electrónica utiliza funciones Hash que

brindan propiedades como no repudio, integridad y autenticación.

Las funciones hash son de gran utilidad a la hora de realizar una firma

digital, ya que gracias a ella se disminuyen y descartan cálculos que

retardarían la operación.

.

Firma Electrónica

Page 5: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Aritmética Modular

RSA (Rivest-Shamir-Adleman)

• Produce una firma digital mediante un

par de números primos grandes

ECC (Criptografía de Curva Elíptica)

• Problemas de curva elíptica de

logaritmos discretos

ElGamal

• Deriva de Diffie-Hellman y se basa en el

problema de Logaritmo Discreto

Algoritmos de Firma Digital con Aritmética Modular y Criptografía HASH

Firma Electrónica

Page 6: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Firma Electrónica

Las computadoras cuánticas son cripto analizadores de los algoritmos de aritmética modular

Page 7: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Criptografía HASH

OTP (OneTime Password)

• Contraseña instantánea. Se utilizan una

contraseña distinta cada vez que se

autentica

OTS (One Time Signature)

• Utiliza funciones de un solo sentido

(hash)

TOTP (Time-based One-Time Password)

• Combina una clave secreta con la fecha

y hora

OTS con Árboles de Merkle

• Permite firmar un largo número de

mensajes utilizando una única firma

convencional

Firma Electrónica

Page 8: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

AlgoritmoTiempo de

ejecución (mseg)

192-AES encriptado/decriptado 0.008

192-AES CMAC 0.008

SHA-256 0.007

RSA 2048 firma 312.5

RSA 2048 verificación 9.1

DSA firma 91.7

DSA verificación 111.1

Estadísticas de tiempo de ejecución de algoritmos de seguridad utilizando un

microprocesador de 600 MHz

Tamaño de mensaje 42 bytes.

Firma Electrónica (comparación)

Page 9: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Es un proceso que permite a cada parte estar segura de que los mensajes

proceden de su interlocutor.

Token RSA

Autenticación

Page 10: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Una función hash puede definirse como

una función que recibe a su entrada un

conjunto de bits de longitud arbitraria, al

cual se le conoce como mensaje, y es capaz

de generar su representación en un

conjunto de bits de longitud preestablecida.

A esta representación se le llama código

hash o resumen del mensaje y se expresa

como f(x).

Mensaje o bloc de datos x (tamaño variable)

Valor Hash h

(tamaño fijo)

Función Hash, h=f(x)

Función Hash

Page 11: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Propiedades Descripción

Tamaño del mensaje de entrada

𝒇 puede ser aplicada a un bloque de datos

de cualquier tamaño.

Tamaño fijo de salida𝒇 produce una salida de longitud fija.

Eficiencia

Calcular 𝒇(𝒙) es relativamente fácil para

cualquier 𝒙 dado.

Propiedad de un solo sentido

Para cualquier valor hash dado 𝒉, es

computacionalmente imposible encontrar 𝒙tal que 𝒇 𝒙 = 𝒉

Resistencia a colisión simple

Para cualquier bloque dado 𝒙, es

computacionalmente imposible encontrar

𝒚 ≠ 𝒙 con 𝒇 𝒚 = 𝒇(𝒙)

Resistencia a colisión fuerte

Es computacionalmente imposible

encontrar cualquier par (𝒙, 𝒚) de tal

manera que 𝒇 𝒙 = 𝒇(𝒚)

Función Hash

Page 12: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

MENSAJE HOLA

Bytes 48:4f:4c:41

MD5 C6f00988430dbc8e83a7bc7ab5256346

SHA-1 261c5ad45770cc14875c8f46eaa3eca42568104a

SHA-256 73c3de4175449987ef6047f6e0bea91c1036a8599b43113b3f990104ab294a47

SHA-384 11531a8812fbd738d15183de470db493260b3370beaeffcfaf6d2702a62c09375c7

e5afbd64daf3e7cc233f641f7b34f

SHA-512 5cf58927b41378bcc076b26b3b850a66ebcec3ace74f6b949da5405721dd39488a

238f5afff793b5125038bb1dd7184c1c11c47f4844d1ccbb310c9c75893b65

Algoritmos Hash

Page 13: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

𝑥𝑖 =ℎ(𝑛11) ℎ(𝑛12) ℎ 𝑛13 …

ℎ(𝑛21) ℎ(𝑛22) ℎ 𝑛23 …

𝑦𝑖 =𝑛11 𝑛12 𝑛13 …𝑛21 𝑛22 𝑛23…

𝑛𝑖𝑗 : número aleatorio

𝑥𝑖 : llave pública

𝑦𝑖 : llave privada

𝑚 : mensaje (cadena de caracteres)

A B

𝑚

OneTime Signature

ℎ(𝑚)= 0 1 1…

Page 14: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

A B

𝑚,𝑛11 − − …− 𝑛22 𝑛23…

A B

𝑥𝑖

𝑛11 − − …− 𝑛22 𝑛23…

→ℎ(𝑛11) − − …

− ℎ(𝑛22) ℎ 𝑛23 …

h(𝑚)= 0 1 1… →𝑛11 − − …− 𝑛22 𝑛23…

ℎ(𝑚)= 0 1 1…

𝑥𝑖 =ℎ(𝑛11) ℎ(𝑛12) ℎ 𝑛13 …

ℎ(𝑛21) ℎ(𝑛22) ℎ 𝑛23 …

OneTime Signature

Page 15: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

1,1

2,1 2,2

3,1

3,2 3,33,4

ℎ(𝑥1) ℎ(𝑥2) ℎ(𝑥3) ℎ(𝑥4)

𝑦1 𝑦2 𝑦3 𝑦4

𝑥𝑖 =ℎ(𝑛11) ℎ(𝑛12) ℎ 𝑛13 …

ℎ(𝑛21) ℎ(𝑛22) ℎ 𝑛23 …

𝑦𝑖 =𝑛11 𝑛12 𝑛13…𝑛21 𝑛22 𝑛23…

A B

𝑠𝑖𝑔, 𝑥𝑖 , ℎ𝑖

𝑠𝑖𝑔 = 𝑚,𝑛11 − − …− 𝑛22 𝑛23…

𝑥𝑖 : llaves públicas

𝑦𝑖 : llaves privadas

𝑚 : mensaje

Llave Pública de Alice

OneTime Signature

Page 16: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Una cadena HASH es una secuencia de valores derivados

consecutivamente de una función hash y un valor inicial.

Debido a las propiedades de la función hash, es relativamente fácil

calcular sucesivamente valores encadenados (mineros de Bitcoin).

Cadena Hash

Page 17: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Algoritmo MD5

Cadena Hash

Page 18: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

• Hacer que los passwords que viajan a través de la red en

texto claro sean inservibles para cualquier intruso.

OTP passwords de “una sola vez”.

S/Key Passwords de Una Sola Vez

Page 19: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Servidor Clientesemilla

texto claro

semilla ‘+’ password

MD4

8 bytes 8 bytes

Page 20: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

8 bytes

8 bytes

password s

X-OR

Page 21: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

La secuencia de N passwords desechables se genera de la siguiente manera:

p0 = f N(s)

p1 = f N - 1(s)

pi = f N - i (s)

S/Key Passwords de Una Sola Vez

Page 22: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Ejemplo, N = 5

p0 = f 5 (s) = f (p1)

p1 = f 4 (s) = f (p2)

p2 = f 3 (s) = f (p3)

p3 = f 2 (s) = f (p4)

p4 = f 1(s) = p4

pi = f (pi+1)

S/Key Passwords de Una Sola Vez

Page 23: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

HMACmensaje

Clave

HASH

HMAC

Page 24: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

HMAC“Hola Mundo”

c6f00988430dbc8e83a7bc7ab5256346

637bdadfd979dcc17a0b339f3302e738cbeaf578

HMAC

Page 25: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

HMAC𝑚

𝑓𝑁𝐴−1(𝑋𝐴)

< 𝑚 >𝑓𝑁𝐴−1

Protocolo básico de Firma Electrónica

Page 26: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

26

𝒇 : función Hash

𝑿: Semilla

𝑵: Longitud de la cadena Hash

𝒇𝑵(𝑿) : llave pública

𝒇𝑵−𝒋(𝑿) : llave privada

𝟏 ≤ 𝒋 ≤ 𝑵 − 𝟏

𝑿 𝒇𝟏(𝑿) 𝒇𝟐(𝑿) … 𝒇𝑵−𝒋(𝑿) 𝒇𝑵(𝑿)

Protocolo básico de Firma Electrónica

Page 27: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

𝑋𝐴 , 𝑋𝐵 Números aleatorios (semillas)

𝑁𝐴 , 𝑁𝐵 Número de veces que se aplica la función hash

𝑓𝑁𝐴(𝑋𝐴) Llave pública de A

𝑓𝑁𝐴−1 𝑋𝐴 , 𝑓𝑁𝐴−2 𝑋𝐴 , … Llaves privadas de A

𝑓𝑁𝐵(𝑋𝐵) Llave pública de B

𝑓𝑁𝐵−1 𝑋𝐵 , 𝑓𝑁𝐵−2 𝑋𝐵 , … Llaves privadas de B

𝑓 función hash

𝑚 mensaje

< 𝑚 >𝑓𝑁𝐴−1 función HMAC

Protocolo básico de Firma Electrónica

Page 28: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Protocolo básico de Firma Electrónica

Page 29: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Protocolo básico de Firma Electrónica

Page 30: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Protocolo básico de Firma Electrónica

Page 31: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Protocolo básico de Firma Electrónica

Verificar archivos recibidos

Se busca el archivo y se verifica la firma.

El archivo recibido está firmado

Page 32: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

La tecnología Hash es una herramienta criptográfica que puede ser usada

para implementar servicios de Firma Electrónica en dispositivos móviles.

El sistema no es dependiente de una función Hash pero hasta ahora es

computacionalmente difícil romper las funciones Hash.

Conclusiones

Page 33: Criptografía Hash para Firma Electrónica · PDF fileUn nuevo protocolo de firma electrónica utiliza funciones Hash que brindan propiedades como no repudio, integridad y autenticación.

Gracias!!!