Be Software Architecture Wise
Be Wise Apps

Read in English · Lire en français · Auf Deutsch lesen

Capítulo 8 de 12 · De intermedio a avanzado

Seguridad, privacidad y cumplimiento desde el diseño

La seguridad y la privacidad son cualidades de la estructura de un sistema, determinadas por dónde se sitúan los límites de confianza, quién puede hacer qué y por dónde viajan los datos. Este capítulo trata los principios del diseño seguro, el modelado de amenazas con diagramas de flujo de datos, STRIDE y árboles de ataque, la identidad y el acceso con OAuth 2.0 y OpenID Connect, el cifrado, la gestión de claves y los secretos, zero trust entre servicios, la seguridad de la cadena de suministro de software, la privacidad desde el diseño en el marco del RGPD (GDPR) y la seguridad en operación. Está dirigido a desarrolladores y arquitectos que conocen las arquitecturas distribuidas y de datos de los Capítulos 6 y 7 y que ahora deben hacerlas seguras.

Introducción en video al capítulo 8

8 min · narrado en inglés, con subtítulos
Solo escuchar (audio)
Leer la transcripción

Te damos la bienvenida al Capítulo 8: Seguridad, privacidad y cumplimiento desde el diseño. La mayoría de las brechas graves no se deben a un ataque exótico contra la criptografía. Proceden de decisiones estructurales. Un servicio interno que confiaba en cualquier llamante de la red. Una API de administración que se saltaba una comprobación de autorización. Una clave de acceso subida en un commit a un repositorio. Cada una fue una decisión arquitectónica sobre dónde reside la confianza, qué componente puede hacer qué y por dónde viajan los datos.

Este capítulo es para desarrolladores y arquitectos que conocen las arquitecturas distribuidas y de datos de los Capítulos 6 y 7, y que ahora deben hacerlas seguras. Cada límite de servicio, cola, caché, réplica y copia analítica aumenta la superficie de ataque. La distribución multiplica los límites de confianza, y la arquitectura de datos decide cuántas copias de datos personales existen y cuánto tiempo viven. El capítulo trata la seguridad como un atributo de calidad diseñado en la estructura, en el sentido de los escenarios de seguridad del Capítulo 2, y no como una lista de productos que se compran al final. También da por sabida la sección del Capítulo 0 sobre redes, HTTPS y TLS. Y conduce al Capítulo 9, que mantiene el sistema protegido rápido y en funcionamiento bajo presión.

El ejemplo recurrente es la plataforma de reparto de comida que se usa a lo largo de todo el curso: clientes, restaurantes y repartidores, un API gateway, los servicios de pedidos, pagos, despacho y notificaciones, un flujo de eventos y un almacén de datos. La sección ocho punto uno establece el vocabulario: confidencialidad, integridad y disponibilidad, los principios de diseño de Saltzer y Schroeder de 1975, como el mínimo privilegio, y después la defensa en profundidad, los valores predeterminados seguros y el OWASP Top 10. La sección ocho punto dos convierte esos principios en una actividad de diseño repetible. Dibujas un diagrama de flujo de datos con sus límites de confianza, te preguntas qué puede salir mal con STRIDE y árboles de ataque, valoras los riesgos y decides las mitigaciones. La sección ocho punto tres trata de quién llama: contraseñas, passkeys, sesiones y tokens, OAuth con PKCE, OpenID Connect y los principales modelos para decidir qué puede hacer cada llamante. La sección ocho punto cuatro trata el cifrado en tránsito y en reposo, el hash de contraseñas, la gestión de claves con cifrado de sobre, los secretos, la tokenización y la decisión sobre qué cifrar y dónde.

Esta es una de las ideas centrales de la sección ocho punto uno, la defensa en profundidad, dibujada a lo largo del recorrido de un pedido por la plataforma. Arriba está la app del cliente, fuera del límite de confianza. Se comunica con la plataforma solo por HTTPS, y la plataforma no confía en nada de lo que hay en el dispositivo. Dentro del límite, cada capa añade sus propios controles. El borde absorbe las avalanchas de tráfico, aplica límites de tasa y bloquea patrones de ataque conocidos. El API gateway comprueba cada token y rechaza las solicitudes que no se ajustan al esquema de la API. El servicio de pedidos comprueba que este cliente puede ver este pedido en concreto. La base de datos usa una cuenta con mínimo privilegio y está cifrada en reposo, con copias de seguridad cifradas con claves distintas. El logging de seguridad, la detección y las alertas abarcan todas las capas. Como cada capa tiene sus propios controles, saltarse un único control no deja los datos al descubierto.

