Cryptographic Communication Protocols - Exam.pdf

Cryptographic Communication Protocols - Exam
Cryptographic Communication Protocols - Exam Aufgabe 1) In dieser Aufgabe betrachten wir Block- und Stromchiffren im Kontext der sicheren Datenübertragung. Du wirst verschiedene Aspekte der Kryptographie, die auf Block- und Stromchiffren basieren, analysieren. Dabei wirst Du sowohl theoretische als auch praktische Komponenten berücksichtigen. Recall, Blockchiffren arbeiten mit festen Datenblöcken ...

© StudySmarter 2024, all rights reserved.

Cryptographic Communication Protocols - Exam

Aufgabe 1)

In dieser Aufgabe betrachten wir Block- und Stromchiffren im Kontext der sicheren Datenübertragung. Du wirst verschiedene Aspekte der Kryptographie, die auf Block- und Stromchiffren basieren, analysieren. Dabei wirst Du sowohl theoretische als auch praktische Komponenten berücksichtigen.

Recall, Blockchiffren arbeiten mit festen Datenblöcken wie AES und DES, während Stromchiffren wie RC4 und A5/1 kontinuierliche Datenströme verschlüsseln. Es gibt verschiedene Modi der Operation für Blockchiffren einschließlich ECB, CBC, CFB, OFB und CTR. Die Blockgröße ist typischerweise 64 oder 128 Bits. Stromchiffren erfordern einen Keystream-Generator und können synchron oder asynchron arbeiten.

a)

Eine Blockchain-basierte Anwendung erfordert die Verschlüsselung der Nachrichten, um die Vertraulichkeit sicherzustellen. Erkläre den Unterschied zwischen einer Blockchiffre und einer Stromchiffre, und beschreibe beide Konzepte anhand eines geeigneten Beispiels je Verschlüsselungsmethode.

  • Was sind die Hauptunterschiede zwischen Block- und Stromchiffren?
  • Beschreibe die Arbeitsweise einer Blockchiffre im Modus CBC.
  • Beschreibe die Arbeitsweise eines Stromchiffren-Algorithmus wie RC4.

Lösung:

Eine Blockchain-basierte Anwendung erfordert die Verschlüsselung der Nachrichten, um die Vertraulichkeit sicherzustellen. Erkläre den Unterschied zwischen einer Blockchiffre und einer Stromchiffre, und beschreibe beide Konzepte anhand eines geeigneten Beispiels je Verschlüsselungsmethode.

  • Was sind die Hauptunterschiede zwischen Block- und Stromchiffren?
  • Beschreibe die Arbeitsweise einer Blockchiffre im Modus CBC.
  • Beschreibe die Arbeitsweise eines Stromchiffren-Algorithmus wie RC4.

Was sind die Hauptunterschiede zwischen Block- und Stromchiffren?

  • Blockchiffren: Blockchiffren verarbeiten Daten in festen Blöcken (z. B. 64 oder 128 Bits). Das bedeutet, der Klartext wird in Blöcke aufgeteilt, und jeder Block wird einzeln verschlüsselt. Der bekannteste Blockchiffre-Algorithmus ist AES (Advanced Encryption Standard). Ein Beispiel für einen Blockchiffre-Modus ist CBC (Cipher Block Chaining).
  • Stromchiffren: Stromchiffren verschlüsseln Daten als kontinuierlichen Strom von Bits oder Bytes. Ein Keystream-Generator produziert eine Pseudozufallsfolge, die mit dem Klartext kombiniert wird, um den Geheimtext zu erzeugen. Ein bekanntes Beispiel für einen Stromchiffren-Algorithmus ist RC4.

Beschreibe die Arbeitsweise einer Blockchiffre im Modus CBC.

  • Initialisierung: CBC benötigt einen Initialisierungsvektor (IV), der genauso lang ist wie der Block der Chiffre (z. B. 128 Bits für AES). Dieser IV muss geheim und einzigartig für jede Nachricht sein.
  • Verschlüsselung:
    1. Bei der Verschlüsselung des ersten Blocks wird der Klartextblock XOR (exklusives Oder) mit dem IV verknüpft.
    2. Das Ergebnis wird dann mit dem Verschlüsselungsalgorithmus (wie AES) verschlüsselt, um den ersten Geheimtextblock zu erstellen.
    3. Für jeden nachfolgenden Klartextblock wird der Klartextblock XOR mit dem vorherigen Geheimtextblock verknüpft und dann verschlüsselt.
 'Pseudocode für CBC-Verschlüsselung: for each block: ciphertext_block = Encrypt(previous_ciphertext_block XOR plaintext_block)' 

Beschreibe die Arbeitsweise eines Stromchiffren-Algorithmus wie RC4.

  • Initialisierung: RC4 beginnt mit einem Schlüsselscheduling-Prozess, der den internen Zustand (eine Permutation von 256-Byte) auf Basis des Schlüssels initialisiert.
  • Keystream-Generation: Ein Keystream-Generator produziert den Keystream durch Permutation und Kombination der durch den Schlüssel initialisierten Werte.
  • Verschlüsselung: Jeder Klartext-Bit oder -Byte wird XOR mit dem entsprechenden Bit oder Byte des Keystreams kombiniert, um den Geheimtext zu erzeugen. Dies geschieht kontinuierlich für den gesamten Klartext-Strom.
'Pseudocode für RC4-Verschlüsselung: for each byte: keystream_byte = generate_keystream_byte() ciphertext_byte = plaintext_byte XOR keystream_byte' 

Aufgabe 2)

Der Diffie-Hellman-Schlüsselaustausch ist ein Verfahren zum sicheren Austausch kryptographischer Schlüssel über einen unsicheren Kanal. Dabei gibt es zwei Hauptparteien, Alice und Bob, die öffentliche Parameter nutzen, um einen gemeinsamen geheimen Schlüssel zu berechnen. Hier sind die Schritte im Detail:

  • Zwei Parteien: Alice und Bob
  • Öffentliche Parameter: Primzahl p und Primitivwurzel g
  • Private Schlüssel: a (Alice) und b (Bob)
  • Öffentliche Schlüssel: A = g^a \, \text{mod} \, p, B = g^b \, \text{mod} \, p
  • Gemeinsamer Schlüssel: K = B^a \, \text{mod} \, p = A^b \, \text{mod} \, p

b)

(b) Angenommen, ein Angreifer, Eve, kann die öffentlichen Schlüssel A und B abfangen, kennt jedoch weder den privaten Schlüssel von Alice noch den von Bob. Diskutiere, warum es für Eve schwierig ist, den gemeinsamen geheimen Schlüssel K zu berechnen. Beziehe Dich in Deiner Antwort auf das diskrete Logarithmusproblem.

Lösung:

Um die Sicherheit des Diffie-Hellman-Schlüsselaustauschs zu erklären und klarzumachen, warum es schwierig für Eve ist, den gemeinsamen geheimen Schlüssel K zu berechnen, betrachten wir das diskrete Logarithmusproblem.

Zusammenfassung des Diffie-Hellman-Schlüsselaustauschs:

  • Alice und Bob wählen eine Primzahl p und eine Primitivwurzel g.
  • Privater Schlüssel von Alice: a
  • Privater Schlüssel von Bob: b
  • Öffentlicher Schlüssel von Alice: A = g^a \, \text{mod} \, p
  • Öffentlicher Schlüssel von Bob: B = g^b \, \text{mod} \, p
  • Gemeinsamer geheimer Schlüssel: K = B^a \, \text{mod} \, p = A^b \, \text{mod} \, p

Eve kann die öffentlichen Schlüssel A und B abfangen, kennt jedoch nicht die privaten Schlüssel a und b. Das bedeutet:

  • Eve kennt g, p, A und B.
  • Eves Aufgabe besteht darin, aus diesen Informationen a oder b zu berechnen, um den gemeinsamen geheimen Schlüssel K zu ermitteln.

