La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 14 Autenticación y Firma Digital Curso de Seguridad Informática Material Docente de Libre Distribución Curso de Seguridad Informática © Jorge Ramió

Presentaciones similares


Presentación del tema: "Tema 14 Autenticación y Firma Digital Curso de Seguridad Informática Material Docente de Libre Distribución Curso de Seguridad Informática © Jorge Ramió"— Transcripción de la presentación:

1 Tema 14 Autenticación y Firma Digital Curso de Seguridad Informática Material Docente de Libre Distribución Curso de Seguridad Informática © Jorge Ramió Aguirre Este archivo forma parte de un curso completo sobre Seguridad Informática y Criptografía. Se autoriza su uso, reproducción en computador e impresión en papel sólo para fines docentes, respetando siempre los derechos del autor. Ultima actualización: 10/02/02 Archivo con 40 diapositivas Dr. Jorge Ramió Aguirre Universidad Politécnica de Madrid

2 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.2 Confidencialidad v/s integridad 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 (Internet). Confidencialidad: Para lograrla se cifra el mensaje M criptograma. Integridad: Para lograrla se firma el mensaje añadiendo una marca.

3 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.3 Los problemas de la integridad (1) a) Autenticidad del emisor ¿Cómo comprueba Benito (B) que el mensaje recibido del emisor que dice ser Adelaida (A) es efectivamente de esa persona? b) Integridad del mensaje ¿Cómo comprueba Benito (B) que el mensaje recibido del emisor Adelaida (A) es el auténtico y no un mensaje falso? c) Actualidad del mensaje ¿Cómo comprueba Benito (B) que el mensaje recibido del emisor Adelaida (A) es actual, no un mensaje de fecha anterior reenviado?

4 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.4 Los problemas de la integridad (2) d) No repudio del emisor ¿Cómo comprueba Benito (B) que el mensaje enviado por el emisor Adelaida (A) -y que niega haberlo enviado- efectivamente ha llegado? e) No repudio del receptor ¿Cómo comprueba Benito (B) que el mensaje enviado al receptor Adelaida (A) -y que niega haberlo recibido- efectivamente se envió? d) Usurpación de identidad del emisor/receptor ¿Cómo comprueba Benito (B) que Adelaida (A), Clarisa (C) u otros usuarios están enviando mensajes firmados como Benito (B)?

5 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.5 Escenarios de integridad (1) 1 er escenario de desconfianza 1ª Solución. Uso de un Juez. El Juez tendrá una clave K A con la que se comunica con A y una clave K B con la que se comunica con B. A envía un mensaje M a B: A cifra M con la clave K A E KA (M) y lo envía al Juez. Este comprueba la integridad de A, lo descifra y envía a B, cifrado con K B, el mensaje M, la identidad de A y la firma E KA (M): E KB {M, A, E KA (M)}. Ambos confían en el Juez y ante cualquier duda éste puede desvelar la identidad de A descifrando E KA (M). Usa criptografía simétrica

6 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.6 Escenarios de integridad (2) 2º escenario de desconfianza 2ª Solución. Prescindir de la figura del Juez y aceptar la autenticidad e integridad por convencimiento propio y la confianza en los algoritmos. No está claro que pueda convertirse en un estándar. Permanece la figura de la Autoridad de Certificación... es decir Ambos confiarán en un protocolo seguro y se autenticarán a través de una Autoridad de Certificación AC. Ambos confiarán en un protocolo seguro y se autenticarán a través de una Autoridad de Certificación AC.

7 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.7 Funciones de autenticación Autenticación mediante el cifrado de mensajes con criptografía simétrica La cifra de datos puede servir como autenticación. Autenticación con MAC Message Code Authentication o checksum U na función pública y una clave secreta producen un valor de longitud fija válida como autenticador. Autenticación mediante funciones hash Una función pública reduce el mensaje a una longitud de valor hash que sirve como autenticador. Autenticación mediante firma digital del mensaje con criptografía asimétrica Una función pública y un par de claves, pública y privada inversas en un cuerpo, permiten la autenticación completa.

