Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR SECURE COMMUNICATION OF COMPONENTS WITHIN VENDING MACHINES
Document Type and Number:
WIPO Patent Application WO/2010/066522
Kind Code:
A9
Abstract:
The invention relates to a method for securing the communication of components within vending machines that are connected to one another via a bus system, having a transmitter and a receiver, characterized in that data are exchanged on the transport level of the bus system as tuples (C, A, R, N, Z), wherein - C are those tuples having encryption key encrypted message data M, - A are those having authentication key authenticated message data M, - R represents the role of a component on the bus system of active or passive participants, - N represents a message counter, - Z represents a session counter.

Inventors:
KRUMMEL VOLKER (DE)
NOLTE MICHAEL (DE)
RUNOWSKI MATTHIAS (DE)
Application Number:
PCT/EP2009/064882
Publication Date:
October 21, 2010
Filing Date:
November 10, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WINCOR NIXDORF INT GMBH (DE)
KRUMMEL VOLKER (DE)
NOLTE MICHAEL (DE)
RUNOWSKI MATTHIAS (DE)
International Classes:
G06F21/60; G07F19/00
Attorney, Agent or Firm:
2K BLASBERG, KEWITZ & REICHEL PARTNERSCHAFT (DE)
Download PDF:
Claims:
Patentansprüche

1. Verfahren zur Absicherung der Kommunikation von Komponenten innerhalb von Selbstbedienungs-Automaten, die über ein Bussystem miteinander verbunden sind, mit einem Sender und einem Empfänger, gekennzeichnet dadurch, dass auf der Transportebene des Bussystems Daten als Tupel (C,A, R, N, Z) ausgetauscht werden, wobei - C die mit einem Verschlusselungsschlüssel verschlüsselten Nachrichtendaten M sind, - A sind die mit einem Authentifizierungsschlüssel authentifizierten Nachrichtendaten M, - R stellt die Rolle einer Komponente auf dem Bussystem aktiver oder passiver Teilnehmer dar, - JV stellt einen Nachrichtenzähler dar, - Z stellt einen Sitzungszähler dar.

2. Das Verfahren nach dem vorhergehenden Anspruch, wobei auf der Transportebene des Bussystems ein Tupel ist, wobei ein Νachrichtenzähler der Δ-letzten Nachrichten N ist und ein letzter Sitzungszähler der Δ-letzten Nachrichten .

3. Das Verfahren nach dem vorhergehenden Anspruch, wobei die Δ-letzten Nachrichten bei der Übertragung verloren gehen dürfen, ohne dass die darüber liegende Anwendungsschicht darüber informiert wird, dabei merkt sich der Sender eines Kanals die Sitzungsnummer und Nachrichtennummer N der letzen Δ-letzten Nachrichten und schickt in jeder Nachricht zusätzlich zum Paar

(N, Z) als aktuellen Sitzungszähler auch das Paar mit, so dass eine Überprüfung beim Empfänger ermöglicht wird.

4. Das Verfahren nach dem vorhergehenden Anspruch, wobei für die Authsntifizierung und/oder die Verschlüsselung ein gemeinsamer Schlüssel K verwendet wird, der bei der

Herstellung und beim Zusammenbau des Selbstbedienungs- Automaten auf der Basis von Zertifikaten aus einer EKI erzeugt wurde und der sicher in den Komponenten abgelegt ist.

5. Das Verfahren nach dem vorhergehenden Anspruch, wobei der Schlüssel K in einem Trusted Platfoππ Modul (TPM) abgelegt ist.

S. Das Verfahren nach einem oder mehreren der vorhergehenden vier Ansprüche, wobei Ergebnis eines Schlüsselerzeuguπgsverfahren mit einem gemeinsamen Schlüssel K ist, und/oder Ergebnis eines Schlüsselerzeugungsverfahren mit einem gemeinsamen Schlüssel K ist, wobei M die Nachrichtendaten sind.

7. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, wobei beim Senden folgende

Schritte durchgeführt werden. prüfen, ob der Nachrichtenzähler N < N-J3x, falls dies gegeben ist, setzen N:=N+1.

8. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, wobei beim Empfangen folgende

Schritte durchgeführt werden, anter Berücksichtigung, dass der letzte SitzungsZähler und der letzte Nachrichtenzahler ist, - prüfen, ob Sitzungsnummer - prüfen, oh Nachrichtennummer - Vergleichen der Tupal und , sind mehr als Δ Nachrichten verloren gegangen, wird ein Fehler erzeugt, ansonsten, - Durchführen einer Entschlüsselung - Durchfuhren ein Authentifizierung