Das diskrete Logarithmusproblem:

  • Das diskrete Logarithmusproblem besteht darin, für gegebene Werte von g, p und y den Wert von x zu finden, der die Gleichung y = g^x \, \text{mod} \, p erfüllt.
  • Im Fall von Diffie-Hellman:
    • Um a aus A zu ermitteln, muss Eve A = g^a \, \text{mod} \, p lösen.
    • Um b aus B zu ermitteln, muss Eve B = g^b \, \text{mod} \, p lösen.
  • Das diskrete Logarithmusproblem ist ein gut bekanntes, schwer zu lösendes Problem. Es gibt keine effiziente Algorithmen, die dieses Problem in polynomieller Zeit lösen können, besonders bei großen Werten von p (z.B. 2048 Bits oder größer).

Warum ist es schwierig für Eve, den gemeinsamen geheimen Schlüssel K zu berechnen?

  • Selbst wenn Eve A und B kennt, muss sie das diskrete Logarithmusproblem lösen, um a oder b zu finden.
  • Ohne die Kenntnis der privaten Schlüssel a oder b kann Eve den gemeinsamen geheimen Schlüssel K nicht berechnen.
  • Die Berechnung von a oder b erfordert das Lösen des diskreten Logarithmusproblems, was aufgrund seiner Komplexität und der fehlenden effizienten Algorithmen extrem zeitaufwändig ist.
  • Damit bleibt K sicher, da die Berechnung für Eve praktisch unmöglich ist, solange große Werte von p verwendet werden.

Zusammenfassung:

  • Der Diffie-Hellman-Schlüsselaustausch ist sicher, weil das diskrete Logarithmusproblem schwer zu lösen ist.
  • Selbst wenn ein Angreifer die öffentlichen Schlüssel A und B abfängt, bleibt der gemeinsame geheime Schlüssel K sicher, da die Berechnung der privaten Schlüssel a oder b unter realistischen Bedingungen nahezu unmöglich ist.

Aufgabe 3)

Betrachten wir ein Unternehmen, das seine Netzwerkzugänge durch die Implementierung von Multi-Faktor-Authentifizierung (MFA) absichern möchte. Die Kategorien der Authentifizierungsfaktoren umfassen Wissen, Besitz und Biometrie. Eine mögliche Implementierung könnte die Nutzung eines Passworts, eines SMS-Codes und eines Fingerabdruckscanners sein.

a)

Teil a:Beschreibe die Sicherheitsvorteile, die durch die Verwendung von Multi-Faktor-Authentifizierung (MFA) im Vergleich zu einem einfachen Passwort erzielt werden. Gehe dabei auf die jeweiligen Authentifizierungsfaktoren und ihre spezifischen Vorteile ein.

Lösung:

Teil a:Die Verwendung von Multi-Faktor-Authentifizierung (MFA) bietet im Vergleich zu einer einfachen Passwortauthentifizierung erhebliche Sicherheitsvorteile. Diese Vorteile resultieren aus der Kombination verschiedener Authentifizierungsfaktoren, die nachfolgend detailliert beschrieben werden:

  • Wissen (z.B. Passwort):Ein Passwort ist eine Information, die nur dem Benutzer bekannt sein sollte. Der Vorteil besteht darin, dass der Angreifer das Passwort kennen muss, um Zugang zu erhalten. Allerdings können Passwörter durch Phishing, Brute-Force-Angriffe oder Datenlecks kompromittiert werden. Die alleinige Verwendung von Passwörtern bietet daher keine ausreichende Sicherheit.
  • Besitz (z.B. SMS-Code):Ein Einmalpasswort, das per SMS gesendet wird, ist ein Beispiel für einen Besitzfaktor. Der Benutzer muss Zugang zu einem bestimmten Gerät (wie einem Mobiltelefon) haben, um den Code zu erhalten. Selbst wenn ein Angreifer das Passwort kennt, benötigt er das physische Gerät des Benutzers, um die Authentifizierung abzuschließen. Dies erhöht die Sicherheitsbarriere erheblich.
  • Biometrie (z.B. Fingerabdruckscanner):Biometrische Faktoren basieren auf einzigartigen physischen Merkmalen des Benutzers, wie Fingerabdrücken, Gesichtserkennung oder Iris-Scans. Diese Merkmale sind schwer zu fälschen oder zu stehlen. Die Verwendung biometrischer Daten stellt sicher, dass die Person, die sich authentifiziert, tatsächlich die autorisierte Person ist.
Durch die Kombination dieser verschiedenen Faktoren in einem MFA-System wird es für Angreifer außerordentlich schwierig, unautorisierten Zugriff zu erlangen. Sie müssten gleichzeitig das Passwort kennen, Zugang zum physischen Gerät haben und biometrische Merkmale nachahmen können. Dies bietet wesentlich bessere Sicherheit als die alleinige Verwendung eines Passworts.

b)

Teil b:Nehmen wir an, ein Benutzer meldet sich an, indem er sein Passwort eingibt, einen per SMS gesendeten Code verwendet und sich durch einen Fingerabdruckscanner authentifiziert. Modelliert den gesamten Authentifizierungsprozess und beschreibt detailliert die einzelnen Schritte sowie die jeweiligen Sicherheitsmechanismen, die während des Prozesses erfolgen.

Lösung:

Teil b:Der Authentifizierungsprozess bei der Verwendung von Multi-Faktor-Authentifizierung (MFA), bestehend aus einem Passwort, einem SMS-Code und einem Fingerabdruckscanner, kann wie folgt modelliert und beschrieben werden:

  1. Eingabe des Passworts (Wissen):Der Benutzer startet den Anmeldevorgang, indem er seinen Benutzernamen und das dazugehörige Passwort eingibt.
    • Sicherheitsmechanismus: Das System überprüft die Gültigkeit des Passworts anhand gespeicherter Hash-Werte. Dabei kommt eine Hash-Funktion und gegebenenfalls ein Salt-Wert zum Einsatz, um Angriffe durch Rainbow-Tabellen zu erschweren.
  2. Versand und Eingabe des SMS-Codes (Besitz):Nachdem das Passwort erfolgreich verifiziert wurde, wird ein Einmalpasswort (OTP) generiert und per SMS an die registrierte Telefonnummer des Benutzers gesendet.
    • Sicherheitsmechanismus: Der SMS-Code ist zeitlich begrenzt gültig (z.B. für 5 Minuten) und kann nur einmal verwendet werden. Dadurch wird das Risiko verringert, dass der Code abgefangen und später verwendet wird.
    • Der Benutzer erhält den SMS-Code auf seinem Mobiltelefon und gibt diesen in das Authentifizierungssystem ein.
  3. Verifikation durch Fingerabdruckscanner (Biometrie):Nach der Eingabe des korrekten SMS-Codes wird der Benutzer aufgefordert, seinen Fingerabdruck mittels eines Fingerabdruckscanners zu scannen.
    • Sicherheitsmechanismus: Der Fingerabdruck wird durch den Scanner erfasst und in eine digitale Vorlage umgewandelt, die mit den gespeicherten biometrischen Daten des Benutzers verglichen wird. Biometrische Daten sind einzigartig und schwer zu fälschen, wodurch die Identität des Benutzers zuverlässig bestätigt wird.
  4. Abschluss des Authentifizierungsprozesses:Wenn alle drei Faktoren (Passwort, SMS-Code und Fingerabdruck) erfolgreich verifiziert wurden, gewährt das System dem Benutzer Zugriff auf das Netzwerk.
    • Sicherheitsmechanismus: Die Kombination verschiedener Authentifizierungsfaktoren erhöht die Sicherheit erheblich, da ein Angreifer alle drei Faktoren gleichzeitig überwinden müsste, um unautorisierten Zugriff zu erlangen.
Durch diesen mehrstufigen Authentifizierungsprozess wird die Sicherheit des Netzwerks erheblich verbessert, da die Schwächen eines einzelnen Faktors durch die anderen Faktoren kompensiert werden.

c)

Teil c:Es sei bekannt, dass eine Schwachstelle im Fingerabdruckscanner existiert, durch die ein Angreifer den Fingerabdruck des Benutzers fälschen kann. Analysiere, wie dies die Sicherheit des gesamten MFA-Systems beeinflusst. Welche Maßnahmen könnten ergriffen werden, um das System gegen solch einen Angriff abzusichern?

