Está en la página 1de 82

TICS413 - Seguridad en TICs

Criptografía
Andrés del Villar León
En esta sesión

• Definiciones
• Historia
• Tipos de Criptografía
• Simétrica
• Asimétrica
• Hashing
• Criptografía aplicada
La necesidad de ocultar información

• Protección de secretos militares o diplomáticos.

• Protección de datos empresariales.

• Privacidad personal
• Con quién y de qué hablamos
• Qué hacemos
• Donde estamos
Esteganografía

• El arte de esconder
información
• Cera en tablas talladas
• Cuero cabelludo de esclavos
• Incrustación de texto (u otras
imágenes) en archivos JPEG

• Busca ocultar el hecho de


que se está transfiriendo
información
¿Qué es la criptografía?

• Es el estudio de las técnicas de protección de


la comunicación entre 2 partes en presencia
de terceros (adversarios)

• Busca ocultar el mensaje, no el hecho de que


se está enviando uno (a diferencia de la
esteganografía)
Definiciones

• Cifrador: Algoritmo de encriptación

• Criptografía: Protección de la comunicación


entre dos partes en presencia de terceros

• Descifrado: obtener el texto original a partir


del cifrado haciendo uso legítimo de la llave
Definiciones

• Criptoanálisis: obtener el texto original sin


contar con la llave, implica romper el
algoritmo de encriptación

• Criptología: Criptografía + Criptoanálisis


Criptografía Clásica

• 1900 A.C – Egipto


• Jeroglíficos

• 800 A.C – Esparta


• Escítalas
• Primeros cifradores de transposición
Cifrado de transposición – RAIL FENCE

=3 NOSPILLARONPOCOMPADRE

N I R O P E
O P L A O P C M A R Z Z
S L N O D Z

NIROPEOPLAOPCMARSLNODZZZ
Criptografía Medieval

• 800-1450 D.C – Civilización Islámica


• Uso de cifradores de sustitución
• Uso de análisis estadístico para criptoanálisis

• 1476: Leon Battista Alberti


• Padre de la criptología occidental
• Describe el cifrador polialfabético

• 1508: Tabula Recta


• Primer cifrador polialfabético
• Tomado erróneamente como “le chiffre indéchiffrable” de Vignère
Cifrado Sustitución – Cifrado César

=6 NOSPILLARONPOCOMPADRE
A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z
G H I J K L M N Ñ O P Q R S T U V W X Y Z A B C D E F

SUYVÑQQGXUSVUIURVGJXK
Cifrado Polialfabético
Entre 1800 y la WWII

• Masificación de la
criptoanálisis
• Guerra de Crimea
• Primera Guerra Mundial:
Telegrama de Zimmerman

• Creación del único


cifrador irrompible
One-Time Pad

• El único cifrador irrompible si se usa


adecuadamente, o sea, la llave debe ser:
• Del mismo largo o mayor que el texto plano
• Destruida posterior a su uso
• Realmente aleatoria

• Usado en sistemas modernos (2FA)


Segunda Guerra Mundial (WWII)

• Uso de máquinas con rotores y conectores

• Época dorada del criptoanálisis


• Operaciones estadounidenses en el Pacífico
• Criptografía del ENIGMA alemán
Criptoanálisis: Texto cifrado conocido

• El atacante obtiene la llave sólo teniendo acceso a


un número fijo de textos cifrados

• Ejemplos:
• DES
• WEP
Criptoanálisis: Texto plano conocido

• El atacante tiene pares de texto plano y texto


cifrado, que le permitiría inferir la clave.

• Ejemplos:
• Crackeando el ENIGMA mediante palabras conocidas
Criptoanálisis: Texto plano elegido

• El atacante tiene acceso al cifrador en forma de


caja negra

• Ejecuta el cifrador con texto plano y obtiene texto


cifrado
Criptografía moderna

• Actualmente se utiliza una llave que combinada


con el texto plano genera el texto cifrado y
viceversa.
• Mientras más larga la llave más difícil es su
critpoanálisis

• Respuesta al criptoanálisis en forma matemática


Técnicas criptográficas: Encriptación
Simétrica

• Ambas partes comparten una llave que permite


encriptar y desencriptar.

• Conocida como encriptación de llave privada o de