9. Das Verfahren nach dem vorhergehenden Anspruch, wobei die entschlüsselten Daten wie folgt berechnet werden, wobei und die Authentifizierung gegeben ist, wenn

10. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, wobei der

Selbstbedienungsautomat ein Geldautomat ist und/oder das Bussystem ein USB ist.

11.Selbstbedieπungs-Automaten-Komponente, das einen

Anschluss für ein Bussystem aufweist, über den es mit anderen Selbstbedieπungs-Automaten-Komponenten verbunden ist, gekennzeichnet durch eine Berechnungseinheit, die so eingerichtet und ausgebildet ist, daas auf der Tranaportebene dea Bussystems Daten als Tupel (c,A,R,N, z) ausgetauscht werden, wobei - C die mit einem verschlüsselungsschlussel verschlüsselten Nachrichtendaten M sind, - A sind die mit einem Authentifizierunggschlüssel Authentifizierten Nachrichtendaten M, - R 3tellt die Rolle einer Komponente auf dem Bussystöm aktiver (Sender) oder passiver Teilnehmer (Empfänger) dar, - ΛT stellt einen Nachrichtenzahler dar, - Z stellt einen Sitzungszähler dar.

12. Die Selbstbedienungs-Automaten-Komponente nach dem vorhergehenden Selbstbedienungs-Automaten-Komponenten- Anspruch, wobei Mittel vorhanden sind, um auf der Transportebene des BusSystem ein Tupel auszutauschen, wobei

JV ein Nachrichtenzähler der Δ-letzten Nachrichten N ist

Zein letzter Sitzungszähler der Δ-letzten Nachrichten.

13. Die Selbstbedienungs-Automaten-Komponente nach dem vorhergehenden Selbstbedienungs-Automaten-Komponenten- Anspruch, wobei Mittel vorhanden sind, die erlauben, dass die Δ-letzten Nachrichten bei der Übertragung verloren gehen dürfen, ohne dass die darüber liegende

Anwendungsschicht darüber informiert wird, dabei merkt sich der Seoder eines Kanals die Sitzungsnummer und Nachrichtennummer der letzen Δ-letzten Nachrichten und schickt in jeder Nachricht zusätzlich zum Paar (N,Z) als aktuellen Sitzungszähler auch das Paar mit, so dass eine Überprüfung beim Empfänger ermöglicht wird.

14. Die Selbstbedienungs-Automaten-Komponente nach dem vorhergehenden Selbstbedienungs-Automaten-Komponenten- Anspruch, wobei die Berechnungseinheit für die

Authentifizierung und/oder die Verschlüsselung einen gemeinsamen Schlüssel K einsetzt, wobei Mittel vorhanden sind, die bei der Herstellung und beim Zusammenbau des Selbstbedienungs-Automaten auf der Basis von Zertifikaten aus einer PKI den Schlüssel K erzeugen und sicher ablegen.

15. Die Selbstbedienungs-Automaten-Komponente nach dem vorhergehenden Selbstbedienungs-Automaten-Komponenten- Anspruch, umfassend ein Trusted Plattform Modul (TPM) in dem der Schlüssel K abgelegt ist.

16. Die Selbstbedienunga-Automaten-Komponente nach einem oder mehreren der vorhergehenden zwei Ansprüche, wobei die Berechnungseinheit die folgenden Werte bestimmt, wobei Ergebnis ein sicheres

Authentifizierungsverfahren mit einem gemeinsamen Schlüssel K ist. und/oder , wobei Ergebnis eines sicheren Verschlüsselungsverfahren mit einem gemeinsamen Schlüssel K ist.

17. Die Selbstbedienungs-Automaten-Komponente nach einem oder mehreren der vorhergehenden Selbstbediθnungs- Automaten-Komponenten-Ansprüchen, wobei beim Sender die Berechnungseinheit so ausgebildet ist, dass sie folgende Schritte durchführt: prüfen, ob der Nachrichtenzähler N < N«« , falls dies gegeben ist, setzen N:=N+1.

18. Die Selbstbedienungs-Automaten-Komponente nach einem oder mehreren der vorhergehenden Selbstbedienungs-

