PDF de programación - Autenticacion y Firma Digital

Imágen de pdf Autenticacion y Firma Digital

Autenticacion y Firma Digitalgráfica de visualizaciones

Publicado el 18 de Mayo del 2018
884 visualizaciones desde el 18 de Mayo del 2018
351,2 KB
24 paginas
Creado hace 11a (21/09/2012)
Autenticación y Firma Digital

(Tema 6)

Confidencialidad v/s integridad

• Confidencialidad

• Para lograrla se cifra el mensaje M obteniendo un
criptograma C.

• Integridad

• Para lograrla se firma un hash del mensaje h(M),
añadiendo una marca al mensaje o criptograma.
Si bien en ciertos escenarios es muy importante
mantener el secreto de la información, si ésta lo

requiere, en muchos casos tiene quizás más

trascendencia el poder certificar la autenticidad
entre cliente y servidor como ocurre en Internet.

© Jorge Ramió Aguirre Madrid (España) 2006

Primer escenario de integridad

Escenario de desconfianza

1ª Solución. Uso de una
tercera parte de confianza
activa. Un juez tendrá una
clave KA con la que se
comunica con A y una
clave KB con la que se
comunica con B.

Usará criptografía simétrica

© Jorge Ramió Aguirre Madrid (España) 2006

A envía un mensaje M a B:
A cifra M con la clave KA ⇒
EKA(M) y lo envía al juez.
Este comprueba la integridad
de A, lo descifra y envía a B,
cifrado con KB, el mensaje M,
la identidad de A y la firma
EKA(M): EKB{M, A, EKA(M)}.
Ambos confían en el juez y
ante cualquier duda éste puede
desvelar la identidad de A
descifrando EKA(M).

Segundo escenario de integridad

Escenario de desconfianza

2ª Solución. Uso de una
tercera parte de confianza
no siempre activa. Esta
parte sólo actúa cuando se
produce un conflicto entre
los interlocutores, quienes
se autentican a través de
ella que les certifica.
Usará criptografía asimétrica

© Jorge Ramió Aguirre Madrid (España) 2006

En este caso la
figura del juez se
conoce como una
Autoridad de
Certificación

Habrá una aceptación del
sistema de autenticación
por convencimiento
propio y la confianza en
los algoritmos.

Autenticación con sistemas asimétricos

Al existir una clave pública y otra privada que
son inversas, se autentica el mensaje y al emisor.
Permite la firma digital, única para cada mensaje

Problema:
Los sistemas de cifra asimétricos son muy lentos y el mensaje
podría tener miles o millones de bytes ...
Solución:
Se genera un resumen del mensaje, representativo del mismo, con
una función hash imposible de invertir. La función hash comprime
un mensaje de longitud variable a uno de longitud fija y pequeña.

© Jorge Ramió Aguirre Madrid (España) 2006

Características de una firma digital

Requisitos de la firma digital:
a) Debe ser fácil de generar.
b) Será irrevocable, no rechazable por su propietario.
c) Será única, sólo posible de generar por su propietario.
d) Será fácil de autenticar o reconocer por su propietario y los

usuarios receptores.

e) Debe depender del mensaje y del autor.

Son condiciones más fuertes
que la de una firma manuscrita.

© Jorge Ramió Aguirre Madrid (España) 2006

Esta última
propiedad es
muy importante
pues protege la
falsificación de
un mensaje

Firma digital RSA de A hacia B

Clave Pública (nA, eA) Clave Privada (dA)

Algoritmo:
Rúbrica: rAh(M) = h(M)dA mod nA
A envía el mensaje M en claro (o cifrado) al destinatario B
junto a la rúbrica: {M, rAh(M)}

Adela

El destinatario B tiene la clave pública eA,nA de A
y descifra rAh(M) ⇒ {(h(M)dA)eA mod nA}
obteniendo así h(M). Como recibe el mensaje M’,
calcula la función hash h(M’) y compara:

Si h(M’) = h(M) se acepta la firma.

Benito

© Jorge Ramió Aguirre Madrid (España) 2006

Valores y tamaños típicos de firmas

