Sei sulla pagina 1di 115

Criptografa Aplicada

GSI - Facultad de Ingeniera - 2012

Plan

Introduccin Mtodos criptogrficos


Algoritmos simtricos Algoritmos asimtricos

Hashes y Macs Firmas digitales Gestin de claves y autenticacin Infraestructuras de clave pblica (PKI)
FSI 2012 Criptografa Aplicada 2

Marzo 2012

Algunas definiciones

Criptografa: Estudio de principios o mtodos de encriptacin Encriptar o cifrar: informalmente, proceso de convertir la informacin a una forma disfrazada para ser transmitida a travs de un canal inseguro Desencriptar o descifrar: proceso aplicado a la informacin disfrazada para obtener el mensaje original
FSI 2012 Criptografa Aplicada 3

Marzo 2012

Criptografa

La criptografa utiliza la matemtica para obtener seguridad sobre la informacin transmitida o almacenada. Algunos objetivos:

Privacidad Integridad de los datos Autenticacin No repudio

Permite mejorar la seguridad al almacenar o transmitir informacin por canales inseguros


FSI 2012 Criptografa Aplicada 4

Marzo 2012

Ataques pasivos

William Stallings. Cryptography and Network Security, 4ta. Ed. Figura 1.3a Stallings Figure 1 .3a
Marzo 2012 FSI 2012 Criptografa Aplicada 5

Ataques activos

William Stallings. Cryptography and Network Security, 4ta. Ed. Figura 1.3b Stallings Figure 1 .3a
Marzo 2012 FSI 2012 Criptografa Aplicada 6

Ms definiciones

Texto plano: informacin en su forma natural Texto cifrado o encriptado: texto al cual se le aplic algn mtodo de cifrado o encriptacin Oponente o adversario: entidad maliciosa que ataca la conexin entre Bob y Alicia

Marzo 2012

FSI 2012 Criptografa Aplicada

Criptosistema

Se llama criptosistema al conjunto de:


Un conjunto finito de posibles textos planos Un conjunto finito de posibles textos cifrados Un conjunto finito de posibles claves Un conjunto de reglas de encriptado y otro de reglas de desencriptado, que cumplen que: dk(ek(x)) = x para todos los posibles textos planos x

Marzo 2012

FSI 2012 Criptografa Aplicada

Criptoanlisis

Es el estudio de mtodos para obtener el significado de la informacin que est encriptada Es la ciencia de descifrar cdigos, decodificar secretos, violar esquemas de autenticacin y romper protocolos criptogrficos El ideal del criptoanlisis es descubrir la clave secreta y no solo decodificar algunos mensajes Dos tipos de ataques:

Ataques criptoanalticos Ataques de fuerza bruta


FSI 2012 Criptografa Aplicada 9

Marzo 2012

Criptoanlisis: Clasificacin de ataques

Texto cifrado solamente (Ciphertext only): El oponente conoce solo una porcin del texto cifrado Texto plano conocido (Known plaintext): El oponente conoce una porcin del texto plano y su correspondiente texto cifrado Texto plano elegido (Chosen plaintext): El oponente tiene acceso a la maquinaria de encriptacin. Elige texto y ve la salida Texto cifrado elegido (Chosen ciphertext): El oponente tiene acceso a la maquinaria de desencriptado. Elige texto cifrado y ve el texto plano
FSI 2012 Criptografa Aplicada 10

Marzo 2012

Criptoanlisis: Tipos de ataque

Ataques por fuerza bruta: pruebo todas las claves, hasta que encuentro la correcta

No prcticos si el espacio de claves es muy grande

Ataques criptoanalticos: atacan la estructura del algoritmo o de los protocolos que lo utilizan, buscando un atajo para realizar menos trabajo que un ataque por fuerza bruta

Marzo 2012

FSI 2012 Criptografa Aplicada

11

Seguridad incondicional y computacional

Seguridad incondicional: No importa que tiempo o poder computacional se disponga, el cifrado no podr ser quebrado ya que no hay suficiente informacin para determinar de forma nica el correspondiente texto plano

Seguridad computacional: Dado un poder de recursos computacionales, el tiempo necesario de clculo esperado para quebrar un cdigo es ms grande que el tiempo de vida del mensaje

Marzo 2012

FSI 2012 Criptografa Aplicada

12

Cifrados incondicionalmente seguros


Existen cifrados incondicionalmente seguros Ejemplo: One time pad:

Transmisor y receptor deben compartir una clave de al menos el mismo largo del texto plano a encriptar Los bits de la clave deben ser elegidos aleatoriamente de forma independiente
Si p1,p2,p3... texto plano, c1,c2,c3... texto cifrado y

k1,k2,k3... la clave de cifrado c i = p i ki


Marzo 2012

(cifrado de Vernam)
13

FSI 2012 Criptografa Aplicada

Mtodos de encripcin

Algunos mtodos de encripcin se basan en el secreto de su algoritmo de encriptacin En el mundo actual, estos mtodos usualmente no son tiles debido al costo de desarrollar nuevos sistemas si los viejos son comprometidos Todos los mtodos (o algoritmos) actuales basan su seguridad en el uso de claves Existen dos clases de mtodos de encripcin basados en claves:

Mtodos simtricos Mtodos asimtricos


FSI 2012 Criptografa Aplicada 14

Marzo 2012

Algoritmos simtricos

Es la forma tradicional de la criptografa

