-
Die Erfindung betrifft ein Verfahren zum sicheren Austausch von Daten zwischen einer ersten Partei A und einer zweiten Partei B in einem Kommunikationssystem, wobei ein kryptographischer Schlüssel k nach einem Schlüsselvereinbarungsprotokoll SP erzeugt wird.
-
Stand der Technik
-
Aus der
WO 2008/037742 A1 ist ein Authentifikationsverfahren zwischen Teilnehmern eines Kommunikationssystems bekannt. Bei dem Authentifizierungsverfahren wird ein Authentifikationsprotokoll eingesetzt, bei dem sich ein erster Teilnehmer und ein zweiter Teilnehmer gegenseitig authentifizieren, wobei das Authentifikationsverfahren ein asymmetrisches Verschlüsselungsprotokoll auf Basis elliptischer Kurven nutzt. Dieses Verfahren hat gegenüber anderen Verfahren den Vorteil, dass die erforderlichen Bitmengen für die Authentifizierung erheblich kürzer sind, was eine geringere Bandbreite zur Folge hat. Nachteilig ist hierbei jedoch, dass das Authentifikationsprotokoll unabhängig von dem Verschlüsselungsprotokoll ist. Diese Unabhängigkeit der Protokolle kann eine Reihe von Angriffsmöglichkeiten implizieren.
-
Offenbarung der Erfindung
-
Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren und ein Kommunikationssystem zum sicheren Austausch von Daten zwischen einer ersten Partei A und einer zweiten Partei B in diesem System bereitzustellen, wobei bereits das Authentifikationsverfahren sicher und uneinsehbar abläuft, auch wenn sich die beiden Parteien A und B nicht kennen.
-
Zur Lösung dieser Aufgabe wird ein Verfahren mit den Merkmalen des Anspruchs 1 vorgeschlagen, insbesondere mit den Merkmalen des jeweiligen kennzeichnenden Teils. In den abhängigen Ansprüchen sind bevorzugte Weiterbildungen ausgeführt. Das erfindungsgemäße Kommunikationssystem wird durch den Anspruch 10 beschrieben.
-
Vorteilhafte Weiterbildungen der Erfindung sind jeweils in den Unteransprüchen offenbart. Dabei können die in den Ansprüchen und in der Beschreibung erwähnten Merkmalen jeweils für sich oder in Kombination erfindungswesentlich sein. Merkmale und Details, die im Zusammenhang mit dem erfindungsgemäßen Verfahren beschrieben sind, gelten dabei selbstverständlich auch im Zusammenhang mit dem erfindungsgemäßen Kommunikationssystem und umgekehrt.
-
Bei dem erfindungsgemässen Verfahren ist vorgesehen, dass der kryptographische Schlüssel k über eine Funktion h zu einem Schlüssel dk abgeleitet wird, wobei der abgeleitete Schlüssel dk in ein Authentifikationsprotokoll AP einfließt.
-
Die Erfindung zeichnet sich durch eine Kopplung eines Schlüsselvereinbarungsprotokoll SP mit einem Authentifikationsprotokoll AP aus. Sicherheitsprotokolle sind für eine sichere Kommunikation in einem Kommunikationssystem, insbesondere im Internet, essenziell geworden. Der vertrauenswürdige und uneinsehbare Austausch von Daten zwischen zumindest zwei Parteien, insbesondere zwischen einem Client CI und einem Server S in Webapplikationen, trägt zu einer größeren Akzeptanz von Nutzern des Internets bei. Zur Authentifizierung des Servers S und zur Schlüsselvereinbarung zwischen dem Client CI und dem Server S kann dass TLS(Transport Layer Security)-Protokoll zum Einsatz kommen, welches eine Weiterentwicklung des SSL(Secure Sockets Layer)-Protokoll ist. Dabei authentifiziert sich der Server S über ein X.509-Zertifikat im Rahmen eines SSL-Handshakes und zwischen dem Client CI und dem Server S wird ein kryptographischer Schlüssel k ausgehandelt. Um mögliche Angriffe von außen gegen diese Protokolle SP und AP, wie zum Beispiel Pishing- oder Man-in-the-Middle-Angriffe, wirkungsvoll zu verhindern, erfolgt die Kopplung der unabhängigen Protokolle SP und AP über einen abgeleiteten kryptographischen Schlüssel dk, der in das Authentifikationsprotokoll AP einfließt. Weiterhin ist vorteilhaft, dass bereits bestehende Implementierungen von Sicherheitsprotokollen in Kommunikationsnetzwerken nicht abgeändert werden müssen und das Verfahren somit darauf aufbaut. Zudem kann das Verfahren für einen vertrauenswürdigen Austausch von Daten zwischen zwei Parteien herangezogen werden, die zuvor keine Daten, insbesondere Passwörter und/oder Authentifizierungsdaten, ausgetauscht haben. Folglich können auch zwei oder mehrere unbekannte Parteien, die sich vorher noch nicht kannten, sicher und vertrauenswürdig Daten austauschen. Weiterhin kann das erfindungsgemäße Verfahren in Netzwerken zum Tragen kommen, die keinen direkten Zugang zum Internet haben, so dass auch ein Einsatz in einem LAN (Local Area Network), WAN (Wide Area Network), WLAN (Wireless LAN) oder VLAN (Virtual LAN) vorstellbar ist.
-
Unter einem sicheren und vertrauenswürdigen Datenaustausch im Sinne dieser Erfindung wird verstanden, dass die zuvor genannten Angriffe, wie zum Beispiel Pishing- oder Man-in-the-Middle-Angriffe, wirkungsvoll verhindert werden. Somit können vielleicht außenstehende Dritte die verschlüsselten Daten zwischen A und B empfangen, jedoch können sie diese nicht lesen, da sie die Daten nicht entschlüsseln können und den Schlüssel auch nicht abfangen können.
-
Besonders vorteilhaft ist, dass der abgeleitete Schlüssel dk an eine Zufallszahl r angefügt wird, wobei eine abgeleitete Zufallszahl r' nach der Beziehung r' = f(dk, r) erstellt wird, wobei die Zufallszahl r in das Authentifikationsprotokoll AP einfließt und f eine Berechnungsvorschrift darstellt. Dadurch wird wirkungsvoll die Sicherheit des Schlüsselvereinbarungsprotokolls SP und des Authentifikationsprotokolls AP gewährleistet.
-
Durch das Schlüsselvereinbarungsprotokoll SP kann garantiert werden, dass ein gemeinsamer kryptographischer Schlüssel k zwischen der Partei A und der Partei B ausgetauscht wird. Im Falle eines Angriffes in das Schlüsselvereinbarungsprotokoll SP durch eine nicht autorisierte Partei C, wie dies zum Beispiel durch ein Man-in-the-Middle-Angriff der Fall sein kann, würde die Partei A einen ersten modifizierten Schlüssel k' und die Partei B einen zweiten modifizierten Schlüssel k'' von der Partei C übermittelt bekommen. Im Anschluss daran, kann ein sicheres Authentifikationsprotokoll AP garantieren, dass die Authentifizierung nur dann erfolgreich ist, wenn keine ausgetauschten Nachrichten modifiziert wurden. Die Partei A und die Partei B würden im Falle eines Angriffes die Zufallszahl r zur Verifikation der empfangenen Nachrichten verwenden, so dass Partei A zur Verifikation die Beziehung r' = f(dk', r) und Partei B zur Verifikation die Beziehung r'' = f(dk'', r) heranzieht. Dementsprechend müsste der Angreifer, die Partei C, den Wert r durch einen Wert r* modifizieren, so dass die Gleichung f(dk', r) = f(dk'', r*) erfüllt sein muss. Durch eine geeignete Wahl der Berechnungsvorschrift f kann dies wirkungsvoll verhindert werden.
-
Weiterhin ist vorteilhaft, dass das Authentifikationsprotokoll AP zur Authentifizierung einen Wert s berechnet, der aus dem abgeleiteten Schlüssel dk, der Zufallszahl r und weiteren Informationen aux berechnet wird, wobei zur Authentifizierung der ersten Partei A die zweite Partei B eine zweite Zufallszahl rb an die erste Partei A sendet, wobei die zweite Zufallszahl rb zusammen mit dem abgeleiteten Schlüssel dk zu einem zweiten Wert sb von der ersten Partei A berechnet wird und zur zweiten Partei B gesendet wird, wobei sich der zweite Wert nach der Beziehung sb := fa(ka, h(dk, rb), auxa) ergibt und fa eine erste Berechnungsvorschrift ist
und/oder
eine Authentifizierung der zweiten Partei B derart erfolgen kann, dass die erste Partei A eine erste Zufallszahl ra an die zweite Partei B sendet, wobei die erste Zufallszahl ra zusammen mit dem abgeleiteten Schlüssel dk zu einem ersten Wert sa von der zweiten Partei B berechnet wird und zur ersten Partei A gesendet wird, wobei sich der erste Wert nach der Beziehung sa := fb(kb, h(dk, ra), auxb) ergibt und fb eine zweite Berechnungsvorschrift ist. Die Zufallszahlen ra und rb werden auch als Challenge-Werte bezeichnet. Durch die Wahl eines zuverlässigen Zufallsalgorithmus kann mit großer Wahrscheinlichkeit davon ausgegangen werden, dass diese noch nie zuvor gesendet wurden. Allerdings können sich A und B auch „out-of-band” auf einen Zählerstand geeinigt haben, der als Challenge-Wert dient. Durch die Beziehungen sa und sb kann nun ein authentifiziertes Schlüsselvereinbarungsprotokoll erstellt werden. Dabei können die erste Berechnungsvorschrift fa und die zweite Berechnungsvorschrift fb gleich sein.
-
Weiterhin hat es sich als vorteilhaft erwiesen, dass die Funktion h zur Erstellung eines abgeleiteten Schlüssels dk eine Einwegfunktion oder eine Pseudozufallsfunktion oder eine Hashfunktion ist, wobei die Hashfunktion insbesondere nach einem der folgenden Standards implementiert ist: MD2, MD4, MD5, SHA, RIPEMD-160, Tiger, HAVAL, Whirlpool, LM-Hash oder NTLM. Hashfunktionen bilden aus Daten, z. B. aus Dokumenten, einen Hashcode, der für diese Daten eindeutig ist. Damit kann die Authentizität beim Empfänger prüfbar gemacht werden, ohne den Inhalt der Daten zu kennen. Besonders hervorzuheben ist hierbei der nicht reversible MD5-Algorithmus, der häufig in der Datenverarbeitung eingesetzt wird.
-
Zudem ist denkbar, dass die Zufallszahl r bei jeder Authentifizierung geändert wird. Dadurch kann wirkungsvoll verhindert werden, dass nur ein einziger Wert r für mehrere Authentifizierungen zwischen Partei A und B genutzt werden kann. Einem potentiellen Angreifer wird es zudem unmöglich gemacht durch einen einmalig gültig mitgelesenen Wert r, diesen als Angriff für alle zukünftigen Authentifizierungen zwischen Partei A und B zu nutzen.
-
Zudem ist vorteilhaft, dass der kryptographische Schlüssel k über ein asymmetrisches oder symmetrisches Schlüsselvereinbarungsprotokoll, insbesondere über ein Diffie-Hellmann-Schlüsselaustausch-Protokoll erstellt wird. Grundlage des Diffie-Hellmann-Schlüsselaustausches ist es, dass es nahezu unmöglich ist, Logarithmen modulo einer großen Primzahl p zu berechnen. Symmetrische Verschlüsselungsverfahren verwenden für die Ver- und Entschlüsselung den gleichen Schlüssel und sind in der Regel schneller als asymmetrische Verschlüsselungsverfahren. Zudem können die symmetrischen Verschlüsselungsverfahren mit vergleichsweise kürzeren Schlüsseln eine hohe Sicherheit erreichen. Für jedes Paar von Personen, die geheime Nachrichten austauschen wollen, wird ein eigener Schlüssel benötigt. Allgemein werden für eine Kommunikation von N Personen N·(N – 1)/2 Schlüssel benötigt. Die Anzahl der Schlüssel kann über einen zentralen Schlüsselserver reduziert werden. Es können auch hybride Verschlüsselungsverfahren herangezogen werden, die aus einem symmetrischen und einem asymmetrischen Verschlüsselungsverfahren aufgebaut sind. Diese können einen zufälligen Session-Key ermitteln, der zur Verschlüsselung der zu verschickenden Nachricht benutzt werden kann. Danach wird der Session-Key mit einem asymmetrischen Verfahren wie RSA verschlüsselt und kann an die Nachricht angefügt werden.
-
Besonders vorteilhaft ist, dass zur Bestimmung des gemeinsamen Schlüssels k, der zwischen der Partei A und der Partei B zur Sicherung einer Verbindung im Kommunikationssystem genutzt wird, als Schlüsselvereinbarungsprotokoll ein TSL bzw. ein SSL-Protokoll verwendet wird. Dabei bildet TSL eine Schicht zwischen den Applikationsprotokollen wie HTTP, SMTP, FTP, Telnet und NNTP und dem Transportprotokoll TCP/IP. Hauptsächlich wird es von HTTPS benutzt. TSL kann dabei eine Ende-zu-Ende-Verschlüsselung mittels symmetrischer Algorithmen bilden. Das TSL-Protokoll besteht aus dem SSL-Handshake-Protokoll und dem SSL-Record-Protokoll. Dabei kann jedes höhere Protokoll auf Basis des TSL-Protokolls implementiert werden. Dies kann eine Unabhängigkeit von Anwendungen und Systemen gewährleisten. Zudem wird von nahezu allen Servern und Internet-Browsern, wie z. B. Mozilla Firefox, Internet Explorer oder Opera, TSL unterstützt.
-
Weiterhin ist es denkbar, dass die zweite Partei B ein Server S ist und die erste Partei A ein Client CI ist, die beide über einen gemeinsamen kryptographischen Schlüssel k verfügen, wobei der Client CI über einen Nutzernamen N und ein Passwort PW zur Identifizierung verfügt, wobei der Nutzername N unverschlüsselt zum Server S übertragen wird und das Passwort PW als Wert c nach der Beziehung c := MACk(pw) an den Server S übertragen, wobei der Server S die Berechnung des Wertes c über die Beziehung c := MACdk(pw') mit dem bekannten abgeleiteten kryptographische Schlüssel dk und dem bekannten Wert pw' vornimmt, wobei eine MAC(Method Authentification Code)-Methode zum Einsatz kommen kann, die die Integrität der Informationen gewährleistet. Dadurch können Man-in-the-Middle-Angriffe auf die Authentifikation nahezu unmöglich gemacht werden. Eine sichere Eingabemöglichkeit für das Passwort kann zudem einfache Pishing-Angriffe ausschließen.
-
Zudem ist es denkbar, dass die zweite Partei B ein Server S ist und die erste Partei A ein Client CI mit einem Chip-Authentifikationsprotokoll CAP ist, wobei das SSL-Protokoll den abgeleiteten kryptographischen Schlüssel dk über das Chip-Authentifikationsprotokoll an den Server S und den Client CI sendet und auf Client-Seite der Schlüssel dk in eine Signatur mit einbezogen wird, welche zum Server gesendet wird, so dass der Schlüssel dk in der Signatur vom Server S über eine Signaturverifikation bestimmt wird und über das Chip-Authentifikationsprotokoll bestimmt wird, so dass bei einer Übereinstimmung der beiden ermittelten Schlüssel dk eine Signaturüberprüfung erfolgreich ist. Dabei kann dieses Verfahren zum Einsatz in elektronischen Personalausweisen kommen, in denen dieses Chip-Authentifikationsprotokoll Verwendung findet. Dadurch kann wirkungsvoll ein Man-in-the-Middle-Angriff erkannt werden, so dass eine sichere Authentifizierung des elektronischen Personalausweises gewährleistet werden kann.
-
Ebenfalls ist die Erfindung auch auf ein Kommunikationssystem nach Anspruch 10 und/oder 11 gerichtet.
-
Weitere Maßnahmen und Vorteile der Erfindung ergeben sich aus den Ansprüchen, der nachfolgenden Beschreibung und den Zeichnungen. Ebenfalls gelten die offenbarten Merkmale aus dem erfindungsgemäßen Verfahren auf für die erfindungsgemäße Vorrichtung und umgekehrt. In den Zeichnungen ist die Erfindung in Ausführungsbeispielen dargestellt. Dabei können die in den Ansprüchen und in der Beschreibung erwähnten Merkmale jeweils einzeln für sich oder in beliebiger Kombination erfindungswesentlich sein.
-
Es zeigt:
-
1 ein Diagramm, welches das erfindungsgemäße Verfahren darstellt.
-
In 1 ist schematisch ein Diagramm dargestellt, bei dem auf der Seite einer Partei A und auf der Seite einer Partei B jeweils ein Schlüsselvereinbarungsprotokoll SP und ein Authentifikationsprotokoll AP implementiert ist. Das Schlüsselvereinbarungsprotokoll SP von Partei A vereinbart mit dem Schlüsselvereinbarungsprotokoll SP von Partei B einen gemeinsamen Schlüssel k. Da der vereinbarte Schlüssel k in der Regel zu wichtig ist, um ihn direkt in das Authentifikationsprotokoll AP einfließen zu lassen wird der Schlüssel k über eine Funktion, insbesondere einer Hashfunktion, einer Einwegfunktion oder Pseudozufallsfunktion, zu einem Schlüssel dk abgeleitet. Ein potenzieller Angreifer, wie z. B. bei einem Man-in-the-Middle-Angriff, kann aus der Kenntnis von dk nicht auf k schließen. In 1 ist der Wert k bei Partei A und Partei B gleich, so dass auch dk bei beiden Parteien identisch ist. Um Replay-Attacken ausschließen zu können, wird von dem Authentifikationsprotokoll AP eine Zufallszahl r generiert. Dabei kann der abgeleitete Schlüssel dk in geeigneter Form in diese Zufallszahl r einfließen. Dies kann dadurch geschehen, indem der abgeleitete Schlüssel dk an die Zufallszahl r angefügt wird, wobei eine abgeleitete Zufallszahl r' aus dem abgeleiteten Schlüssel dk und r über die Beziehung r' = f(dk, r) erzeugt wird. Der abgeleitete Schlüssel dk kann auch auf eine andere Art und Weise in das Authentifikationsprotokoll AP einfließen, allerdings müssen an dieser Stelle die Besonderheiten des Protokolls berücksichtigt werden. Die Sicherheit ergibt sich daraus, dass das Schlüsselvereinbarungsprotokoll SP und das Authentifikationsprotokoll AP als sicher zu betrachten sind. Das Schlüsselvereinbarungsprotokoll SP garantiert, dass Partei A und Partei B, die beide anonym sein können, nach Abschluss des Protokolls den gleichen vereinbarten Schlüssel k besitzen, und dass keine dritte Partei diesen Wert kennt. Wenn also ein Angreifer im Protokoll zwischen Partei A und Partei B interveniert, so haben Partei A und Partei B nach Abschluss des Schlüsselvereinbarungsprotokolls SP verschiedene Werte k' und k''. Das Authentifikationsprotokoll AP garantiert, dass die Authentifikation nur dann erfolgreich ist, wenn keine der ausgetauschten Nachrichten zwischen Partei A und Partei B modifiziert wurden. Partei A würde im Falle eines Angriffes den Wert r1 und die Beziehung r1' = f(dk', r1) zur Verifikation der empfangenen Nachrichten verwenden, während Partei B den Wert r1 empfangen würde, aber r1'' mit der Beziehung r1'' = f(dk'', r1) zur Berechnung der gesendeten Nachricht verwenden würde. Der Angreifer müsste den Wert r1 durch einen Wert r* ersetzen, so dass die Gleichung f(dk', r) = f(dk'', r*) erfüllt sein muss, was durch eine geeignete Wahl von f verhindert werden kann. Das Verfahren kann auch auf Gruppenschlüsselvereinbarungsprotokolle erweitert werden.
-
Bezugszeichenliste
-
- A
- erste Partei
- B
- zweite Partei
- k
- kryptographischer Schlüssel
- SP
- Schlüsselvereinbarungsprotokoll
- AP
- Authentifikationsprotokoll
- h
- Funktion
- dk
- abgeleiteter Schlüssel
- r
- Zufallszahl
- r'
- abgeleitete Zufallszahl
- f
- Berechnungsvorschrift
- s
- Wert
- aux
- weitere Informationen
- rb
- zweite Zufallszahl
- sb
- zweiter Wert
- fa
- erste Berechnungsvorschrift
- ra
- erste Zufallszahl
- sa
- erster Wert
- fb
- zweite Berechnungsvorschrift
- CI
- Client
- S
- Server
- PW
- Passwort
- c
- dritter Wert
- CAP
- Chip-Authentifikationsprotokoll
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-