cifrado de información joaquín de león nuris del cid_edilberto de gracia

32
20 DE MAYO DE 2010 SEGURIDAD INFORMÁTICA | LICENCIATURA EN INGENIERÍA EN SISTEMAS Y COMPUTACIÓN FISC CIFRADO DE INFORMACIÓN

Upload: universidad-tecnologica

Post on 15-Jun-2015

437 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

20 DE MAYO DE 2010

SEGURIDAD INFORMÁTICA | LICENCIATURA EN INGENIERÍA EN SISTEMAS Y COMPUTACIÓN

FISC CIFRADO DE INFORMACIÓN

Page 2: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Universidad Tecnológica de Panamá

Centro Regional de Chiriquí

Facultad de Ingeniería de Sistemas Computacionales

Licenciatura en Ingeniería en Sistemas y Computación

Seguridad en Tecnología de Computación

Parcial #2

Cifrado de Información

Estudiantes:

De Gracia, Edilberto 4-744-2500

De León, Joaquín 4-738-1413

Del Cid, Nuris 4-741-1573

Facilitador:

Profesor René Saldaña

Fecha de Entrega:

Jueves, 20 de junio de 2010.

I Semestre

Page 3: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Índice General

1. Introducción

2. Definiciones

2.1. Criptografía

2.2. Texto Claro y Cifrado

2.3. Cifrador

2.4. Clave

2.5. Dos Categorías

2.6. Servicio de Seguridad

2.7. Confidencialidad del mensaje

2.8. Integridad del mensaje

2.9. Autenticación del mensaje

2.10. No repudio del mensaje

2.11. Autenticación de entidad

2.12. Protocolos de Seguridad en Internet

3. Criptografía con Clave Asimétrica

3.1. Cifradores Tradicionales

3.1.1. Cifradores por Sustitución

3.1.1.1. Cifrador Polialfabético

3.1.1.2. Cifrador Monoalfabético

3.1.2. Cifrador por Desplazamiento

3.1.3. Cifradores por Transposición

3.2. Cifradores Modernos Simples

3.2.1. Cifrador XOR

3.2.2. Cifrador por Rotación

3.2.3. Cifrador por Sustitución_ S-box

3.2.4. Cifrador por Trasposición: P-box

3.3. Cifradores Modernos Iterativos

3.3.1. Data Encription Standard (DES)

3.3.2. Función DES

3.3.3. Triple DES

3.3.4. Advanced Encription Standard (AES)

3.3.5. Otros Cifradores

4. Criptografía con Clave Asimétrica

4.1. RSA

4.2. Diffie-Hellman

5. Recomendaciones

Page 4: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

6. Conclusiones

7. Anexo

7.1. Servicios de Seguridad

7.1.1. Confidencialidad del mensaje

7.1.2. Integridad del mensaje

7.1.3. Autenticación del mensaje

7.1.4. No repudio del mensaje: Firma Digital

7.1.5. Autentificación de entidad o identificación

7.2. Gestión de claves

7.2.1. Distribución de claves simétricas

7.2.2. Distribución de clave pública

8. Referencias Bibliográficas

Page 5: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

1. Introducción

La seguridad es un aspecto muy importante en cualquier red.

La seguridad en la red se consigue principalmente mediante el use de criptografía. La

criptografía, sin embargo, es solo la base de la seguridad. Es necesario

complementarla con servicios de seguridad.

La criptografía, sin embargo, es solo la base de la seguridad.

2. Definiciones

Para poder comprender los temas tratados, se presentan algunos términos y taxonomías

asociados con la criptografía.

2.1. Criptografía

Una palabra de origen griego que significa "escritura secreta". Sin embargo,

actualmente se usa el término para definir la ciencia y el arte de transformar

mensajes para hacerlos seguros e inmunes a ataque. La Figura 1 muestra los

componentes involucrados en la criptografía.

Componentes de la Criptografía 1

2.2. Texto Claro y Cifrado

El mensaje original, antes de ser transformado, se denomina texto en claro. Después

de su transformación, se denomina texto cifrado. Un algoritmo de cifrado transforma

el texto en claro. En texto cifrado; un algoritmo de descifrado transforma el texto

cifrado en texto en claro. El emisor usa el algoritmo de cifrado y el receptor el

algoritmo de descifrado.

Page 6: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

2.3. Cifrador

Los algoritmos de cifrado y descifrado se denominan cifradores. El término

cifrador también se usa para referirse a distintas categorías de algoritmos de

criptografía. No es necesario que cada par emisor receptor tenga su propio

cifrador exclusivo para asegurar la comunicación. Por el contrario, un mismo

cifrador puede servir para millones de pares de comunicación.

2.4. Clave

Es un número (o conjunto de números) con el que opera el algoritmo de cifrado.

Para cifrar un mensaje, es necesario un algoritmo de cifrado, una clave de cifrado

y el texto en claro. Para descifrarlo, hace falta un algoritmo de descifrado, una

