Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ef:kryptographie:hash [2025/09/25 09:21] lehmannref:kryptographie:hash [2025/09/29 16:06] (aktuell) lehmannr
Zeile 17: Zeile 17:
   - **Kollisionsresistenz (Collision Resistance)**: Es ist praktisch unmöglich, zwei **beliebige, unterschiedliche** Eingaben zu finden, die denselben Hashwert ergeben.   - **Kollisionsresistenz (Collision Resistance)**: Es ist praktisch unmöglich, zwei **beliebige, unterschiedliche** Eingaben zu finden, die denselben Hashwert ergeben.
 </WRAP> </WRAP>
-Damit diese Eigenschaften in der Praxis gelten, muss die Ausgabelänge des Hashwerts gross genug sein. Für Kollisionsresistenz werden heute mindestens **256 Bit** empfohlen, da dies eine Sicherheit von 128 Bit gegen sogenannte Geburtstagsangriffe bietet.+Damit diese Eigenschaften in der Praxis gelten, muss die Ausgabelänge des Hashwerts gross genug sein. Für Kollisionsresistenz werden heute mindestens **256 Bit** empfohlen, da dies eine Sicherheit von 128 Bit gegen sogenannte Geburtstagsangriffe bietet. Das aktuell am häufigsten eingesetzte Hashverfahren trägt den Namen SHA-256 aus der SHA2-Famile
  
 <WRAP nicebox green> <WRAP nicebox green>
Zeile 93: Zeile 93:
 Eine **digitale Signatur** hingegen kann nur von der Person erstellt werden, die im Besitz des privaten Schlüssels ist. Da der öffentliche Schlüssel zur Überprüfung allgemein bekannt ist, kann der Empfänger die Urheberschaft der Nachricht gegenüber Dritten beweisen. Der Absender kann nicht leugnen, die Nachricht gesendet zu haben. Signaturen bieten also **Verbindlichkeit und Nichtabstreitbarkeit**. Eine **digitale Signatur** hingegen kann nur von der Person erstellt werden, die im Besitz des privaten Schlüssels ist. Da der öffentliche Schlüssel zur Überprüfung allgemein bekannt ist, kann der Empfänger die Urheberschaft der Nachricht gegenüber Dritten beweisen. Der Absender kann nicht leugnen, die Nachricht gesendet zu haben. Signaturen bieten also **Verbindlichkeit und Nichtabstreitbarkeit**.
  
-==== 2.5 Anwendungsfälle ====+==== 2.5 Anwendungsfälle und Abgrenzung zu Digitalen Signaturen ====
  
 **MACs** sind ideal, wenn zwei Parteien bereits einen gemeinsamen geheimen Schlüssel haben und ihre Kommunikation vor Manipulation schützen wollen, ohne dass Dritte involviert sind. Sie sind oft auch schneller als digitale Signaturen. **MACs** sind ideal, wenn zwei Parteien bereits einen gemeinsamen geheimen Schlüssel haben und ihre Kommunikation vor Manipulation schützen wollen, ohne dass Dritte involviert sind. Sie sind oft auch schneller als digitale Signaturen.
 +Mit **MACs** kann der Sender jeweils sicher sein, dass die Nachricht vom Empfänger stammt und umgekehrt, da nur sie den privaten Schlüssel kennen, um den MAC zu erstellen.
  
-**Digitale Signaturen** sind unerlässlich, wenn die Authentizität einer Nachricht gegenüber jedermann nachweisbar sein mussEin zentraler Anwendungsfall ist der **authentifizierte Schlüsselaustausch** in Protokollen wie TLSwo ein Server seine Identität durch die Signatur seines öffentlichen Schlüssels in einem Zertifikat beweist.+Aber wenn eine ** Drittperson ** sicher sein solldass die Meldung vom Sender stammt, **eignen sich MACs nicht**. Denn die Drittperson kann den MAC nicht prüfen, da sie den geheimen Schlüsseln icht kennt. Selsbt wenn Sender/Empfänger der Drittperson den Schlüssel aushändigen würde, könnte sie nicht nachweisen, ob die Nachricht vom Sender oder vom Empfänger stammte, da ja beiden denselben privaten Schlüssel verwenden. 
 + 
 +Um sich gegenüber anderen Parteien zu authentifizieren, verwendet man deshalb ein anderes Konzept: **Digitale Signaturen** (vgldas nächste Kapitel). Diese basieren auf asymmetrischer Kryptographie. 
 + 
 +===== 3. AEAD-Algorithmen ===== 
 +Bis vor kurzer Zeit (bis zum Standard TLS 1.2) wurden die Daten symmetrisch mit einer Blockchiffre verschlüsselt (z.B: mit AES im CBS-Modus) und dann zusätzlich mit einem MAC versehen (z.B. HMAC-SHA256), um die Integrität und Authentizität zu gewährleisten. Von der Reihenfolge her gab es beide Varianten: Encrypt-then-MAC oder MAC-then-encrypt, wobei letzeres als anfällig für Hackerangriffe gilt.   
 + 
 +Ab TLS 1.3 wurden diese beiden Schritte in einem Protokoll kombiniert. Die sogenannten **AEAD-Algorithmen (Authenticated Encryption with Associated Data)** machen also beides: **sie verschlüsseln die Daten symmmetrisch** und fügen dann einen MAC hinzu, um die Integrität und Authentizität zu gewährleisten. Die zwei AEAD-Algorithmen, die man aktuell antrifft, sind AES-GCM (verwendet AES für die Verschlüsselung und GMAC für den Message Authentication Code) oder ChaCha-Poly1305 (verwendet ChaCha für die symmetrische Verschlüsselung und Poly1305 als MAC).  
 + 
 +In den Protokollen wird häufig noch die Hashfunktion angegebenwelche verwendet werden. Dies ist vorallem beim Handshake relevant. Der gesamte Handshake wird in einer sogenannten Finished-Nachricht gehashed, damit Server und Client vergleichen können, dass beide denselben Handshake vorgenommen haben). Dadurch werden Man-in-the-middle-Attacken verhindert. Aber auch die Signaturen (siehe späteres Kapitel) werden zuerst damit gehashed und dann mit dem privaten Schlüssel des Ausstellers signiert. 
 + 
 + 
 +[[ef:start|Zurück zur Übersicht]] 
  
 </WRAP> </WRAP>
  • ef/kryptographie/hash.1758784901.txt.gz
  • Zuletzt geändert: 2025/09/25 09:21
  • von lehmannr