Lösung:

Teil c:Wenn eine Schwachstelle im Fingerabdruckscanner existiert, die es einem Angreifer ermöglicht, den Fingerabdruck des Benutzers zu fälschen, hat dies erhebliche Auswirkungen auf die Sicherheit des gesamten Multi-Faktor-Authentifizierungs (MFA)-Systems. Hier sind die potenziellen Risiken und die Maßnahmen zur Verringerung dieser Risiken:

  • Analyse der Sicherheitsauswirkungen:Der Fingerabdruckscanner ist ein biometrischer Faktor im MFA-System. Wenn ein Angreifer diesen Faktor fälschen kann, könnte er diesen Teil des Authentifizierungsprozesses umgehen. Dies würde jedoch zur vollständigen Umgehung des Systems führen:
    • Der Angreifer müsste immer noch das richtige Passwort (Wissen) und den korrekten SMS-Code (Besitz) haben.
    • Die Gesamtwirksamkeit des MFA-Systems hängt davon ab, dass alle drei Faktoren sicher sind. Wenn einer dieser Faktoren kompromittiert wird, verringert sich die Gesamtstärke des Systems erheblich.
  • Vorschläge für Gegenmaßnahmen:Um die Sicherheitslücke im Fingerabdruckscanner zu beheben und das MFA-System gegen solche Angriffe abzusichern, könnten die folgenden Maßnahmen ergriffen werden:
    • Ersetzen oder Aktualisieren des Fingerabdruckscanners:Investiere in sicherere biometrische Geräte. Moderne Scanner verwenden zusätzliche Sicherheitsfunktionen wie Lebenderkennung (liveness detection), um zu überprüfen, ob der Fingerabdruck von einem lebenden Menschen stammt und nicht von einer Nachbildung.
    • Zusätzlicher Biometrischer Faktor:Ergänze das bestehende System durch einen zweiten biometrischen Faktor wie Gesichtserkennung oder Iris-Scan. Dies würde es einem Angreifer erheblich erschweren, beide biometrischen Faktoren erfolgreich zu fälschen.
    • Betrugserkennungsmechanismen:Integriere Systeme zur Betrugserkennung, die ungewöhnliches Verhalten bei der Anmeldung erkennen und möglicherweise verdächtige Anmeldeversuche blockieren können, selbst wenn alle Faktoren korrekt erscheinen.
    • Zweite Besitzkomponente:Zusätzlich zu dem SMS-Code könnte ein Hardware-Token oder eine Authentifizierungs-App eingeführt werden, die Einmalpasswörter generiert und unabhängig funktioniert. Dies würde die Sicherheit erhöhen, indem die Hürde für Angreifer höher wird.
    • Schulung und Sensibilisierung der Benutzer:Informiere die Benutzer über die Risiken und die Notwendigkeit von sicherem Verhalten, wie das Melden verdächtiger Aktivität und die Vorsicht bei Phishing-Versuchen.
Indem diese Maßnahmen implementiert werden, kann das Unternehmen die Schwachstelle im biometrischen Faktor des MFA-Systems ausgleichen und die Gesamtsicherheit erhöhen.

d)

Teil d:Angenommen, das System verwendet die folgenden Wahrscheinlichkeiten: Die Wahrscheinlichkeit, dass ein Passwort erraten wird, beträgt 1 zu 10^6, die eines erfolgreichen SMS-Code-Angriffs beträgt 1 zu 10^5, und die Wahrscheinlichkeit, einen Fingerabdruck zu fälschen, beträgt 1 zu 10^4. Berechne die Gesamtwahrscheinlichkeit, dass ein Angreifer alle drei Faktoren erfolgreich überwinden kann. Diskutiere auch die Bedeutung dieser Wahrscheinlichkeit für die Sicherheit des Systems.

Lösung:

