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:

  1. El usuario especifica en el navegador la dirección que quiere consultar (http://dirección[:puerto][path]).
  2. El navegador decodifica la información de la URL, diferenciando protocolo, IP o nombre, puerto, etc.
  3. El navegador establece una conexión con el servidor web y solicita la página.
  4. El servidor envía dicha página (si no existe, envía un código de error) y el navegador interpreta el HTML recibido.
  5. 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:

  1. 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.
  2. Permitir la negociación de contenido. El cliente, en su petición, incluye los tipos MIME que acepta.
  3. 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.
Autorización: El servidor comprueba que el usuario validado tiene acceso a la información que solicita. El servidor dispone de una lista de los usuarios que pueden acceder a los recursos ofrecidos. Control de Acceso: Establece y controla las máquinas que tienen acceso a un recurso, independientemente del usuario que acceda.

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

  1. El usuario origen aplica un algoritmo hash sobre los datos y genera un valor hash.
  2. El usuario origen, con su clave privada, transforma el valor hash en una firma digital.
  3. El usuario origen envía al destino los datos, la firma y el certificado digital.
  4. El usuario destino aplica el algoritmo hash a los datos recibidos, con lo que genera un valor hash.
  5. 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:

  1. Fase de Saludo (Handshake): El cliente y el servidor se identifican mediante el intercambio de claves públicas y se autentican utilizando certificados digitales.
  2. Fase de Comunicación: Se realiza el intercambio de datos utilizando, generalmente, una clave de tipo simétrico.

Entradas relacionadas: