You are on page 1of 38

Protocolo SSL

Febrero 2013

Inseguridad en Internet
Todas las comunicaciones sobre Internet utilizan el protocolo de transmisin TCP/IP. Permite el envo de paquetes a travs de la red sin importar su contenido lo cual result en poca conciencia sobre la segurdad de la informacin que transporta. Esto origina los siguientes casos de violacin de seguridad:

Eavesdropping

Tampering
Impersonation Misrepresentation

Seguridad en Internet
Afortunadamente se han establecido tcnicas y estndares conocidos como encriptacin de llave pblica, la cual permite tomar las precauciones bsicas. Encryption and Decryption Tamper Detection Authentication Nonrepudiation

Algunas Definiciones

Ciphers:

son los algoritmos o funciones matemticas de

encriptamiento (DES, IDEA, RC2, RC4).


Criptografa: ciencia que estudia la creacin ciphers. Criptoanlisis: ciencia que estudia la manera de descifrar los
ciphers.

Criptologa: es la combinacin de criptografa y criptoanlisis. Texto simple: es el mesaje original previo a encriptarse. Ciphertext: es el resultado del encriptamiento del texto simple.

Encriptacin y Desencriptacin

Encripcin con llave simtrica.


Misma llave. Altamente efectivo. Algun grado de autenticacin. Manterner en secreto (las dos partes) Dos llaves distintas (pblica, privada). Algoritmos pantentados por RCA data security. LLamada tambien asimetrica.

Encripcin con llave pblica.


Encripcin con llave simtrica

Encripcin con llave pblica

Fortaleza y largo de la llave


La fortaleza y dificultad de descubrir la llave de encripcin de algun mensaje basicamente depende de dos cosas:

El cipher utilizado. El largo de la llave

Fortaleza y largo de la llave

Llaves mas largas = mas seguridad. Largo de la llave medida en bits. Teniendo dos llaves una pblica y otra simtrica de 128 bits, podemos decir que la simtrica nos provee mayor seguridad.

Fortaleza y largo de la llave


Ao
1995 2000 2005
Encripciones x Segundo ('000,000 eps)

$ arreglo de 4000 chips

4 32 256

520,000 550,000 490,000

Encriptacion por medio de Hardware y su costo

Fortaleza y largo de la llave


Largo de la llave (bits) 40 56 64 128 1995 2000 2005

68 seconds 7.4 weeks 36.7 years 6.7e17 millennia

8.6 seconds 6.5 days 4.6 years 8.4e16 millennia

1.07 seconds 19 hours 6.9 months 1.1e16 millennia

Tiempo que se toma en descifrar la llave con Desencriptacion por medio de Hardware

Fortaleza y largo de la llave


Ao 1995 2000 2005 Encripciones x segundo ('000 eps) 50 400 3200

Velocidad de un ataque por sofware

Fortaleza y largo de la llave


Key Length (bits) 40 56 64 128 1995 2000 2005

1.3 days 228.5 years 58.5 millennia 1.1e21 millennia

3.8 hours 28.6 years 7.3 millennia 1.3e20 millennia

28.6 minutes 3.6 years 914.0 years 1.7e19 millennia

Tiempos probables que se tardaria en descifrar un ciertas llaves por medio de software

Firmas digitales
Resuelve el problema de impersonation. Es un One Way hash message digest. El valor del hash es nico.
Alterar un solo caracter de la data cambia el valor del hash. La data original no puede deducirce del hash.

Firmas digitales

Autenticacin

Basada en Password. Basada en Certificado.

Autenticacin basada en Password

Autenticacin basada en Certificados

Certificacin
Documento electrnico usado para identificar a un servidor, una compaa, o alguna otra entidad que esta asociadada con la llave pblica (licencia de conducir pasaporte).

Certificate Authorities (CAs): Entidades que autorizan certificados de llave pblica.


PEM Certification PGP Certification

Tipos de Certificados

Client SSL. Server SSL. S/MIME. Object-signing. CA.

Secure Sockets Layer (SSL)

Protocolo para mejorar la seguridad de las transmisiones sobre Internet

Propsitos de SSL

Privacidad

Evita tampering y eavesdropping de las comunicaciones entres dos aplicaciones por medio del uso de tcnicas de encriptamiento. Utiliza tcnicas basadas en llaves simtricas y llaves pblicas/privadas Evita la impersonificacin (spoofing y misrepresentacion) entre dos aplicaciones que se comunican, por medio del uso de certificados.

Autenticacin

Privacidad y SSL

Ciphers para encriptamiento


DES: Data Encryption Standard RC2 y RC4: Cyphers de Rivest RSA: Rivest, Shamir y Adleman Triple-DES SKIPJACK
DSA: Digital Signature Algorithm MD5: Message Digest, hecho por Rivest SHA-1: Secure Hash Algorithm KEA: Key Exchange Algorithm RSA key exchange

Ciphers para Digests


Ciphers para intercambio de Llaves


Conjuntos de Ciphers usados con RSA Key Exchange


Triple-DES (168 bits) + SHA-1 RC4 (128 bits) + MD5 RC2 (128 bits) +MD5 DES (56 bits) + SHA-1 RC4 (40 bits) + MD5
El conjunto ms fuerte, uso permitido slo en EEUU Uso slo en EEUU. RC4 es el cipher ms rpido de todos Uso slo en EEUU. RC2 es ms lento que RC4 Uso slo en EEUU Exportable SSL 2.0 y 3.0 SSL 2.0 y 3.0 SSL 2.0 SSL 2.0 y 3.0 SSL 2.0 y 3.0

RC2 (40 bits) +MD5


Slo MD5

Exportable
Usado slo para detectar tampering

SSL 2.0 y 3.0


SSL 3.0

Autenticacin y SSL

Autenticacin del Servidor

para saber con que servidor se est llevando a cabo la comunicacin usada para que el servidor sepa con que cliente se est comunicando, en caso ste quiera accesar algn recurso protegido del mismo.

Autenticacin del Cliente (opcional)

Protocolo SSL

Divisin del protocolo SSL

Handshake Protocol (SSLHP)

Negocia el algoritmo a usar para encriptar, as como autentica al servidor y al cliente Ejecuta la encripcin elegido en la fase de handshake.

Record Protocol (SSLRP)

SSL Record Protocol

SSL Handshake 1/4


1.

2.

C > S: Versin SSL, settings del cipher, y un texto random S > C: Versin SSL, settings del cipher, texto random y su propio certificado. Si el cliente pidi un recurso protegido, solicita el certficado del cliente.

SSL Handshake 2/4


3. 4.

5.

El cliente autentica al servidor C > S: premaster secret, que es un texto encriptado usando el cipher elegido, as como la llave pblica del servidor. C > S: Opcional. Si el servidor pidi autenticacin del cliente, ste le envia su certificado junto con un el texto random, firmado por el cliente.

SSL Handshake 3/4


6.

7.

Si el servidor pidi autenticacin del cliente, trata de autenticarlo. Si no puede, la conversacin termina. Si puede, procede a usar su llaver privada para desencriptar el premaster secret y generar un master secret, que el cliente gener a partir del mismo premater secret. Ambos el cliente y el servidor usan el master secret para generar las session keys, las cuales son las llaves simtricas para encriptar y desencriptar

SSL Handshake 4/4


8.

9.

10.

C > S: Un mensaje indicando que se usar la session key en el futuro de la conversacin. Adems le enva un mensaje separado (encriptado) indicando que finaliz la etapa del handshake. S > C: Un mensaje indicando que se usar la session key en el futuro de la conversacin. Adems le enva un mensaje separado (encriptado) indicando que se finaliz la etapa del handshake. El handshake est finalizado. El cliente y el servidor pueden intercambiar mensaje encriptados.

Autenticacin del Servidor

Autenticacin del Cliente

Fortalezas del Protocolo


Ataque de Diccionario Ataques de Fuerza Bruta Ataque Replay Hombre en medio

Debilidades del Protocolo


Uso de ciphers dbiles Renegociacin de las llaves de sesin

Clientes y Servidores SSL

Servidores SSL

Microsoft IIS Netscape/Sun Apache (OpenSSL) Microsoft Internet Explorer Netscape Navigator

Clientes SSL

Preguntas?

You might also like