1. Fundamentos de Seguridad.

1. Introducción.

1.1. Seguridad de la información: Conceptos.

La seguridad de la información es un campo multidisciplinar que abarca las tecnologías, los procesos y las prácticas necesarias para proteger la información frente a un amplio espectro de amenazas. Existen varias definiciones aceptadas en la industria y la academia:

TipDefiniciones formales.
  • ISO/IEC 17799: “La protección de la información frente a un amplio rango de amenazas, con el fin de garantizar la continuidad del negocio, minimizar el riesgo empresarial y maximizar el retorno de la inversión y las oportunidades de negocio.”
  • Microsoft Security Glossary: “La protección de los activos de información mediante el uso de tecnología, procesos y formación.”
  • Software Engineering Institute (Carnegie Mellon): “La capacidad de un sistema para gestionar, proteger y distribuir información sensible.”

Aunque las definiciones varían en el detalle, todas comparten el mismo núcleo: proteger la información de accesos, modificaciones o interrupciones no autorizadas.

Un concepto clave relacionado es el de vulnerabilidad: un error en cualquiera de las fases del ciclo de vida del software (análisis, diseño, desarrollo o implementación) puede producir, a posteriori, un fallo de seguridad. Este fallo es lo que se denomina vulnerabilidad. Como consecuencia de su explotación, se viola la política de seguridad del sistema, dejándolo en peligro.

NoteEscala del problema.

En una red como Internet, con sus dimensiones actuales (miles de millones de dispositivos y usuarios), el efecto de una vulnerabilidad explotada tiene un alcance potencialmente exponencial: un único fallo puede comprometer infraestructuras globales o afectar a millones de usuarios en cuestión de horas.


1.2. Ciclo de vida de la Seguridad.

La seguridad no es un estado puntual, sino un proceso continuo. La norma ISO 7498-2, que define la arquitectura de seguridad para sistemas de interconexión abiertos, establece que la seguridad debe aplicarse de forma transversal a todo el ciclo de vida de la información y los sistemas.

El ciclo de vida de la seguridad (tal como lo describe el Handbook of Applied Cryptography) contempla las siguientes fases, que se retroalimentan entre sí:

  1. Análisis de amenazas y riesgos: Identificar qué activos existen, qué amenazas los afectan y con qué probabilidad e impacto.
  2. Diseño de políticas y objetivos de seguridad: Definir qué se desea proteger y bajo qué condiciones, plasmado en una política de seguridad formal.
  3. Implementación de mecanismos de seguridad: Seleccionar y desplegar los controles técnicos y organizativos que satisfacen la política diseñada.
  4. Monitorización y auditoría: Verificar de forma continua que los mecanismos funcionan correctamente y detectar desviaciones.
  5. Revisión y mejora continua: Actualizar el sistema de seguridad en función de nuevas amenazas, vulnerabilidades descubiertas o cambios en el entorno.
NoteAnalogía del ciclo de vida.

Piensa en la seguridad como el mantenimiento de un edificio: no basta con construirlo bien (implementación); también hay que inspeccionar periódicamente las instalaciones (monitorización), reparar los desperfectos que aparezcan (mejora continua) y revisar el plano original si el uso del edificio cambia (revisión de políticas).


1.3. Modelo básico de escenario de Seguridad.

Para razonar sobre seguridad de forma sistemática, se recurre a un modelo de escenario básico que formaliza los actores y elementos presentes en cualquier comunicación susceptible de ser atacada.

Los elementos fundamentales del modelo son:

  • Emisor (Alice): La entidad que desea enviar información a otra parte.
  • Receptor (Bob): La entidad que desea recibir la información del emisor de forma segura.
  • Canal de comunicación: El medio por el que viaja la información. En Internet, este canal es públicamente accesible y, por tanto, potencialmente hostil.
  • Atacante (Mallory o Eve): Una entidad adversaria que puede interactuar con el canal. Convencionalmente se distingue entre:
    • Eve (eavesdropper, fisgón): solo escucha pasivamente el canal.
    • Mallory (malicious, malicioso): puede interceptar, modificar, eliminar o reinyectar mensajes de forma activa.
  • Tercera parte de confianza (Trent): Una entidad en quien ambos, Alice y Bob, confían. Puede desempeñar funciones de árbitro, distribuidor de claves, o notario, según el protocolo.
TipConvención de nombres.