Su origen conocido se remonta al menos a la poca de los romanos

Los algoritmos simtricos utilizan la misma clave para encriptar y desencriptar la informacin

Dk(Ek(x)) = x

A la clave se le denomina clave secreta, Llave secreta, secreto compartido (Secret-Key o shared key en ingls)

Marzo 2012

FSI 2012 Criptografa Aplicada

15

Algoritmos simtricos

Se distinguen dos tipos de cifrado:


Cifrado en bloque Cifrado stream

El cifrado en bloque procesa el mensaje para encriptar o desencriptar en bloques de tamao fijo de bits (p. ej. 64 o 128 bits por bloque) El cifrado en stream lo procesa de a bit o byte

Marzo 2012

FSI 2012 Criptografa Aplicada

16

Cifrado en bloque

Dado un bloque de texto plano de tamao n bits, y una clave de tamao L bits, la funcin E de encriptacin genera un texto cifrado de n bits Tpicamente se utilizan bloques de 64 o 128 bits Para cada clave k, EK es una permutacin sobre el conjunto de los bloques de entrada

De las posibles, la clave k selecciona entre 2 L permutaciones distintas (L largo de clave)

DK, la funcin de desencriptado, realiza la transformacin inversa para obtener el texto plano
FSI 2012 Criptografa Aplicada 17

Marzo 2012

Ejemplos de algoritmos de Cifrado en bloque

AES (Advanced Encryption Standard). 2001. Bloque de 128 bits, clave de 128, 192 o 256 bits DES (Data Encription Standard). Adoptado como standard en 1977. Clave de 56 bits, bloque de 64 bits. Considerado dbil hoy en da DES triple (aplicar DES 3 veces con al menos 2 claves distintas) IDEA, Blowfish, Twofish, y muchos ms
FSI 2012 Criptografa Aplicada 18

Marzo 2012

Propiedades de los algoritmos

Para AES bsicamente el nico ataque conocido es por fuerza bruta

Y 2128 est fuera del alcance de la tecnologa actual Igualmente la forma ms eficiente de atacarlo en la mayora de los casos es la fuerza bruta No se conocen ataques criptoanalticos. Desventaja: ms lento que AES
FSI 2012 Criptografa Aplicada 19

DES: Ataque lineal y diferencial

DES triple

Marzo 2012

Modos de operacin

Observemos que, dada una clave, si encriptamos un mismo bloque de texto plano obtendremos el mismo texto cifrado. Eso no siempre es conveniente Se proponen varios modos de operacin que permiten cifrado en bloques de tamao fijo y variable. Veremos algunos de ellos:

ECB: Electronic Code Book CBC: Cipher Block Chaining CFB: Cipher FeedBack OFB: Output FeedBack
FSI 2012 Criptografa Aplicada 20

Marzo 2012

ECB (Electronic Code Book)

El texto plano se divide en bloques de tamao idntico Cada bloque es cifrado independientemente de los dems Los bloques cifrados son del mismo tamao y generados con la misma clave Es como si tuviramos una tabla o libro donde para cada texto plano se da su correspondiente texto cifrado

Marzo 2012

FSI 2012 Criptografa Aplicada

21

ECB

Marzo 2012

FSI 2012 Criptografa Aplicada

22

Problemas de ECB

Al mismo texto plano le corresponde siempre el mismo bloque cifrado

Podemos obtener informacin acerca del mensaje original sin conocer la clave Se que hay 2 mensajes posibles: disparar misil y no disparar misil Veo pasar el primer mensaje, y el enemigo no dispara el misil: para futuros mensajes, ya sabr lo que el mensaje quiere decir
FSI 2012 Criptografa Aplicada 23

Ejemplo:

Marzo 2012

CBC (Cipher Block Chaining)

El texto plano se divide en bloques de tamao idntico (n bits) Se utiliza un vector de inicializacin de n bits (IV: initialization vector) Cada texto cifrado se hace depender de los anteriores Se diferencia del ECB en que el mismo bloque de texto plano genera distinto texto cifrado de acuerdo a los bloques previos y al vector de inicializacin Cualquier cambio en un bloque afecta a los siguientes

Ci = EK(Pi XOR (Ci-1))

C-1 = IV
24

Marzo 2012

FSI 2012 Criptografa Aplicada

CBC

Marzo 2012

FSI 2012 Criptografa Aplicada

25

OFB (Output Feedback)

El mensaje es tratado como un stream de bits La salida del cifrado es reutilizada para la siguiente etapa La reutilizacin es independiente del mensaje

Oi = EK(Oi-1) O-1 = IV

Ci = Pi XOR Oi

Los bits de error no son propagados (si tengo un error de un bit en la transmisin, a la salida solo ese bit ser erroneo)
FSI 2012 Criptografa Aplicada 26

Marzo 2012

OFB

Marzo 2012

FSI 2012 Criptografa Aplicada

27

Cifrado por stream

Intentan aproximar un cifrado incondicionalmente seguro El problema del cifrado incondicionalmente seguro es que la clave debe ser tan grande como el texto plano Esto motiva el diseo de cifrados por stream en donde la clave es generada de forma pseudoaleatoria a partir de una clave ms chica La encriptacin de un texto plano se hace usualmente de a caracter (byte) por vez

Marzo 2012

FSI 2012 Criptografa Aplicada

28

Cifrado por stream