Automaten-Komponenten-Ansprüche, wobei beim Empfänger die Berechnungseinheit so ausgebildet ist, dass folgende Schritte durchgeführt werden, unter

Berücksichtigung, dass der letzte Sitzungszahler Z und der letzte Nachrichtenzähler N ist, - prüfen, ob Sitzungsnuininer Z≤Z^^,

- prüfen, ob Nachrichtennummer N≤NmaI

- Vergleichen der Tupel und ), sind mehr als Δ Nachrichten verloren gegangen, wird ein Fehler erzeugt, ansonsten, - durchführen einer Entschlüsselung - durchführen ein Authentifizierung

19. Die Selbstbedienungs-Automaten-Komponente nach dem vorhergehenden Selbstbedienungs—Automaten-Komponenten-

Anspruch, wobei die 3erechnungseinheit die entschlüsselten Daten wie folgt berechnet, und/oder die Authentifizierung ist gegeben, wenn A=A' , wobei , -Die Selbstbedienungs-Automaten-Komponente nach einem oder mehreren der vorhergehenden Selbstbedienungs- Automaten-Komponenten-Ansprüche, wobei der Selbstbedienungsautomat ein Geldautomat ist und/oder das Bussystem ein OSB-Bus ist, der kabelgebunden oder kabellos arbeitet.

Description:
System und Verfahren für eine gesicherte Kommunikation von Komponenten innerhalb von SB-Automaten

Die Erfindung betrifft ein System und ein Verfahren zur

Absicherung der Kommunikation von Komponenten innerhalb von Selbstbedienungs-Automaten (SB- Automaten) insbesondere von Geldautornaten .

Gebiet der Erfindung:

Selbstbedienungs (SB) -Automaten weisen oftmals eine Reihe von Komponenten auf, die miteinander zu verbinden sind. In der Regel weisen diese Automaten eine standardisierte PC- Plattform auf, die besonderen Sicherheits-Anforderungen gerecht wird. An dieser PC-Plattform (Motherboard) werden, z.B. über USB-Schnittstellen, Tastaturen, Geldausgabe- Automaten, Kartenlesegeräte, Monitore und andere Geräte angeschlossen.

Weiterhin umfassen diese Automaten die Möglichkeit, sich mit einem anderen Computer zu verbinden, damit sich zum Beispiel ein Wartungs-Ingenieur mit seinem Laptop mit dem SB-Automat verbinden kann. Ein solcher Fall ist zum Beispiel dann gegeben, wenn der Ingenieur die Geldausgabeeinheit testen möchte. Mit einem Testprogramm, das auf dem Laptop installiert ist, kann er sich mit der Ausgabeeinheit verbinden, um dann Geldnoten zu Testzwecken auszugeben. Des Weiteren sind Fälle bekannt, in denen Personen diese Technologie nutzen, um sich unerlaubt Bargeld zu verschaffen. Letzteres wird erreicht, indem physikalische Sicherheitsmechanismen umgangen werden oder manipuliert werden.

Weiterhin sind sicherheitskritische Fälle bekannt, in denen sich eine Person mit einem USB-Tracer (eine Vorrichtung, die den Verkehr auf der USB Schnittstelle belauscht) auf die Leitung der Ausgabeeinheit und des PCs schaltet, mit dem Ziel, Steuerkommandos zu analysieren, zu manipulieren und gelauschte Kommandos wieder ein zu steuern, um sich so unerlaubt Bargeld zu verschaffen. Des Weiteren sind Fälle bekannt, in denen sich eine Person mit einem USB-Tracer zwischen die Leitung des Kartenlesers und des PCs schaltet, um sich unerlaubt Kartendaten zu verschaffen.

