Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Plan
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:
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
Criptosistema
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
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:
Marzo 2012
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
Ataques por fuerza bruta: pruebo todas las claves, hasta que encuentro la correcta
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
11
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
12
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
(cifrado de Vernam)
13
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:
Marzo 2012
Algoritmos simtricos
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
15
Algoritmos simtricos
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
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
DK, la funcin de desencriptado, realiza la transformacin inversa para obtener el texto plano
FSI 2012 Criptografa Aplicada 17
Marzo 2012
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
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 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
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
21
ECB
Marzo 2012
22
Problemas de ECB
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
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
C-1 = IV
24
Marzo 2012
CBC
Marzo 2012
25
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
27
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
28
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
Estos tipos de cifrados no son incondicionalmente seguros, tratan de ser computacionalmente seguros
Marzo 2012
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
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
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
problemas:
Ver
complejidad
Marzo 2012
34
Algoritmos asimtricos
utilizados
en
criptosistemas
Marzo 2012
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
Marzo 2012
37
Logaritmos discretos
Sea p un nmero primo muy grande, y un generador del grupo multiplicativo Zp*:
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
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
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
Marzo 2012
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
41
0<M<n Usualmente se le da un formato previamente (padding scheme), agregndole bytes aleatorios y otros (ver por ejemplo PKCS#1)
e
Marzo 2012
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
43
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
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
45
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
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
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
Marzo 2012
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
Marzo 2012
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
MD5 (refinamiento de MD2, MD4), Ron Rivest 1992. Hash de 128 bits. SHA-1: NIST 1994. 160 bits
Otros
Marzo 2012
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
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
Un algoritmo que, dado un mensaje (de largo arbitrario) y una clave (de largo fijo), produce un bloque de bits de largo fijo
Marzo 2012
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
57
El documento M se transmite sin encriptar (por ejemplo, puede ser pblico) B puede verificar su integridad
FSI 2012 Criptografa Aplicada 58
Marzo 2012
Comparten propiedades Las funciones de hash son normalmente rpidas Propuesta original:
Marzo 2012
Marzo 2012
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)
Marzo 2012
Originalmente FIPS PUB 113 Restriccin en el largo del mensaje a procesar CMAC: Cypher based message authentication code
Marzo 2012
62
Aplicaciones de Hashes
Marzo 2012
63
Aplicaciones de MAC
Integridad del mensaje Origen del mensaje (quien lo gener conoce la clave compartida)
Marzo 2012
64
Firmas digitales
Marzo 2012
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
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
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->
Marzo 2012
69
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
DSA y RSA
Marzo 2012
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
73
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
Marzo 2012
75
Comunicacin entre bancos y cajeros automticos Pay-TV Tarjetas Inteligentes: Global Platform Red celular
Marzo 2012
76
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.
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
Marzo 2012
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
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
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
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
Marzo 2012
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
Marzo 2012
87
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
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
89
Marzo 2012
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
Marzo 2012
Algunas caractersticas
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
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
94
Jerarqua de CAs
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
Compromiso de la clave privada Compromiso de la clave de la CA La CA no certifica ms a ese usuario CRL (Certificate Revocation List)
Queda claro en una CA interna En el caso de los navegadores, otro decidi por nosotros...
Marzo 2012
97
Los certificados de Verisign no incluan link a una CRL Internet Explorer no chequeaba CRLs
Marzo 2012
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
99
SSL y TLS
Marzo 2012
100
Desarrollado originalmente por Netscape Communications Corporation Es independiente de la aplicacin ltima versin SSL v3 Sucesor: TLS (Transport Layer Security)
Provee autenticacin, integridad y privacidad Actualmente TLS 1.1 (RFC 4346, Abril 2006)
Marzo 2012
101
SSL/TLS
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
Marzo 2012
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
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
Marzo 2012
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
Marzo 2012
Operacin
(Stallings Figura 17.3)
Marzo 2012
107
Protocolo de Handshake
Marzo 2012
108
Handshake
1. Establecimiento de capabilities
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
4. Fin. Se enva un change cypher spec y se termina el intercambio, comenzando a utilizarse los nuevos parmetros
Marzo 2012
110
Marzo 2012
111
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
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
114
Bibliografa y Referencias
http://williamstallings.com/Crypto/Crypto4e-inst.html
Marzo 2012
115