• En los siguientes ejemplos, por limitación del tamaño de los

primos elegidos, se firmarán sólo bloques de una cantidad
determinada de bits en función del cuerpo de trabajo.


• No obstante, en los sistemas reales esto no es así puesto que

las funciones hash ya vistas entregarán -por lo general-
resúmenes comprendidos entre 128 y 160 bits y, por otra
parte, el cuerpo de trabajo de la cifra asimétrica para la
firma digital será como mínimo de 512 bits (si bien en la
actualidad se recomienda al menos 1.024). Por lo tanto el
resumen que se firma es menor que el cuerpo de cifra o, lo
que es lo mismo, es parte del conjunto de restos del grupo.

© Jorge Ramió Aguirre Madrid (España) 2006

Ejemplo de firma digital RSA (B → A)

Hola. Te envío el documento. Saludos, Beni.

Benito

Sea h(M) = F3A9 (16 bits)

Adela

Claves Benito

nB = 65.669

eB = 35, dB = 53.771

216 < 65.669 < 217
Forzaremos firmar
bloques de 16 bits

Claves Adela

nA = 66.331

eA = 25, dA = 18.377

Firma

h (M) = F3A916 = 62.37710
rh(M) = h(M)dB mod nB
rh(M) = 62.37753.771 mod 65.669 = 24.622
Benito envía el par (M, r) = (M, 24.622)

Nota: los primos
que usa Benito
son 97, 677 y
Adela 113, 587

© Jorge Ramió Aguirre Madrid (España) 2006

Comprobación la firma RSA por A

Claves Benito

nB = 65.669

eB = 35, dB = 53.771

Claves Adela

nA = 66.331

eA = 25, dA = 18.377

Teníamos que: h (M) = F3A916 = 62.37710

Adela

Benito

rh(M) = h(M)dB mod nB rh(M) = 62.37753.771 mod 65.669 = 24.622

Benito había enviado el par (M, r) = (M, 24.622)

Adela recibe un mensaje M’ junto con una rúbrica r = 24.622:
• Calcula reB mod nB = 24.62235 mod 65.669 = 62.377.
• Calcula el resumen de M’ es decir h(M’) y lo compara con h(M).
• Si los mensajes M y M’ son iguales, entonces h(M) = h(M’) y se

acepta la firma como válida.

• NOTA: No obstante, h(M) = h(M’) no implica que M = M’.

© Jorge Ramió Aguirre Madrid (España) 2006

Firma digital ElGamal de A hacia B

ElGamal: El usuario A generaba un número
aleatorio a (clave privada) del cuerpo p. La
clave pública es αa mod p, con α generador.

Adela

Algoritmo de firma:
1º El usuario A genera un número aleatorio h, que será primo

Firma: (r, s)

relativo con φ(p): h / mcd {h, φ(p)} = 1

2º Calcula h-1 = inv {h, φ(p)}
3º Calcula r = αh mod p
4º Resuelve la siguiente congruencia:

M = a∗r + h∗s mod φ(p) ∴
s = (M - a∗r)∗inv[h,φ(p)] mod φ(p)

© Jorge Ramió Aguirre Madrid (España) 2006

Comprobación de firma ElGamal por B

rs mod p y (αa)r mod p

Algoritmo comprobación de firma:
1º El usuario B recibe el par (r, s) y calcula:

2º Calcula k = [(αa)r ∗ rs] mod p


3º Como M = (a∗r + h∗s) mod φ(p) y α es una raíz

Como r era igual a αh mod p entonces:
k = [(αar∗αhs] mod p = α(ar + hs) mod p = αβ mod p

Se acepta la firma

Benito

Conoce: p y (αa) mod p

primitiva de p se cumple que:
αβ = αγ ssi β = γ mod (p-1)


4º Comprueba que k = αM mod p

Si k = [(αa)r ∗ rs] mod p
es igual a αM mod p ...

© Jorge Ramió Aguirre Madrid (España) 2006

Ejemplo de firma ElGamal (B → A)

¡Hola otra vez! Soy Benito de nuevo. Saludos.

Benito

Firma

Sea h(M) = A69B (16 bits)

Claves Benito
pB = 79.903 α = 10
αb mod p = 3.631
b = 20, h = 31

216 < 79.903 < 217
Forzaremos firmar
bloques de 16 bits

Adela

1) h-1 = inv[h, φ(p)] = inv (31, 79.902) = 5.155
2) r = αh mod p = 1031 mod 79.903 = 11.755
3) s = [h(M) - b∗r]∗[inv(h,φ(p)] mod φ(p) h(M) = A69B16 = 42.65110
4) s = [42.651-20∗11.755]∗5.155 mod 79.902
5) s = 68.539