llave secreta

• Muy eficiente en el uso de los recursos


Técnicas criptográficas

• Encriptación Simétrica
• Ambas partes comparten una llave que permite
encriptar y desencriptar.

• Conocida como encriptación de llave privada o de


llave secreta

• Muy eficiente en el uso de los recursos


Tipos de encriptación simétrica

• Cifrador de flujo
• A medida que los datos llegan se van cifrando

• Cifrador de bloque
• Cuando se tienen todos los datos a la mano
• Se requiere un control adicional si los datos son más
largos que la llave.
Modos de operación (bloque)

• ECB: Electronic Code Block


• Cada bloque se encripta independiente del resto

• CBC: Cipher-block chaining


• La salida de cada bloque procesado realimenta al
siguiente
Algoritmos de encriptación simétrica

Nombre Fuerza Tamaño de la llave (bits)


RC4 Débil 40
DES Débil 56
Skipjac Medio 80
IDEA Fuerte 128
Blowfish Fuerte 128
3-DES Fuerte 168
Twofish Muy Fuerte 256
RC6 Muy Fuerte 256
AES (Rjindael) Muy Fuerte 128 - 256
Kerckhoffs: La fuerza ¿bruta? está en la
llave

Algoritmo Número de posibles llaves Tiempo en “romper”*


DES 2!" ≈ 7.2 𝑥 10#" 2.47 𝑎ñ𝑜𝑠
AES - 128 2#$% ≈ 3.4 𝑥 10&% 2.3 𝑥 10$$ 𝑎ñ𝑜𝑠
AES - 192 2#'$ ≈ 6.3 𝑥 10!( 4.3 𝑥 10)# 𝑎ñ𝑜𝑠
AES - 256 2$!" ≈ 1.2 𝑥 10(( 7.9 𝑥 10"* 𝑎ñ𝑜𝑠

* Usando como referencia un computador Intel Quad-Core a 2.4GHz), representa el tiempo en recorrer todo el espacio de llaves
Uso de la encriptación simétrica

• Almacenamiento de información
• Archivos encriptados Zip, RAR, 7zip
• Manejadores de passwords
• Respaldos (disco, cinta)
• Encriptación de discos completos (LUCKS, FileVault,
BitLocker, otros)
• Encriptación de transmisicones HTTPS
Vulnerabilidades Encriptación Simétrica

• Criptoanálisis
• Texto plano conocido
• Texto cifrado conocido

• Confianza en el secretismo de la implementación


• Violación del principio de diseño abierto
CASO: MIFARE Classic (Tarjeta BIP)

• Terminal desencripta información de la tarjeta,


suma/resta dinero a ella, la encripta y la escribe en
ella.

• Usa el algoritmo Crypto-1 con cifrado de 48 bits


• Rompible en 200 segundos con un laptop

• Basa su seguridad en el secreto de su


implementación
CASO: MIFARE Classic (Tarjeta BIP)

• Mal manejo en chile


• Reportado al MTT en 2007
• Divulgado en conferencia 8.8 2013
• Explotado en Octubre 2014

• Fraude fácilmente rastreable (respaldo remoto)


Desafíos de la encriptación simétrica

• Escalabilidad
• Una llave por cada contacto distinto

• No manejo de repudiación
• No hay forma de probar de donde viene el mensaje

• Negociación requiere contacto cara a cara


Técnicas criptográficas: Encriptación
Asimétrica

• Cada una de las partes genera un par de llaves


• Una pública para encriptar los mensajes
• Una privada para desencriptar los mensajes

• Conocida como encriptación de llave pública


Aspectos Relevantes Encriptación
Asimétrica

• Ventajas
• Mejor administración
• Escalabilidad
• Maneja no-repudiación

• Desventaja
• Ineficiente en relación con la simétrica
Algoritmos de Encriptación Asimétrica

• DSA: Digital Signature Algorithm


• RSA: Rivest, Shamir, Adlema
• Más utilizada actualmente
• Diffie-Hellman
• Creado específicamente para negociación de llaves
• Implementa propiedad de Forward Secrecy
• Curva Elíptica
• Más eficiente, pero no muy difundido: Misma
seguridad con menos recursos
Usos de Encriptación Asimétrica