clave de descifrado y el texto cifrado.

2.5. Dos Categorías

Se puede dividir a los algoritmos de criptografía (cifradores) en dos grupos:

algoritmos de clave simétrica (también denominados de clave secreta) y de clave

asimétrica (también denominados de clave pública).

2.5.1. Cifrado con clave simétrica

En el cifrado con clave simétrica, se usa la misma clave en ambos extremos de la

comunicación, para cifrar en el emisor y para descifrar en el emisor. La clave es

compartida como se muestra en la Figura.

Cifrado con Clave Simétrica 2

2.5.2. Cifrado con clave asimétrica

En el cifrado con clave asimétrica o pública hay dos claves: clave privada y clave

pública. La clave privada se almacena en el receptor. La clave pública se anuncia

públicamente. La clave pública se usa para cifrar mensajes, por lo que cualquiera

puede enviar un mensaje cifrado con ella. Sin embargo, para descifrar el mensaje

hace falta la clave privada, que solo tiene el receptor, como se muestra en la

Figura.

Page 7: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Cifrado con Clave Asimétrica 3

Para compararlos se puede pensar en una caja con cerradura. En clave simétrica,

la misma llave cierra) abre la caja, por lo que emisor y receptor deben tener la

llave o una copia. En clave asimétrica, el emisor se cierra con una llave, pero para

abrir hacen falta dos llaves.

2.6. Servicio de Seguridad

La criptografía tiene muchas aplicaciones en seguridad, pero son necesarios

servicios de más alto nivel. La seguridad de la red puede proporcionar típicamente

los cinco servicios que se muestran en la Figura. Cuatro de ellos están relacionados

con los mensajes que se intercambian usando la red: confidencialidad. Integridad,

autenticación y no repudio. El quinto proporciona autenticación de entidad o

identificación.

Page 8: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Servicios de seguridad relacionados con el mensaje o entidad 4

2.7. Confidencialidad del mensaje

Confidencialidad del mensaje, o privacidad, significa que el emisor y el receptor

esperan confidencialidad. El mensaje transmitido solo debe tener sentido para el

receptor esperado. Para los demás, el mensaje debe ser basura. Cuando un cliente

se comunica con su banco, espera que la comunicación sea totalmente confi-

dencial.

2.8. Integridad del mensaje

Significa que los datos deben llegar al receptor exactamente igual que fueron

emitidos. No debe haber cambios durante la transmisión, ni accidentales ni

maliciosos. A medida que hay más intercambios monetarios en Internet, la

integridad es crucial. Por ejemplo, sería desastroso que una transferencia de 100 €

terminará siendo una transferencia de 100.000 €. La integridad del mensaje debe

mantenerse en una comunicación segura.

2.9. Autenticación del mensaje

Es un servicio más allá de la integridad del mensaje. En la autenticación del

mensaje, el receptor necesita estar seguro de la identidad del emisor y de que un

impostor no ha enviado un mensaje.

2.10. No repudio del mensaje

Significa que un emisor no debe ser capaz de negar el envío de un mensaje

que efectivamente envió. La carga de la prueba cae sobre el receptor. Por

ejemplo, cuando un cliente envía un mensaje para transferir dinero de una

Page 9: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

cuenta a otra, el banco debe haber comprobado que el cliente ha pedido

realmente la transferencia

2.11. Autenticación de entidad

En la autenticación de entidad (o identificación de usuario) la entidad o

usuario es verificada antes de acceder a los recursos del sistema (por

ejemplo ficheros). Por ejemplo, un estudiante que necesita acceder a los

recursos de la universidad tiene que autenticarse durante el proceso de

entrada. Esto protege los intereses de la universidad y del estudiante.

2.12. Protocolos de Seguridad en Internet

Los aspectos de seguridad anteriores deben aplicarse en los niveles del

modelo Internet. Para ello se usan protocolos que se aplican en los niveles

de red, transporte y aplicación como veremos en este capítulo. En todos

estos protocolos hay aspectos comunes a considerar. Primero es necesario

crear un código de autenticación del mensaje (MAC). Después es necesario

cifrar el mensaje y, probablemente, el MAC. Esto significa que, con

variaciones pequeñas, cada protocolo que veremos toma un paquete del

nivel adecuado y crea un nuevo paquete que está autenticado y cifrado. La

Figura muestra esta idea general.

Observe que la cabecera o la cola del protocolo de seguridad puede estar

incluida o no en el proceso de cifrado. Observe también que algunos

protocolos pueden necesitar más información en el paquete seguro; la

figura muestra solo la idea general.

Un aspecto común en todos estos protocolos son los parámetros de

seguridad. Incluso una estructura simplificada como la de la Figura sugiere

que el emisor y el receptor deben conocer varias piezas de información,

parámetros de seguridad, antes de poderse enviar datos seguros. En

particular, necesita conocer qué algoritmos deben usar para autenticación

