Principios de diseño de seguridad: el marco CIAAN

Objetivos: Al terminar este tema, podrás…

  • Entender los cinco principios fundamentales de seguridad (CIAAN) y por qué importan
  • Identificar qué principio se aplica en situaciones cotidianas y profesionales
  • Dar ejemplos de controles que protegen cada principio
  • Reconocer que a veces hay que elegir entre principios (trade-offs)

El marco CIAAN como herramienta de ingeniería

En temas anteriores analizamos amenazas y actores. Ahora respondemos la pregunta central del diseño de seguridad: ¿qué propiedades debe garantizar un sistema seguro?

El marco CIAAN define cinco propiedades fundamentales que todo sistema debe proteger:

PrincipioPregunta de diseño
Confidencialidad¿Quién puede acceder a esta información?
Integridad¿Cómo garantizo que los datos no fueron alterados?
Autenticación¿Cómo verifico la identidad de usuarios y sistemas?
Availability (Disponibilidad)¿Cómo garantizo acceso cuando se necesita?
No repudio¿Cómo pruebo quién realizó cada acción?

Como ingeniero, usarás estos principios para:

  1. Definir requisitos de seguridad — ¿Qué necesita protección en este sistema?
  2. Elegir controles — ¿Qué mecanismos protegen cada principio?
  3. Justificar decisiones — “Implementamos X para proteger Y”

Los cinco principios

1. Confidencialidad

Definición: Propiedad que garantiza que la información solo es accesible para entidades autorizadas.

Pregunta de diseño: ¿Quién debe poder leer esta información, y cómo evito que otros la vean?

Analogía cotidiana

Piensa en una carta dentro de un sobre cerrado. Cualquiera puede ver que existe la carta, pero solo quien abre el sobre puede leer su contenido. El cifrado funciona como ese sobre: transforma la información para que solo quien tenga la “llave” pueda leerla.

Controles básicos

Control¿Qué hace?
CifradoTransforma los datos para que solo quien tenga la clave pueda leerlos
Control de accesoDefine quién puede ver qué información (roles, permisos)
Clasificación de datosEtiqueta la información por sensibilidad: pública, interna, confidencial

Ejemplo práctico: Sistema de notas de la universidad

Imagina el portal donde consultas tus calificaciones. ¿Quién debe ver qué?

  • puedes ver tus propias notas
  • Tu profesor puede ver las notas de los estudiantes de su curso
  • La secretaría puede ver las notas de todos los estudiantes
  • Otro estudiante no debe poder ver tus notas

¿Qué controles necesitas? Un sistema de roles (estudiante, profesor, administrativo) y cifrado de los datos almacenados, para que incluso si alguien accede a la base de datos directamente, no pueda leer las notas.


2. Integridad

Definición: Propiedad que garantiza que la información no ha sido modificada, eliminada o creada sin autorización.

Pregunta de diseño: ¿Cómo detecto si alguien alteró estos datos?

Analogía cotidiana

Piensa en el sello de seguridad de un medicamento. Si el sello está roto, sabes que alguien lo abrió antes que tú — aunque no sepas quién. Un hash funciona de manera similar: es una “huella digital” del dato que cambia por completo si alguien modifica incluso un solo carácter.

Controles básicos

Control¿Qué hace?
HashesGeneran una “huella digital” del dato; si el dato cambia, el hash cambia
Firmas digitalesPrueban quién creó o aprobó un dato y que no fue alterado después
Validación de datosVerifica que los datos cumplen las reglas esperadas antes de aceptarlos
Control de versionesRegistra cada cambio hecho a un archivo, permitiendo ver el historial

Ejemplo práctico: Acta de calificaciones

Un profesor sube las notas finales al sistema. ¿Cómo garantizas que nadie las modifica después?

  • El sistema calcula un hash del acta al momento de subirla
  • Si alguien cambia una nota (por ejemplo, de 3.0 a 5.0), el hash ya no coincide y el sistema detecta la alteración
  • Cada cambio queda registrado: quién lo hizo, cuándo, y cuál era el valor anterior

