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ítulosSolo 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í.
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
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 appLecturas recomendadas
- Threat Modeling: Designing for Security, Adam Shostack (2014), Wiley. El libro práctico de referencia sobre modelado de amenazas: las cuatro preguntas, los diagramas de flujo de datos, STRIDE, los árboles de ataque y cómo hacer que el modelado de amenazas forme parte de la ingeniería cotidiana.
- Security Engineering: A Guide to Building Dependable Distributed Systems (3rd edition), Ross Anderson (2020), Wiley. Un relato amplio y muy documentado de cómo fallan los sistemas reales, desde los protocolos y el control de acceso hasta la banca, los pagos y la economía de la seguridad.
- Designing Secure Software: A Guide for Developers, Loren Kohnfelder (2021), No Starch Press. Principios de seguridad desde el diseño, modelado de amenazas y revisiones de diseño seguro de la mano de uno de los coinventores de STRIDE, escrito para desarrolladores y arquitectos en activo.
- API Security in Action, Neil Madden (2020), Manning. Autenticación, tokens, OAuth 2.0, seguridad basada en capacidades y protección de las llamadas entre servicios, con código funcional.
- OAuth 2 in Action, Justin Richer and Antonio Sanso (2017), Manning. Construye clientes, servidores de autorización y servidores de recursos paso a paso, lo que hace concretos los flujos y sus ataques.
- The Protection of Information in Computer Systems, Jerome H. Saltzer and Michael D. Schroeder (1975), Proceedings of the IEEE, vol. 63, no. 9. El origen del mínimo privilegio, los valores predeterminados a prueba de fallos, la mediación completa y los demás principios de diseño que todavía se citan hoy.
- SP 800-207: Zero Trust Architecture, Scott Rose, Oliver Borchert, Stu Mitchell and Sean Connelly (NIST) (2020), National Institute of Standards and Technology. La definición de referencia de zero trust, sus principios y sus componentes lógicos (motor de políticas, administrador de políticas y punto de aplicación).
- Regulation (EU) 2016/679 (General Data Protection Regulation), European Parliament and Council of the European Union (2016), Official Journal of the European Union (EUR-Lex). El texto principal en el que se basa la sección de privacidad; los artículos 5, 25 y 32 a 35 son los que más importan a los arquitectos.