Está en la página 1de 11

SEGURIDAD DE LA INFORMACIÓN

TEMA 1. CRIPTOGRAFÍA ASIMÉTRICA O DE CLAVE PÚBLICA.


1.1.Introducción.

Clasificación de cifra moderna.


➔ Según el tipo de claves.
1. Simétricos o con clave secreta: Existirá una única clave (secreta) que deben compartir
emisor y receptor. Con la misma clave se cifra y se descifra.
2. Asimétricos o con clave pública: Cada usuario crea un par de claves, una privada y otra
pública, inversas dentro de un cuerpo finito. Lo que se cifra en emisión con una clave, se
descifra en recepción solamente con la clave inversa.
➔ Según el tratamiento del mensaje en claro.
1. Cifrado en flujo: El mensaje en claro se cifra bit a bit con la clave.
2. Cifrado en bloque: El mensaje en claro se divide en bloques de algunos bytes, aplicando a
continuación la cifra a cada uno de ellos.

Sistema de cifra asimétrico.


● El emisor transforma el texto en claro M (generalmente un número N) en un criptograma C
mediante un algoritmo, utilizando la clave pública del destinatario.
● El texto en claro o número se ha transmitido al receptor de forma confidencial.
● El receptor para la operación de descifrado, toma como entrada el criptograma C y su
propia clave privada para recuperar el secreto M.
● NOTA: No confundir clave privada (CA) con clave secreta (o compartida) (CS).
● Asimétrico: Se usan claves diferentes (inversas) en ambos extremos.
Algoritmos asimétricos.
● Utilizan dos claves, una pública que comúnmente se llama e (de encrypt) y otra privada
llamada d (de decrypt), inversas dentro de un cuerpo finito. Con una de ellas se cifra y con
la otra se descifra. Con frecuencia nos referiremos a “clave asimétrica” como un conjunto
que contiene, entre otros elementos, la parte publica y la parte privada”.
● La seguridad del sistema reside en la dificultad computacional para obtener la clave privada
a partir de la clave pública si no se conoce un secreto o una trampa, que sólo conoce su
propietario.

Importante. Se cifrarán números, no mensajes.


● La operación característica de la cifra asimétrica será mediante un cifrado exponencial. La
operación a realizar será C = AB mod n.
- n es el cuerpo de cifra (hoy recomendable 2.048 bits).
- B es la clave pública de destino.
- En la práctica A será siempre un número N (no un mensaje M).Y por lo general del
orden de las centenas de bits.
Esto es así porque este tipo de cifra es muy lenta y sería muy costoso en tiempo cifrar o firmar,
por ejemplo mensajes de cientos o miles de kilobytes. No obstante, aunque sólo como ejercicio de
laboratorio, sí podremos cifrar texto formando bloques, tal como se hacía en la cifra simétrica.

1.2.Ventajas y desventajas de la cifra asimétrica (CA) frente a la cifra simétrica


(CS).

Confidencialidad.

➔ Confidencialidad en CS.
La confidencialidad se logrará si se protege la clave secreta compartida (k). Más
adelante, revisaremos algunas técnicas que tratan de garantizar un intercambios
seguro de clave cuando se emplean canales inseguros (Internet).
➔ Confidencialidad en CA.
La confidencialidad se consigue ya que el destinatario podrá descifrar el criptograma C con su
clave privada, que sólo él debería conocer. Ninguna otra clave servirá para descifrar C.

Seguridad.
Un buen sistema de cifrado pone toda la seguridad en la clave y ninguna en el algoritmo, excepto
lógicamente su correcto diseño y código. Es el segundo principio de Kerckhoffs.

➔ Seguridad CS.
Usa una única clave para cifrar en emisión y la misma para descifrar en destino. La seguridad en la
cifra simétrica reside en cuánto de segura sea la clave.
➔ Seguridad CA.
Cada usuario se crea un par de claves llamadas pública y privada, inversas dentro de un cuerpo
finito. La seguridad de la cifra reside en la dificultad computacional de encontrar la clave privada
a partir del conocimiento de la clave pública.

Gestión de claves.¿Cuántas claves necesitamos gestionar?


➔ CS.
El sistema debe memorizar y trabajar con un número muy alto de claves, exactamente n(n-1)/2
claves en donde n es el número de usuarios. Además no es posible la distribución de claves por
canales seguros.
➔ CA.
Sólo es necesario memorizar la clave privada de su propietario. En cuanto a la gestión de claves,
serán mucho más eficientes los sistemas de cifra asimétricos pues manejan un número inferior de
ellas.