3. Disponibilidad (Availability)

Definición: Propiedad que garantiza que sistemas y datos estén accesibles para usuarios autorizados cuando los necesiten.

Pregunta de diseño: ¿Cómo garantizo que el sistema funcione cuando lo necesitan?

Analogía cotidiana

Piensa en un cajero automático. No importa cuánta seguridad tenga si nunca funciona — un cajero que está siempre fuera de servicio no le sirve a nadie. La disponibilidad es asegurar que el servicio esté ahí cuando lo necesitas.

Controles básicos

Control¿Qué hace?
Copias de respaldo (backups)Permiten recuperar datos si se pierden o se dañan
RedundanciaTener servidores o sistemas duplicados por si uno falla
Protección contra sobrecargaLimitar peticiones para evitar que un atacante sature el sistema

Métricas de disponibilidad

Los servicios profesionales definen su compromiso de disponibilidad con un SLA (acuerdo de nivel de servicio):

SLADowntime permitido al año
99%Hasta 3.65 días
99.9%Hasta 8.76 horas

A mayor disponibilidad, mayor esfuerzo e inversión se necesitan.

Ejemplo práctico: Portal de inscripciones

Cada semestre, miles de estudiantes intentan inscribir materias al mismo tiempo. Si el portal se cae, nadie puede inscribirse.

  • Se necesitan servidores redundantes para que si uno falla, otro tome su lugar
  • Protección contra sobrecarga para manejar los picos de tráfico
  • Copias de respaldo de los datos de inscripción, por si algo sale mal

4. Autenticación

Definición: Proceso de verificar que una entidad (usuario, dispositivo, sistema) es quien afirma ser.

Pregunta de diseño: ¿Cómo verifico la identidad antes de conceder acceso?

Analogía cotidiana

Piensa en la entrada a un edificio. El guardia te pide el carné estudiantil (algo que tienes) y te reconoce la cara (algo que eres). Combinar varios métodos de verificación es más seguro que usar solo uno — esto es lo que llamamos autenticación multifactor (MFA).

Factores de autenticación

FactorTipoEjemplosFortaleza
ConocimientoAlgo que sabesContraseña, PIN, respuesta secretaBaja (se puede robar o adivinar)
PosesiónAlgo que tienesTeléfono, llave USB, tarjetaMedia
InherenciaAlgo que eresHuella dactilar, rostro, irisAlta (difícil de transferir)

La autenticación multifactor (MFA) combina dos o más factores. Por ejemplo, tu contraseña (conocimiento) + un código enviado a tu teléfono (posesión).

Ejemplo práctico: Correo universitario

Cuando accedes a tu correo universitario:

  1. Escribes tu contraseña (factor de conocimiento)
  2. La universidad puede pedirte un código de verificación en tu teléfono (factor de posesión)
  3. Si fallas la contraseña varias veces, el sistema bloquea temporalmente tu cuenta

¿Por qué MFA? Porque si alguien roba tu contraseña, aún necesitaría tu teléfono para acceder.


5. No repudio

Definición: Propiedad que impide que una entidad niegue haber realizado una acción que efectivamente realizó.

Pregunta de diseño: ¿Cómo pruebo quién hizo qué y cuándo?

Analogía cotidiana

Piensa en firmar un contrato ante notario. Después no puedes decir “yo nunca firmé eso”, porque existe un testigo y un registro oficial. El no repudio digital funciona igual: se crean pruebas (firmas digitales, registros) que vinculan una acción con una persona.

Controles básicos

Control¿Qué hace?
Firmas digitalesPrueban que una persona específica aprobó un documento o transacción
Registros de actividad (logs)Guardan un historial de quién hizo qué y cuándo
Marcas de tiempoPrueban el momento exacto en que ocurrió una acción

Requisitos para no repudio efectivo

  1. Autenticación fuerte — Saber con certeza quién realizó la acción
  2. Registros que no se puedan alterar — No poder borrar o modificar la evidencia después
  3. Marca de tiempo verificable — Probar cuándo ocurrió

