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:
| Principio | Pregunta 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:
- Definir requisitos de seguridad — ¿Qué necesita protección en este sistema?
- Elegir controles — ¿Qué mecanismos protegen cada principio?
- 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? |
|---|---|
| Cifrado | Transforma los datos para que solo quien tenga la clave pueda leerlos |
| Control de acceso | Define quién puede ver qué información (roles, permisos) |
| Clasificación de datos | Etiqueta 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é?
- Tú 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? |
|---|---|
| Hashes | Generan una “huella digital” del dato; si el dato cambia, el hash cambia |
| Firmas digitales | Prueban quién creó o aprobó un dato y que no fue alterado después |
| Validación de datos | Verifica que los datos cumplen las reglas esperadas antes de aceptarlos |
| Control de versiones | Registra 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 |
| Redundancia | Tener servidores o sistemas duplicados por si uno falla |
| Protección contra sobrecarga | Limitar 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):
| SLA | Downtime 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
| Factor | Tipo | Ejemplos | Fortaleza |
|---|---|---|---|
| Conocimiento | Algo que sabes | Contraseña, PIN, respuesta secreta | Baja (se puede robar o adivinar) |
| Posesión | Algo que tienes | Teléfono, llave USB, tarjeta | Media |
| Inherencia | Algo que eres | Huella dactilar, rostro, iris | Alta (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:
- Escribes tu contraseña (factor de conocimiento)
- La universidad puede pedirte un código de verificación en tu teléfono (factor de posesión)
- 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 digitales | Prueban 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 tiempo | Prueban el momento exacto en que ocurrió una acción |
Requisitos para no repudio efectivo
- Autenticación fuerte — Saber con certeza quién realizó la acción
- Registros que no se puedan alterar — No poder borrar o modificar la evidencia después
- 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 confidencialidad | Más disponibilidad |
|---|---|
| Cifrado de todo | Datos accesibles rápidamente |
| Acceso muy restrictivo | Acceso amplio para productividad |
| Múltiples pasos de verificación | Acceso 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 integridad | Más velocidad |
|---|---|
| Verificar cada dato antes de guardarlo | Guardar primero, verificar después |
| Revisar cada cambio con múltiples aprobaciones | Permitir 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 repudio | Más privacidad |
|---|---|
| Registrar toda la actividad en detalle | Guardar la menor cantidad de datos posible |
| Identificar completamente a cada usuario | Permitir 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érmino | Definición |
|---|---|
| CIAAN | Marco de cinco principios fundamentales de seguridad |
| Confidencialidad | Información accesible solo para entidades autorizadas |
| Integridad | Información no alterada sin autorización |
| Disponibilidad | Sistemas accesibles cuando se necesitan |
| Autenticación | Verificación de identidad de entidades |
| No repudio | Imposibilidad de negar acciones realizadas |
| MFA | Autenticación que combina múltiples factores |
| SLA | Acuerdo de nivel de servicio con garantías de disponibilidad |
Ponte a prueba
-
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.
-
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)?
-
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?
-
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
- Abre CyberChef
- En el panel de operaciones (izquierda), busca SHA2 y arrastra la operación SHA2 al área de “Recipe”
- Asegúrate de que el tamaño sea 256 bits
- En el campo “Input” escribe:
Este es un documento confidencial con datos importantes. - 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
- Limpia el input y escribe:
password123 - Observa el hash SHA-256 en el Output y anota su longitud
- 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
- 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
- En CyberChef, usa la operación MD5
- Calcula el hash MD5 de estas contraseñas comunes, una por una:
123456passwordadmin
- Copia cada hash MD5 y pégalo en CrackStation
- 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):
- En CyberChef, calcula SHA-256 de:
salt_aleatorio_A:password123 - 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
- En CyberChef, busca y arrastra la operación AES Encrypt a la receta
- Configura:
- Key:
0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef(64 caracteres hex = 256 bits) - IV:
00112233445566778899aabbccddeeff - Mode: CBC
- Input: Raw
- Output: Hex
- Key:
- En Input escribe:
Datos confidenciales del paciente: Juan Perez - Copia el texto cifrado del Output
Ahora descifra:
- Limpia la receta y agrega la operación AES Decrypt
- Usa la misma Key, IV, Mode
- Input: Hex
- Output: Raw
- Pega el texto cifrado como Input
- Verifica que recuperas el mensaje original
Ejercicio 3.2: Clave incorrecta
- Intenta descifrar el mismo texto cifrado pero cambiando un solo carácter de la Key
- 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)
- Cifra el mismo mensaje con la misma Key usando el IV original:
00112233445566778899aabbccddeeff - Vuelve a cifrar el mismo mensaje con la misma Key pero cambia el primer byte del IV:
ff112233445566778899aabbccddeeff - 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:
- 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.
- Respuestas razonadas a todas las preguntas de cada parte
- 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.
| Mecanismo | Principio(s) CIAAN | ¿Cómo lo protege? |
|---|---|---|
| Hash (SHA-256) | ||
| Salt + hash lento | ||
| Cifrado simétrico (AES) | ||
| Firma digital |
- Reflexión final (1 párrafo): ¿Por qué no deberías inventar tus propios algoritmos de cifrado?
Criterios de evaluación:
| Criterio | Puntos |
|---|---|
| Ejercicios de hashing completados con capturas | 20 |
| Análisis de almacenamiento de contraseñas | 20 |
| Ejercicios de cifrado AES completados con capturas | 25 |
| Análisis de firmas digitales | 20 |
| Tabla de mapeo CIAAN y reflexión | 15 |
Navegación: ← Anterior | Inicio | Siguiente: Taller de proyecto →