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