8 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.8 Autenticación con sistemas simétricos Si la clave de un sistema simétrico es segura, es decir no está en entredicho, podemos afirmar que, además de la confidencialidad que nos entrega dicha cifra, se obtienen también simultáneamente la integridad del emisor y autenticidad del mensaje, en tanto que sólo el usuario emisor (en quien se confía por el modelo de cifra) puede generar ese mensaje. Con los sistemas de cifra simétricos no podremos realizar una autenticación completa (emisor y mensaje). Ahora bien, podremos hacerse algo similar con algunos procedimientos más o menos complejos que usen sistemas de cifra simétrica como es el caso de Kerberos.

9 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.9 Los problemas de la autenticación simétrica El intercambio de claves de forma segura ya hemos visto que se logra sólo a través de sistemas asimétricos. Las herramientas más usuales para autenticación serán los códigos de autenticación de mensajes MACs y el sistema Kerberos con cifras simétricas o bien las firmas digitales que usan criptografía asimétrica. No obstante, subyacen los problemas característicos de un criptosistema: ¿cómo asegurar que la clave simétrica entre emisor y receptor es segura? o lo que es lo mismo, ¿cómo intercambiar claves de forma segura?

10 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.10 Se añade una marca de autenticación al final del criptograma. Esta marca depende del mensaje M. Por tanto, se trata de un texto redundante M R, establecido a priori. C = E K (M, M R ) M R = Resumen o Marca ¿Para qué sirve la redundancia? Al ser texto redundante, la probabilidad de una autenticación errónea será igual que la de descriptar un criptograma que según el modelo de Hellman visto era P E = 2 rN /2 RN = 2 (r-R)N. Así, la probabilidad de una autenticación correcta será P A = 1 - P E. Como r = 1.3 y R = 4.75, P E decrece rápidamente al crecer N. Si no hay redundancia (r R) P E 1 y el ataque prospera. Redundancia del lenguaje en autenticación

11 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.11 Autenticación con MAC o Checksum Los dos extremos de la comunicación A y B comparten una única clave secreta que no está en entredicho. El MAC o checksum será una función que se aplica al mensaje M junto a una clave secreta K C K (M). A envía el mensaje en claro y el Messsage Authentication Code (MAC) o Checksum C K (M) a B. Integridad: el receptor B puede estar seguro de que nadie ha modificado el mensaje durante la transmisión pues el valor C K (M) en destino coincide con el enviado por A. Autenticación: como solamente el emisor A y el receptor B comparten la clave secreta K, se asegura la autenticación de ambos usuarios la clave K debe ser muy segura.

12 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.12 Se inserta un código al final del mensaje M transmitido en claro, consistente en la cifra con clave secreta de los últimos bytes del texto, por ejemplo 64 bits de DES. En destino, con el mismo algoritmo y clave secreta, se realiza la cifra y se comparan estos últimos bloques. Como la cifra es por encadenamiento o realimentación, esos bytes cifrados dependen de todo el mensaje por lo que cualquier modificación será detectada al no coincidir los resultados del cifrado de M en emisor y receptor. Esquema Message Code Authentication con DES

13 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.13 M1M1 M2M2 MnMn...E (K,M) M1M1 M2M2 MnMn... Am K E (K,M) = Am M R M R : espacio de marcas de autenticación Cifrado del último bloque con encadenamiento Mensaje M ¿Cuáles son las debilidades de este modelo? La Marca Am son sólo 16, 32 ó 64 bits. Es un tamaño muy pequeño y puede dar lugar a colisiones: mensajes distintos con iguales MACs. Algoritmo de autenticación MAC con DES emisor receptor

14 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.14 Utilización de un KDC (Key Distribution Centre) o Distribuidor de Claves de Confianza, que comparte una clave llamada maestra con los clientes. Cada parte de la red comparte una clave secreta o clave maestra con el KDC. El KDC se ocupa de distribuir una clave de sesión que va a ser utilizada en la conexión entre las dos partes. La clave de sesión se protege con la clave maestra de los participantes de una comunicación. Aproximación con cifrado convencional

15 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.15 Propuesta de Needham y Schroeder ¿Qué sucede si no se realizan los pasos 4 y 5? Un intruso podría capturar el mensaje en el paso 3 y repetirlo, interfiriendo así las operaciones de B. 1.A KDC: ID A ||ID B ||N 1 2.KDC A: E KA [K S ||ID B ||N 1 ||E KB [K S ||ID A ]] 3.A B: E KB [K S ||ID A ] 4.B A: E KS [N 2 ] 5.A B: E KS [f (N 2 )] ID A = Nombre de A o identificador de A ID B = Nombre de B o identificador de B N X = Valor nonce K S = Clave de sesión E KX = Cifrado con clave secreta de X K X = Clave secreta de X (A ó B) f (N2) es una función conocida por A y B.

16 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.16 Algo más improbable es que un intruso X tenga una clave de sesión antigua y repita el mensaje del paso 3 enviado a B, quien no tiene porqué recordar todas las claves de sesión usadas previamente con A. Si X captura el mensaje del paso 4, podrá suplantar la respuesta de A del paso 5, enviando a B mensajes que parecen venir de A con clave de sesión autenticada. Denning propone la inclusión de un valor timestamp en los pasos 2 y 3. La utilización de timestamps requiere la sincronización de relojes, pero la utilización de valores nonce es también vulnerable. Se propone como solución óptima dar una duración a la clave de sesión (tickets). Más debilidades de la propuesta N-S

17 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.17 Solución propuesta por Denning y tickets 1.A KDC: ID A ||ID B 2.KDC A: E KA [K S ||ID B ||T||E KB [K S ||ID A ||T]] 3.A B: E KB [K S ||ID A ||T] 4.B A: E KS [N 1 ] 5.A B: E KS [f (N 1 )] T = Timestamp | Clock – t | < t 1 + t 2 1.A B: ID A ||N A 2.B KDC: ID B ||N B ||E KB [ID A ||N A ||T B ] 3.KDC A: E KA [ID B ||N A ||K S ||T B ]||E KB [ID A ||K S ||T B ]||N B 4.A B: E KB [ID A ||K S ||T B ]||E KS [N B ] Tickets Denning Tickets Solución al problema del timestamp

18 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.18 El correo electrónico es un ejemplo de aplicación que requiere este tipo de autenticación: –No es necesario que el emisor y el receptor estén conectados al mismo tiempo. –El receptor necesita confirmar de alguna forma que el emisor del mensaje es quien dice ser. Autenticación en un sentido Se garantiza así que sólo el receptor puede leer el mensaje y autentica además al emisor. Es vulnerable a repeticiones. 1.A KDC: ID A ||ID B ||N 1 2.KDC A: E KA [K S ||ID B ||N 1 ||E KB [K S ||ID A ]] 3.A B: E KB [K S ||ID A ]||E KS [M]

19 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.19 Perro de tres cabezas y cola de serpiente según mitología griega, guardián de la entrada del Templo de Hades. Tres componentes guardarán la puerta: Autenticación, Contabilidad y Auditoría. Las dos últimas cabezas nunca han sido implementadas. Autenticación con Kerberos Servicio de autenticación desarrollado en el Massachusetts Institute of Technology (MIT)

20 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.20 Está basado en el protocolo de distribución de claves de Needham & Schroeder. Fases de autenticación: –Obtención de credenciales Tickets Autenticadores –Petición de autenticación contra un servicio. –Presentación de las credenciales al servidor final. Características y fases de Kerberos

21 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.21 Usuario, cliente y servidor: persona o máquina que necesita autenticarse en la red. Principal: entidad o cliente que usa Kerberos y que ha sido previamente autenticado por un servidor de autenticación. Servicio y servidor: servicio es una entidad abstracta (por ejemplo correo) y servidor el proceso que lo ejecuta. Clave y password: función aplicada a la clave de usuario. Credenciales: lo que se utiliza para autenticarse. Maestros y esclavos: la máquina que hospeda la base de datos es el master y esclavos son las máquinas que poseen copias de ésta. Dominio: nombre de entidad administrativa que mantiene los datos de autenticación.. Elementos del diálogo de autenticación

22 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.22 Existen dos tipos de credenciales utilizadas en el modelo de Kerberos: tickets y autenticadores. Es necesario un ticket para pasar de una forma segura la identidad del cliente entre el servidor de autenticación y el servidor final. Credenciales en Kerberos (ticket) [s, c, addr, timestamp, life, K S,C ]K S s = nombre del servidor c = nombre del cliente addr = dirección Internet del cliente timestamp = fecha de iniciación del ticket life = duración K S = clave de sesión aleatoria

23 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.23 Credenciales en Kerberos (autenticador) El autenticador contiene información adicional que, comparada con el ticket, prueba que el cliente que presenta el ticket es el mismo a quien se le entregó, Los objetivos de las credenciales son minimizar el número de veces que un usuario tiene que introducir la password así como eliminar el problema de enviar la password en texto plano por la red. [c, addr, timestamp]K S,C c = nombre del cliente addr = dirección Internet de la estación de trabajo timestamp = fecha de iniciación del ticket K S,C = clave de sesión que es parte del ticket

24 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.24 Autenticación con funciones hash H(M) es el resultado de un algoritmo que con una entrada M de cualquier tamaño, produce salida de tamaño fijo. El emisor A envía el mensaje M y la función hash H(M) a B, quien aplica la misma función al mensaje M recibido. Si los mensajes son iguales entonces se asegura que los hash también son iguales. No obstante, el hecho de que los hash coincidan no significa que los mensajes M y M sean iguales (ya visto en el capítulo correspondiente). Integridad: el receptor B puede confiar en que nadie ha modificado el mensaje durante la transmisión pues el valor H(M) en destino coincide con el enviado por A. Autenticación: Es imposible la autenticación de usuario.

25 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.25 Autenticación con sistemas asimétricos 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. 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

26 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.26 Son condiciones más fuertes que la de una firma manuscrita. 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.

27 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.27 Clave Pública (n A, e A ) Clave Privada (d A ) Rúbrica: r A H(M) = H(M) dA mod n A Algoritmo: A envía el mensaje M en claro (o cifrado) al destinatario B junto a la rúbrica: {M, r A H(M)} El destinatario B tiene la clave pública e A,n A de A y descifra r A H(M) {(H(M) dA ) eA mod n A } 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. Adelaida Benito Firma digital RSA de A hacia B

28 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.28 AdelaidaBenito Hola. Te envío el documento. Saludos, Beni. Sea H(M) = F3A9 (16 bits) Claves Benito n B = e B = 35, d B = Claves Adelaida n A = e A = 25, d A = H (M) = F3A9 16 = r H(M) = H(M) dB mod n B r H(M) = mod = Benito envía el par (M, r) = (M, ) Firma Ejemplo de firma digital RSA (B A) Los primos elegidos por Benito y Adelaida son (97, 677) y (113, 587) luego, firmará con bloques de 16 bits

29 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.29 Claves Benito n B = e B = 35, d B = Claves Adelaida n A = e A = 25, d A = Adelaida recibe un mensaje M junto con una rúbrica r = : Calcula r eB mod n B = mod = 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. Teníamos que: H (M) = F3A9 16 = r H(M) = H(M) dB mod n B r H(M) = mod = Benito había enviado el par (M, r) = (M, ) Comprobación de firma RSA por A AdelaidaBenito

30 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.30 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. Algoritmo de firma: 1ºEl usuario A genera un número aleatorio h, que será primo 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) M = a r + h s mod (p) s = (M - a r) inv[h, (p) mod (p) Firma: (r, s) Adelaida Firma digital ElGamal de A hacia B

31 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.31 Algoritmo comprobación de firma: 1ºEl usuario B recibe el par (r, s) y calcula: r s mod p y ( a ) r mod p 2ºCalcula k = [( a ) r r s ] mod p Como r era igual a h mod p entonces: k = [( ar hs ] mod p = (ar + hs) mod p = mod p 3ºComo M = (a r + h s) mod (p) y es una raíz primitiva de p se cumple que: = ssi = mod (p-1) 4ºComprueba que k = M mod p Benito Si k = [( a ) r r s ] mod p es igual a M mod p... Se acepta la firma Comprobación de firma ElGamal por B Conoce: p y ( a ) mod p

32 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.32 AdelaidaBenito ¡Hola otra vez! Soy Benito de nuevo... Salu2. Sea H(M) = A69B (16 bits) Claves Benito p B = = 10 b mod p = b = 20, h = luego, firmará con bloques de 16 bits Firma 1) h -1 = inv[h, (p)] = inv (31, ) = ) r = h mod p = mod = ) s = [H(M) - b r] [inv(h, (p)] mod (p) H(M) = A69B 16 = ) s = [ ] mod ) s = (r, s) = (11.755, ) Ejemplo firma digital ElGamal (B A) Luego, la firma será

33 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.33 AdelaidaBenito Claves Benito p B = = 10 b mod p = b = 20, h = 31 Comprobación de la firma: 1) r s mod p = mod = ) ( b ) r mod p = mod = ) ( b ) r r s mod p = ( ) mod = = k 4) H(M) mod p = mod = Como hay igualdad se acepta la firma Comprobación de firma ElGamal por A Adelaida recibe el par (r, s) = (11.755, ) H(M) = A69B =

34 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.34 Claves Benito p B = = 10 b mod p = b = 20, h = 31 = 10 es un generador del cuerpo p = puesto que: p-1 = = q 1 = 2; q 2 = 3; q 3 = 23; q 4 = 193 y se cumple 10 (p-1)qi mod p mod = mod = mod = mod = Por ejemplo, si se elige = 11, para el exponente se obtiene el valor 1 y entonces no sirve para la firma. Será imposible comprobarla mediante la ecuación k = M mod p. El generador en la firma de ElGamal Benito

35 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital :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. 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 Z p y (p). No obstante, se solucionará con el algoritmo denominado DSS. Estándares de firma digital

36 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.36 Parámetros públicos de la firma: Un número primo grande p (512 bits) Un número primo q (160 bits) divisor de p-1 Un generador de orden q del grupo p Generador de orden q es aquella raíz en el cuerpo Z p de forma que q es el entero más pequeño que verifica: q mod p = 1 En este caso se cumple para todo t que: t = t (mod q) mod p Digital Signature Standard DSS ¿y eso qué es?

37 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.37 Claves públicas de A: primos p, q y el generador Clave secreta de la firma:a(1 < a < q) aleatorio Clave pública de la firma:y = a mod p Para firmar un mensaje 1 < M < p, el firmante elige un valor aleatorio 1 < h < q y calcula: r = ( h mod p) mod q s = [(M + a r) inv (h,q)] mod q La firma digital de M será el par (r, s) GENERACIÓN DE LA FIRMA POR PARTE DE A Generación de firma DSS de A B

38 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.38 B recibe el par (r, s) Luego calcula: w = inv (s, q) u = M w mod q v = r w mod q Comprueba que se cumple la relación: r = ( u y v mod p) mod q Si se cumple, se acepta la firma como válida. COMPROBACIÓN DE LA FIRMA DE A POR B La firma tendrá en este caso un tamaño menor que q, es decir, menos bits que los del módulo de firma p ya que se elige por diseño p >> q Comprobación de firma DSS por B

39 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.39 Adelaida Benito Hola Adelaida, soy Benito y firmo con DSS. Sea H(M) = = 104 (un elemento de p B ) Claves Benito p B = 223 q B = 37 = 17 y = b mod p = 30 b = 25, h = p B = Luego firmará bloques de 7 bits Firma 1) inv (h,q) = inv (12, 37) = 34 2) r = ( h mod p) mod q = (17 12 mod 223) mod 37 = 171 mod 37 = 23 3) s = [H(M)+b r] [inv (h,q)] mod q = [ ] 34 mod 37 = 35 4) La firma digital de H(M) = 104 será: (r, s) = (23, 35) 5) Benito transmite a Adelaida el bloque (M, r, s) = (M, 23, 35) Ejemplo de firma DSS de B A

40 © Jorge Ramió Aguirre Madrid (España) 2002 Curso de Seguridad Informática. Tema 14: Autenticación y Firma Digital.40 AdelaidaBenito Comprobación de firma 1) w = inv (s, q) = inv (35, 37) = 18 2) u = M w mod q = mod 37 = 22 3) v = r w mod q = mod 37 = 7 4) ¿( u y v mod p) mod q = r ? 5) [( ) mod 223] mod 37 = 23 Se acepta la firma Y el tamaño será menor que q B = 37 es decir << P B = 223 que era el punto débil de ElGamal Comprobación de firma DSS por A Claves Benito p B = 223 q B = 37 = 17 y = b mod p = 30 b = 25, h = 12 Adelaida recibe: (M, r, s) = (M, 23, 35) ¿igualdad? Fin del Tema 14


Descargar ppt "Tema 14 Autenticación y Firma Digital Curso de Seguridad Informática Material Docente de Libre Distribución Curso de Seguridad Informática © Jorge Ramió"

Presentaciones similares


Anuncios Google