Ejemplo práctico: Entrega de un trabajo en la plataforma

Cuando subes un trabajo a la plataforma de tu universidad:

  • El sistema registra tu usuario (autenticación) y la hora exacta de la entrega
  • Se genera una huella digital (hash) del archivo que subiste
  • Si después dices “yo lo subí a tiempo” o el profesor dice “ese no fue el archivo original”, el sistema tiene evidencia para resolver la disputa

Concesiones entre principios

En la práctica, los principios pueden entrar en conflicto. Como ingeniero, debes encontrar el balance adecuado:

Confidencialidad vs. Disponibilidad

Más confidencialidadMás disponibilidad
Cifrado de todoDatos accesibles rápidamente
Acceso muy restrictivoAcceso amplio para productividad
Múltiples pasos de verificaciónAcceso con un solo paso

Ejemplo: En la sala de emergencias de un hospital, un médico necesita acceder al historial de un paciente inconsciente ahora, aunque el paciente no pueda dar su consentimiento. Aquí la disponibilidad (salvar la vida) pesa más que la confidencialidad estricta.

Integridad vs. Velocidad

Más integridadMás velocidad
Verificar cada dato antes de guardarloGuardar primero, verificar después
Revisar cada cambio con múltiples aprobacionesPermitir cambios rápidos

Ejemplo: En un sistema de calificaciones, cada cambio de nota debería requerir verificación (integridad), aunque eso haga el proceso más lento. En un chat en tiempo real, la velocidad importa más.

No repudio vs. Privacidad

Más no repudioMás privacidad
Registrar toda la actividad en detalleGuardar la menor cantidad de datos posible
Identificar completamente a cada usuarioPermitir anonimato

Ejemplo: Las leyes de protección de datos (como el habeas data en Colombia) exigen minimizar los datos retenidos, lo que puede chocar con la necesidad de guardar registros detallados de auditoría.


Ejercicio: Piensa en tu universidad

En lugar de analizar arquitecturas complejas, piensa en los sistemas que usas todos los días en tu universidad. Para cada uno, identifica qué principios CIAAN son más importantes:

Sistema¿Qué principios son prioritarios?¿Por qué?
Portal de notas
Correo institucional
Red WiFi del campus
Plataforma de clases virtuales

Conceptos clave

TérminoDefinición
CIAANMarco de cinco principios fundamentales de seguridad
ConfidencialidadInformación accesible solo para entidades autorizadas
IntegridadInformación no alterada sin autorización
DisponibilidadSistemas accesibles cuando se necesitan
AutenticaciónVerificación de identidad de entidades
No repudioImposibilidad de negar acciones realizadas
MFAAutenticación que combina múltiples factores
SLAAcuerdo de nivel de servicio con garantías de disponibilidad

Ponte a prueba

  1. Identifica los principios: Tu universidad lanza una nueva app para pagar la matrícula. Identifica qué principios CIAAN son relevantes y sugiere al menos un control para cada uno.

  2. Análisis de trade-offs: Un hospital necesita un sistema de historiales médicos. ¿Cómo balancearías confidencialidad (proteger datos del paciente) con disponibilidad (acceso en emergencias)?

  3. Evaluación: Piensa en un sistema que usas todos los días (red social, correo, plataforma de streaming). ¿Qué principios están bien protegidos y cuáles podrían mejorar?

  4. Caso de falla: El incidente de Equifax (2017) expuso datos de 147 millones de personas. Investiga brevemente qué pasó y responde: ¿qué principios CIAAN fallaron? ¿Qué controles habrían ayudado?


Laboratorio práctico: Fundamentos de criptografía aplicada

Tiempo estimado: 120 minutos Requisitos: Navegador web Herramientas: CyberChef (herramienta de criptografía en el navegador, sin instalación), CrackStation (búsqueda de hashes)

Objetivo

Experimentar con los mecanismos criptográficos fundamentales que protegen confidencialidad, integridad y no repudio, observando su comportamiento en la práctica.