Las cuatro secciones siguientes amplían la mirada. La sección ocho punto cinco sustituye la idea de una red interna de confianza por la autenticación y la autorización de cada solicitud entre servicios, mediante TLS mutuo, certificados y puntos separados en los que se decide y se aplica la política. La sección ocho punto seis trata las dependencias, los sistemas de compilación y las imágenes de contenedor como parte de la superficie de ataque, con listas de materiales de software, la firma y el Reglamento de Ciberresiliencia de la UE. La sección ocho punto siete explica cómo el RGPD y el RGPD del Reino Unido dan forma a la arquitectura: minimización de datos, seudonimización, los derechos de las personas a las que se refieren los datos, la conservación y la supresión en las copias de seguridad y los logs de eventos. Y la sección ocho punto ocho cierra el ciclo con el logging de seguridad, la detección, la gestión de vulnerabilidades, la respuesta a incidentes y la notificación de violaciones de datos.

Este diagrama de la sección ocho punto cinco muestra lo que cambia zero trust. Antes, en una red interna plana, cualquier host puede llegar a cualquier puerto, y todos los servicios comparten una sola base de datos. Cuando el servicio de carta queda comprometido, el atacante puede ir directamente a pagos. Después, cada servicio tiene su propia base de datos, y solo identidades con nombre pueden hacer las llamadas permitidas. Pedidos llama a pagos mediante TLS mutuo, con una política. Cuando el servicio de carta comprometido intenta llamar a pagos, se le deniega. Fíjate en lo que zero trust no hace. No impide que un servicio quede comprometido. Limita lo que el servicio comprometido puede alcanzar.

Un arquitecto no necesita ser un pentester ni un criptógrafo, y no debe inventar criptografía. El arquitecto toma las decisiones que son caras de cambiar: dónde se sitúan los límites de confianza y qué proveedor de identidad y qué modelo de tokens usa toda la plataforma. También qué datos se clasifican como restringidos y se cifran con qué claves, y cómo demuestran los servicios su identidad entre sí. Estas decisiones tienen su lugar en los registros de decisiones de arquitectura, como cualquier otra decisión significativa. Los desarrolladores son responsables de un conjunto igual de importante: validar la entrada, codificar la salida, usar correctamente las bibliotecas de seguridad de la plataforma, manejar los errores sin fallar en abierto y mantener las dependencias actualizadas. Ambos se encuentran en el modelado de amenazas, en las revisiones de diseño seguro y en las comprobaciones automatizadas del pipeline de entrega.

La seguridad y la privacidad están llenas de normas numeradas y disposiciones legales. El capítulo las nombra con precisión, indica la edición vigente en el momento de redactarlo, octubre de 2026, y remite a la fuente oficial. El material sobre la regulación explica cómo afecta la ley a la arquitectura. Es información, no asesoramiento jurídico. Para una situación concreta, los abogados y el delegado de protección de datos de cada organización siguen siendo las personas a quienes consultar.

Si recuerdas una sola cosa de este capítulo, que sea esta. Decide en quién y en qué confía tu sistema, para qué y por qué. Decídelo de forma deliberada, pronto y por escrito, en lugar de dejarlo implícito. Y haz que cada una de esas decisiones de confianza sea verificable. Los modelos de amenazas, el mínimo privilegio, los ámbitos (scopes) de OAuth, el cifrado de sobre, el TLS mutuo, las compilaciones firmadas y los logs de auditoría son formas de sustituir la confianza implícita por una confianza explícita y comprobable. Un sistema diseñado así limita el daño de la brecha que acabará llegando y puede mostrar a sus clientes, auditores y reguladores cómo los protege.

Lo mejor es leer las secciones en orden. Pero cada una se sostiene también por sí sola, así que puedes ir directamente a la sección que necesites. Calcula unas tres horas y media para leer el capítulo completo. Al final de cada sección hay preguntas de autoevaluación. Respóndelas mentalmente antes de mirar las respuestas. Cuando estés listo, hay una prueba opcional del capítulo, que dura unos cuarenta y cinco minutos. Tiene veinte preguntas de opción múltiple y dos respuestas escritas. La nota de aprobado es el ochenta por ciento.

Esa es la estructura del capítulo. Empieza por la sección ocho punto uno, principios de seguridad para arquitectos, donde se establece el vocabulario de todo lo que sigue. Nos vemos allí.

Descargar el capítulo (PDF)Leer en la app

De un vistazo

Aprenderás a

  • Aplicar la tríada CIA, los principios de diseño de Saltzer y Schroeder, la defensa en profundidad y los valores predeterminados seguros a las decisiones arquitectónicas, y explicar de qué son responsables los arquitectos en un ciclo de vida de desarrollo seguro.
  • Modelar las amenazas de un diseño con un diagrama de flujo de datos con límites de confianza, STRIDE y árboles de ataque, y valorar y registrar los riesgos y las mitigaciones resultantes.
  • Distinguir la autenticación de la autorización, elegir entre sesiones y tokens, y explicar OAuth 2.0 con PKCE, las credenciales de cliente (client credentials), OpenID Connect, y RBAC, ABAC y el control de acceso basado en relaciones.
  • Decidir qué cifrar, dónde y con qué claves, usando cifrado de sobre (envelope encryption), un KMS, hash de contraseñas, gestión de secretos y tokenización.
  • Explicar la arquitectura zero trust y diseñar la seguridad entre servicios con TLS mutuo, identidad de carga de trabajo y puntos de aplicación de políticas.
  • Reducir el riesgo de la cadena de suministro de software con SBOM, el marco SLSA, la firma, la fijación de versiones (pinning) y las compilaciones aisladas, y resumir las obligaciones del Reglamento de Ciberresiliencia de la UE (Cyber Resilience Act).
  • Diseñar conforme a los principios del RGPD (GDPR), la protección de datos desde el diseño y por defecto, y los derechos de los interesados, incluida la supresión en copias de seguridad, cachés y logs de eventos.
  • Planificar el logging de seguridad, la detección, la gestión de vulnerabilidades y la respuesta a incidentes, incluida la notificación de violaciones en 72 horas que exige el RGPD.

Antes de empezar

Capítulos 6 y 7, en especial los microservicios, la arquitectura dirigida por eventos y la propiedad de los datos; la sección del Capítulo 2 sobre la seguridad como atributo de calidad; la sección del Capítulo 0 sobre redes, HTTPS y TLS.

Tiempo

Unas 3½ horas de lectura; 45 minutos para la prueba.

Términos clave

límite de confianza · mínimo privilegio · defensa en profundidad · modelado de amenazas · STRIDE · OAuth 2.0 · OpenID Connect · PKCE · cifrado de sobre (envelope encryption) · zero trust (confianza cero) · TLS mutuo · SBOM · seudonimización · crypto-shredding (destrucción criptográfica)

La seguridad es una propiedad de la estructura

La mayoría de las brechas graves no se deben a un ataque criptográfico exótico. Proceden de decisiones estructurales: un servicio interno que confiaba en cualquier llamante de la red, una API de administración que se saltaba una comprobación de autorización, una copia de seguridad de la base de datos copiada a un bucket de almacenamiento que cualquiera podía leer, una clave de acceso subida en un commit a un repositorio, una dependencia que nadie sabía que el sistema usaba. Cada una de ellas fue una decisión arquitectónica, normalmente tomada de forma implícita, sobre dónde reside la confianza, qué componente puede hacer qué y por dónde viajan los datos. Por eso este capítulo trata la seguridad como un atributo de calidad diseñado en la estructura, en el sentido de los escenarios de seguridad del Capítulo 2, y no como una lista de productos que se compran al final.

También es la razón por la que la seguridad es inseparable de los estilos de los Capítulos 6 y 7. Cada límite de servicio, cola, caché, réplica y copia analítica aumenta la superficie de ataque y crea otro lugar donde hay que proteger los datos. La distribución multiplica el número de límites de confianza; la arquitectura de datos decide cuántas copias de datos personales existen y cuánto tiempo viven. El ejemplo recurrente es la plataforma de reparto de comida que se usa a lo largo de todo el curso: clientes, restaurantes y repartidores, un API gateway, los servicios de pedidos, pagos, despacho y notificaciones, un flujo de eventos y un almacén de datos.

Cómo encajan las ocho secciones

Las cuatro primeras secciones construyen el núcleo del diseño seguro. Principios de seguridad establece el vocabulario: la tríada CIA, los principios de diseño de 1975 de Saltzer y Schroeder, como el mínimo privilegio y los valores predeterminados a prueba de fallos, la defensa en profundidad, los valores predeterminados seguros, el OWASP Top 10 y un ciclo de vida de desarrollo seguro basado en el SSDF del NIST. Modelado de amenazas convierte esos principios en una actividad de diseño repetible: dibujar un diagrama de flujo de datos con sus límites de confianza, preguntarse qué puede salir mal con STRIDE y árboles de ataque, valorar los riesgos y decidir las mitigaciones. Identidad y acceso trata de quién llama: las contraseñas tal como recomienda hoy el NIST, las passkeys (llaves de acceso), las sesiones y los tokens, OAuth 2.0 con PKCE, OpenID Connect y los modelos de autorización RBAC, ABAC y el control de acceso basado en relaciones. Protección de datos trata el cifrado en tránsito y en reposo, el hash de contraseñas, la gestión de claves con cifrado de sobre (envelope encryption), los secretos, la tokenización y la decisión sobre qué cifrar y dónde.

Las cuatro secciones siguientes amplían la mirada. Zero trust sustituye la idea de una red interna de confianza por la autenticación y la autorización de cada solicitud entre servicios, mediante TLS mutuo, certificados y puntos de decisión y de aplicación de políticas. Seguridad de la cadena de suministro trata las dependencias, los sistemas de compilación y las imágenes de contenedor como parte de la superficie de ataque, con listas de materiales de software, el marco SLSA, la firma y el Reglamento de Ciberresiliencia de la UE (Cyber Resilience Act). Privacidad desde el diseño explica cómo el RGPD (GDPR) y el RGPD del Reino Unido (UK GDPR) dan forma a la arquitectura: minimización de datos, seudonimización, derechos de los interesados, conservación y supresión en las copias de seguridad y los logs de eventos. Seguridad en operación cierra el ciclo con el logging de seguridad, la detección, la gestión de vulnerabilidades, la respuesta a incidentes y la notificación de violaciones de datos.

Qué deciden los arquitectos y qué delegan

Un arquitecto no necesita ser un pentester ni un criptógrafo, y no debe inventar criptografía. Su trabajo es tomar las decisiones que son caras de cambiar y que ningún equipo puede tomar por sí solo: dónde se sitúan los límites de confianza, qué proveedor de identidad y qué modelo de tokens usa toda la plataforma, qué componente es el punto de decisión de políticas para qué recursos, qué datos se clasifican como restringidos y, por tanto, se cifran con qué claves, cómo demuestran los servicios su identidad entre sí y cómo detectará la organización un ataque y responderá a él. Estas decisiones tienen su lugar en los registros de decisiones de arquitectura y en los conceptos transversales de una descripción arc42, como cualquier otra decisión significativa.

Los desarrolladores son responsables de un conjunto de inquietudes distinto e igual de importante: validar la entrada, codificar la salida, usar correctamente las bibliotecas de autenticación y autorización de la plataforma, manejar los errores sin fallar en abierto, mantener las dependencias actualizadas y escribir pruebas del comportamiento de seguridad. Ambos se encuentran en el modelado de amenazas, en las revisiones de diseño seguro y en las comprobaciones automatizadas del pipeline de entrega. Donde los profesionales discrepan, por ejemplo sobre cuánto trabajo de seguridad trasladar a los desarrolladores o sobre lo formal que debe ser el modelado de amenazas, el capítulo presenta ambas posturas.

Leyes, normas y precisión

La seguridad y la privacidad están llenas de normas numeradas y disposiciones legales, y este capítulo las nombra con precisión: las publicaciones especiales del NIST, las RFC del IETF, los proyectos de OWASP, PCI DSS, el RGPD (GDPR) y el RGPD del Reino Unido (UK GDPR), y el Reglamento de Ciberresiliencia de la UE. Las normas cambian, así que cada mención indica la edición vigente en el momento de redactar el texto (octubre de 2026) y remite a la fuente oficial. El material sobre la regulación explica cómo afecta la ley a la arquitectura; es información, no asesoramiento jurídico, y los abogados y el delegado de protección de datos de cada organización siguen siendo las personas a quienes consultar sobre una situación concreta.

La idea que debes llevarte

Decide de forma deliberada, pronto y por escrito en quién y en qué confía tu sistema, para qué y por qué, y haz que cada una de esas decisiones de confianza sea verificable. La mayoría de las técnicas de este capítulo, desde los modelos de amenazas y el mínimo privilegio hasta los ámbitos (scopes) de OAuth, el cifrado de sobre, el TLS mutuo, las compilaciones firmadas y los logs de auditoría, son formas de sustituir la confianza implícita por una confianza explícita y comprobable. Un sistema diseñado así limita el daño de la brecha que acabará llegando y puede mostrar a sus clientes, auditores y reguladores cómo los protege.

Las 8 secciones

8.1 · Intermedio · 20 minPrincipios de seguridadLa tríada CIA, los principios de diseño de Saltzer y Schroeder, la defensa en profundidad, la seguridad por defecto, la superficie de ataque y los límites de confianza, el OWASP Top 10 y un ciclo de vida de desarrollo seguro, con quién es responsable de qué.Leer →8.2 · Intermedio · 22 minModelado de amenazasLas cuatro preguntas de Shostack, los diagramas de flujo de datos con límites de confianza, STRIDE y los árboles de ataque, cómo valorar el riesgo sin falsa precisión y un ejemplo práctico de modelo de amenazas del proceso de pago de una plataforma de reparto de comida.Leer →8.3 · Avanzado · 26 minIdentidad y accesoAutenticación frente a autorización, las reglas actuales del NIST sobre contraseñas, MFA y passkeys, sesiones y JWT, OAuth 2.0 con PKCE, OpenID Connect, RBAC, ABAC, control de acceso basado en relaciones e identidad de carga de trabajo.Leer →8.4 · Avanzado · 26 minProtección de datosEl cifrado en tránsito y en reposo y lo que protege realmente cada capa, la criptografía simétrica y asimétrica, el hash de contraseñas, KMS y el cifrado de sobre (envelope encryption), los secretos, la tokenización para PCI DSS y la clasificación de datos.Leer →8.5 · Avanzado · 22 minZero trust (confianza cero)Por qué fracasó la red interna de confianza, qué entienden NIST SP 800-207 y BeyondCorp por zero trust, y cómo lo llevan a la práctica mTLS, la identidad de carga de trabajo, las service meshes, los certificados y los gateways.Leer →8.6 · Intermedio · 23 minCadena de suministroPor qué las dependencias y los pipelines de compilación son una superficie de ataque, qué enseñan event-stream, SolarWinds, Log4Shell y xz utils, y cómo responden las SBOM, SLSA, Sigstore, la fijación de versiones (pinning) y el Reglamento de Ciberresiliencia de la UE (Cyber Resilience Act).Leer →8.7 · Intermedio · 24 minPrivacidad desde el diseñoCómo dan forma a la arquitectura el RGPD (GDPR) y el UK GDPR: los principios del artículo 5, la protección de datos desde el diseño y por defecto, los derechos que los sistemas deben respaldar, las EIPD, las transferencias, la seudonimización, y la conservación y supresión en todas las copias.Leer →8.8 · Intermedio · 24 minSeguridad en operaciónOperar un sistema de forma segura: qué registrar y qué no registrar nunca, pistas de auditoría, detección con SIEM, gestión de vulnerabilidades con CVSS, EPSS y KEV, respuesta a incidentes según el NIST, copias de seguridad a prueba de ransomware y plazos de notificación de violaciones de datos.Leer →

Prueba del capítulo

Comprueba lo que has entendido del capítulo 8

Opcional: 20 preguntas de opción múltiple y 2 respuestas escritas breves, elegidas de nuevo cada vez de un banco de 72 preguntas. Nota de aprobado: 80%. Superar todas las pruebas de capítulo y después la evaluación final da derecho al Certificado de Finalización Be Wise.

Haz la prueba del capítulo 8 en la app

Lecturas recomendadas