Grundsätzlich ist die vorliegende Erfindung nicht auf USB beschränkt, jedoch handelt es sich bei USB um einen dominanten Standard für Peripheriegeräte bei Computern, so dass im Folgenden im Wesentlichen auf USB eingegangen wird. Es ist jedoch zu beachten, das alle anderen Verbindungsstandards, die ebenfalls kabellos sein können, und ein ähnliches Konzept wie USB verfolgen, durch die Erfindung abgedeckt sein sollen. USB ist ein bitserieller Bus, die einzelnen Bits des Datenpaketes werden also nacheinander übertragen. Die Datenübertragung erfolgt symmetrisch über zwei verdrillte Leitungen, die eine überträgt das Datensignal unverändert, die andere das invertierte Signal. Der Signalempfänger bildet die Differenzspannung beider Signale; der Spannungshub zwischen 1- und O-Pegeln ist dadurch doppelt so groß, eingestrahlte Störungen werden weitgehend eliminiert. Das erhöht die Übertragungssicherheit, unterdrückt Gleichtaktstörungen und verbessert damit die elektromagnetische Verträglichkeit. Zwei weitere Leitungen dienen zur Stromversorgung der angeschlossenen Geräte. Durch die Verwendung von nur vier Adern in einem Kabel können diese dünner und preiswerter als bei parallelen Schnittstellen ausgeführt werden. Eine hohe Datenübertragungsrate ist mit relativ geringem Aufwand zu erreichen, da nicht mehrere Signale mit identischem elektrischem und zeitlichem Verhalten übertragen werden müssen.

Die Bus-Spezifikation sieht einen zentralen Host-Controller (Master) vor, der die Koordination der angeschlossenen Peripherie-Geräte (den sog. Slave-Clients) übernimmt. Daran können theoretisch bis zu 127 verschiedene Geräte angeschlossen werden. An einem USB-Port kann immer nur ein USB-Gerät angeschlossen werden. Wenn an einem Host mehrere Geräte angeschlossen werden sollen, muss deshalb ein Verteiler (Hub) für deren Kopplung sorgen. Durch den Einsatz von Hubs entstehen Baumstrukturen, die alle im Host- Controller enden.

Trotz seines Namens - Universal Serial Bus - ist der USB kein physischer Datenbus. Bei einem solchen werden mehrere Geräte parallel an eine Leitung angeschlossen. Die Bezeichnung „Bus" bezieht sich auf die logische Vernetzung, die tatsächliche elektrische Ausführung erfolgt nur mit Punkt-zu-Punkt- Verbindungen . Zur Verwaltung von Informationen und Daten, die über den USB Bus übertragen werden dient ein USB-Stack, auf dem dann die entsprechenden USB Treiber der Geräte aufsetzen. Der USB- Stack ist für die Zuordnung der Informationen zu den einzelnen Gerätetreibern zuständig. Die Figur 1 zeigt einen solchen Schichtaufbau bei zwei Geräten. Die linke Spalte stellt den Schichtaufbau bei einem System PC dar, der im wesentlichen den Geldautomaten steuert. Das RM3 Gerät ist ein Peripheriegerät, das, z.B. über einen USB Bus, mit dem System PC verbunden ist. Dieses Peripheriegerät kann z.B. ein Geldausgabeautomat oder ein Kartenlesegerät sein, in dem ebenfalls wiederum ein Betriebssystem angeordnet ist, das die USB-Schnittstelle verwaltet. Zu erkennen ist, dass der System PC über eine JDD (Java Device Driver)- Schicht verfügt, die für das Laden der Treiber verantwortlich ist. Darunter ist ein Objekt Request Broker (ORB) angeordnet. Unter diesem ist dann die USB Transportschicht angesetzt, die wiederum auf dem USB Treiber aufsetzt . Es ist zu beachten, dass die USB-Technologie keinerlei Sicherheitsfunktionen aufweist, so dass die oben beschriebenen Manipulationen auftreten können.

Überblick über die Erfindung: Aufgabe der vorliegenden Erfindung ist es, die Sicherheit eines Verbindungskanals, der eine Hauptsteuerungseinheit (PC Modul) mit Peripheriegeräten verbindet, zu gewährleisten. Konkret wird die Authentizität und die Vertraulichkeit von Nachrichten auf diesem Kanal mit einem kombinierten Verfahren realisiert. Ferner ist es Aufgabe eine Fehlertoleranz bereitzustellen und das Wiedereinspielen alter Nachrichten zu verhindern. Gelost wird diese Aufgabe durch eine Vorrichtung und ein Verfahren mit den Merkmalen der unabhängigen Ansprüche.

Weitere vorteilhafte Ausfuhrungsformen finden sich m den Unteranspruchen.