y cifrado. Incluso si estos algoritmos estuvieran predefinidos

Page 10: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Estructura común de los protocolos de seguridad 5

para todo el mundo, que no lo están como veremos, el emisor y receptor

necesita al menos dos claves: una para el Mac y otra para el cifrado

descifrado. En otras palabras, la complejidad de estos protocolos no está en

la forma de calcular el Mac o en la forma de cifrar; está en el hecho de que

antes del poder calcular el Mac y realizar cifrado, es necesario crear un

conjunto de parámetros de seguridad entre el emisor y el receptor.

A primera vista, parece como sí usar uno de estos protocolos debiera

involucrar un número infinito de pasos. Para limitar estos pasos se puede

usar cifrado con clave pública sí cada persona tiene un par de claves:

privada y pública. El número de pasos se puede reducir en uno o dos. En la

versión en un paso, se puede usar claves de sesión para crear el Mac y cifrar

juntos datos y Mac. Las claves de sesión y la lista de algoritmos se pueden

enviar con el paquete pero cifrados con clave pública. En la versión con dos

pasos, se establecen primer los parámetros usando cifrado con clave

pública y luego se usan los parámetros de seguridad para enviar los datos.

Esta es la aproximación usada en IPSec y SSL/TLS.

También veremos en este capítulo un protocolo frecuente, la red privada

virtual (VPN), que usa IPSec. Por Ultimo, al final de capítulo, veremos los

cortafuegos, un mecanismo para evítar el ataque sobre la red de la

organización.

3. Criptografía con Clave Asimétrica

La criptografía con clave simétrica comenzó hace miles de años cuando la

gente necesitaba intercambiar secretos. Todavía s e usa cifrado con clave

simétrica en la seguridad de nuestras redes. Sin embargo, los cifradores

actuales son mucho más complejos.

Page 11: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

3.1. Cifradores Tradicionales

Son orientados a carácter. Aunque actualmente están obsoletos, los

cifradores actuales han evolucionado a partir de ellos. Los cifradores

tradicionales de clave simétrica se pueden agrupar en dos grandes

categorías: cifradores por sustitución y cifradores por transposición.

3.1.1. Cifradores por Sustitución

Un cifrador por sustitución cambia un símbolo por otro. Sí los

símbolos del texto en claro son caracteres alfabéticos, se cambia

un carácter con otro.

3.1.1.1. Cifrador Monoalfabético

Un cifrador por sustitución cambia un símbolo por otro. En un

cifrador monoalfabético, un carácter (o un símbolo) en el texto en

claro siempre se cambia por mismo carácter (o símbolo) en el

texto cifrado, independientemente de su posición en el texto. Por

ejemplo sí el algoritmo dice que el carácter A del texto en clar o se

cambia por el carácter D, todos los caracteres A se cambiarán por

caracteres D.

Clasificación de los Cifradores Tradicionales 6

Page 12: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

3.1.1.2. Cifrador Polialfabético

Cada carácter puede tener un sustituto distinto. La

redacción entre un carácter en el texto en claro y un

carácter en el texto cifrado es una re lación uno a muchos.

Por ejemplo, el carácter A se podría cambiar por el carácter

D al principio del texto, pero se podría cambiar por la N en

la mitad. Para conseguir este objetivo, es necesario dividir

el texto en grupos de caracteres y usar un conjunto de

claves. Por ejemplo, se puede dividir el texto "esto es

sencillo" en grupos de 3 caracteres y luego aplicar el cifrado

usando un conjunto de 3 claves. Luego se puede repetir el

procedimiento para los siguientes 3 caracteres.

3.1.2. Cifrador por Desplazamiento

El cifrado monoalfabético más sencillo. Con este cifrador, el algoritmo de

cifrado es "desplazar clave caracteres hacia abajo", donde clave es igual a

algún número. El algoritmo de descifrado es "desplazar clave caracteres

hacia arriba". Por ejemplo, si la clave es 5, el algoritmo de cifrado es

"desplazar cinco caracteres hacia abajo" (hacia el final de: alfabeto). El

algoritmo de descifrado es "desplazar cinco caracteres hacia arriba" (hacia

el comienzo del alfabeto); por supuesto, si se alcanza el final o el principio

del alfabeto, se empieza nuevo ciclo.

Use el cifrador por desplazamiento con clave = 15 para cifrar el mensaje

"HELLO". Solución:

Se cifra un carácter cada vez. Cada carácter es desplazado 15 caracteres

hacia abajo. La letra H se cifra como W. La letra E se cifra como T. La L se

cifra como A. La 0 se cifra como D. El resultado final del cifrado es "WTAAD"

Page 13: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Cifrador de Desplazamiento para la Palabra “Hello” 7

3.1.3. Cifradores por Transposición

No hay sustitución de caracteres; en lugar de eso se cambian sus

posiciones. Se reordena los símbolos de un bloque de símbolos.

En un cifrador por transposición, la clave es una función de

