Fundamentos de Protocolos Web: HTTP, MIME, Seguridad SSL/TLS y Autenticación
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 6 KB
Protocolo HTTP: Funcionamiento y Métodos
El Protocolo de Transferencia de Hipertexto (HTTP) es un protocolo cliente-servidor cuyo funcionamiento está basado en el envío de mensajes:
- El usuario especifica en el navegador la dirección que quiere consultar (
http://dirección[:puerto][path]). - El navegador decodifica la información de la URL, diferenciando protocolo, IP o nombre, puerto, etc.
- El navegador establece una conexión con el servidor web y solicita la página.
- El servidor envía dicha página (si no existe, envía un código de error) y el navegador interpreta el HTML recibido.
- Se cierra la conexión.
Métodos HTTP Principales
- GET: Obtiene información del servidor (se utiliza cada vez que se pulsa un enlace y se accede a una página web).
- POST: Envía información al servidor.
- HEAD: Similar a GET, pero solo se solicita la cabecera de la página (información como tamaño, tipo o fecha de modificación).
Tipos MIME (Multipurpose Internet Mail Extensions)
Los Tipos MIME son una forma abierta y extensible de representar el contenido de los datos. MIME adjunta un archivo de cabecera a los documentos en el que se indica el tipo de contenido del archivo.
Ejemplos de Tipos MIME
- Text/html: Define todos los archivos de texto que contienen código HTML.
- Video/mpeg: Define todos los archivos de video en formato MPEG.
- Image/*: Define todas las imágenes en cualquier formato.
Uso del Protocolo HTTP con MIME
El protocolo HTTP usa MIME para:
- Informar al cliente del tipo de datos que recibe del servidor. Un navegador puede manejar los datos de varias formas según el MIME:
- Visualizar el documento.
- Llamar a una aplicación externa.
- Preguntar al usuario qué hacer ante un tipo que no entiende.
- Permitir la negociación de contenido. El cliente, en su petición, incluye los tipos MIME que acepta.
- Encapsular una o más entidades dentro del cuerpo del mensaje.
Referencias de Tipos MIME
Los tipos MIME se pueden referenciar desde tres lugares:
- Desde el servidor: Indica al navegador el tipo de datos que envía.
- Desde la página web: Se hace referencia a los tipos MIME a través de un enlace que lleva a un archivo externo.
- Desde el navegador web: Interpreta el tipo MIME recibido desde el servidor y también indica qué tipos MIME acepta.
Seguridad Web y Autenticación en Servidores (Apache)
Conceptos Clave de Seguridad
- Autenticación:
- Comprueba la identidad del usuario. El usuario proporciona un nombre y una contraseña. Hay dos métodos:
- Básico: El usuario envía nombre y contraseña al servidor sin cifrar.
- Digest: El usuario envía su nombre y contraseña cifrados al servidor.
Protocolo SSL/TLS y Servidores Web Seguros (HTTPS)
El protocolo SSL (Secure Sockets Layer) permite establecer una comunicación segura y codificada entre el servidor web y el navegador. Trabaja conjuntamente con el protocolo HTTP, creando un protocolo de transmisión de hipertexto seguro (HTTPS).
Tipos de Criptografía Utilizados
- Criptografía Simétrica o de clave compartida.
- Criptografía Asimétrica o de clave pública-privada.
Firma Digital: Proceso y Garantía
La Firma Digital es una porción de código que se adjunta a un mensaje y que garantiza al destinatario la identidad del remitente y la integridad del mensaje.
Proceso de la Firma Digital
- El usuario origen aplica un algoritmo hash sobre los datos y genera un valor hash.
- El usuario origen, con su clave privada, transforma el valor hash en una firma digital.
- El usuario origen envía al destino los datos, la firma y el certificado digital.
- El usuario destino aplica el algoritmo hash a los datos recibidos, con lo que genera un valor hash.
- El usuario destino utiliza la clave pública del usuario origen y el valor hash obtenido para comprobar la firma.
Si la firma coincide, se confirma que el mensaje no ha sido modificado y que el único usuario que ha podido firmarlo es el remitente.
Garantías Proporcionadas por SSL/TLS
El protocolo SSL utiliza una clave de sesión que se genera en cada transacción.
- Confidencialidad: Cifra la información transferida.
- Integridad: Controla cualquier modificación mientras se transmite.
- Autenticación del servidor: Asegura la identidad del servidor al que se establece la conexión.
- Autenticación del cliente: El servidor conoce la identidad del usuario y le permite o no el acceso a áreas protegidas.
Fases de Comunicación SSL/TLS
La comunicación se realiza en dos fases:
- Fase de Saludo (Handshake): El cliente y el servidor se identifican mediante el intercambio de claves públicas y se autentican utilizando certificados digitales.
- Fase de Comunicación: Se realiza el intercambio de datos utilizando, generalmente, una clave de tipo simétrico.