Teil d:Angenommen, das System verwendet die folgenden Wahrscheinlichkeiten:- Die Wahrscheinlichkeit, dass ein Passwort erraten wird, beträgt 1 zu \(10^6\).- Die Wahrscheinlichkeit eines erfolgreichen SMS-Code-Angriffs beträgt 1 zu \(10^5\).- Die Wahrscheinlichkeit, einen Fingerabdruck zu fälschen, beträgt 1 zu \(10^4\).Berechnung der Gesamtwahrscheinlichkeit:Da die Wahrscheinlichkeiten unabhängig voneinander sind, multiplizieren wir sie, um die Gesamtwahrscheinlichkeit zu berechnen:

  • Wahrscheinlichkeit, ein Passwort zu erraten: \(\frac{1}{10^6} \) = \(10^{-6}\)
  • Wahrscheinlichkeit, einen SMS-Code erfolgreich zu erraten: \(\frac{1}{10^5} \) = \(10^{-5}\)
  • Wahrscheinlichkeit, einen Fingerabdruck zu fälschen: \(\frac{1}{10^4} \) = \(10^{-4}\)
Die Gesamtwahrscheinlichkeit, dass ein Angreifer alle drei Faktoren erfolgreich überwinden kann, ergibt sich durch:
  • \(10^{-6} \times 10^{-5} \times 10^{-4} = 10^{-15}\)
Die Gesamtwahrscheinlichkeit, dass ein Angreifer alle drei Faktoren erfolgreich überwinden kann, beträgt also \(10^{-15}\).Bedeutung dieser Wahrscheinlichkeit für die Sicherheit des Systems:
  • Extrem geringes Risiko: Eine Wahrscheinlichkeit von \(10^{-15}\) ist extrem gering, was bedeutet, dass es äußerst unwahrscheinlich ist, dass ein Angreifer alle drei Faktoren gleichzeitig überwinden kann. Das System bietet daher ein sehr hohes Maß an Sicherheit.
  • Hohe Sicherheit durch Kombination: Die Kombination von drei unterschiedlichen Authentifizierungsfaktoren (Passwort, SMS-Code und Fingerabdruck) erhöht die Sicherheit erheblich. Auch wenn ein Faktor kompromittiert wird, bleibt die Sicherheit durch die weiteren Faktoren bestehen.
  • Sicherheitsreserven: Trotz der extrem niedrigen Wahrscheinlichkeit für einen erfolgreichen Angriff sollten Unternehmen kontinuierlich Sicherheitsüberprüfungen und Verbesserungen durchführen, um neuen Bedrohungen vorzubeugen. Denn Technik und Angriffsmethoden entwickeln sich ständig weiter.
  • Vertrauen in das System: Die extrem niedrige Wahrscheinlichkeit eines erfolgreichen Angriffs stärkt das Vertrauen in das MFA-System und ermutigt Unternehmen und Benutzer, solche Sicherheitsmaßnahmen zu verwenden.
Insgesamt zeigt die extrem geringe Gesamtwahrscheinlichkeit von \(10^{-15}\), dass das MFA-System sehr robust und zuverlässig ist, um Netzwerkzugänge gegen unautorisierte Zugriffe zu schützen.

Aufgabe 4)

Gegeben sind die Hash-Funktionen SHA-256 und MD5. Diese Hash-Funktionen werden in verschiedenen Szenarien verwendet, um sichere und effiziente Datenverarbeitung zu gewährleisten. Während SHA-256 als sicher gilt und für Anwendungen wie Blockchain und digitale Signaturen benutzt wird, ist MD5 weit verbreitet, aber aufgrund von Sicherheitslücken für kryptografische Anwendungen weniger ideal.

a)

Erläutere den Begriff der Kollisionsresistenz bei Hash-Funktionen. Warum ist diese Eigenschaft für den Einsatz von Hash-Funktionen in kryptografischen Anwendungen wie digitalen Signaturen von besonderer Bedeutung? Nenne ein Beispiel, bei dem eine Verletzung der Kollisionsresistenz kritische Auswirkungen haben könnte.

Lösung:

Kollisionsresistenz bei Hash-Funktionen

Definition des Begriffs

Kollisionsresistenz ist eine wichtige Eigenschaft von Hash-Funktionen. Eine Hash-Funktion ist kollisionsresistent, wenn es sehr schwierig (praktisch unmöglich) ist, zwei verschiedene Eingaben x und y zu finden, so dass ihr Hash-Wert gleich ist, also hash(x) = hash(y). Mit anderen Worten, eine Kollision tritt auf, wenn zwei verschiedene Datenblöcke denselben Hash-Wert erzeugen.

Bedeutung der Kollisionsresistenz

Diese Eigenschaft ist insbesondere für den Einsatz von Hash-Funktionen in kryptografischen Anwendungen von großer Bedeutung, z.B. bei digitalen Signaturen. Hier sind einige Gründe, warum Kollisionsresistenz so wichtig ist:

  • Integrität: Kollisionsresistenz stellt sicher, dass die Integrität der Daten gewährleistet bleibt. Wenn ein Hash-Wert manipuliert werden könnte, um einen anderen Datenblock mit demselben Hash-Wert zu generieren, könnte dies die Echtheit und Unveränderlichkeit der Daten gefährden.
  • Authentizität: Digitale Signaturen basieren auf Hash-Werten, um Datenblöcke zu signieren. Wenn es möglich wäre, eine Kollision zu finden, könnte ein Angreifer eine gefälschte Nachricht mit demselben Hash-Wert wie eine legitime Nachricht erstellen, wodurch die digitale Signatur kompromittiert würde.
  • Sicherheit: Im Kontext von Blockchain-Technologien und anderen sicherheitskritischen Anwendungen hängt die Sicherheit des gesamten Systems von der Unmöglichkeit von Kollisionen ab. Eine Verletzung der Kollisionsresistenz könnte zur Manipulation von Transaktionen führen.
Beispiel einer kritischen Auswirkung

Ein Beispiel für eine Situation, in der eine Verletzung der Kollisionsresistenz kritische Auswirkungen haben könnte, ist die Verwendung bei digitalen Zertifikaten:

  • Stell Dir vor, ein Angreifer findet eine Kollision für die Hash-Funktion, die in einem SSL/TLS-Zertifikat verwendet wird. Der Angreifer könnte dann ein gefälschtes Zertifikat mit demselben Hash-Wert wie ein legitimes Zertifikat erstellen. Dies würde dazu führen, dass die gefälschte Website als authentisch anerkannt wird, wodurch Benutzer getäuscht und sensible Daten gestohlen werden könnten.

Daher ist die Kollisionsresistenz eine kritische Eigenschaft, die sicherstellt, dass Hash-Funktionen in kryptografischen Anwendungen zuverlässig und sicher verwendet werden können.

b)

Angenommen, Du hast eine Datei mit einer Größe von 500 MB und möchtest sowohl den SHA-256 als auch den MD5-Hash der Datei berechnen. Beschreibe kurz den Ablauf der Hash-Berechnung für beide Algorithmen. Erkläre anschliessend mathematisch, warum die Länge der Datei keinen Einfluss auf die Länge des Hash-Werts hat. Nutze hierfür die Eigenschaften der Hash-Funktionen.

Lösung:

Berechnung des SHA-256 und MD5-Hash einer Datei

Ablauf der Hash-Berechnung
  • Schritt 1: Lade die Datei in den Speicher. Angenommen, die Datei hat eine Größe von 500 MB.
  • Schritt 2: Initialisiere den Hash-Algorithmus. Hier wird der interne Zustand der Hash-Funktion, bei SHA-256 oder MD5, auf einen Startwert gesetzt.
  • Schritt 3: Teile die Datei in Blöcke geeigneter Größe. Für SHA-256 sind die Blöcke 512 Bits (64 Bytes) groß, und für MD5 sind sie ebenfalls 512 Bits (64 Bytes) groß. Wenn die Datei nicht vollständig in Blöcke passt, wird sie entsprechend gepolstert (Padding).
  • Schritt 4: Verarbeite jeden Block der Datei nacheinander durch den Hash-Algorithmus. Jeder Block wird mit dem aktuellen Zustand der Hash-Funktion kombiniert und der Zustand wird aktualisiert.
  • Schritt 5: Sobald alle Blöcke verarbeitet sind, wird der endgültige Hash-Wert erzeugt. Für SHA-256 beträgt die Länge des Hash-Werts 256 Bits (32 Bytes), und für MD5 beträgt die Länge 128 Bits (16 Bytes).