proyección entre la oposición de los símbolos en el texto en claro

y el texto cifrado. Por ejemplo:

Texto en claro: p e p o Texto cifrado: e o p p

e -> 0

o -> 1

p -> 2

p -> 3

Clave: 0123

En descifrado, se mueve el carácter de la posición dos a la

posición una, el carácter de la posición cuatro a la posición dos,

etc. En el descifrado, se hace lo contrario. Observe que, para que

sea más efectivo, la clave debería ser larga, lo que significa cifrar

y descifrar grandes bloques de datos.

Page 14: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

3.2. Cifradores Modernos Simples

Deben ser orientados a bit. Esto es así porque la información a cifrar no

es solo texto; también puede tener números, gráficos, audio y datos de

vídeo. Es conveniente convertir estos tipos de datos en un flujo de bits,

cifrar el flujo y luego enviar el flu jo cifrado. Además, cuando el texto se

trata a nivel de bit, cada carácter se sustituye por 8 (o 16) bits, lo que

significa que el número de símbolos es 8 (o 16). Trabajar con bits

proporciona más seguridad que trabajar con caracteres. Un cifrador

simétrico moderno es una combinación de cifradores simples.

3.2.1. Cifrador XOR

Una operación XOR necesita dos entradas, el texto en claro y la

clave. En otras palabras, una de las entradas es el bloque a cifrar y

la otra entrada es la clave; el resultado es el bloque cifrado.

Observe que en un cifrador XOR el tamaño de la clave, el texto en

claro, y el del texto cifrado son siempre el mismo.

Cifrador de Transposición 8

Cifrador de XOR 9

Page 15: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

El cifrado XOR es, como su nombre indica, un algoritmo de cifrado simple,

basado en los siguientes conceptos:

A 0 = A,

A A = 0,

(B A) A = B 0 = B,

Dónde es una operación XOR (OR exclusivo). Una cadena de texto puede

ser cifrada aplicando el operador de bit XOR sobre cada uno de los caracteres

utilizando una clave. Para descifrar la salida, solo hay que volver a aplicar el

operador XOR con la misma clave.

Por ejemplo, la cadena (01010111 01101001 01101011 01101001 en 8-

bit ASCII) puede ser cifrada con la clave 11110011 de la siguiente manera:

Cifrado:

Descifrar:

3.2.2. Cifrador por Rotación

Los bits se rotan hacia la izquierda. El cifrador por rotación puede tener clave

o no. En la rotación con clave, el valor de la clave es el número de rotaciones;

en la rotación sin clave, el número de rotaciones es fijo.

El cifrador por rotación tiene una propiedad interesante. Si la longitud del

flujo original es N, después de N rotaciones se obtiene el flujo de entrada

original. Esto significa que es inútil aplicar más de N-1 rotación En otras

palabras, el número de rotaciones debe estar entre 1 y N-1.

El algoritmo de descifrado para el cifrador por rotación usa la misma clave y

la dirección opuesta. Y se usa rotación a la derecha para el descifrado.

Page 16: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

La clave en un cifrado de rotación está compuesto por el tamaño del bloque

y el ángulo de rotación. Se puede girar a la izquierda o hacia la derecha por

el 90 °, 180 ° o 270 °. Si el texto "KURZERTEXT" debe ser codificada y

tenemos un tamaño de bloque de 5, entonces el texto se asigna a bloques

como sigue:

90° RKTUERXZTE 180 ° TXETREZRUK 270 ° ETZXREUTKR

3.2.3. Cifrador por Sustitución: S-box

Una S-box (sustitución box) paraleliza los cifradores de sustitución

tradicionales para caracteres. La de una S-box es un flujo de bits con longitud

N; la salida es otro flujo de bits con longitud M, donde no son necesariamente

iguales.

La S-box normalmente no tiene clave y se usa como una etapa intermedia en

cifrado o descifrado. La función que hace corresponder la entrada con la

salida se puede definir matemáticamente o con tabla.

Dada una entrada de 6 bits, la salida de 4 bits se encuentra seleccionando la

fila de los dos bits externos y la columna de los 4 internos. Por ejemplo, una

entrada "011011" tiene como bits externos "01" y "1101" como bits internos.

La correspondiente salida sería "1001".

Cifrador por Sustitución S-box 10

Page 17: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Entrada de 6 bits 11

3.2.4. Cifrador por Trasposición: P-box

Una P-box (permutation box) para bits paraleliza el cifrador por

transposición tradicional de caracteres. Realiza la transposición a

nivel de bit. Se puede implementar en software o hardware, pero

el hardware es más rápido. P-boxes, como las S-boxes,

normalmente no tienen clave. Se pueden presentar tres tipos de

permutaciones en las P-boxes: permutación directa, permutación

por expansión y permutación por compresión.

Un cifrador por permutación directa tiene el mismo número de

entradas que salidas. En uno de expansión, el número de puertas

de salida es mayor que el número de puertas de entrada. En uno

por compresión, el número de puertas de salida es menor que el

número de puertas de entrada.

Page 18: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

3.3. Cifradores Modernos Iterativos

Los cifradores actuales se denominan cifradores iterativos, porque tienen

múltiples iteraciones, donde cada iteración es un cifrador complejo compuesto

por varios cifradores simples. La clave usada en cada iteración es un subconjunto

o variación de la clave general denominada clave de iteración. Si el cifrador tiene

N iteraciones, un generador de claves produce N claves, Kl , K2, ..., KN.

Estos cifradores se denominan cifradores de bloque porque dividen el texto en

claro en bloques y usan la misma clave para cifrar y descifrar los bloques.

3.3.1. Data Encription Standard (DES)

Un cifrador de bloque complejo es el Data Encription Standard (DES). El

algoritmo cifra un bloque del texto en claro de 64 bits usando una clave de 64

bits.

DES tiene dos bloques de transposición (P-boxes) y 16 cifradores de iteración

complejos (repetidos). Aunque los 16 cifradores de iteración complejos son

conceptualmente el mismo, cada uno usa una clave distinta derivada de la

clave original.

Cifradores por Permutación 12

Page 19: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Las permutaciones inicial y final son permutaciones directas sin clave y son

inversas entre sí. La permutación toma un valor de 64 bits de entrada y los

cambia de acuerdo a los valores definidos.

3.3.1.1. Función DES

El corazón de DES es la función DES. Esta función aplica una clave de

48 bits a los 32 bits más a la derecha Ri para producir una salida de

32 bits. Esta función está compuesta de cuatro operaciones: un XOR,

una permutación por expansión, un grupo de S-boxes y una

permutación directa.

Función DES 14

DES 13

Page 20: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

3.3.1.2. Triple DES

Los críticos de DES se quejan de que la clave es demasiado corta.

Para alargar la clave, se implementó Triple DES, o 3DES. Este sistema

usa tres bloques DES seguidos con una clave para cada bloque. El

bloque descifrado usa una combinación de DES cifrado-descifrado-

cifrado, mientras que el bloque de descifrado usa una combinación

descifrado-cifrado-descifrado. Hay dos versiones distintas en uso:

con dos claves y con tres claves. El 3DES con dos claves se diseñó

para hacer el tamaño de clave 112 bits y proteger a DES de ataques

como el de intrusos. En esta versión la primera clave y la tercera son

la misma (K1=K3). Tiene la ventaja de que un texto cifrado con un

bloque DES sencillo puede ser descifrado con el nuevo método. Sólo

hay que poner todas las claves iguales a K1. Muchos algoritmos usan

un cifrador 3DES con tres claves, lo que incrementa el tamaño de la

clave hasta 168 bits.

Triple DES 15

3.3.2. Advanced Encription Standard (AES)

Fue diseñado porque la clave, de DES era demasiado pequeña. Aunque

3DES aumentaba el tamaño de la clave, el proceso era demasiado lento. El

Page 21: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

National Institute of Standards and Technology (NIST) eligió el algoritmo

Rinjdael, denominado así por sus dos inventores belgas, Vincent Rijmen y

Joan Daemen, como la base de AES. AES es un cifrador iterativo muy

complejo diseñado con tres tamaños de clave: 128, 192 y 256 bits. La

configuración es distinta según el tamaño del bloque de datos de entrada,

el número de vueltas y el tamaño de la clave.

Configuración de AES 16

La diferencia está en la generación de claves. Hay una operación inicial XOR

seguida por 10 cifradores iterativos. La última vuelta es ligeramente distinta

de las anteriores; se pierde una operación. Aunque los 10 bloques de

iteración son casi idénticos, cada uno usa una clave distinta derivada de la

clave original.

AES 17

Page 22: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Estructura de cada iteración Cada iteración de AES, excepto la última, es un

cifrador complejo con cuatro operaciones reversibles. La última iteración

solo tiene 3 operaciones.

Estructura de Cada Iteración 18

AES 19

Page 23: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

3.3.3. Otros Cifradores

Durante las últimas dos décadas se han diseñado y usado unos pocos

cifradores de bloque simétricos. La mayoría de ellos tienen características

similares a DES y AES. La diferencia está normalmente en el tamaño de

bloque o clave, el número de iteraciones y las funciones usadas. Los

principios son los mismos. Algunos de estos cifradores son: IDEA, Blowfish,

CAST-128 y RC5.

4. Criptografía con Clave Asimétrica

En la sección anterior hemos visto la criptografía con clave simétrica. En esta secci6n

trataremos la criptografía con clave asimétrica (clave pública). Como mencionamos

antes, una clave asimétrica (o clave pública) cifra usando dos claves: una privada y una

pública. Veremos dos algoritmos: RSA y Diffie-Hellman.

4.1. RSA

El algoritmo más frecuente de clave pública es RSA, denominado así por sus inventores Rivest, Shamir y Aldeman (RSA). Usa dos números, e y d, como claves pública y privada, como se muestra en la Figura.

En RSA, e y n son pithlicos; d y φ se mantienen secretos.

Las dos claves, e y d, tienen una relación especial entre si, pero la discusión de esta

relación esta fuera del ámbito de este libro. Solo se muestra como calcular las

claves, pero sin demostración.

Selección de claves

El receptor usa los pasos siguientes para seleccionar las claves pública y privada:

Page 24: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

1. Elige dos números primos muy grandes, p y q. Recuerde que un número

primo es uno que solo puede ser dividido por 1 y por si mismo.

2. multiplica los dos números primos anteriores para hallar n, el módulo

para cifrado y descifrado. En otras palabras, n =p x q.

3. Calcula otro número = (p — 1) x (q — 1).

4. Elije un número aleatorio e y calcula d, de forma que dx e= I mod .

5. Anuncia e y n al público; mantiene y d secretos.

Cifrado

Cualquiera que quiera enviar un mensaje al receptor puede usar n y e. Por

ejemplo, si un emisor necesita enviar un mensaje, puede cambiar su mensaje,

habitualmente pequeño, a un entero. Este es el texto en Luego calcula el texto

cifrado usando e y n.

C = P (mod n)

El emisor envía C, el texto cifrado, al receptor.

Descifrado

El receptor mantiene y d privados. Cuando recibe el texto cifrado, usa su clave

privada d para descifrar mensaje.

P = Cd (mod n)

Restricción

Para que RSA funcione, el valor de P debe ser menor que el valor de n. Si P es

un número muy grande, texto en claro debe ser dividido en bloques para hacer

que P sea menor que n.

Ejemplo

El receptor elije 7 y 11 como p y q y calcula n = 7 • 11 = 77. El valor de = (7-1)

(11-1) o 60. Ahora elije dos claves. e y d. Si elije que e sea 13, entonces d es 37.

Imagine ahora que alguien envía el texto en claro 5 al receptor. Usa la clave pública

13 para cifrar 5.

Page 25: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Texto en claro: 5

C = 5^13 mod 77 = 26 Texto cifrado: 26

El receptor recibe el texto cifrado 26 y usa la clave privada 37 para descifrar

el texto cifrado:

Texto cifrado: 26

P = 26^37 mod 77= 5 Texto en claro: 5

El texto en claro 5 enviado es recibido como texto en claro por el receptor.

Aplicaciones

Aunque RSA se puede usar para cifrar y descifrar mensajes, es muy lento si el

mensaje es largo. Por tanto, RSA es Mil para mensajes cortos, tal como pequeños

resúmenes de mensajes o una clave simétrica a ser usada en un sistema

criptográfico de clave simétrica. En particular, veremos que RSA se usa en firmas

digitales y otros criptosistema que a menudo necesitan cifrar un mensaje pequeño

sin tener acceso a una clave simetrice. Como veremos más tarde, RSA también se

usa para autenticación.

4.2. Diffie-Hellman

RSA es un sistema criptográfico de clave pública usado para cifrar y descifrar

claves simétricas. Por otro lado, Diffie-Hellman se diseñó originalmente para

intercambiar claves. En el criptosistema de Diffie-Hellman, dos partes crean una

clave de sesión simétrica para intercambiar datos sin tener que recordar o

almacenar la clave para uso futuro. No tienen que reunirse para ponerse de

acuerdo sobre la clave; se puede hacer por Internet. Veamos cómo funciona el

protocolo cuando las dos panes necesitan una clave simétrica para comunicarse.

Antes de establecer una clave simétrica, ambas panes deben elegir dos números p

y g. El primer número, p, es un número primo grande del orden de los 300 dígitos

decimales (1024 bits). El segundo número es un número aleatorio. Estos dos

números no deben ser confidenciales. Se pueden enviar a través de Internet.

Procedimiento

La Figura muestra el procedimiento.

Page 26: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Como se puede ver, tanto el receptor como el emisor alcanzan el mismo valor (K) sin que el receptor conozca x y sin que el emisor conozca el valor de y. La clave simétrica (compartida) en el protocolo de Diffie-Hellman es K = g^xy mod p. Los pasos que sigue son los siguientes:

Paso 1: El emisor elije un número aleatorio grande x y calcula R1 = g^x mod p. Paso 2: El receptor elije otro número aleatorio grande y calcula R2 = g^y mod p. Paso 3: El emisor envía R1 al receptor. Observe que el emisor no envía el valor de x; solo envía R1. Paso 4: El receptor envía R2 al emisor. Observe que el receptor no envía el valor de y; solo envía R2. Paso 5: El emisor calcula K = (R2)^x mod p. Paso 6: El receptor calcula K= (R1)^y mod p.

La clave simétrica para la sesión es K.

Ejemplo Vamos a hacer un ejemplo trivial para que el procedimiento quede claro. Nuestro ejemplo usa números pequeños, pero observe que en una situación real, los números son muy grandes. Asuma que g = 7 y p = 23. Los pasos son los siguientes:

