Métodos Encriptación

Anuncio
Métodos Encriptación
Tópicos en Sistemas de Computación
Módulo de Seguridad
Temario

Introducción

Breve historia

Algoritmos simétricos

Algoritmos asimétricos

Protocolos seguros

Ejemplos
Introducción

¿Porqué es necesario la criptografía?


Para transmitir un mensaje en forma segura a
través de un medio inseguro
Definición según la RAE (criptografía):

”el arte de escribir con clave secreta o de

modo enigmático”
Definición interesante y llamativa pero poco
acorde a nuestros tiempos
Problemas con la definición

Ya no es un arte

No solo se escriben documentos



Supone el uso de UNA clave. Actualmente se
utilizan 2 o más claves
No necesariamente la clave debe ser secreta.
Actualmente la infraestructura PKI utiliza una
clave que es pública
Escribir en forma enigmática. Escribir en
binario no es enigmático para un computador
Mejor definición


”Rama inicial de las Matemáticas y en la actualidad
también de las TICs, que hace uso de métodos y
técnicas con el objeto principal de cifrar, y por tanto
proteger, un mensaje o archivo por medio de un
algoritmo, usando una o más claves.”
Permite asegurar la:

Confidencialidad

Integridad

Autenticidad (no repudio)
Breve Historia

Se cree que su origen se remonta a los
romanos

Ejemplo el cifrado de César

Cifrado por desplazamiento o sustitución
Breve Historia

No hubo mayor desarrollo hasta la segunda
guerra mundial con la aparición del ENIGMA

Máquina usada por los alemanes para el cifrado y
descifrado de sus mensajes
Breve Historia

Criptografía moderna


Se considera su inicio con la aparición de las
publicaciones de Claude Shanon sobre criptografía
matemática y teoría de información y comunicación
En el año 70 surge el DES




Data Encryption Standard
Estándard de cifrado emitido por el NIST
Suplantado por el AES el año 2001 luego de que se
quebrara por ataque de fuerza bruta
Aparición de algoritmos de clave pública RSA en
1977
Algotimos Simétricos

Conocida como criptografía de clave privada

Emisor y receptor comparten la misma clave
Algoritmos simétricos


Existirá una única clave (secreta) que deben
compartir emisor y receptor.
Con la misma clave se cifra y se descifra por lo
que la seguridad reside en mantener dicha
clave en secreto
Algotimos Simétricos


Existen 3 familias de algoritmos simétricos

Algoritmos simétricos de bloque

Algoritmos simétricos de flujo (stream)

Funciones HASH
Los más conocidos son los algoritmos de
bloque

El más conocido es el cifrado tipo Feistel
Cifrado tipo Feistel

Horst Feistel: inventor (IBM) del algoritmo
LUCIFER a comienzos de los años 70. El
algoritmo fue utilizado por el Reino Unido. En
1974 se propone a la NSA como estándar y en
ese año dará origen al DES.
Dado un bloque de N bits (típico 64) éste
se dividirá en dos mitades.
●Existirá una función unidireccional F
(muy difícil de invertir).
●Se realizan operaciones con la clave ki
sólo con una mitad del bloque, y se
permutan en cada vuelta las dos mitades,
operación que se repite durante n vueltas.
●
Cifrados de bloques más
conocidos
Algoritmo
Bloque (bits)
Lucifer
Clave (bits)
Vueltas
128
128
16
DES
64
56
16
Loki
64
64
16
RC2
64
variable
--
CAST
64
64
8
Blowfish
64
variable
16
IDEA
64
128
8
Skipjack
64
Rijndael
128
80
32

128 o más
flexible

Características





Lucifer: algoritmo original tipo Feistel usado a comienzos de los
años 70 por en el Reino Unido y que posteriormente dará lugar
al DES.
DES: algoritmo tipo Feistel que se convirtió en estándar durante
casi treinta años. Hoy es vulnerable por su pequeña longitud de
clave y ha dejado de ser estándar mundial.
Loki: algoritmo australiano similar al DES, también de tipo
Feistel.
RC2: algoritmo propuesto por Ron Rivest y que se incluye en
navegadores de Internet desde 1999.
CAST: algoritmo canadiense tipo Feistel que se ofrece como
uno de los algoritmos de cifra en últimas versiones de PGP.
Características