Parte 1: Hashing para integridad (25 min)

Los hashes permiten verificar que un dato no ha sido modificado. Vamos a observar esto directamente.

Ejercicio 1.1: Efecto avalancha

  1. Abre CyberChef
  2. En el panel de operaciones (izquierda), busca SHA2 y arrastra la operación SHA2 al área de “Recipe”
  3. Asegúrate de que el tamaño sea 256 bits
  4. En el campo “Input” escribe: Este es un documento confidencial con datos importantes.
  5. Observa el hash en “Output” y cópialo

Ahora modifica un solo carácter — cambia el punto final por un signo de exclamación: Este es un documento confidencial con datos importantes!

Responde:

  • ¿Cuántos caracteres del hash cambiaron?
  • ¿El nuevo hash se parece al anterior? ¿Por qué esta propiedad (efecto avalancha) es importante para la integridad?

Ejercicio 1.2: MD5 vs SHA-256

  1. Limpia el input y escribe: password123
  2. Observa el hash SHA-256 en el Output y anota su longitud
  3. Ahora deshabilita la operación SHA2 (haz clic en el ícono de pausa ⏸ junto a ella) y agrega una operación MD5 a la receta
  4. Observa el hash MD5 en el Output y compara su longitud con el SHA-256 anterior

Responde:

  • ¿Cuál produce un hash más largo? ¿Qué implica esto para la resistencia a colisiones?
  • ¿Por qué SHA-256 se considera más seguro que MD5?

Parte 2: Almacenamiento de contraseñas (25 min)

Las contraseñas nunca deben almacenarse en texto plano. Veamos por qué algunos métodos son inseguros.

Ejercicio 2.1: Vulnerabilidad de MD5

  1. En CyberChef, usa la operación MD5
  2. Calcula el hash MD5 de estas contraseñas comunes, una por una:
    • 123456
    • password
    • admin
  3. Copia cada hash MD5 y pégalo en CrackStation
  4. Observa si CrackStation encuentra la contraseña original

⚠️ Importante: Verifica que el contador en la barra inferior del Input muestre = 1 (una sola línea). Si muestra = 2, hay un salto de línea al final que cambia el hash. Bórralo antes de copiar el resultado.

Responde:

  • ¿Cuántas contraseñas logró recuperar CrackStation? ¿Cómo lo hizo?
  • ¿Qué es una tabla rainbow y por qué hace vulnerable al MD5 simple?

Ejercicio 2.2: La importancia del salt

Imagina que dos usuarios tienen la misma contraseña password123. Sin salt:

  • Hash usuario A: ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f
  • Hash usuario B: ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f

Con salt (texto aleatorio agregado antes del hash):

  1. En CyberChef, calcula SHA-256 de: salt_aleatorio_A:password123
  2. Luego calcula SHA-256 de: salt_aleatorio_B:password123

Responde:

  • ¿Los hashes con salt son iguales o diferentes? ¿Por qué?
  • ¿Cómo el salt protege contra ataques de tabla rainbow?
  • Investiga: ¿Qué ventaja adicional tienen bcrypt y Argon2 sobre un simple hash con salt?

Parte 3: Cifrado simétrico para confidencialidad (30 min)

AES-256 protege datos en reposo y en tránsito. Vamos a experimentar con cifrado y descifrado.

Ejercicio 3.1: Cifrar y descifrar con AES

  1. En CyberChef, busca y arrastra la operación AES Encrypt a la receta
  2. Configura:
    • Key: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef (64 caracteres hex = 256 bits)
    • IV: 00112233445566778899aabbccddeeff
    • Mode: CBC
    • Input: Raw
    • Output: Hex
  3. En Input escribe: Datos confidenciales del paciente: Juan Perez
  4. Copia el texto cifrado del Output

Ahora descifra:

  1. Limpia la receta y agrega la operación AES Decrypt
  2. Usa la misma Key, IV, Mode
    • Input: Hex
    • Output: Raw
  3. Pega el texto cifrado como Input
  4. Verifica que recuperas el mensaje original