Im Einzelnen handelt es sich um Verfahren zur Absicherung der Kommunikation von Komponenten innerhalb von Selbstbedienungs- Automaten, die über ein Bussystem miteinander verbunden sind. Solche Komponenten können die Hauptplatine sein (m der Regel ein PC basiertes Motherboard) , der Kartenleser, die Tastatur, das Geldausgabesystem, Bildschirm etc. Grundsätzlich unterscheidet man zwischen einer aktiven Komponente (Sender) und einer passiven Komponente (Empfanger) . Diese Komponenten sind vorzugsweise durch ein serielles Bus-System, wie den USB-Bus, verbunden. Es soll naturlich keine Beschrankung bzgl. des Bussystems gegeben sein. Es können sowohl kabellose als auch kabelgebundene Bussysteme verwendet werden. Beim USB-Bussystem z.B. ist eine Verschlüsselung durch den Standard nicht vorgegeben, so dass diese auf der Transportebene des Bussystems zu erfolgen hat. Hierbei werden die Daten als Tupel (C,A,R,N, Z) ausgetauscht. Wobei das Tupel als binarer Record in unterschiedlicher Form ausgebildet sein kann. Es können die Daten auch in unterschiedlicher Reihenfolge oder in getrennten Paketen gesendet werden. Das Tupel soll lediglich die logische Zusammengehörigkeit ausdrucken. Bei diesem Tupel sind C die mit einem Verschlusselungsschlussel verschlüsselten Nachrichtendaten M, A sind die mit einem Authentiflzierungsschlussel authentifizierten Nachrichtendaten M, R stellt die Rolle einer Komponente auf dem Bussystem als aktiver oder passiver Teilnehmer dar (Sender oder Empfanger) , N stellt einen Nachrichtenzahler dar, Z stellt einen Sitzungszahler dar. Der Sitzungszahler hat die Funktion, dass regelmäßig für eine neue Sitzung der Schlüssel geändert wird. Für die Realisierung können bekannte Algorithmen auf beiden Seiten verwendet werden. Beispiele aus dem Stand der Technik sind:

AES, DES und beliebige andere Blockchiffren in entsprechenden Betriebsmodi. Details hierzu sind dem Fachmann bekannt In einer weiteren Aus führungsform wird das oben genannte

Tupel erweitert, so dass es nun lautet wobei ein Νachrichtenzähler der Δ-letzten Nachrichten N ist, ein letzter Sitzungszähler der Δ-letzten Nachrichten. Durch Δ kann bestimmt werden, dass die letzten Nachrichten bei der Übertragung verloren gehen dürfen, ohne dass die darüber liegende Anwendungsschicht darüber informiert werden muss. Dabei merkt sich der Sender eines Kanals die Sitzungsnummer und Nachrichtennummer ^ er letzen Δ-letzten Nachrichten und schickt in jeder Nachricht zusätzlich zum Paar (N, Z) als aktuellen Sitzungszähler auch das Paar mit, so dass eine Überprüfung beim Empfänger ermöglicht wird. Wenn nun weniger als Δ-Nachrichten verloren gegangen sind, wird keine Fehlermeldung erzeugt. Dies ist immer dann möglich, wenn Redundanzen bei der Datenübertragung gegeben sind. Das Δ kann als Parameter, z.B. von der darüberliegenden Schicht, eingestellt werden. Ein Verlust von Informationen kann z.B. dann erfolgen, wenn Kabel herausgezogen werden, oder andere Manipulationen an der Verbindung vorgenommen werden.

Die Sicherheitsmechanismen basieren auf einem Schlüssel für. die Authentifizierung und einem Schlüssel für die Verschlüsselung. Hierbei werden Schlüssel verwendet die bei der Herstellung und beim Zusammenbau des Selbstbedienungs- Automaten erzeugt werden und sicher in den Komponenten abgelegt werden.

Die Schlüssel können z.B. in einem Trusted Platform Modul (TPM) abgelegt werden, wie es auf dem Markt bekannt ist. Das Trusted Platform Module (TPM) ist ein Chip, der als Teil der TCG-Spezifikation (vorher TCPA) Computer oder andere Geräte, die die Befehle des TPM ausführen können, beschränkt. Dies dient beispielsweise den Zielen des Lizenzschutzes und des Datenschutzes. Der Chip entspricht einer fest eingebauten Smartcard mit dem wichtigen Unterschied, dass er nicht an einen konkreten Benutzer (Benutzer-Instanz) , sondern an einen einzelnen Computer (Hardware-Instanz) gebunden ist. Außer der Verwendung in PCs kann das TPM in PDAs, Mobiltelefonen und Unterhaltungselektronik integriert werden. Ein Gerät mit TPA kann nicht mehr durch Software, die die Befehle des TPM ausführt, entgegen den Interessen der Hersteller der Hardware, der Vertreiber der Lizenzen oder der Eigentümer von Daten genutzt werden. Ein Vorteil für den einzelnen Nutzer eines Computers ist außer im Schutz gegen Missbrauch durch Unbefugte Dritte nicht definiert.