Espacio de las claves.¿De qué valor debe ser la clave?


En cuanto al espacio de claves, no son comparables los sistemas simétricos con los asimétricos.
Para atacar un sistema asimétrico NO se buscará en todo el espacio de claves como debería
hacerse en los sistemas simétricos.

➔ CS.
Debido al tipo de cifrador usado, en que normalmente el único ataque viable es por fuerza bruta, la
clave será del orden de centenas de bits. Normalmente un valor entre 128 y 256 bits.
➔ CA.
Por el algoritmo usado en la cifra, basado en un problema matemático de difícil solución para
números grandes, la clave será del orden de miles de bits. En RSA y DH se usan 2.048 bits y en ECC
256 bits. Pero NSA recomienda usar 3.072 y 384 bits.

Vida de las claves.¿Qué duración debería tener la clave?

Dilema.
➔ Pensando en la seguridad. Cuanto más corta, mejor. Menos tiempo para que un potencial
atacante la encuentre.
➔ Pensando en la gestión. Cuanto más duradera, mejor.
El dilema aplica tanto a CS como a CA.
Ejemplos.
➔ LA FNMT (y otras autoridades) emiten claves (pareja publico / privada) certificadas de 4
años de duración.
➔ Algo similar sucede con el DNIe, con duraciones de 5. 10 años, o permanente, según la edad
del titular.
➔ Es frecuente / recomendable cifrar ficheros o todo el disco con una clave simétrica.
Duración a criterio del usuario.
➔ En muchas comunicaciones electrónicas se utilizan claves (simétricas) de un solo uso.
[A título de curiosidad (en este momento) En el protocolo TLS (seguridad web) existen dos fases: 1)
Se utiliza CA para generar una clave secreta a partir de una clave asimétrica (pareja publico /
privada, instalada en el servidor cuya duración se recomienda que sea del orden de 1 año (a
petición del Administrador). 2) Se realizan las transferencias de información con CS utilizando la
clave secreta generada en la fase anterior. Al finalizar la sesión, se destruye.]

Velocidad de cifra. ¿Cuál es la velocidad o tasa de cifra?


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. Por ello los sistemas de cifra asimétricos se usan para el intercambio de claves de
sesión y firma digital (números de sólo centenas de bits) y la cifra de los datos se hace con
sistemas simétricos.
➔ CS.
La velocidad de cifra es muy alta. Del orden de cientos de MegaBytes/segundo. Es el algoritmo
para la cifra del mensaje, la cifra de datos
➔ CA.
La velocidad de cifra es muy baja. Del orden de cientos de KiloBytes/segundo. No se suele utilizar
para cifrar mensajes, pero sí para otras finalidades (intercambio de clave y firma digital).

Resumen. ¿Cuál es mejor?

Integridad y Autenticidad en CA.


Hasta el momento nos hemos ocupado de la Confidencialidad. La Criptografía Simétrica (sola o en
combinación con otras técnicas, tales como las de hash) permite además la protección de la
información en las dimensiones de Integridad y Autenticidad, tal como veremos a lo largo de la
asignatura.

Recordando (Adaptado de MAGERIT v.3) …


• Confidencialidad: ¿Qué daño causaría que conociera una información quien no debe?
• Integridad: ¿Qué perjuicio causaría que una información dato estuviera dañada, o modificada
tanto accidental como deliberadamente?
• Autenticidad: ¿Qué perjuicio causaría no saber exactamente quien hace o ha hecho cada cosa?

1.3.Intercambio de clave de Diffie y Hellman.

Intercambio de claves. El problema -> Cómo hacer llegar al destinatario la clave.


Algunas soluciones:
1. Utilización de técnicas de cifrado asimétrico. Enviar la clave secreta / compartida (K),
cifrada con la clave pública del destinatario. (Tema 2).
2. Algoritmo de Diffie y Hellman. Basado en el problema del logaritmo discreto. (A
continuación).
El problema del logaritmo discreto.
➔ Exponenciación modular. Se elige un primo p grande y dentro de él un generador o raíz primitiva
que llamaremos α, ambos valores serán públicos. Con un valor secreto x se calcula y = αx mod p.
➔ Problema del Logaritmo Discreto. Conocido el resultado y, además de los valores públicos α y el
primo p, será computacionalmente muy difícil encontrar el valor secreto x puesto que: x = logα y
mod p.

