clase 03 protocolos y servicios de red

21
Clase 03: Protocolos y Clase 03: Protocolos y Servicios de Red Servicios de Red Curso: Internet y Desarrollo Intranet Curso: Internet y Desarrollo Intranet Profesor: Jaime Valenzuela A. Profesor: Jaime Valenzuela A.

Upload: jaime-valenzuela

Post on 19-Jul-2015

7.183 views

Category:

Technology


0 download

TRANSCRIPT

Clase 03: Protocolos y Clase 03: Protocolos y Servicios de RedServicios de Red

Curso: Internet y Desarrollo IntranetCurso: Internet y Desarrollo Intranet

Profesor: Jaime Valenzuela A.Profesor: Jaime Valenzuela A.

HTTPHTTP

HHiperiperTText ext TTransfer ransfer PProtocol es una componente clave rotocol es una componente clave de Internetde Internet

Mecanismo universal para recuperar información desde Mecanismo universal para recuperar información desde el Webel Web

Basado en un protocolo de respuesta confiableBasado en un protocolo de respuesta confiable Cliente pide una información, Servidor respondeCliente pide una información, Servidor responde Objetivos fundamental de diseñoObjetivos fundamental de diseño

Liviano: Ocupar la menor cantidad de recursosLiviano: Ocupar la menor cantidad de recursos Rápido: Facilitar la recuperación rápida de informaciónRápido: Facilitar la recuperación rápida de información

HTTPHTTP

Primera versión 0.9Primera versión 0.9 Solo método GETSolo método GET No entregaba códigos de errorNo entregaba códigos de error Tenía solo documentos de textoTenía solo documentos de texto Un cliente no enviaba información al servidorUn cliente no enviaba información al servidor

Versión 1.0Versión 1.0 Comienza desarrollo en 1992, es liberado en 1996Comienza desarrollo en 1992, es liberado en 1996 Se generó documentación de lo desarrolladoSe generó documentación de lo desarrollado Gran avance respecto del 0.9Gran avance respecto del 0.9

HTTP 1.0HTTP 1.0

Concepto de “tipo de medio” (MIME)Concepto de “tipo de medio” (MIME) Servidor puede responder con información sobre la Servidor puede responder con información sobre la

entidad (por ejemplo el tipo)entidad (por ejemplo el tipo) Versátil formato general de mensaje con una línea inicial

y un número variable de líneas con campos de encabezado que pueden ser usados para transferir información entre el cliente y el servidor

Aparece el método POST para enviar datos desde el Aparece el método POST para enviar datos desde el cliente al servidorcliente al servidor

HTTP 1.0HTTP 1.0

Se incorpora autenticación básicaSe incorpora autenticación básica Se mantiene principio de 1 pedido 1 respuesta Se mantiene principio de 1 pedido 1 respuesta

(servidor cierra la conexión después de (servidor cierra la conexión después de responder)responder)

HTTP 1.1HTTP 1.1

El protocolo anterior presentaba algunas El protocolo anterior presentaba algunas limitaciones importanteslimitaciones importantes Una transacción por conexión y lentitud en establecer Una transacción por conexión y lentitud en establecer

TCPTCP Modelo primitivo de cachéModelo primitivo de caché Mecanismo de autenticación débilMecanismo de autenticación débil No soportaba transferencia parcial de entidadesNo soportaba transferencia parcial de entidades

Versión 1.1 (1997) incorpora incorpora modelo Versión 1.1 (1997) incorpora incorpora modelo de conexión persistente.de conexión persistente.

HTTP 1.1HTTP 1.1

Soporte de header host para host virtualesSoporte de header host para host virtuales Nuevos métodos: DELETE, OPTIONS, PUT, TRACENuevos métodos: DELETE, OPTIONS, PUT, TRACE Transferencia parcial de entidadesTransferencia parcial de entidades Negociación de contenidosNegociación de contenidos Codificación en trozos (recursos que no se conoce su Codificación en trozos (recursos que no se conoce su

tamaño)tamaño) Sistema de caché mejoradoSistema de caché mejorado Esquema más seguro de autenticaciónEsquema más seguro de autenticación

Web cliente-servidorWeb cliente-servidor

Cliente pide información

Servidor responde

Web cliente-servidorWeb cliente-servidor

Cliente pide información al Proxy

Servidor responde

Proxy pide información a Servidor

Proxy responde a Cliente

Proxy: Hace peticiones a nombre de los clientesGateway: Similar a proxy pero el cliente no sabe de su existenciaTunnel: Intermediario ciego entre el cliente y servidor

Estructura del mensajeEstructura del mensaje

Tanto el mensaje de pedido (request) como el de respuesta (response) comparten la misma estructura básica: Una línea de comienzo

# start-line # request-line # status-line

Un conjunto de encabezados (puede no haber ninguno) -> headers generales (tanto para pedido como respuesta) Ej: Date de la entidad Ej: Content-type de pedido Ej: Accept de respuesta Ej: Server

una línea en blanco (vacía) el cuerpo del mensaje (la entidad misma y es opcional) -> body

Solicitud (Request)Solicitud (Request)

La Solicitud (Request) comienza con línea de pedido que especifica el método request-line (method request-URI HTTP-version CRLF) headers crlf message-body

Ejemplos: GET /index.html HTTP/1.1 ... servidor devuelve la página index.html

GET /index.html HTTP/1.1 If-Modified-since: Wed, 25 Sep 1999 08:25:30 GMT ... servidor devuelve un status 304 (no se ha modificado) sin el recurso

RespuestaRespuesta

La respuesta comienza con una línea de statusLa respuesta comienza con una línea de status Status-line (Status-line (HTTP-version status-code reason-phrase CRLF)) HeadersHeaders CrlfCrlf Message-bodyMessage-body

EjemplosEjemplos Status 1xx - solicitud recibida y en proceso (código provisional) Status 2xx - exitoso Status 3xx - redirección (el cliente debe tomar alguna acción como enviar

solicitud a otro servidor) Status 4xx - error del cliente (sintáctico, solicitud sin autorización, URI

inexistente, etc) Status 5xx - error del servidor (solicitud OK pero el servidor no puede

completarla

Ejemplo de solicitud y respuestaEjemplo de solicitud y respuesta

SolicitudSolicitud

RespuestaRespuesta

GET /~ad/index.html HTTP/1.0User-Agent: Mozilla/2.01 (X11; I; IRIX 5.2 IP7)Accept: image/gif, image/x-bitmap, image/jpeg, */*/* a blank line */HTTP/1.0

200 Document followsMIME-Version: 1.0Server: CERN/3.0Date: Wednesday 10-Apr-96 03:59:47 GMTContent-type: text/htmlContent-length: 2168Last-Modified: Friday 06-Oct-95 07:16:52 GMT/* a blank line */<html><head>: /* HTML text of the Web page */:</html>

HTTPS: Conceptos básicosHTTPS: Conceptos básicos

Texto Cifrado mensaje encriptado (texto plano que ha sido modificado para

volverlo ilegible) Algoritmo Criptográfico

operación matemática usada para convertir texto plano en texto cifrado y vice-versa

Clave utilizada para encriptar o desencriptar los mensajes (sólo quienes

conocen la clave puede desencriptar el mensaje) La seguridad del sistema depende del secreto de la clave

(no es necesario mantener en secreto el algoritmo)

Como hackear mensajes cifrados

Criptoanálisis criptógrafos expertos analizan texto buscando patrones

para reconstruir el mensaje original. Un buen algoritmo no genera muchos patrones (resistentes al criptoanálisis)

Fuerza Bruta adivinar la clave probando todas las claves posibles

(usando computadores muy rápidos) Explotar los alrededores

robar archivos de claves, sobornar personas, reemplazar el software utilizado para encriptar, etc.

Criptografía simétricaCriptografía simétrica

Se usa la misma clave para encriptar y desencriptar remitente y destinatario deben estar de acuerdo en la clave de

antemano algoritmos mas usados :

DES - data encryption standard (clave de 56 bits) La encriptación de cada bloque depende del contenido del bloque previo

Triple-DES, DESX, GDES, RDES - variaciones del DES que permiten disminuir el riesgo a ataques de fuerza bruta

RC2, RC4, RC5 - largo de clave variable de hasta 2048 bits RC2 y RC4 de 40 bits son usados en browsers y servidores Web

IDEA - international data encryption algorithm (usado por PGP pretty good privacy)

Blowfish - disponible en muchos productos de encriptación comerciales y gratuitos (clave de largo variable sobre 448 bits)

Criptografía asimétrica o de llave Criptografía asimétrica o de llave públicapública

Problemas de Criptografía Simétrica En internet las partes necesitan comunicarse sin conocerse

previamente Se necesitan comunicaciones de múltiples vías (mucha gente se

comunica con un servidor) si entregamos la clave del servidor todos podrían conocerla

Una vez que se divulga la clave todos los mensajes que han sido encriptados con ella se tornan inseguros

Criptografía Asimétrica las claves vienen en pares (una para encriptar y otra para

desencriptar) todos poseen un único par de claves

clave pública está disponible para todo el mundo y es usada para encriptar cualquier mensaje que deba ser enviado a su dueño

clave privada sólo la conoce su dueño y es usada para desencriptar los mensajes encriptados con la clave pública

Algoritmos de clave públicaAlgoritmos de clave pública

RSA ampliamente implementado Largo de clave entre 512 y 1024 bits Base de software de e-mail y web seguros

ElGamal Poco difundido Largo de claves entre 512 y 1024

Mientras más larga la clave más tiempo toma desencriptar (fuerza bruta)

Principal limitación de criptografía de clave pública es la velocidad

Firma ElectrónicaFirma Electrónica

Criptografía asimétrica es más lenta pero más conveniente Implementación más rápida de RSA es 1000 veces más lenta que un

algoritmo simétrico típico Poco práctico para mensajes grandes

En la práctica se combinan ambos esquemas en el concepto conocido como sobre digital (más adelante …)

Criptografía asimétrica resulta muy útil para crear firmas digitales infalsificables

Cómo funciona la firma digital Se crea una declaración de identidad corta Se codifica con la clave privada creando una firma encriptada Agregar la firma encriptada al mensaje y encriptar todo con la clave

pública del receptor Enviar el mensaje

FTP y FTP y FTP/SSL FTP/SSL (File Transfer (File Transfer Protocol)Protocol)

DHCP (Dynamic Host Configuration DHCP (Dynamic Host Configuration Protocol) Protocol)

Lista de opciones configurables:Lista de opciones configurables: Dirección del servidor Dirección del servidor DNSDNS Nombre DNS Nombre DNS Puerta de enlacePuerta de enlace de la dirección IP de la dirección IP Máscara de subredMáscara de subred MTUMTU ( (Unidad de Transferencia MáximaUnidad de Transferencia Máxima según siglas en según siglas en

inglés) para la interfaz inglés) para la interfaz Servidores Servidores NTPNTP ( (Protocolo de Tiempo de RedProtocolo de Tiempo de Red según siglas en según siglas en

inglés) inglés) Servidor Servidor TFTPTFTP trafico trafico UDPUDP (puerto 69) (puerto 69) Nombre del servidor Nombre del servidor WINSWINS