In dem Fach Sicherheit und Netze werden Schutzziele und Schutzmechanismen für die Kommunikation in Netzen behandelt. Im dritten Teil der Zusammenfassung wird erklärt, wie man die Echtheit von Dokumenten nachweist und wie digitale Signaturen funktionieren.
| Skript-Anfang | 01EinfuehrungSicherheitUndNetze – Seite 1 |
|---|---|
| Skript-Ende | 15SicherheitTransportschicht – Seite 51 |
Integrität und Authentizität von Dokumenten
Durch Öffnen von Programmen oder Dokumenten, die aus „unsicheren“ Quellen stammen, kann beträchtlicher Schaden entstehen. Schadsoftware kann Programme zum Ausspähen von Passwörtern, Trojanische Pferde oder Backdoors auf einem Computer installieren, oder ganz einfach Daten beschädigen oder löschen. Lassen sich Dokumente unbemerkt manipulieren können zum Beispiel Überweisungen von unberechtigten Personen durchgeführt werden.
Grundlagen
Wofür braucht man diese Schutzziele?
- Vertraulichkeit, Integrität und Authentizität sind eng verknüpft
- Manipulation von verschlüsselten Daten → Verletzung der Integrität (Leslies Attacke)
- Ausgeben als Absender → Verletzung der Authentizität
- Die verwendeten Verfahren müssen auch nach vielen Jahren noch überprüfbar sein

Worin unterscheiden sich Fingerprint, Message Digest, Hash und MDC?
- Es sind synonyme Begriffe für das gleiche Verfahren
- Sie werden immer mittels kryptographischer Hashfunktionen umgesetzt
Kryptografische Hashfunktionen
Was sind Hashfunktionen?
- Sie bilden Texte beliebige Länge auf Texte einer vorgegebene Länge ab
- Sie komprimieren und vermischen den Inhalt eines Dokuments
- Aus den Hashes kann das ursprüngliche Dokument nicht mehr zurück gerechnet werden
- Mit unterschiedlichen Dokumenten dürfen keine gleichen Hashes erzeugt werden können
Welche Eigenschaften müssen Hashfunktionen erfüllen?
- Abbildung fester Länge – h:{0, 1}m → {0, 1}n mit m > n
- Einwegfunktion – Es darf nicht möglich sein aus h(m) ein passendes m zu finden
- Kollisionsfrei – Es darf kein Paar m und m‘ geben, dass h(m) = h(m‘) ergibt (mit m‘ ≠ m)
Beispiele für Hashfunktionen und deren Länge
- MD5 – 128 Bit
- SHA-1 – 160 Bit
- RIPE-MD-160 – 160 Bit
Merkle-Damgard-Schema
Was ist das Merkle-Damgard-Schema?
- Eine Umsetzung von iterativen Hashverfahren
- Die Hashfunktion wird blockweise angewandt statt n Zeichen zu akzeptieren
- Wegen den Blöcken wird auch hier Padding benötigt (Blöcke nummeriert von 1 bis t)
- Die Kompressionsfunktionen sind modifizierte Blockchiffren wie AES
- Zu Beginn wird ein Initialisierungsvektor bzw. Start-Hash H0 benötigt
- Das Ergebnis von h(m) ist Ht

Was ist der Message Integrity Check (MIC)?
- Beispiel für eine iterative Hashfunktion nach Merkle-Damgard
- Wird zur Sicherung der Integrität bei WPA2 genutzt
- Setzt deshalb auch AES als Blockchiffre ein mit 128 Bit
- Wird auch AES CBC-MAC (CBC Message Authentication Code) genannt
- Die höchsten 64 Bit des letzten Ergebnisses ergeben den MIC

Integrität mittels Modification Detection Code (MDC)
Wie funktioniert der MDC?
- Aus dem Dokument wird ein einmaliger Message Digest erzeugt
- Funktioniert ohne geheimen Schlüssel
- Der Digest wird über einen sicheren Kanal verschickt
- Das Dokument wird über einen unsicheren Kanal verschickt
- Der Empfänger erstellt den Digest zu dem Dokument und vergleicht diesen

Warum wird der Digest nicht mit der Nachricht verschickt?
- Digest und Dokument werden über einen unsicheren Kanal verschickt
- Angreifer fängt die Nachricht ab
- Der Angreifer ersetzt das Dokument durch eine Fälschung
- Der Digest für das falsche Dokument ersetzt den eigentlichen Digest
- Er leitet beides weiter zum Empfänger
- Der Empfänger besitzt nun ein Dokument mit gültigem Digest
Authentizität mittels Message Authentication Code (MAC)
Was ist der MAC?
- Message Digest in den ein Geheimnis integriert wird
- Im Gegensatz zum MDC ist das Geheimnis nur Absender und Empfänger bekannt
- Der MAC stellt also gleichzeitig Integrität und Authentizität sicher
- Im Gegensatz zum MDC kann der MAC über den unsicheren Kanal übermittelt werden

Welche MAC-Verfahren gibt es?
- Beim Präfix-MAC kommt der Schlüssel vor das Dokument
- Beim Postfix-MAC kommt der Schlüssel ans Ende des Dokuments
- Präfix und Postfix können kombiniert werden
- Nested MAC (HMAC)
Was ist der Nested MAC?
- Schlüssel und Dokument werden zusammen gefügt
- Der Schlüssel wird mit dem intermediären Digest verbunden
- Daraus wird der endgültigen Digest erzeugt

Was ist der Nested MAC?
- Das Dokument wird in Blöcke der Größe b unterteilt
- Dem geheimen Schlüssel wird mit führenden 0-Bits auf Länge b gebracht
- Das Ergebnis von Schritt 2 wird per XOR mit der Konstanten ipad verknüpft
- Der resultierende Block wird der Nachricht vorangestellt
- Das Ergebnis von Schritt 4 wird gehasht, um einen n-bit Digest zu bilden (intermediate HMAC)
- Der intermediäre HMAC wird mit führenden 0-Bits auf Länge b gebracht
- Die Schritte 2 und 3 werden mit der Konstante opad wiederholt
- Das Ergebnis von Schritt 7 wird vor den Block aus Schritt 6 gesetzt
- Das Ergebnis von Schritt 8 wird gehasht um den endgültigen HMAC der Länge n zu erhalten

Digitale Signatur
Eine digitale Signatur, auch digitales Signaturverfahren, ist ein asymmetrisches Kryptosystem, bei dem ein Sender mit Hilfe eines geheimen Signaturschlüssels zu einer digitalen Nachricht einen Wert berechnet, der ebenfalls digitale Signatur genannt wird. Dieser Wert ermöglicht es jedem, mit Hilfe des öffentlichen Verifikationsschlüssels die nichtabstreitbare Urheberschaft und Integrität der Nachricht zu prüfen. Um eine mit einem Signaturschlüssel erstellte Signatur einer Person zuordnen zu können, muss der zugehörige Verifikationsschlüssel dieser Person zweifelsfrei zugeordnet sein.
Einsatz von digitalen Signaturen
Wofür braucht man Signaturen?
- Sender und Empfänger authentisieren sich gegenseitig, damit niemand Schaden erleidet
- Signaturen leisten also Integrität, Authentizität und Unwiderrufbarkeit
Worin unterscheiden sich also digitale Signaturen von MACs?
- Der verwendete Schlüssel beim Signieren ist der private Schlüssel
- Der Empfänger braucht nur den öffentlichen Schlüssel zum Prüfen der Signatur
Unterschiede zu konventionellen Signaturen
Was ist der Unterschied zwischen konventioneller und digitaler Signatur?
| Konventionell | Digital | |
|---|---|---|
| Ziel | Unwiderrufbarkeit | |
| Form | Unterschrift oder Siegel | Digitale Signatur |
| Einbettung | Einheit von Dokument und Signatur | Getrennte eigene Datenstrukturen |
| Manipulierte Kopie | Schwer | Einfach |
| Unterscheidbarkeit | Einfach | Schwer |
| Informationsgehalt | Persönliche Handschrift | Geheimes Kennwort und Dokumentendaten |
| Beziehung | 1:n (lose verbunden) | 1:1 (untrennbar verbunden) |
| Verifizierung | Vergleich mit hinterlegter Unterschrift | Wird im folgenden erläutert |
Signatur- und Verifikationsprozess
Wie ist der Ablauf des digitalen Signierens und Verifizierens?
- Mehrere kennen das Geheimnis → Kein öffentlicher Einsatz
- Nur einer kennt das Geheimnis → Öffentlicher Einsatz
- Der Empfänger muss den Signaturalgorithmus kennen

Wer erstellt Signaturen?

Signaturen durch zentrale Autorität
Welche Voraussetzungen gibt es?
- Einsatz von symmetrischer Verschlüsselung
- Gruppe besteht aus den Mitgliedern Alice, Bob und Big Brother
- Jedes Mitglied wählt einen symmetrischen Schlüssel KM
- Alle Schlüssel werden sicher bei Big Brother abgeliefert
- Big Brother ist vertrauenswürdig
- Big Brother kennt die Schlüssel aller Teilnehmer
- Niemand kennt den Schlüssel von Big Brother
Wie läuft es ab?
- Alice will signierte Nachricht KA(B, RA, t, P) an Bob schicken
- Big Brother entpackt diese Nachricht bei Empfang
- Big Brother erzeugt eine Signatur KBB(A, t, P)
- Big Brother schickt die Nachricht KB(A, RA, t, P, KBB(A, t, P)) an Bob
- Bob entpackt die Nachricht und vertraut dem Inhalt
- Bei Bedarf beweist Big Brother die Signatur vor Gericht

Welche Probleme gibt es?
- Big Brother kann alle Nachrichten lesen
- Big Brother könnte sich als jeder Teilnehmer ausgeben
Einfache Urheber-Signaturen
Welche Voraussetzungen gibt es?
- Einsatz von asymmetrischen Verschlüsselungen wie RSA
- Das gesamte Dokument wird dabei signiert (bzw. verschlüsselt)
- Bedingung D(E(P)) = P = E(D(P))
Wie funktioniert es?
- Alice wendet ihren privaten Schlüssel an
- Alice wendet Bobs öffentlichen Schlüssel an
- Alice sendet die Nachricht ab
- Bob wendet seinen privaten Schlüssel an
- Bob wendet Alices öffentlichen Schlüssel an
- Bob erhält P (Nachweis, dass er der Empfänger und Alice der Absender ist)

Welche Probleme kann es geben?
- Privater Schlüssel ist (angeblich) bekannt geworden
- Schlüssel werden periodisch gewechselt (Alte Signaturen ungültig)
- Asymmetrisches Verschlüsseln des kompletten Dokuments ist ineffizient
Effiziente Urheber-Signaturen
Wie funktioniert es?
- Aus dem Dokument wird ein Message Digest erzeugt (Hashfunktion)
- Statt des Dokuments wird der Digest mit dem privaten Schlüssel signiert
- Alice schickt P und DA(MD(P)) zu Bob
- Bob entpackt MD(P) mittels EA(MD(P))
- Bob berechnet aus MD(P) und vergleicht diesen