Los generadores de nmeros pseudoaleatorios usan una funcin que produce un stream de bits determinista y que, en algn momento, se repetirn Cuanto ms grande sea el perodo de repeticin, ms difcil ser realizar un criptoanlisis Se busca que, estadsticamente, sean indistinguibles de una secuencia de nmeros aleatorios Se suelen usar en aplicaciones de telecomunicaciones, o en aplicaciones con muy bajos recursos Tiene poco o ningn error de propagacin
Marzo 2012 FSI 2012 Criptografa Aplicada 29

Cifrado por stream

Estos tipos de cifrados no son incondicionalmente seguros, tratan de ser computacionalmente seguros

Marzo 2012

FSI 2012 Criptografa Aplicada

30

Ejemplo: RC4

RC4 (Rivest Cipher 4) es un cifrado por stream diseado por RSA security (1987) Est basado en el uso de permutaciones aleatorias Es usado en los estndares SSL/TLS (Secure Sockets Layer/Transport Layer Security) definidos para la comunicacin entre clientes web y servidores Tambin es utilizado en protocolos WEP (Wired Equivalent Privacy) y WPA (WiFi Protected Access) que son parte del estndar IEEE 802.11 de redes inalmbricas

Marzo 2012

FSI 2012 Criptografa Aplicada

31

Algoritmos asimtricos

Los algoritmos simtricos, conocidos como de clave secreta, requieren una comunicacin previa de la clave entre las entidades participantes de forma segura (secreta) Los mtodos asimtricos, conocidos como de clave pblica, se basan en encontrar un criptosistema donde se tienen dos claves distintas para encriptar y desencriptar, y es computacionalmente imposible obtener la clave de descifrado (dk) a partir de la clave de cifrado(ek) (o viceversa) De esa forma, una de las claves puede ser hecha pblica
FSI 2012 Criptografa Aplicada 32

Marzo 2012

Algoritmos asimtricos

La idea del sistema de clave pblica (public-key) fue propuesta por Diffie y Hellman en 1976 La primer realizacin de un sistema criptogrfico de clave pblica fue realizada por Rivest, Shamir y Adleman (1978) Los criptosistemas de clave pblica nunca pueden brindar seguridad incondicional

El adversario puede encriptar cualquier texto plano (ya que dispone de la clave de encriptacin) y verificar si alguno coincide con el texto encriptado

Marzo 2012

FSI 2012 Criptografa Aplicada

33

Algoritmos asimtricos

La seguridad de los criptosistemas asimtricos se basa en que la clave privada puede ser computada a partir de la pblica resolviendo un problema difcil

Mientras que generarlas juntas es fcil

Se utilizan problemas matemticos para los cuales no se conocen soluciones eficientes

Estudio de estos computacional

problemas:

Ver

complejidad

Marzo 2012

FSI 2012 Criptografa Aplicada

34

Algoritmos asimtricos

Algunos problemas asimtricos son:


utilizados

en

criptosistemas

Factorizacin Logaritmos discretos Logaritmos discretos sobre curvas elpticas

Marzo 2012

FSI 2012 Criptografa Aplicada

35

Factorizacin

Todo nmero entero puede ser representado de forma nica como el producto de nmeros primos (ej.: 2277 = 32 * 11 * 23) Un posible algoritmo de factorizacin es ir dividiendo el nmero (con nmeros primos) hasta que el resto sea un nmero primo En los algoritmos asimtricos basados en factorizacin se buscan nmeros del orden de 10 300, lo que requiere tratar con todos los primos hasta 10 150 (unos 10147 primos)
FSI 2012 Criptografa Aplicada 36

Marzo 2012

Factorizacin

Existen otros mtodos para factorizar nmeros:


Algoritmo de Pollard Curvas elpticas NFS (Number Field Sieve) (1990)

Es el mejor propuesto hasta el momento

Todos ellos son extremadamente lentos para nmeros muy grandes

Marzo 2012

FSI 2012 Criptografa Aplicada

37

Logaritmos discretos

Sea p un nmero primo muy grande, y un generador del grupo multiplicativo Zp*:

0, 1, ...,p-2 reducidas mdulo p, construyen todos los enteros entre 1 y p-1

En el criptosistema, los parmetros p y son conocidos Dado Zp* , encontrar el nico exponente a (0 a p 2) tal que a = (mod p)

Marzo 2012

FSI 2012 Criptografa Aplicada

38

Encripcin RSA

Se basa en la seguridad que brinda la factorizacin Todo nmero entero puede ser expresado como producto de factores primos Utiliza la propiedad que la factorizacin de un nmero es dificil de obtener (cuanto mayor es el valor, ms dficil de lograr la factorizacin) Si se encuentra un mtodo sencillo de factorizacin, el criptosistema ser fcil de quebrar

Marzo 2012

FSI 2012 Criptografa Aplicada

39

RSA