El Algoritmo de Diffie-Hellman.
● El comienzo de los sistemas de clave pública se debe al estudio hecho por Whitfied Diffie y
Martin Hellman en noviembre de 1976.
● Investigadores de la Universidad de Stanford.
● Este algoritmo se utiliza para el intercambio de claves entre dos interlocutores A y B. Ambos
seleccionan un número primo p y un generador α de p, valores públicos, y realizan estos pasos:

Ejemplo de clave compartida vía DH.

➔ El inconveniente de este protocolo es que el secreto compartido se conoce a posteriori,


una vez terminado el protocolo.
➔ Variaciones del algoritmo permiten usar este protocolo para enviar un número secreto
previamente conocido, es decir enviar una clave de sesión K generada antes por el emisor.

Pasos en intercambio de DH.

Seguridad en el intercambio DH.


¿Puede un intruso atacar la clave DH?
Un intruso que conozca los valores públicos p y α e intercepte el valor αa mod p que ha enviado Alicia o el
valor αb mod p que ha enviado Bernardo, no podrá descubrir los valores de a de b a no ser que…
➔ Realice un ataque por fuerza bruta.
➔ Se enfrenta al Problema del Logaritmo Discreto PLD.
➔ Realice un ataque “man in the middle”.

Ataque por fuerza bruta a DH.


● Este tipo de ataque siempre es posible aunque resulta costoso.
¿Qué sabe el intruso?
➔ El intruso conoce el valor α = 33 y que p = 1.999 .
➔ Captura el valor que Alicia envía a Bernardo: Valor = 1.343.
➔ Captura el valor que Bernardo envía a Alicia: Valor = 1.991.

El problema del logaritmo discreto en DH.


● Un intruso que escuche en la línea, no podrá conocer la clave intercambiada αab mod p …
● Salvo que se enfrente al Problema del Logaritmo Discreto PLD, computacionalmente
intratable para valores de p grandes del orden o superiores a 1.000 bits, como ya se ha
comentado.
● Efectivamente, si llamamos C a αa mod p, para obtener el valor secreto a de Alicia, el atacante debería
realizar la operación inversa: a = logα C mod p.
● Se trata de un problema NP (No Polinomial) debido a la operación final del módulo p. Si
aumentamos el tamaño de la entrada, el nuevo tiempo de cómputo no es lineal con
respecto a ese aumento.

Características del PLD y seguridad DH.


● En el ejemplo anterior, donde C = 1.343, α = 33 y p =1.999, para encontrar el valor de a podríamos
recorrer todos sus valores posibles: 33? mod 1.999 = 1.343 (con ? = 2, 3, 4, … p-1)
● Y al llegar al valor 47 se obtiene el valor de a que satisface el logaritmo: log33 1.343 mod
1.991 = 47
● Este cálculo es computacionalmente imposible para números grandes.
● Existen diversos algoritmos, más eficientes, para calcular el logaritmo discreto, pero todos
tienen un comportamiento de tipo NP en función del tamaño de p.
● Para conseguir fortaleza en el algoritmo de DH debería además cumplirse:
- Que el número primo p elegido fuese alto (más de 1.000 bits).
- Que el valor α fuese un generador o raíz primitiva del grupo p. En otro caso, la operación αi
mod p (1 ≤ i ≤ p-1) no generaría todos los restos del grupo y esto “facilitaría” el ataque por
fuerza bruta. No obstante, en la práctica esto no se hace: se usa α = 2 o α = 5.

Man in te Middle.

Ejemplo de MITM.
1.4. Algoritmo Extendido de Euclides para el cálculo de inversos

Recordando.
● Como en la criptografía asimétrica existen dos claves inversas entre sí en un cuerpo, se
hará mucho uso de los inversos.
● En el algoritmo RSA, el inverso a calcular será el multiplicativo. Así, la ecuación inv (a, n) = b,
indica que b*a mod n = 1.
● El inv (a, n) existe si y sólo si mcd (a, n) = 1, y es único.
● Si n = 15, el inv (8, 15) sí existe porque 8 = 2x2x2 y 15 = 3x5

● La manera más rápida y lógica de calcular el inverso es mediante el Algoritmo Extendido de


Euclides AEE. Además, la solución de este algoritmo converge rápidamente; por lo general
en menos de 12 pasos.

Algoritmo Extendido de Euclides.


1.5. Algoritmo de Exponenciación Rápida para la cifra.

Operaciones de exponenciación en criptografía.

Algoritmo de Exponenciación Rápida.

También podría gustarte