-
Die
Erfindung betrifft ein Verfahren für eine Hochgeschwindigkeits-Datenübertragung über ein Netzwerk
des Typs Internet zwischen einem Server und einem Chipkartenterminal.
Genauer gesagt betrifft die Erfindung einen gesicherten Multimedia-Datenfluss.
-
Im
Rahmen der Erfindung bezeichnet der Begriff „Hochgeschwindigkeits-" Datenflüsse, deren Volumen
typischerweise in der Größenordnung
von 100 Kbit pro Sekunde oder mehr liegt. Beispielsweise braucht
eine für „MP3" kodierte Audio-Datendatei
einen Speicherplatz von 1MB für
eine Minute Aufzeichnung, d.h. etwa 100 Kbit/Sek, wenn diese Datei über einen
digitalen Kanal übermittelt
wird, um in Echtzeit ausgesendet zu werden. Man kann auch Video-Datenflüsse nennen,
die eine Übertragungsgeschwindigkeit
der Größenordnung
2Mbit/Sek benötigen,
um in Echtzeit ausgestrahlt zu werden. Die ist erst recht der Fall
bei sog. Mulitmedia-Datenflüssen,
die gleichzeitig Bilder, Videos und/oder Töne übertragen können.
-
Im
Rahmen der Erfindung ist der Begriff „Chipkartenterminal" im allgemeinen Sinn
zu verstehen. Er kann insbesondere aus einem Personal Computer bestehen,
der mit verschiedenen Betriebssystemen arbeitet, wie WINDOWS oder
UNIX (bei beiden handelt es sich um Markenzeichen). Er kann auch
aus einer Arbeitsplatzcomputer oder einem Laptop bestehen.
-
Außerdem bezeichnet
der Begriff „Internet Netzwerk" im Rahmen der Erfindung
außer
dem eigentlichen Internet auch private Firmennetzwerke oder Ähnliches
des „Intranet" genannten Typs und die
diese nach außen
verlängernden
Netzwerke des Typs „Extranet" und, ganz Allgemein,
jedes Netzwerk, in dem der Datenaustausch nach einem Protokoll des
Typs Internet erfolgt.
-
Um
eine konkrete Vorstellung zu bekommen, wird im Folgenden auf die
bevorzugte Anwendung der Erfindung eingegangen, ohne dadurch in
welcher Hinsicht auch immer den Geltungsbereich zu begrenzen, d.h.
auf die Übertragung
eines gesicherten Multimedia-Datenflusses,
wenn Nichts Gegenteiliges erwähnt
wird.
-
Unter „gesichert" wird die Tatsache
verstanden, dass die fraglichen Daten ganz oder teilweise verschlüsselt sind,
um deren Vertraulichkeit sicher zu stellen, oder um zumindest sicher
zu stellen, dass kein freier Zugang die diesen Daten möglich ist.
In letzterem Fall kann es sich um Daten mit kostenpflichtigem Zugang
handeln. In jedem Fall ist es im Allgemeinen erforderlich, Identifizierungsdaten
einzugeben (Passwort, Benutzeridentifikation oder „Login", Kreditkartennummer,
etc.), die eine Transaktion zulassen, um die gewünschten Daten zu erhalten (z. B.
Multimedia-Datei). Diese Daten gelten als „sensibel" und können nicht unverschlüsselt über das
Internet Netzwerk versandt werden. Sie müssen also gesichert werden:
Verschlüsselung
oder Nutzung eines gesicherten Protokolls, beispielsweise des Typs „SSL" (steht für Secure
Socket Layer").
-
Mit
dem sehr schnellen Aufschwung des Internet Netzwerks entsteht ein
erster Bedarf, über
dieses Netzwerk alle möglichen
digitalen Dateien von/an verschiedene Serversysteme und/oder Clients
zu empfangen/senden. Wenn die Geschwindigkeit des Übertragungswegs
oder eines Teils dieses Übertragungswegs,
der diese beiden Systeme verbindet gering ist (ist beispielsweise
bei Telefonleitungen des Typs Wählleitung
der Fall, die auf etwa 56 Kbit/Sek. beschränkt sind, wenn der Standard
V90 verwendet wird), können
umfangreiche Dateien über diese Übertragungsleitungen
versandt werden, können
aber in den meisten Fällen
erst nach vollständigem
Herunterladen verwendet werden, nicht aber in Echtzeit. Die Verfügbarkeit
schneller Kommunikationswege (digitales Netz im integriertem „RNIS" oder „ISDN" Service nach englischer
Terminologie, Kabel- oder Satellitenübertragung) lässt die
Ausstrahlung von Audio- oder sogar Multimedia-Dateien in Echtzeit über einen
an das Internet Netzwerk angeschlossenen Terminal ins Auge fassen.
Wenn man eine neuere, unter der Abkürzung „ADSL" bekannte Übertragungstechnik nutzt, kann
auch eine klassische Telefonleitung digitale Daten bei einer Geschwindigkeit von
1MB/Sek übertragen.
In der Vergangenheit stellte der Übertragungskanal zwischen einem
entfernten Server und einem Terminal, die beide an das Internet angeschlossen
sind, einen Engpass dar. In der Tat ist klar, dass die Computersysteme
an beiden Enden der Kette, Server und Terminal, die für die Übertragung
und/oder Verarbeitung und Verbreitung von Multimedia-Dateien erforderlichen
Datenflüsse
empfangen können.
Der kürzlich
erfolgte Einsatz schneller Übertragungswege
im Internet ermöglicht
also diese Art der Verarbeitung „von Ende zu Ende".
-
Ein
anderer Bedarf, der deutlich wird, ist die Nutzung von Chipkarten
in Zusammenhang mit den Terminals.
-
In
einem Anwendungssystem auf der Grundlage einer Chipkarte können diese
verschiedenen Funktionen zufallen, insbesondere Sicherheitsfunktionen.
In der Tat ist es vorteilhaft, sicherheitsrelevante Daten (Passwörter, Zugangsrechte,
etc) auf einer Chipkarte zu speichern, die von dem Benutzer verwahrt
wird. Da die Daten außerdem
in einer Form, die verschlüsselt
sein kann, auf einem festen Speicher abgelegt sind, können sie
weder leicht geändert, noch
direkt von außen
gelesen werden.
-
Im
Rahmen zahlungspflichtiger Transaktionen werden ähnliche Funktionen umgesetzt.
Es ist, wie bereits in Erinnerung gerufen wurde, auch erforderlich,
Passwörter
und/oder Benutzeridentifikationen, wie auch verschiedene sensible
Daten (Nr. der Kontokarte, etc) und Daten zur Festlegung von Benutzerrechten
(geltende Abonnements, zugängliche Dienstleistungen,
etc.) zu übermitteln.
-
Jedoch
muss vermerkt werden, dass nach bekannter Technik die „Sicherheitsfunktion" nicht direkt auf
der Chipkarte umgesetzt werden kann, da der empfangene und/oder übermittelte
Datenfluss nicht durchfließt.
Folglich muss ein Dialog zwischen dem Terminal und der Chipkarte
eingerichtet werden, damit die an die Sicherheit gebundenen Kontrollen durchgeführt werden
können.
Dieser Betriebsmodus senkt das Sicherheitsniveau und lässt unter
gewissen ungünstigen
Umständen
sogar „Trojaner" in den Terminal
eindringen. Daher wäre
es also erforderlich, dass Sicherheitskontrollen vor Ort, d.h. auf
der Chipkarte selbst durchgeführt
werden, was erfordern würde,
dass der Datenfluss von der Chipkarte umgeleitet würde, bevor
er zum Terminal übermittelt
wird.
-
Außer der
ihr zugefallenen Funktion „Sicherheit" wäre es auch
interessant, wenn die Chipkarte gewisse Vorgänge im Terminal direkt kontrollieren könnte und
beispielsweise vorbestimmte Merkmale der von dem Terminal erhaltenen
und/oder an ihn übersandten
Daten ändern
könnte.
-
Wie
nachstehend aufgezeigt, sind diese Betriebsarten mit der derzeit
verfügbaren
Technik und den Normen für
Anwendungen auf der Grundlage einer Chipkarte inkompatibel. Zunächst wird
kurz die allgemeine Architektur eines Anwendungssystems auf der
Grundlage einer Chipkarte mit Bezug auf 1A und 1B aufgezeigt.
-
Ein
Anwendungssystem auf der Grundlage einer Chipkarte umfasst im Allgemeinen
folgende Hauptelemente:
- – eine Chipkarte;
- – ein
Hostsystem, das den vorerwähnten
Terminal ausmacht;
- – ein
Kommunikationssystem, d.h. das Internet in der bevorzugten Anwendung;
- – einen
Anwendungsserver, der mit dem Internet verbunden ist.
-
1A stellt
schematisch ein Beispiel für eine
derartige Architektur dar. Terminal 1, z. B. ein Personal
Computer, umfasst ein Lesegerät 3 für Chipkarten 2.
Dieses Lesegerät 3 kann
physisch in den Terminal 1 integriert sein oder nicht.
Die Chipkarte 2 umfasst einen integrierten Kreislauf 20,
dessen Ein-Ausgangsverbindungen im Träger zutage treten, um eine
elektrische Stromversorgung und die Kommunikation mit Terminal 1 zuzulassen.
Letzterer umfasst Zugangsschaltungen 11 zum Internet Netzwerk IN.
Diese Schaltungen können
aus einem Modem bestehen, um mit einer Telefon Wahlleitung verbunden zu
werden oder, im Fall der Erfindung, vorzugsweise mit einem Kommunikationsweg
mit größerem Datenfluss:
einem dienstintegrierenden digitalen Fernmeldenetz („ISDN"), Kabel oder Satellit.
Die Schaltungen 11 ermöglichen
einen Verbindungsaufbau zum Internet IN, entweder direkt, oder über einen
Internet-Anbieter („Internet
Service Provider" oder „ISP" in angelsächsischer
Terminologie). Man kann auch auf ein Zwischensystem, wie einen „Proxy" oder ein isolierendes
System, „Firewall" genannt, zurück greifen [Anm.d.Übers.: im
Originaltext stehen in Klammern 2 französische Synonyme für „Firewall"; die nicht ins Deutsche übersetzt
werden].
-
Terminal 1 umfasst
natürlich
alle für
den korrekten Terminalbetrieb erforderlichen Schaltungen und Elemente,
die zur Vereinfachung der Zeichnung nicht dargestellt wurden: eine
Zentraleinheit, Schreib-/Lesespeicher, Lesespeicher, Massenspeicher
mit Magnetplatte, Diskettenleser und/oder CD-ROM-Laufwerk, etc.
-
Normalerweise
ist Terminal 1 auch an klassische, integrierte oder nicht
integrierte Peripheriegeräte
angeschlossen, wie Bildschirm 5a und Schallwiedergabesystem 5B (über die
im Rahmen der Erfindung Multimedia-Dateien wiedergegeben werden können), eine
Tastatur 6a und eine Maus 6b, etc.
-
Terminal 1 kann
mit Servern oder jedem Computersystem kommunizieren, die an das
IN-System angeschlossen
sind, wovon eines, 4, in 1A dargestellt
wird. Die Zugangsschaltungen 11 stellen die Verbindung
zwischen Terminal 1 und den Servern 4 über eine
besondere Software 10 her, die WEB- Datenbanksuchroutine
oder, in angelsächsischer Terminologie, „Browser" genannt wird. Diese
ermöglicht
den Zugang zu verschiedenen Anwendungen oder Datendateien im gesamten
IN-Netz, im Allgemeinen nach einem Modus „Client-Server" und insbesondere
zu Multimedia-Dateien.
-
Normalerweise
erfolgt die Kommunikation im Netzwerk über Standard-Protokolle, die
mehrere überlagerte
Software-Schichten umfassen. Im Falle eines IN-Netzes vom Typ Internet
erfolgt die Kommunikation über
Protokolle, die für
diese Art spezifisch sind und nachstehend detailliert aufgeführt werden, die
aber auch mehrere Software-Schichten umfassen. Das Kommunikationsprotokoll
wird je nach betroffener Anwendung ausgewählt: Abfragen von „WEB"-Seiten, Dateiübertragung,
elektronische Post (Email nach angelsächsischer Terminologie), Foren oder „News", etc.
-
Die
logische Architektur, die dabei einen Terminal, ein Lesegerät für Chipkarten
und eine Chipkarte umfasst, wird schematisch in 1B dargestellt. Sie
wird von der Norm ISO 7816 beschrieben, die wiederum mehrere Untereinheiten
umfasst:
- – ISO
7816-1 und 7816-2 in Bezug auf Größe und Markierung der Karten;
- – ISO
7816-3 in Bezug auf die Datenübertragung zwischen
Terminal und Chipkarte; und
- – ISO
7816-4 in Bezug auf die Struktur des Befehlssatzes und des Befehlsformats.
-
In 1B sind
auf Seiten des Terminals 1 nur die Schichten dargestellt,
die der Norm ISO 7816-3 entsprechen und die Bezugsnr. 101 haben und
ein Befehlsverwalter „APDU" (Norm ISO 7816-4),
Bezugsnr. 102. Auf Seiten der Chipkarte 2 sind
die Ebenen, die der Norm ISO 7816-3 entsprechen, mit 201 und
die Befehlsverwalter „APDU" (Norm ISO 7816-4)
mit 210 bezeichnet. Die Anwendungen sind mit A1,...,
Aj,..., An, gekennzeichnet,
wobei n die maximale Anzahl Anwendungen auf der Chipkarte 2 darstellt.
-
Eine
in der Chipkarte 2 vorhandene „cardlet" (Schutzmarke), Aj,
(1A) kommuniziert mit Terminal 1 über einen
Befehlssatz. Dieser Satz stellt normalerweise Schreib- und Lesebefehle
dar. Das Befehlsformat ist unter der angelsächsischen Abkürzung „APDU" (Application Protocol
Data Unit) bekannt. Es wird durch vorgenannte ISO-Norm 7816-4 definiert.
Eine Befehls-APDU wird als „APDU
command" und eine
Antwort-APDU als „APDU.response" notiert. Die „APDU" werden zwischen
dem Kartenleser und der Chipkarte über ein in vorgenannter Norm ISO
7816-3 spezifiziertes Protokoll ausgetauscht (z. B. im Zeichenmodus:
T = 0; oder im Block-Modus: T = 1).
-
Wenn
die Chipkarte 2 mehrere unterschiedliche Anwendungen beinhaltet,
wie in 1B dargestellt, spricht man
von einer Karte mit Mehrfachanwendung. Jedoch kommuniziert Terminal 1 immer nur
mit einer Anwendung zur Zeit. Eine Anwendung Aj,
nimmt z. B. die Form eines Softwareteils, in der „JAVA" Sprache (Schutzmarke) „applet" genannt an, die
im Folgenden „cardlet" genannt wird. Die
Auswahl einer bestimmten „cardlet" Aj wird über eine „APDU" des Typs Auswahl
(„SELECT") erreicht. Sobald
die Wahl getroffen wurde, werden die folgenden „APDU" zu dieser „cardlet" gesandt. Eine neue „APDU SELECT" bewirkt, dass die
laufende Anwendung verlassen wird und eine andere gewählt wird.
Die Untereinheit der Verwaltungssoftware der „APDU" 210 ermöglicht die Wahl einer bestimmten
Anwendung Aj auf der Chipkarte 2,
die so gewählte
Anwendung abzuspeichern und „APDU" zu dieser Anwendung
zu senden und/oder von ihr zu erhalten.
-
Als
Zusammenfassung vorstehender Beschreibung erfolgen die Auswahl einer
Anwendung Aj und der Dialog mit dieser über „APDU"-Befehlsaustausch.
Es wird vorausgesetzt, dass es sich bei den Anwendungen Aj um konventionelle Anwendungen handelt,
die nachstehend „GCA" („Generic
Card Application" oder
Anwendung generischer Karte) genannt werden.
-
Nachdem
diese Sachverhalte in Erinnerung gerufen wurden, ist darauf hinzuweisen,
dass die Chipkarte 2 nicht direkt mit handelsüblichen
Standardbrowsern kommunizieren kann, es sei denn, dass deren Code
geändert
wird.
-
Außerdem und
insbesondere weisen die derzeitigen Chipkarten, die oben aufgeführten Standards
und Normen entsprechen, eine materielle und softwaremäßige Konfiguration
auf, die auch keine direkte Kommunikation mit dem Internet zulässt. Insbesondere
können
sie weder mit dem einen, noch mit dem anderen Protokoll, das für diese
Art Netzwerk verwendet Datenpakete empfangen oder übermitteln.
Folglich ist es erforderlich, ein zusätzliches Softwareteil vorzusehen,
das im Allgemeinen in Form dessen, was in angelsächsischer Terminologie „plug-in" genannt wird, in
Terminal 1 eingebaut wird. Dieses Softwareteil, das in 1A die
Bezugsnummer 12 trägt,
dient als Schnittstelle zwischen dem Browser 10 und der
Karte 2, genauer gesagt den elektronischen Kreisläufen 20 dieser
Karte 2.
-
Auch
ist klar dass, sogar unter Berücksichtigung
der schnellen Entwicklung der Technik in der Vergangenheit und der
für die
Zukunft vorhersehbaren Entwicklung, die Speicherkapazität für Informationen
in Speicherschaltungen der Art RAM oder ROM einer Chipkarte sehr
begrenzt ist und bleibt, wenn man sie mit der Kapazität eines
Host-Terminals dieser Chipkarte vergleicht und natürlich auch
im Vergleich zu der Kapazität
größerer Systeme,
Mini-Computer oder großer
Systeme des Typs „Main
Frame". Auch ist
es nicht möglich,
auf der Chipkarte umfangreiche Datendateien, insbesondere Dateien
des Typs Multimedia zu speichern. Daher wäre es erforderlich, wenn man
davon ausgeht, dass es möglich
ist, dass die Chipkarte mit dem Internet kommuniziert und Daten
darüber
laufen (was die bekannte Technik, wie erwähnt nicht ermöglicht),
dass alle erforderlichen Verarbeitungsvorgänge „laufend", d.h. ohne auch nur vorübergehend
abgespeichert zu werden, erfolgen. Die Berechnungsleistung der logischen
Schaltungen, insbesondere des in der Chipkarte vorhandenen Mikroprozessors
lässt beim
derzeitigen Stand der bekannten oder kurzfristig vorhersehbaren
Technik keinen derartigen Betriebsmodus zu.
-
Schließlich organisieren
die vorgenannten Normen die Kommunikation zwischen Chipkarte und Terminal über das
Lesegerät
des Typs Serie. Außerdem
ist der Datenfluss, den die derzeitige Technik zulässt, sehr
gering, in der Größenordnung
1 bis 10 Kbit/Sek, was im Rahmen der erfindungsgemäßen Anwendungen
inkompatibel mit den geplanten Datenflüssen (mindestens 100 Kbit/Sek)
ist.
-
Die
Erfindung zielt darauf ab, die Nachteile der Verfahren und Vorrichtungen
der bekannten Technik zu beheben, von denen einige obenstehend aufgeführt wurden
und gleichzeitig die sich abzeichnenden Bedürfnisse abzudecken, d.h. insbesondere Hochgeschwindigkeits-Datenströme bei gleichzeitiger
maximaler Sicherheit aufzunehmen.
-
Nach
einem ersten erfindungsgemäßen Merkmal
verhält
sich die Chipkarte für
den dazugehörigen
Terminal wie ein Server/Client des Typs „WEB".
-
Dazu
wird in der Chipkarte und deren Entsprechung im Terminal eine spezifische
Software-Kommunikationsschicht
vorgesehen. Der Begriff „spezifisch" ist zu verstehen
als spezifisch für
das erfindungsgemäße Verfahren.
Diese spezifisch genannten Kommunikationsschichten sind frei verfügbar, ganz
gleich, welche Anwendung betrachtet wird. Sie greifen nur in das
Verfahren zum Zweiwege-Datenaustausch zwischen der Chipkarte und
dem Terminal einerseits und der Chipkarte und dem Netzwerk andererseits
ein.
-
Die
spezifischen Software-Kommunikationsschichten umfassen insbesondere
Softwarekomponenten, die „intelligente
Agenten" genannt
werden, die insbesondere die Konvertierung der Protokolle zulassen.
Die intelligenten Agenten werden im Folgenden der Einfachheit halber „Agenten" genannt. Es gibt
Agentenpaare in den spezifischen entsprechenden Kommunikationsschichten,
die mit Terminal und Chipkarte verbunden sind. Nach erfindungsgemäßem Verfahren
bauen sich Sitzungen zwischen Agentenpaaren auf. Diese Vorrichtungen
ermöglichen
es insbesondere, den ganzen oder einen Teil des Datenflusses von
oder zu dem Internet Netzwerk über
die Chipkarte umzuleiten, wobei die vorgenannten ISO-Normen für die Kommunikation
zwischen Chipkarte und Terminal über
das Lesegerät
eingehalten werden.
-
Nach
einem anderen erfindungsgemäßen Merkmal
wird in die Chipkarte eine besondere Anwendung eingefügt, die
im Folgenden „Filter" genannt wird. Dabei
handelt es sich um eine Softwareeinheit, die eine analoge Rolle
zu einem „Proxy" spielt. Dazu verwendet
man die vorgenannten Vorrichtungen und setzt Agenten ein. Dieser „Proxy" ermöglicht die
Durchführung
sicherheitsbezogener Datenaufbereitung direkt auf der Chipkarte.
-
Nach
einem anderen erfindungsgemäßen Merkmal
wird ein unsymmetrisches Kommunikationsprotokoll eingefügt. Nach
diesem Merkmal wird der ausgegebene oder empfangene Datenfluss in zwei
Komponenten aufgeteilt: in einen ersten Fluss bei niedriger Geschwindigkeit,
der ein geringes Datenvolumen darstellt, nachstehend „Fluss
sicherheitskritischer Daten" genannt,
der direkt über
die Chipkarte läuft
und einen Hochgeschwindigkeitsfluss, der ein großes Datenvolumen darstellt
und nachstehend „verschlüsselter
Datenfluss" genannt wird,
der über
den Terminal läuft.
-
In
bevorzugten Anwendungen der Erfindung besteht der sicherheitskritische
Datenfluss aus Sicherheitsdaten, die an den vorgenannten „Proxy" der Chipkarte gesandt
werden können,
um dort geheim verarbeitet zu werden. Die verschlüsselten
Daten bestehen aus eigentlichen Multimedia-Daten. Diese Daten werden
von Agenten im Terminal verarbeitet. Jedoch unterliegt die Genehmigung,
verschlüsselte Daten
zu empfangen und zu verarbeiten dem Ergebnis eines Authentifizierungsverfahrens,
das von den Sicherheitsdaten in der Chipkarte eingeleitet wird. Aufgrund
des vorgenannten Filters bleibt der Empfang von Daten durch den
Terminal unter der direkten Kontrolle der Chipkarte.
-
Die
verschlüsselten
Daten, die über
den Terminal laufen, können
in diesem Terminal einer besonderen Verarbeitung unterzogen werden,
bevor sie tatsächlich
genutzt werden, dies auf Befehl und unter Kontrolle der Chipkarte,
d.h. letztlich der sicherheitskritischen Daten, die sie empfangen
hat.
-
Dazu
sind bestimmte zusätzliche
Agenten vorgesehen, die man „Protokollagenten" nennen kann und
die sich auf der Chipkarte und im Terminal oder nur in einer dieser
beiden Vorrichtungen befinden.
-
Die
Hauptaufgabe der Erfindung ist also ein Verfahren zur Übertragung
eines Datenflusses über ein
Netzwerk des Typs Internet, zwischen mindestens einem entfernten
Server und einem mit einem Chipkartenlesegerät ausgestatteten Terminal,
wobei dieser Terminal mindestens eine Anwendung des Typs „Client
TCP/IP" umfasst
und der Terminal und der Server beide mit dem Netzwerk des Typs
Internet verbunden sind, dadurch gekennzeichnet, dass es mindestens
die folgenden Phasen umfasst:
- a/ eine erste
Phase, die darin besteht, in die Chipkarte ein erstes Softwareteil
einzufügen,
das eine erste spezifische Kommunikationsprotokollschicht bildet;
- b/ eine zweite Phase, die darin besteht, in den Terminal ein
zweites Softwareteil einzufügen,
das eine spezifische Kommunikationsprotokollschicht bildet und eine
Schnittstelle mit mindestens der Anwendung des Typs „Client
TCP/IP" bildet;
– dass das
erste und das zweite Softwareteil jedes außerdem eine erste autonome
Softwareeinheit des Typs Client umfasst und eine zweite autonome
Softwareeinheit des Typs Server, wobei die Einheiten so zusammenwirken,
dass die Einrichtung einer Sitzung zum Zweiwegeaustausch von Daten
zwischen dem Terminal und der Chipkarte ermöglicht wird, so dass die Chipkarte
die Funktionen eines Client/Server des Typs „WEB" bietet und die Einrichtung einer Sitzung
zum Zweiwegeaustausch von Daten zwischen dem Terminal und einem
der entfernten Server über
das Netzwerk des Typs Internet ermöglicht, wobei die autonomen
Softwareeinheiten über
vorbestimmte Protokoll-Dateneinheiten kommunizieren;
– dass es
in der Chipkarte eine zweite Durchführungsphase eines anwendenden
Softwareteils mit bestimmten funktionellen Merkmalen, „Filter" genannt umfasst,
das Protokoll-Dateneinheiten von den ersten und zweiten autonomen
Softwareeinheiten des Typs Client und Server empfängt oder an
diese sendet, die im zweiten spezifischen Softwareteil enthalten
sind, wobei die Umsetzung des anwendenden Teils unter Kontrolle
der autonomen Softwareeinheit des Typs Server erfolgt;
– dass der
Filter mit den autonomen Softwareeinheiten des spezifischen zweiten
Softwareteils zusammenwirkt, um eine Sitzung mit den autonomen Softwareeinheiten
des ersten spezifischen Softwareteils zu eröffnen, um vorbestimmte Merkmale
des Datenflusses zu ändern,
der zwischen dem Terminal und dem entfernten Server übertragen
wird.
-
Die
Erfindung wird nachstehend detaillierter unter Bezugnahme auf die
beigefügten
Abbildungen beschrieben, wobei:
-
1A und 1B schematisch
die materielle bzw. logische Architektur eines Beispiels der Systemanwendung
auf der Grundlage einer Chipkarte nach bekannter Technik darstellen;
-
2 schematisch
ein Beispiel der Systemanwendung auf der Grundlage einer erfindungsgemäßen Chipkarte
darstellt, wobei diese als „WEB"-Server fungiert;
-
3 ein
Diagramm der Zustände
einer Sitzung zwischen Softwareeinheiten, genannt intelligente Agenten
nach einem Aspekt der Erfindung darstellt;
-
4 in
vereinfachter Form die logische Architektur eines erfindungsgemäßen Systems
darstellt, bei dem die Chipkarte intelligente Agenten umfasst;
-
5 schematisch
einen „Proxy" nach dem Stand der
Technik darstellt;
-
6 in
vereinfachter Form die logische Architektur eines erfindungsgemäßen Systems
in Übereinstimmung
mit dem aus 4 darstellt, in dem ein „Proxy" genannter Filter
auf der Chipkarte ausgeführt ist;
-
7 eine
schematische Darstellung ist, die eine erste Ausführungsform
des unsymmetrischen Filters (genannt „Umleitungsfilter") in einer erfindungsgemäßen Architektur
des Typs aus 6 darstellt; und
-
8 eine
schematische Darstellung einer zweiten Ausführungsform des unsymmetrischen
Filters (genannt "SSL") in einer erfindungsgemäßen Architektur
des Typs aus 6 darstellt.
-
Im
Folgenden und ohne in welcher Art auch immer den Geltungsbereich
einzuschränken,
wird, sofern nichts Anderes erwähnt
ist, von der bevorzugten Anwendung der Erfindung ausgegangen, d.h. von
dem Fall eines über
einen Proxy auf einer Chipkarte gesicherten Multimediaflusses, wobei
die Chipkarte mit einem an das Internet Netzwerk angeschlossenen
Terminal kommuniziert, wobei an das Internet Netzwerk auch WEB-Server angeschlossen sind.
-
Bevor
das Verfahren zu Aktivierung der Anwendungen auf einer erfindungsgemäßen Chipkarte beschrieben
und eine Architektur für
die Umsetzung unter Bezugnahme auf 2 in Einzelheiten
dargestellt wird, scheint es zunächst
nützlich
zu sein, kurz die wesentlichen Merkmale der Kommunikationsprotokolle
in den Netzwerken zu skizzieren. Die Architektur der Kommunikationsnetzwerke
wird durch verschiedene Schichten beschrieben. Beispielsweise umfasst
der von der „ISO" definierte „OSI" („Open System
Interconnection")
Standard sieben Schichten, von den sog. niederen Schichten (z. B.
der sog. „physischen" Schicht, die den
Träger
der physischen Übertragung
betrifft) bis hin zu sog. höheren
Schichten (z. B. die sog. Anwenderschicht) über Zwischenschichten, insbesondere
der sog. „Transportschicht". Eine gegebene Schicht
bietet der nächst
höheren Schicht
ihre Dienste und fordert über
geeignete Schnittstellen andere Dienste von der nächst niederen
Schicht. Die Schichten kommunizieren mit Hilfe von Primitiv-Elementen. Sie können auch
mit Schichten der gleichen Ebene kommunizieren. In gewissen Architekturen
können
mehrere Schichten fehlen.
-
In
einer Umgebung des Typs Internet gibt es fünf Schichten, genauer gesagt,
von der höchsten
zur niedrigsten Schicht: die sog. Anwenderschicht („http", „ftp", „Email", etc.), die sog.
Transportschicht („TCP"), die Netzadressenschicht
(„IP"), die sog. Schicht
der Datenlinks („PPP", „Slip", etc.) und die sog.
physische Schicht.
-
Außer den
spezifischen Kommunikationsprotokollschichten, Bezugsnr. 13 und 23a,
die jeweils auf Terminal 1 und Chipkarte 2a liegen,
entsprechen die anderen materiellen oder Softwareelemente dem Stand
der Technik und es ist nicht erforderlich, diese in Einzelheiten
erneut zu beschreiben.
-
Terminal 1 umfasst
die Zugangsleitungen 11 zum Netzwerk IN, das z. B. aus
einem Modem besteht. Diese Leitungen fassen die unteren Softwareschichten
C1 und C2, die den „physischen" und „Datenlink"-Schichten entsprechen.
-
Die
oberen Schichten C3 und C4 sind
ebenfalls dargestellt, die den Schichten „Netzwerkadresse" („IP" im Falle des Internet)
und „Transport
(„TCP") entsprechen. Die
obere Anwendungsschicht („http", „ftp", „Email", etc.) wird nicht
dargestellt.
-
Die
Schnittstelle zwischen den unteren Schichten C1 und
C2 und den höheren Schichten C3 und
C4 wird von einer Softwareschicht dargestellt,
die im Allgemeinen „Driver
niedere Schichten" genannt wird.
Die höheren
Schichten C3 und C4 stützen sich auf
diese Schnittstelle und werden über
Bibliotheken mit spezifischen Funktionen oder Netzwerkbibliotheken 14 umgesetzt,
mit denen sie korrespondieren. Im Fall des Internet Netzwerks wird „TCP/IP" mittels sog. „Socket"-Bibliotheken umgesetzt.
-
Dieser
Aufbau ermöglicht
einem Browser 10, Anfragen an einen Server 4 zur
Einsicht in „WEB"-Seiten („HTTP"-Protokoll) zur Übertragung von
Dateien („FTP"-Protokoll) oder
zum elektronischen Versand (Email-Protokoll) auf eine an sich ganz
und gar klassische Art zu richten.
-
Terminal 1 umfasst
ebenfalls einen Kartenleser 3, der integriert ist oder
nicht. Zur Kommunikation mit der Chipkarte 2a umfasst der
Kartenleser 3 ebenfalls zwei niedere Schichten, CC1 (physische Schicht) und CC2 (Datenlinkschicht),
die eine mit den Schichten C1 und C2 vergleichbare Rolle spielen. Die Softwareschnittstellen
mit den Schichten CC1 und CC2 werden
beispielsweise von der Spezifiszierung „PC/SC" („Teil 6,
Serviceprovider")
beschrieben. Die Schichten selbst, CC1 und
CC2 werden insbesondere, wie erwähnt, in
den Normen ISO 7816-1 bis 7816-4 beschrieben.
-
Eine
zusätzliche
Softwareschicht 16 bildet die Schnittstelle zwischen den
Anwenderschichten (nicht dargestellt) und den niederen Schichten,
CC1 und CC2. Die
wichtigste, dieser Schicht 16 zugewiesene Funktion ist
die des Multiplexens/Demultiplexens.
-
Die
Kommunikationen mit der Chipkarte 2a erfolgen gemäß einem ähnlichen
Paradigma wie das, das zur Handhabung der Dateien in einem Betriebssystem
des Typs „UNIX" (eingetragenes Warenzeichen)
verwendet wird: ÖFFNEN
(„OPEN"), LESEN („READ"), SCHREIBEN („WRITE"), SCHLIESSEN („CLOSE"), etc.
-
Auf
der Seite der Chipkarte 2a findet sich ein ähnlicher
Aufbau, d.h. Vorhandensein zweier niederer Schichten mit der Bezeichnung
CCa1 (physische Schicht) und CCa2 (Datenlinkschicht)
und einer Schnittstellenschicht 26a, die ganz ähnlich ist,
wie Schicht 16.
-
Nach
einem ersten Merkmal der Erfindung sind auf beiden Seiten, d.h.
im Terminal 1 und in der Chipkarte 2a zwei spezifische
Protokollschichten, 13 bzw. 23a vorgesehen.
-
Im
Terminal 1 kommuniziert die spezifische Schicht 13 mit
den „Drivern
niederer Schichten" 15, den
Bibliotheken 14 der Netzwerkschichten C3 und C4 und den Protokollschichten des Kartenlesers 3, d.h.
den niederen Schichten CC1 und CC2 über
die Multiplexing Schicht 16. Die spezifische Schicht 13 ermöglicht die Übertragung
von Netzwerkpaketen von und zu der Chipkarte 2a. Außerdem passt
sie bestehende Anwendungen, wie den Internet Browser 10,
Email, etc. für
Nutzungen an, die die Karte 2a einbeziehen.
-
Auf
der Seite der Chipkarte 2a findet sich ein ganz ähnlicher
Aufbau, der aus einer zusätzlichen
Instanz der spezifischen Schicht, 23a als Gegenstück zur Schicht 13 besteht.
-
Genauer
gesagt sind die spezifischen Schichten 13 und 23a in
drei Hauptsoftwarelemente unterteilt:
- – ein Modul, 130 oder 230a zur Übertragung
von Informationsblocks zwischen den Schichten 13 und 23a über die
konventionellen Schichten CC1, CC2, CCa1 und CCa2;
- – ein
oder mehrere Softwareteile, sog. „intelligente Agenten" 132 oder 232a,
die beispielsweise die Funktion der Protokollkonvertierung übernehmen;
- – und
ein Managementmodul der spezifischen Konfiguration, 131 bzw. 231a,
das einem bestimmten intelligenten Agenten gleichgestellt werden
kann.
-
Zur
Vereinfachung werden die intelligenten Agenten nachstehend, wie
bereits erwähnt, „Agenten" genannt.
-
In
Terminal 1 und Chipkarte 2a findet sich also ein
Kommunikations-Protokollstapelspeicher zwischen
den beiden Einheiten.
-
Die
Schichten der Ebene zwei (Datenlinkschichten), CC2 und
CCa2 stellen den Austausch zwischen der
Chipkarte 2a und dem Terminal 1 sicher. Diese
Schichten sind für
die Ermittlung und eventuelle Korrektur von Übertragungsfehlern verantwortlich. Es
können
verschiedene Protokolle genutzt werden, als nicht erschöpfendes
Beispiel seien folgende genannt:
- – die Empfehlung
ETSI GSM 11.11;
- – das
durch die Norm ISO 7816-3 im Zeichenmodus T = 0 definierte Protokoll;
- – das
durch die Norm ISO 7816-3 im Block-Modus T = 1 definierte Protokoll;
- – oder
das von der ISO Norm 3309 definierte Protokoll im DUe-Block „HDLC" (für „High-Level
Data Link procuedure" oder
HDLC-Prozedur).
-
Im
Rahmen der Erfindung wird vorzugsweise das Protokoll ISO 7816-3
im Block-Modus angewandt.
-
In
einer an sich bekannten Art ist jeder Protokollschicht eine Reihe
von Primitiven zugeordnet, die den Datenaustausch zwischen Schichten
der gleichen Ebene und von einer Schicht zur anderen zulassen. Beispielsweise
sind die der Ebene zwei zugeordneten Primitiven des Typs „Datenanfrage" („Data request") und „Datenversand" durch die Karte
(„Data.response") und „Datenbestätigung" („Data.confirm"), etc.
-
Spezifischer
sind die Schichten 13 und 23a verantwortlich für den Dialog
zwischen der Chipkarte 2a und dem Host, d.h. Terminal 1.
Diese Schichten ermöglichen
den Informationsaustausch zwischen einem (nicht dargestellten) Benutzer
von Terminal 1 und der Chipkarte 2a, beispielsweise über Drop-down
Menüs in
Form von Hypertext im „HTML"-Format: Sie ermöglichen
außerdem
die Einrichtung einer Konfiguration, die für den Versand und/oder Empfang
von Datenpaketen geeignet ist.
-
Wie
obenstehend angegeben umfassen die Schichten drei getrennte Einheiten.
-
Die
erste Schicht, 130 oder 230a besteht hauptsächlich aus
einer Multiplexer Software. Diese ermöglicht den Datenaustausch zwischen
der Chipkarte 2a und dem Host Terminal 1 in Form
von Protokoll-Dateneinheiten. Sie spielt eine ähnliche Rolle wie die eines
Koppelnetzes für
Datenpakete. Diese Einheiten werden über die Schicht der Ebene zwei (Schicht
Datenlinks) versandt oder empfangen. Dieses besondere Kommunikationsprotokoll
ermöglicht die
Kommunikation zumindest eines „Agentenpaares". Der erste Agent
jedes Paares, 132, befindet sich in Schicht 13 auf
der Seite des Terminals 1, der zweite, 232a, befindet
sich in der Schicht 23a, auf Seite der Chipkarte 2a.
Eine Verbindung zwischen zwei „Agenten" wird mit jeder Sitzung
hergestellt, die man „S-Agent" nennen könnte. Eine
Sitzung ist ein Datenaustausch in zwei Richtungen zwischen diesen
beiden Agenten. Wenn die eine oder die andere der Schichten 13 und 23a mehrere
Agenten umfasst, können
Agenten einer gleichen Schicht auch Sitzungen unter einander und/oder
mit den Modulen 131 und 231a, die die besonderen
Agenten darstellen, einrichten.
-
Genauer
gesagt ist ein Agent eine autonome Softwareeinheit, die je nach
Konfiguration des Terminals 1 alle oder einen Teil der
Funktionen der Schichten der Ebenen drei und vier erfüllten können.
-
Die
Agenten werden mit Eigenschaften oder bestimmten Attributen verbunden.
Zur Verdeutlichung und als nicht einschränkendes Beispiel werden die
folgenden sechs Eigenschaften mit den Agenten verbunden:
- – „Host": Agent im Terminal;
- – „Karte": Agent in der Chipkarte;
- – „Lokal": Agent, der nicht
mit dem Netzwerk kommuniziert;
- – „Netzwerk": Agent, der mit
dem Netzwerk kommuniziert (auf Seite des Terminals);
- – „Client": Agent, der eine
Sitzung einleitet;
- – „Server": Agent, der eine
Anfrage nach einer Sitzung empfängt.
-
Ein
bestimmter Agent wird durch einen Bezug identifiziert, beispielsweise
eine ganze Zahl über 16
Bit (d.h. zwischen 0 und 65535). Die höherwertige Ziffer (b15 = 1)
gibt an, ob es sich um einen lokalen Bezug (lokale Kommunikation
mit der Chipkarte oder dem Terminal) oder einen entfernten Bezug
(b15 = 0) handelt.
-
Es
gibt zwei große
Agenten-Kategorien: Agenten des Typs „Server", die über einen festen Bezug identifiziert
werden und Agenten des Typs „Client", die über einen
variablen Bezug identifiziert werden, der als vorübergehend
bezeichnet werden kann und von dem Modul zur Konfigurationsverwaltung 131 oder 231a ausgestellt
wird.
-
Die
Agenten kommunizieren unter einander mit sog. „Protokoll-Dateneinheiten" oder „pdu" („protocol
data unit" in angelsächsischer
Terminologie), die einen Adress- und einen Quellbezug umfassen. Diese
bestimmte „pdu" könnte man
unter Bezugnahme auf den gängigen
englischen Begriff „Smart
Card" (Chipkarte)
auch „SmartTP
pdu" nennen. Die „pdu" verwenden insbesondere
die oben definierten Bezüge.
-
Eine „SmartTP
pdu" oder im Folgenden
ganz einfach „pdu" genannt umfasst
einen Quellbezug, einen Zielbezug, eine Gruppe von Bits, die Flaggen oder „flags" darstellen, die
die Art der „pdu" angeben und optionale
Daten:
- – die
Flagge „OPEN" (offen) wird gesetzt,
um das Öffnen
einer Sitzung anzugeben;
- – die
Flagge „CLOSE" (geschlossen) gibt
das Schließen
einer Sitzung an; und
- – die
Flagge „BLOCK" (blockiert) gibt
an, dass der Agent auf eine Antwort seines Korrespondenten wartet
und alle Aktivitäten
aussetzt.
-
Eine „pdu", die keine Daten
umfasst, wird Jeton genannt.
-
Die
Einheit „SmartTP" prüft das Vorhandensein
des Adressat-Agenten und sorgt für
die Übertragung
eines Pakets an ihn.
-
Eine
Agentensitzung „S-Agent" weist drei bemerkenswerte
Zustände
auf, d.h.:
- – einen nicht verbundenen Zustand:
es ist keine Sitzung mit einem anderen Agenten geöffnet;
- – einen
verbundenen Zustand: es ist eine Sitzung mit einem anderen Agenten
geöffnet,
da eine Sitzung „S-Agent" durch ein Bezugspaar
identifiziert wird; und
- – einen
blockierten Zustand, da der Agent verbunden ist und auf die Antwort
seines Korrespondenten wartet.
-
Folgender
Mechanismus führt
zur Einrichtung einer Sitzung „S-Agent":
- – es wird
eine neue Instanz eines Client Agenten geschaffen (seitens der Chipkarte
oder des Terminals), wobei dieser Agent über einen vorübergehenden
pseudoeinmaligen Bezug identifiziert wird;
- – der
Client-Agent gibt eine „pdu" an einen Server Agenten
aus (dessen Bezug im Übrigen
bekannt ist), wobei die Fahne „OPEN" gesetzt ist und
der Client Agent geht je nach Wert der Fahne „BLOCK" in den Zustand verbunden oder blockiert über; und
- – der
Server-Agent empfängt
die „pdu" mit der Flagge „OPEN" und geht in den
verbunden Zustand über.
-
Wenn
die Sitzung geöffnet
ist, tauschen die beiden Agenten Daten über „pdu" aus. Folgender Mechanismus führt zum
Schließen
einer Sitzung:
- – ein Agent sendet eine „pdu" mit der Flagge „CLOSE" gesetzt (die u.
U. auch Daten umfasst); und
- – der
andere Agent empfängt
eine „pdu" mit der Flagge „CLOSE" gesetzt (die u.
U. auch Daten umfasst) und die Sitzung „S-Agent" geht über in den Zustand nicht verbunden.
-
3 ist
eine schematische Darstellung des Diagramms der Sitzungszustände „S-Agent", wie obenstehend
beschrieben.
-
Die
Schichten 130 und 230a verwalten (nicht dargestellte)
Tabellen mit der Liste der vorkommenden Agenten auf Seiten des Host-Terminals 1 und
der Chipkarte 2a.
-
In
der Praxis ermöglichen
die Agenten den Datenaustausch (beispielsweise von Hypertext), können aber
auch Netzwerktransaktionen auslösen.
-
Die
Module zum Konfigurationsmanagement 131 bzw. 231a können mit
besonderen Agenten gleichgesetzt werden. So verwaltet beispielsweise das
Modul 131 auf Seiten des Host Terminals 1 insbesondere
Informationen zur Konfiguration dieses Terminals (Betriebsmodi),
listet andere vorhandene Agenten, etc. Das Modul 231a auf
Seite der Chipkarte 2a hat analoge Funktionen. Diese beiden
Agenten können
mit einander verbunden werden, um eine Sitzung einzuleiten.
-
Nach
einem ersten erfindungsgemäßen Merkmal
verhält
die Chipkarte 2a sich wie ein „WEB"-Client/Server.
-
Praktisch
wird die Chipkarte 2a vorteilhafter Weise über die
Nutzung einer „URL"-Adresse („Universal Resource Locator") angesprochen, die
eine Schleifenverbindung auf dem Terminal 1 selbst definiert
und nicht zu einem externen Server nachführt. Beispielsweise ist die
Struktur dieser „URL" normalerweise folgende:
http://127.0.0.1:8080
(1),
wobei 127.0.0.1 die „IP"-Adresse zur Schleifenverbindung
ist und 8080 die Port-Nummer angibt.
-
4 stellt
vereinfacht die logische Architektur eines erfindungsgemäßen Systems
des Typs dar, der in 2 dargestellt, aber detaillierter
dargestellt ist. Die Chipkarte 2a umfasst mehrere Agenten,
von denen nur zwei dargestellt wurden: ein Agent 232a1 des sog. „WEB"-Typs und ein Agent eines nicht genau
definierten Typs 232a2 . Der logische
Stapel umfasst die niederen Protokollschichten mit dem Bezug 200a,
entsprechend der Norm ISO 7816-3 (2: CCa1 und CCa2), den
Befehlsmanager „APDU" 201a1 und
den Paketmultiplexer 230a, der als Schnittstelle zu den
Agenten dient, insbesondere zum Agent „WEB" 231a1 .
-
Auf
Seite des Terminals gibt es zwei Stapel, der eine kommuniziert mit
dem Internet IN, der andere mit der Chipkarte 2a. Der eine
Stapel umfasst die Elemente 11 (2: C1 und C2) für den Netzwerkzugang
(OSI-Normen 1 und 2) und die Protokollschichten „TCP/IP" (2: C3 und C4), Bezug 100.
Die letztgenannten Schichten kommunizieren mit dem „WEB"-Browser 10.
Der andere Stapel umfasst die niederen Protokollschichten, Bezug 101,
entsprechend den ISO 7816-3 Normen (2: C1 und C2), den Befehlsmanager 102 „APDU" und den Paketmultiplexer 130,
der mit den Agenten kommuniziert, von denen nur einer, 132,
dargestellt ist. Es wird vorausgesetzt, dass letzterer des „Typs Netzwerk" ist und außerdem einerseits über die
Schichten „TCP/IP" 100 mit
dem Browser 10 und andererseits über diese gleichen Schichten „TCP/IP" 100 und
das Element 11 für
den Zugang zum IN-Netzwerk mit dem Internet-Netzwerk IN kommunizieren.
-
Der
Befehlsmanager „APDU" 201a ist
ebenfalls mit einer oder mehreren Schichten der Anwendungsebene
verbunden, die ganz einfach Anwendungen genannt werden. Bei diesen
Anwendungen, A1,... Aj,...,
An handelt es sich, wie bereits erwähnt, um
Anwendungen konventioneller Art, die als „cardlet" bezeichnet wurden.
-
Zusammenfassend
kann die Client/Server „WEB"-Funktion der Chipkarte 2a durch
die Einbeziehung des Agenten „WEB" 232a1 in
die Chipkarte und des Netzwerkagenten 132 in Terminal 1 und
die Durchführung
von Sitzungen zwischen Agenten, wie beschrieben, umgesetzt werden.
-
Die
Chipkarte 2a stellt also die Client/Server „WEB"-Funktion dar. Gemäß eines
erfindungsgemäßen Verfahrensmerkmals
kann irgendeine konventionelle Anwendung A1 bis
An des vorgenannten Typs „GCA" über diesen „WEB" Client/Server aktiviert werden, dies
entweder über
den „WEB" Browser 10 im Terminal 1 oder,
anhand von Sitzungen zwischen Agenten, über einen entfernten Browser 4 an
egal welchem Punkt im Internet IN. Nach erfindungsgemäßem Verfahren
ist es nicht erforderlich, die Anwendungen, A1 bis
An neu zu schreiben, sie werden umgesetzt,
wie sie sind.
-
Nach
einem anderen erfindungsgemäßen Aspekt
fügt man über oben
beschriebenen Agenten-Mechanismus eine sog. „Proxy TCP/IP"-Funktion direkt
auf der Chipkarte ein. Diese Funktion wird über eine besondere Softwarefunktion,
nachstehend „Filter" genannt, wahrgenommen.
-
Die „Proxy"-Funktion ist im
Bereich der Internet-Anwendungen wohl bekannt, kann jedoch nicht in
Chipkarten der Systeme gemäß Stand
der Technik eingefügt
werden. Bevor eine erfindungsgemäße Architektur
beschrieben wird, wird kurz auf die Merkmale eines klassischen „Proxy" nach Stand der Technik eingegangen,
wobei auf 5 verwiesen wird.
-
In
der „TCP/IP"-Technologie bezeichnet
man mit „Proxy" eine Softwareeinheit
Py, die einerseits einen Server „TCP/IP" Sv und andererseits einen Client „TCP/IP
C/ umsetzt. Die Softwareeinheit Py stellt eine Verbindung zwischen
einem lokalen Client und einem anderen entfernten TCP/IP-Server
her.
-
Üblicherweise
erfüllt
ein Proxy Py Filter- und/oder Sicherheitsfunktionen. Im Allgemeinen stellt
beispielsweise ein Proxy „http" die Verbindung eines
Browsers 10 des Terminals 1 mit einem „WEB"-Server 4 in
einem Betrieb sicher (was unter dem Begriff „Firewall" bekannt ist). Es kann sich dabei auch
um einen sog. „SSL" Proxy handeln, der
als lokaler Proxy des Terminals definiert werden kann und die erforderlichen
Sicherheitsdienste leistet (Authentifizierung – Vertraulichkeit – Integrität), die
zur Einrichtung eines gesicherten Tunnel durch das Internet Netzwerk
IN erforderlich sind.
-
Nachstehend
wird eine Softwarearchitektur beschrieben, die gemäß einem
zusätzlichen
Aspekt der Erfindung und unter Bezugnahme auf die 6 die „Proxy"-Funktion direkt
in eine Chipkarte integriert.
-
Die
den vorherigen Figuren gemeinsamen Elemente weisen die gleichen
Bezugsnummern auf und werden nur bei Bedarf erneut beschrieben.
Zur Vereinfachung der Beschreibung werden die Agenten auf Seite
des Terminals 1 nur unter der Bezugsnr. 132 zusammengefasst,
die auf Seite der Chipkarte 2a nur unter der Bezugsnummer 232a.
Im Folgenden wird zwischen diesen Agenten dahingehend unterschieden,
dass „T" für „Terminal" und „S" für „Smart Card" (Chipkarte) verwendet
wird, wobei die Buchstaben mit tiefgestellten Ziffern verbunden
werden. Im Folgenden wird der „Proxy" 27 auf
der Chipkarte 2a „Smart
Proxy" genannt.
-
Der „Smart
Proxy" 27 wird über Verbindung von
vier Agenten durchgeführt,
zwei auf Seiten des Terminals 1: T1 und
T2 und zwei auf Seiten des Chipkarte 2a:
S1 und S2 und einer
Filterfunktion 28, wie nachstehend beschrieben:
- – ein
Agent „Terminal/Client/Netzwerk" T1 stellt
einen Server TCP/IP (beispielsweise auf Port 8080) dar;
- – ein
Agent „Karte/Server/lokal" S1 wird über eine Sitzung
mit dem Agenten T1 verbunden, der typischerweise
die Funktionen eines „WEB"-Servers erfüllt;
- – eine
Filterfunktion 28, die aufgrund von Informationen des Agenten
T1 bestimmt wird, wobei letztgenannte Funktion „pdu" von den Agenten
S1 und S2 empfangen
oder an diese senden kann;
- – ein
Agent S2 „Karte/Client/lokal", wobei eine Instanz
dieses Agenten dynamisch durch die Filterfunktion 28 geschaffen
wird und S2 eine Sitzung mit dem „Netzwerk"-Agenten
T2 öffnet,
dem er die Adresse des entfernten Internet Servers 4 angibt, mit
dem S2 verbunden werden möchte; und
- – ein
Agent T2 „Terminal/Server/Netzwerk" erfüllt die
Funktion eines „TCP/IP" Client, der mit
einem Internet Server 4 verbunden ist.
-
Der
Mechanismus zur Einrichtung des „Smart Proxy" 27 wird
untenstehend beschrieben.
-
Ein „TCP"-Client, der nachstehend „cTCP" genant wird, typischerweise
der „WEB" Browser 10 öffnet eine
Verbindung mit dem „Netzwerk"-Agenten T1. Anschließend wird eine Sitzung T1-S1 geschaffen. Beispielsweise
führt folgende
URL:
httpa/127.0.0.1:8080/?des1=xxx.com:80/yyy/content.html
(2)
zur Eröffnung
einer Sitzung zwischen den Agenten T1 und
S1.
-
Auf
der Grundlage der zwischen T1 und S1 ausgetauschten Daten bestimmt die mit dem
Agenten S1 verbundene Anwendung (ein WEB-Server), welche
Filterfunktion 28 anzuwenden ist. So ist „des1" die Bezeichnung
eines bestimmten Filters, „xxx.com" ist die willkürliche Bezeichnung
eines Internet-Servers, beispielsweise des Servers 4, „80" ist eine Port-Nummer
und „/yyy/content.html" ist die willkürliche Bezeichnung
einer Datei auf diesem Server, die im Beispiel aus einer Seite in „HTML"-Sprache besteht.
Im Beispiel ist der Filter „des1" ein Filter, der nach
einem Algorithmus des Typs „DES" (Data Encryption
Standard") eine
Ent- und/oder Verschlüsselung
vornehmen kann.
-
Mit
anderen Worten kapselt die URL „Karte" (2) eine andere URL für die Außenwelt
ein, wobei der erste Teil dieser URL aus einer URL Schleifenverbindung
besteht, wie durch Relation (1) festgelegt.
-
Der
Filter 28 „des1" erzeugt eine Client
S2 Instanz; es wird eine Sitzung zwischen
den Agenten S2 und T2 eröffnet. Die
in die erste „pdu" („pdu OPEN") eingefügten Daten
geben den Namen des Internet Servers („xxx.com") und die dazugehörige Port-Nummer (80) an. Der
Agent T2 öffnet eine Verbindung des Typs „TCP" mit dem entfernten
Server „sTCP" („zzz.com"). Sobald diese erstellt
ist, wird ein Jeton an S2 gesandt.
-
Am
Ende dieses Austauschs ist ein „Smart Proxy" 27 erzeugt
worden, eine Filterfunktion 28, die in die Chipkarte 2a eingebettet
ist, ist in der Lage, die Daten (aus dem Internet Netzwerk IN) zu
verarbeiten, die von den „Netzwerk"-Agenten empfangen
wurden. Der Filter 28 führt
eine logische Kontrolle der von den „Netzwerk"-Agenten T1 und
T2 gesandten Daten durch. Er verhält sich
wie ein „Proxy
TCP", der den Datenaustausch
zwischen dem Client „cTCT" und dem Server „sTCP" kontrolliert.
-
Zur
Verdeutlichung sind in 6 willkürlich gewählte Bezugsnummer der verschiedenen
Agenten dargestellt worden: fest, „2" und „5" für
Agenten des Typs „Server", bzw. T2 und
S1 und variable oder vorübergehende, „15360" und „2559" für die Agenten des
Typs „Client", bzw. T1 und
S2.
-
Nachstehend
folgen genauere Beschreibungen der bestimmten Filterbeispiele 28.
-
Beispiel Nr. 1: Umleitungsfilter
-
Ein
Umleitungsfilter verbindet mit einer Karten-URL, beispielsweise
folgender URL:
(http//127.0.0.1:8080/eMail) (3)
eine Anfrage „http" an einen externen
Server (beispielsweise www.email.com), der dazu verwendet werden
kann, über
die bekannte Methode „POST http" Identifizierungsdaten
zu versenden: „login" und Passwort beispielsweise,
in Verbindung mit einem kostenlosen Mailserver „Email". Der Filter kann auch die Identifizierung/Authentifizierung
des Serviceempfängers über sicherere
Methoden auf der Grundlage von Challenge sicherstellen (diese Methoden
werden beispielsweise in der Norm „http 1.1." beschrieben).
-
Der
Einsatz eines Umleitungsfilters umfasst typischerweise folgende
Phasen:
- 1. Der Browser 10 öffnet eine
Verbindung mit dem „Netzwerk"-Agenten T1 (IP-Adresse: 127.0.0.1:8080) und die Sitzung
T1-S1 wird mit dem
WEB-Server der Karte 2a eröffnet;
- 2. Die Anfrage „http" (gemäß Empfehlung „http 11 rfc
2068") wird von
dem Browser 10 an den „WEB"-Agenten S1 übermittelt
und dieser stellt aufgrund des Dateinamens „/eMail" den Anruf eines Filters 28 fest,
bei dem es sich in diesem bestimmten Fall um einen Umleitungsfilter
handelt: von diesem Augenblick an werden alle von dem „Netzwerk"-Agenten T1 empfangenen Daten von diesem bestimmten
Filter 28 verarbeitet;
- 3. Eine Client S2 Agenteninstanz wird
vom Filter 28 geschaffen;
- 4. S2 öffnet eine Sitzung mit dem „Netzwerk"-Agenten T2 und die erste versandte „pdu" (Flagge „OPEN" gesetzt) umfasst
die Adresse und den Port des entfernten WEB-Servers 4 (www.email.com im
vorliegenden Beispiel);
- 5. der Agent T2 öffnet eine Verbindung mit dem entfernten „WEB"-Server 4 und
nach dieser Verbindungsöffnung
wird ein Jeton an Agent S2 gesandt;
- 6. Agent S2 übermittelt eine „http"-Anfrage an den entfernten „WEB"-Server 4;
- 7. Dieser Server 4 übermittelt
typischerweise einen Umleitungs-Header „http", der mitteilt, dass der Vorgang erfolgreich
durchgeführt
wurde und liefert dem Browser 10 eine neue Verbindungs-URL
und ein Softwareteil, das unter der Bezeichnung „cookie" bekannt ist und vom Browser zu verwenden
ist;
- 8. Die Filterfunktion 28 nimmt keinerlei Verarbeitung
dieser Daten vor; und
- 9. Die Daten werden dem „WEB"-Browser 10 über die
Sitzung S1-T1 übertragen.
-
Wenn
der Browser 10 den Umleitungs-Header erhält, stellt
er mit dem geeigneten Cookie eine Verbindung zum Mailserver 4 her.
Typischerweise erhält
er als Antwort eine Eingangsseite in „HTML"-Sprache.
-
Beispiel Nr. 2: Filter „http – des"
-
Nachfolgend
wird eine „HTML"-Seite betrachtet,
die mit einem Algorithmus des vorgenannten Typs „DES" verschlüsselt ist. Diese Normseite, beispielsweise „/yyy/content.html" befindet sich auf einem „WEB"-Server 4: „zzz.com:80". Eine Filterfunktion 28 auf
der Karte (willkürlicher
Name "?des1") wird einen Entschlüsselungsalgorithmus
anwenden, d.h. die umgekehrte Funktion (oder „DES–1)
und zwar mit einem Schlüssel,
der mit einem Index 1 verbunden wird.
-
Folgende
URL:
http://zzz.com/yyy/content.html (4)
die mit Ausgangspunkt
in einem Browser 10 ausgeführt wird, bewirkt, dass die
Datei „content.html" von dem Server „zzz.com" geladen wird. Da
die „HTML"-Seite verschlüsselt ist,
werden die gemäß Übereinkunft
der „HTML"-Sprache verwendeten
Marker „html> und </html" zur Markierung von
Anfang und Ende des Dokuments nicht unverschlüsselt angezeigt und der Browser 10 zeigt
entweder über
inkohärente
Zeichen oder eine Fehlermeldung an, dass eine „HTML"-Seite nicht empfangen wurde.
-
Folgende
URL:
http://127.0.0.1:8080/?des1=zzz.com:80/yyy/content.html
(5)
zeigt der Karte an, dass folgende Seite über einen Filter 28 des
Typs „DES" mit Schlüsselindex
1 zu laden ist:
http://zzz.com:80/yyy/content.html (6)
-
Das
Laden der Seite „content.html" erfolgt folgendermaßen:
- 1. Der Browser 10 öffnet eine Verbindung mit den „Netzwerk"-Agenten T1 (IP-Adresse: 127.0.0.1:8080) und die Sitzung
T1-S1 wird mit dem „WEB"-Server der Chipkarte 2a eröffnet;
- 2. Die Anfrage „http" („http 1.1
rfc 2068") wird
vom Browser 10 an den „WEB"-Agenten S1 übertragen und
ausgehend vom Dateinamen „/?des1=zzz.com:80/yyy/content.html/" ermittelt der „WEB"-Agent S1 den
Anruf einer Filterfunktion 28 des Typs „DES" (Indexschlüssel 1): von diesem Augenblick
an werden alle von dem „Netzwerk"-Agenten T1 empfangenen Daten von dem Filter 28 des
Typs „DES" in Verbindung mit
dem Indexschlüssel 1 bearbeitet;
- 3. Eine Client S2 Agenteninstanz wird
vom Filter 28 geschaffen;
- 4. S2 öffnet eine Sitzung mit dem „Netzwerk"-Agenten T2: die erste versandte „pdu" (Flagge „OPEN" gesetzt) umfasst Adresse und Port des
entfernten „WEB"-Servers 4 („zzz.com").
- 5. Der Agent T2 öffnet eine Verbindung mit dem entfernten „WEB"-Server 4 und
nach der Verbindungsöffnung
wird ein Jeton an Agent S2 gesandt;
- 6. Der Agent S2 übermittelt eine „http"-Anfage an den entfernten
Server 4;
- 7. Der entfernte Server 4 überträgt einen „http"-Header, der die Art der Datei angibt
und übermittelt
die Datei selbst: diese Daten werden durch die Sitzung T2-S2 mit der Filterfunktion 28 übertragen;
- 8. Die Filterfunktion 28 bearbeitet den „http"-Header nicht und
entschlüsselt
die „HTML"-Seite; und
- 9. Die entschlüsselten
Daten werden über
die Sitzung S1-T1 an
den „WEB"-Browser 10 übertragen.
-
Das
Ergebnis dieses Vorgangs ist, dass der Browser 10 eine
entschlüsselte „HTML"-Seite empfängt. Der
Umleitungsvorgang kann über
ein Script (typischerweise in „Java
Script" Sprache,
Markenzeichen) automatisiert werden. Beispielsweise leitet ein auf
einer „HTML"-Seite (willkürlich „content.html" genannt) enthaltenes
Script die URL um:
http://zzz.com/yyy/xcontent.html (7) nach
http://127.0.0.1:8080/?des1=zzz.com/yyy/content.html
(8),
wobei xcontent.html und content.html willkürlich gewählte Bezeichnungen
zweier „HTML"-Seiten darstellen.
-
Beispiel Nr. 3: „SSL"-Filter
-
Das „Secure
Socket Layer" oder „SSL" genannte Protokoll
wird weitestgehend für
Anwendungen des Typs „WEB" verwendet. Mit ihm
können „gesicherte
Tunnel" zwischen
einem Client (typischerweise dem Browser 10) und einem
Server geöffnet werden. Über „SSL" kann der Server
authentifiziert werden und können
Vertraulichkeit und Integrität
der ausgetauschten Daten sichergestellt werden. Dazu wird ein gemeinsames
Geheimnis auf der Grundlage eines sog. öffentlichen, dem Server eigenen
Schlüssels
konstruiert. Von dem gemeinsamen Geheimnis wird ein Sitzungsschlüssel abgeleitet
und stellt beispielsweise die Verschlüsselung der Information über einen
Algorithmus des Typs „Triple
DES" sicher. Wie an
sich wohl bekannt, wird auch eine Technik eingesetzt, bei der Authentifizierungszertifikate
umgesetzt werden.
-
Die
Bedeutung der Umsetzung des „SSL"-Filters direkt in
der Chipkarte 2a ist, dass die Überprüfung des Zertifikats des öffentlichen
Schlüssels
des Servers (das den wesentlichen Teil der Systeme mit öffentlichem
Schlüssel
ausmacht) von der Chipkarte durchgeführt wird und nicht von einer
Software im a priori für
wenig sicher gehaltenen Terminal. Klassischerweise gibt ein (nicht
dargestellter) Benutzer oder Internet-Nutzer persönliche Identifizierungsdaten
an, sobald eine SSL-Sitzung eröffnet
ist, die klassischerweise aus der Verbindung eines „Login" mit einem Passwort
bestehen und unverschlüsselt über eine
Tastatur (1A: 6a)
in Terminal 1 eingegeben werden. Ein weiterer Vorteil einer „SSL"- Sitzung mit Ausgangspunkt in der Chipkarte 2a ist,
dass „Login" und Passwort von
der Chipkarte 2a und nicht vom Benutzer geliefert werden.
-
Eine „SSL"-Verbindung läuft folgendermaßen ab:
Im
Folgenden wird eine „HTML"-Seite betrachtet,
die über
eine „SSL"-Sitzung eingesehen
werden soll. Diese beispielsweise „/yyy/content.html" benannte Seite befindet
sich auf einem entfernten WEB-Server 4 (mit willkürlicher
Bezeichnung www.bank.com). Eine bestimmte Filterfunktion 28 auf
der Karte (willkürlich „?ssl1" genannt) führt das
SSL-Protokoll durch und verwendet ein mit Index 1 verbundenes Login
und ein Passwort.
-
Folgende
URL:
http://127.0.0.1:8080/?ssl1=www.bank.com:80/yyy/content.html
(9)
weist die Chipkarte 2a an, die Seite „/yyy/content.html" unter Anwendung
des Protokolls „SSL" zu laden.
-
Das
Laden der Seite „content.html" erfolgt folgendermaßen:
- 1. Der Browser 10 öffnet eine Verbindung mit dem „Netzwerk"-Agenten T1 (IP-Adresse: 127.0.0.1:8080) und die Sitzung
T1-S1 wird mit dem
WEB-Server der Chipkarte 2a eröffnet;
- 2. Die Anfrage „http" (entsprechend „http 1.1
rfc 2068") wird
von dem Browser 10 an den „WEB"-Agenten S1 und
ausgehend von dem Dateinamen „/?ssl1=www.bank.com:80/yyy/content.html" übertragen und der „WEB"-Agent S1 stellt
den Anruf einer bestimmten Filterfunktion 28 des Typs „SSL" (mit Indexschlüsseln 1)
fest: ab diesem Augenblick werden alle von dem „Netzwerk"-Agenten
T1 empfangenen Daten von dem Filter „SSL" 28 verarbeitet.
- 3. Eine Client S2 Agenteninstanz wird
vom Filter 28 geschaffen;
- 4. S2 eröffnet eine Sitzung mit dem „Netzwerk"-Agenten T2 und die erste versandte „pdu" (Flagge „OPEN" gesetzt) beinhaltet
die Adresse und den Port (Nr. 443 in diesem Beispiel) des entfernten „WEB SSL"-Servers (www.bank.com:443).
- 5. Agent T2 öffnet eine Verbindung mit dem
entfernten „WEB"-Server 4 und
nach der Verbindungsöffnung
wird ein Jeton an Agent S2 gesandt.
- 6. Filter 28 beginnt über die Sitzung T2-S2 eine Verhandlung gemäß Protokoll „SSL" mit dem entfernten
Server 4;
- 7. Wenn eine „SSL"-Sitzung eröffnet wird, überträgt Filter 28 dem
entfernten Server 4 das „Login" und das Passwort und die Sitzung T2-S2 wird geschlossen;
- 8. Filter 28 eröffnet
eine neue Sitzung: S2-T2;
- 9. Filter 28 verhandelt die Wiederaufnahme der vorhergehenden „SSL"-Sitzung;
- 10. Agent S2 überträgt eine verschlüsselte „http"-Anfrage nach der
Datei „content.html" an den entfernten
Server 4;
- 11. Der entfernte Server 4 überträgt einen „http"-Header, der die Art der Datei angibt
und überträgt die Datei
selbst: diese Daten werden über
die Sitzung S2-T2 mit
der Filterfunktion 28 übertragen;
- 12. Die Filterfunktion 28 entschlüsselt die erhaltenen Daten
und überprüft deren
Integrität;
und
- 13. Die entschlüsselten
Daten werden über
die Sitzung S1-T1 an
den „WEB"-Browser 10 übertragen.
-
Das
Ergebnis dieses Vorgangs ist, dass der Browser 10 eine
entschlüsselte „HTML"-Seite empfängt. Der Umleitungsvorgang
kann über
ein Script (typischerweise ein „Java Script") automatisiert werden.
Beispielsweise leitet ein in einer „HTML"-Seite enthaltenes Script die URL weiter:
http://127.0.0.1:8080/?ssl1=www.bank.com/yyy/content.html
(10) an
http://www.bank.com/-yyy/xcontent.html(11).
-
Im
Folgenden wird ein zusätzlicher
Aspekt der Erfindung beschrieben, der es insbesondere ermöglicht,
Multimedia-Datenflüsse
gemäß unsymmetrischem
Kommunikationsprotokoll zu bearbeiten.
-
Wenn
Terminal 1 Multimedia-Daten erlangt, beispielsweise über das
Internet Netzwerk IN, verlieren diese Daten vollkommen den vertraulichen
Charakter und werden von einem im Allgemeinen wenig sicheren System
gespeichert.
-
Ein „Smart
Proxy",
der nach einem der erfindungsgemäßen Merkmale
ausgeführt
ist, stellt also eine Schlüsselvorrichtung
dar, um den Empfänger
einer bestimmten Dienstleistung zu identifizieren und zu authentifizieren.
Die Algorithmen und Schlüssel werden
auf der Chipkarte 2a gespeichert und ausgeführt. Sobald
ein bestimmter Filter 28 eine „TCP"-Verbindung mit einem entfernten Server 4 eröffnet hat, können zwei
Fälle ins
Auge gefasst werden:
- A/ Es werden feste und
geheime Schlüssel
verwendet, um die Integrität
und Vertraulichkeit der Daten sicher zu stellen: in diesem Fall
wird der Datenfluss von dem „Smart
Proxy" Filter entschlüsselt und überprüft; oder
- B/ vorübergehende
Schlüssel,
auch „Sitzungsschlüssel" genannt werden berechnet,
wenn eine Sitzung erfolgreich zwischen dem Filter 28 und dem
entfernten Server 4 eröffnet
wird: der zweite Fall kommt in vielen Sicherheitsprotokollen zur Anwendung,
die im Internet angewandt werden, beispielsweise im vorgenannten „SSL"-Protokoll oder im „IPSEC"-Protokoll.
-
Wenn
vorübergehende
Sitzungsschlüssel verwendet
werden, kommt der Berechnung der Algorithmen durch die Chipkarte 2a keine
besondere Bedeutung zu, denn diese Schlüssel werden in jedem Fall nur
einmal verwendet und ihr einziger Zweck ist, die unverschlüsselte Übertragung
von Daten auf einen wenig sicheren Terminal zuzulassen. Manchmal ist
die Verbindung mit dem Server 4 aus Sicherheitsaspekten
unsymmetrisch. Ein Identifizierungs- und Authentifizierungsverfahren
ist geheim, während
die anschließend
ausgetauschten Daten keinerlei vertraulichen Charakter haben. Daher
erscheint der Begriff des nachstehend als „kritisch" bezeichneten Datenflusses, wobei der „kritische
Datenfluss" Daten darstellt,
die vom „Smart
Proxy geheim bearbeitet werden müssen.
Vorübergehende
Sitzungsschlüssel (die
manchmal innerhalb ein und derselben Verbindung variabel sein können) können von
dem kritischen Fluss abgeleitet und ohne besondere Sicherheitsmaßnahme von
Terminal 1 umgesetzt werden.
-
Nachstehend
wird also zwischen dem kritischen Datenfluss unterschieden, der
den Datenfluss bezeichnet, der von dem „Smart Proxy zu verarbeiten ist
und dem „verschlüsselten" Datenfluss, der
auf einem nicht sicheren Terminal verarbeitet werden kann.
-
In
diesem Zusammenhang können über „pdu" (Befehls-„pdu"), die durch einen
bestimmten Wert des Flaggenfeldes identifiziert werden, Befehle an
die Agenten übertragen
werden. Diese Befehle werden von dem eigentlichen Adressat-Agenten
verarbeitet und werden nicht an einen anderen Agenten oder über das
IN-Netzwerk übertragen.
-
In
diesem Zusammenhang kann der Datenaustausch außerhalb einer Sitzung erfolgen,
auch wenn der erfindungsgemäße Mechanismus
der Agenten eingesetzt wird. Tatsächlich können zwei Agenten eine gewisse
Datenmenge austauschen, ohne über
eine Sitzung verbunden zu sein. Eine bestimmte Befehls-„pdu" zeigt einem ersten,
willkürlich A1 genannten Agenten die auszugebende Datenmenge
Q1(außer
Bezugsfeld Quelle, Zielbezug und Flagge) an und eine andere „pdu" gibt einem zweiten, willkürlich A2 genannten Agenten die von Agent A1 ausgegebene Datenmenge Q2 an,
die er empfangen darf. Die „pdu", die die Flagge „CLOSE" beinhaltet, werden
nicht außerhalb
einer Sitzung übertragen.
-
Die
Pfade der kritischen und verschlüsselten Flüsse sind
folgende: Der kritische Fluss enthält geheime Informationen, die
von dem mit dem „Smart Proxy" verbundenen Filter
zu verarbeiten sind und müssen
also zwangsläufig über die
Chipkarte 2a laufen. Der verschlüsselte Fluss kann nur von den
Agenten auf Terminal 1 verarbeitet werden, wobei ein Mechanismus
zum Datenaustausch außerhalb
der Sitzung beispielsweise verwendet wird.
-
Der
verschlüsselte
Fluss kann durch den kritischen Fluss gesichert werden.
-
Tatsächlich kann
ein Gesamtdatenfluss im Allgemeinen aus einem kritischen und einem
verschlüsselten
Fluss bestehen, was beispielsweise ermöglicht, dass ein Hochgeschwindigkeits-Datenfluss (der
beispielsweise eigentliche Multimedia-Daten darstellt) von einem
kritischen Fluss geringerer Amplitude entschlüsselt wird.
-
Die
Vorrichtungen der Erfindung lassen eine Verarbeitung eines derartigen
Hochgeschwindigkeits-Datenflusses von Multimedia-Daten durch Kommunikations-
und unsymmetrische Datenverarbeitungsprotokolle zu.
-
Beispiel Nr. 4: Unsymmetrischer
Umleitungsfilter
-
Ein
unsymmetrischer Umleitungsfilter verbindet mit einer „Karten"-URL des Typs:
http//127.0.0.1:8080/?f1=www.host.com/unFichier (12)
eine „http"-Anfrage an einen
externen Server 4, beispielsweise:
http://www.host.com/unFichier
(13)
-
Die
Verbindung zu Server 4, die eine Identifizierungs- und
Authentifizierungsphase (beispielsweise Mechanismus auf „challenge"-Grundlage) umfasst,
wird von dem mit dem „Smart
Proxy 27 verbunden Filter 28 verwaltet, der willkürlich „?f1" genannt wird. Der
Filter 28 wird als unsymmetrisch bezeichnet, denn, sobald
die Authentifizierung durchgeführt ist,
sind die mit dem Server ausgetauschten Daten nicht verschlüsselt und
laufen nicht mehr über
den Filter 28.
-
Die
Phasen zur Umsetzung eines unsymmetrischen Umleitungsfilters 28,
die schematisch durch das Diagramm von 7 dargestellt
werden (die in vereinfachter Form die erfindungsgemäße Architektur
des Systems von 6 wiederholt) sind folgende:
- 1. Der Browser 10 öffnet eine Verbindung mit dem „Netzwerk"-Agenten T1 (IP-Adresse: 127.0.0.1:8080); die Sitzung
T1-S1 wird mit dem WEB-Server
der Chipkarte 2a eröffnet;
- 2. Der Browser 10 richtet eine „http"-Anfrage an den „WEB"-Agenten S1 und,
ausgehend vom Dateinamen „/?f1=/www.host.com/unFichier" ermittelt der „WEB"-Agent S1 den
Anruf an einen bestimmten Umleitungsfilter 28 („?f1"): von diesem Augenblick
an werden alle von dem „Netzwerk"-Agenten T1 empfangenen Daten von diesem Filter 28 verarbeitet;
- 3. Eine Client S2 Agenteninstanz wird vom Filter 28 geschaffen;
- 4. S2 öffnet eine Sitzung mit dem „Netzwerk"-Agenten T2: die erste ausgegebene „pdu" (Flagge „OPEN" gesetzt) enthält die Adresse und den Port
des entfernten WEB-Servers 4 (www.host.com);
- 5. Der Agent T2 öffnet eine Verbindung mit dem entfernten „WEB"-Server 4 und,
nach der Verbindungsöffnung
wird ein Jeton an den Agenten S2 ausgegeben;
- 6. Ein Authentifizierungsverfahren erfolgt zwischen Filter 28 „?f1" und dem entfernten
Server 4 und Daten werden über die Sitzung S2-T2 ausgetauscht;
- 7. Wenn das Verfahren erfolgreich ist, sendet der Filter 28 eine
Befehls-„pdu" an den Agenten T1, die diesem genehmigt, alle außerhalb
der Sitzung von T2 empfangenen Daten zu
empfangen und sendet eine Befehls-„pdu" an den „Netzwerk"-Agenten T2,
der ihn anweist, alle vom Netzwerk erhaltenen Daten an den Agenten
T1 zu übertragen:
die Daten vom entfernten Server 4 werden über die
Agenten T2 und T1 zum
Browser 10 übertragen
und laufen folglich nicht mehr über die
Chipkarte 2a; und
- 8. Wenn die „TCP"-Verbindung unterbrochen
wird (auf Befehl des Servers 4) gibt einer der Agenten T1 oder T2 eine „pdu" mit einer Flagge
im Zustand „CLOSE" an einen der Agenten
S1 oder S2 aus und
der Filter 28 überwacht
dann, dass die Sitzungen T1-S1 und
T2-S2 abgebrochen werden.
-
Beispiel Nr. 5: unsymmetrischer „SSL"-Filter
-
Dieses
Beispiel wird schematisch durch das Diagramm der 8 dargestellt,
die in vereinfachter Form das Wesentliche der erfindungsgemäßen Architektur
des Systems der 6 aufgreift.
-
Wie
zuvor in Beispiel Nr. 3 gezeigt, kann ein „SSL"-Filter mittels einer „Karten"-URL (z. B. die der Relation
(11)) aktiviert werden. In einem derartigen Protokoll wird
der kritische Datenfluss zur Auswahl eines Einheitspaars verwendet,
das einen Verschlüsselungsalgorithmus
und eine Einwegefunktion zum Zerlegen („hash" in angelsächsischer Terminologie) umfasst
und eine bestimmte Anzahl damit verbundener Parameter (Schlüssel und
geläufiger
Wert der „hash"-Funktion). Nach
beendeter Verhandlungsphase ist die Ausführung dieser Algorithmen in
der Chipkarte 2a nicht mehr von besonderem Interesse, da die
Daten unverschlüsselt
aus dem Internet Netzwerk IN nach Terminal 1 geleitet werden.
-
Vorteilhafterweise
kann man also einen zusätzlichen
Agenten T3 (des Typs Server) verwenden, dem
eine „SSL"-Funktion zufällt. Dieser
Agent T3 befindet sich in Terminal 1.
Wenn die Parameter der Sitzung „SSL" verhandelt worden sind, öffnet der
Filter „SSL" 28 eine
Sitzung zwischen einem zusätzlichen Client-Agenten
S3 (auf Seite der Chipkarte 2a)
und dem „SSL"-Serveragenten T3 (auf Seite des Terminals). Bei Sitzungseröffnung wird
der Agent T3 mit Schlüsselwerten „DES" und den laufenden Parametern der „hash"-Funktion initialisiert.
Der Filter „SSL" 28 sendet
eine Befehls-„pdu" an den Agenten T2, die ihm die Rückübertragung der Daten in das
Netzwerk IN ermöglicht,
die außerhalb
einer Sitzung von T3 ausgegeben wurden und
die Umleitung der aus dem Netz empfangenen Daten auf T3 ermöglicht.
Der „SSL"-Filter 28 schickt
dem Agenten T3 eine Befehls-„pdu", um diesem zu ermöglichen,
außerhalb einer
Sitzung von T1 und T2 ausgegebene
Daten zu empfangen. Der „SSL"-Filter schickt dem
Agenten T1 eine Befehls-„pdu", die ihm ermöglicht, Daten, die von T3 außerhalb
der Sitzung ausgegeben wurden, in das IN-Netzwerk zurück zu senden
und die aus diesem Netzwerk IN erhaltenen Daten auf T3 umzuleiten.
Dabei wird ein „Tunnel" außerhalb
der Sitzung im Terminal 1 zwischen T1-T2-T3 eingerichtet.
Wenn ein Agent T1 oder T2 die
mit ihm verbundene Sitzung schließt, schließt der Filter 28 die
beiden anderen übrig
bleibenden Sitzungen.
-
Unsymmetrischer Filter,
allgemeiner Fall
-
Allgemeiner
und unter erneuter Bezugnahme auf eines der Diagramme der 7 oder 8 sind
die Phasen des Verfahrens, bei denen ein unsymmetrischer Filter 28 eingesetzt
wird folgende:
Ein „Smart
Proxy" 27 (6)
wird ausgehend von einer „Karten"-URL mittels zweier
Sitzungen T1-S1 und T2-S2 umgesetzt. Der
bestimmte durchzuführende Filter 28 wird
ausgehend von dieser URL festgelegt. Zunächst kontrolliert der Filter 28 den
Datenfluss zwischen dem Client „TCP" (Browser 10) und dem entfernten
Server 4. Am Ende einer Authentifizierungs- und Verhandlungsphase
wird ein Satz Sicherheitsparameter erlangt. Er besteht aus einem
kritischen Datenfluss.
-
Der
Filter 28 eröffnet
dann eine Sitzung mit einem Sicherheitsagenten (beispielsweise T3), der das mit einem Satz Parameter verhandelte
Protokoll umsetzt, die von dem Filter 28 bei Sitzungseröffnung definiert
wurden. Der Filter 28 stellt einen „Tunnel" zur Datenübertragung außerhalb
der Sitzung T1-T2-T3 her. Beispielsweise wird eine vorbestimmte Datenmenge
von der Kette T1-T2-T3 außerhalb
des Bandes übertragen.
In anderen Worten wird der verschlüsselte Datenstrom von der Einheit
T1-T2-T3 verarbeitet
und läuft
folglich nicht über
die Chipkarte 2a. Die kritischen Daten können anhand
verschiedener Methoden identifiziert werden: regelmäßig festgelegte
Länge der
verschlüsselten
Daten, Marken in eine „TCP"-Paket über einen Urgent Pointer, etc.
Diese Methoden sind an sich bekannt. Im Gegensatz zu den verschlüsselten
Daten werden die kritischen Daten von Agenten des Terminal 1,
T1 oder T2 an den Filter 28 übertragen.
Letzterer ändert über eine
Befehls-„pdu" die funktionellen
Parameter des Agenten T3 entsprechend. Wenn
ein Agent des Terminals 1, T1 oder
T2 die Sitzung, mit der er verbunden ist
schließt, schließt der Filter
die beiden übrigen
Sitzungen.
-
Ganz
allgemein kann der verschlüsselte
Datenfluss außerhalb
aller mit Sicherheitsfragen zusammenhängenden Aspekte verschiedene
Veränderungen
durchmachen, die beispielsweise von einem zusätzlichen, mit Agent T3 vergleichbaren Agenten durchgeführt werden.
Der Begriff „Sicherheit" ist in der am weitesten
gefassten Akzeptanz zu verstehen: Vertraulichkeit, Autorisierung,
Einkapselung oder Signatur, insbesondere über die Nutzung von „Zertifikaten", etc.
-
In
diesem Fall, wie zuvor, kann der Filter 28 die Parameter
des Agenten T3 entsprechend über die Nutzung
einer bestimmten „pdu" ändern.
-
Um
eine klarere Vorstellung zu bekommen und als nicht einschränkendes
Beispiel kann es sich um eine Formatkonvertierung handeln. Im Falle
von Audio-Daten können
verschlüsselte
Daten, die beispielsweise im Format „mp3" verschlüsselt übertragen werden, in das „wav"-Format oder jedes andere vom Terminal 1 akzeptierte
Format konvertiert werden. Für
Video-Daten gilt
gleichermaßen,
dass im „MPEG" verschlüsselt empfangene
Daten in das Format „avi" oder jedes andere
vom Terminal 1 akzeptierte Format konvertiert werden können.
-
In
jedem Fall läuft
nur ein kleines Datenvolumen in niedriger Geschwindigkeit über die
Chipkarte 2a. Nur diese Daten sind erforderlich, um einen
geeigneten Filter auszuwählen,
der anschließend
den Durchfluss der Daten des verschlüsselten Flusses in den Terminal
und deren Verarbeitung über
die Agenten T1 und T2,
u. U. T3 steuert.
-
In
anderen Worten und Dank der erfindungsgemäßen Vorrichtungen, die die
Chipkarte einerseits in einen „WEB"-Client/Server verwandeln
und andererseits einen „Proxy" direkt in dieser
Karte umsetzen, wird die Chipkarte in die Lage versetzt, die Verarbeitung
eines Informationsflusses festgelegter Größe auf den Terminal zu übertragen,
mit dem sie verbunden ist. Daraus folgt, dass Gesamtflüsse sehr großer Bandbreite
dank der Umsetzung unsymmetrischer Kommunikationsprotokolle trotzdem
von einem Chipkartenterminal verarbeitet werden können und dabei
maximale Sicherung bewahren. Dieser hohe Sicherungsgrad ist auf
die Tatsache zurück
zu führen,
dass die grundlegenden Verschlüsselungs- und/oder
Authentifizierungsvorgänge
unter der ausschließlichen
Kontrolle der Chipkarte bleiben, wobei die sog. kritischen Flüsse über diese
fließen.
-
Beim
Lesen vorstehender Darstellung wird leicht festgestellt, dass die
Erfindung tatsächlich
ihre Ziele erreicht.
-
Jedoch
muss klar sein, dass die Erfindung sich nicht auf die explizit beschriebenen
Ausführungsbeispiele
beschränkt,
insbesondere im Verhältnis
zu 2 und 4 einerseits und 6 bis 8 andererseits.
-
Es
muss auch klar sein, dass das beschriebene Verfahren umkehrbar ist:
die Übertragungen zwischen
einem Server und dem Terminal können
in beide Richtungen durchgeführt
werden. Letzterer kann auch eine Datei mit hoher Geschwindigkeit,
immer noch unter Kontrolle der Chipkarte, auf einen entfernten Server übertragen.
In diesem Fall werden die sog. kritischen Daten der Chipkarte nach
einer eventuellen Verhandlungsphase mit dem entfernten Server von
dem Terminal geliefert.
-
Schließlich gilt,
dass, wenn das Verfahren auch detailliert für den Fall der Übertragung
eines gesicherten Multimedia-Hochgeschwindigkeits-Datenstroms beschrieben
worden ist, das erfindungsgemäße Verfahren,
wie vorstehend bereits erwähnt,
keinesfalls auf diese bestimmte Anwendung beschränkt ist.
-
Die
Erfindung betrifft auch ein Übertragungsverfahren
eines Datenflusses über
ein Netzwerk des Typs Internet zwischen mindestens einem entfernten Server
und einem Terminal mit Chipkarten-Lesegerät, wobei der Terminal Mittel
zur Informationsverarbeitung und Mittel zur Informationsspeicherung
umfasst, wobei die Mittel zur Informationsspeicherung mindestens
eine Anwendung des sog. Typs „Client TCP/IP" umfassen, die Chipkarte
Mittel zur Informationsaufbereitung und Mittel zur Informationsspeicherung
umfasst, wobei der Terminal und der Server beide an das Netzwerk
des Typs Internet angeschlossen sind, dadurch gekennzeichnet, dass
es zumindest nachstehende Phasen umfasst:
- a/
eine erste Phase, die darin besteht, in die Mittel zur Informationsspeicherung
der Chipkarte (2a) ein erstes Softwareteil (23a)
einzufügen,
das eine spezifische Kommunikations-Protokollschicht bildet;
- b/ eine zweite Phase, die darin besteht, in die Informationsspeichermittel
des Terminals (1) ein zweites Softwareteil (13)
einzufügen,
das eine spezifische Kommunikations-Protokollschicht darstellt und eine
Schnittstelle mit mindestens der Anwendung des Typs „TCP/IP" (10) bildet;
– dass das
erste und zweite Softwareteil (13, 23a) jeweils
mindestens eine erste autonome Softwareeinheit (T2,
S1) des sog. Client-Typs umfassen und eine
zweite autonome Softwareeinheit (T1, S2) des Typs Server, wobei die Einheiten (T1, S1, T2,
S2) dank der Mittel zur Informationsverarbeitung
des Terminals und der Chipkarte zusammen wirken, so dass Sitzungen
zum Zweiwegeaustausch von Daten zwischen dem Terminal (1)
und der Chipkarte (2a) eingerichtet werden können und,
dass die Chipkarte (2a) Funktionen eines Client/Server
des Typs „WEB" bietet und die Einrichtung
einer Sitzung zum Zweiwege-Datenaustausch zwischen dem Terminal
(1) und einem der entfernten Server (4) über das
Netzwerk des Typs Internet (IN) möglich ist, wobei die autonomen
Softwareeinheiten mit vorbestimmten Protokoll-Dateneinheiten kommunizieren;
– dass es
in den Mitteln zum Abspeichern von Informationen der Chipkarte (2a)
eine Durchführungsphase
eines anwendenden Softwareteils mit festgelegten funktionellen Merkmalen, „Filter" (28) genannt
gibt, die Protokoll-Dateneinheiten an die und/oder von den ersten
und zweiten autonomen Softwareeinheiten (S2,
S2) des Typs Client bzw. Server empfangen
und/oder senden, die im zweiten spezifischen Softwareteil (23a)
enthalten sind, wobei die Durchführung
des anwendenden Teils unter Kontrolle der autonomen Softwareeinheit des
Typs Server (S1) erfolgt;
– dass der
Filter (28) mit den autonomen Softwareeinheiten (S2, S1) des zweiten
spezifischen Softwareteils (23a) dank der Mittel zur Informationsverarbeitung
der Chipkarte zusammen arbeitet, um eine Sitzung mit den autonomen
Softwareeinheiten (T2, T1)
des ersten spezifischen Softwareteils (13) zu eröffnen, um
vorbestimmte Merkmale des Datenflusses zu ändern, der zwischen dem Terminal
(1) und dem entfernten Server (4) übertragen
wird.