• Negociación de llaves
• Sitios web encriptados (HTTPS)
• Aplicaciones de mensajería
• Encriptación de archivos
• Almacenados localmente
• Enviados mediante canales inseguros
• Encriptación de e-mail
Vulnerabilidades en la Encriptación
Asimétrica

• Compromiso de llave privada

• Ataques de canal lateral


• Ataque de tiempo
• Ataque de potencia
• Ataque acústico
• Padding Oracle (oráculo de relleno)
• Cold Boot (inicio en frio)
Hashing

• Función unidireccional

• Genera un string de largo fijo

• El cambio de una letra en el texto plano cambia el


hash por completo
Uso de hashing

• Verificación de integridad de archivos

• Almacenamiento y verificación de secretos


• Por ejemplo: passwords

• Autentificación de mensajes

• Firmas digitales

• Generación de llaves criptográficas


Algoritmos de hashing

• MD5: 128 bits

• SHA1: 160 bits

• SHA2: 224, 256, 384, 512 bits

• SHA 3: 224,256, 384, 512 bits


Autenticación de mensajes (HMAC)
Algoritmos de hashing
Vulnerabilidades en el hashing

• Colisiones
• Ataque de cumpleaños

• Tabla Arcoiris
Criptografía Aplicada:
Respaldos/Archivado Seguro

• Almacenamiento Seguro
• A nivel de filesystem (ej. LUKS, FileVault)
• A nivel de archivo (ej. Bitlocker)
• Respaldo seguro en cinta
• Ej: LTO4 hacia arriba
• Algoritmos de compresión
• ZIP, RAR, 7-Zip
• Respaldo en la nube
• Zero-Knowledge
Criptografía Aplicada:
Cifrado de Mensajes

• Correo electrónico
• S/MIME
• PGP
• Mensajería (IM)
• Whatsapp
• Signal
• Telegram (modo secreto)
Criptografía Aplicada:
Certificados Digitales

• Certificados Personales

• Certificados de Servidores (ej. SSL)

• Certificados de validación extendida (EV)

• Certificados de proveedores de software


Criptografía Aplicada:
Passwords
Criptografía Aplicada:
¿Passwords en texto plano?

• Cualquiera con acceso a la base de datos sabría la


password de los usuarios, incluido los
administradores.

• … que pasa si un hacker roba la información de la


base de datos
Criptografía Aplicada:
Passwords
Criptografía Aplicada:
¿Passwords encriptadas?

• ¿Cuál sería la llave y donde la guardamos?.

• Caso Adobe:
• + de 38 millones de cuentas con claves cifradas
• ¿Qué pasaría si encuentra la llave de encriptación?

Naked Security, “Anatomy of a password disaster - Adobe's giant-sized cryptographic blunder”


Criptografía Aplicada:
Passwords con Hashing

digest = MD5(password)*

* Ejemplos usando MD5 por razones de espacio.


Criptografía Aplicada:
Passwords con Hashing

• Usar hashing para las contraseñas no es suficiente.


• Por muy fuerte que sea el algoritmo, puede ser
susceptible a ataques de tabla arcoiris.

• Solución: usar sal


Criptografía Aplicada:
Passwords con SALT

• Con SAL

digest = MD5(salt + password)


Criptografía Aplicada:
Funciones de derivación de claves (KDF)

• Son funciones diseñadas especialmente para


almacenar verificadores de passwords.

• Características
• Genera una sal local aleatoria
• Aplican un algoritmo de hashing a la password con la
sal varias veces (técnica conocida como key stretching)
• Diseñadas para ser lentas
• Autocontenidas
Criptografía Aplicada:
KDF’s en acción

digest = bcrypt(password)
Tiempos de procesamiento

Fuerza bruta a bcrypt (alfabeto de 26 letras, 8 caracteres máx)


$

+ 26! = 217.180.147.158 𝑜𝑝𝑠 . ⟹ 21.718.014.716 𝑠𝑒𝑔


!"#

⟹ 251.365.9 𝑑í𝑎𝑠 . ⟹ 688 [años]


Criptografía Aplicada:
Firma digital

• Permite firmar mediante certificados digitales


• Documentos
• Mails
• Software

