Tema 8 Introducción a los Criptosistemas Modernos Curso de Seguridad Informática Material Docente...

Post on 11-Jan-2015

2 views 0 download

Transcript of Tema 8 Introducción a los Criptosistemas Modernos Curso de Seguridad Informática Material Docente...

Tema 8Introducción a los Criptosistemas

Modernos

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/02Archivo con 31 diapositivas

Dr. Jorge Ramió AguirreUniversidad Politécnica de Madrid

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

2

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

• Los criptosistemas modernos, cuya cifra en bits está orientada a todos los caracteres ASCII o ANSI usan por lo general una operación algebraica en Zn, un cuerpo finito, sin que necesariamente este módulo deba corresponder con el número de elementos del alfabeto o código utilizado. Es más, nunca coinciden; siempre será mucho mayor el cuerpo de trabajo que el alfabeto.

• Su fortaleza está en la imposibilidad computacional de descubrir una clave secreta única, en tanto que el algoritmo de cifra es (o debería ser) público.

Un par de ideas básicas

Conceptos elementales

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

3

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

Clasificación de los criptosistemas

MÉTODOS DE CIFRA MODERNAMÉTODOS DE CIFRA MODERNA

CIFRADO EN FLUJO CIFRADO EN BLOQUE

LFSRs A5CLAVE SECRETACLAVE PÚBLICA

DES; T-DES; CAST;IDEA; RIJNDAEL ...

EXPONENCIACIÓNRSA; ELGAMAL

SUMA/PRODUCTOCE; Mochilas MH ...

Cifrado propiamente de la información

Intercambio de claves y firma digital

Protección de SW vía HW

Telefonía móvil; tiempo real

y algunos ejemplos...

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

4

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

Usa el concepto de cifra propuesto por Vernam, que cumple con las ideas de Shannon sobre sistemas de cifra secreto perfecto, esto es:

a) El espacio de las claves es igual o mayor que el espacio de los mensajes.

b) Las claves deben ser equiprobables.

c) La secuencia de clave se usa una sola vez y luego se destruye (sistema one-time pad).

DUDA: ¿Es posible satisfacer la condición a)?

Introducción al cifrado de flujo

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

5

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

¿Espacio de Claves Espacio de Mensajes?

1) La secuencia de bits de la clave deberá enviarse al destinatario a través de un canal que sabemos es inseguro (aún no conocemos el protocolo de intercambio de clave de Diffie y Hellman).

2) Si la secuencia es “infinita”, desbordaríamos la capacidad del canal de comunicaciones.

Espacio de claves y del mensaje

¿Qué solución damos a este problema?

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

6

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

La solución está en generar una secuencia de tipo pseudoaleatoria con un algoritmo determinístico a partir de una semilla de sólo unas centenas de bits. Podremos generar así secuencias con períodos del orden de 2n, un valor ciertamente muy alto. Esta semilla es la que se envía al receptor mediante un sistema de cifra de clave pública y un algoritmo de intercambio de clave y no sobrecargamos el canal.

El concepto de semilla

Si por el canal supuestamente seguro enviamos esa clave tan larga ... ¿por qué entonces no enviamos directamente el mensaje en claro y nos dejamos de historias?

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

7

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

El mensaje en claro se leerá bit a bit. Se realizará una operación de cifra, normalmente

la función XOR, con una secuencia cifrante de bits Si que debe cumplir ciertas condiciones:

– Un período muy alto.

– Aleatoriedad en sus propiedades.

XOR

Secuencia cifrante Si

Mensaje MBits del Criptograma

XOR Mensaje M

Secuencia cifrante Si

C C

Técnica de cifra en flujo

Lo veremos en el capítulo

9...

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

8

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

El mensaje se agrupa en bloques, normalmente de 8 bytes, antes de aplicar el algoritmo de cifra a cada bloque de forma independiente con la misma clave.

Hay algunos algoritmos muy conocidos por su uso en aplicaciones bancarias (DES), correo electrónico (IDEA, CAST) y en comercio electrónico (T-DES).No obstante, tienen tres puntos débiles.

Introducción a la cifra en bloque

Cifrado con Clave Secreta

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

9

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

a) Mala gestión de claves. Crece el número de claves secretas en un orden igual a n2 para un valor n grande de usuarios .

b) Mala distribución de claves. No existe posibilidad de enviar, de forma segura, una clave a través de un medio inseguro .

c) No tiene firma digital. Aunque sí será posible autenticar el mensaje mediante una marca, no es posible firmar digitalmente el mensaje .

Debilidades de la cifra con clave secreta

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

10

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

a) Mala gestión de claves .b) Mala distribución de claves . c) No tiene firma digital .

¿Tiene algo de bueno la cifra en bloque con clave secreta?

Sí: la velocidad de cifra es muy alta

¿Por qué usamos clave secreta?

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