Sea n = pq (p y q nmeros primos) Sea (n) = (p 1) (q 1) Sea e Z(n), primo con (n) Sea d el inverso multiplicativo de e (d Z(n) tal que ed = 1 (mod (n)) Cifrado: c = xe mod n Clave pblica (n,e) Clave privada (n,d) Descifrado: x = cd mod n

Se prueba que (xd)e mod n=(xe)d mod n = x si x<n


FSI 2012 Criptografa Aplicada 40

Marzo 2012

Utilizando RSA (generacin de claves)


Para generar sus claves, Alice realiza: Obtener p y q, primos, de largo en bits similar Calcular n y (n) Elegir e (es comn tomar e=65537 o e=17) Calcular d (utilizando el algoritmo de euclides extendido) Distribuir n y e

Marzo 2012

FSI 2012 Criptografa Aplicada

41

Utilizando RSA (envo de mensajes)


Bob obtiene la clave pblica de Alice Representa el mensaje M como un entero


0<M<n Usualmente se le da un formato previamente (padding scheme), agregndole bytes aleatorios y otros (ver por ejemplo PKCS#1)
e

Realiza el clculo de C=M mod n Enva C


FSI 2012 Criptografa Aplicada 42

Marzo 2012

Utilizando RSA (recepcin)

Calculamos M' = Cd mod n Si el formato incluye redundancia, verificamos que la misma sea correcta La seguridad est dada porque sin conocer d no podemos calcular M'

Marzo 2012

FSI 2012 Criptografa Aplicada

43

Utilizando RSA (firma digital)

Para realizar una firma digital, podemos (simplificadamente) encriptar el mensaje con nuestra clave privada Dado M, Alice realiza C=Md mod n
DigiNotar

Se envan M y C

Quien quiera verificar la firma, debe verificar que e M= C mod n Solo quien tiene la clave privada puede generar C Veremos ms sobre esto luego
FSI 2012 Criptografa Aplicada 44

Marzo 2012

Uso prctico de algoritmos asimtricos

Los algoritmos de encripcin asimtricos son mucho ms lentos que los algoritmos simtricos Usualmente se utilizan solamente para autenticacin, y para intercambiar una clave de sesin para un algoritmo simtrico

Marzo 2012

FSI 2012 Criptografa Aplicada

45

Secure Hashes y MACs

Secure Hash: un hash que cumple ciertas propiedades bsicas de seguridad MAC: Message Authentication Code (incluye clave) Ambos tipos de funciones comparten ciertas caractersticas

A partir de un mensaje de largo arbitrario se genera un valor de largo fijo, que de alguna manera representa al mensaje original (Message Digest, resumen del mensaje) No debe poder derivarse un mensaje del resumen
FSI 2012 Criptografa Aplicada 46

Marzo 2012

Funciones de hash

Mapean un mensaje de largo arbitrario, en un valor de largo fijo (relativamente pequeo) (propiedad de Compresin) Dado M, debe ser relativamente sencillo calcular h(M) Difusin: el resumen h(M) debe ser una funcin compleja de todos los bits del mensaje M: si se modifica un solo bit del mensaje M, se espera que el hash h(M) cambie aproximadamente la mitad de sus bits
FSI 2012 Criptografa Aplicada 47

Marzo 2012

Propiedades de los hashes para seguridad

Unidireccionalidad: conocido un resumen R, debe ser computacionalmente imposible encontrar un mensaje M tal que R=h(M) Resistencia dbil a las colisiones: Conocido M, es computacionalmente imposible encontrar M' tal que h(M) = h(M') Resistencia fuerte a las colisiones: Es computacionalmente imposible encontrar X e Y tales que h(X) = h(Y)
FSI 2012 Criptografa Aplicada 48

Marzo 2012

Paradoja del cumpleaos

Dado un grupo de X personas, qu tan grande tiene que ser X para que con probabilidad >0,5 2 de ellos cumplan el mismo da? Respuesta: 23 A cada edad de cada persona la comparo con la de todas las dems En criptografa, nos dice que si tengo un hash de x bits, puedo encontrar (con p~50%) una colisin con un esfuerzo del orden de 2x/2

La longitud del hash no puede ser chica


FSI 2012 Criptografa Aplicada 49

Marzo 2012

Operacin tpica de un algoritmo de hash

Se completa el mensaje para que sea mltiplo de un determinado tamao de bloque Se procesa el mensaje por bloques Se toma un valor inicial conocido para el hash Para cada bloque, se realizan diversas operaciones incluyendo el valor anterior del hash El hash es el valor al finalizar el procesamiento del ltimo bloque
FSI 2012 Criptografa Aplicada 50

Marzo 2012

Estructura general de los algoritmos de hash

Stallings. Figura 11.9


FSI 2012 Criptografa Aplicada 51

Marzo 2012

Uso tpico de un algoritmo de hash

El principal uso es para verificacin de integridad Se calcula el resumen de un mensaje M Se protege la integridad del valor del resumen, no as del mensaje Al requerir verificar la integridad del mensaje, se calcula nuevamente el resumen y se compara con el que tenamos protegido
FSI 2012 Criptografa Aplicada 52

Marzo 2012

Algoritmos populares de hash

MD5 (refinamiento de MD2, MD4), Ron Rivest 1992. Hash de 128 bits. SHA-1: NIST 1994. 160 bits

Hay versiones de 224, 256, 384 y 512 bits de hash


RIPEMD: Comunidad Europea, RACE, 1992. 160 bits Whirlpool. Aceptado por NESSIE (New European Schemes for Signatures, Integrity, and Encryption) SHA-0, N-Hash, Snefru, Tiger, Panama, Haval, otros
FSI 2012 Criptografa Aplicada 53

Otros

Marzo 2012

Seguridad actual de MD5

Wang et al, 2004, y mltiples trabajos posteriores: Se puede encontrar fcilmente colisiones en MD5 (X e Y tales que MD(X)=MD(Y)) Especialmente importante para quienes firman mensajes generados por otros

Ataque demo al proceso de una autoridad certificadora en 2008

Los ataques siempre mejoran, nunca empeoran


FSI 2012 Criptografa Aplicada 54

Marzo 2012

SHA-1

Febrero 2005.Broken. El esfuerzo (terico) para encontrar una colisin baj de 280 a 269 Agosto 2005 -> 2
63

Son ataques no implementados (por ahora...) Las buenas noticias: no todos los usos de SHA1 (y MD5) se ven afectados Se estn buscando sustitutos (competencia SHA-3 del NIST) Se recomienda utilizar SHA-256 o SHA-512
FSI 2012 Criptografa Aplicada 55

Marzo 2012

MAC (Message Authentication Code)

Un algoritmo que, dado un mensaje (de largo arbitrario) y una clave (de largo fijo), produce un bloque de bits de largo fijo

Parecido a hashes, salvo por la clave Resistencia a colisiones, unidireccionalidad

Se comparten requerimientos de seguridad

No debe poderse recuperar la clave, ni generar MAC sin conocer la clave


FSI 2012 Criptografa Aplicada 56

Marzo 2012

Propiedades necesarias de MAC

Conociendo un mensaje y su MAC, es computacionalmente imposible encontrar otro mensaje con el mismo MAC Conociendo un mensaje y su MAC, es computacionalmente imposible encontrar la clave

Marzo 2012

FSI 2012 Criptografa Aplicada

57

Uso de MAC para autenticacin de mensaje

El documento M se transmite sin encriptar (por ejemplo, puede ser pblico) B puede verificar su integridad
FSI 2012 Criptografa Aplicada 58

Marzo 2012

Funciones de MAC utilizando hashes


Comparten propiedades Las funciones de hash son normalmente rpidas Propuesta original:

MAC(mensaje)=hash (key|mensaje) Se encontraron debilidades

Actualmente, HMAC y otros


HMACK = Hash[(K+ XOR opad) || Hash[(K+ XOR ipad) || M)]]

Por ejemplo, IPSec utiliza HMAC


FSI 2012 Criptografa Aplicada 59

Marzo 2012

HMAC. RFC 2104

Marzo 2012

FSI 2012 Criptografa Aplicada

60

Seguridad de HMAC

Se prob relacin entre seguridad de HMAC y del hash utilizado Ataques requieren:

Fuerza bruta en la clave Ataque del cumpleaos sobre el algoritmo de hash (pero se requiere ver un nmero muy grande de mensajes con la misma clave)

Se suele utilizar MD5 o SHA-1 como algoritmo de hash


FSI 2012 Criptografa Aplicada 61

Marzo 2012

Funciones de MAC usando algoritmos simtricos

Originalmente FIPS PUB 113 Restriccin en el largo del mensaje a procesar CMAC: Cypher based message authentication code

NIST Special Publication 800-38B (para usarse con 3DES y AES)

Marzo 2012

FSI 2012 Criptografa Aplicada

62

Aplicaciones de Hashes

En firmas digitales Verificacin de integridad Identificadores nicos para archivos


Redes p2p Comparacin con un archivo que no puedo ver

Sistemas de password MACs

Marzo 2012

FSI 2012 Criptografa Aplicada

63

Aplicaciones de MAC

Integridad del mensaje Origen del mensaje (quien lo gener conoce la clave compartida)

NO es una firma digital

Marzo 2012

FSI 2012 Criptografa Aplicada

64

Firmas digitales

Marzo 2012

FSI 2012 Criptografa Aplicada

65

Motivacin

Se pretende tener un equivalente a la firma manual de un documento Debe verificar el autor y la fecha y hora de la firma Debe autenticar el contenido cuando fue firmado Debe ser verificable por terceros Incluye la funcin de autenticacin
FSI 2012 Criptografa Aplicada 66

Marzo 2012

Diferencias con la firma manuscrita

Se piden ms cosas (timestamp, etc)

Pero las copias de un documento digital no son distinguibles del original

Recordemos, que en la firma digital, entre el individuo que firma y la firma, hay un hardware, un sistema operativo, uno o varios programas... Una firma digital nos dice que un programa, que tuvo acceso a la informacin privada del individuo que firma, realiz esas operaciones
FSI 2012 Criptografa Aplicada 67

Marzo 2012

Problemas a resolver

Autenticidad del emisor Integridad del mensaje Actualidad (no replay) No repudio (de emisor y receptor) Deteccin de usurpacin de identidad Deben ser verificables por terceros

Marzo 2012

FSI 2012 Criptografa Aplicada

68

Firma digital

En muchos sistemas prcticos, se utiliza criptografa asimtrica Si encriptamos mensaje con la clave privada, alcanza con verificar que es desencriptado correctamente con la clave pblica Los algoritmos asimtricos son lentos->

Se encripta un hash del mensaje con la clave privada

Marzo 2012

FSI 2012 Criptografa Aplicada

69

Ejemplo de Procedimiento Usando RSA

Sea da y ea las claves pblica y privada de A A enva a B el mensaje M (encriptado o no), y Eea(H(M)) El receptor calcula H'= Dda(Eea(H(M))), calcula H(M'), y los compara Si coinciden, tiene la seguridad de que solo A pudo generar el mensaje