(r, s) = (11.755, 68.539)

Luego, la firma será

© Jorge Ramió Aguirre Madrid (España) 2006

Comprobación de firma ElGamal por A

Claves Benito
pB = 79.903 α = 10
αb mod p = 3.631
b = 20, h = 31

Benito

h(M) = A69B = 42.651

Adela

Adela recibe el par (r, s) = (11.755, 68.539)

Comprobación de la firma:
1) rs mod p = 11.75568.539 mod 79.903 = 66.404
2) (αb)r mod p = 3.63111.755 mod 79.903 = 12.023
3) (αb)r ∗ rs mod p = (12.023 ∗ 66.404) mod 79.903 = 64.419 = k
4) αh(M) mod p = 1042.651 mod 79.903 = 64.419

Como hay igualdad
se acepta la firma

© Jorge Ramió Aguirre Madrid (España) 2006

Importancia de α en la firma de ElGamal

Claves Benito
pB = 79.903 α = 10
αb mod p = 3.631
b = 20, h = 31

Benito

α = 10 es un generador
del cuerpo p = 79.903
puesto que:
1039.951 mod 79.903 = 79.902
1026.634 mod 79.903 = 71.324
103.474 mod 79.903 = 2.631
10414 mod 79.903 = 41.829

p-1 = 79.902 = 2∗32∗23∗193
q1 = 2; q2 = 3; q3 = 23; q4 = 193
y se cumple 10(p-1)/qi mod p ≠ 1
Si se elige α = 11 que no es raíz, para el exponente 39.951 se
obtiene el valor 1. No nos servirá para la firma porque será
imposible comprobarla mediante la ecuación k = αM mod p.

© Jorge Ramió Aguirre Madrid (España) 2006

Estándares de firma digital

El peor inconveniente de la firma propuesta por ElGamal es que
duplica el tamaño del mensaje M al enviar un par (r, s) en Zp y φ(p).
No obstante, se solucionará con el algoritmo denominado DSS.
1991: National Institute of Standards and Technology (NIST)

propone el DSA, Digital Signature Algorithm, una
variante de los algoritmos de ElGamal y Schnoor.

1994: Se establece como estándar el DSA y se conoce como

DSS, Digital Signature Standard.

1996: La administración de los Estados Unidos permite la

exportación de Clipper 3.11 en donde viene inmerso el
DSS, que usa una función hash de tipo SHS, Secure
Hash Standard.

© Jorge Ramió Aguirre Madrid (España) 2006

Digital Signature Standard DSS

Parámetros públicos de la firma:
• Un número primo p (512 bits < p < 1024 bits)
• Un número primo q (160 bits) divisor de p-1
• Un generador α “de orden q” del grupo p

¿y eso qué es?
Generador de orden q es aquella raíz α en el cuerpo Zp de
forma que q es el entero más pequeño que verifica:

αq mod p = 1 Así, para todo t: αt = αt (mod q) mod p

Elección de parámetros: primero se busca el primo p, luego un
primo q que sea divisor de (p-1) y luego un valor h en p, de
forma que si α = h(p-1)/q mod q ≠ 1, éste será el generador.

© Jorge Ramió Aguirre Madrid (España) 2006

Elección de parámetros en DSS

• Elegir un número primo 2159 bits < q < 2160 bits.
• Elegir 0 ≤ t ≤ 8 y enc
  • Links de descarga
http://lwp-l.com/pdf11073

Comentarios de: Autenticacion y Firma Digital (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad