Authentifizieren und Vertrauen schaffen Seminararbeit

Werbung
Institut für
Programmstrukturen
und Datenorganisation
(IPD)
Institut für Telematik
(ITM)
Institut für
Wirtschaftstheorie und
Operations Research
(WIOR)
Institut für
Wirtschaftspolitik und
Wirtschaftsforschung
(IWW)
Zentrum für Angewandte
Rechtswissenschaften
(ZAR)
Interdisziplinäres Seminar
Ausgewählte technische, rechtliche und ökonomische Aspekte
des Entwurfs von Fahrerassistenzsystemen
Authentifizieren und Vertrauen schaffen
Seminararbeit
von
Liang Chen
Sommersemester 2007
Betreuender Mitarbeiter:
Dipl.-Inform.Wirt Christoph Sorge
1 Einleitung
Vehicular Ad Hoc Networks (VANETs) können als Untergruppe der Mobile Ad Hoc Networks
(MANETs) verstanden werden, mit verschiedenen Fahrzeugen, wie z.B. PKWs, LKWs oder
Bussen, als Knoten im Netz. Heutzutage spielt die Kommunikation zwischen Fahrzeugen eine
immer wichtigere Rolle, weil sie viel dazu beiträgt, den Straßenverkehr sicherer, effizienter
und auch komfortabler zu gestalten. Der Austausch von Daten und Informationen zwischen
Fahrzeugen hilft Fahrern, verschiedene gefährliche Straßensituationen, wie z.B. Staus, Unfälle
oder Glatteis, frühzeitig zu erkennen, sodass darauf reagiert werden kann.
Ein Fahrzeugnetz (VANET) lässt verschiedene Fahrzeuge im Netz miteinander kommunizieren.
Sie können Daten austauschen, wie z.B. Strasseninformation oder Nachrichten. Die führt zu
einem neuen Problemfeld, nämlich der Sicherheit der Kommunikation. Wie kann man
- den Kommunikationspartner authentifizieren?
- untereinander Vertrauen schaffen?
- die Richtigkeit der empfangenen Nachrichten sichern?
- einen Angreifer identifizieren?
- sich selbst vor den laufenden Angriffen schützen?
Diese Problematik wird in der vorliegenden Arbeit erörtert. In Abschnitt 2 wird zunächst
betrachtet, aus welchen Komponenten ein VANET besteht und wie es funktioniert. Abschnitt 3
beschäftigt sich mit dem Authentifizierungsproblem im VANET und stellt einen geeigneten
Lösungsansatz – die Verwendung einer Public Key Infrastructure (PKI). Besser mit PKI
zusammen zu benutzen ist das Reputationssystem, um Vertrauen untereinander zu schaffen.
Dies wird im Abschnitt 4 vorgestellt. Schließlich ist noch zu beachten, dass in verschiedenen
Situationen Zertifikate von Schlüsseln ungültig werden können, sodass solche ungültigen
Zertifikate zurückgezogen werden müssen. Dazu sind schon einige Protokolle entwickelt und
eingesetzt worden, die man im Abschnitt 5 ansehen kann.
2
2
VANET
“A mobile ad hoc network (MANET) is an autonomous system of mobile
routers (and associated hosts) connected by wireless links – the union of
which form an arbitrary graph. The routers are free to move randomly and
organize themselves arbitrarily; thus, the network’s wireless topology may
change rapidly and unpredictably. Such a network may operate in a
standalone fashion, or may be connected to the larger Internet.” [Int02]
Wie in Abschnitt 1 gesagt, ist ein Fahrzeugnetz (VANET) ein spezielles MANET. Aus diesem
Grund ist die oben genannte Definition eines MANETs auch für den Begriff VANET geeignet.
Jedoch noch zu beachten: Es bedeutet aber nicht unbedingt, dass ein Fahrzeugnetz nur aus
Fahrzeugen besteht, sondern außer diesen mobilen Knoten (Fahrzeugen) gehören noch die
stationären Knoten dazu, nämlich die Basisstationen. Das ist ein typisches Fahrzeugnetz. (siehe
Abbildung 1) Alle Knoten kommunizieren miteinander über ein drahtloses Medium. Sowohl
zwischen den Fahrzeugen als auch zwischen den Fahrzeugen und den Basisstationen werden
die Unfallinformationen ausgetauscht, sodass die anderen Fahrer frühzeitig die Straßensituation
erfahren und darauf reagieren können.
Abbildung 1: Ein VANET (Fahrzeuge + Basisstationen) [RH06a]
3
Wie in Abbildung 1 gezeigt wird, können alle Fahrzeuge in einem Fahrzeugnetz beispielsweise
Straßeninformationen austauschen oder Touristinformationen herunterladen, sodass Staus und
Unfälle verhindert werden können und man viel Zeit und Geld sparen kann. In einem Satz, mit
Hilfe der Fahrzeugnetze wird der Straßenverkehr immer sicherer und effizienter.
Obwohl ein paar kryptografische Matrialien (wie z.B. Schlüssel, Zertifikat usw.) schon weit
eingesetzt werden, ist Sicherheit im Fahrzeugnetz immer ein großes Problem auf folgenden
Gründen:
- das Netz ist drahtlos
- die mobilen Knoten im Netz, nämlich die Fahrzeuge bewegen sich normalerweise
in hoher Geschwindigkeit
- unter allen Knoten im Netz werden Daten ausgetauscht und Informationen
mitgeteilt
Außerdem ist es immer wichtig, Sender der Nachrichten zu authentifizieren, um Angriffe mit
bösartigen Nachrichten zu verhindern.
4
3
Authentifizierung
Wie schon gesagt, im Fahrzeugnetz ist Sicherheit ein besonders großes Problem. Abbildung 2
gibt uns einen Überblick der Sicherheitsarchitektur eines Fahrzeugnetzes, und darin sieht man
einige wichtige Komponenten, Event data recorder, Tamper-proof device und Certificate
Authority, die gleich erklärt werden.
Abbildung 2: Ueberblick der Sicherheitsarchitektur [RH06a]
EDR & TPD
In jedem Fahrzeug gibt es zwei sehr wichtige Komponenten.
Die erste ist Event data recorder (EDR). EDR sorgt dafür, kritische Daten eines Fahrzeugs zu
speichern, wie z.B. Zeit, Position, Richtung, Geschwindigkeit, Beschleunigung usw. In den
Notfällen funktioniert es ganz ähnlich wie ein „black box“ im Flugzeug. [RH06a]
5
Die zweite Komponente heißt Tamper-proof device (TPD). TPD ist für normale Fahrer isoliert,
weil kryptographische Materialien in TPD gespeichert und geschützt werden. Das folgendes
wird in TPD jedes Fahrzeugs gespeichert:
- eine einzigartige und zertifizierte Identität: Eletronic License Plate (ELP), die von
der Regierung oder alternativ eine Electronic Chassis Number (ECN), die vom
Hersteller des Fahrzeugs ausgegeben wird. Damit ist sehr leicht, ein Fahrzeug zu
identifizieren.
- eine Reihe von anonymen öffentlichen/privaten Schlüsselpaaren, die von einer
sogenannten Zertifizierungsinstanz (Certificate Authority, kann sowohl Regierung
als auch Hersteller sein, siehe unteren Abschnitt „CA“) zertifiziert werden.
[RH05a]
Außerdem übernimmt TPD noch die kryptographischen Operationen, insbesondere sichere
Nachrichten zu signieren bzw. Sicherheit empfangener Nachrichten zu verifizieren. [RH05a]
Da TPD unabhängig von der außen Umgebung sein muss, hat es seine eigene Uhr und Batterie,
damit es im Notfall auch im Arbeitszustand bleiben kann. [RH05a]
CA
Certificate Authority (CA), auf Deutsch Zertifizierungsinstanz. Von eier Zertifizierungsinstanz
werden alle Zertifikate von Schlüsseln ausgegeben.
Außerdem muss bei der Zertifizierungsinstanz folgendes gemacht werden:
- Bevor der Sender ein Schlüssel verwendet, muss er diesen Schlüssel zertifizieren
lassen.
- Nachdem ein Knoten zum ersten Mal von einem Sender eine Nachricht empfangen
hat, muss er vor allem den drin verwendeten Schlüssel verifizieren lassen.
Da alle Funktionen einer Zertifizierungsinstanz engen Zusammenhang mit den Schlüsseln (Key)
von Fahrzeugen haben, wird die Zertifizierungsinstanz eine typische Komponente einer Public
Key Infrastruktur (PKI) gesehen.
Verwendung einer PKI
Es scheint ein wichtiger Punkt in einem Fahrzeugnetz, nämlich Sender der Nachrichten zu
authentifizieren. Dazu verwendet man die sogenannte Public Key Infrastruktur (PKI). Jeder
Knoten (Fahrzeug) besitzt mindestens ein öffentliches/privates Schlüsselpaar, nämlich einen
privaten Schlüssel (private key) und einen zugehörigen öffentlichen Schlüssel (public key), der
mit Hilfe der PKI in einem Zertifikat einer Identität zugeordnet wird.
Mit einem einfachen Beispiel kann man die Verwendung einer PKI besser verstehen: Befor ein
Knoten V eine sichere Nachricht M sendet, signiert er sie mit seinem privaten Schlüssel
und dem zugehörigen Zertifikat
.
6
Hier steht „*“ für alle Empfänger der Nachricht und „T“ für die Zeitstempel. [RH05a]
Wenn irgendein Knoten diesen Nachricht empfängt, muss der Empfänger zuerst mit Hilfe des
Zertifikats den öffentlichen Schlüssel des Senders verifizieren, und dann mit Hilfe dieses
öffentlichen Schlüssels die Authentifizierung (Signatur) des Senders verifizieren. Wenn alles
richtig gelaufen ist, wird M erst als eine authentische Nachricht angenommen.
7
4
Vertrauen und Reputation
Im Abschnitt 3 wird gezeigt, wie den Sender der Nachrichten zu authentifizieren. Aber bei der
Verwendung einer PKI existiert das folgende Problem: Obwohl die Identität eines Senders
schon authentifiziert worden ist, kann der Empfänger immer noch nicht feststellen, ob die von
diesem Sender gesendeten Nachrichten vertraubar sind. D.h. die Verwendung einer PKI
kümmert sich nicht um die Qualität der Nachrichten, die in den Kommunikationen zwischen
Fahrzeugen aber nicht eine unwichtigere Rolle spielt, typischerweise beim Empfang einer
Nachricht über kritische Straßeninformationen, wie z.B. Staus oder Unfälle. Dabei muss sich
ein Knoten zwischen den vertraubaren und nicht vertraubaren Knoten unterscheiden. Um
Vertrauen (Trust) zu schaffen, wird das Reputationssystem verwendet.
„Trust – a peer’s belief in another peer’s capabilities, honesty and
reliability based on its own direct experiences;
Reputation – a peer’s belief in another peer’s capabilities, honesty and
reliability based on recommendations received from other peers. “
Ein Reputationssystem kann sowohl zentral als auch dezentral sein. Unter einem
zentralen Reputationssystem versteht man, dass die Reputation der Knoten von einem
zentralen vertrauenswürdigen „dritte Partei“ berechnet bzw. gespeicht wird. Für ein
Ad-Hoc (dezentral) Netz wie das Fahrzeugnetz ist es nicht gut geeignet. Als bessere
Möglichkeit steht das dezentrales Reputationssystem: Die Reputation wird dezentral
und unabhängig von jeden Knoten selbst berechnet. Jedesmal nach einem
Kommunikationsvorgang wird sich die beiden Kommunikationspartner gegenseitig
bewerten, anhand solcher Reputationsdaten kann ein Knoten nachher bei einer neuen
Kommunikation die Vertraubarkeit seines Partners erfahren, und damit betrogene
Nachrichten rechtzeitig entdecken.
8
5
Zurückziehen von Zertifikaten
Jedes ausgegebene Zertifikat wird in einem bestimmten Zeitraum gelten. Aber in ihrer
Lebensdauer können nicht vorhersehbare Situationen auftreten [RH06] :
- Schlüssel sind gebrochen worden.
- CA entdeckt fehlerhafte Zertifikate, die aber schon ausgegeben werden.
- Von einem Knoten werden immer bösartige Nachrichten gesendet. (d.h. Angreifer
möglich)
- Das Registrierungsdomain muss regelmässig geändert werden.
Bei solchen Situationen müssen die zugehörigen Zertifikate zurückgezogen werden. Dazu
werden schon einige Protokolle entwickelt und eingesetzt.
CRL
Am einfachsten ist es, CRL (Certificate Revocation Lists) zu verwenden. In solchen
Widerrufslisten sind alle zurückzuziehenden Zertifikate enthalten. Üblicherweise können
gleichzeitig noch die kurzlebendigen Zertifikate verwendet werden, die automatisch Schlüssel
zurückziehen.
CRL ist einfach und wird auch sehr weit benutzt. Aber wegen der großen Anzahl der
Automobile und ihrer hohen Mobilität können diese Widerrufslisten in kurzer Zeit sehr lange
werden. Deswegen ist es für das Fahrzeugnetz nicht ganz geeignet. Glücklicherweise existieren
noch andere bessere Lösungen.
RCCRL
RCCRL (Revocation using Compressed Certificate Revocation Lists) ist eine Variante von
CRL. Die beiden funktionieren ganz ähnlich. Der Unterschied liegt nur darin, dass bei RCCRL
die Widerrufslisten (wie bei CRL) zuerst komprimiert werden und erst dann ins ganze Netz
übertragen werden können, wie in der Abbildung 3 gezeigt wird.
9
Abbildung 3 : RCCRL [RH06a]
Um Widerrufslisten zu komprimieren, wird das sogenannte Bloom filter (eine
Möglichkeitsdatenstruktur) benutzt, damit zu überprüfen, ob ein element zu einer Menge
gehört.
Ein Bloom filter (Abbildung 4) besteht aus eine Reihe von m Bits, die alle am Anfang als
„0“ gesetzt werden (Vektor). [B70] Jeder Element hat seine eigene k-Hash-Funktion, die die
entsprechenden Bits „1“ setzt. [RH06b]
Abbildung 4 : Bloom filter [RH06a]
10
Bei der Überprüfung muss ein Teilnehmer nur die gehashten Bits zu vergleichen. Wenn
mindestens ein Bit „0“ ist, das eigentlich aber „1“ sein soll, dann bedeutet das, dass dieses
Element nicht in Bloom filter enthalten ist.
Durch ein ganz simples Beispiel wird es noch mal erklärt. (Abbildung 5) Wir haben jetzt ein
Bloom filter mit 18 Bits und die Hash-Funktion für jedes Element N. Element 1, 4 und 6
enthält das Bloom filter, d.h. für Element 1 werden die gehashten k*1 Bits, nämlich Bit 1,2 und
3 von „0“ als „1“ gesetzt. Für Element 4 und 6 ist analog. Bit 12 wird zwei Mal gesetzt und
bleibt als „1“. Jetzt wenn ein Element überprüfen möchte, ob es selbst im Bloom filter
enthalten ist, braucht nur die gehashten Bits verglichen zu werden. Bei Element 1, 4 und 6 ist
es kein Thema. Bei Element 3 werden dadurch Bit 3, 6 und 9 verglichen, und es entdeckt, dass
Bit 9 ist unverändert, also immer „0“ bleibt, dann kann Element 3 schon feststellen, dass es
nicht drin ist. Bei Element 2 sieht aber anders aus: alle gehashten Bits sind „1“, aber alle
wurden für andere Elemente gesetzt. Obwohl der Bloom filter eigentlich Element 2 nicht
enthält, glaubt Element 2, dass selbst im Bloom filter enthalten ist. Das führt zu „overkill“.
Aber wie gesagt, dieses Beispiel ist ganz simple. In der realität werden längere Bloom filter
und viel komplizierte Hash-Funktionen verwendet. Solche „false positives“ wie Element 2 im
Beispiel kann man nicht mit Sicherheit vermeiden, aber wegen der ganz Minderheit solcher
Fälle ist dies aus Sicherheitssicht akzeptable.
Abbildung 5 : Beispiel für Bloom filter
RTPD
Es kann solche besondere Situation geben, dass alle Schlüssel eines Fahrzeugs zurückgezogen
werden müssen. (z.B. das Fahrzeug wird schon als Angreifer identifiziert.) Hier ist nicht noetig,
RCCRL zu benutzen. Die Protokolle namens RTPD (Revocation of the Tamper-Proof Device)
ist viel einfacher und effizienter. (Abbildung 6 )
Das CA erzeugt eine Nachricht für das TPD des Fahrzeugs (M), in dieser Nachricht ist M’s
einzigartige Identität Electronic License Plate (ELP) enthalten. Dann wird die Nachricht dem
11
Fahrzeug auf drei unterschiedlichen Weisen gesendet, je nach dem, ob CA die genaue
Positionsinformation des Fahrzeugs hat. [RH06b]
- CA weiss M’s Position: die Nachricht wird sofort zu M routen.
- CA weiss M’s Position nicht: ein sogenanntes „paging area“ wird definiert.
„Paging area“ ist ein von mehreren Basisstationen bedeckter Bereich, wo M sich
bewegt. CA sendet die Nachricht allen diesen Basisstationen, und die Basisstation,
die am nächsten zu M liegt, sendet M die Nachricht weiter.
- Die beiden oben genannten scheitet: CA nimmt ein anderes Medium, wie z.B. das
Radio, die Nachricht weiter zu übertragen.
Sobald M’s TPD die Nachricht empfängt, löscht es sofort alle Schlüssel und hört damit auf,
weitere Nachricht zu signieren. Am Ende sendet es eine Acknowledgment-Nachricht zum CA
zurück.
Schliesslich erzeugt CA noch eine komprimierte Widerrufsliste mit allen Schlüsseln von M wie
bei RCCRL, und versendet die im gesamten Netz, um andere Fahrzeuge zu warnen, falls M
seinen Angriff vor Empfangen der „TPD-killer“-Nachricht fortführt.
Abbildung 6 : RTPD [RH06a]
12
DRP
Sowohl RCCRL als auch RTPD müssen von CA initiiert werden, aber was passiert wenn (1)
ein Angreifer nicht rechtzeitig von CA entdeckt wird oder (2) CA in einem kurzen Zeitraum
nicht erreichbar ist (d.h. die CCRL oder TPD-killer-Nachrichten nicht rechtzeitig zu den
Zielknoten ankommen) ? [RH06b]
Mit DRP (Distributed Revocation Protocol) können solche Probleme gut gelöst werden. Unter
DRP versteht man, dass auf einer reinen ad-hoc Ebene die Nachbarn eines Angreifers ihn
entdecken, identifizieren und „vorübergehend“ zurückziehen. (Weil nur CA in der Lage ist,
Schlüssel zurückzuziehen.) Hierfür ist besonders wichtig, Informationen zusammen zu teilen.
Das profitiert, wenn jeder Knoten immen die neuesten Informationen bekommen kann.
[RH06b]
Abbildung 7 : DRP [RH06a]
Abbildung 7 gibt ein einfaches Beispiel dazu: Fahrzeuge A, B, oder/und C sammeln
„Anklagen“ gegen M und tauschen Informationen miteinander aus. Sobald genügend viele
Anklagen-Nachrichten gegen M eingesammelt werden (z.B. ein Schwellenwert ueberschreiten),
wird statt der Anklagen-Nachricht eine Warnungsnachricht versendet. Jeder Knoten, der eine
solche Warnungsnachricht empfängt, kommuniziert nicht mit M mehr. Wenn irgendein Knoten
(z.B. A) wieder mit CA kommunizieren kann, werden CA alle Informationen von M berichtet.
Schlißlich übernimmt CA die reste Arbeit, z.B. verwendet eine Protokoll wie RCCRL oder
RTPD weiter, wie wir vorher schon gesehen haben. [RH06b]
13
Fazit
In diesem Papier haben wir erklaert, was ein Fahrzeugnetz (VANET) ist, wie es funktioniert,
und warum die Kommunikation zwischen den Teilnehmern im Fahrzeugnetz sicher sein muss.
Um dieses Ziel zu erreichen, haben wir auch ein paar Methoden diskutiert, beispielsweise
Verwendung einer PKI sowie des Reputationssystems und verschiedene Protokolle, die dazu
dienen, ungültige Zertifikate zurückzuziehen, und wie Knoten im Netz untereinander
authentifizieren, Vertrauen schaffen, um sowohl die Informationsaustausch möglichst sicher zu
garantieren als auch Knoten im Netz selbst vor den Angriffen zu schützen.
14
Literaturverzeichnis
[B70]
BURTON H. B.: Space/time trade-offs in hash coding with allowable errors.
Commun. ACM, 13(7): 422-426, 1970, Seite 422-426
[Int02]
INTERNET ENGINEERING TASK FORCE: Proceedings of the 53. Internet
Engineering Task Force. http://www3.ietf.org/proceedings/02mar. Version: 2002
[RH05a]
RAYA, M. ; HUBAUX, J. P.: The Security of Vehicular Ad Hoc Networks. In:
Proceedings of SASN‘05, 2005, Seite 11-21
[RH05b] RAYA, M. ; HUBAUX, J. P.: The Security of Vehicular Networks. In: EPFL
Technical Report IC/2005/009, 2005, Seite 31-32
[RH06a]
RAYA, M. ; HUBAUX, J. P.; PAPADIMITRATOS P.: Securing Vehicular
Communications. In: IEEE Wireless Communications Magazine, Special Issue on
Inter-Vehicular Communicaions, 2006, Seite 8-15
[RH06b] RAYA, M. ; HUBAUX, J. P. ; JUNGELS, D.; AAD, I. : Certification revocation in
vehicular ad hoc networks, Technischer Bericht, EPFL, Lausanne 2006
[YJ03]
15
YAO, W. ; JULITA, V.:Trust and Reputation Model in Peer-to-Peer Networks,
Peer-to-Peer Computing, 2003 (P2P 2003). Proceedings. Third International, Seite
150-157
Herunterladen