• Entrega
• Autentificación
• Integridad
• No-repudiación
Criptografía Aplicada:
Firma digital
Firma Electrónica en Chile

• Firma Electrónica Avanzada (FEA)


• Generada por un certificado emitido por una autoridad
certificador autorizada por el Ministerio de Economía.
• Da validez legal a documentos firmados (ej. Empresa en
un día)
• Sirve como medio de prueba en caso de un juicio.

• Firma Electrónica Simple


• Cualquier cosa que no sea FEA
• Ej. Foto escaneada de la firma a mano alzada
FEA: Usos

• Contratos en formato digital


• Pago Automático de Cuentas (PAC)
• Transacciones de valores (NCG 12)
• Certificados de Revisión Técnica
• Permisos de circulación electrónicos
• Recetas Médicas Electrónicas
Mal uso del Hashing

• Aún existen sistemas que usan


MD5 como algoritmo de firma

• El uso de SHA1 fue utilizado


hasta principios de 2017,
cuando se encontró una colisión
factible
Entropía

• Muchos aspectos de la criptografía requieren el uso


de números aleatorios.
• Generación de llaves
• One-Time pads
• Sales
• etc
Generadores de Números Aleatorios
(RNG)

• TRNG: Generador “verdadero”

• PRNG: Generador pseudo-aleatorio

• CSPRNG: Generador pseudo-aleatorio


criptográficamente seguro
Propiedades de un buen PRNG

• Genera números uniformemente distribuidos


• Los valores generados son impredecibles
• Tiene un ciclo largo y completo
• Puede generar un gran número de valores diferentes y
todos los valores del ciclo pueden ser generados

• Típicamente un PRNG utiliza un generador


congruencial lineal
• Esto cumple sólo con la primera propiedad
¿Porqué usar CSPRNG y no PRNG?

• Un CSPRNG debe cumplir dos requisitos:


• Debe pasar pruebas de aleatoriedad estadística
• No debe poder predecirse que número aleatorio viene a
continuación, aún cuando parte de su estado inicial o
actual esté disponible para un atacante.

• La clave está en la entropía


CSPRNG: ¿de donde sacamos la
entropía?

• Múltiples fuentes (mientras más mejor):


• Id del proceso o thread
• Segundos transcurridos desde el boot
• Hora actual
• Hashes de username, nombre del pc, …
• Información de bajo nivel del sistema
• Valores ingresados por el usuario.
• etc
Criptomonedas

• Activos digitales pensados como método de intercambio


que usa criptografía para:
• Asegurar y verificar sus transacciones
• Controlar la creación de nuevas unidades

• Pensados para el anonimato de operaciones financieras sin


control de gobiernos o banca

• Ejemplos: Bitcoin, Ethereum, Ripple, LiteCoin

• Se basan en el uso de blockchain


Criptomonedas: Usos

• Pagos de bienes y servicios

• Pago de ciberextorsiones y adquisición de bienes


ilegales

• Especulación financiera, como las apuestas


Blockchain

• Es un ledger digital distribuido, el cual permite


asegurar las transacciones:
• Evitando el ingreso de transacciones truchas
• Evitando la repetición de la misma transacción
• Evitando la modificación posterior de transacciones ya
realizadas

• Todo lo anterior, basado en el uso de criptografía


Billetera, transacciones y Blockchain
Source: 1NjcSawD75naKDjwx6AvsGdCra1KorDVLM
Destination: 1GCujSmPDy99uYp7siDVxAsnsjAP5g3YuB
Amount (BTC): 0.02078872
Llave privada

Llave pública

Dirección

0000000100100101001000101 0000001101011010111010100 0000000000000000010100000


Hash del bloque anterior 0100010100100100100100100 0100101000100101000101001 1010100010100100101010010
0010011110101000101000100 0101001000101010101111110 1001010100101001111010101

TRX 1 TRX 1 TRX 1

TRX 2 TRX 2 TRX 2

Transacciones TRX 3 … …

TRX 4 TRX 5 TRX 5

TRX 5 TRX 6 TRX 6

Prueba de trabajo 145243142 545267531 365456352