1. El emisor elije x = 3 y calcula R1 = 7^3 mod 23 = 21. 2. El receptor elije y 6 y calcula R2= 7^6 mod 23 = 4.

Page 27: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

3. El emisor envía 21 al receptor. 4. El receptor envía 4 al emisor. 5. El emisor calcula la clave simétrica K= (4)^3 mod 23 = 18. 6. El receptor calcula la clave simétrica K= (21)^6 mod 23 = 18.

El valor de K es el mismo para el emisor y el receptor; g^xy mod p= 7^18 mod 23 = 18. Ataque por intrusos (Man in the middle attack, MITM) Diffie-Hellman es un algoritmo de creaci6n de clave simétrico muy sofisticado. Si x e y son números grandes, es extremadamente difícil para un intruso saber la clave, conociendo solo p y g. Un intruso necesita determinar x e y si se intercepta R1 y R2. Pero hallar x a partir de R1 e y a partir de R2 es una tarea difícil incluso una computadora sofisticado necesitaría años de intentos sobre números distintos. Además, el emisor el receptor cambiarán la clave la próxima vez que se comuniquen. Sin embargo, el protocolo tiene una debilidad. El intenso no quiere hallar el valor de x e y para atacar el protocolo. Puede engañar al emisor y al receptor creando dos claves: una entre el y el emisor y otra entre en y el receptor. Esta situación se denomina ataque por intruso (man in the middle) porque el intruso se sitúa en me.: e intercepta R1, enviado del emisor al receptor, y R2, enviado del receptor al emisor. También se conoce el ataque de la brigada de la cubeta porque se parece a una línea de voluntarios pasándose una cubeta de agua de una persona a otra. Este ataque se puede evitar si el emisor y el receptor realizan primero una autenticación entre si.

5. Conclusiones

El cifrado y descifrado proporciona el sector o confidencialidad, pero no

integridad.

Gracias a los principales algoritmos de cifrado se han podido generar nuevas

técnicas de seguridad que nos ayudan a mejorar la integridad y la seguridad de

la información enviada y recibida.

Page 28: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Las claves públicas, al igual que las secretas, deben ser distribuidas para ser

útiles.

El cifrado y descifrado ayuda a los usuarios de internet tener seguridad de que

sus datos puedan mantenerse seguros y que nadie podrá robarles la

información tan sencillo, ya que el internet no es seguro en ningún sentido.

La razón por la cual la criptografía simétrica sea todavía el método más

dominante para la confidencionalidad del mensaje es su eficiencia. Para un

mensaje largo, el cifrado con clave asimétrica es mucho más eficiente que el

cifrado con clave simétrica.

Ventajas de la criptografía asimétrica:

o La mayor ventaja de la criptografía asimétrica es que se puede cifrar

con una clave y descifrar con la otra, pero este sistema tiene bastantes

desventajas:

o Para una misma longitud de clave y mensaje se necesita mayor tiempo

de proceso.

o Las claves deben ser de mayor tamaño que las simétricas.

o El mensaje cifrado ocupa más espacio que el original.

6. Resumen

La Criptografía es la ciencia y el arte de transformar mensajes para hacerlos seguros e

inmunes a ataque.

El texto claro es el mensaje original antes de la transformación; el texto cifrado es el

mensaje después de la transformación.

Un algoritmo de cifrado transforma el texto en claro en texto cifrado; un algoritmo de

descifrado transforma texto cifrado en texto en claro.

Un cifrador es una combinación de un algoritmo de cifrado y de descifrado.

La clave es un número de un conjunto de números sobre la que opera el cifrador.

Page 29: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

Se puede dividir los cifradores en dos amplias categorías: clave simétrica y clave

asimétrica. En los primeros, el emisor y el receptor usan la misma clave. La clave se

denomina clave secreta. En los segundos, se usa un par de claves. El emisor usa la clave

pública; el receptor usa la clave privada.

Un cifrador por sustitución reemplaza un carácter por otro carácter. Se pueden

clasificar en dos grandes categorías: monoalfabéticos y polialfabéticos.

Un cifrador moderno es habitualmente un cifrador iterativo; cada iteración es un

cifrador complejo formado por una combinación de cifradores simples.

DES es un método de clave simétrica adoptado por el gobierno de EE.UU. Tiene un

bloque inicial y final de permutación y 16 iteraciones.

AES es un cifrador basado en el algoritmo Rinjdael que usa un bloque de datos de 128

bits. AES tiene tres configuraciones distintas: 10 iteraciones con clave de 120 bits, 12

iteraciones con clave de 192 bits y 14 iteraciones con clave de 256 bits.

Un método criptográfico de clave pública usado habitualmente es el algoritmo RSA,

inventado por Rivest, Shamir y Adleman.

El método de Diffie-Hellman proporciona una clave de sesión para una vez para dos