Blowfish: algoritmo de tipo Feistel propuesto por Bruce
Schneier.
IDEA: algoritmo europeo usado principalmente en el correo
electrónico PGP.
Skipjack: propuesta de nuevo estándar en USA a finales de los
90 para comunicaciones oficiales (tiene puerta trasera).
Rijndael: nuevo estándar mundial desde finales de 2001,
conocido como AES, Advanced Encryption Standard.
Algorimos simétricos de flujo

Usados para flujos de datos

Ej. WEP, WAP

Se utiliza cifrado bit a bit o byte a byte

Deben ser rápidos

Independientes de los bloques tránsmitidos
Funciones HASH




Herramienta fundamental en la criptografía
Usadas para resolver el problema de la
integridad, autenticidad y origen del mensaje
Muy usado en la firma digital, pues genera un
”resúmen” de un documento, de largo fijo y
único
Las funcionas HASH más usadas son:

MD5

SHA-1
Funciones HASH
Propiedades de funciones HASH

h(M) será segura si tiene las siguientes
características:
1)Unidireccionalidad: conocido un resumen h(M), debe ser
computacionalmente imposible encontrar M a partir de dicho
resumen.
2)Compresión: a partir de un mensaje de cualquier longitud, el
resumen h(M) debe tener una longitud fija. Lo normal es que
la longitud de h(M) sea menor que el mensaje M.
3)Facilidad de cálculo: debe ser fácil calcular h(M) a partir de
un mensaje M.
4)Difusión: el resumen h(M) debe ser una función compleja de
todos los bits del mensaje M: si se modifica un solo bit del
mensaje M, el hash h(M) debería cambiar la mitad de sus
bits aproximadamente.
Pros algoritmos simétricos




El emisor y el receptor comparten una misma
clave.
La seguridad depende sólo del secreto de la
clave.
La velocidad de cifra es muy alta y los sistemas
con un espacio de clave con cientos de bits son
muy seguros.
Permitirán autenticar los mensajes con MACs.
Contras


Es imposible establecer un sistema de
distribución y gestión de claves eficiente entre
emisor y receptor.
Carecen de una firma digital, al menos en un
sentido amplio y sencillo.
Algoritmos Asimétricos

Utiliza 2 pares de claves





Una pública para cifrar y otra privada para descifrar
Nació como respuesta a la necesidad de
mejorar el mecanismo de intercambio de llaves
Propuesto por Diffie Hellman
Popularizado por Rivest Shamir y Adleman
RSA
Basado en la imposibilidad computacional de
factorizar números enteros grandes
Algoritmos Asimétricos
Algoritmos Asimétricos

Utilizan una llave o clave de mayor tamaño




Normalmente 1024 bits
Son computacionalmente más complejos y
costosos
Soluciona, en parte, el intercambio de llaves
Combinado con funciones HASH y algoritmos
simétricos permiten el intercambio de mensajes
en forma segura y eficiente
Protocolos Seguros



Utilizando herramientas criptográficas buscan
resolver los problemas de integridad,
confidencialidad y autenticidad en la
comunicación de datos
El más utilizado el SSL, Secure Socket Layer

Ej. HTTPS: Web seguro

SSH: Secure Shell

PGP: Preety Good Privacy, correo seguro
Utiliza deversos algoritmos:

DES, RCA, SHA-1, 3DES, DH, etc.
Ejemplos

OpenSSL


Implementación OpenSource de algorimos de
cifrado y funciones de HASH
Ej.



# openssl enc -blowfish -in archivo.txt -out
archivo_salida.cif
# openssl dgst -sha1 hola.txt
# openssl genrsa
Descargar