Der Chip ist passiv und kann weder den Bootvorgang noch den Betrieb direkt beeinflussen. Er enthält eine eindeutige Kennung und dient damit zur Identifizierung des Rechners.

Es ist möglich, dass zum Ausführen von bestimmten Anwendungen ein aktiviertes TPM vorausgesetzt wird.

Die Authentifizierung erfolgt auf der Basis eines bekannten Authentifizierungsalgorithmus durch wobei

K am i, Ergebnis eines sicheren Schlüsselerzeugungsverfahrens mit einem gemeinsamen Schlüssel K ist, und wobei Ergebnis eines Schlüsselerzeugungsverfahrens mit einem gemeinsamen Schlüssel K ist. In der bevorzugten Ausfuhrungsform werden diese durch eine Hash-Funktion bestimmt. Details hierzu finden sich weiter unten.

Zur Sicherstellung, dass keinerlei Daten verloren gehen, wird ein Nachrichtenzähler eingesetzt, der bei jedem Senden hoch gesetzt wird bis zu einer vorgegebenen natürlichen Zahl.

Im Einzelnen sollen beim Senden folgende Schritte durchgeführt werden, prüfen ob der Nachrichten-Zähler N < Nm a x, falls dies gegeben ist, setzen N:=N+1.

Beim Empfangen werden folgende Schritte durchgeführt, unter Annahme dass der letzte Sitzungszähler und der letzte Nachrichtenzähler ist. - Prüfen, ob Sitzungsnummer - Prüfen, ob Νachrichtennummer - Vergleichen der Tupel und , sind mehr als Δ Nachrichten verloren gegangen, wird ein Fehler erzeugt, ansonsten, - Durchführen einer Entschlüsselung - Durchfuhren einer Authentifizierung

Beim Empfänger wird die Entschlüsselung wie folgt durchgeführt die Authentifizierung ist gegeben, wenn

Das Verfahren kann bei Selbstbedienungs-Automaten-Komponenten eingesetzt werden, die oben erwähnt wurden, wobei die

Komponente sowohl der Empfänger als auch der Sender sein kann. In der Regel ist die Kommunikation bidirektional, so dass Empfänger und Sender beide Aufgaben übernehmen.

Figurenbeschreibung :

Die Figuren zeigen mögliche Ausführungsformen, die nicht beschränkend zu bewerten sind, sondern lediglich das Verständnis der Erfindung verbessern sollen. Es zeigt

Fig. 1 den Schichtenaufbau von zwei SB-Komponenten, hierbei handelt es sich einerseits um einen System PC und andererseits um ein Kartenlesegerät RM3;

Fig. 2 zeigt die Kommunikation der Geräte aus Fig. 1 über die Schichten der Software

Fig. 3 zeigt die Kommunikation über das Bussystem USB

Fig. 4 zeigt die verschlüsselte Kommunikation über das Bussystem

Fig. 5 zeigt die Schritte beim Erzeugen des gemeinsamenen Schlüssels bei der Inbetriebnahme des PC-Motherboards und der Ablage im TPM

Fig. 6 zeigt die Schritte der Fig. 5 für den Kartenleser

Fig. 7 zeigt die Initialisierung der Schlüssel zwischen dem Kartenleser und dem PC.

Ausführungs form: Zum besseren Verständnis wird das Verschlüsselungsmodell im Detail im Folgenden beschrieben.

Im ersten Schritt erfolgt eine Beschreibung der Bezeichner bzw. Variablen für das Protokoll Sicherer- Kanal:

Punktionen können aus dem RC4-AlgorithmuS/ Temporal Key Integrity Protocol, MD2, MD4, MD5, SHA, RIPEMD-160, Tiger HAVAL Whirlpool, LM-Hash NTLM entnommen werden (Haah) . Als verschlüsseluπgsverfahren können z.B. RSA, AES, etc. verwendet werden.

Grundsatzlich gibt es eine Abhängigkeit der Daten. Nachdem alle gesendeten Nachrichten vom Sender A bei dem jeweiligen Empfänger B angekommen sind, sollten folgende Bedingungen gelten:

Diese Tabelle bedeutet, dass der gemeinsame Schlüssel identisch ist, der Sitzungszähler gleich oder größer ist. Wenn Pakete verloren gehen oder wenn er gerade hochgezählt

wurde, so kann der Sitzungszähler großer sein, das gleiche gilt für den Nachrichtenzähler.

Grundsätzlich sind zwei Fälle zu unterscheiden. Im ersten Fall ist ein Paketverlust nicht erlaubt (also ^ Λ = 0) im zweiten Fall ist ein Paketverlust aufgrund der Redundanz erlaubt

Fall Δ = o

Zuerst wird ein gemeinsamer Sitzungsschlüssel berechnet Eingabe: gemeinsamer Schlüssel K, Rolle R e { A,B } ,

Sitzung S e , Sitzungszähler

Falls

Falls '

Falls ' 0 Falls R = B und S = 'B → Ä

Beim Starten einer neuen Sitzung ist folgendes zu berücksichtigen

Eingabe: gemeinsamer Schlüssel K, Rolle R e { A,B } ,

Sitzung , (d.h. Daten von A in Richtung B und umgekehrt) neuer Sitzungszähler Z

2. gemeinsamen Sitzungsschlüssel berechnen

Nachricht verschicken:

Eingabe: Nachricht M, Rolle R e {A Λ B}, Nachrichtenzähler Sitzungszähler

1. prüfe Nachrichtenzähler

2. erhöhe Nachrichtenzähler

Nachricht empfangen:

30 Eingabe: Chiffretext C, Authentisierung A 1 Rolle R e [A, B], Nachrichtennummer W, Sitzungsnummer Z, Nachrichtenzähler

Sitzungszähler

1. prüfe Sitzungsnummer neue Sitzung starten

2. prüfe Nachrichtennummer

3. berechne

4. berechne

5. prüfe A = A'

Im Folgenden wird das Protokoll für ^ > 0, bei dem Pakete aufgrund der Redundanz in der höheren Schicht verloren gehen dürfen, beschrieben .

Im folgenden soll es erlaubt werden, dass Sequenzen von Δ > 0 aufeinanderfolgender Nachrichten während der Übertragung verloren gehen dürfen, ohne dass ein Fehler angezeigt wird. Dabei merkt sich der Sender eines Kanals die Sitzungsnummer und Nachrichtennuinmer der letzten Δ Nachrichten und schickt in jeder Nachricht zusätzlich zum Paar (aktueller Sitzungszähler, aktueller Nachrichtenzähler) auch das Paar mit. Der Empfänger auf der anderen Seite merkt sich den Sitzungszähler und Nachrichtenzähler der jeweils letzten Nachricht, die er empfangen hat. Um zu prüfen, ob eine Sequenz von mehr als Δ aufeinanderfolgenden Nachrichten verloren gegangen ist, vergleicht der Empfänger die Pärchen und komponentenweise. Er kann dann entscheiden, ob der Sender nach der zuletzt empfangenen Nachricht noch mehr als Δ viele Nachrichten verschickt hat oder nicht. Neue Sitzung starten

Eingabe: gem. Schlüssel K 1 Rolle R e { A,B } ,

Sitzung größere Sprünge sollte nicht zugelassen werden

2. gemeinsame Sitzungsschlüssel berechnen Initialisierung des Nachrichtenzählers

Beim Sender werden folgende Schritte ausgeführt. Nachricht verschicken

Eingabe: Nachricht M 1 Rolle R e {A, B), Nachrichtenzähler Sitzungszähler alter Nachrichtenzähler der Δ-letzten Nachricht letzter Sitzungszähler der Δ-letzten Nachricht Z

Schritte, die ablaufen 1. Prüfe Nachrichtenzähler sonst neue

Sitzung starten

2. Erhöhe Nachrichtenzähler

Beim Empfänger werden folgende Schritte ausgeführt.

Nachricht empfangen:

Eingabe: Chiffretext C, Authentisierung A 1 Rolle R 1 aktueller Nachrichtenzähler aktueller Sitzungszähler

Δ-letzter Nachrichtenzähler Δ-letzter Sitzungszähler letzter Sitzungszähler letzter Nachrichtenzähler

Schritte, die ablaufen

1. prüfe Sitzungsnummer [Z ≤ Z max ] 2. prüfe Nachrichtennummer [N ≤ N max ]

3. vergleiche Tupel Fehler, mehr als Δ Nachrichten verloren