partes.

La criptografía puede proporcionar cinco servicios: cuatro para mensajes

(confidencialidad, integridad, autenticación y no repudio) y uno para entidades

(autenticación).

7. Anexo

7.1. Servicios de Seguridad

7.1.1. Confidencialidad del mensaje

El mensaje debe ser cifrado en el sitio del emisor y descifrado en el sitio del

receptor. Es decir, el mensaje debe ser ininteligible para personas no

autorizadas. Una buena técnica de privacidad garantiza en gran parte que

un intruso potencial (un fisgón) no puede comprender los contenidos del

mensaje. Esto se puede conseguir usando criptografía simétrica o

asimétrica.

Page 30: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

7.1.2. Integridad del mensaje

El cifrado y descifrado proporciona el sector o confidencialidad, pero no

integridad. Sin embrago en ocasiones puede ser no necesario el secreto,

pero en lugar es necesario tener integridad. El mensaje necesita ser seguro

ante falsificaciones, especialmente por terceras personas.

7.1.3. Autenticación del mensaje

Una función hash garantiza la integridad del mensaje. Garantiza que el

mensaje no ha sido cambiado. Sin embargo una función hash no identifica

al emisor del mensaje. Cuando una persona envía un mensaje a otra, esta

última necesita saber de quién bien el mensaje. Par proporcionar

autenticación del mensaje, el emisor debe proporcionar una prueba de que

es él mismo y no un impostor. Esta función se denomina código de

detección de modificación (Mensaje detection code MDC).

Para proporcionar autenticación del mensaje es necesario cambiar el código

de detección de modificación por un código de autenticación del mensaje

(mensaje authentication code MAC).

Una función hash crea un resumen a partir de un mensaje, pero debe

cumplir tres criterios: un sentido, resistencia a colisión débil y resistencia a

colisión fuerte.

7.1.4. No repudio del mensaje: Firma Digital

Aunque un MAC puede proporcionar integridad y autenticación del

mensaje, tiene un inconveniente. Necesita una clave simétrica que haya

sido acordada entre el emisor y el receptor. Por el contrario, una firma

digital puede usar un par de claves asimétricas (una pública y una privada).

Cuando un emisor A envía un mensaje a un receptor B, éste debe estar

seguro de que el mensaje vienen del emisor A y no de cualquier otro. El

receptor puede pedir a A que firme el mensaje electrónicamente. En otras

palabras, una firma digital puede demostrar la autenticidad de A como

emisor del mensaje.

La firma digital proporciona integridad del mensaje, autenticación y no

repudio. La firma digital no puede proporcionar confidencialidad para el

mensaje. Si es necesaria la confidencialidad, se debe aplicar un sistema

criptográfico en el esquema.

Firma digital necesita un sistema de clave asimétrica.

Page 31: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

7.1.5. Autentificación de entidad o identificación

La autenticación de entidad es una técnica diseñada para permitir a una

parte probar la identidad de otra parte. Una entidad puede ser una

persona, un proceso, un cliente o un servidor. La entidad cuya identidad

debe ser demostrada se denomina el solicitante (claimant); la parte que

trata de demostrar la identidad del solicitante se denomina verificador

(verifier). Cuando B trata de demostrar la identidad de A, A es el solicitante

y B el verificador.

En la autenticación de entidad, un solicitante demuestra su identidad al

verificador usando uno de estos tipos de testimonio: algo conocido, algo

poseído o algo inherente.

7.2. Gestión de claves

7.2.1. Distribución de claves simétricas

Hemos visto que el cifrado con clave simétrica es más eficiente que el

cifrado con clave asimétrica cuando es necesario trabajar con grandes

mensajes.

El número de claves no es el único problema; la distribución es otro. Si A y B

quieren comunicarse, necesitan intercambiar de alguna forma una clave

secreta, si A quiere con un millón de personas ¿cómo puede intercambiar

un millón de claves con ellos? Usar internet no es definitivamente un

método seguro. Es obvio que se necesita una forma eficiente de mantener y

distribuir claves secretas.

7.2.2. Distribución de clave pública

En la criptografía con clave simétrica, la gente no necesita conocer una

clave compartida. Si A quiere enviar un mensaje a B, sólo necesita conocer

la clave pública de B, que está abierta al público y disponible para todo el

mundo. Si B necesita enviar un mensaje a A, sólo necesita conocer la clave

pública de A, que también es conocida por todo el mundo. En la criptografía

con clave pública rodo el mundo guarda una clave privada y anuncia una

clave pública.

Las claves públicas, al igual que las secretas, deben ser distribuidas para ser

útiles.

Page 32: Cifrado de información joaquín de león nuris del cid_edilberto de gracia

8. Referencias Bibliográficas

Transmisión de datos y redes de comunicación 4ta Edición. Capítulo 26

o Behrouz A. Forouzan

o Mc Graw Hill

http://es.wikipedia.org/wiki/Advanced_Encryption_Standard