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 cliente servidor 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 CR LF Separador CR LF 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
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 Inconvenientes ALGORITMOS 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, Net Tamer 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