0000001101011010111010100 0000000000000000010100000 0000010010010100101010010
Hash del bloque (binario) 0100101000100101000101001 1010100010100100101010010 1010010101011010101011010
0101001000101010101111110 1001010100101001111010101 1001010100101010100101010
Prueba de trabajo y minadores
145
561553 “Busque un entero que cause
673663622
62626
que el hash del bloque parta
14524435 con 32 ceros”
1116626344

0000001101011010111010100
0100101000100101000101001
71081 0101001000101010101111110
15 12567013
16625634 TRX 1
98888859 0000000000000000000000000
0000000101110101010100100
12567013 1010001010101010001110101 TRX 2

TRX 3

1552453894 TRX 4
653552478
88284611 TRX 5
1717734

X
77467284
11166 12567013
0000000000000000000000000
0000000101110101010100100

Minadores 1010001010101010001110101
Minadores: CPUs y GPUs

• CPUs pensadas en ejecución de código en serie

• GPU pensadas en ejecución de tareas en paralelo

• Esto ha llevado a que los precios de las GPU se dupliquen


Cryptojacking

• Malware distribuido por vector DBD

• Funciona mediante el uso de Hives


• Computadores que inadvertidamente ejecutan software
de minado de javascript
Caso: TESLA Motors

• Los servidores cloud de Tesla fueron utilizados para


minado distribuido de Bitcoins en Febrero de 2018
• Una semana después del lanzamiento del SpaceX Falcon
Heavy

• Todo gracias a credenciales almacenadas en


servidores abiertos públicamente
Uso Maligno de criptografía
RANSOMWARE

• El malware al ejecutarse cifra la información


• Asimétricamente con llave pública
• Simétricamente: encriptando usando una llave simétrica,
la cual es cifrada con una llave pública y luego descartada

• Los atacantes exigen a la víctima el pago de un


rescate (en bitcoins) para enviar la llave privada al
usuario

• Al ser infectado no hay mucho que hacer


https://www.nomoreransom.org/
Ransomware: Algunos casos

• CrytpoLocker/CryptoWall
• Usa técnicas de ocultamiento
• Encripta archivos locales y compartidos

• Teslacrypt:
• Difunto
• Apuntaba a archivos de datos de juegos
Ransomware: Algunos casos

• Linux.Encoder.1
• Primer ransom para Linux, via e-commerce.

• Locky
• Combina infección con ingenieria social
Ransomware: Vectores

• Ejecutables disfrazados de íconos (ej. PDF) o con


doble extensión
• Macros maliciosas incluidas en archivos de office
• Archivos javascript (ejecutables mediante Windows
Script Host)
• Por ejemplo, en ese mail de la PDI que todos hemos
recibido alguna vez…
• Vía red, a través de servicios vulnerables en
máquinas
Ransomware: Defensa

• Ojo con lo que se ejecuta o abre

• No usar más privilegios que los que se requiere


• No usar cuentas de administrador para tareas mundanas

• Mantener actualizados sistemas y software


Ransomware: Defensa

• Respaldar información
• off-site, en medios y lugares diferentes al equipo
• off-line, requiere intervención humana para el acceso al
respaldo
• Onedrive: la versión pagada de Onedrive incluye una
protección contra ransomware. Su cuenta de office de la
universidad incluye onedrive e incluye una licencia de uso
en hasta 5 equipos.

• En caso de infección: ¿pagar o no?


Caso: Hollywood Presbyterian Hospital
Center

• Infectados con Locky

• Consecuencias
• Registros electrónicos de pacientes e imagenología
desaparecidos
• Cierre de departamentos de Radiación y Oncología
• Prohibición de encendido de computadores

• Pago de 40 BTC (USD 17.000 en ese momento)


Casos Modernos

• Petya: Cigra la MFT (Master File Table)

• Mamba: Cifra el disco duro (como FileVault o


BitLocker, pero malicioso)

• CryPy: Cifra cada archivo con una llave simétrica


diferente
• Más difícil de operar para los cibercriminales pero …
• … terminan con una lista de los archivos del sistema
Imagen de Ransomware
WannaCry

• Ataque fue detectado primero por Telefónica España,


quien reportó al CCN-CERT en mayo de 2017

• Utiliza un exploit llamado EternalBlue implantado por


un backdoor llamado DoublePulsar, desarrollado por
la NSA y filtado por The Shadow Brokers

También podría gustarte