No se puede generar otro mensaje con el mismo hash Solo quien conoce ea pudo generar Eea(H(M))
FSI 2012 Criptografa Aplicada 70

Marzo 2012

DSA

Digital Signature Algorithm Seguridad: dificultad de calcular logaritmos discretos Definido en Digital Signature Standard (DSS). Standard del NIST (FIPS 186, ltima revisin FIPS 186-3) La ltima revisin incluye firmas con DSA, RSA y con curvas elpticas (ECDSA)
FSI 2012 Criptografa Aplicada 71

Marzo 2012

(Stallings. Cryptography and network Security. Fig. 13.1)

DSA y RSA

Marzo 2012

FSI 2012 Criptografa Aplicada

72

Problemas

Cmo distribuir la clave pblica? Cmo estoy seguro que la clave pblica que tengo es realmente la de A, y que es actual? Repudio....Qu pasa si A alega que el no firm? y si alega que le robaron la clave?

Marzo 2012

FSI 2012 Criptografa Aplicada

73

Contra el repudio y el robo de claves

Exigir que cada mensaje lleve un timestamp, y exigir reporte inmediato de claves comprometidas a una autoridad central Utilizar un rbitro, una entidad confiable que certifique el origen y contenido del mensaje

Se puede hacer con algoritmos simtricos o asimtricos Dependen de encontrar la entidad confiable
FSI 2012 Criptografa Aplicada 74

Marzo 2012

Autenticacin mediante claves compartidas

Marzo 2012

FSI 2012 Criptografa Aplicada

75

Autenticacin mediante claves compartidas

Clase particular de protocolos de autenticacin Uso como soporte de otras operaciones


Comunicacin entre bancos y cajeros automticos Pay-TV Tarjetas Inteligentes: Global Platform Red celular

Ejemplo de gestin general de claves simtricas en sistemas distribudos: Kerberos

Marzo 2012

FSI 2012 Criptografa Aplicada

76

Posibilidades para distribuir claves simtricas


A genera la clave y se la entrega fsicamente a B C selecciona la clave y la entrega a A y B A y B usaron recientemente una clave, y envan la nueva clave encriptada con la vieja A y B tienen una conexin encriptada con C -> C puede entregar una clave a A y B por los enlaces encriptados.

Key Distribution Center


FSI 2012 Criptografa Aplicada 77

Marzo 2012

Esquema Bsico

Principio: Dos entidades(principales) que quieren comunicarse utilizan un tercero confiable Alice y Bob (communicating principals) Sam (trusted third-party) Cada entidad precisa una clave compartida con Sam
A -> S : A, B S -> A : {A,B,KAB,T}KAS, {A,B,KAB,T}KBS A -> B : {A,B,KAB,T}KBS, {M}KAB
FSI 2012 Criptografa Aplicada

Marzo 2012

78

Protocolo de Needham-Schroeder

La mayora de los protocolos de distribucin de claves han sido derivados a partir de este protocolo inventado en 1978 Sigue el esquema bsico discutido en la slide anterior pero usa nonces en lugar de timestamps

Nonce: nmero use once

En su forma original tiene vulnerabilidades

Marzo 2012

FSI 2012 Criptografa Aplicada

79

Needham-Schroeder
(NS1) (NS2) (NS3) (NS4) (NS5) A S A B A -> -> -> -> -> S A B A B : : : : : A, B, NA {NA,B,KAB,{KAB, A}KBS}KAS {KAB, A}KBS {NB}KAB {NB - 1}KAB

Problema: Bob tiene que asumir que la clave KAB que le enva Sam (va Alice) es fresca

Marzo 2012

FSI 2012 Criptografa Aplicada

80

Kerberos (Generalidades)

Importante derivado prctico de NeedhamSchroeder Sistema de control de acceso distribudo originario del MIT y opcin por defecto de autenticacin en Windows 2000 y sucesores En lugar de una nica trusted third-party:

Servidor de autenticacin en el que los usuarios se autentican Servidor dispensador de tickets que permiten acceder a recursos como archivos
FSI 2012 Criptografa Aplicada 81

Marzo 2012

Kerberos (Procedimiento)

Alice obtiene del servidor de autenticacin una clave de sesin KAS (encriptada con su password), con un esquema similar al anterior Luego, para poder acceder a un recurso B, se aplica el siguiente protocolo (con el servidor de tickets S):
(K1) (K2) (K3) (K4) A S A B -> -> -> -> S A B A : : : : A, B {TS,L,KAB,B,{TS, L, KAB, A}KBS}KAS {TS, L, KAB, A}KBS, {A,TA}KAB {TA + 1}KAB
FSI 2012 Criptografa Aplicada 82

Marzo 2012

PKI (Public Key Infrastructure) Infraestructura de clave pblica Certificados digitales: distribucin escalable de claves pblicas
Marzo 2012 FSI 2012 Criptografa Aplicada 83

Definicin de PKI (RFC 2828)

Un sistema de CAs (certification authorities), opcionalmente RAs y otros servidores y agentes, que realizan algn subconjunto de las funciones de: administracin (management) de certificados, archivo de certificados expirados, administracin de claves, administracin de tokens, para una comunidad de usuarios, en una aplicacin de criptografa asimtrica
(O) PKIX usage: The set of hardware, software, people, policies, and procedures needed to create, manage, store, distribute, and revoke digital certificates based on asymmetric cryptography
FSI 2012 Criptografa Aplicada 84

Marzo 2012

