Aufgabe 1)
Eine Firma plant die Implementierung umfassender Netzwerksicherheitsmaßnahmen, um ihre Daten und Netzwerksysteme gegen unbefugten Zugriff, Missbrauch, Veränderung und Zerstörung zu schützen. Deine Aufgabe ist es, verschiedene Netzwerksicherheitsmechanismen zu analysieren und vorzuschlagen, wie diese in einem Firmennetzwerk eingesetzt werden können.
a)
Erläutere den Unterschied zwischen Vertraulichkeit, Integrität und Authentizität im Kontext der Netzwerksicherheit. Gehe dabei auf die gängigsten Methoden zur Sicherstellung dieser drei Schutzziele ein.
Lösung:
Um die Netzwerksicherheit zu gewährleisten, ist es wichtig, die Konzepte der Vertraulichkeit, Integrität und Authentizität zu verstehen. Diese drei Schutzziele spielen eine zentrale Rolle, um die Sicherheit der Daten und Netzwerksysteme zu gewährleisten:
- Vertraulichkeit Vertraulichkeit stellt sicher, dass nur autorisierte Personen Zugang zu sensiblen Daten haben. Dies verhindert unbefugtes Abhören und Datendiebstahl. Zu den gängigsten Methoden zur Sicherstellung der Vertraulichkeit gehören:
- Verschlüsselung: Daten werden vor der Übertragung oder Speicherung verschlüsselt, sodass nur berechtigte Personen sie entschlüsseln und lesen können. Bekannte Verschlüsselungsalgorithmen sind AES, RSA und TLS.
- Zugangskontrollen: Durch die Implementierung von Benutzer-Authentifizierung und Autorisierungsmechanismen wird sichergestellt, dass nur berechtigte Benutzer Zugang zu sensiblen Informationen haben. Methoden wie Passwörter, biometrische Authentifizierung und Zwei-Faktor-Authentifizierung sind hierbei üblich.
- Integrität Integrität stellt sicher, dass Daten während der Übertragung oder Speicherung nicht unbemerkt verändert werden. Dies schützt die Daten vor Manipulation und Korruption. Zu den gängigsten Methoden zur Sicherstellung der Integrität gehören:
- Hashing: Ein Algorithmus erzeugt aus den ursprünglichen Daten einen eindeutigen Hash-Wert. Jede Änderung an den Daten führt zu einem anderen Hash-Wert, was Manipulationsversuche leicht erkennbar macht. Bekannte Hashing-Algorithmen sind MD5, SHA-1 und SHA-256.
- Digitale Signaturen: Durch die Kombination von Hashing und asymmetrischer Verschlüsselung können Absender die Integrität und Authentizität der gesendeten Daten garantieren. Der öffentliche Schlüssel des Absenders ermöglicht dem Empfänger, die Signatur zu überprüfen und sicherzustellen, dass die Daten nicht verändert wurden.
- Authentizität Authentizität stellt sicher, dass sowohl die Kommunikationspartner als auch die Daten echt und vertrauenswürdig sind. Dies verhindert Identitätsdiebstahl und Täuschung. Zu den gängigsten Methoden zur Sicherstellung der Authentizität gehören:
- Digitale Zertifikate: Digitale Zertifikate verifizieren die Identität von Personen, Geräten oder Diensten durch eine vertrauenswürdige Zertifizierungsstelle (CA). TLS-Zertifikate sind ein weit verbreitetes Beispiel.
- Public-Key-Infrastruktur (PKI): Ein hierarchisches System zur Verwaltung, Verteilung und Überprüfung von digitalen Zertifikaten und öffentlichen Schlüsseln. PKI unterstützt verschiedene Authentifizierungsprozesse und sichert die Kommunikation.
- Kerberos: Ein Netzwerk-Authentifizierungsprotokoll, das Prinzipale (Benutzer oder Dienste) sicher authentifiziert und die Integrität der Nachrichten gewährleistet. Es verwendet symmetrische Schlüssel und eine zentrale Authentifizierungsstelle.
b)
Die Firma möchte ihre Datenübertragungen in ihrem Netzwerk verschlüsseln. Beschreibe und vergleiche die beiden Verschlüsselungsstandards AES und RSA. Welche Hauptunterschiede bestehen in ihrer Funktionsweise und in welchen Szenarien sind sie besonders geeignet?
Lösung:
Die Verschlüsselung von Datenübertragungen ist eine wesentliche Maßnahme, um die Sicherheit in einem Firmennetzwerk zu gewährleisten. Zwei der bekanntesten Verschlüsselungsstandards sind AES (Advanced Encryption Standard) und RSA (Rivest-Shamir-Adleman). Beide haben unterschiedliche Funktionsweisen und Einsatzszenarien. Im Folgenden werden diese näher beschrieben und verglichen:
- AES (Advanced Encryption Standard)
- Funktionsweise: AES ist ein symmetrisches Verschlüsselungsverfahren, was bedeutet, dass derselbe Schlüssel sowohl zum Verschlüsseln als auch zum Entschlüsseln der Daten verwendet wird. Es arbeitet auf Blockebene und verschlüsselt Daten in Blöcken von 128 Bit. Die Schlüsselgrößen können 128, 192 oder 256 Bit betragen.
- Eigenschaften:
- Schnell und effizient für große Datenmengen.
- Weniger Rechenleistung erforderlich im Vergleich zu asymmetrischen Verfahren.
- Sehr sicher und weit verbreitet in vielen Anwendungen und Protokollen.
- Besondere Einsatzszenarien: AES ist besonders geeignet für den Einsatz in Szenarien, in denen große Datenmengen schnell und sicher verschlüsselt werden müssen, z. B. bei der Festplattenverschlüsselung, VPN-Verbindungen und sicheren Echtzeit-Datenübertragungen innerhalb eines Firmennetzwerks.
- RSA (Rivest-Shamir-Adleman)
- Funktionsweise: RSA ist ein asymmetrisches Verschlüsselungsverfahren, bei dem zwei verschiedene Schlüssel verwendet werden: ein öffentlicher Schlüssel zum Verschlüsseln der Daten und ein privater Schlüssel zum Entschlüsseln. Diese Schlüssel basieren auf der mathematischen Schwierigkeit, große Primzahlen zu faktorisieren.
- Eigenschaften:
- Sicherheit basiert auf komplexen mathematischen Problemen, was es extrem schwer macht, ohne den privaten Schlüssel zu entschlüsseln.
- Langsamer und rechenintensiver im Vergleich zu symmetrischen Verfahren, weshalb es weniger für die Verschlüsselung großer Datenmengen geeignet ist.
- Weit verbreitet zur sicheren Kommunikation und Schlüsselaustausch.
- Besondere Einsatzszenarien: RSA ist besonders geeignet für den Schlüsselaustausch und für die Verschlüsselung kleinerer Datenmengen, wie z. B. digitaler Signaturen und Zertifikate. Es wird häufig verwendet, um einen symmetrischen Sitzungsschlüssel sicher auszutauschen, der dann für die eigentliche Datenverschlüsselung verwendet wird.
Hauptunterschiede zwischen AES und RSA:
- Verschlüsselungsart:
- AES ist symmetrisch und verwendet denselben Schlüssel für Verschlüsselung und Entschlüsselung.
- RSA ist asymmetrisch und verwendet ein Schlüsselpaar (öffentlicher und privater Schlüssel).
- Geschwindigkeit und Effizienz:
- AES ist schneller und effizienter für die Verschlüsselung großer Datenmengen.
- RSA ist langsamer und rechenintensiver, eignet sich aber gut für den sicheren Schlüssel- und Datenaustausch.
- Sicherheit:
- Beide Verfahren bieten ein hohes Maß an Sicherheit, aber RSA basiert auf der Schwierigkeit, große Primzahlen zu faktorisieren, während AES auf der Komplexität seiner Algorithmus-Operationen basiert.
c)
Für die Verifizierung der Identität der Kommunikationspartner plant die Firma den Einsatz einer Public Key Infrastructure (PKI). Erkläre, wie eine PKI aufgebaut ist und wie digitale Zertifikate zur Authentizitätssicherung beitragen. Welche Rolle spielt das Vertrauensmodell in einer PKI?
Lösung:
Eine Public Key Infrastructure (PKI) ist ein System zur Verwaltung von Schlüsseln und Zertifikaten, das Vertrauen und Sicherheit in der digitalen Kommunikation schafft. Hier ist, wie eine PKI aufgebaut ist und wie sie funktioniert:
- Aufbau einer PKI Eine PKI besteht aus mehreren zentralen Komponenten:
- Zertifizierungsstelle (CA - Certification Authority): Die CA ist verantwortlich für die Ausstellung, Verwaltung, Verifizierung und Widerrufung digitaler Zertifikate. Sie bestätigt die Identität der Antragsteller und stellt die entsprechenden Zertifikate aus.
- Registrierungsstelle (RA - Registration Authority): Die RA unterstützt die CA bei der Verifizierung der Identität der Antragsteller. Sie prüft die Berechtigung der Antragsteller, Zertifikate zu erhalten, und leitet diese Informationen an die CA weiter.
- Zertifikatsspeicher (Repository): Ein öffentlicher Speicher, in dem ausgestellte Zertifikate sowie Widerrufslisten (CRL - Certificate Revocation List) veröffentlicht werden und für alle Teilnehmer zugänglich sind.
- Privater und Öffentlicher Schlüssel: Jeder Teilnehmer erhält ein Schlüsselpaar, bestehend aus einem privaten Schlüssel, der geheim gehalten wird, und einem öffentlichen Schlüssel, der in einem digitalen Zertifikat enthalten ist.
- Digitale Zertifikate und ihre Rolle bei der Authentizitätssicherung Digitale Zertifikate sind elektronische Dokumente, die die Bindung eines öffentlichen Schlüssels an die Identität des Inhabers bestätigen. Sie enthalten Informationen wie:
- Den öffentlichen Schlüssel des Inhabers
- Den Namen des Inhabers
- Die digitale Signatur der ausstellenden CA
- Das Ablaufdatum des Zertifikats
Diese Zertifikate tragen zur Authentizitätssicherung bei, indem sie es den Kommunikationspartnern ermöglichen, sicherzustellen, dass: - Der öffentliche Schlüssel tatsächlich der genannten Person oder Entität gehört.
- Die Kommunikation nicht von unbefugten Dritten abgefangen oder verändert wurde.
Durch die Überprüfung des digitalen Zertifikats und der digitalen Signatur können die Kommunikationspartner sicher sein, dass sie mit der richtigen Person oder Dienst kommunizieren. - Das Vertrauensmodell in einer PKI Das Vertrauensmodell ist ein wesentlicher Bestandteil einer PKI und beschreibt, wie Vertrauen zwischen den Teilnehmern aufgebaut und aufrechterhalten wird. Hier sind die Hauptbestandteile des Vertrauensmodells:
- Vertrauenswürdige Zertifizierungsstellen: Teilnehmer müssen den Zertifizierungsstellen vertrauen, die die Zertifikate ausstellen. Dieses Vertrauen basiert auf der Annahme, dass die CA sicher und korrekt arbeitet.
- Zertifikatsketten: In komplexen PKI-Systemen können Zertifikate von mehreren CAs ausgestellt werden, die in einer hierarchischen Struktur organisiert sind. Das Vertrauen kann vom Benutzer bis zu einer Root-CA (oberste Zertifizierungsstelle) zurückverfolgt werden. Jede CA in der Kette muss vertrauenswürdig sein.
- Widerrufsmechanismen: Es müssen Mechanismen vorhanden sein, um kompromittierte oder abgelaufene Zertifikate zu widerrufen. Die häufigsten Methoden sind Certificate Revocation Lists (CRLs) und das Online Certificate Status Protocol (OCSP).
Das Vertrauensmodell sorgt dafür, dass alle Teilnehmer in der PKI sicher und vertrauenswürdig miteinander kommunizieren können, und dass potenzielle Bedrohungen durch kompromittierte Schlüssel oder falsche Zertifikate minimiert werden.
d)
Um die Verfügbarkeit der Netzwerkdienste sicherzustellen, sollen Maßnahmen zur Abwehr von DDoS-Attacken implementiert werden. Beschreibe die Funktionsweise von DDoS-Attacken und schlage konkrete Abwehrmechanismen vor. Wie können Redundanz und Backup-Systeme zur Erhöhung der Verfügbarkeit beitragen?
Lösung:
Um die Verfügbarkeit der Netzwerkdienste sicherzustellen, ist es wichtig, sich gegen Distributed Denial of Service (DDoS)-Angriffe zu schützen. Hier sind die Funktionsweise von DDoS-Attacken und Vorschläge für konkrete Abwehrmechanismen:
- Funktionsweise von DDoS-Attacken DDoS-Attacken zielen darauf ab, einen Netzwerkdienst durch Überlastung mit einer großen Anzahl von Anfragen lahmzulegen. Dabei nutzen Angreifer oft ein Botnetz, das aus vielen infizierten und ferngesteuerten Geräten besteht, um gleichzeitig Anfragen an den Zielserver zu senden. Dies führt zu einer enormen Belastung der Netzwerkressourcen, wodurch legitime Anfragen nicht mehr bearbeitet werden können. Es gibt verschiedene Arten von DDoS-Attacken, darunter:
- Volumenbasierte Angriffe: Überfluten das Zielnetzwerk mit so viel Datenverkehr, dass die Bandbreite erschöpft ist.
- Protokollbasierte Angriffe: Nutzen Schwächen in den Protokollen aus, z. B. durch SYN-Flood-Angriffe, um Verbindungsressourcen zu erschöpfen.
- Anwendungsbasierte Angriffe: Zielen auf spezifische Anwendungen oder Dienste ab, indem sie legitime, aber übermäßig viele Anfragen stellen.
- Konkrete Abwehrmechanismen gegen DDoS-Attacken Verschiedene Maßnahmen können ergriffen werden, um DDoS-Attacken abzuwehren und die Verfügbarkeit der Netzwerkdienste zu gewährleisten:
- Traffic Filtering: Einsatz von Firewalls und Intrusion Prevention Systems (IPS), um schädlichen Datenverkehr zu erkennen und zu blockieren.
- Rate Limiting: Begrenzung der Anzahl von Anfragen, die ein bestimmter Benutzer in einer bestimmten Zeit senden kann, um die Auswirkungen von Überlastungsangriffen zu minimieren.
- Load Balancing: Verteilung des eingehenden Datenverkehrs auf mehrere Server, um die Last zu verteilen und die Angriffswirkung zu reduzieren.
- Scrubbing Centers: Einsatz von externen Dienstleistern, die den Datenverkehr analysieren und schädlichen Datenverkehr herausfiltern, bevor er das Firmennetzwerk erreicht.
- Anycast: Verteilung der Anfragen auf mehrere geografisch verstreute Server, um die Auswirkungen eines Angriffs auf ein einzelnes Rechenzentrum zu vermindern.
- Deep Packet Inspection (DPI): Analyse des Inhalts der Datenpakete, um schädlichen Verkehr zu identifizieren und herauszufiltern.
- Redundanz und Backup-Systeme zur Erhöhung der Verfügbarkeit Zusätzlich zu den speziellen Abwehrmechanismen gegen DDoS-Attacken können Redundanz und Backup-Systeme die Verfügbarkeit der Netzwerkdienste weiter erhöhen:
- Server-Redundanz: Bereithaltung mehrerer Server, die dieselben Dienste anbieten, sodass bei einem Ausfall eines Servers die verbleibenden Server die Last übernehmen können.
- Daten-Backup: Regelmäßige Sicherung der Daten auf redundanten Systemen oder geografisch verteilten Standorten, um im Falle eines Datenverlusts oder einer Zerstörung schnell wiederherstellen zu können.
- Geografische Redundanz: Verteilung der kritischen Dienste auf mehrere geografische Standorte, um sicherzustellen, dass ein Angriff oder ein regionaler Ausfall die Dienste nicht vollständig beeinträchtigt.
- Failover-Systeme: Automatisierung der Umschaltung auf Backup-Systeme im Falle eines Ausfalls oder einer Überlastung eines primären Systems.
Durch die Kombination dieser Maßnahmen kann die Firma die Verfügbarkeit ihrer Netzwerkdienste maximieren und sich effektiv gegen DDoS-Angriffe schützen.
Aufgabe 2)
Sicherheitsprotokolle: SSL/TLSSSL/TLS sorgt für sichere Kommunikationskanäle im Internet und schützt Daten durch Verschlüsselung und Authentifizierung.
- SSL (Secure Sockets Layer) wird durch TLS (Transport Layer Security) abgelöst
- Verwendung von asymmetrischer Kryptografie für Schlüsselaustausch
- Verwendung von symmetrischer Kryptografie für Datentransfer
- Ermöglicht Datenintegrität und Vertraulichkeit
- Schrittweise TLS Handshake-Phase
- Authentifizierung durch digitale Zertifikate
- Verwendungen: HTTPS, E-Mail, VPNs
a)
Erläutere die verschiedenen Phasen eines TLS-Handshakes und die verwendeten Kryptographie-Methoden in jeder Phase. Gehe dabei auf asymmetrische und symmetrische Verschlüsselungstechniken ein und beschreibe, wie der Schlüsselaustausch und die Authentifizierung umgesetzt werden.
Lösung:
Sicherheitsprotokolle: SSL/TLSSSL/TLS sorgt für sichere Kommunikationskanäle im Internet und schützt Daten durch Verschlüsselung und Authentifizierung.
- SSL (Secure Sockets Layer) wird durch TLS (Transport Layer Security) abgelöst
- Verwendung von asymmetrischer Kryptografie für Schlüsselaustausch
- Verwendung von symmetrischer Kryptografie für Datentransfer
- Ermöglicht Datenintegrität und Vertraulichkeit
- Schrittweise TLS Handshake-Phase
- Authentifizierung durch digitale Zertifikate
- Verwendungen: HTTPS, E-Mail, VPNs
Phasen eines TLS-Handshakes und die verwendeten Kryptographie-Methoden
Der TLS-Handshake-Prozess ist entscheidend für die Einrichtung einer sicheren Verbindung zwischen Client und Server. Dieser Prozess erfolgt in mehreren klar definierten Phasen. Hier sind die Schritte und die jeweiligen kryptographischen Methoden:
1. ClientHello
Der Client initiiert die Kommunikation, indem er eine ClientHello-Nachricht an den Server sendet. Diese Nachricht enthält:
- Eine Liste von unterstützten Verschlüsselungssuiten (Cipher Suites)
- Eine Liste von unterstützten TLS-Versionen
- Eine zufällig generierte Zeichenfolge, die „Client Random“ genannt wird
2. ServerHello
Der Server antwortet mit einer ServerHello-Nachricht, die enthält:
- Die vom Server gewählte Verschlüsselungssuite
- Die vom Server gewählte TLS-Version
- Eine zufällig generierte Zeichenfolge, die „Server Random“ genannt wird
3. Serverzertifikat
Der Server sendet sein digitales Zertifikat an den Client zur Authentifizierung. Dieses Zertifikat wird von einer vertrauenswürdigen Zertifizierungsstelle (CA) ausgestellt und enthält den öffentlichen Schlüssel des Servers.
4. Server Key Exchange (optional)
Falls die gewählte Verschlüsselungssuite Perfect Forward Secrecy (PFS) unterstützt, sendet der Server eine zusätzliche Nachricht, die die für den Schlüssel mit Diffie-Hellman (DH) oder Elliptic Curve Diffie-Hellman (ECDH) benötigten Parameter enthält.
5. Zertifikatanfrage (optional)
Falls der Server eine gegenseitige Authentifizierung verlangt, sendet er eine Zertifikatanfrage an den Client.
6. ServerHelloDone
Der Server signalisiert das Ende seiner Nachrichten mit einer ServerHelloDone-Nachricht.
7. Client Key Exchange
Der Client generiert einen Pre-Master-Secret und verschlüsselt es mit dem öffentlichen Schlüssel des Servers. Das verschlüsselte Pre-Master-Secret wird dann an den Server gesendet.
Falls PFS verwendet wird, sendet der Client seine Diffie-Hellman-Parameter.
8. Client-Zertifikat und Zertifikat Verify (optional)
Falls eine gegenseitige Authentifizierung verlangt wird, sendet der Client sein Zertifikat an den Server und beweist seine Identität durch das Signieren einer Nachricht (Certificate Verify).
9. Berechnung des Master Secrets
Beide Parteien verwenden das Pre-Master Secret sowie die gesendeten Zufallszahlen (Client Random und Server Random) zur Berechnung des Master Secrets. Dieses Master Secret dient zur Ableitung der symmetrischen Sitzungsschlüssel, die für die Verschlüsselung und Integrität der nachfolgenden Datenübertragung verwendet werden.
10. ChangeCipherSpec
Der Client und dann der Server senden jeweils eine ChangeCipherSpec-Nachricht, die anzeigt, dass alle zukünftigen Nachrichten mit den neu ausgehandelten Verschlüsselungs- und Integritätsalgorithmen gesichert werden.
11. Finished
Der Client und dann der Server senden jeweils eine Finished-Nachricht. Diese Nachrichten sind mit den neuen Sitzungsschlüsseln verschlüsselt und stellen sicher, dass der Handshake erfolgreich abgeschlossen wurde.
Zusammenfassung der Kryptographie-Methoden
- Asymmetrische Verschlüsselung: Wird während des Schlüssel- und Zertifikataustauschs verwendet. Der öffentliche Schlüssel des Servers verschlüsselt das Pre-Master-Secret. Auch Zertifikate (digital signiert) nutzen asymmetrische Verfahren zur Authentifizierung.
- Symmetrische Verschlüsselung: Nach der Berechnung des Master Secrets werden symmetrische Verschlüsselungsmethoden verwendet, um die Daten während der Sitzung zu schützen.
- Perfect Forward Secrecy (PFS): Verwendet Diffie-Hellman- oder Elliptic-Curve-Diffie-Hellman-Schlüsseltausch, um sicherzustellen, dass kompromittierte Schlüssel nicht zur Entschlüsselung vergangener Sitzungen verwendet werden können.
c)
Erkläre die Rolle digitaler Zertifikate und der Zertifizierungsstellen (CAs) im Rahmen von SSL/TLS. Wie wird sichergestellt, dass ein Server authentisch ist und die Kommunikation nicht durch einen Man-in-the-Middle-Angriff kompromittiert wird? Diskutiere dabei auch den Prozess der Zertifikatsüberprüfung und das Konzept der Zertifikatkette.
Lösung:
Sicherheitsprotokolle: SSL/TLSSSL/TLS sorgt für sichere Kommunikationskanäle im Internet und schützt Daten durch Verschlüsselung und Authentifizierung.
- SSL (Secure Sockets Layer) wird durch TLS (Transport Layer Security) abgelöst
- Verwendung von asymmetrischer Kryptografie für Schlüsselaustausch
- Verwendung von symmetrischer Kryptografie für Datentransfer
- Ermöglicht Datenintegrität und Vertraulichkeit
- Schrittweise TLS Handshake-Phase
- Authentifizierung durch digitale Zertifikate
- Verwendungen: HTTPS, E-Mail, VPNs
Erklärung der Rolle digitaler Zertifikate und der Zertifizierungsstellen (CAs)
Im Rahmen von SSL/TLS spielen digitale Zertifikate und Zertifizierungsstellen (CAs) eine entscheidende Rolle bei der Sicherstellung der Authentizität eines Servers und dem Schutz vor Man-in-the-Middle-Angriffen. Hier ist eine detaillierte Erklärung:
1. Digitale Zertifikate
Digitale Zertifikate sind elektronische Dokumente, die von einer vertrauenswürdigen Zertifizierungsstelle (CA) ausgestellt werden. Sie enthalten:
- Den öffentlichen Schlüssel des Servers
- Den Namen des Inhabers
- Informationen über die CA, die das Zertifikat ausgestellt hat
- Eine digitale Signatur der CA, die die Echtheit und Integrität des Zertifikats bestätigt
Ein typisches digitales Zertifikat wird nach dem X.509-Standard formatiert.
2. Rolle der Zertifizierungsstellen (CAs)
Zertifizierungsstellen sind vertrauenswürdige Dritte, die digitale Zertifikate ausstellen. Sie prüfen die Identität des Antragstellers, bevor sie Zertifikate ausstellen. Diese Prüfung kann verschiedene Formen annehmen, abhängig vom Typ des Zertifikats (z.B. Domain Validation, Organization Validation, Extended Validation).
3. Authentifizierung und Schutz vor Man-in-the-Middle-Angriffen
SSL/TLS verwendet digitale Zertifikate und den TLS-Handshake, um sicherzustellen, dass ein Server authentisch ist und die Kommunikation nicht kompromittiert wird. Der Prozess umfasst folgende Schritte:
- TLS-Handshake: Während des Handshakes sendet der Server sein digitales Zertifikat an den Client.
- Zertifikatsüberprüfung: Der Client überprüft das erhaltene Zertifikat:
- Gültigkeit: Der Client prüft, ob das Zertifikat nicht abgelaufen ist.
- Aussteller: Der Client prüft, ob das Zertifikat von einer vertrauten CA signiert wurde (die Vertrauenswürdigkeit der CA ist in der Regel im Betriebssystem oder Browser gespeichert).
- Zertifikatkette: Der Client verfährt von der Root-CA über eventuelle Intermediate-CAs bis zum Serverzertifikat und prüft jede Stufe der Kette auf Vertrauenswürdigkeit.
- CRL/OCSP: Der Client überprüft, ob das Zertifikat nicht widerrufen wurde, indem er entweder eine Certificate Revocation List (CRL) oder den Online Certificate Status Protocol (OCSP) verwendet.
- Öffentlicher Schlüssel: Der Client verwendet den im Zertifikat enthaltenen öffentlichen Schlüssel, um eine verschlüsselte Nachricht an den Server zu senden.
- Prüfung des Besitzes: Der Server nutzt seinen privaten Schlüssel, um die eingehenden verschlüsselten Nachrichten zu entschlüsseln und beweist auf diese Weise den Besitz des entsprechenden privaten Schlüssels.
Konzept der Zertifikatkette
Ein digitales Zertifikat allein reicht nicht aus, um Vertrauen zu schaffen. Meistens sind Zertifikate Teil einer „Zertifikatkette“:
- Root-Zertifikat: Ein selbstsigniertes Zertifikat, das von einer vertrauenswürdigen Root-CA stammt.
- Intermediate-Zertifikate: Zertifikate, die von der Root-CA oder einer Intermediate-CA erstellt wurden und eine verbindende Funktion zwischen dem Root-Zertifikat und dem Serverzertifikat haben.
- Serverzertifikat: Das spezifische Zertifikat, das dem Server zugeordnet ist und die Identität des Servers authentifiziert.
Der Client folgt der Zertifikatkette, beginnend beim Serverzertifikat, über die Intermediate-Zertifikate, bis hin zum Root-Zertifikat, um die Vertrauenswürdigkeit zu bestätigen.
Zusammenfassung
Digitale Zertifikate und Zertifizierungsstellen sind essenziell, um sicherzustellen, dass der Server authentisch ist und die Kommunikation nicht durch einen Man-in-the-Middle-Angriff kompromittiert werden kann. Der Prozess der Zertifikatsüberprüfung und das Konzept der Zertifikatkette gewährleisten, dass jedes Zertifikat von einer vertrauenswürdigen Quelle stammt und nicht manipuliert wurde.
Aufgabe 3)
Symmetrische und asymmetrische VerschlüsselungSymmetrische Verfahren nutzen den gleichen Schlüssel für Ver- und Entschlüsselung. Asymmetrische Verfahren verwenden ein Schlüsselpaar (öffentlicher Schlüssel für Verschlüsselung, privater Schlüssel für Entschlüsselung).
- Symmetrische Verschlüsselung: Schneller, aber sicherer Schlüsselaustausch nötig
- Asymmetrische Verschlüsselung: Schlüsseltausch entfällt, aber langsamer
- Beispiele symmetrisch: AES, DES
- Beispiele asymmetrisch: RSA, ECC
- Sicherheit symmetrisch: Hängt von der Schlüsselgröße ab (z.B. 256 Bit bei AES)
- Sicherheit asymmetrisch: Hängt von der Komplexität der mathematischen Probleme (z.B. Faktorisierung bei RSA) ab
a)
Erkläre den Prozess der Schlüsselaustausch in symmetrischen Verschlüsselungsverfahren. Wieso ist dieser Prozess oft problematisch, und welche Methoden können verwendet werden, um dieses Problem zu lösen?
Lösung:
Prozess des Schlüsselaustauschs in symmetrischen VerschlüsselungsverfahrenBeim symmetrischen Verschlüsselungsverfahren muss der gleiche Schlüssel sowohl für die Verschlüsselung als auch für die Entschlüsselung verwendet werden. Der Austausch dieses Schlüssels ist entscheidend für die Sicherheit des gesamten Systems. Hier ist der Schritt-für-Schritt-Prozess des Schlüsselaustauschs:
- Schlüsselerstellung: Der zu nutzende Schlüssel wird erstellt. Dies kann entweder manuell von den Nutzern oder automatisch durch ein Schlüsselerzeugungsprogramm geschehen.
- Schlüsselverteilung: Der erstellte Schlüssel muss an alle Parteien, die an der Kommunikation beteiligt sind, übermittelt werden. Dabei ist sicherzustellen, dass der Schlüssel nicht von unbefugten Dritten abgefangen wird.
- Schlüsselannahme: Die empfangende Partei erhält den Schlüssel und nutzt diesen, um Nachrichten zu entschlüsseln und ggf. Antworten zu verschlüsseln.
Probleme und Lösungen beim SchlüsselaustauschDer Schlüsselaustausch im symmetrischen Verschlüsselungsverfahren ist oft problematisch aufgrund folgender Gründe:
- Unsichere Kommunikationskanäle: Der Austausch des Schlüssels über unsichere Kanäle kann dazu führen, dass ein Angreifer den Schlüssel abfängt und somit Zugang zu den verschlüsselten Daten erlangt.
- Man-in-the-Middle-Angriffe: Ein Angreifer kann sich zwischen die kommunizierenden Parteien schalten und ihnen jeweils falsche Schlüssel übermitteln, um die Kommunikation zu entschlüsseln.
- Verteilungsaufwand: Der sichere Austausch von Schlüsseln kann, besonders bei großen Netzwerken, sehr aufwendig und kompliziert sein.
Um diese Probleme zu lösen, können folgende Methoden verwendet werden:
- Physische Verteilung: Der Schlüssel wird persönlich übergeben oder über physisch sichere Kanäle (z.B. Kurierdienste) verteilt. Dies reduziert das Risiko des Abfangens, ist aber organisatorisch aufwendig.
- Asymmetrische Verschlüsselung: Ein asymmetrisches Verfahren kann genutzt werden, um den symmetrischen Schlüssel sicher zu übertragen. Dabei wird der symmetrische Schlüssel mit dem öffentlichen Schlüssel der Empfängerpartei verschlüsselt, sodass nur der Inhaber des privaten Schlüssels diese Nachricht entschlüsseln kann.
- Schlüsselaustauschprotokolle: Protokolle wie das Diffie-Hellman-Schlüsselaustauschprotokoll ermöglichen es zwei Parteien, einen gemeinsamen Schlüssel zu generieren, ohne dass der Schlüssel selbst über das Netzwerk versendet wird. Stattdessen tauschen die Parteien bestimmte öffentliche Werte aus und berechnen unabhängig voneinander den gemeinsamen Schlüssel.
- Verwendung von sicheren Kommunikationsprotokollen: Protokolle wie TLS (Transport Layer Security) verwenden eine Kombination von symmetrischer und asymmetrischer Verschlüsselung, um die Schlüsselverteilung und die anschließende verschlüsselte Kommunikation sicherzustellen.
b)
Berechne die Zeitkomplexität der Schlüsselgenerierung bei einem asymmetrischen Verschlüsselungsverfahren wie RSA. Gehe davon aus, dass die Hauptoperationen das Finden von zwei großen Primzahlen und die Berechnung ihres Produkts sind.
Lösung:
Zeitkomplexität der Schlüsselgenerierung bei RSAUm die Zeitkomplexität der Schlüsselgenerierung bei RSA zu berechnen, betrachten wir die Hauptoperationen, die für diesen Prozess erforderlich sind:
- Das Finden von zwei großen Primzahlen (\(p\) und \(q\))
- Die Berechnung ihres Produkts (\(n = p \times q\))
1. Finden von zwei großen PrimzahlenDas Finden von großen Primzahlen kann durch probabilistische Algorithmen wie den Miller-Rabin-Test oder durch deterministische Algorithmen wie den AKS-Primzahltest erfolgen. Die Zeitkomplexität des Miller-Rabin-Tests, der besonders häufig verwendet wird, ist abhängig von der Größe der zu testenden Zahlen und der Anzahl der Durchläufe.Der Miller-Rabin-Test hat eine Zeitkomplexität von \[O(k \times (\text{log} \thinspace n)^3)\]\, wobei \(k\) die Anzahl der Durchläufe und \(n\) die zu testende Zahl ist. Bei RSA wird der Test so lange wiederholt, bis zwei unterschiedliche große Primzahlen \(p\) und \(q\) gefunden werden. Unter der Annahme, dass \(k\) proportional zur Bit-Länge der zu testenden Zahl ist, ergibt sich eine approximierte Komplexität des Primzahlenfindens von \[O((\text{log} \thinspace n)^4)\].
2. Berechnung des Produkts (\(n = p \times q\))Die Multiplikation von zwei großen Zahlen \(p\) und \(q\) hat unter Verwendung effizienter Algorithmen wie der Karatsuba-Multiplikation eine Zeitkomplexität von \[O((\text{log} \thinspace n)^2)\].
Gesamte ZeitkomplexitätDa die Primzahlfindung der dominierende Schritt ist, bestimmt sie hauptsächlich die Zeitkomplexität der RSA-Schlüsselgenerierung. Die Gesamte Zeitkomplexität der Schlüsselgenerierung bei RSA ist somit:\[O((\text{log} \thinspace n)^4)\]Diese Berechnung umfasst die beiden wesentlichen Schritte der Schlüsselgenerierung und liefert eine Abschätzung der asymptotischen Zeitkomplexität.
c)
Vergleiche die Effizienz der Datenverschlüsselung zwischen AES-256 und RSA-2048. Begründe, warum man in der Praxis oft beide Verfahren kombiniert (Hybridverschlüsselung).
Lösung:
Vergleich der Effizienz der Datenverschlüsselung zwischen AES-256 und RSA-2048Die beiden Verschlüsselungsverfahren AES-256 (symmetrisch) und RSA-2048 (asymmetrisch) haben unterschiedliche Eigenschaften hinsichtlich Leistung und Sicherheit. Hier ist ein Vergleich ihrer Effizienz bei der Datenverschlüsselung:
- Geschwindigkeit: AES-256 ist deutlich schneller in der Datenverschlüsselung und -entschlüsselung als RSA-2048. Symmetrische Verschlüsselungsverfahren wie AES arbeiten meist in Blockchiffren, die Hardware-beschleunigt und in der Lage sind, große Datenmengen effizient zu verarbeiten. Dagegen ist die asymmetrische Verschlüsselung (wie RSA) wesentlich rechenintensiver, da sie auf komplexen mathematischen Operationen wie der Modularen Exponentiation basiert.
- Schlüssellänge: AES-256 verwendet eine fixe Schlüssellänge von 256 Bit, während RSA-2048 eine Schlüssellänge von 2048 Bit verwendet. Trotz der längeren Schlüssellänge bei RSA bietet AES-256 ein vergleichbares (wenn nicht höheres) Sicherheitsniveau hinsichtlich der Resistenz gegen Brute-Force-Angriffe.
- Datenmenge: RSA-2048 eignet sich aufgrund seiner Rechenintensität und Speicheranforderungen besser zum Verschlüsseln kleiner Datenmengen (wie Schlüssel), anstatt ganzer Dokumente oder großer Datenströme. AES-256 hingegen ist für die Verschlüsselung größerer Datenmengen optimiert.
Kombination in der Praxis: HybridverschlüsselungIn der Praxis wird oft eine Kombination aus beiden Verfahren verwendet, bekannt als Hybridverschlüsselung. Dies geschieht aus folgenden Gründen:
- Effizienz: Die Kombination ermöglicht es, die Stärken beider Verfahren zu nutzen. Asymmetrische Verschlüsselung (RSA) wird verwendet, um einen sicheren Schlüsselaustausch durchzuführen. Der eigentliche symmetrische Schlüssel wird dann mithilfe von RSA verschlüsselt und übertragen.
- Leistung: Nach dem Schlüsselaustausch wird die tatsächliche Datenverschlüsselung mithilfe des effizienten AES-256 durchgeführt. Dies ermöglicht eine schnelle und sichere Verarbeitung großer Datenmengen.
- Sicherheit: Durch die Verwendung von RSA für den Schlüsselaustausch wird der symmetrische Schlüssel sicher zwischen den Parteien übermittelt. Danach bietet AES-256 ein hohes Maß an Sicherheit für die eigentliche Datenverschlüsselung.
Zusammengefasst nutzen hybride Verschlüsselungsverfahren die Effizienzvorteile von AES-256 für die Datenverschlüsselung und die Sicherheitsvorteile von RSA-2048 für den sicheren Schlüsselaustausch, wodurch eine sichere und leistungsfähige Lösung für die Verschlüsselung in der Praxis entsteht.
d)
Diskutiere, wie die Sicherheit von AES und RSA bei zukünftigen Quantencomputern beeinträchtigt werden könnte. Welche kryptographischen Algorithmen könnten als sichere Alternativen betrachtet werden und warum?
Lösung:
Sicherheit von AES und RSA bei zukünftigen QuantencomputernQuantencomputer haben das Potenzial, die aktuelle Kryptographie erheblich zu beeinflussen, insbesondere die Algorithmen, die wir heute verwenden. Hier ist ein Überblick darüber, wie AES und RSA betroffen sein könnten und welche Alternativen in Betracht gezogen werden sollten.
- RSA: RSA ist besonders anfällig für Quantencomputer aufgrund von Shor's Algorithmus, der in der Lage ist, große Zahlen in polynomialer Zeit zu faktorisieren. Da die Sicherheit von RSA auf der Schwierigkeit der Faktorisierung großer Zahlen basiert, würde ein ausreichend leistungsfähiger Quantencomputer RSA innerhalb kurzer Zeit unwirksam machen.
- AES: AES ist weniger stark betroffen, aber dennoch nicht völlig sicher vor Quantencomputern. Grover's Algorithmus ermöglicht eine quadratische Beschleunigung beim Durchsuchen eines Schlüsselsuchraums. Für AES-256 bedeutet dies, dass ein Quantencomputer effektiv die Sicherheit halbieren könnte, wodurch es ähnlich sicher wie AES-128 unter klassischer Betrachtung wird. Um dem entgegenzuwirken, müsste die Schlüssellänge bei symmetrischen Algorithmen erhöht werden (z.B. AES-512).
Sichere Alternativen in der QuantenzeitAngesichts der Bedrohung durch Quantencomputer gibt es bereits Entwicklungen und Forschungen zu neuen kryptographischen Algorithmen, die widerstandsfähig gegenüber Quantenangriffen sind. Diese als „Post-Quanten-Kryptographie“ bezeichneten Algorithmen sollen sicherstellen, dass auch in einem Quantenzeitalter die Daten sicher bleiben.Hier sind einige dieser Algorithmen und warum sie als sichere Alternativen betrachtet werden könnten:
- Lattice-basierte Kryptographie: Algorithmen wie Kyber und NewHope basieren auf dem mathematischen Problem versteckter Gitterstrukturen, welches sich als schwierig auch für Quantencomputer erwiesen hat. Diese Algorithmen gelten als vielversprechende Kandidaten für asymmetrische Verschlüsselung und Schlüsselaustausch.
- Code-basierte Kryptographie: Algorithmen wie McEliece nutzen die Schwierigkeiten des Dekodierens zufällig linearer Codes. Diese Techniken sind seit Jahrzehnten erforscht und haben sich als resistent gegen bekannte Angriffe erwiesen, sowohl klassisch als auch quantenbasiert.
- Hash-basierte Signaturen: Algorithmen wie SPHINCS+ verwenden kryptographische Hash-Funktionen, um digitale Signaturen zu erzeugen. Sie sind resistent gegen Angriffe mittels Quantencomputer, da sie auf dem Aufbau sicherer Hash-Funktionen beruhen, die auch gegen Quantenangriffe sicher sind.
- Multivariate Polynomiale: Algorithmen wie Rainbow basieren auf der Schwierigkeit, Systeme multivariater Polynomialgleichungen zu lösen. Hierbei handelt es sich ebenfalls um ein Problem, das sich als schwierig auch für Quantenalgorithmen erweist.
Diese post-quanten kryptographischen Algorithmen könnten sichere Alternativen zu AES und RSA darstellen und sind Gegenstand intensiver Forschung und Standardisierungsbemühungen, um auch in einer Welt mit Quantencomputern sichere Kommunikation zu gewährleisten.
Aufgabe 4)
Betrachte Hash-Funktionen und digitale Signaturen als kritische Mechanismen in der IT-Sicherheit. Hash-Funktionen dienen dazu, Daten auf eine fixe Länge zu komprimieren und weisen dabei wichtige Eigenschaften wie Determinismus, Schnelligkeit, Vorabbildresistenz, Kollisionsresistenz und zweite Vorabbildresistenz auf. Bekannte Hash-Funktionen umfassen SHA-1, SHA-256 und MD5 (obsolet). Eine digitale Signatur kombiniert Hashing und asymmetrische Verschlüsselung, um die Authentizität und Integrität von Nachrichten zu gewährleisten. Der Hash der Nachricht wird mit dem privaten Schlüssel verschlüsselt, und die Verifikation erfolgt durch Entschlüsselung des Hashwerts mit dem öffentlichen Schlüssel und Vergleich mit dem berechneten Hash der Nachricht. Dies schützt vor Manipulation und sichert die Urheberschaft.
a)
Erkläre die folgenden Begriffe und beschreibe ihre Eigenschaften im Kontext von Hash-Funktionen:
- Determinismus
- Vorabbildresistenz
- Kollisionsresistenz
- Zweite Vorabbildresistenz
Lösung:
Hier sind die Erläuterungen zu den Begriffen im Kontext von Hash-Funktionen:
- Determinismus: Determinismus bedeutet, dass eine Hash-Funktion für eine gegebene Eingabe stets denselben Hash-Wert erzeugt. Das heißt, wenn Du dieselbe Eingabe mehrfach durch die Hash-Funktion laufen lässt, erhältst Du immer denselben Hash-Wert. Dies ist wichtig, um konsistente und vorhersagbare Ergebnisse zu gewährleisten.
- Vorabbildresistenz: Auch bekannt als One-Way-Funktion, beschreibt die Eigenschaft, dass es praktisch unmöglich ist, die ursprüngliche Eingabe aus dem Hash-Wert abzuleiten. Obwohl Hash-Funktionen deterministisch sind, ist der Prozess der Umkehrung sehr schwierig, was die Vorabbildresistenz sicherstellt.
- Kollisionsresistenz: Kollisionsresistenz bedeutet, dass es sehr unwahrscheinlich ist, zwei unterschiedliche Eingaben zu finden, die denselben Hash-Wert ergeben. Wenn eine Hash-Funktion schwache Kollisionsresistenz aufweist, kann dies zu Sicherheitsproblemen führen, da zwei unterschiedliche Nachrichten denselben Hash-Wert haben könnten, was in sicherheitskritischen Anwendungen ein großes Problem darstellt.
- Zweite Vorabbildresistenz: Diese Eigenschaft bedeutet, dass es schwierig ist, eine zweite, unterschiedliche Eingabe zu finden, die denselben Hash-Wert wie eine gegebene Eingabe erzeugt. Während die Erstabbildresistenz betrifft, wie schwer es ist, die Eingabe zu einem bestimmten Hash-Wert zu finden, betrifft die zweite Vorabbildresistenz die Schwierigkeit, eine alternative Eingabe zu einem bereits existierenden Hash-Wert zu finden. Dies ist besonders wichtig, um Manipulationen oder Fälschungen zu verhindern.
b)
Nimm an, Du erhältst eine Nachricht und eine digitale Signatur. Beschreibe detailliert, wie Du die Authentizität und Integrität der Nachricht mit Hilfe der digitalen Signatur überprüfst. Nutze die folgenden Informationen:
- Die Nachricht wurde mit SHA-256 gehasht.
- Der resultierende Hashwert wurde mit dem privaten Schlüssel des Absenders verschlüsselt.
Lösung:
Um die Authentizität und Integrität einer Nachricht mit Hilfe einer digitalen Signatur zu überprüfen, kannst Du die folgenden Schritte ausführen:
- Schritt 1: Empfange die Nachricht und die digitale Signatur. Die digitale Signatur ist der verschlüsselte Hashwert der Nachricht.
- Schritt 2: Berechne den Hashwert der empfangenen Nachricht mit der SHA-256-Hash-Funktion. Dies ergibt den Hashwert H(M), wobei M die Nachricht ist.
- Schritt 3: Entschlüssele die digitale Signatur mit dem öffentlichen Schlüssel des Absenders. Wenn die Nachricht mit dem privaten Schlüssel des Absenders signiert wurde, kannst Du den ursprünglichen Hashwert durch Entschlüsselung der Signatur erhalten. Bezeichne diesen entschlüsselten Hashwert als H(S).
- Schritt 4: Vergleiche den berechneten Hashwert H(M) mit dem entschlüsselten Hashwert H(S).
-
- Wenn H(M) gleich H(S) ist, dann hat sichergestellt, dass die Nachricht nicht verändert wurde (Integrität) und dass der Absender tatsächlich derjenige ist, der behauptet, die Nachricht gesendet zu haben (Authentizität).
- Wenn die Hashwerte unterschiedlich sind, dann wurde entweder die Nachricht manipuliert oder die Signatur ist ungültig.
Zusammengefasst stellen diese Schritte sicher, dass die Nachricht unverändert ist und vom rechtmäßigen Absender kommt. Hier sind die Schritte schematisch dargestellt:
Empfangene Nachricht: MEmpfangene Signatur: S1. Berechne H(M) = SHA-256(M)2. Entschlüssele Signatur: H(S) = Decrypt(S, public key)3. Vergleiche H(M) mit H(S) - Wenn H(M) == H(S): Nachricht ist authentisch und integer - Wenn H(M) != H(S): Nachricht wurde manipuliert oder Signatur ist ungültig
c)
Gegeben sei der Hashwert
'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
. Bestimme den Hashwert für die leere Nachricht, wenn SHA-256 verwendet wird, und begründe Deine Antwort.
Lösung:
Der gegebene Hashwert
'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
ist tatsächlich der Hashwert der leeren Nachricht, wenn die SHA-256-Hash-Funktion verwendet wird. Das liegt daran, dass der SHA-256-Algorithmus eine spezifische, fest definierte Ausgabe für die leere Eingabe hat. Hier sind die Schritte und die Begründung im Detail:
Zusammenfassend ergibt sich der Hashwert
'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
bei Verwendung der SHA-256-Hash-Funktion auf eine leere Nachricht, weil dies eine vordefinierte und standardisierte Ausgabe des Algorithmus ist. Du kannst dies durch eigene Implementierung oder durch Nutzung von SHA-256-Hashing-Tools bestätigen.
d)
Analysiere die Sicherheitslücken von MD5 im Vergleich zu SHA-256. Warum gilt MD5 als obsolet, und welche Vorteile bietet SHA-256 im Kontext der IT-Sicherheit?
Lösung:
MD5 und SHA-256 sind beide kryptographische Hash-Funktionen, die zur Sicherstellung von Datenintegrität und Authentizität verwendet werden. Allerdings gibt es wesentliche Unterschiede in ihren Sicherheitsniveaus, was zur Obsoletheit von MD5 geführt hat. Hier sind die Sicherheitslücken von MD5 und die Vorteile von SHA-256 im Vergleich:
- Sicherheitslücken von MD5:
- Kollisionsanfälligkeit: MD5 ist anfällig für Kollisionsangriffe, bei denen zwei verschiedene Eingaben denselben Hash-Wert erzeugen können. Forscher haben effiziente Methoden entwickelt, um Kollisionen in MD5 zu finden, was die Integrität von Daten gefährdet.
- Begrenzte Hashlänge: MD5 erzeugt einen Hashwert von 128 Bit. Diese kürzere Länge im Vergleich zu moderneren Algorithmen wie SHA-256 erhöht die Wahrscheinlichkeit von Kollisionen und verringert die Gesamtsicherheit.
- Geschwindigkeit: Obwohl MD5 schnell ist, kann diese Eigenschaft auch gegen seine Sicherheit arbeiten. Angreifer können schnell viele Hashes berechnen, was Brute-Force- und Kollisionsangriffe erleichtert.
- Praktische Angriffe: Es gibt bekannte, veröffentlichte Angriffe gegen MD5, die als praktisch durchführbar gelten. Diese Angriffe haben in der Praxis gezeigt, dass MD5 unsicher ist für sicherheitskritische Anwendungen.
- Vorteile von SHA-256:
- Größere Hashlänge: SHA-256 erzeugt einen 256-Bit-Hashwert, was Kollisionsangriffe erheblich erschwert im Vergleich zu 128-Bit-Hashwerten von MD5.
- Kollisionsresistenz: SHA-256 bietet eine größere Kollisionsresistenz aufgrund seines größeren Hashraums und der robusten internen Struktur, die algorithmisch resistent gegen Kollisionen ist.
- Zweite Vorabbildresistenz: SHA-256 ist deutlich resistenter gegen Angriffe, die darauf abzielen, zu einer gegebenen Nachricht einen alternativen, gleichen Hashwert zu finden.
- Breite Akzeptanz und Standardisierung: SHA-256 ist ein Teil der Secure Hash Algorithm Familie, die vom National Institute of Standards and Technology (NIST) standardisiert wurde und in vielen Sicherheitsprotokollen wie TLS, SSL und PGP verwendet wird.
- Zukunftssicherheit: SHA-256 gilt als sicher gegen aktuelle und absehbare Angriffe. Aufgrund seiner Struktur wird angenommen, dass es auch bei zunehmender Rechenleistung in den nächsten Jahren sicher bleiben wird.
Zusammengefasst ist MD5 aufgrund seiner bekannten Sicherheitslücken und praktischen Angriffsmöglichkeiten als veraltet und unsicher zu betrachten. SHA-256 bietet aufgrund seiner längeren Hashlänge, besseren Resistenz gegen Kollisionen und breiten Standardisierung erhebliche Sicherheitsvorteile im Kontext der IT-Sicherheit.