Read in English · Leer en español · Lire en français
Kapitel 8 von 12 · Mittelstufe bis Fortgeschritten
Sicherheit, Datenschutz und Compliance by Design
Sicherheit und Datenschutz sind Eigenschaften der Struktur eines Systems: Sie entscheiden sich daran, wo Vertrauensgrenzen verlaufen, wer was tun darf und wohin Daten fließen. Dieses Kapitel behandelt die Prinzipien sicheren Designs, Bedrohungsmodellierung mit Datenflussdiagrammen, STRIDE und Angriffsbäumen, Identität und Zugriff mit OAuth 2.0 und OpenID Connect, Verschlüsselung, Schlüsselverwaltung und Secrets, Zero Trust zwischen Services, die Sicherheit der Software-Lieferkette, Privacy by Design nach der DSGVO und Sicherheit im Betrieb. Es richtet sich an Entwicklungsteams und Architekten, die die verteilten Architekturen und Datenarchitekturen aus Kapitel 6 und 7 kennen und sie nun sicher machen müssen.
Videoeinführung in Kapitel 8
8 Min. · auf Englisch gesprochen, mit UntertitelnNur anhören (Audio)
Transkript lesen
Willkommen zu Kapitel 8: Sicherheit, Datenschutz und Compliance by Design. Die meisten schweren Sicherheitsvorfälle entstehen nicht durch einen exotischen Angriff auf die Kryptografie. Sie entstehen aus strukturellen Entscheidungen. Ein interner Service, der jedem Aufrufer im Netzwerk vertraute. Eine Administrator-API, die eine Autorisierungsprüfung ausließ. Ein Zugriffsschlüssel, der in ein Repository committet wurde. Jede davon war eine Architekturentscheidung darüber, wo Vertrauen liegt, welche Komponente was tun darf und wohin Daten fließen.
Dieses Kapitel richtet sich an Entwicklungsteams und Architekten, die die verteilten Architekturen und Datenarchitekturen aus Kapitel sechs und sieben kennen und sie nun sicher machen müssen. Jede Service-Grenze, jede Queue, jeder Cache, jede Replik und jede Analysekopie vergrößert die Angriffsfläche. Verteilung vervielfacht die Vertrauensgrenzen, und die Datenarchitektur entscheidet, wie viele Kopien personenbezogener Daten existieren und wie lange sie bestehen. Das Kapitel behandelt Sicherheit als Qualitätsmerkmal, das in die Struktur hineinentworfen wird, im Sinne der Sicherheitsszenarien aus Kapitel zwei, und nicht als Liste von Produkten, die man am Ende kauft. Es setzt außerdem den Abschnitt über Netzwerke, HTTPS und TLS aus Kapitel null voraus. Und es führt zu Kapitel neun, das das abgesicherte System auch unter Last schnell und lauffähig hält.
Das durchgehende Beispiel ist die Essenslieferplattform aus dem ganzen Kurs: Kunden, Restaurants und Kuriere, ein API-Gateway, Services für Bestellungen, Zahlungen, Disposition und Benachrichtigungen, ein Event-Stream und ein Data Warehouse. Abschnitt acht Punkt eins legt das Vokabular fest: Vertraulichkeit, Integrität und Verfügbarkeit, die Designprinzipien von Saltzer und Schroeder aus dem Jahr neunzehnhundertfünfundsiebzig, etwa Least Privilege, dann Defense in Depth, sichere Voreinstellungen und die OWASP Top Ten. Abschnitt acht Punkt zwei macht aus diesen Prinzipien eine wiederholbare Designtätigkeit. Sie zeichnen ein Datenflussdiagramm mit seinen Vertrauensgrenzen, fragen mit STRIDE und Angriffsbäumen, was schiefgehen kann, bewerten die Risiken und entscheiden über Gegenmaßnahmen. Abschnitt acht Punkt drei behandelt, wer aufruft: Passwörter, Passkeys, Sessions und Tokens, OAuth mit PKCE, OpenID Connect und die wichtigsten Modelle, mit denen man entscheidet, was jeder Aufrufer tun darf. Abschnitt acht Punkt vier behandelt Verschlüsselung bei der Übertragung und im Ruhezustand, Passwort-Hashing, Schlüsselverwaltung mit Envelope Encryption, Secrets, Tokenisierung und die Entscheidung, was wo verschlüsselt wird.
Hier ist einer der zentralen Gedanken aus Abschnitt acht Punkt eins, Defense in Depth, gezeichnet entlang des Wegs, den eine Bestellung durch die Plattform nimmt. Oben steht die Kunden-App, außerhalb der Vertrauensgrenze. Sie spricht mit der Plattform nur über HTTPS, und nichts auf dem Gerät gilt der Plattform als vertrauenswürdig. Innerhalb der Grenze fügt jede Schicht eigene Kontrollen hinzu. Die Edge fängt Verkehrsfluten ab, wendet Rate Limits an und blockiert bekannte Angriffsmuster. Das API-Gateway prüft jedes Token und lehnt Anfragen ab, die nicht zum API-Schema passen. Der Bestellservice prüft, ob dieser Kunde genau diese Bestellung sehen darf. Die Datenbank nutzt ein Konto mit Least Privilege und ist im Ruhezustand verschlüsselt, die Backups mit eigenen Schlüsseln. Sicherheits-Logging, Erkennung und Alarmierung laufen über alle Schichten. Weil jede Schicht eigene Kontrollen hat, legt eine einzelne umgangene Kontrolle die Daten nicht offen.
Die zweiten vier Abschnitte weiten den Blick. Abschnitt acht Punkt fünf ersetzt die Vorstellung eines vertrauenswürdigen internen Netzwerks durch Authentifizierung und Autorisierung bei jeder Anfrage zwischen Services, mit Mutual TLS, Zertifikaten und getrennten Stellen, an denen Policies entschieden und durchgesetzt werden. Abschnitt acht Punkt sechs behandelt Abhängigkeiten, Build-Systeme und Container-Images als Teil der Angriffsfläche, mit Software Bills of Materials, Signaturen und der Cyberresilienz-Verordnung der EU. Abschnitt acht Punkt sieben erklärt, wie die DSGVO und die UK GDPR die Architektur prägen: Datenminimierung, Pseudonymisierung, die Rechte der betroffenen Personen, Aufbewahrung und Löschung über Backups und Event-Logs hinweg. Und Abschnitt acht Punkt acht schließt den Kreis mit Sicherheits-Logging, Erkennung, Schwachstellenmanagement, Incident Response und der Meldung von Sicherheitsverletzungen.
Dieses Diagramm aus Abschnitt acht Punkt fünf zeigt, was Zero Trust verändert. Vorher, in einem flachen internen Netzwerk, kann jeder Host jeden Port erreichen, und alle Services teilen sich eine Datenbank. Wird der Speisekarten-Service kompromittiert, kann der Angreifer direkt zu den Zahlungen gehen. Nachher hat jeder Service seine eigene Datenbank, und nur benannte Identitäten dürfen erlaubte Aufrufe machen. Der Bestellservice ruft den Zahlungsservice über Mutual TLS auf, geregelt durch eine Policy. Versucht der kompromittierte Speisekarten-Service, den Zahlungsservice aufzurufen, wird er abgewiesen. Beachten Sie, was Zero Trust nicht leistet. Es verhindert nicht, dass ein Service kompromittiert wird. Es begrenzt, was der kompromittierte Service erreichen kann.
Ein Architekt muss weder Penetrationstester noch Kryptograf sein und sollte keine eigene Kryptografie erfinden. Der Architekt trifft die Entscheidungen, die teuer zu ändern sind: wo die Vertrauensgrenzen verlaufen und welchen Identity Provider und welches Token-Modell die ganze Plattform nutzt. Außerdem, welche Daten als vertraulich eingestuft und mit welchen Schlüsseln verschlüsselt werden und wie Services einander ihre Identität nachweisen. Diese Entscheidungen gehören in Architecture Decision Records, wie jede andere wichtige Entscheidung. Entwicklungsteams verantworten ebenso wichtige Aufgaben: Eingaben validieren, Ausgaben kodieren, die Sicherheitsbibliotheken der Plattform richtig nutzen, Fehler ohne Fail-open behandeln und Abhängigkeiten aktuell halten. Beide treffen sich in der Bedrohungsmodellierung, in Reviews des sicheren Designs und in automatisierten Prüfungen in der Delivery-Pipeline.
Sicherheit und Datenschutz sind voller nummerierter Normen und Rechtsvorschriften. Das Kapitel benennt sie präzise, nennt die zum Zeitpunkt des Schreibens aktuelle Fassung, Oktober zweitausendsechsundzwanzig, und verweist auf die maßgebliche Quelle. Die Ausführungen zur Regulierung erklären, wie sich das Recht auf die Architektur auswirkt. Sie sind Information, keine Rechtsberatung. Für eine konkrete Situation bleiben die Juristen und der Datenschutzbeauftragte der eigenen Organisation die richtigen Ansprechpartner.
Wenn Sie sich aus diesem Kapitel nur eines merken, dann dies. Entscheiden Sie, wem und was Ihr System vertraut, wofür und warum. Entscheiden Sie es bewusst, früh und schriftlich, statt es implizit zu lassen. Und machen Sie jede dieser Vertrauensentscheidungen überprüfbar. Bedrohungsmodelle, Least Privilege, OAuth-Scopes, Envelope Encryption, Mutual TLS, signierte Builds und Audit-Logs sind alles Wege, implizites Vertrauen durch explizites, überprüfbares Vertrauen zu ersetzen. Ein so entworfenes System begrenzt den Schaden des Sicherheitsvorfalls, der irgendwann kommen wird, und kann seinen Kunden, Prüfern und Aufsichtsbehörden zeigen, wie es sie schützt.
Am besten lesen Sie die Abschnitte der Reihe nach. Jeder steht aber auch für sich, sodass Sie direkt zu dem Abschnitt gehen können, den Sie brauchen. Planen Sie für das ganze Kapitel etwa dreieinhalb Stunden Lesezeit ein. Am Ende jedes Abschnitts stehen Fragen zur Selbstkontrolle. Beantworten Sie sie im Kopf, bevor Sie sich die Antworten ansehen. Wenn Sie so weit sind, gibt es einen freiwilligen Kapiteltest, der etwa fünfundvierzig Minuten dauert. Er hat zwanzig Multiple-Choice-Fragen und zwei schriftliche Antworten. Die Bestehensgrenze liegt bei achtzig Prozent.
So ist das Kapitel aufgebaut. Beginnen Sie mit Abschnitt acht Punkt eins, Sicherheitsprinzipien für Architekten, wo das Vokabular für alles Weitere festgelegt wird. Bis gleich.
Auf einen Blick
Das lernen Sie
- Die CIA-Triade, die Designprinzipien von Saltzer und Schroeder, Defense in Depth und sichere Standardeinstellungen auf Architekturentscheidungen anwenden und erklären, wofür Architekten in einem sicheren Entwicklungslebenszyklus verantwortlich sind.
- Ein Bedrohungsmodell für einen Entwurf erstellen, mit einem Datenflussdiagramm mit Vertrauensgrenzen, STRIDE und Angriffsbäumen, und die daraus folgenden Risiken und Gegenmaßnahmen bewerten und festhalten.
- Authentifizierung von Autorisierung unterscheiden, zwischen Sessions und Tokens wählen und OAuth 2.0 mit PKCE, Client Credentials, OpenID Connect sowie RBAC, ABAC und beziehungsbasierte Zugriffskontrolle erklären.
- Entscheiden, was wo und mit welchen Schlüsseln verschlüsselt wird, mit Envelope Encryption, einem KMS, Passwort-Hashing, Secrets-Management und Tokenisierung.
- Zero-Trust-Architektur erklären und die Sicherheit zwischen Services mit Mutual TLS, Workload Identity und Policy Enforcement Points entwerfen.
- Risiken der Software-Lieferkette mit SBOMs, dem SLSA-Framework, Signaturen, Pinning und isolierten Builds verringern und die Pflichten aus der Cyberresilienz-Verordnung der EU zusammenfassen.
- Für die Grundsätze der DSGVO, den Datenschutz durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen und die Rechte der betroffenen Personen entwerfen, einschließlich der Löschung über Backups, Caches und Event-Logs hinweg.
- Sicherheits-Logging, Erkennung, Schwachstellenmanagement und Incident Response planen, einschließlich der 72-Stunden-Frist der DSGVO für die Meldung von Verletzungen des Schutzes personenbezogener Daten.
Bevor Sie beginnen
Kapitel 6 und 7, besonders Microservices, ereignisgesteuerte Architektur und Datenhoheit; der Abschnitt über Sicherheit als Qualitätsmerkmal in Kapitel 2; der Abschnitt über Netzwerke, HTTPS und TLS in Kapitel 0.
Zeit
Etwa 3½ Stunden Lesezeit; 45 Minuten für den Test.
Schlüsselbegriffe
Vertrauensgrenze · Least Privilege · Defense in Depth · Bedrohungsmodellierung · STRIDE · OAuth 2.0 · OpenID Connect · PKCE · Envelope Encryption · Zero Trust · Mutual TLS · SBOM · Pseudonymisierung · Crypto-Shredding
Sicherheit ist eine Eigenschaft der Struktur
Die meisten schweren Sicherheitsvorfälle entstehen nicht durch einen exotischen Angriff auf die Kryptografie. Sie entstehen aus strukturellen Entscheidungen: ein interner Service, der jedem Aufrufer im Netzwerk vertraute, eine Administrator-API, die eine Autorisierungsprüfung ausließ, ein Datenbank-Backup, das in einen für jeden lesbaren Storage-Bucket kopiert wurde, ein Zugriffsschlüssel, der in ein Repository committet wurde, eine Abhängigkeit, von der niemand wusste, dass das System sie nutzt. Jede davon war eine Architekturentscheidung, meist implizit getroffen, darüber, wo Vertrauen liegt, welche Komponente was tun darf und wohin Daten fließen. Deshalb behandelt dieses Kapitel Sicherheit als Qualitätsmerkmal, das in die Struktur hineinentworfen wird, im Sinne der Sicherheitsszenarien aus Kapitel 2, und nicht als Liste von Produkten, die man am Ende kauft.
Deshalb ist Sicherheit auch untrennbar mit den Stilen aus Kapitel 6 und 7 verbunden. Jede Service-Grenze, jede Queue, jeder Cache, jede Replik und jede Analysekopie vergrößert die Angriffsfläche und schafft einen weiteren Ort, an dem Daten geschützt werden müssen. Verteilung vervielfacht die Zahl der Vertrauensgrenzen; die Datenarchitektur entscheidet, wie viele Kopien personenbezogener Daten existieren und wie lange sie bestehen. Das durchgehende Beispiel ist die Essenslieferplattform, die im ganzen Kurs verwendet wird: Kunden, Restaurants und Kuriere, ein API-Gateway, Services für Bestellungen, Zahlungen, Disposition und Benachrichtigungen, ein Event-Stream und ein Data Warehouse.
Wie die acht Abschnitte zusammenpassen
Die ersten vier Abschnitte bilden den Kern sicheren Designs. Sicherheitsprinzipien legt das Vokabular fest: die CIA-Triade, die Designprinzipien von Saltzer und Schroeder aus dem Jahr 1975 wie Least Privilege und ausfallsichere Standardwerte, Defense in Depth, sichere Voreinstellungen, die OWASP Top 10 und einen sicheren Entwicklungslebenszyklus auf Grundlage des SSDF von NIST. Bedrohungsmodellierung macht aus diesen Prinzipien eine wiederholbare Designtätigkeit: ein Datenflussdiagramm mit seinen Vertrauensgrenzen zeichnen, mit STRIDE und Angriffsbäumen fragen, was schiefgehen kann, die Risiken bewerten und über Gegenmaßnahmen entscheiden. Identität und Zugriff behandelt, wer aufruft: Passwörter nach den aktuellen Empfehlungen von NIST, Passkeys, Sessions und Tokens, OAuth 2.0 mit PKCE, OpenID Connect und die Autorisierungsmodelle RBAC, ABAC und beziehungsbasierte Zugriffskontrolle. Daten schützen behandelt Verschlüsselung bei der Übertragung und im Ruhezustand, Passwort-Hashing, Schlüsselverwaltung mit Envelope Encryption, Secrets, Tokenisierung und die Entscheidung, was wo verschlüsselt wird.
Die zweiten vier Abschnitte weiten den Blick. Zero Trust ersetzt die Vorstellung eines vertrauenswürdigen internen Netzwerks durch Authentifizierung und Autorisierung bei jeder Anfrage zwischen Services, mit Mutual TLS, Zertifikaten sowie Policy Decision Points und Policy Enforcement Points. Sicherheit der Software-Lieferkette behandelt Abhängigkeiten, Build-Systeme und Container-Images als Teil der Angriffsfläche, mit Software Bills of Materials, dem SLSA-Framework, Signaturen und der Cyberresilienz-Verordnung der EU. Privacy by Design erklärt, wie die DSGVO und die UK GDPR die Architektur prägen: Datenminimierung, Pseudonymisierung, die Rechte der betroffenen Personen, Aufbewahrung und Löschung über Backups und Event-Logs hinweg. Sicherheit im Betrieb schließt den Kreis mit Sicherheits-Logging, Erkennung, Schwachstellenmanagement, Incident Response und der Meldung von Sicherheitsverletzungen.
Was Architekten entscheiden und was sie delegieren
Ein Architekt muss weder Penetrationstester noch Kryptograf sein und sollte keine eigene Kryptografie erfinden. Seine Aufgabe ist es, die Entscheidungen zu treffen, die teuer zu ändern sind und die kein einzelnes Team allein treffen kann: wo die Vertrauensgrenzen verlaufen, welchen Identity Provider und welches Token-Modell die ganze Plattform nutzt, welche Komponente der Policy Decision Point für welche Ressourcen ist, welche Daten als vertraulich eingestuft und deshalb mit welchen Schlüsseln verschlüsselt werden, wie Services einander ihre Identität nachweisen und wie die Organisation einen Angriff erkennt und darauf reagiert. Diese Entscheidungen gehören in Architecture Decision Records und in die querschnittlichen Konzepte einer arc42-Beschreibung, wie jede andere wichtige Entscheidung.
Entwicklungsteams verantworten andere, ebenso wichtige Anliegen: Eingaben validieren, Ausgaben kodieren, die Authentifizierungs- und Autorisierungsbibliotheken der Plattform richtig nutzen, Fehler behandeln, ohne in einen offenen Zustand zu fallen (Fail-open), Abhängigkeiten aktuell halten und Tests für das Sicherheitsverhalten schreiben. Beide treffen sich in der Bedrohungsmodellierung, in Reviews des sicheren Designs und in automatisierten Prüfungen in der Delivery-Pipeline. Wo Fachleute uneins sind, etwa darüber, wie viel Sicherheitsarbeit auf die Entwicklungsteams verlagert werden sollte oder wie formal Bedrohungsmodellierung sein sollte, stellt das Kapitel beide Positionen dar.
Recht, Normen und Genauigkeit
Sicherheit und Datenschutz sind voller nummerierter Normen und Rechtsvorschriften, und dieses Kapitel benennt sie präzise: NIST Special Publications, IETF-RFCs, OWASP-Projekte, PCI DSS, die DSGVO und die UK GDPR sowie die Cyberresilienz-Verordnung der EU. Normen ändern sich, deshalb nennt jede Erwähnung die zum Zeitpunkt des Schreibens (Oktober 2026) aktuelle Fassung und verweist auf die maßgebliche Quelle. Die Ausführungen zur Regulierung erklären, wie sich das Recht auf die Architektur auswirkt; sie sind Information, keine Rechtsberatung, und für eine konkrete Situation bleiben die Juristen und der Datenschutzbeauftragte der eigenen Organisation die richtigen Ansprechpartner.
Der eine Gedanke zum Mitnehmen
Entscheiden Sie bewusst, früh und schriftlich, wem und was Ihr System vertraut, wofür und warum, und machen Sie jede dieser Vertrauensentscheidungen überprüfbar. Die meisten Techniken in diesem Kapitel, von Bedrohungsmodellen und Least Privilege bis zu OAuth-Scopes, Envelope Encryption, Mutual TLS, signierten Builds und Audit-Logs, sind Wege, implizites Vertrauen durch explizites, überprüfbares Vertrauen zu ersetzen. Ein so entworfenes System begrenzt den Schaden des Sicherheitsvorfalls, der irgendwann kommen wird, und kann seinen Kunden, Prüfern und Aufsichtsbehörden zeigen, wie es sie schützt.
Die 8 Abschnitte
Kapiteltest
Prüfen Sie Ihr Verständnis von Kapitel 8
Optional: 20 Multiple-Choice-Fragen und 2 kurze schriftliche Antworten, jedes Mal neu aus einem Pool von 72 Fragen gezogen. Bestehensgrenze 80 %. Wer jeden Kapiteltest und anschließend die Abschlussbewertung besteht, erhält das Be Wise Abschlusszertifikat.
Den Test zu Kapitel 8 in der App ablegenWeiterführende Literatur
- Threat Modeling: Designing for Security, Adam Shostack (2014), Wiley. Das Standardwerk für die Praxis der Bedrohungsmodellierung: die vier Fragen, Datenflussdiagramme, STRIDE, Angriffsbäume und wie man Bedrohungsmodellierung zum Teil der täglichen Entwicklungsarbeit macht.
- Security Engineering: A Guide to Building Dependable Distributed Systems (3rd edition), Ross Anderson (2020), Wiley. Eine breite, gründlich recherchierte Darstellung, wie reale Systeme versagen, von Protokollen und Zugriffskontrolle bis zu Banken, Zahlungsverkehr und der Ökonomie der Sicherheit.
- Designing Secure Software: A Guide for Developers, Loren Kohnfelder (2021), No Starch Press. Security-by-Design-Prinzipien, Bedrohungsmodellierung und Reviews des sicheren Designs von einem Miterfinder von STRIDE, geschrieben für Entwickler und Architekten in der Praxis.
- API Security in Action, Neil Madden (2020), Manning. Authentifizierung, Tokens, OAuth 2.0, Capability-basierte Sicherheit und die Absicherung von Aufrufen zwischen Services, mit lauffähigem Code.
- OAuth 2 in Action, Justin Richer and Antonio Sanso (2017), Manning. Baut Clients, Autorisierungsserver und Ressourcenserver Schritt für Schritt auf, wodurch die Abläufe und die Angriffe darauf greifbar werden.
- The Protection of Information in Computer Systems, Jerome H. Saltzer and Michael D. Schroeder (1975), Proceedings of the IEEE, vol. 63, no. 9. Der Ursprung von Least Privilege, ausfallsicheren Standardwerten, vollständiger Zugriffsprüfung und den anderen Designprinzipien, die bis heute zitiert werden.
- SP 800-207: Zero Trust Architecture, Scott Rose, Oliver Borchert, Stu Mitchell and Sean Connelly (NIST) (2020), National Institute of Standards and Technology. Die Referenzdefinition von Zero Trust, ihre Grundsätze und ihre logischen Komponenten (Policy Engine, Policy Administrator und Policy Enforcement Point).
- 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). Der Primärtext hinter dem Abschnitt über Datenschutz; für Architekten sind die Artikel 5, 25 und 32 bis 35 am wichtigsten.