4. berechne

5. berechne 5

6. prüfe A = A'

Im Folgenden wird auf die Figuren eingegangen, die bereits oben erwähnt wurden. Die Figur 1 zeigt jeweils einen System PC, der über eine USB Schnittstelle mit einem Peripheriegerät, in diesem Falle einem Kartenlesegerät oder alternativ mit einem Geldausgabegerät (RM3) , verbunden ist. Der System PC weist dabei unterschiedliche Schichten auf. Zuerst ist der USB Treiber zu nennen, der direkt auf der Hardware aufsetzt. Dann darüber ist die USB Transport-Schicht, die für die Übertragung der Daten dient und auf deren Schicht die Verschlüsselung erfolgt. Darüber ist ein Objekt Request Broker (ORB) . Auf dem dann wiederum ein Java Treiber0 Kontroller (JDD) angeordnet. Weiterhin gibt es ein Kryptomodul, das Zugriff auf einen Sitzungsschlüssel hat, und somit einen sicheren Kanal bereitstellt. Der Sit zungsschlussel wird von einem Basisschlussel abgeleitet. Das Kartenlesegerat wiederum leitet ebenfalls seinen Sit zungsschlussel von Basisschlussel ab und weist einen ähnlichen Aufbau auf.

Die Figur 2 zeigt den Datenfluss zwischen den beiden Geraten in Bezug zu Fig.l. Bis zum USB Transportschicht sind die Daten unverschlüsselt, um sie dann durch das Kryptomodul verschlüsseln zu lassen. Dann werden diese Daten verschlüsselt übertragen, um sie beim Empfangergerat wieder zu entschlüsseln.

Die Figur 3 zeigt die USB Datenverbindung mit der unterschiedlichen aktiven und passiven Ausrichtung der

Komponenten. Dies Sitzung EPO ist z.B. unverschlüsselt. Die Sitzungen EPl und EP2 sind verschlüsselt, wobei der PC der Clαent ist (passiv) und der RM3 ist als Server (aktiv) . Die Sitzungen EP3 und EP4 wiederum sind ebenfalls verschlüsselt, wobei hier der PC der aktive ist und das Kartenlesegerat der passive Teilnehmer ist.

Auf der Basis der Figur 3 zeigt die Figur 4 die verschlüsselten Informationen, die zwischen den Geraten ausgetauscht werden, wobei jeweils ein entsprechender

Verschlusselungsschlussel und ein Authentifizierungsschlussel verwendet wird. Details sind oben beschrieben.

Die Figuren 5-7 zeigen die Erzeugung des gemeinsamen Schlusseis K, der bei einem ursprünglichen Zusammenbau der Vorrichtung erzeugt wird. Die Figur 5 zeigt die Initialisierung des PC mit einem TPM Modul. Auf der Basis einer PKI (Public Key Infrastruktur) wird ein Authentifizierungsschlüssel erzeugt, dieser wird dann öffentlich signiert. Danach werden der öffentliche Schlüssel und ein entsprechendes Zertifikat importiert. Danach wird von der PKI das Wurzelzertifikat importiert. Alle diese Informationen werden im TPM abgelegt.

Beim RM 3 Modul beziehungsweise beim Chipkartenleser wird ein Schlüsselpaar erzeugt und es wird eine Anfrage an die PKI zur Zertifizierung eines öffentlichen Schlüssels gestellt. Dann wird dieser öffentliche Schlüssel zertifiziert und im nächsten Schritt wird dieser als Zertifikat wieder in die Komponente des Selbstbedienungs-Automaten importiert. Ferner wird das CA-Wurzel-Zertifikat der PKI importiert. Nachdem nun beide Komponenten vorbereitet wurden, werden diese miteinander verbunden und es werden die in Figur 7 beschriebenen Schritte durchgeführt. Ein Techniker Authentifiziert sich am System und fordert das System auf, eine Schlüsselinitialisierung durchzuführen. Danach kommunizieren die Komponenten miteinander. Die beiden

Komponenten tauschen ihre Zertifikate aus und überprüfen dies. Wenn sich herausstellt, dass die Zertifikate korrekt sind, wird jeweils ein geheimer Basisschlüssel verschlüsselt übertragen. Auf diesem gemeinsamen Basisschlüssel K bauen die oben genannten Algorithmen auf.

PAGE INTENTIONALLY LEFT BLANK