El uso de nombres propios (Alice, Bob, Mallory, Trent, etc.) es una convención universalmente extendida en la literatura de criptografía y seguridad para clarificar los roles de cada actor. Es mucho más intuitivo que denominarlos “entidad A”, “entidad B” y “entidad adversaria”.

Un escenario realista añade complejidad: Alice y Bob pueden ser personas, servidores, aplicaciones o dispositivos. El canal puede ser una red LAN, Internet, una comunicación inalámbrica o incluso un canal físico. La presencia de Mallory no significa que esté siempre activo; puede que solo monitorice pasivamente y actúe más tarde.

Este modelo es la base sobre la que se construyen los protocolos de seguridad: cada protocolo define qué garantías ofrece a Alice y Bob frente a las posibles acciones de Mallory.


1.4. Ataques básicos.

Dentro del modelo de escenario, los ataques se clasifican según la naturaleza de la intervención del adversario sobre el canal de comunicación:

Ataques pasivos: El atacante únicamente observa el tráfico, sin alterarlo. Son difíciles de detectar porque no dejan rastro en el canal.

  • Escucha (eavesdropping): Interceptar el contenido de los mensajes para obtener información confidencial.
  • Análisis de tráfico (traffic analysis): Aunque el contenido esté cifrado, analizar patrones (quién habla con quién, cuándo, con qué frecuencia, qué volumen de datos) puede revelar información valiosa.

Ataques activos: El atacante manipula el canal de alguna forma. Son más difíciles de ejecutar, pero también más devastadores.

  • Suplantación de identidad (masquerade o spoofing): El atacante se hace pasar por Alice o Bob.
  • Modificación de mensajes (message tampering): El atacante altera el contenido de uno o varios mensajes en tránsito.
  • Repetición (replay attack): El atacante captura un mensaje legítimo y lo reenvía más tarde, sin necesidad de conocer su contenido.
  • Denegación de Servicio (Denial of Service, DoS): El atacante impide que Alice y Bob puedan comunicarse, por ejemplo inundando el canal o eliminando mensajes.
  • Hombre en el medio (Man-in-the-Middle, MitM): El atacante se sitúa entre Alice y Bob, retransmitiendo (y posiblemente modificando) todos los mensajes. Cada parte cree estar comunicándose directamente con la otra.
NoteAnalogía del ataque MitM.

Imagina que Alice y Bob se escriben cartas físicas. Un cartero malicioso (Mallory) las intercepta, las abre, las lee y/o modifica, y luego las sella de nuevo y las entrega. Ni Alice ni Bob saben que sus cartas han pasado por manos de Mallory. Un ataque MitM en una red funciona de la misma manera, pero a la velocidad de la luz.


2. Servicios y mecanismos de Seguridad.

Un servicio de seguridad es un servicio de procesamiento o comunicación que proporciona un tipo específico de protección a los recursos del sistema. Las definiciones más aceptadas son:

TipDefiniciones formales.
  • RFC 2828 (Internet Security Glossary): “Un servicio de procesamiento o comunicación que proporciona un tipo específico de protección a los recursos del sistema.”
  • ISO 7498-2 / ITU X.800: “Un servicio, proporcionado por una capa de sistemas abiertos en comunicación, que garantiza una seguridad adecuada de los sistemas o de las transferencias de datos.”

Los estándares ISO 7498-2 e ITU X.800 son los marcos de referencia internacionales que estructuran y definen los servicios y mecanismos de seguridad para sistemas de interconexión abiertos. Su estructura es la que se sigue en estas notas.


2.1. Las cinco categorías fundamentales.

Los estándares ISO 7498-2 e ITU X.800 dividen los servicios de seguridad en cinco grandes categorías, de las que se derivan catorce servicios específicos en total.

2.1.1. Confidencialidad.

Definición: Protección de los datos frente a su divulgación no autorizada. Garantiza que solo las entidades autorizadas puedan acceder al contenido de la información.

NoteAnalogía.

La confidencialidad es el equivalente digital de un sobre sellado: solo el destinatario legítimo puede abrirlo y leer el contenido. El mecanismo que la implementa habitualmente es el cifrado.

Los servicios específicos bajo esta categoría son:

  1. Connection Confidentiality: Protección de todos los datos de usuario a lo largo de una conexión establecida (orientada a conexión).
  2. Connectionless Confidentiality: Protección de todos los datos de usuario en un único bloque de datos (sin conexión previa, p. ej., un datagrama UDP).
  3. Selective-Field Confidentiality: Confidencialidad solo sobre campos seleccionados dentro del bloque de datos, dejando el resto en claro. Útil cuando es necesario enrutar o inspeccionar partes del mensaje.
  4. Traffic-Flow Confidentiality: Protección de la información que podría inferirse de la observación de los flujos de tráfico (frecuencia, volumen, origen/destino). Se implementa mediante técnicas como el traffic padding (relleno de tráfico con datos ficticios).
WarningAdvertencia sobre el análisis de tráfico.

Incluso si el contenido de todos los mensajes está perfectamente cifrado, un adversario que observe que Alice y Bob intercambian grandes volúmenes de datos justo antes de una OPA empresarial puede inferir información valiosa. La Traffic-Flow Confidentiality está diseñada precisamente para mitigar este riesgo.

2.1.2. Integridad.

Definición: Garantía de que los datos recibidos son exactamente los que envió una entidad autorizada; es decir, que no han sufrido modificación, inserción, borrado ni repetición no autorizados.

NoteAnalogía.

La integridad es como un sello de lacre en un sobre con el escudo del remitente: si alguien lo ha abierto y vuelto a cerrar, el sello quedará roto o falsificado. En digital, el mecanismo equivalente son los códigos de autenticación de mensaje (MAC) o las firmas digitales.

Los servicios específicos son:

  1. Connection Integrity with Recovery: Garantiza la integridad de todos los datos de usuario en una conexión y detecta cualquier modificación, inserción, borrado o repetición, intentando además recuperar el estado correcto.
  2. Connection Integrity without Recovery: Igual al anterior, pero solo detecta la violación, sin intentar recuperarse.
  3. Selective-Field Connection Integrity: Garantiza la integridad de campos seleccionados dentro de los datos de usuario de una conexión.
  4. Connectionless Integrity: Garantiza la integridad de un único bloque de datos sin conexión. Puede incluir una forma limitada de detección de repetición.
  5. Selective-Field Connectionless Integrity: Garantiza la integridad de campos seleccionados dentro de un único bloque de datos sin conexión.

2.1.3. Autenticidad.

La autenticidad se ocupa de corroborar el origen de la información: garantiza que los datos proceden de quien se afirma que proceden. También se conoce como autenticación de origen de datos (data origin authentication).

NoteDistinción clave: Autenticación de entidad vs. Autenticación de origen.

Es importante no confundir los dos servicios de autenticación definidos en X.800:

  • Autenticación de entidad (Peer Entity Authentication): Confirma la identidad de una entidad durante el establecimiento de una conexión (en tiempo real, de forma interactiva). Responde a la pregunta: ¿Estoy hablando con quien creo que estoy hablando ahora mismo?
  • Autenticación de origen de datos (Data-Origin Authentication): Confirma que el bloque de datos recibido proviene de la entidad declarada como origen, sin requerir una conexión en curso. Responde a la pregunta: ¿Quién creó este mensaje? Se aplica típicamente en transferencias sin conexión (correo electrónico firmado, documentos digitales, etc.).

Peer Entity Authentication: Se utiliza junto con una conexión lógica para proporcionar confianza en la identidad de las entidades conectadas. Previene la suplantación de identidad y los ataques de repetición durante la sesión.

Data-Origin Authentication: En una transferencia sin conexión, proporciona garantía de que la fuente de los datos recibidos es la declarada. No proporciona protección contra la repetición o modificación de unidades de datos.

2.1.4. Autenticación (Control de Acceso).

El Control de Acceso previene el uso no autorizado de recursos. Define quién puede acceder a un recurso, bajo qué condiciones y qué operaciones puede realizar sobre él.

TipDefinición (X.800).

“La prevención del uso no autorizado de un recurso (es decir, este servicio controla quién puede acceder a un recurso, bajo qué condiciones puede producirse el acceso, y qué se permite hacer a quienes acceden al recurso).”

El control de acceso se implementa mediante mecanismos como:

  • Listas de control de acceso (ACL): Tablas que especifican qué entidades tienen permiso sobre qué recursos y con qué nivel.
  • Capacidades (capabilities): Tokens que el sujeto presenta para demostrar su derecho de acceso a un objeto.
  • Atributos de seguridad y etiquetas: Metadatos asociados a sujetos y objetos que el sistema compara para conceder o denegar el acceso (común en sistemas de seguridad multinivel como los militares).
NoteRelación con la autenticación de entidad.

El control de acceso depende directamente de la autenticación de entidad: antes de decidir si alguien puede acceder a un recurso, el sistema necesita saber con certeza quién es esa entidad. Sin autenticación previa, el control de acceso carece de sentido. Por eso estos dos servicios aparecen frecuentemente juntos y su implementación está íntimamente ligada.

2.1.5. No repudio.

El no repudio proporciona protección frente a la negación, por parte de una de las entidades involucradas en una comunicación, de haber participado en toda o parte de dicha comunicación.

Es el servicio que responde a la pregunta: ¿Puedo demostrar ante un tercero (por ejemplo, un juez) que esta transacción ocurrió?

Los dos servicios específicos son:

  1. Nonrepudiation, Origin: Prueba que el mensaje fue enviado por la parte especificada. El receptor puede demostrar a un árbitro externo que el emisor envió el mensaje.
  2. Nonrepudiation, Destination: Prueba que el mensaje fue recibido por la parte especificada. El emisor puede demostrar a un árbitro externo que el receptor recibió el mensaje.
NoteEjemplo cotidiano.

El no repudio es el equivalente digital de un acuse de recibo notariado: cuando recibes un burofax, la agencia postal certifica que lo recibiste en una fecha determinada. Si más tarde niegas haberlo recibido, ese certificado es la prueba en tu contra. En digital, el mecanismo que implementa el no repudio son las firmas digitales, complementadas opcionalmente con un tercero de confianza (notario digital).

WarningNo repudio ≠ Autenticidad.

La autenticidad garantiza que los datos parecen provenir de un origen legítimo. El no repudio va más allá: garantiza que ese origen no puede negarlo ante un tercero. La firma digital es el único mecanismo criptográfico que proporciona ambas propiedades simultáneamente, siempre que la clave privada del firmante esté bajo su exclusivo control.


2.2. Jerarquía (Servicios, Protocolos, Mecanismos, Técnicas, etc.)

La arquitectura de seguridad se organiza en una jerarquía de niveles de abstracción, desde los objetivos de alto nivel (los servicios) hasta las herramientas matemáticas de bajo nivel (las técnicas criptográficas):

Servicios de seguridad
    └── Protocolos de seguridad
            └── Mecanismos de seguridad
                    └── Técnicas criptográficas

Cada nivel depende del inmediatamente inferior para su implementación. Los estándares ISO 7498-2 e ITU X.800 distinguen dos tipos de mecanismos de seguridad:

TipDefinición de mecanismo de seguridad (RFC 2828).

“Un proceso (o un dispositivo que incorpora dicho proceso) que puede utilizarse en un sistema para implementar un servicio de seguridad proporcionado por o dentro del sistema.”

Mecanismos específicos: Están directamente relacionados con un servicio de seguridad concreto.

Mecanismo Descripción
Cifrado (Encipherment) Transforma datos en un formato ininteligible para entidades no autorizadas.
Firma digital Permite verificar origen e integridad de un mensaje, y proporciona no repudio.
Control de acceso Mecanismos que implementan políticas de acceso (ACL, capabilities, etiquetas).
Integridad del dato MACs, hashes, checksums; garantizan que los datos no han sido alterados.
Autenticación Mecanismos de intercambio para verificar la identidad (contraseñas, certificados, etc.).
Padding de tráfico Relleno de canales con tráfico ficticio para dificultar el análisis de tráfico.
Control de enrutamiento Selección de rutas seguras o alternativas en la red.
Tercera parte de confianza (Trusted Third Party) Una entidad de confianza mutua que actúa como árbitro o notario (p. ej., una CA).

Mecanismos ubícuos: No están ligados a ningún servicio específico, sino que se aplican de forma transversal a todos los sistemas de seguridad.

Mecanismo Descripción
Controles de seguridad Políticas, procedimientos y salvaguardas organizativas.
Etiquetas de seguridad Marcas asociadas a recursos que indican su nivel de clasificación.
Certificación, validación y simulación Pruebas formales de que un sistema cumple sus especificaciones de seguridad.
Detección y prevención de eventos IDS/IPS y sistemas de monitorización continua.
Auditoría y accountability Registro de eventos para su análisis posterior y para responsabilizar a los actores.
Recuperación de la seguridad Procedimientos para restaurar el sistema a un estado seguro tras un incidente.
Análisis forense Técnicas para investigar incidentes y recolectar evidencias digitales.
Gestión de la confianza y reputación Sistemas para evaluar y gestionar la confianza entre entidades.