Funciones de una PKI

Las funciones principales son:

Registrar entidades (usuarios) y emitir sus certificados digitales Revocar certificados cuando se requiera Archivar los datos necesarios para validar los certificados en el futuro

Puede adems, por ejemplo, generar pares de claves pblica/privada (se recomienda que lo haga el cliente), establecer CPSs (polticas), etc.
FSI 2012 Criptografa Aplicada 85

Marzo 2012

Qu es un certificado digital?

Documento firmado por una CA (autoridad de certificacin) que contiene diversos datos, al menos:

Identificacin de una entidad (usuario) su clave pblica Solo podr validar certificados emitidos por CAs en las cuales confe

Emisor y receptor deben confiar en esa CA

Estandar ms usado: X.509 (ITU-T)


FSI 2012 Criptografa Aplicada 86

Marzo 2012

Utilidad del certificado

Me permite asociar la clave pblica con la identidad presente en el certificado

Si puedo verificar la firma y confo en la CA, me dice que la CA atesta que esa clave pblica pertenece al dueo del certificado

O sea, permite la distribucin de claves pblicas de forma confiable

Marzo 2012

FSI 2012 Criptografa Aplicada

87

Validacin del certificado

Si tengo la clave pblica de la CA: puedo verificar la firma de la CA

Me asegura que la informacin en el certificado es la misma que la CA firm Si confo en la CA, puedo asumir que la CA verific la informacin contenida en el certificado

Marzo 2012

FSI 2012 Criptografa Aplicada

88

X.509

Framework para brindar servicios de autenticacin a los usuarios del directorio X.500 Actualmente, X.509v3 RFCs que instancian el framework para Internet

Marzo 2012

FSI 2012 Criptografa Aplicada

89

Esquema de un certificado x.509


Versin Identificador del algoritmo N de serie Algoritmo Perodo de validez Parmetros Autoridad de Certificacin Inicio de la validez Caducidad de la validez Clave pblica que se firma Nombre y datos del usuario Algoritmo Funcin hash que se cifra con Parmetros la clave privada de la AC Clave pblica del usuario Marzo 2012 Firma de la AC FSI 2012 Criptografa Aplicada 90

Estructura de una PKI

(Stallings Figura 14.7)

Marzo 2012

FSI 2012 Criptografa Aplicada

91

Entidades

CA: Autoridad de Certificacin. Es quien firma los certificados RA: Autoridad de Registro. Es quien debera verificar la identidad del solicitante. Es la interfaz con la CA CRL: Certificate Revocation List. Lista de certificados revocados

Hay formatos para la informacin, y protocolos para acceder a ese repositorio


FSI 2012 Criptografa Aplicada 92

Marzo 2012

Algunas caractersticas

El sistema de autenticacin debe tener:


Una poltica de certificacin Un certificado de la CA Los certificados de los usuarios (X.509) Los protocolos de autenticacin, gestin y obtencin de certificados:
Se obtienen de bases de datos (directorio X.500) O bien directamente del usuario en tiempo de conexin (Ej. WWW con SSL)

Marzo 2012

FSI 2012 Criptografa Aplicada

93

Obteniendo un certificado

Cualquier usuario de la CA puede leer cualquier certificado Solo la CA (o quien conozca su clave privada) puede modificar un certificado

Los certificados pueden ponerse en un directorio pblico Puedo aceptarlo de la propia entidad que quiere autenticarse!

Marzo 2012

FSI 2012 Criptografa Aplicada

94

Jerarqua de CAs

Si los participantes comparten una CA:

Se asume que conocen su clave pblica CAs deben formar una jerarqua Se usan certificados para validar a otras CA Cada CA tiene certificados de sus clientes, y de sus superiores Permite a un usuario de un CA verificar los certificados de otras CAs en la jerarqua
FSI 2012 Criptografa Aplicada 95

De lo contrario:

Marzo 2012

Revocacin de certificados

Certificados tienen un perodo de validez Puede ser necesario expirarlos antes


Compromiso de la clave privada Compromiso de la clave de la CA La CA no certifica ms a ese usuario CRL (Certificate Revocation List)

La CA mantiene una lista de certificados revocados

Usuarios deberan chequear las CRL ante cada certificado


Marzo 2012 FSI 2012 Criptografa Aplicada 96

Quin decide en quin confiamos


Queda claro en una CA interna En el caso de los navegadores, otro decidi por nosotros...

Marzo 2012

FSI 2012 Criptografa Aplicada

97

Problemas de la vida real

2001. Verisign emite 2 certificados a nombre de Microsoft a desconocidos

Los certificados de Verisign no incluan link a una CRL Internet Explorer no chequeaba CRLs

2006. Phishing contra Mountain America Credit Union


Sitio y certificado de www.mountain-america.net Quin puede registrar un determinado nombre?


FSI 2012 Criptografa Aplicada 98

Marzo 2012

Problemas de la vida real (2)

Marzo? 2011: Atacantes hackean una cuenta de un partner de una autoridad de certificacin, Comodo, y generan 8 certificados (mail.google.com, www.google.com, etc.) Julio/Agosto 2011: Hackers logran penetrar la red de DigiNotar (una CA) y generar ms de 200 certificados para distintos sitios

Marzo 2012

FSI 2012 Criptografa Aplicada

99

SSL y TLS

Marzo 2012

FSI 2012 Criptografa Aplicada

