tema 4: servicios http · 2011. 11. 16. · tema 4: servicios http ... punto 4.7. control de acceso...
TRANSCRIPT
TEMA 4:
SERVICIOS HTTP
¿QUE ES HTTP?
● HyperText Transfer Protocol● Creado para compartir datos científicos● Es el método más común para compartir datos en la
WWW● HTTPS responde a nuevas necesidades● WWW no es Internet, sino la manera más común de
compartir información en internet
ESTRUCTURA DE LA WWW
● Modelo cliente – servidor● Funciona en red local o por Internet● En el cliente se usa el navegador web● Las páginas que recibe el cliente son documentos
HTML en texto plano● El cliente también puede recibir objetos multimedia
de cuya reproducción, guardado o reenvío a otra aplicación debe encargarse el propio cliente
ESTRUCTURA DE LA WWW
● El servidor lo que hace es atender las peticiones de los clientes
● HTTP no recuerda peticiones anteriores al no disponer de estados
● Para recordar eventos anteriores se usan las cookies en el cliente
● Si el servidor no dispone de la página solicitada envía un mensaje de error
ESTRUCTURA DE LA WWW
● Varios tipos de servidores● NCSA HTTPd● Apache
● PHP● IIS
● ASP, .NET● Tomcat
● JSP
DIRECCIONES WEB
● Se escribe en el navegador la dirección● protocolo://dominio:puerto/pagina
● Por defecto ● protocolo=http● Puerto=80● pagina=index.html, index.htm, index.php, ....
ACCESO A PÁGINAS
● El usuario escribe la página en el cliente● El cliente decodifica la página● Mediante DNS se obtiene la IP del servidor● El cliente conecta con el servidor y pide la página● El servidor envía la página● Se cierra la conexión● Para cada objeto de la página se repite el proceso
COMUNICACIÓN HTTP
● Comunicación clienteservidor y viceversa mediante mensajes
● El contenido de los mensajes son líneas de texto con órdenes y parámetros con sintaxis HTTP
● Formato del mensaje:● Línea de comienzo (Request, response)● Líneas de encabezado terminadas en CRLF● Separador CRLF● Contenido del mensaje
PETICIÓN (REQUEST)
● Formato:● Método, espacio, URI, espacio, versión● HTTP versión 1.0 permite tres métodos
● GET – Obtengo información del servidor● HEAD – Obtengo información del servidor pero sin cuerpo del
mensaje● POST – Envío información al servidor
● HTTP versión 1.1 añade:● PUT – Enviar objetos al servidor● DELETE – Eliminar objetos del servidor● OPTIONS – Obtener información del servidor y negociar
opciones de la comunicación
RESPUESTA (RESPONSE)
● Líneas con formato ”Versión Código Descripción”● HTTP/1.1 405 Method Not Allowed● HTTP/1.1 200 OK
● Códigos:● 1xx: informativos● 2xx: éxito● 3xx: redireccionar solicitud● 4xx: error generado por el cliente● 5xx: error generado por el servidor
SEGURIDAD: SSL
● Secure Sockets Layer● Permite transacciones seguras via web (HTTPS)● Actua a nivel superior que TCP● Da servicio de autenticación, integridad y
confidencialidad● Habilita el uso de:
● Firmas digitales● Algoritmos de Criptografía● Algoritmos de Digest o Resumen (CRC)
SEGURIDAD: SSL
COMUNICACIÓN SSL
● Cliente conecta con servidor● Servidor responde enviando certificado y clave
pública● Cliente responde aceptando certificado● Servidor envía clave de sesión y algoritmo a utilizar● Comunicación bidireccional encriptada con clave de
sesión● Se cierra la conexión
FIRMA ELECTRÓNICA
● Proporciona servicio de autenticación para el ordenante de la transacción
● El nuevo DNI Digital = DNI + Firma Electrónica● Firma electrónica > Cifrado simétrico● Firma digital > Cifrado asimétrico
CIFRADO
● La firma electrónica hace uso de la criptografía● Se usa cifrados simétricos y asimétrico, pero este
último con los siguientes problemas:● La clave privada debe de mantenerse en secreto● La clave pública debe ser divulgada● Cualquier usuario puede manipular tu clave pública, por
eso se necesitan las autoridades de certificación
● Esto garantiza la confidencialidad, pero para garantizar también la autenticación e integridad es necesaria la firma digital
FIRMA DIGITAL
● Garantiza la autenticación e integridad del mensaje● Clave Pública (Certificado digital) + Clave Privada● Criptografía asimétrica● Mejora algoritmo de creación de claves > Más
calidad de claves > mayor seguridad● El mensaje solo puede ser decodificado por la clave
pública que se corresponde● Problema: El usuario debe de ser responsable de sus
claves
FIRMA DIGITAL: OBTENCIÓN
● Se acude a una entidad certificadora● Te identifican● Generan las claves pública y privada● Te entregan la clave privada y el software necesario● Ya puedes usar la firma digital● Cuando firmas un documento se adjunta tu
certificado digital● El certificado lleva información sobre clave pública,
caducidad, entidad certificadora, ...
FUNCIONAMIENTO
● Se obtiene un resumen del mensaje (hash)● El hash se cifra usando la clave privada● El resultado se añade al final del mensaje● Ahora se cifra todo con la clave pública del
destinatario● El algoritmo utilizado para la obtención del resumen
debe garantizar que cualquier modificación del mensaje original dará como resultado un resumen diferente
FIRMA DIGITAL
INCONVENIENTES Y ALGORITMOS
● Inconvenientes● Lentitud del cifrado asimétrico● Necesidad de acudir a las entidades de certificación para
la obtención de las claves
● Algoritmos● MD5● SHA1 y SHA2
NAVEGADORES
● Es el punto de más responsablidad en el intercambio de información con la web
● Tipos● Modo gráfico: IE, Mozilla, Opera, Netscape, ...● Modo texto: Lynx, w3m, NetTamer
● Opciones:● Histórico● Cookies
EJERCICIOS
● Todos los casos prácticos● Punto 4.7. Control de acceso en Apache2● Punto 6. Activar la seguridad en Apache