Warum hat die Länge der Datei keinen Einfluss auf die Länge des Hash-Werts?

Hash-Funktionen haben die Eigenschaft, eine Eingabe beliebiger Länge in eine Ausgabe fester Länge zu transformieren. Diese Eigenschaft wird oft als Komprimierungseigenschaft der Hash-Funktion bezeichnet. Mathematisch kann dies wie folgt erklärt werden:

  • Sei \( m \) die Eingabedatei und \( H \) die Hash-Funktion (z. B. SHA-256 oder MD5).
  • Die Hash-Funktion nimmt \( m \) als Eingabe entgegen und produziert einen festen Hash-Wert \( h \).
  • Formal betrachtet, ist \( H: m \rightarrow h \), wobei die Länge von \( m \) beliebig ist, aber die Länge von \( h \) konstant ist.
  • Für SHA-256 ist \( h \) immer 256 Bits (32 Bytes), und für MD5 ist \( h \) immer 128 Bits (16 Bytes).

Unabhängig davon, wie groß oder klein die Datei \( m \) ist, wird der resultierende Hash-Wert \( h \) immer dieselbe feste Länge haben. Dies ist eine der grundlegenden Eigenschaften, die Hash-Funktionen nützlich und sicher machen.

c)

Es sei folgendes Szenario gegeben: Ein Angreifer möchte durch eine Brute-Force-Attacke die ursprüngliche Eingabe aus einem bekannten MD5-Hashwert rekonstruieren. Erläutere, warum dies aufgrund der Eigenschaft der Vorbildwiderstandsfähigkeit schwierig ist. Berechne zusätzlich die Komplexität einer Brute-Force-Attacke für einen 128-Bit MD5-Hash und stelle die Berechnung mathematisch dar.

Lösung:

Vorbildwiderstandsfähigkeit und Brute-Force-Attacken bei MD5-Hashwerten

Vorbildwiderstandsfähigkeit

Vorbildwiderstandsfähigkeit (auch präimage Resistance genannt) ist eine Eigenschaft von Hash-Funktionen, die es schwierig macht, aus einem gegebenen Hashwert die ursprüngliche Eingabe zu rekonstruieren. Das bedeutet, dass es praktisch unmöglich sein sollte, eine Nachricht m zu finden, deren Hashwert H(m) einem gegebenen Hashwert entspricht.

Diese Eigenschaft wird durch die Tatsache gestützt, dass die Hash-Funktion eine Art Einwegfunktion ist: sie ist leicht zu berechnen, aber schwer umzukehren. Diese Einwegigkeit begründet die Sicherheit gegen Brute-Force-Attacken, bei denen ein Angreifer versucht, durch systematisches Ausprobieren aller möglichen Eingaben die originale Nachricht zu finden.

Komplexität einer Brute-Force-Attacke

Die Komplexität einer Brute-Force-Attacke hängt von der Länge des Hash-Werts ab. Bei MD5 beträgt die Länge des Hash-Werts 128 Bits.

Um alle möglichen Eingaben systematisch auszuprobieren, muss der Angreifer alle 2128 möglichen Kombinationen durchgehen. Dies führt zu einer extrem hohen Komplexität:

  • Mathematisch ausgedrückt, gibt es \(2^{128}\) mögliche Kombinationen, die durchprobiert werden müssen.
  • Die Anzahl der Möglichkeiten beträgt: \[2^{128} = 340,282,366,920,938,463,463,374,607,431,768,211,456\]
  • Selbst mit modernsten Supercomputern würde es Millionen von Jahren dauern, alle diese Kombinationen zu testen.

Zusammenfassend lässt sich sagen, dass die Vorbildwiderstandsfähigkeit von MD5-Hash-Funktionen in Kombination mit der enormen Komplexität einer Brute-Force-Attacke sicherstellt, dass es für einen Angreifer praktisch unmöglich ist, die ursprüngliche Eingabe aus einem Hashwert zu rekonstruieren.

Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden