java\07_IT-Sicherheit\.
IT-Sicherheit kam in 8 von 9 Prüfungen vor, fast immer in Teil 1 als Teilaufgabe einer Szenario-Aufgabe (Sensoren übertragen Daten, eine App spricht mit einem Server, ein Webserver bekommt ein Zertifikat). Gefragt wird mit den Operatoren nennen, erläutern, begründen, meist 1–9 Punkte je Teilaufgabe. Gerechnet oder programmiert wird hier selten. Punkte gibt es für saubere Begriffe und eine Begründung mit Bezug zum Szenario. Wer verschlüsseln, signieren und hashen sicher auseinanderhält, holt hier schnelle Punkte.
| Unterthema | Kategorie | Typische Punkte | Wichtigste Fähigkeit |
|---|---|---|---|
| SEC-01 Verschlüsselungsverfahren | Meistens | 1–8 | hybride Verschlüsselung erklären, Verfahren begründet auswählen (IoT!) |
| SEC-02 Hash, Signatur, Zertifikate/PKI | Meistens | 2–9 | Signatur erstellen/prüfen, „Verschlüsselung ≠ Integrität“, Vertrauenskette |
| SEC-03 Schutzziele & Schutzbedarf | Meistens | 3–6 | Situation → Schutzziel, Sicherheitsanforderungen formulieren |
| SEC-04 Authentifizierung | Wahrscheinlich | 3–6 | 2FA, Passwörter speichern, Passwort-Reset, OAuth2-Rollen |
| SEC-05 Datenschutz / DSGVO | Wahrscheinlich | 4–6 | Einwilligung, Datenschutzerklärung, Grundsätze, keine echten Daten in Fremdtools |
| SEC-06 Angriffe & Gegenmaßnahmen | Sonstige | 2–5 | Angriff erkennen und passende Gegenmaßnahme nennen |
Fast jede Krypto-Frage lässt sich mit dieser Tabelle beantworten. Die Schutzziele selbst werden in SEC-03 genau erklärt.
| Mechanismus | Vertraulichkeit | Integrität | Authentizität | Verbindlichkeit |
|---|---|---|---|---|
| Symmetrische Verschlüsselung (AES) | ✔ | – (nur mit MAC bzw. AEAD-Modus) | – | – |
| Asymmetrische Verschlüsselung (RSA) | ✔ | – | – | – |
| Hashwert allein (SHA-256) | – | nur zufällige Fehler erkennbar | – | – |
| MAC / HMAC (Hash + geheimer Schlüssel) | – | ✔ | ✔ (Absender kennt den Schlüssel) | – |
| Digitale Signatur | – | ✔ | ✔ | ✔ |
| Zertifikat (PKI) | – | – | ✔ (Schlüssel gehört wirklich zu …) | Grundlage für Signaturen |
| TLS / HTTPS | ✔ | ✔ | ✔ (des Servers) | – |
Vorkommen: Kryptografie insgesamt 6/9 · Verschlüsselungsverfahren davon in W21, W22, S23, W25, S26 · immer Teil 1, 1–8 Punkte je Teilaufgabe
Sender und Empfänger verwenden denselben geheimen Schlüssel zum Ver- und Entschlüsseln.
Jeder Teilnehmer hat ein Schlüsselpaar: einen öffentlichen Schlüssel (Public Key, darf jeder kennen) und einen privaten Schlüssel (Private Key, verlässt nie den Besitzer). Was mit dem einen Schlüssel bearbeitet wurde, kann nur mit dem anderen umgekehrt werden. Wer B eine vertrauliche Nachricht schicken will, verschlüsselt mit dem öffentlichen Schlüssel von B; entschlüsseln kann nur B mit seinem privaten Schlüssel.
Nur zum Verständnis (wird nicht gerechnet): Mit den Mini-Primzahlen p = 3, q = 11 ist n = 33. Öffentlicher Schlüssel (e = 3, n = 33), privater Schlüssel (d = 7, n = 33). Nachricht m = 4: Chiffrat c = 4³ mod 33 = 64 mod 33 = 31. Entschlüsseln: 31⁷ mod 33 = 4. Mit echten Zahlen von 600 Dezimalstellen ist das Rückrechnen ohne d praktisch unmöglich.
| Kriterium | symmetrisch (z. B. AES) | asymmetrisch (z. B. RSA, ECC) |
|---|---|---|
| Schlüssel | ein gemeinsamer geheimer Schlüssel | Schlüsselpaar: öffentlich + privat |
| Geschwindigkeit | sehr schnell, auch in Hardware | langsam, rechenintensiv |
| Datenmenge | beliebig groß | nur kleine Datenmengen |
| Schlüsselverteilung | Problem: sicherer Kanal nötig | einfach: öffentlicher Schlüssel darf bekannt sein (Echtheit über Zertifikat) |
| Schlüsselanzahl bei n Partnern | n·(n−1)/2 | n Schlüsselpaare |
| Signatur möglich? | nein (nur MAC) | ja |
| typische Schlüssellänge | 128–256 Bit | RSA 2048–4096 Bit, ECC 256–384 Bit |
Hybride Verfahren nutzen die Stärken beider Welten: Asymmetrisch wird nur ein kleiner, zufällig erzeugter Sitzungsschlüssel (Session Key) sicher übertragen; die eigentlichen Daten werden mit diesem Sitzungsschlüssel symmetrisch und damit schnell verschlüsselt. Beispiel: Eine Mandantin lädt im Online-Portal ihrer Steuerkanzlei 40 MB Belege hoch.
So beschreibst du den Ablauf (Schritte nummerieren, Schlüssel immer genau benennen):
Vorteile hybrid: schnell auch bei großen Datenmengen (gegenüber rein asymmetrisch) · kein vorheriger geheimer Schlüsselaustausch nötig (gegenüber rein symmetrisch) · für jede Sitzung ein neuer Schlüssel, ein erbeuteter Sitzungsschlüssel öffnet also nur diese eine Sitzung.
TLS (Transport Layer Security, Nachfolger von SSL) ist das Standardbeispiel für hybride Verschlüsselung. HTTPS ist HTTP über TLS; TLS steckt auch in sicheren Mail-Verbindungen, MQTT über TLS usw. Umgangssprachlich heißt das Server-Zertifikat noch „SSL-Zertifikat“.
Was TLS leistet: Vertraulichkeit (symmetrische Verschlüsselung der Nutzdaten), Integrität (jeder Datensatz wird mit einem MAC bzw. im AEAD-Modus geschützt, Veränderungen fallen auf) und Authentizität des Servers (Zertifikat; der Client weiß, mit wem er spricht). Den Client authentifiziert TLS normalerweise nicht, das macht die Anwendung (Login). Ausnahme: gegenseitiges TLS (mTLS) mit Client-Zertifikat, z. B. bei Maschinen untereinander.
In IHK-Lösungen genügt meist die „klassische“ Darstellung aus TLS 1.2: Der Client erzeugt das Sitzungsgeheimnis und schickt es mit dem öffentlichen Schlüssel des Servers verschlüsselt. Seit TLS 1.3 wird der Sitzungsschlüssel stattdessen von beiden Seiten per (Elliptic-Curve-)Diffie-Hellman berechnet; das Zertifikat dient dann zur Authentifizierung des Servers. Beides ist „hybrid“.
| Transportverschlüsselung | Ende-zu-Ende-Verschlüsselung | |
|---|---|---|
| Was wird geschützt? | jede Teilstrecke (Client → Server, Server → Server) | der Inhalt vom ersten Absender bis zum letzten Empfänger |
| Zwischenstationen | sehen den Klartext (Server, Gateways, Proxys) | sehen nur Chiffrat |
| Risiko | kompromittierte oder neugierige Zwischenstation | Schlüsselverwaltung bei den Endpunkten aufwendiger; Server kann Inhalte nicht prüfen/durchsuchen |
| Beispiele | HTTPS, TLS zwischen Mailservern, WLAN-Verschlüsselung | S/MIME, PGP, E2E-Messenger, Verschlüsselung direkt im Sensor bis zur Anwendung |
Batteriebetriebene Sensoren haben wenig Rechenleistung und Speicher, sollen jahrelang mit einer Batterie laufen und dürfen per Funk oft nur wenige Byte je Nachricht senden. So gehst du bei der Auswahl vor:
Beispiel mit anderen Daten: Ein Funk-Wasserzähler mit Knopfzelle soll 12 Jahre laufen und sendet einmal täglich ein 20-Byte-Telegramm. RSA-2048 würde jede Nachricht auf mindestens 256 Byte aufblähen und viel Energie kosten; ein AES-128-Schlüssel je Zähler, der beim Einbau beim Versorger hinterlegt wird, ist die passende Lösung.
Vorkommen: Kryptografie insgesamt 6/9 · Hash/Signatur/Zertifikat davon in W21, S22, W22, S23, S26 · Teil 1, 2–9 Punkte je Teilaufgabe
Eine kryptografische Hashfunktion berechnet aus beliebig großen Daten einen Hashwert (Prüfsumme, „digitaler Fingerabdruck“) fester Länge, z. B. 256 Bit bei SHA-256. Eigenschaften:
| Eingabe | SHA-256 (gekürzt) |
|---|---|
Paket 5K-2209 zugestellt | 7fe5231676663b5a…70b551f39650 |
Paket 5K-2209 zugestellt. (mit Punkt) | 2697297fcb427fd1…cdb017d122 |
| Verfahren | Länge | Einsatz heute |
|---|---|---|
| MD5 | 128 Bit | unsicher (Kollisionen leicht erzeugbar) – höchstens noch als Prüfsumme gegen zufällige Fehler |
| SHA-1 | 160 Bit | unsicher (praktische Kollision seit 2017) |
| SHA-256, SHA-512 (SHA-2), SHA-3 | 256–512 Bit | aktueller Standard für Integrität und Signaturen |
| bcrypt, scrypt, Argon2, PBKDF2 | – | absichtlich langsame Verfahren speziell für Passwörter (SEC-04) |
Einsatz: Prüfsummen bei Downloads, Grundlage der digitalen Signatur, Passwortspeicherung (mit Salt), Versionsverwaltung (Git), Erkennen doppelter Dateien.
Ein MAC (Message Authentication Code) ist eine Prüfsumme, in die ein geheimer symmetrischer Schlüssel eingeht. Das genormte Verfahren auf Basis einer Hashfunktion heißt HMAC (z. B. HMAC-SHA256). Beispiel: Eine Wetterstation sendet „Wind 87 km/h“ und dazu HMAC(K, „Wind 87 km/h“). Der Server kennt K, berechnet den HMAC über die empfangene Nachricht neu und vergleicht.
Ablauf in Worten: Die Absenderin bildet den Hashwert des Dokuments und signiert ihn mit ihrem privaten Schlüssel (bei RSA anschaulich: „verschlüsselt den Hashwert mit dem privaten Schlüssel“). Dokument und Signatur werden zusammen versendet. Der Empfänger berechnet den Hashwert des empfangenen Dokuments selbst (H1), prüft die Signatur mit dem öffentlichen Schlüssel der Absenderin (erhält H2) und vergleicht H1 mit H2.
| Ziel | Wer handelt? | Welcher Schlüssel? |
|---|---|---|
| Nachricht an B vertraulich verschlüsseln | Sender A | öffentlicher Schlüssel von B |
| Nachricht entschlüsseln | Empfänger B | privater Schlüssel von B |
| Nachricht signieren | Sender A | privater Schlüssel von A |
| Signatur prüfen | Empfänger B (oder jeder andere) | öffentlicher Schlüssel von A |
Problem der asymmetrischen Verfahren: Woher weiß ich, dass ein öffentlicher Schlüssel wirklich zum Online-Shop oder zur Lieferantin gehört? Ein digitales Zertifikat (Standard X.509) ist eine von einer Zertifizierungsstelle (CA, Certificate Authority) digital signierte Bescheinigung, die einen öffentlichen Schlüssel an eine Identität bindet (Domain, Person, Firma).
Was der Browser prüft: (1) Passt der Name im Zertifikat zur aufgerufenen Adresse? (2) Ist das Zertifikat gültig (Zeitraum) und nicht gesperrt? (3) Ist die Signatur korrekt – geprüft mit dem öffentlichen Schlüssel der ausstellenden CA? (4) Schritt (3) wiederholt sich Stufe für Stufe bis zu einem Root-Zertifikat, das im Vertrauensspeicher liegt. Geht alles auf, zeigt der Browser das Schloss; sonst eine Warnung.
Auch Programme, Treiber, Apps, Makros und Firmware-Updates werden signiert. Der Hersteller signiert die Datei mit dem privaten Schlüssel seines Code-Signing-Zertifikats; das Betriebssystem bzw. Gerät prüft vor dem Start oder der Installation Signatur und Zertifikatskette. Beispiel: Eine Bäckereikette verteilt eine neue Version ihrer Kassensoftware. Ist die Datei signiert, zeigt Windows den geprüften Herausgeber an; ist sie unsigniert oder nach dem Signieren verändert worden, erscheint „Unbekannter Herausgeber“ bzw. eine Sperrwarnung.
Vorkommen: 6/9 · Prüfungen: S22, W22, S23, S24, W25, S26 · Teil 1 (meist 3–4 Punkte, oft in Krypto-Aufgaben eingebaut)
Das BSI nennt drei Grundwerte der Informationssicherheit: Vertraulichkeit, Integrität und Verfügbarkeit (englisch CIA: Confidentiality, Integrity, Availability). Dazu kommen häufig Authentizität und Verbindlichkeit, die das BSI als Teilaspekte der Integrität sieht. Wenn in der Prüfung nach dem „Schutzziel nach BSI“ gefragt wird, ist fast immer einer der drei Grundwerte gemeint.
| Schutzziel | Bedeutung | Signalwörter | Beispiel (Online-Shop für Fahrradteile) | typische Maßnahmen |
|---|---|---|---|---|
| Vertraulichkeit | Informationen sind nur Befugten zugänglich. | einsehen, mitlesen, abhören, veröffentlicht, weitergegeben, gestohlen | Kundenliste mit Adressen liegt in einem öffentlich erreichbaren Cloud-Ordner. | Verschlüsselung (Übertragung und Speicherung), Rechte- und Rollenkonzept, Authentifizierung, Festplattenverschlüsselung |
| Integrität | Daten sind korrekt, vollständig und unverändert; Änderungen sind erkennbar bzw. nur Befugten möglich. | verändert, manipuliert, verfälscht, fehlerhaft, unvollständig | Ein Preis wird unbemerkt von 49,90 € auf 4,99 € geändert. | Hash/MAC/Signatur, Schreibrechte nur für Befugte, Protokollierung, Versionierung, Eingabeprüfung, Transaktionen |
| Verfügbarkeit | Systeme und Daten sind nutzbar, wenn sie gebraucht werden. | nicht erreichbar, Ausfall, überlastet, zu langsam, gelöscht, gesperrt | Der Shop bricht am Aktionstag unter der Last zusammen. | Redundanz, Backups, USV, Lastverteilung, Skalierung, Monitoring, DDoS-Schutz, Notfallplan |
| Authentizität | Echtheit: Daten bzw. Kommunikationspartner sind wirklich, wer oder was sie vorgeben zu sein. | gefälscht, vorgetäuscht, angeblich, im Namen von | Eine E-Mail „vom Lieferanten“ mit geänderter Bankverbindung ist gefälscht. | Signatur, Zertifikate, MAC, starke Authentifizierung, Rückruf über bekannte Nummer |
| Verbindlichkeit (Nicht-abstreitbarkeit) | Eine Handlung kann später nicht abgestritten werden; sie ist einer Person nachweisbar zuzuordnen. | bestreitet, nachweisen, beweisen, wer war es? | Ein Kunde bestreitet, eine teure Bestellung aufgegeben zu haben. | digitale Signatur, revisionssichere Protokollierung mit Zeitstempel, persönliche statt Sammelkonten |
Beispiele (Stadtbibliothek): „Wegen eines Defekts am Datenbankserver kann zwei Tage lang nichts ausgeliehen werden“ → Verfügbarkeit. „Ein Praktikant ändert Rückgabedaten, damit seine Freunde keine Mahngebühr zahlen“ → Integrität. „Die Ausleihhistorie einer Leserin taucht in einem Internetforum auf“ → Vertraulichkeit.
Der IT-Grundschutz des BSI (BSI-Standards 200-1 bis 200-3 und das IT-Grundschutz-Kompendium mit seinen Bausteinen) beschreibt, wie eine Organisation ein angemessenes Sicherheitsniveau erreicht. Ablauf der Standard-Absicherung, stark vereinfacht:
| Kategorie | Bedeutung (sinngemäß BSI) | Woran man es festmacht (Schadensszenarien) |
|---|---|---|
| normal | Die Schadensauswirkungen sind begrenzt und überschaubar. | Verstoß gegen Gesetze/Verträge · Beeinträchtigung des Rechts auf informationelle Selbstbestimmung (Datenschutz) · Gefahr für Leib und Leben · Beeinträchtigung der Aufgabenerfüllung · negative Innen- und Außenwirkung (Image) · finanzielle Auswirkungen |
| hoch | Die Schadensauswirkungen können beträchtlich sein. | |
| sehr hoch | Die Schadensauswirkungen können ein existenziell bedrohliches, katastrophales Ausmaß erreichen. |
Beispiel (Stadtbibliothek, andere Daten als in den Aufgaben):
| Objekt | V | I | A | Begründung |
|---|---|---|---|---|
| Online-Katalog (Buchbestand) | normal | normal | normal | öffentliche Daten; ein Ausfall ist ärgerlich, die Ausleihe vor Ort funktioniert weiter. |
| Leserkonten mit Ausleihhistorie | hoch | normal | normal | personenbezogen; die Historie erlaubt Rückschlüsse auf Interessen, Gesundheit oder politische Haltung → Datenschutzverstoß und Imageschaden. |
| Selbstverbuchungsautomaten mit Diebstahlsicherung | normal | hoch | hoch | Ausfall → keine Ausleihe/Rückgabe, lange Schlangen; Manipulation → Medien verlassen unbemerkt das Haus. |
Wird nach „sicherheitstechnischen Anforderungen“ an ein System gefragt (S24), erwartet die IHK konkrete, überprüfbare Sätze, die sich einem Schutzziel zuordnen lassen. Muster: „Das System muss … (Was? Womit? Wie viel?)“. Beispiele für die Online-Terminbuchung einer Kfz-Werkstatt:
Vorkommen: 3/9 · Prüfungen: S22 (OAuth2), W22 (SSO/OAuth2), S24 (Passwort-Reset, Teil 2) · 3–6 Punkte je Teilaufgabe
| Begriff | Frage | Beispiel Hotel | Beispiel IT |
|---|---|---|---|
| Identifikation | Wer behauptest du zu sein? | Gast nennt seinen Namen. | Benutzername eingeben |
| Authentifizierung | Beweise es! | Gast zeigt seinen Ausweis. | Passwort, Einmalcode, Fingerabdruck wird geprüft |
| Autorisierung | Was darfst du? | Die Schlüsselkarte öffnet nur Zimmer 214 und den Fitnessraum. | Rechte- und Rollenkonzept: Lesen ja, Löschen nein |
Genau genommen authentisiert sich der Benutzer (er legt einen Nachweis vor), und das System authentifiziert ihn (es prüft den Nachweis). In der Prüfung werden beide Wörter meist gleich verwendet.
| Faktor | Beispiele | Schwäche |
|---|---|---|
| Wissen (etwas, das ich weiß) | Passwort, PIN, Sicherheitsfrage | kann erraten, ausgespäht, per Phishing abgefragt werden |
| Besitz (etwas, das ich habe) | Smartphone mit Authenticator-App (TOTP), Hardware-Token/FIDO2-Schlüssel, Chipkarte, Handynummer für SMS-Code | kann verloren gehen oder gestohlen werden; SMS ist schwächer (SIM-Tausch, Abfangen) |
| Inhärenz / Biometrie (etwas, das ich bin) | Fingerabdruck, Gesichtserkennung, Iris, Stimme | nicht änderbar, wenn kompromittiert; Fehlerkennungen; Datenschutz (besondere Daten) |
Passwörter werden nie im Klartext und nie umkehrbar verschlüsselt gespeichert, sondern nur als Hashwert. Beim Login wird die Eingabe genauso gehasht und mit dem gespeicherten Wert verglichen. Ein einfacher, schneller Hash (MD5, auch SHA-256) reicht aber nicht:
| Baustein | Was ist das? | Wo gespeichert? | Wogegen hilft es? |
|---|---|---|---|
| Salt | zufälliger Wert (z. B. 16 Byte), für jeden Benutzer anders, wird vor dem Hashen an das Passwort gehängt | in der Datenbank neben dem Hash (nicht geheim) | Problem 1 und 2: gleiche Passwörter ergeben verschiedene Hashes, vorberechnete Tabellen sind nutzlos |
| Pepper | geheimer Wert, für alle Benutzer gleich | nicht in der Datenbank, sondern z. B. in geschützter Konfiguration oder einem Hardware-Sicherheitsmodul | Wird nur die Datenbank gestohlen, kann der Angreifer ohne Pepper keine Passwörter durchprobieren. |
| Langsame Hashfunktion / Key Stretching | bcrypt, scrypt, Argon2, PBKDF2: viele tausend Runden bzw. viel Speicher je Berechnung | – | Problem 3: Ein Login dauert z. B. 0,1 s (für den Nutzer egal), das Durchprobieren von Milliarden Passwörtern wird unbezahlbar langsam. |
Schematisch: Registrierung salt := zufallswert(), hash := H(pepper + salt + passwort) (mit vielen Runden) → salt und hash speichern. Login: salt zum Benutzer laden, mit der Eingabe denselben Hash berechnen, vergleichen. In der Praxis nimmt man dafür eine fertige Bibliotheksfunktion (Java: SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256"), PHP: password_hash(), Spring: BCryptPasswordEncoder) statt einer Eigenentwicklung.
Nach dem Login bekommt der Client eine zufällige, lange Session-ID bzw. ein Token. Regeln: nur über HTTPS übertragen, Cookie mit den Attributen Secure, HttpOnly (kein Zugriff per JavaScript) und SameSite; nach dem Login eine neue Session-ID vergeben; Timeout nach Inaktivität (z. B. 15 Minuten bei sensiblen Daten); beim Logout serverseitig ungültig machen.
Der Benutzer meldet sich einmal bei einem zentralen Identitätsdienst (Identity Provider) an und kann danach mehrere Anwendungen ohne erneute Anmeldung nutzen. Beispiel: Studierende melden sich einmal an und nutzen Lernplattform, Mail und Bibliotheksportal. Technik: SAML 2.0, OpenID Connect (baut auf OAuth2 auf), im Firmennetz Kerberos/Active Directory.
| Vorteile | Nachteile |
|---|---|
| nur ein Passwort → weniger vergessene Passwörter, weniger Passwort-Wiederverwendung, weniger Supportaufwand · zentrale Benutzerverwaltung: Sperren bei Austritt an einer Stelle · MFA muss nur einmal zentral eingerichtet werden · Komfort, Zeitersparnis | Single Point of Failure: Fällt der Identity Provider aus, geht nirgends eine Anmeldung · kompromittiertes Konto öffnet alle Anwendungen (daher MFA Pflicht) · Abhängigkeit vom Anbieter, bei externen Anbietern Datenschutzfragen · Einführungs- und Integrationsaufwand |
OAuth2 regelt, wie eine Anwendung im Auftrag eines Benutzers auf dessen Daten bei einem anderen Dienst zugreifen darf, ohne das Passwort des Benutzers zu erhalten. Der Benutzer meldet sich nur beim Dienst selbst an und stimmt einem eingeschränkten Zugriff (Scope) zu; die Anwendung bekommt dafür ein zeitlich begrenztes Token.
| Rolle | Bedeutung | Beispiel unten |
|---|---|---|
| Resource Owner | Besitzer der Daten, erteilt die Zustimmung (meist der Benutzer) | Nutzerin mit Online-Fotoalbum |
| Client | Anwendung, die auf die Daten zugreifen möchte | Fotodruck-Dienst |
| Authorization Server | authentifiziert den Resource Owner, holt die Zustimmung ein und stellt Codes/Tokens aus | Login-Server des Fotoalbum-Anbieters |
| Resource Server | hält die geschützten Daten (Protected Resource) und prüft das Access Token | Foto-API des Fotoalbum-Anbieters |
Vorkommen: 2/9 · Prüfungen: W24 (Einwilligung, Datenschutzerklärung in einer App), W25 (keine echten Daten auf eine Online-Prüfseite) · Teil 1, 4–6 Punkte
| Datenschutz | Datensicherheit / IT-Sicherheit | |
|---|---|---|
| Schützt … | die Person und ihr Recht auf informationelle Selbstbestimmung | die Daten und Systeme selbst (alle Daten, auch nicht personenbezogene) |
| Leitfrage | Darf ich diese personenbezogenen Daten überhaupt erheben, speichern, weitergeben – und wie lange? | Wie schütze ich Daten vor Verlust, Manipulation und unbefugtem Zugriff? |
| Grundlage | DSGVO, BDSG | Schutzziele, BSI IT-Grundschutz, ISO 27001 |
| Beispiel | Einwilligung einholen, Daten nach Zweckerfüllung löschen | Backup, Verschlüsselung, Firewall |
Beides hängt zusammen: Die DSGVO verlangt „geeignete technische und organisatorische Maßnahmen“ (TOM) – also Datensicherheit – für personenbezogene Daten.
| Grundsatz | Bedeutung · Beispiel Online-Shop |
|---|---|
| Rechtmäßigkeit, Treu und Glauben, Transparenz | nur mit Rechtsgrundlage; die Person weiß, was mit ihren Daten passiert (Datenschutzerklärung). |
| Zweckbindung | Daten nur für den festgelegten Zweck verwenden: Die Lieferadresse dient dem Versand, nicht dem Verkauf an Adresshändler. |
| Datenminimierung | nur so viele Daten wie nötig: Für einen Newsletter genügt die E-Mail-Adresse; Geburtsdatum und Telefonnummer sind überflüssig. |
| Richtigkeit | Daten aktuell halten, falsche berichtigen. |
| Speicherbegrenzung | löschen, sobald der Zweck erfüllt ist und keine Aufbewahrungspflicht besteht. |
| Integrität und Vertraulichkeit | angemessene Sicherheit durch TOM (Verschlüsselung, Zugriffsrechte, Backups). |
| Rechenschaftspflicht | Der Verantwortliche muss die Einhaltung nachweisen können (Verarbeitungsverzeichnis, dokumentierte Einwilligungen). |
| Rechtsgrundlage | Beispiel |
|---|---|
| a) Einwilligung | Newsletter, Werbung, Weitergabe an Partner, freiwillige Zusatzfunktionen |
| b) Vertrag / Vertragsanbahnung | Name, Lieferadresse und Zahlungsdaten zur Abwicklung einer Bestellung |
| c) rechtliche Verpflichtung | Aufbewahrung von Rechnungen nach Handels- und Steuerrecht |
| d) lebenswichtige Interessen | Notfall: Daten an den Rettungsdienst |
| e) öffentliche Aufgabe | Behörden |
| f) berechtigtes Interesse (mit Abwägung) | Betrugsprävention, IT-Sicherheit (z. B. Log-Dateien für kurze Zeit) |
Beispiel (App einer Tanzschule): Bei der Anmeldung zum Kurs werden nur Name, E-Mail und Bankverbindung als Pflichtfelder abgefragt (Vertrag). Darunter zwei leere, getrennte Checkboxen: „Ich möchte den monatlichen Newsletter erhalten“ und „Fotos von mir dürfen auf der Website der Tanzschule erscheinen“, jeweils mit Hinweis auf den Widerruf in den Einstellungen und einem Link zur Datenschutzerklärung.
Die Datenschutzerklärung informiert – ihr muss man nicht „zustimmen“. In einer App muss sie vor der Datenerhebung (z. B. im Registrierungsdialog und im Store-Eintrag) und jederzeit über das Menü erreichbar sein, in klarer, verständlicher Sprache. Inhalt:
| Recht | Inhalt |
|---|---|
| Auskunft (Art. 15) | welche Daten, Zwecke, Empfänger, Speicherdauer; Kopie der Daten |
| Berichtigung (Art. 16) | falsche Daten korrigieren lassen |
| Löschung, „Recht auf Vergessenwerden“ (Art. 17) | wenn Zweck entfallen, Einwilligung widerrufen, Verarbeitung unrechtmäßig – aber nicht, solange eine gesetzliche Aufbewahrungspflicht besteht |
| Einschränkung der Verarbeitung (Art. 18) | Daten „sperren“ statt löschen, z. B. während Aufbewahrungsfristen |
| Datenübertragbarkeit (Art. 20) | eigene Daten in gängigem, maschinenlesbarem Format erhalten (z. B. JSON, CSV) |
| Widerspruch (Art. 21) · Widerruf der Einwilligung (Art. 7) | Verarbeitung für die Zukunft stoppen (z. B. Werbung) |
Frist für die Antwort: grundsätzlich ein Monat. Vorher die Identität des Anfragenden prüfen – sonst gibt man die Daten womöglich einem Betrüger.
Wer echte personenbezogene Daten (Kundenlisten, Rechnungen, Bankverbindungen) in ein kostenloses Online-Prüf- oder Konvertierungstool hochlädt, übermittelt sie an einen Dritten – ohne Rechtsgrundlage, ohne AV-Vertrag, ohne Wissen, wo und wie lange sie gespeichert werden (eventuell außerhalb der EU). Das verletzt Datenschutz und Vertraulichkeit. Besser: synthetische Testdaten (erfundene, aber realistische Datensätze) oder sauber anonymisierte Daten verwenden, Prüfwerkzeuge lokal bzw. im eigenen Netz betreiben oder einen Anbieter mit AV-Vertrag wählen.
Vorkommen: 1/9 · Prüfung: S24 (Teil 2, A1b: Makros in Word-Anhängen, 5 P) · als Wissen aber auch Grundlage für SEC-03 und SEC-04
| Angriff | So funktioniert er | verletzt v. a. | Gegenmaßnahmen |
|---|---|---|---|
| Phishing (gezielt: Spear-Phishing) | gefälschte Mail/Website/SMS lockt auf eine nachgebaute Anmeldeseite, um Zugangsdaten abzugreifen | Vertraulichkeit, Authentizität | Schulung (Absender, Links prüfen), 2FA bzw. Passkeys, Spam-/Linkfilter, Meldeweg für verdächtige Mails |
| Social Engineering | Manipulation von Menschen: Anrufer gibt sich als IT-Support oder Chef aus und fordert Passwort oder Überweisung (Pretexting, CEO-Fraud) | Vertraulichkeit | Schulung/Sensibilisierung, klare Regel „IT fragt nie nach Passwörtern“, Rückruf über bekannte Nummer, Vier-Augen-Prinzip bei Zahlungen |
| Schadsoftware im Anhang (z. B. Makro-Malware) | Office-Dokument mit Makro (z. B. .docm, .xlsm) fordert „Inhalt aktivieren“; das Makro lädt Schadsoftware nach | alle | Makros aus Internet-Dateien per Richtlinie blockieren, nur signierte Makros erlauben, Anhangfilter/Sandbox, Virenschutz, minimale Benutzerrechte, Schulung |
| Ransomware | Schadsoftware verschlüsselt Daten und fordert Lösegeld; oft werden Daten vorher kopiert | Verfügbarkeit (+ Vertraulichkeit) | Offline-/unveränderbare Backups und getestete Wiederherstellung, Patches, Netzsegmentierung, minimale Rechte, E-Mail-Schutz |
| Brute Force, Wörterbuchangriff, Credential Stuffing | systematisches Durchprobieren von Passwörtern bzw. Ausprobieren geleakter Zugangsdaten aus anderen Diensten | Vertraulichkeit | Fehlversuchssperre/Verzögerung, Rate Limiting je IP und Konto, CAPTCHA, 2FA, Prüfung gegen geleakte Passwörter, Monitoring |
| (D)DoS | Überlastung eines Dienstes durch massenhaft Anfragen, bei DDoS von vielen (gekaperten) Rechnern gleichzeitig | Verfügbarkeit | DDoS-Schutzdienst/Filter beim Provider, Rate Limiting, Lastverteilung, automatische Skalierung, Notfallplan |
| Man-in-the-Middle (z. B. gefälschter WLAN-Hotspot „Evil Twin“) | Angreifer schaltet sich unbemerkt zwischen zwei Kommunikationspartner, liest mit oder verändert Daten | Vertraulichkeit, Integrität | TLS mit konsequenter Zertifikatsprüfung (Warnungen nie wegklicken, in Apps Certificate Pinning), VPN, WPA3/WPA2-Enterprise, HSTS |
| SQL-Injection | Eingaben werden ungeprüft in SQL-Befehle eingebaut und verändern deren Bedeutung | alle | Prepared Statements, Eingabevalidierung (Whitelist), Datenbankbenutzer mit minimalen Rechten, keine technischen Fehlermeldungen an Nutzer |
| Cross-Site Scripting (XSS) | Angreifer schleust Skriptcode in eine Webseite ein (z. B. über einen Kommentar), der im Browser anderer Besucher ausgeführt wird | Vertraulichkeit, Integrität | Output-Encoding (< → <), Template-Engines mit automatischem Escaping, Content-Security-Policy, Cookies mit HttpOnly |
| CSRF (Cross-Site Request Forgery) | Eine fremde Seite löst im Browser eines angemeldeten Nutzers unbemerkt eine Aktion auf der echten Seite aus; das Session-Cookie wird automatisch mitgeschickt | Integrität | CSRF-Token in Formularen, Cookies mit SameSite, erneute Passwortabfrage bei kritischen Änderungen |
Beispiel: Die Katalogsuche einer Bibliothek baut die Eingabe des Benutzers direkt in den SQL-Text ein.
Java · unsicher
String sql = "SELECT titel, autor FROM buch WHERE autor = '" + eingabe + "'"; Statement st = con.createStatement(); ResultSet rs = st.executeQuery(sql);
Enthält die Eingabe ein Hochkomma, endet die Zeichenkette im SQL-Text vorzeitig, und alles danach wird als SQL-Code gelesen. Schon ein harmloser Autorenname wie O'Brien führt deshalb zu einem Syntaxfehler. Ein Angreifer nutzt genau diesen Effekt gezielt aus: Er formuliert seine Eingabe so, dass sich die Bedeutung der Abfrage ändert. Bedingungen wie eine Passwortprüfung werden dann umgangen, fremde Tabellen ausgelesen oder Daten verändert.
Java · sicher mit Prepared Statement
String sql = "SELECT titel, autor FROM buch WHERE autor = ?"; PreparedStatement ps = con.prepareStatement(sql); ps.setString(1, eingabe); // Wert wird getrennt als reine Daten übergeben ResultSet rs = ps.executeQuery();
Warum das hilft: Die SQL-Anweisung mit dem Platzhalter ? wird zuerst an die Datenbank geschickt und dort vorbereitet. Der Eingabewert wird anschließend getrennt als Datenwert übergeben und nie als SQL-Code interpretiert. Eine Eingabe mit Hochkommas ist dann einfach ein (nicht existierender) Autorenname und ändert die Abfrage nicht mehr. Eigene „Filter“, die Hochkommas entfernen, sind dagegen fehleranfällig.
Ein Gästebuch speichert den Kommentar <script>…</script> und gibt ihn unverändert in die HTML-Seite aus – jeder Besucher führt das Skript aus (z. B. Diebstahl des Session-Cookies, gefälschtes Login-Formular). Abhilfe: Ausgaben kontextgerecht kodieren, dann zeigt der Browser <script> nur als Text an.
Für IT-Sicherheit und Datenschutz legt die IHK keine Notationshilfe bei. Der Belegsatz besteht deshalb nur aus den Anlagen zur Ausgangssituation, auf die sich die Aufgaben beziehen. Keine Erklärungen.
Die Aufgaben dieses Blocks beziehen sich auf die folgende Ausgangssituation:
Die Pulsar Fitness GmbH betreibt 14 Fitnessstudios in Niedersachsen mit rund 38.000 Mitgliedern. Verträge, Kursbuchung und Zutritt laufen bisher über eine veraltete Studiosoftware, Excel-Listen und Papierformulare. Die Geschäftsführerin, Frau Petersen, hat die neue Plattform „PulsarConnect“ in Auftrag gegeben. Sie besteht aus
Die Beiträge werden per SEPA-Lastschrift eingezogen; dazu wird die IBAN jedes Mitglieds gespeichert. Die Krankenkasse VitaKasse möchte über ihre Bonus-App – mit Zustimmung des Mitglieds – abrufen können, wie oft das Mitglied im Monat trainiert hat (Bonusprogramm).
Sie sind Auszubildende/r zum Fachinformatiker/zur Fachinformatikerin Anwendungsentwicklung bei der Seidel & Brandt Software GmbH, die PulsarConnect entwickelt. Sie arbeiten im Team „Sicherheit und Datenschutz“ mit. Ihre Themen: sichere Kommunikation zwischen den Komponenten, Benutzerkonten und Anmeldung, Schutzbedarfsanalyse, Datenschutz in der App und die Prüfung des Altsystems auf Schwachstellen.
| Funk-Sensor PS-200 | Körperanalyse-Waage BodyScan 5 | Funk-Gateway GW-10 | |
|---|---|---|---|
| Zweck | misst CO₂, Temperatur, Luftfeuchte und Personenzahl im Kursraum | misst Gewicht, Körperfett, Muskelmasse; Zuordnung zum Mitglied per QR-Code aus der App | empfängt die Funkdaten aller Sensoren eines Studios |
| Prozessor / Speicher | 32-Bit-Mikrocontroller, 48 MHz, 32 KB RAM, 256 KB Flash | ARM-Prozessor 1,2 GHz, 1 GB RAM | ARM-Prozessor 1,5 GHz, 2 GB RAM, Linux |
| Krypto-Unterstützung | AES-128-Hardwarebaustein; keine Hardwareunterstützung für RSA oder ECC | TLS 1.3 möglich | TLS 1.3 möglich |
| Energieversorgung | 2 × AA-Batterie, geforderte Laufzeit mindestens 5 Jahre | Netzbetrieb | Netzbetrieb |
| Kommunikation | 868-MHz-Funk (LPWAN, Herstellerprotokoll): max. 48 Byte Nutzdaten je Nachricht, Sendezeit höchstens 1 % (gesetzlicher Duty Cycle) | WLAN des Studios | Funk zu den Sensoren, LAN zum Router |
| Datenmenge | alle 10 Minuten ein Messwertsatz mit 12 Byte | ca. 2 KB je Messung | – |
| Sicherheit im Pilotbetrieb | Alle Sensoren eines Studios verschlüsseln mit einem gemeinsamen AES-Schlüssel, den auch das Gateway kennt. Das Gateway entschlüsselt die Werte, prüft sie und sendet sie per TLS an den API-Server. | sendet die Messwerte unverschlüsselt per HTTP an den API-Server; lädt Firmware-Updates per HTTP vom Update-Server | Firmware-Updates vom Update-Server |
| Nr. | Datum | Beschreibung |
|---|---|---|
| V1 | 03.08. | Am Abend war die Kursbuchung im Web-Portal 40 Minuten lang nicht erreichbar. Laut Cloud-Anbieter trafen in dieser Zeit Millionen sinnloser Anfragen von Tausenden verschiedener IP-Adressen ein. |
| V2 | 05.08. | Ein Trainer hat die PDF-Auswertung einer Körperanalyse per E-Mail versehentlich an ein anderes Mitglied mit gleichem Nachnamen geschickt. |
| V3 | 07.08. | Der Empfang im Studio Lüneburg erhält eine E-Mail des angeblichen Getränkelieferanten mit dem Anhang Rechnung_August.docm. Beim Öffnen erscheint der Hinweis „Um die Rechnung korrekt anzuzeigen, klicken Sie auf Inhalt aktivieren“. |
| V4 | 11.08. | Bei einem Mitglied war der Tarif in der Datenbank ohne Auftrag von „Premium“ auf „Basis“ geändert worden; dadurch wurde monatelang ein zu niedriger Beitrag abgebucht. |
| V5 | 12.08. | Ein Anrufer gibt sich als Techniker von Seidel & Brandt aus, kündigt eine „dringende Wartung“ an und bittet die Empfangskraft im Studio Celle, ihm das Passwort für PulsarDesk zu nennen. |
| V6 | 14.08. | Das Web-Portal protokolliert innerhalb einer Stunde 18.000 fehlgeschlagene Anmeldeversuche für über 6.000 verschiedene Mitgliederkonten. Die E-Mail-Passwort-Kombinationen stammen offenbar aus einem Datenleck eines anderen Online-Dienstes; 37 Anmeldungen waren erfolgreich. |
| V7 | 17.08. | Ein Stromausfall im Studio Uelzen legt Funk-Gateway und Spindschlösser lahm; die Mitglieder kommen zwei Stunden lang nicht an ihre Sachen. |
| V8 | 19.08. | Unter einer Kursbewertung im Web-Portal steht ein Kommentar, der Skriptcode enthält. Wer die Bewertungen ansieht, bekommt ein Fenster „Sitzung abgelaufen – bitte erneut anmelden“, das die eingegebenen Zugangsdaten an eine fremde Adresse schickt. |
| V9 | 21.08. | Die Buchhaltung erhält eine E-Mail, die scheinbar von Frau Petersen stammt: Sie solle wegen eines vertraulichen Geräteeinkaufs sofort 24.800 € auf ein ausländisches Konto überweisen. Absender: petersen@pulsar-fitnes.example. |
| V10 | 24.08. | Im Studio Lüneburg ist neben dem Gäste-WLAN „Pulsar-Gast“ ein zweites, offenes WLAN „Pulsar-Gast-Free“ aufgetaucht. Mitglieder, die sich damit verbunden haben, melden Zertifikatswarnungen im Browser. |
| V11 | 26.08. | Ein Mitglied war im Web-Portal angemeldet und klickte in einem Fitness-Forum auf den Link „Gratis-Trainingsplan“. Kurz darauf war in seinem Pulsar-Konto eine fremde E-Mail-Adresse hinterlegt, obwohl es selbst nichts geändert hatte. |
| V12 | 28.08. | Ein Mitglied bestreitet, seine Mitgliedschaft über die App gekündigt zu haben. Pulsar kann nicht nachweisen, dass die Kündigung tatsächlich von diesem Mitglied abgeschickt wurde. |
| V13 | 31.08. | Auf dem Empfangs-PC im Studio Celle haben alle Dateien die Endung .locked und lassen sich nicht mehr öffnen; eine Textdatei fordert 2 Bitcoin für die Entschlüsselung. |
A1 – Frau Petersen (Geschäftsführung): „Jeden Sonntag um 18 Uhr schalten wir die Kurse der neuen Woche frei. Dann versuchen Hunderte Mitglieder gleichzeitig, einen Platz zu bekommen. Wenn das System dann hängt, haben wir am Montag Beschwerden ohne Ende.“
A2 – Herr Okafor (Leitung Trainingsbetrieb): „Die Ergebnisse der Körperanalyse und die Angaben zu Vorerkrankungen gehen nur das Mitglied und seine Trainerin oder seinen Trainer etwas an – nicht den Empfang und schon gar nicht andere Mitglieder.“
A3 – Frau Lindqvist (Buchhaltung): „Wenn ein Mitglied in der App kündigt oder den Tarif wechselt, müssen wir im Streitfall beweisen können, dass genau dieses Mitglied das war und wann.“
A4 – Herr Brandl (Leitung Studio Celle): „Ein Backup brauchen wir in Zukunft nicht mehr. Die Daten liegen dann doch in der Cloud, und der Anbieter hat bestimmt mehrere Festplatten.“
| Nr. | Objekt | Inhalt / Funktion | Zugriff |
|---|---|---|---|
| D1 | Kursplan | Kurse, Uhrzeiten, Räume, Vornamen der Trainerinnen und Trainer | öffentlich auf der Website und in der App |
| D2 | Mitgliederstammdaten | Name, Anschrift, Geburtsdatum, E-Mail, Telefonnummer, Tarif, IBAN | Empfang, Buchhaltung, das Mitglied selbst |
| D3 | Gesundheits- und Körperdaten | Gewicht, Körperfettanteil, Herzfrequenzverläufe, Angaben zu Vorerkrankungen und Medikamenten | das Mitglied, die zuständige Trainerin bzw. der zuständige Trainer |
| D4 | Check-in-Protokoll | Mitgliedsnummer, Studio, Zeitpunkt jedes Check-ins | Studioleitung; Anzahl der Besuche je Monat für die VitaKasse (nur mit Zustimmung) |
| D5 | Zutrittssystem | Steuerung der Drehkreuze und Spindschlösser, Prüfung des QR-Codes aus der App | täglich von allen Mitgliedern genutzt |
| D6 | Raumklima-Messwerte | CO₂, Temperatur, Luftfeuchte, Personenzahl je Kursraum | Haustechnik, Lüftungssteuerung |
D1 bis D4 werden auf dem Datenbank-Server im Cloud-Rechenzentrum gespeichert (Anlage 2).
Ein Mitglied möchte, dass die Bonus-App der VitaKasse die Anzahl seiner Studiobesuche im Monat abrufen darf. Die Rollen (R1)–(R4) und die Inhalte (A)–(D) sind in Aufgabe SEC-04.3 zu ergänzen.
Java · Klasse MitgliederDAO (Auszug, mit Zeilennummern)
1 import java.security.MessageDigest;
2 import java.sql.*;
3
4 public class MitgliederDAO {
5
6 private static final String DB_URL = "jdbc:mysql://db.pulsar.intern:3306/pulsar";
7 private static final String DB_USER = "root";
8 private static final String DB_PASS = "Pulsar2026!";
9
10 // Anmeldung im Web-Portal: true, wenn E-Mail und Passwort stimmen
11 public boolean login(String email, String passwort) throws Exception {
12 Connection con = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);
13 String sql = "SELECT mitglied_nr FROM mitglied WHERE email = '" + email
14 + "' AND passwort_md5 = '" + md5(passwort) + "'";
15 Statement st = con.createStatement();
16 ResultSet rs = st.executeQuery(sql);
17 return rs.next(); // mindestens ein Treffer = angemeldet
18 }
19
20 // Kursbewertungen als HTML-Liste für das Web-Portal
21 public String bewertungenAlsHtml(int kursId) {
22 StringBuilder html = new StringBuilder("<ul>");
23 try {
24 Connection con = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);
25 PreparedStatement ps = con.prepareStatement(
26 "SELECT kommentar FROM bewertung WHERE kurs_id = ?");
27 ps.setInt(1, kursId);
28 ResultSet rs = ps.executeQuery();
29 while (rs.next()) {
30 html.append("<li>").append(rs.getString("kommentar")).append("</li>");
31 }
32 } catch (SQLException e) {
33 return "<p>Datenbankfehler: " + e.getMessage() + "</p>";
34 }
35 return html.append("</ul>").toString();
36 }
37
38 // MD5-Hashwert als Hex-String (32 Zeichen)
39 private static String md5(String text) throws Exception {
40 MessageDigest md = MessageDigest.getInstance("MD5");
41 StringBuilder hex = new StringBuilder();
42 for (byte b : md.digest(text.getBytes("UTF-8"))) {
43 hex.append(String.format("%02x", b));
44 }
45 return hex.toString();
46 }
47 }
| mitglied_nr | passwort_md5 | |
|---|---|---|
| 1 | admin@pulsar-fitness.example | 5491f5505c21cf4d6af2befd5a69fb34 |
| 10231 | m.berger@mail.example | 10b43971a8295f3720f38fbcdd9d6ac6 |
| 10232 | s.yilmaz@mail.example | e10adc3949ba59abbe56e057f20f883e |
| 10233 | k.hansen@mail.example | 10b43971a8295f3720f38fbcdd9d6ac6 |
| 10234 | t.wolff@mail.example | 37880b01d2a4f6376fa3d292a7352c54 |
When an app or a browser connects to a server via HTTPS, a TLS handshake takes place before any application data is sent. First, the server presents its certificate. The certificate contains the server's public key and is digitally signed by a certificate authority (CA). The client verifies this signature, the validity period and the host name.
Next, client and server perform an ephemeral Diffie-Hellman key exchange: each side generates a temporary key pair that is used for this single connection only. By exchanging their temporary public keys, both sides can calculate the same shared secret, but the secret itself is never transmitted. The server also signs the handshake with its private key to prove that it really owns the certificate.
From the shared secret, symmetric session keys are derived. All application data is then encrypted with a fast symmetric cipher such as AES-GCM, which also detects whether data has been modified in transit.
As the temporary keys are deleted at the end of the session, recorded traffic cannot be decrypted later – not even by an attacker who steals the server's long-term private key. This property is called forward secrecy.
Never store user passwords in plain text or with reversible encryption. Store a password hash instead. However, general-purpose hash functions such as MD5 or SHA-256 are designed to be fast – an attacker with a modern graphics card can test billions of password guesses per second against a stolen list of such hashes. Password hashing must therefore be deliberately slow: use a dedicated algorithm such as Argon2id, scrypt or bcrypt, or apply PBKDF2 with a high number of iterations.
Before hashing, combine each password with a unique salt: a random value of at least 16 bytes that is generated for every user. The salt does not need to be kept secret and is stored together with the hash. It ensures that identical passwords produce different hashes and makes precomputed tables (rainbow tables) useless.
For additional protection, a pepper can be used. Unlike the salt, the pepper is secret, is the same for all users and must not be stored in the database – for example, it can be kept in a hardware security module or a protected configuration file. If only the database is stolen, the attacker cannot test any guesses without it.
To verify a login, load the user's salt, compute the hash of the entered password in exactly the same way and compare the result with the stored hash.
Alle Aufgaben beziehen sich auf die Ausgangssituation in Anlage 1. Antworten bei „erläutern“ und „begründen“ immer mit Bezug zur Situation (PulsarConnect) formulieren. Zeitrichtwert: 1 Punkt ≈ 0,9 Minuten.
Für die Kommunikation zwischen Mitglieder-App und API-Server (Anlage 2) diskutiert das Team verschiedene Verschlüsselungsverfahren.
| Aussage | symmetrisch | asymmetrisch | hybrid |
|---|---|---|---|
| 1. Beide Kommunikationspartner verwenden denselben geheimen Schlüssel. | |||
| 2. Der Absender verschlüsselt mit dem öffentlichen Schlüssel des Empfängers. | |||
| 3. Das Verfahren ist schnell und eignet sich zum Verschlüsseln großer Datenmengen, z. B. von Trainingsvideos. | |||
| 4. Ein zufällig erzeugter Sitzungsschlüssel wird asymmetrisch verschlüsselt übertragen, die Nutzdaten werden mit diesem Sitzungsschlüssel verschlüsselt. | |||
| 5. Ein bekanntes Beispiel für dieses Verfahren ist RSA. | |||
| 6. Ein bekanntes Beispiel für dieses Verfahren ist AES. | |||
| 7. Damit 20 Personen paarweise vertraulich kommunizieren können, werden 190 Schlüssel benötigt. | |||
| 8. Wird bei HTTPS eingesetzt, um die Vorteile der beiden anderen Verfahren zu kombinieren. |
Angelehnt an: W21 Teil 1, Aufgabe 4a (symmetrische Verschlüsselung mit eingebautem Schlüssel)
Bei der Registrierung überträgt die Mitglieder-App unter anderem die IBAN und Angaben zu Vorerkrankungen an den API-Server. Die Verbindung wird per HTTPS (TLS) abgesichert; der API-Server besitzt dafür ein Zertifikat mit seinem öffentlichen Schlüssel.
Angelehnt an: W22 Teil 1, Aufgabe 1d (TLS hybrid) und W25 Teil 1, Aufgabe 3a (Vorteil hybride Verschlüsselung)
Die Funk-Sensoren PS-200 übertragen ihre Messwerte über das Funk-Gateway und den Router an den API-Server (Anlagen 2 und 3). Ihr Kollege Herr Demir schlägt vor, die Messwerte künftig direkt auf jedem Sensor mit RSA (2048 Bit) für den API-Server zu verschlüsseln, „weil asymmetrische Verfahren sicherer sind als symmetrische“.
Angelehnt an: S26 Teil 1, Aufgabe 3bc/3bd (RSA erläutern, Eignung im IoT-Projekt) und S23 Teil 1, Aufgabe 4a (Verschlüsselung für Sensoren)
Angelehnt an: S26 Teil 1, Aufgabe 3bb (Hashverfahren)
Die Körperanalyse-Waagen laden neue Firmware vom Update-Server (Anlagen 2 und 3). Damit nur Original-Firmware installiert wird, soll jede Firmware-Datei auf dem Build-Server von Seidel & Brandt digital signiert und von der Waage vor der Installation geprüft werden. Das folgende Schema zeigt den Ablauf; einige Felder fehlen.
| Feld | Inhalt |
|---|---|
| (1) | |
| (2) | |
| (3) | |
| (4) | |
| (5) | |
| (6) |
Angelehnt an: S23 Teil 1, Aufgabe 4b (Signieren statt Verschlüsseln)
Vor dem Start von PulsarConnect sind noch mehrere Sicherheitsfragen offen.
portal.pulsar-fitness.example, ausgestellt von einer Zwischen-CA, die ihrerseits von einer Root-CA zertifiziert ist. Beschreiben Sie, wie der Browser eines Mitglieds prüft, ob er tatsächlich mit dem echten Web-Portal verbunden ist.Angelehnt an: W21 Teil 1, Aufgabe 4b (Code-Signatur), W22 Teil 1, Aufgabe 1e (Echtheit über PKI), S26 Teil 1, Aufgabe 3bb (Schutz vor Manipulation)
Ordnen Sie den folgenden Vorfällen aus Anlage 4 jeweils das hauptsächlich verletzte Schutzziel zu (Vertraulichkeit, Integrität, Verfügbarkeit, Authentizität oder Verbindlichkeit) und begründen Sie Ihre Zuordnung in Stichworten.
| Vorfall | Schutzziel | Begründung (Stichworte) |
|---|---|---|
| V1 | ||
| V2 | ||
| V4 | ||
| V7 | ||
| V9 | ||
| V12 |
Angelehnt an: S26 Teil 1, Aufgabe 3ba und S22 Teil 1, Aufgabe 4c (Schutzziele zuordnen)
| Aussage | Schutzziel | Sicherheitstechnische Anforderung |
|---|---|---|
| A1 | ||
| A2 | ||
| A3 |
Angelehnt an: S24 Teil 1, Aufgabe 1c (sicherheitstechnische Anforderungen) und W22 Teil 1, Aufgabe 1a (veraltete IT-Infrastruktur)
Für PulsarConnect soll ein Sicherheitskonzept nach BSI IT-Grundschutz erstellt werden. Sie bereiten die Schutzbedarfsfeststellung vor.
| Objekt | V | I | A | Begründung der höchsten Einstufung |
|---|---|---|---|---|
| D1 Kursplan | ||||
| D2 Mitgliederstammdaten | ||||
| D3 Gesundheits- und Körperdaten | ||||
| D5 Zutrittssystem |
Angelehnt an: S26 Teil 1, Aufgabe 3b (Schutzziel aus Kundensicht), erweitert um die Schutzbedarfsfeststellung nach BSI-Standard 200-2
| Kategorie | Beispiel für PulsarConnect |
|---|---|
Angelehnt an: S24 Teil 2, Aufgabe 1c (zweiter Faktor) und W22 Teil 1, Aufgabe 1f
Bei der Übernahme der Mitgliederkonten aus dem Altsystem untersuchen Sie die Tabelle mitglied und die Methode md5 in Anlage 8.
h := sha256(PEPPER + salt + passwort) berechnet. Danach wird h noch 9 999-mal mit h := sha256(h + salt) erneut gehasht (insgesamt 10 000 Durchläufe). Gespeichert werden salt und das Endergebnis h. Zur Verfügung stehen die Funktion sha256(text : string) : string (liefert den Hashwert als Hex-String) und die Konstante PEPPER : string; + verkettet Zeichenketten.pruefePasswort(eingabe : string, salt : string, gespeicherterHash : string) : boolean, die true zurückgibt, wenn die Eingabe zum gespeicherten Hash passt, und sonst false.Angelehnt an: S24 Teil 2, Aufgabe 1c (Passwortsicherheit); Fachtext-Aufgabe wie S26 Teil 1, Aufgabe 3a und W25 Teil 1, Aufgabe 3; Pseudocode-Stil wie im Belegsatz S24
Die Bonus-App der VitaKasse soll – mit Zustimmung des Mitglieds – die Anzahl seiner Studiobesuche abrufen dürfen (Objekt D4 in Anlage 6). Pulsar setzt dafür OAuth2 ein; den Ablauf zeigt Anlage 7.
| Rolle | Begriff |
|---|---|
| (R1) | |
| (R2) | |
| (R3) | |
| (R4) |
| Inhalt | Begriff |
|---|---|
| (A) | |
| (B) | |
| (C) | |
| (D) |
Angelehnt an: S22 Teil 1, Aufgabe 4b (OAuth2-Grafik), W22 Teil 1, Aufgabe 1f (SSO/OAuth2) und S24 Teil 2, Aufgabe 1c (Passwort-Reset)
| Daten | ja | nein |
|---|---|---|
| 1. die Mitgliedsnummer 10231 eines Mitglieds | ||
| 2. „Im Studio Celle trainierten im August durchschnittlich 412 Mitglieder pro Tag.“ | ||
| 3. die IP-Adresse, mit der ein Mitglied die App nutzt | ||
| 4. der CO₂-Wert in Kursraum 2 (Objekt D6) | ||
| 5. das Foto einer Trainerin auf der Website | ||
| 6. ein Körperfettanteil von 24 %, gespeichert zusammen mit einer Mitgliedsnummer |
Grundlagenaufgabe zu W24 Teil 1, Aufgabe 1d und W25 Teil 1, Aufgabe 3bb
Die Fachabteilung hat den Registrierungsbildschirm der Mitglieder-App entworfen (Anlage 11). Sie sollen den Entwurf vor der Umsetzung auf Datenschutz prüfen.
| Nr. | Mangel | Verbesserung |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ||
| 4 |
Angelehnt an: W24 Teil 1, Aufgabe 1d (Datenschutzerklärung und Einwilligung in einer App)
PulsarConnect verarbeitet zahlreiche personenbezogene Daten (Anlage 6).
Angelehnt an: W25 Teil 1, Aufgabe 3bb (keine echten Daten auf eine Online-Prüfseite) und W24 Teil 1, Aufgabe 1d
Betrachten Sie Vorfall V3 in Anlage 4.
Angelehnt an: S24 Teil 2, Aufgabe 1b (Word-Anhang mit Makros, sicherere Alternative)
Benennen Sie für die folgenden Vorfälle aus Anlage 4 jeweils die Angriffsart und beschreiben Sie eine geeignete Gegenmaßnahme.
| Vorfall | Angriffsart | Gegenmaßnahme |
|---|---|---|
| V5 | ||
| V6 | ||
| V8 | ||
| V10 | ||
| V11 | ||
| V13 |
Eigene Aufgabe zur Wissensbreite (Angriffe kamen bisher nur in S24 Teil 2, Aufgabe 1b vor)
Bei der Prüfung des Altsystems untersuchen Sie die Klasse MitgliederDAO (Anlage 8). Die Datenbank des Altsystems ist eine MySQL-Datenbank. Die Methode login wird vom Anmeldeformular des Web-Portals mit den Eingaben aus den Feldern „E-Mail“ und „Passwort“ aufgerufen.
login (Zeilen 11–18).o'neil@mail.example kann sich über die Methode login nicht anmelden; stattdessen tritt ein Datenbankfehler auf. Geben Sie die SQL-Anweisung an, die in Zeile 13/14 entsteht (Passwort Lauf2026, MD5-Wert ac03ebddb7750a7c60020f0281650bd5), erläutern Sie die Ursache des Fehlers und leiten Sie daraus ab, welche Gefahr für das Web-Portal besteht.login in Java so, dass SQL-Injection nicht mehr möglich ist. Die übrigen Schwächen der Methode müssen Sie hier nicht beheben.Eigene Aufgabe auf Prüfungsniveau (Code analysieren wie in W25 Teil 2, Aufgabe 3; Sicherheitsthema wie S24 Teil 2, Aufgabe 1)
Diese echten Prüfungsaufgaben passen zu diesem Block (Dateien im Ordner Prüfungsvorbereitung). Lösungen gibt es nur für 2023 Sommer, 2023 Winter, 2024 Sommer und 2025 Winter (dort vom u-form-Verlag). W23 enthielt keine Sicherheitsaufgabe.
| Prüfung | Aufgabe | Thema | Datei · Lösung |
|---|---|---|---|
| Winter 2021 | T1 A4a (8 P) | symmetrische Verschlüsselung mit Lizenzschlüssel; asymmetrische bzw. hybride Alternative mit Vor- und Nachteil | 2021/winter/AE 2021 Winter Teil 1.pdf · keine Lösung |
| Winter 2021 | T1 A4b (4 P) | Warnung „nicht vertrauenswürdige Quelle“, Signieren mit Zertifikat (Code-Signing) | wie oben · keine Lösung |
| Sommer 2022 | T1 A4b (4 P) | OAuth2-Ablauf: Access Token, Protected Resource, Auth. Code zuordnen | 2022/sommer/AE 2022 Sommer Teil 1.pdf · keine Lösung |
| Sommer 2022 | T1 A4c (9 P) | drei Sicherheitsmechanismen eines SSL-Zertifikats (Vertraulichkeit, Integrität, Authentizität) | wie oben · keine Lösung |
| Winter 2022 | T1 A1a (4 P) | Schwachstellen veralteter IT-Infrastruktur (Verfügbarkeit) | 2022/winter/AE 2022 Winter Teil 1.pdf · keine Lösung |
| Winter 2022 | T1 A1d–f (14 P) | TLS und hybride Verschlüsselung; Echtheit über Zertifikate/PKI; SSO/OAuth2 Vor- und Nachteile | wie oben · keine Lösung |
| Sommer 2023 | T1 A4a, A4b (8 P) | Verschlüsselung für IoT-Sensoren; Signieren statt Verschlüsseln | 2023/sommer/AE Sommer 2023 Teil 1.pdf · Lösung: AE Sommer 2023 Teil 1+2 Lösungen.pdf |
| Sommer 2024 | T1 A1c (4 P) | sicherheitstechnische Anforderungen an eine Plattform | 2024/sommer/AE Sommer 2024 Teil 1+2+3.pdf · Lösung: AE Sommer 2024 Teil 1 Lösungen.pdf |
| Sommer 2024 | T2 A1b, A1c (11 P) | Risiko Word-Anhang mit Makros, sicherere Alternative; Schwachstelle Passwort-Reset per Mail, sichereres Verfahren | wie oben · Lösung: AE Sommer 2024 Teil 2 Lösungen.pdf |
| Winter 2024 | T1 A1d (4 P) | Datenschutzerklärung und Einwilligung in einer App | 2024/winter/AE Winter 2024 Teil 1.pdf · keine Lösung |
| Winter 2025 | T1 A3a (4 P) | Transportverschlüsselung, Vorteil der hybriden Verschlüsselung | 2025/winter/AE Winter 2025 Teil 1.pdf · Lösung: AE Winter 2025 Lösungserleuterungen.pdf (u-form) |
| Winter 2025 | T1 A3bb (6 P) | echte Rechnungen auf einer Online-Prüfseite: Datenschutz und Schutzziele | wie oben |
| Sommer 2026 | T1 A3b (13 P) | BSI-Schutzziel Integrität; Verfahren gegen Manipulation (Hash/MAC/Signatur); RSA erläutern und Eignung im IoT-Projekt begründen | 2026/sommer/AE Sommer 2026 Teil 1.pdf · keine Lösung |