11

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

Cifrado con Clave Pública

• Comienza a ser ampliamente conocido a través de su aplicación en los sistemas de correo electrónico seguro (PGP y PEM) al permitir incluir una firma digital adjunta al documento o e-mail enviado.

• Cada usuario tiene dos claves, una secreta o privada y otra pública, inversas dentro de un cuerpo.

• Usan las funciones unidireccionales con trampa.

Cifrado en bloque con clave pública

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

12

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

Son funciones matemáticas de un solo sentido (one-way functions) y que nos permiten usar la función en sentido directo o de cálculo fácil para cifrar y descifrar (usuarios legítimos) y fuerza el sentido inverso o de cálculo difícil para aquellos (impostores, hackers, etc.) si lo que se desea es atacar o criptoanalizar la cifra.

f (M) = C siempre es fácil. f -1(C) = M es difícil salvo si se tiene la trampa.

Funciones unidireccionales con trampa

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

13

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

Cálculo Directo: Producto de dos primos grandes pq = nCálculo Inverso: Factorización de número grande n = pq

Problema de la factorizaciónProblema de la factorización

Problema del logaritmo discretoProblema del logaritmo discreto

Cálculo Directo: Exponenciación discreta b = ax mod nCálculo Inverso: Logaritmo discreto x = loga b mod n

Funciones con trampa típicas (1)

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

14

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

Problema de la mochilaProblema de la mochila

Cálculo Directo: Sumar elementos de mochila con trampaCálculo Inverso: Sumar elementos de mochila sin trampa

Problema de la raíz discretaProblema de la raíz discreta

Cálculo Directo: Cuadrado discreto x = aa mod nCálculo Inverso: Raíz cuadrada discreta n = a mod n

Funciones con trampa típicas (2)

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

15

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

Claves: eB, nB, dBClaves: eB, nB, dBClaves: eA, nA, dAClaves: eA, nA, dA

Benito Adelaida

C = EeA(M) mod nA

eB, nB: públicas

dB: privada

eA, nA: públicas

dA: privada

NUESTROS PROTAGONISTAS

Si Benito realiza la operación con las claves públicas de

Adelaida (eA, nA), la información que se

transmite mantiene la confidencialidad:

sólo ella puede verla.

Cifrado con clave pública de destino

eB y dB son inversas dentro de un cuerpo Z

eA y dA son inversas dentro de un cuerpo Z

origen destino

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

16

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

Cifrado:

Benito envía un mensaje M a Adelaida

Claves: eB, nB, dB Claves: eA, nA, dA

Benito Adelaida

C = EeA(M) mod nA

Descifrado:

M = EdAEeA(M) mod nAEdA y EeA son inversos

Recupera el texto en claro: confidencialidad

Operación de cifra con clave de destino

Claves públicas

Clave privada

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

17

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

Si en vez de utilizar la clave pública de destino, el emisor usa su propia clave pública, la cifra no tiene sentido bajo el punto de vista de sistemas de clave pública ya que sólo él o ella sería capaz de descifrar el criptograma (deshacer la operación de cifra) con su propia clave privada.

¿Y si usamos la clave pública de origen?

Esto podría usarse para cifrar de forma local uno o varios ficheros, por ejemplo, pero para ello ya están los sistemas de clave secreta, mucho más rápidos y, por tanto, más eficientes.

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

18

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

Si ahora el emisor usa su clave privada en la cifra sobre el mensaje, se obtiene una firma digital que le autentica como emisor ante el destinatario y, además, a este último le permitirá comprobar la integridad del mensaje.

Veamos antes un ejemplo dealgoritmo que usa dos claves

¿Y si usamos la clave privada de origen?

Obviamente, el emisor nunca podrá realizar la cifra del mensaje M con la clave privada del receptor.

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

19

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

PROTOCOLO: A envía a B un mensaje M

1 A pone el mensaje M en la caja, la cierra con su llavey la envía a B.

2 B recibe la caja, la cierra con su llavey envía a A la caja con las dos cerraduras.

3 A recibe la caja, quita su llave y devuelve a B la caja sólo con la cerradura de B.

4 B recibe la caja, quita su cerradura y puede ver el mensaje M que A puso en el interior de la caja.

El algoritmo del mensaje en la caja

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

20

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

¿Todo bien en el algoritmo de la caja?

Durante la transmisión, el mensaje está protegido de cualquier intruso por lo que existe integridad del mensaje y hay protección contra una ataque pasivo.

El usuario B no puede estar seguro si quien le ha enviado el mensaje M es el usuario A o un impostor. El algoritmo no permite comprobar la autenticidad del emisor pues no detecta suplantación de identidad.

Una ligera modificación del

algoritmo anterior nos permitirá cumplir estos

dos aspectos de la seguridad informática

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

21

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

Claves: eB, nB, dBClaves: eB, nB, dBClaves: eA, nA, dAClaves: eA, nA, dA

Benito Adelaida

C = EdB(M) mod nB

eB, nB: públicas

dB: privada

eA, nA: públicas

dA: privada

Si ahora Benito realiza la operación de cifra con su clave privada dB en el cuerpo nB Adelaida será capaz de comprobar esa cifra ya que posee (entre otras) la clave pública de Benito. Comprueba así

tanto la autenticidad del mensaje como del autor.

Cifrado con clave privada del origen

eB y dB son inversas dentro de un cuerpo Z

eA y dA son inversas dentro de un cuerpo Z

origen destino

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

22

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

Cifrado:

Benito firma un mensaje M a Adelaida

Claves: eB, nB, dB Claves: eA, nA, dA

Benito Adelaida

C = EdB(M) mod nB

Descifrado:

M = EeBEdB(M) mod nBEdB y EeB son inversos

Se comprueba la integridad del origen

Operación de cifra con clave de origen

Clave privada

Claves públicas

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

23

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

Uso de la criptografía asimétrica

¿Qué aplicación tendrán entonces los sistema de criptografía de clave pública o asimétrica?

• Usando la clave pública del destino se hará el intercambio de claves se sesión de una cifra con sistemas simétricos (decenas a centenas de bits).

• Usando la clave privada de origen, se firmará digitalmente un resumen (decenas a centenas de bits) del mensaje obtenido con una función hash.

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

24

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

Gestión de claves

Clave Secreta Clave Pública

Hay que memorizar Sólo es necesario

un número muy alto memorizar la clave

de claves: n2. privada del emisor.

En cuanto a la gestión de claves, serán más eficientes los sistemas

de cifra asimétricos.

Gestión de claves

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

25

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

Longitud y espacio de claves

Clave Secreta Clave Pública

Debido al tipo de Por el algoritmo usado

cifrador usado, la en la cifra, la clave

clave será del orden será del orden de los

de la centena de bits. miles de bits.

En cuanto al espacio de claves, no son comparables los sistemas simétricos con los asimétricos.

128

1024

Espacio de claves

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

26

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

Vida de una clave

Clave Secreta Clave Pública

La duración es muy La duración de la clave

corta. Normalmente pública, que la entrega

se usa como una y gestiona un tercero,

clave de sesión. suele ser larga.

En cuanto a la vida de una clave, en los sistemas simétricos ésta es muchísimo menor que la de las usadas en los asimétricos.

Segundos, minutos Meses, años

Vida de la claves

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

27

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

Si en un sistema de clave secreta, ésta se usa como clave de una sesión que dura muy poco tiempo...

y en este tiempo es imposible romperla... ¿para qué preocuparse entonces?

La confidencialidad de la información tiene una caducidad. Si durante este tiempo alguien puede tener el criptograma e intentar un ataque por fuerza bruta, obtendrá la clave (que es lo menos importante) ... ¡pero también el mensaje secreto!

Vida de la clave y principio de caducidad

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

28

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

Condiciones de la autenticidad:

a) El usuario A deberá protegerse ante mensajes dirigidos a B que un tercer usuario desconocido C introduce por éste. Es la suplantación de identidad o problema de la autenticación del emisor.

b) El usuario A deberá protegerse ante mensajes falsificados por B que asegura haberlos recibido firmados por A. Es la falsificación de documento o problema de la autenticación del mensaje.

El problema de la autenticación

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

29

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

Autenticación

Clave Secreta Clave Pública

Sólo será posible Al haber una clave

autenticar el mensaje pública y otra privada,

con una marca pero se podrá autenticar el

no al emisor. mensaje y al emisor.

En cuanto a la autenticación, los sistemas asimétricos -a diferencia de los simétricos- permiten una firma digital.

Autenticación de origen y destino

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

30

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

Velocidad de cifra

Clave Secreta Clave Pública

La velocidad del La velocidad de cifra

cifrado es muy alta. es muy baja. Se usa

Es el algoritmo de para el intercambio de

cifra del mensaje. clave y la firma digital.

En cuanto a la velocidad de cifra, los sistemas simétricos son de 100 a 1.000 veces más rápidos que los asimétricos.

Cientos deM Bytes/seg

Cientos deK Bytes/seg

Velocidad de cifra

Curso de Seguridad Informática. Tema 8: Introducción a los Criptosistemas Modernos.

31

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

• Confidencialidad• Autenticación parcial• Sin firma digital• Claves:

– Longitud pequeña– Vida corta– Número elevado

• Velocidad alta

• Confidencialidad• Autenticación total• Con firma digital• Claves:

– Longitud grande– Vida larga– Número reducido

• Velocidad baja

Resumen cifra simétrica v/s asimétrica

Cifrado Simétrico Cifrado Asimétrico

Fin del Tema 8