Relación entre Servicios y Mecanismos (ISO 7498-2 / X.800):

Los mecanismos no tienen una relación uno-a-uno con los servicios: un mismo mecanismo puede implementar varios servicios, y un servicio puede requerir varios mecanismos. La siguiente tabla resume las relaciones principales:

Servicio  Mecanismo Cifrado Firma digital Control acceso Integridad dato Autent. intercambio Padding tráfico Control enrutamiento Notarización
Autenticación de entidad Y Y · · Y · · ·
Autenticación de origen Y Y · · · · · ·
Servicio de control de acceso · · Y · · · · ·
Confidencialidad en conexión Y · · · · · Y ·
Confidencialidad sin conexión Y · · · · · Y ·
Confidencialidad de campo sel. Y · · · · · · ·
Confidencialidad de flujo Y · · · · Y Y ·
Integridad en conexión con rec. Y · · Y · · · ·
Integridad en conexión sin rec. Y · · Y · · · ·
Integridad campo sel. en conex. Y · · Y · · · ·
Integridad sin conexión Y Y · Y · · · ·
Integridad campo sel. sin conex. Y Y · Y · · · ·
No repudio de origen · Y · Y · · · Y
No repudio de destino · Y · Y · · · Y

(Y = el mecanismo es relevante para el servicio; · = no aplicable de forma directa)

Implementación por capas OSI:

Un aspecto clave de los estándares X.800 e ISO 7498-2 es que los servicios de seguridad pueden implementarse en distintas capas del modelo de referencia OSI, y no todos los servicios están disponibles en todas las capas:

Servicio Capa 1 Capa 2 Capa 3 Capa 4 Capas 5/6 Capa 7
Autenticación de entidad Y Y Y
Autenticación de origen Y Y Y
Control de acceso Y Y Y
Confidencialidad en conexión Y Y Y Y Y
Confidencialidad sin conexión Y Y Y Y
Confidencialidad de campo seleccionado Y
Confidencialidad de flujo de tráfico Y Y Y
Integridad en conexión con recuperación Y Y
Integridad en conexión sin recuperación Y Y Y
Integridad de campo selec. en conexión Y
Integridad sin conexión Y Y Y
Integridad de campo selec. sin conexión Y
No repudio de origen Y
No repudio de destino Y
NoteLectura de la tabla.

La tabla muestra que el no repudio solo puede proporcionarse en la capa de aplicación (capa 7), lo cual tiene sentido: el no repudio requiere contexto semántico (quién firmó qué documento con qué significado), algo que las capas inferiores no pueden proporcionar. Por el contrario, la confidencialidad en conexión puede implementarse desde la capa 1 (cifrado del canal físico) hasta la capa 7 (cifrado de la aplicación), ofreciendo una gran flexibilidad de diseño.

Resumen de la jerarquía:

En definitiva, la arquitectura de seguridad puede resumirse en la siguiente pila conceptual, donde cada nivel se apoya en el siguiente:

┌─────────────────────────────────────────────┐
│           SERVICIOS DE SEGURIDAD            │  ← ¿Qué protejo?
│   (Confidencialidad, Integridad, Auth...)   │
├─────────────────────────────────────────────┤
│          PROTOCOLOS DE SEGURIDAD            │  ← ¿Cómo lo orquesto?
│     (TLS, IPsec, Kerberos, PGP, SSH...)     │
├─────────────────────────────────────────────┤
│          MECANISMOS DE SEGURIDAD            │  ← ¿Qué herramientas uso?
│   (Cifrado, MACs, firmas, ACL, nonces...)   │
├─────────────────────────────────────────────┤
│         TÉCNICAS CRIPTOGRÁFICAS             │  ← ¿Qué matemáticas subyacen?
│   (AES, RSA, SHA-256, curvas elípticas...)  │
└─────────────────────────────────────────────┘

Esta jerarquía es fundamental para entender cómo se diseña y evalúa la seguridad de un sistema: un protocolo como TLS implementa servicios de confidencialidad, integridad y autenticación, haciendo uso de mecanismos como el cifrado simétrico y las firmas digitales, que a su vez se construyen sobre técnicas matemáticas como AES o RSA.