Nothing Special   »   [go: up one dir, main page]

Unidad 03

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 46

1

Seguridad de la Información
Cristian R. Narváez-Guillén
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
Grupo de Investigación en Tecnologías de la Información y Comunicación

Junio, 2021
Loja, Ecuador
Criptografía y Criptoanálisis

1 Algoritmos criptográficos.
Subtema 1.1 Introducción a la cryptografía.
Subtema 1.2 Algoritmos Criptográficos más utilizados

3
Agenda
1 Algoritmos criptográficos.
Subtema 1.1 Introducción a la cryptografía.
Subtema 1.2 Algoritmos Criptográficos más utilizados.
2 Algoritmos de llave Simétrica.
Subtema 2.1 Introducción a los algoritmos de llave simétrica.
Subtema 2.2 Distribución de llaves
3 Algoritmos de llave Asimétrica.
Subtema 3.1 Criptografía de llave pública.
Subtema 3.2 Algotimo RSA.
Subtema 3.3 Ventajas de la criptogradía en llave pública.
Subtema 3.4 Aplicaciones PKC
Subtema 3.5 Llave Pública de Infraestructura.
Subtema 3.6 Certificado de Autoridad.
Subtema 3.7 Certificado Digital.
4. Función criptográfica Hash.
Subtema 4.1 Función Hash.
Subtema 4.2 Hash Populares.
4
Desarrollo

1 Algoritmos criptográficos.
Subtema 1.1 Introducción a la cryptografía.
Subtema 1.2 Algoritmos Criptográficos más utilizados

5
Criptología
Criptografía (Kripto=oculto, graphos=escritura)

Es la ciencia que se encarga de estudiar las distintas técnicas


empleadas para transformar (encriptar o cifrar) la información y
hacerla irreconocible a todos aquellos usuarios no autorizados de
un sistema informático de modo que solo los legítimos
propietarios pueden recuperar (desencriptar o descifrar) la
información original.

Es un mecanismo para garantizar la confidencialidad, la integridad


y la autenticidad de los mensjes y documentos
Criptología
Criptoanálisis

Es la ciencia que se estudia las herramientas y técnicas que


permitan conocer los códigos y sistemas de protección definidos
por la criptografía.

Criptología

Criptología

Criptografía Criptoanálisis
Criptología
Componentes de un sistema de cifrado

Mensaje Algoritmo de Mensaje


en claro encriptación cifrado

Clave
Características de los algoritmos de
encriptación
El algoritmo de cifrado debe ser público. Para poder ser estudiado y
determinar su nivel de seguridad.
La robustez de un sistema depende de la clave utilizada.
La clave actúa como modificador del algoritmo, de esta manera el
algoritmo puede ser reutilizado.
Es diferente la clave de la contraseña.
Tipos de algoritmos de encriptación:
Transposición: Cambiar el orden de los símbolos que forman parte
del texto.
Sustitución: Reemplazan unos símbolos por otros.
Características de los algoritmos de
encriptación
Dentro de la técnica de sustitución:
Sustitución monoalfabética: Cada símbolo se reemplaza solo por
otro símbolo.
Sustitución polialfabética: Diversos caracteres del texto cifrado
representan a un mismo carácter del texto original.
Historia de los sistemas criptográficos
La aplicaciones de los sistemas criptográficos tienen
aplicación principal en guerras y gobierno.

Las primeras prácticas en los griegos y romanos: Uso


del cilindro scytala era empleado por los griegos.
Método Transposición.
Componentes: correa de cuero, cilindro, mensaje
sobre el cuero enrollado. La clave: el diámetro del
cilindro.

El Cifrado César, usada por romanos. Consiste en una


simple sustitución de cada letra del mensaje por otra
distanciada tres posiciones del alfabeto latino.
Método Sustitución.
Historia de los sistemas criptográficos
En los califatos islámicos, en el siglo IX d.C., en
Bagdad nace el moderno criptoanálisis. Cada
lengua tiene una frecuencia característica de
aparición de sus letras. Esto constituyó en la
decadencia de los métodos de sustitución
monoalfabéticos.
En el renacimiento León Batista Alberti, creo el
cifrados en disco. Método de sustitución
polialfabético.
Otro método de este tipo es el del diplomático
francés Vigenereen 1586. Usado 200 años
después y “roto” a mediados del siglo XIX.
Historia de los sistemas criptográficos
En Europa se inicio a dar importancia al cifrado y se usó como
herramientas para los gobiernos en las guerras y en las políticas en
el exterior como mecanismo de poder.
Aparecen los Secretarios (Ministros) de cifra. Felipe II en España
nombra a Luis Valle de la Cerda, quien establece la cifra general (se
usa para la comunicación entre él con sus secretarios, embajadores
y altos militares) y la cifra particular (para un entorno más
reducido) .
En Inglaterra, Walsingham con Isabel I
En Francia, Viete con Enrique III y IV

Isabel I Viete
Historia de los sistemas criptográficos
En el siglo XX aparecen las máquinas de cifrado: ENIGMA.

Usados por el ejército alemán en la Segunda Guerra Mundial.


Historia de los sistemas criptográficos
Otras máquinas similares fueron el TYPEX en Reino Unido y la
Converter M-209 en los Estados Unidos

Typex
Converter M-209
Historia de los sistemas criptográficos
Los inventores de Enigma creían que era infalible. Sin embargo
cometieron numerosos errores:
1. Cadenas de texto predecibles: Mein Furher
2. Utilización de la misma clave por periodos prolongados de
tiempo.
3.Cifrado del mismo texto con claves nuevas y antiguas.
Hasta que un día se apoderaron de una máquina Enigma:
Proceso Criptográfico
Mensaje cifrado

A B
CIFRADO DESCIFRADO

Mensaje de Mensaje de
origen origen
DESCRIPTADO
Interceptado

¿Mensaje de origen?
Algoritmos de encriptación
• ROT13, a cada letra se asigna a un número y se le suma 13,
después se reemplaza el número por otra letra. Si es mayor
de 26 se le resta 26 y se convierte.

“HELLO” 8,5,12,12,15 + 13 = 21,18,25,25,28-26 =“URYYB”

• Entre más bits se usen, es más difícil de descrifrar. El


algoritmo PGP soporta claves de hasta 4,096 bits

• Se requieren 3 días para descifrar una llave de 56 bits, 6


días para 57 bits, 768 días para 64 bits, etc. Las llaves de
128 bits hoy son seguras
Finalidad de la criptografía

* Un buen sistema criptográfico será aquel que ofrezca un


descrifrado imposible pero un encriptado sencillo.

* La finalidad es doble:

• Mantener la confidencialidad del mensaje.

• Garantizar la autenticidad tanto del mensaje como del par


remitente/destinatario..
Cifrado

Definición
– Es el mecanismo para proporcionar confidencialidad a través de funciones
matemáticas aplicadas al mensaje transmitido.

Tipos
• Simétricos o de Llave Privada (DES).

• Asimétricos o de Llave Pública (RSA).

• Híbrido (SSL).
Ventajas del cifrado

§ Protege la información almacenada en la computadora


contra accesos no autorizados

§ Protege la información mientras transita de un sistema de


cómputo a otro

§ Puede detectar y evitar alteraciones accidentales o


intencionales a los datos

§ Puede verificar si el autor de un documento es realmente


quien se cree que es
Desventajas del cifrado

§ No puede prevenir que un agresor borre


intencionalmente todos los datos

§ No es posible saber si está siendo descifrado.

§ Acceder al archivo antes de que sea cifrado o después de


descifrar
Elementos comunes
del cifrado
§ Algoritmo cifrador (cifra y descifra datos)

§ Claves de cifrado

§ Longitud de clave (claves largas)

§ Texto en claro (información a cifrar)

§ Texto cifrado (información después de cifrar)


Algoritmos criptográficos

* Criptografía de clave privada - simétrica


* Ambos participantes comparten una clave (Ej. DES, IDEA)

• Criptografía de clave pública


• Cada participante tiene una clave privada no compartida y una
clave pública que todos conocen

• El mensaje se encripta usando la llave pública y el participante


descifra el mensaje con su clave privada (Ej. RSA de Rivest,
Shamir y Adleman)
Algoritmos criptográficos

• Función Hash o de Digestión del mensaje:


• No involucran el uso de claves

• Determina una suma de verificación única (checksum)


criptográfica sobre el mensaje

• El algoritmo más usado es el MD5 (Message Digest


versión 5)
Sistemas de claves privadas

• RC2
• Cifrador de bloque permite de 1 a 2048 bits

• IDEA – International Data Encryption Algorithm


• Usa una clave de 128 bits, utilizado por el programa PGP
(para e-mail).

• SKIPJACK
• Utilizado por el circuito integrado de cifrado CLIPPER,
utiliza 80 bits
Sistemas de clave privada – DES (Data
Encription Std. IBM-1980)

• Usa las técnicas de confusión y difusión

• Cifra por bloques de 64 bits con una llave secreta de 64 bits


(56 útiles y 8 de paridad)

• Realiza 16 iteraciones y en cada una hace una sustitución y


una permutación con la llave

• En Hardware es más rápido hasta 1Gb/seg.

• La llave privada se puede enviar con cada mensaje


C IFRA DO S IM ETRIC O

es un tipo de cifrado en el que solo se utiliza una clave (una clave secreta) para cifrar
y descifrar la información electrónica.

Este método de cifrado difiere del cifrado asimétrico en el que se utiliza un par de
claves, una pública y otra privada, para cifrar y descifrar mensajes.

Para el cifrado de grado bancario, las claves simétricas deben crearse utilizando un
RNG que esté certificado de acuerdo con los estándares de la industria, como FIPS
140-2 .
TIPOS DE ALGORITMOS DE CIFRADO SIMÉTRICO

Algoritmos de bloques : Las longitudes es tablecidas de bits s e cifran en bloques de datos


electrónicos con el uso de una clave secreta específica.

Algoritmos de flujo: Los datos se cifran a medida que se transmiten en lugar de conservarse en la
memoria del sistema.
EJ EMP LOS DE AL G ORITM OS DE CIFRADO SIMÉTRICO

AES (Estándar de cifrado avanzado) AES-128, AES-192 y AES-256.


DES (Estándar de cifrado de datos)
IDEA (algoritmo internacional de cifrado de datos)
Blowfish (reemplazo directo para DES o IDEA)
RC6 (Rivest Cifrado 6)
RC4 (Rivest Cifrado 4)
¿ SE UTILIZA EL CIFRADO SIMÉTRICO?

La criptografía simétrica se usa normalmente para el cifrado masivo cifrado de grandes cantidades
de datos, por ejemplo, para el cifrado de bases de datos.
Ejemplos de dónde se usa la criptografía simétrica son:
Aplicaciones de pago, como transacciones con tarjeta en las que se debe proteger la PII para
evitar el robo de identidad o cargos fraudulentos
Validaciones para confirmar que el remitente de un mensaje es quien dice
ser.
Generación de números aleatorios o hashing
RSA
Rivest, Shamir y Adleman, allá por 1997.

Se lo denomina asimétrico, o de clave pública, y es uno de los más utilizados en la


actualidad.

De hecho, la mayor parte de los sitios web hoy integran seguridad SSL/TLS, y
permiten la autenticación mediante RSA.
RSA, al ser un cifrador asimétrico, trabaja con dos claves, una pública y una
privada.

Todo el contenido de texto plano, o contenido sin cifrar, que se haya encriptado
con la clave pública, podrá ser descifrado mediante la clave privada, y viceversa,
todo contenido cifrado con la clave privada podrá ser descifrado mediante la clave
pública.
Características RSA

1. Los mensajes enviados se representan numéricamente.


2. El funcionamiento se basa en el producto, conocido, de dos números primos grandes
elegidos aleatoriamente en secreto.
3. Estos números primos son del orden de 10 a la 200, y en aumento.
4. En RSA cada usuario posee dos calves de cifrado: una pública y otra privada.
5. El emisor busca la clave pública del receptor al momento de enviarle un mensaje, cifra
este con esa clave.
6. Una vez que el mensaje cifrado llega al receptor, este se ocupa de descifrarlo usando
su clave privada.
7. Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como
para firmar digitalmente.
Generación de claves
Cifrado y descifrado
Generando las claves rsa

Antes de que podamos enviarle un mensaje a alguien más, ese destinatario


habrá generado las claves. Veamos, matemáticamente, cómo hace este
proceso.
1. Se eligen dos números primos, por ejemplo, p=3 y q=11
2. Calcula el producto n=p*q, en este caso, n=3*11=33
3. Calcula z=(p-1)*(q-1), en nuestro caso: z=( 3 – 1 ) * ( 11 – 1 ) = 20
4. Elige un número primo k, tal que k sea coprimo a z, es decir, que k y z no
tengan ningún divisor común más que el 1. Tenemos varias opciones en
este ejemplo, los valores de k pueden ser 3, 7, 11, 13, 17 o 19. 5 es primo,
pero no es coprimo de z puesto que 20 (z) 5 (k) son divisibles por 5. Elijamos
a k=7, por ejemplo, para simplificarnos los cálculos con un número
pequeño.
5. La clave pública va a ser el conjunto de los números (n,k), es decir, (33,7) en
nuestro ejemplo.
Generando las claves rsa

6. Ahora se calcula la clave privada. Para ello, se elige un número j que


verifique la siguiente ecuación (congruencia lineal):

En este caso:

es decir, un valor que verifique que

sea una división con resto «1«.


Esta ecuación de congruencia tiene infinitos resultados. Para trabajar con
números chicos en este ejemplo, podríamos decir que 21/20 nos devuelve
«algo» con resto 1, por lo que, para este caso particular, (7*j) = 21, de modo
que j=3. Esta es la clave privada.
Cifrando un mensaje

Suponiendo que tenemos un mensaje en texto plano (sin cifrar)


denotado por P, vamos a cifrarlo utilizando esta ecuación matemática:

Donde:
P es el mensaje en texto plano
n y k son la clave pública
E es el mensaje cifrado
Sustituyendo los valores:

Así, elevamos 14 a la potencia de 7, y luego lo dividimos por 33 y


calculamos el resto entero. Calculamos la potencia:
Cifrando un mensaje

Ahora dividimos por 33 (n)

Calculamos el resto entero (nótese el redondeo de decimales)

Por lo tanto, E=20, que es el texto cifrado!


Esto significa que si nuestro mensaje original era el número 14, vamos a
enviarle al destinatario el número 20, que es el número 14 cifrado con
RSA utilizando la clave pública del destinatario. Cualquier intermediario
que «vea» pasar el 20 no podrá obtener, en un tiempo útil (por lo
menos hasta ahora) el valor 14 solo disponiendo del 20 y de la clave
pública del destinatario.
Descifrando el mensaje

Ahora, suponiendo que el destinatario, que sí posee su clave privada,


recibe el mensaje cifrado E=20, ¿cómo hace para obtener el mensaje
original? Recordemos que el destinatario tiene a su clave privada j,
que en nuestro ejemplo, vale j=3.
Realizamos esta operación matemática:

Esta es la operación de descifrado, donde:


E es el mensaje cifrado
j la clave privada
P el mensaje en texto plano
n es parte de la clave pública del destinatario.
Sustituimos los valores:
Descifrando el mensaje

Calculando:

O sea que hay un valor que resulta de dividir a 8000 por 33 (n) y que
devuelva P como resto entero de la división. Veamos:

con resto P, de modo que calculemos este resto:

El resultado entero del cociente es:

Por lo que el resto, P, o el mensaje original en texto plano, será


Seguridad
La seguridad de este algoritmo radica en el problema de la factorización de
números enteros. Los mensajes enviados se representan mediante números, y el
funcionamiento se basa en el producto, conocido, de dos números primos grandes
elegidos al azar y mantenidos en secreto. Actualmente estos primos son del orden
de 10^200, y se prevé que su tamaño crezca con el aumento de la capacidad de
cálculo de los ordenadores.
Como en todo sistema de clave pública, cada usuario posse dos claves de cifrado:
una pública y otra privada. Cuando se quiere enviar un mensaje, el emisor busca la
clave pública del receptor, cifra su mensaje con esa clave, y una vez que el
mensaje cifrado llega al receptor, este se ocupa de descifrarlo usando su clave
privada.
Se cree que RSA será seguro mientras no se conozcan formas rápidas de
descomponer un número grande en producto de primos. La computación cuántica
podría proveer de una solución a este problema de factorización.
Seguridad
RSA basa su seguridad en ser una función computacionalmente
segura, ya que si bien realizar la exponenciación modular es fácil, su
operación inversa, la extracción de raíces del modulo no es factible a
menos que se conozca la factorización de e, clave privada del sistema.
RSA es el más conocido y usado de los sistemas de clave pública, y
también el mas rápido de ellos. Presenta todas las ventajas de los
sistemas asimétricos, incluyendo la firma digital, aunque resulta mas
útil a la hora de implementar la confidencialidad el uso de los sistemas
mixtos para encriptar y enviar la clave simétrica que se usará
posteriormente en la comunicación cifrada.
Vulnerabilidad y ataques

Como mencionamos anteriormente, RSA es muy seguro conceptualmente pero,


posee debilidades en la manera de aplicarlo.
Claves cortas: Se debe tener cuidado al elegir los valores de p y q ya que si estos
son relativamente pequeños, la factorización de n puede ser realizado con la ayuda
de un algoritmo clásico. Por este motivo, se recomienda que los números p y q
tengan la cantidad de 100 dígitos cada uno.
Si elegimos como primos a p = 3797 y q = 7240531 para generar nuestras claves,
obtendremos que n = 27492296207. Aplicando la factorización por divisiones
sucesivas obtendremos la descomposición 27492296207 = 3797 * 7240531. De
esta forma conseguiremos leer cualquier mensaje cifrado mediante p y q.
Aplicaciones en seguridad más
importantes que usan RSA
SSH (Secure Shell). Es un protocolo de red con el que podemos acceder a una
computadora remota, e incluso ejecutar aplicaciones en ella. Permite una
comunicación segura sobre un canal inseguro. Se utiliza RSA para realizar la
conexión, pero para el cifrado de los datos se utilizan procedimientos
simétricos como AES. (Willems, 2009).
SSL (Secure Socket Layer). Es un protocolo de cifrado utilizado en todas las
conexiones https que hay en la Web. Fue desarrollado por Netscape para la
transmisión de datos por Internet en 1994. La versión más utilizada de SSL es
la 3.0 (Gutierrez, 2003).
PGP (Prety Goog Privacy). Es un software de uso privado para cifrar
mensajes electrónicos. Fue desarrollado por Phil Zimmermann, quien al
principio utilizó RSA para el intercambio de claves. Desde 2002 utiliza el
procedimiento de ElGamal (1985).
Gracias
Networking académico:
Correo electrónico: cristian.narvaez@unl.edu.ec
Twitter: @CrisNarvaezG
SlideShare: https://es.slideshare.net/cristian.narvae

28

También podría gustarte