Ejercicio 3.2: Clave incorrecta

  1. Intenta descifrar el mismo texto cifrado pero cambiando un solo carácter de la Key
  2. Observa el resultado

Responde:

  • ¿Pudiste recuperar el mensaje con la clave incorrecta? ¿Qué obtuviste?
  • ¿Por qué el cifrado simétrico se llama “simétrico”?
  • ¿Dónde almacenarías la clave de cifrado de forma segura en un sistema real?

Ejercicio 3.3: El rol del IV (Vector de Inicialización)

  1. Cifra el mismo mensaje con la misma Key usando el IV original: 00112233445566778899aabbccddeeff
  2. Vuelve a cifrar el mismo mensaje con la misma Key pero cambia el primer byte del IV: ff112233445566778899aabbccddeeff
  3. Compara los dos textos cifrados obtenidos

Responde:

  • ¿Los textos cifrados son iguales o diferentes? ¿Por qué?
  • ¿Qué pasaría si siempre usaras el mismo IV? ¿Qué podría descubrir un atacante?

Parte 4: Firmas digitales para no repudio (20 min)

Las firmas digitales prueban quién creó un mensaje y que no fue alterado. A diferencia del cifrado simétrico (una sola clave), las firmas usan criptografía asimétrica (par de claves: privada y pública).

Analiza el siguiente proceso de firma digital:

FIRMA:
1. Documento original: "Transfiero $10,000 a la cuenta 123456789"
2. Se calcula hash SHA-256 del documento → a1b2c3d4...
3. Se cifra el hash con la CLAVE PRIVADA del firmante → firma: x9y8z7...
4. Se envía: documento + firma

VERIFICACIÓN:
1. Se recibe: documento + firma
2. Se calcula hash SHA-256 del documento recibido → a1b2c3d4...
3. Se descifra la firma con la CLAVE PÚBLICA del firmante → a1b2c3d4...
4. Se comparan los hashes: ¿son iguales? → ✅ Firma válida

Ejercicio 4.1: Responde para cada escenario — ¿la verificación pasaría o fallaría? ¿Por qué?

Escenario¿Firma válida?¿Por qué?
Se envía el documento original sin modificaciones
Un atacante cambia “100,000”
Un atacante intercepta y reenvía el documento original sin cambios
El firmante niega haber firmado el documento
Se usa la clave pública de otra persona para verificar

Ejercicio 4.2: Responde:

  • ¿Por qué solo la clave privada puede firmar pero cualquiera con la pública puede verificar?
  • ¿Cómo se relaciona esto con el principio de no repudio?
  • ¿Qué pasaría si la clave privada de una organización es comprometida?

Entregable

Redacta un informe de criptografía aplicada que incluya:

  1. Capturas de pantalla de tus experimentos en CyberChef (hashing de la Parte 1 y cifrado AES de la Parte 3). La Parte 4 es un análisis conceptual; no requiere capturas de herramientas.
  2. Respuestas razonadas a todas las preguntas de cada parte
  3. Tabla de mapeo CIAAN: Para cada mecanismo criptográfico, indica qué principio(s) CIAAN protege y cómo:

💡 Un mecanismo puede proteger más de un principio. Indica todos los que apliquen y explica cómo lo hace cada uno.

MecanismoPrincipio(s) CIAAN¿Cómo lo protege?
Hash (SHA-256)
Salt + hash lento
Cifrado simétrico (AES)
Firma digital
  1. Reflexión final (1 párrafo): ¿Por qué no deberías inventar tus propios algoritmos de cifrado?

Criterios de evaluación:

CriterioPuntos
Ejercicios de hashing completados con capturas20
Análisis de almacenamiento de contraseñas20
Ejercicios de cifrado AES completados con capturas25
Análisis de firmas digitales20
Tabla de mapeo CIAAN y reflexión15

Navegación:Anterior | Inicio | Siguiente: Taller de proyecto