Dominio 4b: Arquitectura y diseño seguros

Por: Artiko
csslpisc2seguridadarquitecturacriptografiaclouddiseno

Dominio 4b: Arquitectura y diseño seguros

Este capítulo cierra el Dominio 4 (el de mayor peso, 15%). Si el capítulo anterior respondía a “¿qué puede salir mal?”, este responde a “¿qué construimos y qué hacemos al respecto?”: cómo se estructura una solución para que la seguridad sea una propiedad de la arquitectura y no un parche. El arquitecto de seguridad piensa en controles, interfaces, tecnologías reutilizables, modelos formales y topología operacional.

flowchart LR
    TM[Amenazas identificadas] --> AS[Arquitectura de seguridad]
    AS --> IC[Identificación de controles]
    IC --> P[Priorización por riesgo]
    P --> DI[Diseño de interfaces]
    P --> TR[Tecnologías reutilizables]
    P --> OA[Arquitectura operacional]

4.1 Definir la arquitectura de seguridad

La arquitectura de seguridad traduce las amenazas y requisitos en un conjunto priorizado de controles. La actividad clave es la identificación de controles: para cada amenaza, elegir el control (o combinación) que la mitiga, y priorizarlo según el riesgo (probabilidad × impacto) y la clasificación de los activos afectados.

Los controles se clasifican por su naturaleza y su función:

Por funciónDescripciónEjemplo
PreventivoEvita que el incidente ocurraAutenticación, cifrado, validación
DetectivoDetecta el incidente en curso o consumadoLogging, IDS, monitoreo
CorrectivoRestaura tras el incidenteBackups, failover, parches
DisuasorioDesincentiva al atacanteAvisos legales, banners
CompensatorioSustituto cuando el control ideal no es viableMFA cuando no se puede segmentar

El arquitecto aplica defense in depth (defensa en profundidad): múltiples capas de controles, de modo que la falla de uno no comprometa el sistema. Y fail secure: ante un fallo, el sistema debe quedar en estado seguro (denegar por defecto), no abierto.

💡 Tip de examen: la selección de controles se prioriza por riesgo, no por costo ni por facilidad. Y la mentalidad correcta es defense in depth: nunca un único control como punto de fallo. Ante un fallo, fail secure (denegar), no fail open.


4.2 Diseño seguro de interfaces

Las interfaces son las fronteras del sistema, y por tanto puntos críticos de seguridad. El diseño seguro de interfaces cubre APIs, canales upstream/downstream, protocolos, administración e interfaces de log.

💡 Tip de examen: las interfaces de administración van out-of-band (canal separado), nunca por la misma red que los usuarios. Y nunca confíes en que “un servicio interno ya validó”: cada interfaz valida y autentica de nuevo (complete mediation).


4.3 Tecnologías reutilizables seguras

Un arquitecto evalúa y selecciona componentes de seguridad probados en lugar de reinventarlos. El principio rector es “no construyas tu propia seguridad si existe una solución madura y auditada”.

Gestión de credenciales y hardware de confianza

TecnologíaQué esPara qué sirve
Credential vaultAlmacén cifrado de secretos (Vault, KMS)Centralizar y rotar secretos, sacarlos del código
HSM (Hardware Security Module)Dispositivo dedicado a operaciones criptográficasGenerar/almacenar claves; la clave nunca sale del hardware
TPM (Trusted Platform Module)Chip en la placa baseAnclaje de confianza, sellado de claves, medición de arranque
TEE (Trusted Execution Environment)Enclave aislado en el procesador (SGX, TrustZone)Ejecutar código sensible aislado del SO
Secure containersContenedores endurecidos y aisladosAislamiento de cargas de trabajo

La diferencia que el examen valora: HSM es un dispositivo dedicado (a menudo externo, certificado FIPS 140-2/3) para gestión de claves a escala; TPM es un chip integrado en un equipo concreto, orientado a la integridad de la plataforma. Ambos mantienen las claves fuera del alcance del software.

Identidad federada y SSO

EstándarTipoUso principal
OAuth 2.0Autorización (delegación de acceso)Conceder a una app acceso limitado a recursos sin compartir credenciales
OIDC (OpenID Connect)Autenticación sobre OAuth 2.0Verificar identidad; añade el ID token
SAMLAutenticación y SSO (XML)SSO empresarial, federación entre organizaciones

Distinción crítica: OAuth 2.0 es autorización, OIDC es autenticación. OAuth por sí solo delega acceso a recursos; OIDC añade la capa de identidad. SAML es la opción empresarial clásica (basada en XML) para SSO federado. La federación de identidad permite confiar en un proveedor de identidad (IdP) externo, evitando gestionar credenciales propias.

sequenceDiagram
    participant U as Usuario
    participant SP as Aplicación (SP)
    participant IdP as Proveedor de identidad
    U->>SP: Solicita acceso
    SP->>IdP: Redirige para autenticación
    U->>IdP: Se autentica (MFA)
    IdP-->>SP: Token/aserción firmada
    SP-->>U: Acceso concedido según claims

💡 Tip de examen: OAuth 2.0 = autorización, OIDC = autenticación (construido sobre OAuth), SAML = SSO empresarial en XML. Confundir OAuth con autenticación es un error clásico que el examen aprovecha.


4.6 Modelar propiedades y restricciones de seguridad: modelos formales

Los modelos formales de control de acceso son marcos teóricos que expresan matemáticamente qué operaciones son seguras. El examen no pide demostraciones, pero sí saber qué propiedad protege cada uno.

ModeloProtegeReglas claveFrase mnemónica
Bell-LaPadulaConfidencialidadNo read up (no leer por encima), no write down (property *)“No read up, no write down”
BibaIntegridadNo read down, no write up”No read down, no write up” (inverso de BLP)
Clark-WilsonIntegridad (comercial)Transacciones bien formadas + separación de funciones vía programas certificadosIntegridad mediante transacciones controladas
Brewer-Nash (Muralla China)Conflicto de interesesEl acceso previo restringe accesos futuros a competidoresEvita conflicto de intereses dinámicamente

💡 Tip de examen: Bell-LaPadula = confidencialidad (“no read up, no write down”); Biba = integridad (lo inverso). Si el escenario habla de proteger secretos, es BLP; si habla de proteger la integridad de los datos, es Biba. Clark-Wilson = transacciones bien formadas; Brewer-Nash = conflicto de intereses.


4.7 Arquitectura operacional segura

Define dónde y cómo se despliega el sistema para minimizar riesgo: la topología de red, las zonas de confianza y la separación de entornos.

flowchart LR
    I[Internet] --> FW1[Firewall perimetral]
    subgraph DMZ
        WAF[WAF] --> WEB[Servidor web]
    end
    FW1 --> WAF
    WEB --> FW2[Firewall interno]
    subgraph Zona interna
        APP[App server]
        DB[(Base de datos)]
    end
    FW2 --> APP
    APP --> DB

Las líneas de firewall del diagrama son trust boundaries operacionales: cada salto exige autenticación y filtrado. La base de datos nunca es accesible directamente desde Internet.

💡 Tip de examen: la DMZ aísla los servicios expuestos de la red interna; la segmentación limita el movimiento lateral. La base de datos va en la zona más interna, nunca expuesta directamente a Internet.


Patrones de diseño seguro

Los secure design patterns son soluciones reutilizables a problemas recurrentes de seguridad:

PatrónPropósito
Secure FactoryCrear objetos con su configuración de seguridad ya aplicada
Secure Proxy / GatekeeperInterponer un control de acceso ante el recurso protegido
Input ValidatorCentralizar la validación de entradas no confiables
Single Access PointUn único punto de entrada controlado (complete mediation)
Least PrivilegeComponentes con los mínimos permisos necesarios
Defense in DepthCapas redundantes de control

Estos patrones materializan los principios de diseño seguro (economy of mechanism, complete mediation, fail-safe defaults, separation of privilege, least common mechanism) en estructuras concretas de código y arquitectura.


Criptografía aplicada para el arquitecto

El arquitecto no implementa algoritmos, pero decide qué usar, dónde y cómo gestionar las claves. El examen es conceptual: entender propiedades y errores comunes.

