Grundlagen und Anwendungen der Kryptografie
Block- und Stromchiffren, AES, Betriebsmodi für Blockchiffren (ECB, CBC, CTR, GCM), Initialisierungsvektoren und Nonces, Padding-Oracle-Angriffe, Schlüssellänge und Brute-Force-Aufwand, SHA-2 und SHA-3, Length-Extension-Angriffe und HMAC, Berechnungen zum Geburtstagsangriff, Schlüsselableitungsfunktionen, RSA und Diffie-Hellman-Schlüsselaustausch mit kleinen Zahlen nachgerechnet, Schlüssellängen der Elliptische-Kurven-Kryptografie, Forward Secrecy, Zertifizierungsstellen und Zertifikatsketten, Certificate Transparency, TLS 1.3, 0-RTT und Replay, gegenseitiges TLS, Grover-Algorithmus und Schlüssellänge, ML-KEM, ML-DSA und SLH-DSA, hybrider Schlüsselaustausch, HSMs, Envelope Encryption, Schlüsselrotation und Krypto-Agilität, erarbeitet mit Multiple-Choice-Fragen, darunter Rechenaufgaben.
Grundlagen und Anwendungen der Kryptografie: Kernpunkte
Ein sicherer Algorithmus allein macht Kryptografie noch nicht nützlich. Fehler bei der Verwendung, etwa eine Nonce zweimal zu verwenden, im ECB-Modus zu verschlüsseln oder den Hostnamen im Zertifikat nicht zu prüfen, können selbst starke Kryptografie leicht brechen. Hier geht es eine Ebene tiefer darum, wie Kryptografie in realen Systemen und Protokollen kombiniert und eingesetzt wird.
Zuerst werden zur symmetrischen Verschlüsselung Block- und Stromchiffren behandelt, Block- und Schlüssellänge von AES, die Betriebsmodi für Blockchiffren (ECB, CBC, CTR, GCM) und die Anforderungen an Initialisierungsvektoren und Nonces, Padding und Padding-Oracle-Angriffe sowie authentifizierte Verschlüsselung (AEAD); rechnerisch wird nachvollzogen, wie bei Wiederverwendung einer Nonce im CTR-Modus Klartext abfließt. Danach folgen SHA-2 und SHA-3, Length-Extension-Angriffe und HMAC, die Grenze von 64-Bit-Blöcken durch den Geburtstagsangriff und Schlüsselableitungsfunktionen; RSA und der Diffie-Hellman-Schlüsselaustausch werden mit kleinen Zahlen durchgerechnet, um das diskrete Logarithmusproblem, Man-in-the-Middle-Angriffe, Richtwerte für Schlüssellängen der Elliptische-Kurven-Kryptografie, Forward Secrecy und den Umgang mit der Zufallszahl bei ECDSA zu prüfen. Die zweite Hälfte behandelt Zertifizierungsstellen und Zertifikatsketten, die Prüfung des Hostnamens, Certificate Transparency, die Änderungen und Cipher Suites von TLS 1.3, Replay bei 0-RTT und gegenseitiges TLS sowie zur Post-Quanten-Kryptografie den Grover-Algorithmus und die Schlüssellänge, die im August 2024 standardisierten Verfahren ML-KEM, ML-DSA und SLH-DSA, Schlüsselkapselungsmechanismen, hybriden Schlüsselaustausch und Überlegungen zum Zeitpunkt der Umstellung. Zum Schluss geht es um die Schlüsselverwaltung: HSMs, Envelope Encryption, Schlüsselrotation und Krypto-Agilität. Das hilft auch bei der Vorbereitung auf IT-Zertifizierungsprüfungen im Bereich Sicherheit. Die Werte der Rechenaufgaben, auch die der falschen Antwortmöglichkeiten, wurden mit Python nachgerechnet. Die Grundlagen der symmetrischen Verschlüsselung und der Public-Key-Kryptografie, die Berechnung der Schlüsselzahl, die Eigenschaften von Hashfunktionen und die Passwortspeicherung sowie der Unterschied zwischen digitalen Signaturen und MACs werden in „Grundlagen der Informationssicherheit“ behandelt, Seitenkanalangriffe und Constant-Time-Implementierung, AES-NI, TPMs und echte Zufallszahlengeneratoren in „Hardwaresicherheit“, der Shor-Algorithmus und die Größe von Quantencomputern in „Hardware für Quantencomputer“, die Zahl der Umläufe bei TLS und was HTTPS schützt in „Grundlagen der Computernetzwerke“, JWT und OAuth in „Grundlagen der Webtechnologien“ und die Entropie in „Grundlagen der Informationstheorie und Kodierung“.
Alle Fragen zu Grundlagen und Anwendungen der Kryptografie (40)
- Für die symmetrische Verschlüsselung gibt es Blockchiffren und Stromchiffren. Welche Aussage beschreibt ihren Unterschied richtig?
- Welche Kombination aus Blocklänge und Schlüssellänge der heute weit verbreiteten Blockchiffre AES ist richtig?
- Bilddaten wurden mit AES im ECB-Modus verschlüsselt, und im verschlüsselten Bild waren die Umrisse des ursprünglichen Motivs noch zu erkennen. Was ist die richtige Ursache?
- Wie ist beim Einsatz von AES im CBC-Modus angemessen mit dem Initialisierungsvektor (IV) umzugehen?
- AES (Blocklänge 16 Byte) wird im CBC-Modus mit Padding nach PKCS#7 verwendet. Bei PKCS#7 werden, wenn n Byte fehlen, n Bytes mit dem Wert n angehängt; ist die Länge des Klartexts genau ein Vielfaches von 16, werden ebenfalls 16 Bytes mit dem Wert 16 angehängt. Wie lang ist der Geheimtext (ohne IV), wenn ein Klartext von 96 Byte verschlüsselt wird?
- Ein Server, der im CBC-Modus verschlüsselte Daten empfängt, gab unterschiedliche Fehler zurück, je nachdem, ob nach dem Entschlüsseln das Padding ungültig war oder ob das Padding gültig war, aber die Prüfung des Inhalts fehlschlug. Welche Aussage über diese Situation ist richtig?
- Welche Eigenschaft des CTR-Modus (Counter-Modus) von Blockchiffren ist richtig?
- Im CTR-Modus wurden versehentlich zwei Nachrichten mit demselben Schlüssel und derselben Nonce verschlüsselt. Für das Byte an einer bestimmten Position ist der erste Klartext P₁ = 01001000 (ASCII „H“), sein Geheimtext C₁ = 01110100 und der zweite Geheimtext C₂ = 01010101. Welcher zweite Klartext P₂ an derselben Position ergibt sich, wenn ein Angreifer P₁ kennt?
- Was bietet eine authentifizierte Verschlüsselung (AEAD) wie AES-GCM in einem einzigen Verarbeitungsschritt?
- Welche Aussage über die 96-Bit-Nonce (IV) bei AES-GCM ist richtig?
- Ein Gerät braucht für eine Brute-Force-Suche über alle 56-Bit-Schlüssel etwa 20 Stunden. Welcher Wert liegt der Zeit am nächsten, die dasselbe Gerät braucht, um alle 64-Bit-Schlüssel auszuprobieren?
- Welche Aussage über die Hashfunktionen SHA-2 und SHA-3 ist richtig?
- Den Hashwert SHA-256(K ‖ m) der Verkettung aus geheimem Schlüssel K und Nachricht m als Tag zur Erkennung von Manipulationen zu verwenden, gilt als gefährlich. Was ist der richtige Grund?
- Es gelte 1 GiB = 2³⁰ Byte und 1 EiB = 2⁶⁰ Byte. Eine Blockchiffre mit 64 Bit Blocklänge (etwa 3DES) wird im CBC-Modus verwendet, um mit einem einzigen Schlüssel große Datenmengen zu verschlüsseln. Die Geheimtextblöcke werden als zufällige 64-Bit-Werte betrachtet. Welcher Richtwert für die Datenmenge ist richtig, ab der die Wahrscheinlichkeit, dass nach dem Geburtstagsparadoxon ein Paar gleicher Geheimtextblöcke auftritt, nicht mehr vernachlässigbar ist?
- Welcher Grund ist angemessen dafür, dass Protokolle wie TLS 1.3 das im ECDHE-Schlüsselaustausch gewonnene gemeinsame Geheimnis nicht direkt als Schlüssel verwenden, sondern die Schlüssel mit einer Schlüsselableitungsfunktion (KDF) wie HKDF erzeugen?
- Die Funktionsweise von RSA wird mit kleinen Zahlen nachvollzogen. Aus den Primzahlen p = 5 und q = 11 wird n = pq gebildet, und der öffentliche Exponent ist e = 3. Mit φ(n) = (p − 1)(q − 1): Welcher private Exponent d (0 < d < φ(n)) erfüllt e × d ≡ 1 (mod φ(n))?
- Bei RSA sei der öffentliche Schlüssel n = 55, e = 3. Wie lautet der Geheimtext c, wenn der Klartext m = 7 mit c = m^e mod n verschlüsselt wird?
- Was ist das Problem, wenn Lehrbuch-RSA (der Klartext m wird unverändert als c = m^e mod n verschlüsselt) ohne Padding in realer Kommunikation verwendet wird?
- Beim Diffie-Hellman-Schlüsselaustausch werden eine Primzahl p und ein Generator g veröffentlicht; A und B wählen jeweils geheime Werte a und b und senden einander g^a mod p und g^b mod p. Welcher Grund ist richtig dafür, dass ein Lauscher, der alle diese öffentlichen Werte sieht, das gemeinsame Geheimnis g^(ab) mod p nach heutigem Wissen nicht berechnen kann?
- Der Diffie-Hellman-Schlüsselaustausch wird mit kleinen Zahlen nachvollzogen. Es sei p = 23 und g = 5; A wählt den geheimen Wert a = 6, B den geheimen Wert b = 15. A sendet den Wert A = g^a mod p, B den Wert B = g^b mod p. Welches gemeinsame Geheimnis erhalten beide?
- Welche Kombination aus Schwäche eines Diffie-Hellman-Schlüsselaustauschs ohne Authentifizierung und Gegenmaßnahme ist richtig?
- Welche Kombination aus RSA-Schlüssellänge (Bitzahl von n) und Schlüssellänge der Elliptische-Kurven-Kryptografie gilt in der Tabelle von NIST SP 800-57 als Richtwert für eine Sicherheit, wie sie die symmetrische Verschlüsselung mit 128 Bit (AES-128) bietet?
- Welches Schlüsselaustauschverfahren bietet bei TLS die Eigenschaft, dass zuvor aufgezeichnete Kommunikation auch dann nicht entschlüsselt werden kann, wenn der private Schlüssel des Serverzertifikats später abfließt (Forward Secrecy)?
- Bei ECDSA, einem Verfahren für die digitale Signatur, wird für jede Signatur eine geheime Zufallszahl k verwendet. Welche Aussage über den Umgang mit k ist richtig?
- Welche Aussage über die Zertifikatskette ist richtig, wenn ein Browser das Zertifikat eines Webservers prüft?
- Bei der Prüfung von TLS-Zertifikaten werden nicht nur Signaturkette und Gültigkeitszeitraum geprüft, sondern auch, ob der Hostname, mit dem man sich verbinden wollte, im SAN (Subject Alternative Name) des Zertifikats enthalten ist. Warum ist diese Prüfung unverzichtbar?
- Welche Beschreibung des Mechanismus Certificate Transparency (CT) ist richtig?
- Was hat sich in TLS 1.3 (RFC 8446) gegenüber TLS 1.2 geändert?
- Welche Kombination gibt an, was die Cipher Suite TLS_AES_128_GCM_SHA256 von TLS 1.3 festlegt?
- Worauf ist bei 0-RTT in TLS 1.3 zu achten, einem Verfahren, bei dem mit einem aus einer früheren Verbindung gewonnenen Pre-Shared Key „Early Data“ zusammen mit der ersten Nachricht gesendet werden?
- Welche Beschreibung von gegenseitigem TLS (mTLS) ist richtig?
- Für die symmetrische Verschlüsselung mit n Bit Schlüssellänge gilt: Sucht man den Schlüssel mit dem Grover-Algorithmus auf einem Quantencomputer, sind etwa 2^(n/2) Rechenschritte nötig. Welcher Wert liegt nach diesem einfachen Richtwert der Sicherheit von AES-128 gegenüber Quantencomputern am nächsten?
- Welche Zuordnung der im August 2024 vom US-amerikanischen NIST veröffentlichten Standards der Post-Quanten-Kryptografie zu ihrer Art ist richtig?
- Welche Beschreibung der Verwendung eines Schlüsselkapselungsmechanismus (KEM) wie ML-KEM ist richtig?
- Welche Aussage beschreibt den Gedanken des hybriden Schlüsselaustauschs richtig, der während der Umstellung auf Post-Quanten-Kryptografie X25519 (Diffie-Hellman-Schlüsselaustausch mit elliptischen Kurven) und ML-KEM kombiniert?
- Für den Zeitpunkt der Umstellung der Kryptografie gibt es folgende Überlegung (Moscas Ungleichung): „Ist die Summe aus der Zahl der Jahre x, die Daten geheim bleiben müssen, und der Zahl der Jahre y, die die Umstellung auf neue Kryptografie dauert, größer als die Zahl der Jahre z, bis ein Quantencomputer erscheint, der die Kryptografie brechen kann, besteht bereits Gefahr.“ Welche Beurteilung ist richtig für x = 10 Jahre, y = 5 Jahre und angenommen z = 12 Jahre?
- Welche Aufgabe hat ein HSM (Hardware-Sicherheitsmodul)?
- DEK bezeichne den Datenverschlüsselungsschlüssel (Data Encryption Key) und KEK den Schlüsselverschlüsselungsschlüssel (Key Encryption Key). Welche Beschreibung von Envelope Encryption, wie sie etwa bei Cloud-Speicher eingesetzt wird, ist richtig?
- Was ist der Hauptzweck der Schlüsselrotation, bei der kryptografische Schlüssel in festen Abständen durch neue ersetzt werden?
- Welche Maßnahme im Systementwurf erhöht die Krypto-Agilität (die Eigenschaft, kryptografische Verfahren leicht austauschen zu können)?
Weitere Themen in Computersysteme
- Computerarithmetik IEEE 754, Festkomma, Rundungsfehler
- Wahrscheinlichkeitsrechnung, Statistik und Warteschlangen Abzählen, Verteilungen, Schätzen und Testen, M/M/1
- Grundlagen der Informationstheorie und Kodierung Entropie, Huffman-Kodierung, Hamming-Code, CRC
- Befehlssatz und Assembler RISC-V, Adressierungsarten, Aufrufkonvention
- Compiler Parsing, SSA, Optimierung, Registerzuteilung
- Linker, Loader und ausführbare Formate ELF, Symbole, Relokation, dynamisches Linken
- Betriebssystem und Hardware Interrupts, Systemaufrufe, Page Faults
- Grundlagen von Linux und der Kommandozeile Shell, Zugriffsrechte, Pipes, Skripte
- Speicherhierarchie und Leistung Cache, Ersetzungsstrategie, drei Miss-Arten
- Multicore und Synchronisation MESI, atomare Befehle, Memory Barriers
- GPU-Programmierung Warps, Shared Memory, Coalescing, Occupancy
- KI-Hardware und Software-Stack Inferenz vs. Training, Quantisierung, Roofline
- Grundlagen des maschinellen Lernens Lernverfahren, Bewertungskennzahlen, neuronale Netze
- Embedded Systems und Firmware GPIO, UART/SPI/I2C, RTOS
- Hardwarebeschreibungssprachen und Verifikation Verilog, Latches, Zustandsautomaten, Testbench
- Schnittstellen und Busstandards PCIe, USB, SerDes, CXL
- Grundlagen der Computernetzwerke TCP/IP, Subnetzberechnung, DNS, TLS
- Grundlagen der Webtechnologien HTTP, Cookies, REST, CORS, Caching
- Grundlagen der Funkkommunikation Modulation, OFDM, MIMO, HF-Schaltungen
- Grundlagen der Informationssicherheit Kryptografie, Authentifizierung, Webangriffe
- Grundlagen der Datenbanken SQL, Normalisierung, Transaktionen
- Datenstrukturen und Algorithmen Komplexität, Suche, Sortieren, Graphen
- Grundlagen der Programmierung (Pseudocode nachverfolgen) Pseudocode, Tracing, Arrays, Rekursion
- Grundlagen der Programmiersprache C Zeiger, Speicher, undefiniertes Verhalten
- Softwareentwicklung und Projektmanagement Prozesse, Tests, Termin- und Kostensteuerung
- Grundlagen von Unternehmensstrategie und Rechnungswesen Rechnungswesen, Break-even, Strategie, Marketing
- IT-Service-Management und IT-Audit SLAs, Incidents und Probleme, Audit und interne Kontrolle
- Systemarchitektur und Zuverlässigkeit Redundanz, RAID, Backups, Cloud
- Grundlagen von Cloud und Containern Docker, Kubernetes, geteilte Verantwortung, IaC
- Leistungsbewertung und Profiling Amdahlsches Gesetz, CPI, Engpässe
- Hardwaresicherheit Seitenkanäle, Secure Boot, TEE, PUF
- Energieverwaltung (softwaregesteuert) DVFS, Power Gating, Schlafzustände