100

SSL (secure sockets layer)

Desarrollado originalmente por Netscape Communications Corporation Es independiente de la aplicacin ltima versin SSL v3 Sucesor: TLS (Transport Layer Security)

Muy similar a SSL v3

Provee autenticacin, integridad y privacidad Actualmente TLS 1.1 (RFC 4346, Abril 2006)

Marzo 2012

FSI 2012 Criptografa Aplicada

101

SSL/TLS

Dividido en 2 capas, sobre una conexin stream confiable (TCP)

Funciona entre TCP y la aplicacin Confidencialidad, autenticacin, y proteccin contra replay Define el formato para intercambiar los datos Intercambio de claves
FSI 2012 Criptografa Aplicada 102

SSL Record layer

SSL Handshake Protocol

Marzo 2012

Visin desde 1 km. de altura

Cliente enva versin, protocolos soportados (key exchange, mtodos de encriptado y algoritmos de Hash), y un nmero aleatorio Servidor enva su certificado, algoritmos elegidos y un nmero aleatorio Cliente chequea certificado Cliente genera clave secreta (premaster key), la encripta con clave pblica del servidor y la enva Servidor la desencripta, y ambos generan una clave de sesin, que ser usada a partir de ah
Marzo 2012 FSI 2012 Criptografa Aplicada 103

Arquitectura SSL

Stallings Figura 17.2


Marzo 2012 FSI 2012 Criptografa Aplicada 104

Conexin y Sesin

Conexin SSL

Flujo transitorio entre equipos Asociado con una sesin SSL Asociacin entre cliente y servidor Creada por el protocolo de Handshake Define un conjunto de parmetros criptogrficos Puede ser compartida por mltiples conexiones

Sesin SSL

Evita negociar parmetros y verificar claves en cada conexin


FSI 2012 Criptografa Aplicada 105

Marzo 2012

Servicios del Record Protocol

Integridad de mensajes

Usando una MAC con clave secreta compartida TLS usa HMAC (SSL utilizaba un algoritmo parecido) Usando encriptado simtrico con una clave secreta definida por el protocolo de handshake AES, IDEA, RC2-40, DES-40, DES, 3DES, Fortezza, RC4-40, RC4-128

Confidencialidad

Mensaje se comprime antes de encriptar (opcional)


FSI 2012 Criptografa Aplicada 106

Marzo 2012

Operacin
(Stallings Figura 17.3)

Marzo 2012

FSI 2012 Criptografa Aplicada

107

Protocolo de Handshake

Permite a cliente y servidor:


Autenticarse mutuamente Negociar algoritmos de encriptado y MAC Negociar claves criptogrficas

Varios mensajes en 4 fases

Marzo 2012

FSI 2012 Criptografa Aplicada

108

Handshake
1. Establecimiento de capabilities

Envo de versin, algoritmos soportados, etc. Iniciada por el cliente

2. Autenticacin del servidor e intercambio de clave


Servidor enva certificado Servidor inicia intercambio de claves Puede pedir certificado al cliente
FSI 2012 Criptografa Aplicada 109

Marzo 2012

Handshake
3.Autenticacin del cliente e intercambio de clave

Verificar certificado del servidor Enviar certificado si es requerido por el servidor

4. Fin. Se enva un change cypher spec y se termina el intercambio, comenzando a utilizarse los nuevos parmetros

Marzo 2012

FSI 2012 Criptografa Aplicada

110

Marzo 2012

FSI 2012 Criptografa Aplicada

111

Algoritmos y protocolos criptogrficos - implementacin

La implementacin de los algorimtos y protocolos criptogrficos requiere no solamente la correctitud de la funcin a implementar, sino tambin tomar en cuenta otras amenazas En especial, todo lo que tiene que ver con ataques Side channel No los veremos aqu

Pero tener mucho cuidado si alguna vez intentan implementar algo Vean por ejemplo la historia de OpenSSL
FSI 2012 Criptografa Aplicada 112

Marzo 2012

Bibliografa y Referencias

W. Stallings, Cryptography and Network Security, Prentice Hall, 2006. R. Rivest, A. Shamir, L. Adleman, A method for obtaining digital signatures and public key criptosystems, Communications of the ACM, 1978. C. Shannon, Communication Theory of Secrecy Systems, Bell Systems Technical Journal, 1949.

Marzo 2012

FSI 2012 Criptografa Aplicada

113

Bibliografa y Referencias

A. Menezes, P. Oorschot, S. Vanstone, Handbook of Applied Cryptography, CRC Press, 1996. D. Stinson, Cryptography Theory and Practice, CRC Press, 1995. G. Vernam, Cipher Printing Telegraph Systems for Secret Wire and Radio Telegraphic Communications, Journal IEEE Vol. 55, 1926.

Marzo 2012

FSI 2012 Criptografa Aplicada

114

Bibliografa y Referencias

Material online de apoyo a curso de Stallings

http://williamstallings.com/Crypto/Crypto4e-inst.html

Handbook of Applied Cryptography.A. Menezes,

P. van Oorschot, and S. Vanstone, CRC Press, 1996. Online http://www.cacr.math.uwaterloo.ca/hac/

Cryptored. Material docente de libre distribucin en Internet. http://www.criptored.upm.es/guiateoria/gt_m001a.htm

Marzo 2012

FSI 2012 Criptografa Aplicada

115

Potrebbero piacerti anche