Simétrica vs. asimétrica

AspectoSimétricaAsimétrica
ClavesUna clave compartidaPar pública/privada
VelocidadRápidaLenta
Uso típicoCifrar grandes volúmenes de datosIntercambio de claves, firmas
EjemplosAES, ChaCha20RSA, ECC
RetoDistribuir la clave de forma seguraGestión de confianza (PKI)

En la práctica se combinan: cifrado híbrido (asimétrico para intercambiar la clave de sesión, simétrico para los datos), como hace TLS.

Hashing y firmas

PKI, TLS y gestión de claves

Errores comunes de criptografía

💡 Tip de examen: nunca crypto casero; usa estándares probados. MD5, SHA-1 y DES están obsoletos. La gestión de claves es el punto débil habitual: un algoritmo fuerte con claves mal gestionadas es inseguro. Y para contraseñas: hashing lento con sal (Argon2/bcrypt), jamás MD5/SHA rápido.


Arquitecturas específicas

Cada estilo arquitectónico trae su propio modelo de amenazas y sus controles.

Cloud y responsabilidad compartida

En la nube, la seguridad se reparte entre proveedor y cliente según el modelo de servicio:

ModeloEl proveedor aseguraEl cliente asegura
IaaSHardware, virtualización, red físicaSO, aplicaciones, datos, accesos
PaaSLo anterior + SO y runtimeAplicaciones, datos, configuración
SaaSCasi toda la pilaDatos, gestión de usuarios y accesos

La regla constante: los datos y la gestión de identidades/accesos son siempre responsabilidad del cliente, en cualquier modelo. Malinterpretar el reparto es causa frecuente de brechas (buckets abiertos, permisos excesivos).

flowchart TD
    subgraph SaaS
        S1[Proveedor: casi todo]
        S2[Cliente: datos y accesos]
    end
    subgraph PaaS
        P1[Proveedor: hasta runtime]
        P2[Cliente: app, datos, config]
    end
    subgraph IaaS
        I1[Proveedor: infraestructura]
        I2[Cliente: SO, app, datos]
    end

Microservicios y service mesh

Muchos servicios pequeños amplían la superficie de ataque y el tráfico este-oeste. Controles: mTLS entre servicios, autenticación servicio a servicio, API gateway, y un service mesh (Istio, Linkerd) que gestiona identidad, cifrado y políticas de forma centralizada. Aplicar zero trust: ningún servicio confía en otro por estar “dentro”.

Contenedores y serverless

IoT/embebidos, mobile y rich clients

DRM, trusted computing y virtualización

💡 Tip de examen: en cloud, la responsabilidad compartida varía por modelo, pero datos y gestión de accesos siempre son del cliente. En microservicios y mobile, aplica zero trust y nunca confíes en el cliente: la validación de seguridad se repite en el servidor.


Arquitectura de referencia con trust boundaries

Reuniendo los conceptos, una arquitectura web segura típica define fronteras de confianza explícitas y coloca controles en cada cruce:

flowchart LR
    subgraph Internet["Zona no confiable - Internet"]
        User[Usuario]
    end
    subgraph Edge["DMZ"]
        WAF[WAF + API Gateway]
    end
    subgraph App["Zona de aplicación"]
        Auth[Servicio de identidad OIDC]
        Svc[Microservicios mTLS]
    end
    subgraph Data["Zona de datos"]
        Vault[Credential Vault / HSM]
        DB[(Base de datos cifrada)]
    end
    User -->|TLS 1.3| WAF
    WAF -->|autenticación| Auth
    WAF --> Svc
    Svc -->|mTLS| Svc
    Svc -->|secretos| Vault
    Svc -->|consulta parametrizada| DB

Cada zona es una trust boundary: el WAF valida y filtra la entrada pública, el servicio de identidad centraliza la autenticación (OIDC), los microservicios se comunican con mTLS, los secretos viven en un vault/HSM y la base de datos está cifrada en la zona más interna. Ningún componente confía ciegamente en el anterior: complete mediation y defense in depth en acción.


Puntos clave