DE19906134B4 - Anbindung eines ressourcenbeschränkten, prozessorbasierten Systems an einen Mechanismus zur Signalisierung von Nachrichten - Google Patents

Anbindung eines ressourcenbeschränkten, prozessorbasierten Systems an einen Mechanismus zur Signalisierung von Nachrichten Download PDF

Info

Publication number
DE19906134B4
DE19906134B4 DE19906134A DE19906134A DE19906134B4 DE 19906134 B4 DE19906134 B4 DE 19906134B4 DE 19906134 A DE19906134 A DE 19906134A DE 19906134 A DE19906134 A DE 19906134A DE 19906134 B4 DE19906134 B4 DE 19906134B4
Authority
DE
Germany
Prior art keywords
resource
constrained
processor
based system
representative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19906134A
Other languages
English (en)
Other versions
DE19906134B8 (de
DE19906134A1 (de
Inventor
Klaus Bergner
Bernd Prof. Dr. Brügge
Andreas Rausch
Marc Sihling
Christoph Vilsmeier
Brigitte Pihulak
Dieter Hege
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE19906134A priority Critical patent/DE19906134B8/de
Publication of DE19906134A1 publication Critical patent/DE19906134A1/de
Application granted granted Critical
Publication of DE19906134B4 publication Critical patent/DE19906134B4/de
Publication of DE19906134B8 publication Critical patent/DE19906134B8/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

Verfahren zur Signalisierung von Nachrichten zwischen mindestens zwei Kommunikationsparfnern, wobei mindestens einer der Partner ein Basissystem (101) und mindestens einer der Partner ein ressourcenbeschränktes, prozessorbasiertes System (102), nämlich eine prozessorbasierte Chipkarte, ist, wobei das ressourcenbeschränkte, prozessorbasierte System (102) dazu eingerichtet ist, zu beliebigen Zeitpunkten vom Basissystem (101) getrennt oder wieder mit dem Basissystem (101) verbunden zu werden, und wobei das Verfahren, wenn das ressourcenbeschränkte, prozessorbasierte System (102) mit dem Basissystem (101) verbunden wird, folgende Schritte aufweist:
a) Ankopplung des ressourcenbeschränkten, prozessorbasierten Systems (102) über einen Zwischenverteiler (207) an einen Signalisierungsmechanismus (206) des Basissystems (101) zur asynchronen Signalisierung von Nachrichten, wobei der Signalisierungsmechanismus (206) ein Event Service ist,
b) Signalisierung von Nachrichten zu und von dem ressourcenbeschränkten, prozessorbasierten System (102), wobei
b1) vom ressourcenbeschränkten, prozessorbasierten System (102) gesendete Nachrichten über den Zwischenverteiler (207) an den Signalisierungsmechanismus (206) weitergeleitet werden, und
b2) für das ressourcenbeschränkte, prozessorbasierte System...

Description

  • Die vorliegende Erfindung betrifft die Anbindung ressourcenbeschränkter, prozessorbasierter Systeme an einen Mechanismus zur Signalisierung von Nachrichten.
  • Die Fortschritte auf dem Gebiet der Hardware und speziell der Miniaturisierung von Prozessoren und Speicher machen es möglich, kleine intelligente Geräte in hohen Stückzahlen zu sehr geringen Kosten zu bauen. Das Spektrum der Möglichkeiten reicht von intelligenten Haushaltsgeräten über prozessorbasierte Chipkarten bis hin zu verteilten Sensoren für Überwachungszwecke, um nur einige Beispiele zu nennen. Die Verarbeitungs- und Speicherressourcen der verwendeten Hardware sind aufgrund technischer oder ökonomischer Rahmenbedingungen meistens stark eingeschränkt.
  • Als Beispiel für ressourcenbeschränkte, prozessorbasierte Systeme sind prozessorbasierte Chipkarten bekannt, insbesondere solche, die dem JavaCard-Standard folgen ("Java Card 2.1 API Specification", Sun Microsystems Inc., 1998). Die hierbei verwendete Basistechnologie ist bereits durch andere Anwendungen wie beispielsweise den JavaRing bekannt (Dallas Semiconductor Corp., 1997, http://www.ibutton.com/java.html). Weiterhin ähnelt sie in Ihren Grundsätzen den bei vergleichbaren Systemen verwendeten Technologien. Im Kartenbereich sind das etwa proprietäre Chipkartenbetriebssysteme wie STARCOS (URL http://www.gdm.de/starcos.html) der Firma Giesecke & Devrient (URL http://www.gdm.de) oder der MULTOS-Standard (MULTOS – The Technology, URL http://www.MULTOS.com/100/120.html) des Firmenkonsortiums MAOSCO (URL http://www.MULTOS.com/200.html). Im weiteren Umfeld lassen sich unterschiedliche eingebettete Microcontroller mit Betriebssystemen wie "Windows CE" (URL http://www.microsoft.com/windowsce/embedded/basics/overview/default.asp) oder "Embedded Java" (URL http://www.javasoft.com/products/embeddedjava) als Beispiele nennen.
  • Den bekannten ressourcenbeschränkten, prozessorbasierten Systemen ist gemeinsam, daß die Kommunikation mit der Außenwelt über Protokolle mit sehr niedrigem Abstraktionsniveau durchgeführt wird. 1 zeigt als Beispiel eine bekannte Anbindung einer monolithischen Anwendung 105 auf dem ressourcenbeschränkten, prozessorbasierten System 102 an bestehende Anwendungen 103 des Basissystems 101. Dabei muß auf beiden Seiten eine low-level Schnittstelle zu einem zugrundeliegenden, proprietären Kommunikationsmechanismus 104 verwendet werden.
  • Im Falle von Chipkarten erfolgt die Kommunikation mit der Außenwelt oft nach dem Standard ISO 7816-2 ("ISO 7816-2: Identification cards – integrated circuit cards with contacts"), der neben den elektrischen und physikalischen Eigenschaften der Verbindung (über Kontaktflächen oder auch drahtlos) das Format von sogenannten APDU-Datenblöcken beschreibt, die über diese Verbindung versendet werden können.
  • Die Verwendung dieser APDU-Schnittstelle ist für den Programmierer einer Endanwendung sehr umständlich und fehleranfällig, da starke Abweichungen von den normalerweise bei der Anwendungsprogrammierung eingesetzten Kommunikationsschnittstellen bestehen und zudem oft eine entsprechende Unterstützung durch Werkzeuge fehlt: Datenblöcke müssen im wesentlichen "von Hand" aus einzelnen Bits und Bytes zusammengestellt werden. Ebenso muß die Adressierung der Anwendung, die APDU-Kommandos erhalten soll, vom Programmierer explizit programmiert werden.
  • Das Management von offenen Kommunikationsverbindungen mit APDUs wird ebenfalls nicht vom System unterstützt: Programmierer müssen sich selbst darum kümmern, die Verbindung nach einer temporären Trennung von Chipkarte und Kartenlesegerät wieder aufzusetzen. Weiterhin gibt es keine ausgereiften Standard-Sicherheitsmechanismen zur Absicherung und Verschlüsselung der Kommunikation.
  • Um einige Schwächen der APDU-Kommunikation zu vermeiden, hat die Firma GemPlus bei der GemXpresso-Karte auf der Grundlage der APDUs den sogenannten DMI-Mechanismus realisiert, (GemXpresso Product Sheet, Gemplus SCA, 1997-98), der es Anwendungen des Basissystems erlaubt, solche auf der Chipkarte direkt aufzurufen. Dieser Mechanismus erlaubt eine Programmierung auf der vom Anwendungsprogrammierer gewohnten Abstraktionsebene. Das Kommunikationsmodell ist allerdings immer noch eingeschränkt: Es sind nur Aufrufe von außerhalb auf Anwendungen auf der Karte möglich, aber keine Aufrufe in der umgekehrten Richtung. Weiterhin haben Kommunikationsverbindungen immer die Vielfachheit 1-zu-1, das heißt, ein Aufrufer kann über eine Verbindung mit genau einer Anwendung kommunizieren. DMI bietet analog zu den APDUs ebenfalls kein automatisches Wiederaufsetzen von offenen Verbindungen nach einer temporären Trennung von Chipkarte und Kartenlesegerät, und ferner gibt es keine Standard-Sicherheitsmechanismen zur Absicherung und Verschlüsselung der Kommunikation.
  • Die Situation bei anderen ressourcenbeschränkten Geräten ist ähnlich: Meistens stehen hier sogar nur Kommunikationsmechanismen auf sehr niedriger Abstraktionsebene analog zu den APDUs zur Verfügung. Ein Beispiel aus dem Bereich der eingebetteten Systeme sind beispielsweise Geräte, die über einen CAN-Bus (CAN Specification, Version 2.0, September 1991, Robert Bosch GmbH) kommunizieren. Sie kommunizieren ebenfalls über den Austausch von Datenblöcken, die vom Programmierer selbst zusammengebaut werden müssen.
  • Unabhängig von den bisher erwähnten ressourcenbeschränkten Systemen ist es in der allgemeinen Technik der Datenverarbeitung bekannt, komplexe Anwendungssysteme aus einer Vielzahl von räumlich und logisch verteilten Teilsystemen zu bilden. Für die Kommunikation zwischen diesen Teilsystemen hat sich in vielen Anwendungsfällen die Signalisierung asynchroner Nachrichten als geeignet erwiesen, da hier die Kopplung zwischen den Sendern und den Empfängern von Nachrichten wesentlich geringer ist als bei anderen Kommunikationsformen. Die Dienste und Schnittstellen von Signalisierungsmechanismen sind beispielsweise in den Spezifikationen für den CORBA Event Service ("CORBA Service Specification", November 1997, Abschnitt 4) und den CORBA Notification Service ("Notification Service Joint Revised Submission", Januar 1998) der Object Management Group (kurz: OMG) standardisiert. Andere Mechanismen, wie etwa Microsoft Message Queue (MSMQ) in der derzeitigen Variante für COM oder in der geplanten Version für COM+ (MSMQ: "Microsoft Component Services – Server Operating System: A Technology Overview", Microsoft Corporation, 1997) bieten eine vergleichbare Funktionalität.
  • Die Signalisierungsmechanismen CORBA Event Service, CORBA Notification Service und MSMQ für COM+ bieten folgende Grundfunktionalität: Kommunikationspartner können sich über den Signalisierungsmechanismus Nachrichten schicken, wobei mehrere Sender und mehrere Empfänger erlaubt sind. Die Kommunikation geschieht dabei üblicherweise über sogenannte Kanäle, bei denen sich die Partner als Sender und/oder Empfänger registrieren können. Eine von einem Sender geschickte Nachricht wird dabei an alle an dem jeweiligen Kanal registrierten Empfänger verschickt. Für ressourcenbeschränkte, prozessorbasierte Systeme wie die eingangs erwähnten sind die genannten Signalisierungsmechanismen jedoch nicht vorgesehen. Insbesondere ist der Einsatz von Standard-Signalisierungsmechanismen für die sichere Kommunikation mit ressourcenbeschränkten Systemen nicht möglich, da heutige Signalisierungsmechanismen hohe Anforderungen an die Speicher- und Verarbeitungskapazität stellen.
  • EP 0 260 043 B1 zeigt ein Verfahren zur Signalisierung von Nachrichten zwischen mehreren Kommunikationspartnern in einem festen Kommunikationsnetz.
  • In WO 97/14108 A1 ist der Einsatz eines Systems gemäß der CORBA-Architektur zum Zugriff auf Finanzinformationen beschrieben.
  • Die Erfindung hat demgemäß die Aufgabe, die genannten Nachteile des Stands der Technik zumindest teilweise zu vermeiden und einen flexiblen und programmiertechnisch günstigen Weg zur Signalisierung von Nachrichten zwischen mehreren Kommunikationspartnern, von denen mindestens einer ein ressourcenbeschränktes, prozessorbasiertes System ist, vorzuschlagen. Vorzugsweise soll durch die Erfindung der Einsatz von standardisierten Signalisierungsmechanismen auch im Zusammenhang mit ressourcenbeschränkten, prozessorbasierten Systemen ermöglicht werden. Eine weitere Aufgabe bevorzugter Ausgestaltungen der Erfindung ist es, eine sichere Kommunikation im Hinblick auf Angriffe von außen und/oder innen zu gewährleisten.
  • Erfindungsgemäß wird diese Aufgabe durch ein Verfahren und Vorrichtungen gemäß den Ansprüchen 1,3 und 19 gelöst. Die abhängigen Ansprüche betreffen bevorzugte Ausgestaltungen der Erfindung. Die Aufzählungsreihenfolge der Verfahrensschritte in den Ansprüchen soll nicht einschränkend verstanden werden. Vielmehr soll der Schutzbereich auch Verfahren umfassen, bei denen die in den Ansprüchen genannten Schritte in anderer Reihenfolge oder parallel oder ineinander verzahnt (quasi-parallel) ausgeführt werden.
  • Die Erfindung beruht auf der Grundidee, das ressourcenbeschränkte, prozessorbasierte System über einen Zwischenverteiler an einen Mechanismus für die vorzugsweise asynchrone Signalisierung von Nachrichten anzukoppeln, wobei ankommende und abgehende Nachrichten über den Zwischenverteiler geleitet werden. Der Zwischenverteiler repräsentiert für die beteiligten Parteien den jeweiligen Partner. Die vom Zwischenverteiler bereitgestellte Schnittstelle zum Versenden und Empfangen von Ereignissen abstrahiert von den tatsächlichen Gegebenheiten der Hardware und bietet damit die Möglichkeit, einen plattformübergreifenden Kommunikationsmechanismus auf nahezu beliebige ressourcenbeschränkte Systeme auszudehnen.
  • Mit anderen Worten ermöglicht der Zwischenverteiler eine Kommunikation des Basissystems und des ressourcenbeschränkten, prozessorbasierten Systems nach dem Ankoppeln. Damit ist der Signalisierungsmechanismus des Basissystems in der Lage (und somit auch die eigentlichen Anwendungen des Basissystems), Nachrichten auch an das ressourcenbeschränkte, prozessorbasierte System zu senden oder von diesem zu empfangen.
  • Die Erfindung bietet somit hohe Flexibilität aus Anwender- wie aus Programmierersicht. Überdies brauchen Funktionen, die bereits im Signalisierungsmechanismus des Basissystems vorhanden sind, nicht nochmals für die Kommunikation mit dem ressourcenbeschränkten, prozessorbasierten System implementiert zu werden.
  • Beispiele für den Einsatz der Erfindung sind die Verbindung von verteilten Sensoren und Aktuatoren mit Kontrollrechnern, wobei ausgewählte Daten zu Kontrollzwecken auf einer prozessorbasierten Chipkarte mitgeschrieben werden, oder die Kommunikation zwischen einer multifunktionalen Kreditkarte und einem zentralen Bankrechner. In allen genannten Fällen ist der Signalisierungsmechanismus vorzugsweise ein vorgegebener Standard-Signalisierungsmechanismus, so daß dafür vorhandene Entwicklungswerkzeuge eingesetzt werden können. Bei dem letztgenannten Beispiel ist ferner die Sicherheit bei der Datenübertragung von ausschlaggebender Bedeutung.
  • In bevorzugten Ausführungsformen der Erfindung bestehen zwischen allen an einer Kommunikation beteiligten Partnern ein oder mehrere Kanäle als Mittel zur Nachrichtenübertragung. Bevorzugt lassen sich diese Kanäle eindeutig voneinander unterscheiden und jedem einzelnen ist explizit oder implizit eine bestimmte Signalart und damit auch eine Funktionalität zugeordnet. Auf diese Weise werden logische, bidirektionale, 1-zu-1, 1-zu-n und n-zu-m-Verbindungen zwischen allen Kommunikationspartnern möglich, auch wenn nur eine einzige physikalische Verbindung zum ressourcenbeschränkten, prozessorbasierten System zur Verfügung steht.
  • Vorzugsweise wird die Kommunikation der Teilnehmer durch explizites An- bzw. Abmelden an einem oder mehreren dieser Kanäle eingeleitet bzw. beendet. Dadurch ist eine besonders flexible Kommunikationsstruktur möglich, insbesondere in Verbindung mit einem asynchronen Nachrichtenaustausch über die Kanäle. Die Kanäle sind dann Kommunikationsverbindungen, die weder auf einen Sender noch auf einen Empfänger beschränkt sind. Die tatsächliche Anzahl der Teilnehmer an einer solchen Verbindung kann beständig wechseln ebenso wie die Anzahl der Kanäle selbst. Dieses Verfahren verträgt eine physikalische oder logische Abkopplung von Teilnehmern, ohne daß dadurch ein zu großer Verwaltungsaufwand oder grundsätzliche Probleme im Kommunikationsmechanismus auftreten würden.
  • In bevorzugten Ausführungsformen ist eine Komponente des Basissystems ein Vertreter des ressourcenbeschränkten Systems. Der Vertreter kann dann gegenüber dem Signalisierungsmechanismus das ressourcenbeschränkte, prozessorbasierte System repräsen tieren. Somit können Teilsysteme des Basissystems Nachrichten zum ressourcenbeschränkten, prozessorbasierten System senden und von diesem empfangen. In optionalen Weiterentwicklungen filtert der Vertreter des ressourcenbeschränkten Systems Nachrichten, die nicht vom ressourcenbeschränkten, prozessorbasierten System verarbeitet werden können.
  • Analog dazu existiert im ressourcenbeschränkten, prozessorbasierten System vorzugsweise eine Komponente, die gegenüber diesem das Basissystem und insbesondere den dortigen Signalisierungsmechanismus repräsentiert. Dieser Vertreter des Basissystems ermöglicht ebenfalls die Kapselung der physikalischen Verbindung. Da der Vertreter unter anderem die Dienste des Signalisierungsmechanismus auf dem ressourcenbeschränkten, prozessorbasierten System zur Verfügung stellt, können Nachrichten zum Basissystem geschickt und von dort empfangen werden.
  • Somit enthält der Zwischenverteiler in bevorzugten Ausführungsformen der Erfindung zwei physikalisch oder logisch miteinander verbundene Vertreter. Der Vertreter des ressourcenbeschränkten Systems ist eine Komponente des Basissystems und repräsentiert das entfernte System gegenüber dem Signalisierungsmechanismus und somit auch gegenüber den diversen Teilsystemen des Basissystems. Anstelle einer direkten Kommunikation mit dem ressourcenbeschränkten System werden die entsprechenden Nachrichten lediglich an dessen Vertreter gesandt, der sie dann weiterschickt. Der entscheidende Vorteil dabei ist, daß der Signalisierungsmechanismus stets einen Kommunikationspartner hat, auch in dem Fall, daß das entfernte System vom Basissystem abgekoppelt wurde. Es ist Aufgabe des Vertreters des ressourcenbeschränkten Systems, die Verbindung zu überwachen und nach einer Abkopplung den Signalisierungsmechanismus in geeigneter Form davon in Kenntnis zu setzen. Beispielsweise kann der Vertreter eine kurzzeitige Abkopplung des ressourcenbeschränkten Systems überbrücken, indem die Nachrichten gepuffert werden. Weiterhin gibt der Vertreter auf Anfrage Auskunft über den aktuellen Status der Verbindung.
  • Vorzugsweise erfolgt in dem Basissystem die Anbindung von Teilsystemen an Kommunikationskanäle zum ressourcenbeschränkten, prozessorbasierten System mittels Anschlußpunktvertretern. Ein solcher einem Kanal zugeordneter Anschlußpunktvertreter repräsentiert sein Pendant auf dem ressourcenbeschränkten, prozessorbasierten System. In Weiterbildungen werden die Anschlußpunktvertreter bedarfsabhängig durch den Vertreter des ressourcenbeschränkten Systems erzeugt oder gelöscht. Über diese Anschlußpunktvertreter sind beispielsweise die logischen m-zu-n Verbindungen zwischen den einzelnen Teilsystemen und dem ressourcenbeschränkten, prozessorbasierten System auf transparente Art und Weise realisierbar. Dementsprechend können die Anschlußpunktvertreter als Sender und/oder Empfänger fungieren.
  • Trotz der Tatsache, daß zwischen Basissystem und ressourcenbeschränktem, prozessorbasiertem System unter Umständen nur eine einzige physikalische (z.B. eine galvanische oder eine drahtlose) Verbindung besteht, können mehrere logische Verbindungen existieren. Um diese zu handhaben, werden auf dem ressourcenbeschränkten, prozessorbasierten System vorzugsweise besondere Anschlußpunkte erzeugt, die jeder für sich einen Endpunkt einer logischen Verbindung darstellen und über die die Kommunikation mit dem Basissystem verläuft. Auf dem ressourcenbeschränkten, prozessorbasierten System laufen dann vorzugsweise anstelle einer monolithischen Anwendung mehrere entfernte Teilsysteme, von dem sich jedes für die Kommunikation an Anschlußpunkten als Sender und/oder Empfänger an- und abmeldet. Es ist den Anwendungen im entfernten System zudem möglich, sich bei Bedarf auch mehrfach als Sender und/oder Empfänger an einen Kanal anzumelden.
  • Ein in vielen Anwendungen wichtiger Aspekt der betrachteten Systeme (z.B. Chipkarten) ist die Eigenschaft, zu einem beliebigen Zeitpunkt vom Basissystem getrennt oder mit einem solchen erneut verbunden zu werden. Vorzugsweise verhält sich der Zwischenverteiler (bzw. dessen beide Vertreter) entsprechend und paßt sich bei einer temporären Abkoppelung des ressourcenbeschränkten, prozessorbasierten Systems vom Basissystem dem jeweiligen Ankopplungszustand an. Beispielsweise kann der Vertreter des ressourcenbeschränkten Systems nach einer Abkopplung bis zum Ablauf eines Timeouts warten, bis er die erzeugten Anschlußpunkte beim Signalisierungsmechanismus abmeldet und sie löscht. Insbesondere werden dadurch mobile, ressourcenbeschränkte, prozessorbasierte Systeme unterstützt, wie zum Beispiel Chipkarten. Bei Bedarf können in vorteilhaften Weiterentwicklungen entfernte Teilsysteme vom Zwischenverteiler über eine bevorstehende Abkopplung von dem bzw. Ankopplung an das Basissystem benachrichtigt werden. Im ersten Fall haben sie somit die Gelegenheit, ihren aktuellen Zustand zu speichern.
  • Ferner wird vorzugsweise die Möglichkeit berücksichtigt, daß das ressourcenbeschränkte, prozessorbasierte System nach dem erneuten Ankoppeln an ein anderes Basissystem angekoppelt wird. In diesem Fall wird vorzugsweise der Zustand des Zwischenverteilers so modifiziert, daß er dem des Zwischenverteilers vor der Abkopplung ent spricht. Dies beinhaltet die Wiederherstellung der Kommunikationsstruktur, insbesondere der Vertreter der Anschlußpunkte und ihrer Ankopplung an die entsprechenden Kanäle.
  • In bevorzugten Ausgestaltungen der Erfindung kann die Ab- und Ankopplung des ressourcenbeschränkten, prozessorbasierten Systems an das Basissystem während der Signalisierungsphase geschehen. Beim Wiederankoppeln werden vorzugsweise offene Verbindungen des ressourcenbeschränkten, prozessorbasierten Systems zum Basissystem wiederhergestellt, indem die entsprechenden Anschlußpunktvertreter wieder erzeugt werden. Optional werden außerdem entfernte Teilsysteme vom Zwischenverteiler über die Abkopplung von und das Ankoppeln an einzelne Anschlußpunkte und deren Vertreter benachrichtigt.
  • In bevorzugten Ausführungsformen der Erfindung ist das ressourcenbeschränkte, prozessorbasierte System reaktiv in dem Sinne, daß es nicht selbständig Daten senden kann (also aktiv werden kann), sondern ausschließlich auf Anfragen des Basissystems reagiert. Dabei kann es während der Abarbeitung einer Anfrage beliebig oft mit dem Basissystem kommunizieren. Ein Beispiel ist die SmartCard GemXpresso, die die Ausführung von Programmcode beendet, sobald ein Aufruf an die Karte abgearbeitet wurde. Als zusätzliche Einschränkung zu dieser Charakteristik gestatten es einige Systeme nicht, während der Abarbeitung einer Anfrage vom Basissystem an dieses Nachrichten zurückzusenden, so daß in dieser Zeit keine weitere Kommunikation mit dem Basissystem erfolgen kann. Diese Eigenschaft wird hier als unidirektionale Aufrufstruktur bezeichnet. Sie ist insbesondere dann gegeben, wenn der Befehlszähler des entfernten Systems mit jeder empfangenen Nachricht zurückgesetzt wird. Eine solche Nachricht wäre die Antwort des Basissystems auf eine Anfrage des entfernten Systems während der Abarbeitung einer anderen Nachricht. Bei der Umsetzung der oben genannten Kommunikationsschemata werden vorzugsweise diese und gegebenenfalls weitere hardwarebedingte Einschränkungen berücksichtigt.
  • Besondere Anwendung findet die vorgestellte Erfindung, wenn es sich bei dem ressourcenbeschränkten System um eine prozessorbasierte Chipkarte handelt, insbesondere um eine SmartCard oder eine Karte nach dem JavaCard-Standard (besonders JavaCard 2.1 oder höher). Bei den letzten beiden Fällen sind die entfernten Teilsysteme auf der Karte ablaufende Java Applets bzw. Java Cardlets. Weitere bevorzugte Anwendung findet die Erfindung, wenn das ressourcenbeschränkte, prozessorbasierte System ein eingebettetes System ist, z.B. ein "Pico-Java"-Mikroprozessor (Pico-Java-, URL http://www.sun.com/sparc/whitepapers/wpr-0014-01/) oder ein Mikroprozessor mit "Windows CE", "Embedded Windows NT" oder "Embedded Java". Ferner ist es besonders vorteilhaft, wenn der Signalisierungsmechanismus ein Event Service ist. Dieser kann beispielsweise der "CORBA Event Service Specification" oder der "CORBA Notification Service Specification" oder der "Microsoft Message Queue Specification" genügen.
  • Bevorzugte Ausführungsformen der Erfindung bieten weiterhin die Möglichkeit, sichere Kommunikation zu gewährleisten. Dies ist eine wichtige Voraussetzung für viele Einsatzgebiete von ressourcenbeschränkten Systemen, beispielsweise bei dem Transfer von Zahlungsmitteln oder der Autorisierung von Zugriffen. Vorzugsweise wird die Kommunikation zwischen dem ressourcenbeschränkten System und dem Basissystem gegen Mithören und/oder Verfälschung und/oder gegen das Erkennen der Tatsache, ob kommuniziert wird, gesichert. Insbesondere kann ein symmetrisches Verschlüsselungsverfahren einerseits sowie das Annotieren von Nachrichten mit Sequenznummern und Prüfsummen andererseits verwendet werden. Für die Vorbereitung zur symmetrischen Kommunikation, also insbesondere zur Authentifizierung der Kommunikationspartner, wird in bevorzugten Ausgestaltungen ein asymmetrisches Protokoll zum gesicherten Austausch des Schlüssels vereinbart.
  • In manchen Fällen ist das Verfahren der Blindkommunikation speziell geeignet, um tatsächlich stattfindende Kommunikation zu verbergen. Dazu werden auf der Kommunikationsleitung bedeutungslose Nachrichten in den Signalfluß eingespeist und an der anderen Seite wieder herausgefiltert. Die eigentliche Kommunikation kann von außen nicht von der vorgetäuschten unterschieden werden. Für den Fall, daß bösartige Komponenten – dem trojanischen Pferd gleich – in das System eingeschleust werden, kann das Basissystem die Existenz bestimmter Kanäle geheimhalten. Auf ähnliche Weise ist es den entfernten Teilsystemen des ressourcenbeschränkten Systems möglich, zu verbergen, an welchen Kanälen sie angemeldet sind.
  • Die vorgestellten Sicherheitseigenschaften sind in bevorzugten Ausgestaltungen der Erfindung als Anforderungen an einen Übertragungsweg formuliert. Für einen höheren Grad an Flexibilität können sie zudem in mehrere aufeinander aufbauende Gruppen eingestuft werden. Es ist somit einer Komponente, insbesondere einem Vertreter aus dem Zwischenverteiler, möglich, von ihrem Kommunikationspartner die Einhaltung der Anforderungen einer bestimmten Gruppe zu fordern. Ist der Partner dazu nicht willens oder nicht in der Lage, kommt keine Verbindung zustande und der Anfragende erfährt nicht einmal die Identität des angesprochenen Vertreters. Die möglichen Sicherheitsanforde rungen umfassen die Absicherung gegen Mithören und/oder Verfälschung von Nachrichten und/oder das Erkennen des Auftretens von Nachrichten und/oder Absicherung gegen ungewollte Identifikation der Vertreter. Die Zusicherung von Sicherheitskriterien läßt sich flexibler auf der Ebene einzelner Kanäle festlegen. In solchen Ausführungsformen unterscheiden sich im System weniger kritische Kanäle von solchen, die hohen Anforderungen genügen müssen.
  • Mehrere Ausführungsbeispiele der Erfindung werden im folgenden anhand schematischer Zeichnungen genauer beschrieben. Die Erfindung ist weder auf ein bestimmtes Anwendungsszenario (Geldkarten, Bordcomputer eines Autos, o.ä.) noch auf spezielle Komponenten in der Umgebung des Systems, wie zum Beispiel den CORBA Event Service oder eine auf Java basierende SmartCard, beschränkt. Lediglich beispielhaft wird im folgenden auf derartige konkrete Elemente Bezug genommen, um den Mechanismus und das Verfahren der Erfindung klarer zu beschreiben, ohne daß damit die Erfindung auf die konkret genannten Beispiele eingeschränkt werden soll. Bei den Zeichnungen zeigen:
  • 1 ein Blockdiagramm zur Veranschaulichung der Kommunikation eines Basissystems mit einem ressourcenbeschränkten, prozessorbasierten System nach dem Stand der Technik,
  • 2 ein Blockdiagramm der Grobarchitektur, wie sie in einem Ausführungsbeispiel der Erfindung Verwendung findet,
  • 3 und 4 zwei Sequenzdiagramme (Message Sequence Charts) je eines Beispielablaufs des in 2 gezeigten Systems,
  • 5 ein Blockdiagramm des Systems von 2 in einer verfeinerten Darstellung, und
  • 6 bis 8 drei Sequenzdiagramme je eines Beispielablaufs des in 5 gezeigten Systems.
  • 1 zeigt ein Basissystem 101 mit mehreren Teilsystemen 103. Die Teilsysteme 103 kommunizieren direkt über einen beschränkten, proprietären low-level Kommunikationsmechanismus 104 mit einem speziellen, nicht-modularen, entfernten Teilsystem 105 auf einem ressourcenbeschränkten, prozessorbasierten System 102. Die in 1 dargestellte monolithische Anwendung 105 beinhaltet die fachliche Funktionalität einerseits, jedoch genauso wie die einzelnen Teilsysteme 103 auf dem Basissystem 101 außerdem noch Funktionalität für die Verwaltung der Verbindung. Dies beinhaltet beispielsweise die Möglichkeit, den gemeinsamen Zugriff auf die Leitung zu organisieren.
  • In 2 sind ebenfalls das Basissystem 101 mit den mehreren Teilsystemen 103 sowie das ressourcenbeschränkte, prozessorbasierte System 102 dargestellt. Im Rahmen des ressourcenbeschränkten, prozessorbasierten Systems 102 laufen mehrere unabhängige, entfernte Teilsysteme 208, die über einen Zwischenverteiler 207 transparent an einem Signalisierungsmechanismus 206 des Basissystems 101 teilnehmen. Somit ist die Möglichkeit zur Kommunikation zwischen den Teilsystemen 103 und den entfernten Teilsystemen 208 geschaffen.
  • In den folgenden Absätzen werden die Aufgaben, Dienste und Schnittstellen der einzelnen Komponenten der in 2 dargestellten Grobarchitektur genauer beschrieben.
  • Das Basissystem 101 ist der stationäre Teil der Systemumgebung. Die einzelnen Teilsysteme 103, der Signalisierungsmechanismus 206 und ein Teil des Zwischenverteilers 207 werden auf dem Basissystem 101 ausgeführt. Das Basissystem 101 ist meist ein verteiltes, heterogenes System aus vernetzten PCs, Workstations und Hosts. Zum Beispiel besteht im Falle eines Geldautomaten das Basissystem aus dem Kartenleser, dem Rechner im Geldautomaten, dem lokalen Netzwerk der Bankfiliale und dem firmenweiten Netzwerk der Bank mit den diversen dezentralen Servern. Für das einfache Programmieren einer SmartCard reicht allerdings ein handelsüblicher PC mit Pentium-Prozessor, 32 Megabyte Hauptspeicher und einer FIFO-gepufferten, seriellen Schnittstelle.
  • Auf dem ressourcenbeschränkten, prozessorbasierten System 102 werden die entfernten Teilsysteme 208 und ein Teil des Zwischenverteilers 207 ausgeführt. Typischerweise ist das ressourcenbeschränkte System 102 ein Chip mit stark beschränkter Rechnerleistung sowie knappem Speicher. Eine zusätzliche Eigenschaft kann in der Mobilität des Systems bestehen, die nur eine gelegentliche Verfügbarkeit zur Folge hat. Ein Beispiel für ein derartiges System ist eine Smartcard mit 256 Bytes bis 1 Kilobyte RAM, 1 Kilobyte bis 32 Kilobyte EEPROM, 6 Kilobyte bis 32 Kilobyte ROM und einem 8-Bit Mikroprozessor mit 5 MHz Taktfrequenz. Weiterhin existieren neben der Karte als Träger des Prozessors auch andere Ausführungen, wie beispielsweise Ringe. Im vorliegenden Text werden die Begriffe "ressourcenbeschränktes, prozessorbasiertes System", "ressourcenbeschränktes System" und "entferntes System" synonym verwendet.
  • Die Teilsysteme 103 kommunizieren untereinander und mit den entfernten Teilsystemen 208 über den angebotenen Signalisierungsmechanismus 206. Dieser erlaubt es, Kanäle zu erzeugen oder zu löschen, sich bei Kanälen als Sender oder Empfänger zu registrieren und als registrierter Sender Nachrichten zu senden oder als angemeldeter Empfänger von einem Kanal Nachrichten zu empfangen. Die Teilsysteme 103 beinhalten die fachliche Funktionalität der jeweiligen Anwendung, während die restlichen Komponenten der vorliegenden Erfindung die technische Unterstützung liefern. Beispiele für Teilsysteme sind Kontomanagementsysteme, Hostsysteme von Kreditkartenfirmen oder Anwendungen, die den Besitzer der entsprechenden SmartCard für das Betreten von Sperrzonen autorisiert.
  • Der Signalisierungsmechanismus 206 muß die Funktionalität und Dynamik einer kanalorientierten Kommunikation aufweisen, wie bereits beschrieben. Beispiele für passende, standardisierte Mechanismen sind der "CORBA Event Service" bzw. der "CORBA Notification Service" der Object Management Group oder auch die "Microsoft Message Queue".
  • Der Zwischenverteiler 207 ist das Kernstück der Erfindung. Die entfernten Teilsysteme 208 nutzen den Zwischenverteiler 207, um am Signalisierungsmechanismus 206 teilnehmen zu können. Somit übernimmt der Zwischenverteiler gegenüber den entfernten Teilsystemen 208 die Rolle des Signalisierungsmechanismus 206. Im Gegenzug hat der Zwischenverteiler 207 die Aufgabe, gegenüber dem Signalisierungsmechanismus 206 die Rolle der entfernten Teilsysteme 208 zu übernehmen. Das bedeutet, daß der Zwischenverteiler 207 Nachrichten, die für entfernte Teilsysteme 208 bestimmt sind, vom Signalisierungsmechanismus 206 empfängt und sie an die eigentlichen Empfänger weiterleitet. Außerdem erzeugt und löscht er Kanäle, registriert sich als Empfänger und/oder Sender an diversen Kanälen und leitet Nachrichten im Auftrag der entfernten Teilsysteme 208 weiter.
  • Die entfernten Teilsysteme 208 kommunizieren untereinander und mit den Teilsystemen 103 über den Zwischenverteiler 207 und damit indirekt über den Signalisierungsmechanismus 206. So kann ein entferntes Teilsystem den Zwischenverteiler beispielsweise anweisen, Kanäle zu erzeugen oder zu löschen. Entfernte Teilsysteme enthalten fachliche Funktionalität und stellen somit in Kooperation mit den Teilsystemen auf dem Basissystem die eigentlichen Anwendungen dar. Beispiele für entfernte Teilsysteme 208 sind JavaCard-Applets für Kreditkartenfunktionalität, Bonussysteme oder Anwendungen für ein PC-Benutzerkonfigurationsmanagement, aber auch Stromverbrauchsmessung und Analyseprogramme in einem Haushaltsgerät.
  • In 3 und 4 sind zwei beispielhafte Abläufe des in 2 gezeigten Systems dargestellt. Diese und alle folgenden Beispielabläufe sind als sogenannte Sequenzdiagramme (Message Sequence Charts) dargestellt, einer Notation, wie sie im Rahmen der "Unified Modeling Language" (kurz: UML, http://www.rational.com/uml) bekannt und standardisiert wurde.
  • Bei dem Beispielablauf von 3 meldet sich ein entferntes Teilsystem 208 an einen Kanal an und schickt auf diesem eine Nachricht. Das entfernte Teilsystem 208 überprüft vor dem Erzeugen eines neuen Kanals, ob nicht ein solcher bereits existiert. Dazu wird die Methode "EXISTIERT" des Zwischenverteilers 207 aufgerufen, der diese Anfrage an den Signalisierungsmechanismus 206 weiterreicht. Da im Beispiel diese Anfrage ergibt, daß noch kein Kanal existiert, wird ein neuer angelegt und das ressourcenbeschränkte System 102 meldet sich bei diesem als Sender an. Anschließend können Nachrichten über diesen Kanal versendet werden. Aus 3 ist ersichtlich, wie eine solche Nachricht zum adressierten Teilsystem 103 weitergereicht wird.
  • 4 bezieht sich ebenfalls auf die Grobarchitektur gemäß 2. Der Beispielablauf von 4 demonstriert das Verhalten des Systems bei Unterbrechung und erneuter Aufnahme der Verbindung zwischen dem ressourcenbeschränkten System 102 und dem Basissystem 101. Dies entspricht in der Praxis beispielsweise dem Entfernen der SmartCard aus dem Kartenleser mit anschließendem erneutem Einführen. Zunächst meldet sich ein entferntes Teilsystem 208 an einem oder mehr Kanälen als Empfänger und als Sender an. Dabei protokolliert der Zwischenverteiler 207, bei welchen Kanälen sich entfernte Teilsysteme 208 als Sender oder Empfänger angemeldet haben. Im Falle eines Verbindungsabbruchs wird der Zwischenverteiler 207 durch die Nachricht "VER-BINDUNG UNTERBROCHEN" von der Situation unterrichtet und kann entsprechend darauf reagieren, indem er zum Beispiel seinen momentanen Zustand sichert. Wird dann zu einem späteren Zeitpunkt die Verbindung wiederhergestellt, restauriert der Zwischenverteiler 207 die entsprechenden Kanalverbindungen, so wie sie vor dem Abbruch bestanden hatten, indem er selbständig die erforderlichen Anmeldungen vornimmt. Somit kann nach einer temporären Abkopplung des ressourcenbeschränkten, prozessorbasierten Systems 102 der alte Zustand erneut hergestellt werden.
  • In 5 ist das abstrakte Bild von 2 konkretisiert, um die Implementierung des Systems eingehender zu beschreiben. Insbesondere sind in der in 5 gezeigten Verfeinerung die Komponenten Signalisierungsmechanismus 206 und Zwischenverteiler 207 mitsamt ihren Subkomponenten dargestellt, wobei die Teilsysteme 103 aus 2 aus Gründen der Übersichtlichkeit weggelassen wurden. Beim Signalisierungsmechanismus 206 sind das eine Reihe von Subkomponenten 510, die die jeweils existierenden Kanäle repräsentieren, sowie eine Komponente 509 zu ihrer Verwaltung. Der Zwischenverteiler 207 als zentrale Komponente der Erfindung ist in einen Teil auf dem Basissystem 101 und einen Teil auf dem ressourcenbeschränkten, prozessorbasierten System 102 unterteilt.
  • Aus 5 wird deutlich, was die Erfindung im Kern leistet: Zwischen Kanälen 510 und entfernten Teilsystemen 208 bestehen logische n-zu-m Kommunikationsverbindungen, da mehrere entfernte Teilsysteme 208 auf einen Kanal 510 zugreifen können und ein entferntes Teilsystem 208 mehrere Kanäle 510 nutzen kann, um mit anderen (ggf. entfernten) Teilsystemen 103, 208 zu kommunizieren. Diese logischen, bidirektionalen n-zu-m Verbindungen müssen über eine einzige Verbindung zwischen dem Basissystem 101 und dem ressourcenbeschränkten System 102 realisiert werden. Diese Aufgabe wird vom Systemzwischenverteiler 207 übernommen. Vereinfacht betrachtet, wird dies durch Multiplexing/Demultiplexing erreicht. Hierbei übernimmt ein Vertreter 512 des ressourcenbeschränkten Systems 102 das Multiplexing/Demultiplexing auf Seiten des Basissystems 101, und der Vertreter 513 des Basissystems 101 übernimmt diese Aufgabe für das ressourcenbeschränkte System 102. Anschlußpunkte 514 und Anschlußpunktvertreter 511 dienen als Schnittstelle zu den restlichen Systemteilen und kapseln ferner den Zustand der logischen Verbindungen.
  • In den folgenden Absätzen werden die Aufgaben, Dienste und Schnittstellen der Komponenten 509 bis 514 genauer beschrieben. Hinsichtlich der Komponenten 101 bis 208 in 5 wird auf die obige Beschreibung von 2 verwiesen.
  • Ein Kanalmanager 509 und die Kanäle 510 sind Teile des Signalisierungsmechanismus 206. Der Kanalmanager 509 erlaubt es, die Kanäle 510 zu erzeugen, zu löschen und die Existenz bestimmter Kanäle 510 zu erfragen. An jedem der Kanäle 510 können beliebig viele Anschlußpunktvertreter 511 und somit auch Anschlußpunkte 514 angemeldet werden. Dabei kann ein Anschlußpunktvertreter 511 wahlweise als Sender oder als Empfänger oder als Sender und gleichzeitig als Empfänger angemeldet werden. Über die Kanäle 510 werden dann die Nachrichten von den Sender-Anschlußpunkten zu den Empfänger-Anschlußpunkten weitergeleitet.
  • Die Anschlußpunktvertreter 511 bilden die Schnittstelle zum Signalisierungsmechanismus 206. Für jeden Anschlußpunkt 514 existiert ein Anschlußpunktvertreter 511. Ein Anschlußpunktvertreter 511 meldet sich für den Anschlußpunkt 514, den er vertritt, an einem Kanal 510 des Signalisierungsmechanismus 206 an. Die Anmeldung erfolgt dabei als Sender und/oder als Empfänger. Kommen Nachrichten an diesem Kanal 510 an, so übergeben die Anschlußpunktvertreter 511, die als Empfänger an diesem Kanal angemeldet sind, die Nachrichten dem Vertreter 512 des ressourcenbeschränkten Systems 102, der sie entsprechend weiterleitet. Kommen Nachrichten vom Vertreter 513 des Basissystems 101 beim Vertreter 512 des ressourcenbeschränkten Systems 102 an, so werden sie über den zugeordneten Anschlußpunktvertreter 511 an dessen Kanal 510 weitergeleitet.
  • Der Vertreter 512 des ressourcenbeschränkten Systems 102 zusammen mit seinem Gegenpart, dem Vertreter 513 des Basissystems 101, verbirgt low-level Eigenschaften der physikalischen Verbindung zwischen beiden. Neben dem reinen Kodieren und Dekodieren von Nachrichten sorgen sie dafür, daß logische n-zu-n Verbindungen zwischen den Anschlußpunkten 514 und den korrespondierenden Anschlußpunktvertretern 511 realisiert werden. Die eigentlichen n-zu-m Verbindungen werden dann zusätzlich durch die Kanäle 510 erreicht. So ermöglichen sie Nachrichtenaustausch zwischen einem Anschlußpunkt 514 und seinem Vertreter 511, wodurch es einem Anschlußpunkt 514 möglich ist, an der Kommunikation mit dem Signalisierungsmechanismus 206 so teilzunehmen, als wäre er Teil des Basissystems 101. Die Vertreter 513 des Basissystems 101 und die Vertreter 512 des ressourcenbeschränkten Systems 102 sorgen zusammen auch dafür, daß die Menge der Anschlußpunktvertreter 511 auf der Seite des Basissystems 101 derjenigen auf der Seite des ressourcenbeschränkten, prozessorbasierten Systems 102 entspricht. Unabhängig davon bieten beide Vertreter 512 und 513 Funktionalität, die über den momentanen Status der Verbindung Auskunft gibt.
  • Die Anschlußpunkte 514 realisieren für die entfernten Teilsysteme 208 den Zugang zu den Kanälen 510. Über diese Anschlußpunkte 514 kann ein entferntes Teilsystem 208 Nachrichten empfangen bzw. senden. Dementsprechend können sich entfernte Teilsysteme 208 bei Anschlußpunkten 514 als Sender und/oder Empfänger anmelden. Für jeden Kanal 510 können beliebig viele Anschlußpunkte 514 existieren, wobei ein Anschlußpunkt 514 stets an genau einen Kanal 510 gebunden und vorzugsweise genau einem entferntem Teilsystem 208 zugeordnet ist. Durch das Konzept der Anschlußpunkte 514 ist es möglich, daß sich innerhalb des gesamten Systems mehrere entfernte Teilsysteme 208 befinden können, die Nachrichten an denselben Kanal 510 senden und Nachrichten von demselben Kanal 510 empfangen können.
  • Im folgenden werden unter Hinweis auf 6 bis 8 drei weitere Beispielabläufe in einem System gemäß 5 beschrieben.
  • Bei dem Beispiel von 6 erzeugt ein entferntes Teilsystem 208 einen Anschlußpunkt 514 für einen Kanal 510. Während des Ablaufs wird insbesondere ein Anschlußpunktvertreter 511 erzeugt, und eine Rückmeldung wird an das entfernte Teilsystem 208 ausgegeben.
  • Im einzelnen beginnt der Ablauf von 6 damit, daß ein entferntes Teilsystem 208 den Vertreter 513 des Basissystems 101 damit beauftragt, einen Anschlußpunkt 514 zu erzeugen. Als Parameter wird dabei der Name des Kanals 510 mitgeteilt, bezüglich dem der Anschlußpunkt 514 erzeugt werden soll. Der Vertreter 513 des Basissystems 101 erzeugt einen Anschlußpunkt 514, wobei er diesem bei der Erzeugung eine eindeutige Anschlußpunkt-ID zuweist. Mit Hilfe dieser Anschlußpunkt-ID kann der Anschlußpunkt 514 in eindeutiger Weise referenziert werden. Der Vertreter 513 des Basissystems 101 trägt den neu erzeugten Anschlußpunkt 514 in eine Anschlußpunkt-Liste ein, um später auf ihn zugreifen zu können. Nachdem der Vertreter 513 des Basissystems 101 den Anschlußpunkt 514 an das entfernte Teilsystem 208, das die Erzeugung initiiert hat, zurückgegeben hat, ist die Erzeugung des Anschlußpunktes 514 innerhalb des ressourcenbeschränkten Systems 102 nun abgeschlossen.
  • Nun beauftragt der Vertreter 513 des Basissystems 101 den Vertreter 512 des ressourcenbeschränkten Systems 102, für den gerade erzeugten Anschlußpunkt 514 einen Anschlußpunktvertreter 511 zu erzeugen. Diese Beauftragung geschieht mittels Senden einer Nachricht, in der als Parameter der Kanalname und die Anschlußpunkt-ID übergeben werden. Der Vertreter 512 des ressourcenbeschränkten Systems 102 erzeugt nun einen Anschlußpunktvertreter 511, wobei er diesem den Kanalnamen und die Anschlußpunkt-ID des ursprünglichen Anschlußpunktes 514 übergibt. Der Vertreter 512 des ressourcenbeschränkten Systems 102 trägt den neuen Anschlußpunktvertreter 511 in eine Liste von Anschlußpunktvertretern ein, um später auf ihn zugreifen zu können.
  • Der Vertreter 512 des ressourcenbeschränkten Systems 102 teilt dem Vertreter 513 des Basissystems 101 nun mit, ob die Erzeugung des Anschlußpunktvertreters 511 erfolgreich war oder fehlerhaft verlief. Bei dieser Mitteilung übergibt der Vertreter 512 des ressourcenbeschränkten Systems 102 die Anschlußpunkt-ID des Anschlußpunktvertreters 511. Der Vertreter 513 des Basissystems 101 leitet die Erfolgs- bzw. Mißerfolgsmeldung an den Anschlußpunkt 514 weiter, für den der Anschlußpunktvertreter 511 erzeugt wurde. Dazu sucht der Vertreter 513 des Basissystems 101 in seiner Anschlußpunktliste nach dem Anschlußpunkt 514 mit der passenden Anschlußpunkt-ID. Der Anschlußpunkt 514 schließlich leitet die Erfolgsmeldung an das entfernte Teilsystem 208 weiter, das den Vorgang der Anschlußpunkterzeugung initiierte. Das entfernte Teilsystem 208 kann auf die Erfolgsmeldung bzw. Fehlermeldung nun in geeigneter Weise reagieren.
  • Im Sequenzdiagramm von 7 werden die Vorgänge beschrieben, die ablaufen, wenn ein entferntes Teilsystem 208 eine Nachricht an einen Anschlußpunkt 514 sendet. Es sei hier vorausgesetzt, daß für den Anschlußpunkt 514, über den das entfernte Teilsystem 208 die Nachricht sendet, bereits ein entsprechender Anschlußpunktvertreter 511 existiert. Überdies sei vorausgesetzt, daß das entfernte Teilsystem 208 als Sender am Anschlußpunkt 514 angemeldet ist und der zugehörige Anschlußpunktvertreter 511 als Sender am entsprechenden Kanal 510 angemeldet ist.
  • Der Vorgang beginnt gemäß 7 damit, daß das entfernte Teilsystem 208 einen Anschlußpunkt 514 dazu benutzt, eine Nachricht zu senden. Dabei übergibt das entfernte Teilsystem 208 die Nachricht X an den Anschlußpunkt 514. Der Anschlußpunkt 514 nimmt die Nachricht X entgegen, versieht sie mit seiner Anschlußpunkt-ID, und übergibt diese Daten dem Vertreter 513 des Basissystems 101.
  • Der Vertreter 513 des Basissystems 101 übergibt das Datenpaket an den Vertreter 512 des ressourcenbeschränkten Systems 102. Der Vertreter 512 des ressourcenbeschränkten Systems 102 sucht in seiner Liste von Anschlußpunktvertretern nach dem Anschlußpunktvertreter 511, der dem Anschlußpunkt 514 entspricht, an den das entfernte Teilsystem 208 die Nachricht ursprünglich sendete. Die Zuordnung von Anschlußpunkt 514 zu Anschlußpunktvertreter 511 erfolgt über die Anschlußpunkt-ID. Dem Anschlußpunktvertreter 511 wird die Nachricht X übergeben und dieser sendet sie an den Kanal 510, an den er als Sender angemeldet ist.
  • Je nachdem, ob die Versendung der Nachricht vom Vertreter 512 des ressourcenbeschränkten Systems 102 durchgeführt werden konnte, erzeugt dieser nun eine Erfolgsmeldung bzw. Fehlermeldung. Diese Meldung wird an den Vertreter 513 des Basissystems 101 gesendet, von diesem dann an den betreffenden Anschlußpunkt 514 weitergeleitet und erreicht schließlich das entfernte Teilsystem 208, das die Versendung der Nachricht initiiert hat.
  • In 8 wird anhand eines Beispielablaufs die Lösung verdeutlicht, die in der vorliegenden Erfindung gewählt wurde, um spezielle Probleme, die sich aus den Eigenschaften gewisser Arten von ressourcenbeschränkten Systemen 102 ergeben, zu lösen. Vor der näheren Beschreibung von 8 werden jedoch im folgenden zunächst die konkret auftretenden Probleme geschildert.
  • JavaCard-kompatible Smartcards, insbesondere solche gemäß dem JavaCard-Standard 2.1, weisen die Eigenschaften "Reaktivität der Smartcard" und darüberhinaus "Unidirektionalität der Aufrufstruktur" auf. Diese Eigenschaften stellen zwei wesentliche Einschränkungen dar.
  • Unter "Reaktivität" ist zu verstehen, daß eine Smartcard einen Anstoß benötigt, um Programmcode abarbeiten zu können. Dieser Anstoß muß von außerhalb der Smartcard kommen, bei ISO 7816-kompatiblen Smartcards in Form eines APDU-Kommandos, das an die Smartcard gesendet wird. Beim DMI-Mechanismus ist der Anstoß ein DMI-Methodenaufruf an ein Applet, das auf der Smartcard installiert ist. Im Fall der vorliegenden Erfindung ist dies ein Methodenaufruf, den der Vertreter 512 des ressourcenbeschränkten Systems 102 an den Vertreter 513 des Basissystems 101 absetzt.
  • Unter "Unidirektionalität der Aufrufstruktur" ist zu verstehen, daß eine Smartcard auf ein APDU-Kommando, das an die Smartcard gesendet wird, genau eine Antwort in Form eines APDU-Antwort-Kommandos an den Aufrufer zurücksenden kann. Die Einschränkung besteht darin, daß die Smartcard während der Abarbeitung eines APDU-Kommandos keine Möglichkeit hat, Daten nach außerhalb der Karte zu senden und/oder von dort zu empfangen.
  • Zwar sind auf dem Markt Smartcards erhältlich, die dem JavaCard Standard entsprechen, aber durch proprietäre Erweiterungen die beschriebenen Einschränkungen umgehen können. Von solchen proprietären Erweiterungen soll hier jedoch vorzugsweise nicht ausgegangen werden.
  • Die Folge des Zusammenwirkens beider Eigenschaften ist, daß eine Smartcard fast immer in einem Zustand ist, in dem sie nichts tut, also keinen Programmcode ausführt. Wenn von einem Aufrufer ein APDU-Kommando an die Smartcard gesendet wird, arbeitet die Smartcard dieses Kommando ab, wobei Programmcode ausgeführt wird. Während dieser Abarbeitung kann die Smartcard keine Daten nach außerhalb senden bzw. weitere Daten in Form von APDU-Datenblöcken von dort empfangen. Nach der Abarbeitung des APDU-Kommandos sendet die Smartcard eine APDU-Antwort an den Aufrufer zurück. Danach geht die Smartcard wieder in den Zustand über, in dem sie nichts tut, also keinen Programmcode ausführt. Erst beim Eintreffen des nächsten APDU-Kommandos wird die Smartcard wieder aktiv in dem Sinn, daß sie Programmcode abarbeitet.
  • Eine weitere Folge der beiden oben geschilderten Eigenschaften ist, daß der Vertreter 513 des Basissystems 101 die Kommandos, die er an den Vertreter 512 des ressourcenbeschränkten Systems 102 senden möchte, nicht unmittelbar an diesen senden kann. Denn wegen der Reaktivität der Smartcard ist sicher, daß der Vertreter 513 des Basissystems 101 nur dann Programmcode abarbeiten und somit Kommandos an den Vertreter 512 des ressourcenbeschränkten Systems 102 produzieren kann, wenn er durch den Vertreter 512 des ressourcenbeschränkten Systems 102 mittels eines APDU-Kommandos aktiviert wurde. Da der Vertreter 513 des Basissystems 101 dann aber gerade in der Abarbeitung eines APDU-Kommandos steckt, ist der Kommunikationsweg zum Vertreter 512 des ressourcenbeschränkten Systems 102 blockiert.
  • Für die Übergabe der Kommandos an den Vertreter 512 des ressourcenbeschränkten Systems 102 gibt es mehrere Möglichkeiten. Es ist beispielsweise denkbar, daß der Vertreter 513 des Basissystems 101 die Kommandos in der APDU-Antwort, die an den Vertreter 512 des ressourcenbeschränkten Systems 102 gesendet wird, einfügt. In der vorliegenden Erfindung wird jedoch vorzugsweise der folgende Ansatz verfolgt: Alle Kommandos, die der Vertreter 513 des Basissystems 101 für den Vertreter 512 des ressourcenbeschränkten Systems 102 erzeugt, werden vom Vertreter 513 des Basissystems 101 in einer Kommandoliste abgelegt. Es ist die Aufgabe des Vertreters 512 des ressourcenbeschränkten Systems 102, diese Liste vom Vertreter 513 des Basissystems 101 abzuholen und die darin enthaltenen Kommandos auszuführen. Diese Möglichkeit ist in vielen Fällen gegenüber der ersten Möglichkeit vorteilhaft, da im DMI-Mechanismus die Länge von APDU-Kommandos und deren APDU-Antwortdaten beschränkt sind. Diese Beschränkung wird entschärft, wenn die Kommandos Schritt für Schritt (und nicht in einem Stück) vom Vertreter 512 des ressourcenbeschränkten Systems 102 abgeholt werden.
  • Eine Folge der verzögerten Abarbeitung von Kommandos durch den Vertreter 512 des ressourcenbeschränkten Systems 102 ist, daß Rückgabewerte der Kommandos verzögert an den Vertreter 513 des Basissystems 101 zurückgesendet werden müssen. Bei diesen Kommando-Rückgabewerten handelt es sich um Fehlercodes, die anzeigen, ob die Ausführung eines Kommandos durch den Vertreter 512 des ressourcenbeschränkten Systems 102 erfolgreich war oder ob während der Abarbeitung des Kommandos ein Fehler aufgetreten ist. Der Vertreter 512 des ressourcenbeschränkten Systems 102 sendet für jedes Kommando, das er verarbeitet hat, einen entsprechenden Fehlercode an den Vertreter 513 des Basissystems 101 zurück.
  • Eine weitere Folge der beiden genannten Eigenschaften von Smartcards nach dem JavaCard-Standard ist, daß der Vorgang der Ankopplung in der vorliegenden Erfindung vom Vertreter 512 des ressourcenbeschränkten Systems 102 initiiert werden muß. Dabei sendet der Vertreter 512 des ressourcenbeschränkten Systems 102 ein Initialisierungs-Kommando an den Vertreter 513 des Basissystems 101. Der Vertreter 513 des Basissystems 101 beantwortet das Initialisierungs-Kommando mit Informationen über seinen Systemzustand. Insbesondere werden hier Daten über die Anschlußpunkte 514 geliefert, die der Vertreter 513 des Basissystems 101 verwaltet. Außerdem werden an alle entfernten Teilsysteme 208 Initialisierungs-Botschaften gesendet, wodurch den entfernten Teilsystemen 208 die Möglichkeit zur Reaktion auf eine Ankopplung gegeben wird.
  • Im Sequenzdiagramm von 8, dessen zugrundeliegende Komponenten in 5 gezeigt sind, ist anhand eines Beispielablaufs gezeigt, welche Auswirkungen die beiden genannten Eigenschaften einer JavaCard-kompatiblen Smartcard – Passivität und Unidirektionalität der Aufrufstruktur – auf die Erfindung haben. Grundlage des in 8 gezeigten Ablaufs ist folgendes Szenario: Es gibt ein entferntes Teilsystem 208, das einen Anschlußpunkt 514 besitzt. Das entfernte Teilsystem 208 sei an dem Anschlußpunkt 514 als Sender und Empfänger angemeldet. Auf der Seite des Vertreters 512 des ressourcenbeschränkten Systems 102 existiere der zum genannten Anschlußpunkt 514 gehörige Anschlußpunktvertreter 511, der als Sender und Empfänger an seinem Kanal 510 angemeldet ist. Die Aufgabe des entfernten Teilsystems 208 sei es, bei Eintreffen einer Nachricht X eine Nachricht Y auf den Kanal zu senden.
  • Der Vorgang gemäß 8 beginnt damit, daß eine Nachricht X über den Kanal 510 signalisiert wird. Der Sender dieser Nachricht X ist ein hier nicht näher angegebenes Teilsystem. Da der Anschlußpunktvertreter 511 an dem Kanal 510 als Empfänger registriert ist, empfängt dieser die Nachricht X. Der Anschlußpunktvertreter 511 gibt die Nachricht X an den Vertreter 512 des ressourcenbeschränkten Systems 102 weiter, wobei bei der Übergabe auch die Anschlußpunkt-ID des Anschlußpunktvertreters 511 mitgegeben wird. Der Vertreter 512 des ressourcenbeschränkten Systems 102 verpackt die Daten – Nachricht X und Anschlußpunkt-ID – in einen APDU-Datenblock und sendet diesen Datenblock an den Vertreter 513 des Basissystems 101. Der Vertreter 513 des Basissystems 101 wertet die Daten aus und gewinnt daraus die eigentliche Nachricht X und die Anschlußpunkt-ID des Anschlußpunktes 514, an den die Nachricht X weitergeleitet werden soll. Der Vertreter 513 des Basissystems 101 sucht in seiner Liste von Anschlußpunkten 514 nach dem Anschlußpunkt 514 mit der angegebenen Anschlußpunkt-ID und übergibt die Nachricht X an diesen Anschlußpunkt 514. Der Anschlußpunkt 514, der die Nachricht empfängt, prüft nun, ob bei ihm ein entferntes Teilsystem 208 als Empfänger angemeldet ist.
  • Ist ein entferntes Teilsystem 208 als Empfänger angemeldet – wie hier angenommen – so gibt der Anschlußpunkt 514 die Nachricht X an das entfernte Teilsystem 208 weiter. Während der Abarbeitung der Nachricht X sendet das entfernte Teilsystem 208, das an dem Anschlußpunkt 514 ebenfalls als Sender angemeldet ist, eine neue Nachricht Y an den Anschlußpunkt 514. Der Anschlußpunkt 514 übergibt die Nachricht Y zusammen mit seiner Anschlußpunkt-ID an den Vertreter 513 des Basissystems 101. Der Vertreter 513 des Basissystems 101 kann, da er gerade in der Abarbeitung eines APDU-Kommandos steckt, die Daten nicht an den Vertreter 512 des ressourcenbeschränkten Systems 102 senden. Er bewirkt eine Zwischenspeicherung des Befehls "Sende Nachricht", den das entfernte Teilsystem 208 initiiert hat, in einer Kommandoliste. Das entfernte Teilsystem 208 hätte nun die Möglichkeit, weitere Nachrichten an den Anschlußpunkt 514 zu senden, die ebenfalls in Einträgen in der Kommandoliste resultieren würden. Da das entfernte Teilsystem 208 im Beispielablauf aber keine weitere Aktionen mehr auslöst, ist das APDU-Kommando, mit dem die Nachricht X an das ressourcenbeschränkte System 102 gesendet wurde, nun abgearbeitet. Der Vertreter 513 des Basissystems 101 gibt eine leere APDU-Antwort an den Vertreter 512 des ressourcenbeschränkten Systems 102 zurück.
  • Zu bemerken ist, daß der "Sende"-Befehl aus dem Blickwinkel des entfernten Teilsystems 208 erledigt zu sein scheint, daß die Nachricht Y in Wirklichkeit jedoch noch nicht an den Zielkanal 510 gesendet worden ist.
  • Nun prüft der Vertreter 512 des ressourcenbeschränkten Systems 102, ob während der Abarbeitung des APDU-Kommandos durch den Vertreter 513 des Basissystems 101 Kommandos angefallen sind, die in der Kommandoliste des Vertreters 513 des Basissystems 101 auf ihre Abarbeitung warten. Dies ist im vorliegenden Szenario der Fall, es handelt es sich um das Kommando "Sende Nachricht (Y, AP-ID)". Der Vertreter des ressourcenbeschränkten Systems 512 fordert den Vertreter 513 des Basissystems 101 auf, das nächste Kommando aus der Kommandoliste zu übertragen. Der Vertreter 513 des Basissystems 101 tut dies, indem er das nächste Kommando aus der Kommandoliste in einen APDU-Antwort-Datenblock umwandelt und an den Vertreter 512 des ressourcenbeschränkten Systems 102 zurückgibt. Zugleich wird das Kommando aus der Kommandoliste gelöscht. Der Vertreter 512 des ressourcenbeschränkten Systems 102 führt das Kommando aus, indem er den Anschlußpunktvertreter 511 mit der im Kommando angegebenen Anschlußpunkt-ID sucht. Diesem Anschlußpunktvertreter 511 wird die Nachricht Y nun übergeben. Der Anschlußpunktvertreter 511, der am Kanal 510 als Sender angemeldet ist, sendet die Nachricht Y nun auf den Kanal 510.
  • Um das entfernte Teilsystem 208, das die Sendung der Nachricht Y ausgelöst hat, über Erfolg oder Scheitern der Versendung von Nachricht Y zu informieren, kann vom Vertreter 512 des ressourcenbeschränkten Systems 102 eine Erfolgs-/Mißerfolgsmeldung erzeugt und an den Vertreter 513 des Basissystems 101 geschickt werden, der die Meldung dann an das entfernte Teilsystem 208 weiterleitet. Dieser Vorgang der Erfolgs-/Mißerfolgsmeldung geschieht dabei analog zu dem in Ablaufbeispiel von 7 beschriebenen Vorgang und soll hier nicht mehr erläutert werden.
  • Ein weiterer wesentlicher Aspekt in bevorzugten Ausführungsbeispielen der Erfindung ist die Sicherheit der Kommunikation in Bezug auf Angriffe von außen und innen.
  • Zunächst werden die grundlegenden Sicherheitsmechanismen in bevorzugten Ausgestaltungen der Erfindung erläutert. Die Beschreibung basiert auf den in 5 dargestellten Komponenten. Der im folgenden verwendete Begriff der "Sitzung" bezeichnet den Zeitraum vom Ankoppeln eines Vertreters 513 des Basissystems 101 an einen Vertreter 512 des ressourcenbeschränkten Systems 102 bis zum Zeitpunkt der Abkopplung desselben.
  • Die Kommunikation zwischen dem Vertreter 512 des ressourcenbeschränkten Systems 102 und dem Vertreter 513 des Basissystems 101 kann durch Sicherheitsmechanismen geschützt werden. Dabei werden im vorliegend beschriebenen Ausführungsbeispiel der Erfindung die folgenden 3 Sicherheitsstufen unterschieden:
    • Stufe 0: keine Sicherheitsfunktionen,
    • Stufe 1: Schutz vor Abhören und Manipulation der Kommunikation, und
    • Stufe 2: wie Stufe 1, dazu Schutz vor Informationsgewinnung aus der Analyse des Verkehrsaufkommens der Kommunikation zwischen dem Vertreter 512 des ressourcenbeschränkten Systems 102 und dem Vertreter 513 des Basissystems 101.
  • In dem hier beschriebenen Ausführungsbeispiel ist vorgesehen, daß ein entferntes Teilsystem 208 einstellen kann, mit welcher Sicherheitsstufe die Kommunikation zwischen dem Vertreter 512 des ressourcenbeschränkten Systems 102 und dem Vertreter 513 des Basissystems 101 geschützt werden soll. Der Vertreter 513 des Basissystems 101 sorgt dafür, daß die Sicherheitswünsche aller entfernten Teilsysteme 208, die bei ihm registriert sind, eingehalten werden.
  • Ferner ist in vorteilhaften Ausführungsbeispielen vorgesehen, daß bei der Ankopplung eines Vertreters eines Basissystems 513 an einen Vertreter 512 des ressourcenbeschränkten Systems 102 eine Sicherheitsstufe ausgehandelt wird, mit der die Kommunikation zwischen dem Vertreter 513 des Basissystems 101 und dem Vertreter 512 des ressourcenbeschränkten Systems 102 geschützt wird. Dabei teilt zunächst der Vertreter 512 des ressourcenbeschränkten Systems 102 dem Vertreter 513 des Basissystems 101 die Sicherheitsstufen mit, die er unterstützt. Der Vertreter 513 des Basissystems 101 kann nun anhand dieser Information entscheiden, welche entfernten Teilsysteme 208 in die Sitzung mit einbezogen werden und welche nicht. Das Kriterium, ob ein entferntes Teilsystem 208 in die Sitzung miteinbezogen wird, ist die Sicherheitsstufe, die das entfernte Teilsystem 208 wünscht. Der Vertreter 513 des Basissystems 101 prüft dabei für jedes Teilsystem, ob die Sicherheitsstufe, die der Vertreter 512 des ressourcenbeschränkten Systems 102 anbietet, groß genug ist, um den Wunsch des entfernten Teilsystems 208 erfüllen zu können. Wenn dem so ist, wird das entfernte Teilsystem 208 als "aktiviert" markiert, andernfalls wird das entfernte Teilsystem als "nicht aktiviert" markiert. Der Vertreter 513 des Basissystems 101 sorgt dafür, daß an der laufenden Sitzung nur solche entfernte Teilsysteme 208 teilnehmen, die als "aktiviert" markiert sind.
  • Die sichere Kommunikation erfolgt in unterschiedlichen Ausführungsvarianten unter anderem durch eine oder mehrere der folgenden, an sich bekannten Techniken: Sequenznummern, Prüfsummen, Verschlüsselung der Kommunikation und Schlüsselaustausch.
  • In einem besonders sicheren Ausführungsbeispiel werden sämtliche Datenpakete, die der Vertreter 512 des ressourcenbeschränkten Systems 102 und der Vertreter 513 des Basissystems 101 untereinander austauschen, mit Hilfe kryptographischer Verfahren vor Verfälschung und Abhören geschützt, falls die Kommunikation mit Sicherheitsstufe 1 oder 2 erfolgt. Dabei wird jedes Datenpaket zunächst mit einer Sequenznummer und einer aus dem Datenpaket berechneten Prüfsumme versehen. Das Resultat wird dann mit Hilfe eines symmetrischen Verschlüsselungsverfahrens verschlüsselt, wobei ein Schlüssel zum Einsatz kommt, der nur dem Vertreter 513 des Basissystems 101 und dem Vertreter 512 des ressourcenbeschränkten Systems 102 bekannt ist. Dieser Schlüssel wird bei jeder Ankopplung des Vertreters 513 des Basissystems 101 an einen Vertreter 512 des ressourcenbeschränkten Systems 102 vom Vertreter 513 des Basissystems 101 neu generiert und wird im folgenden als Sitzungsschlüssel bezeichnet.
  • Die Sicherheit des Verfahrens hängt wesentlich davon ab, daß die Übertragung des Sitzungsschlüssels vom Vertreter 513 des Basissystems 101 an den Vertreter 512 des ressourcenbeschränkten Systems 102 auf sichere Weise geschieht. Dies wurde im gegenwärtig beschriebenen Ausführungsbeispiel so gelöst, daß der Vertreter 513 des Basissystems 101 den Sitzungsschlüssel vor der Übertragung an den Vertreter 512 des ressourcenbeschränkten Systems 102 mit Hilfe eines asymmetrischen Verschlüsselungsverfahrens verschlüsselt. Jeder Vertreter eines ressourcenbeschränkten Systems 512 muß dabei über ein Schlüsselpaar aus einem öffentlichen und dem zugehörigen geheimen Schlüssel verfügen. Bei der Ankopplung eines Vertreters 513 des Basissystems 101 an einen Vertreter 512 eines ressourcenbeschränkten Systems 102 teilt der Vertreter 512 des ressourcenbeschränkten Systems 102 dem Vertreter 513 des Basissystems 101 seinen öffentlichen Schlüssel mit. Der Vertreter 513 des Basissystems 101 verschlüsselt den Sitzungsschlüssel dann mit dem öffentlichen Schlüssel des Vertreters 512 des ressourcenbeschränkten Systems 102. Da nur der Vertreter 512 des ressourcenbeschränkten Systems 102 im Besitz des geheimen Schlüssels ist, kann nur er den Sitzungsschlüssel entschlüsseln und somit mit dem Vertreter 513 des Basissystems 101 kommunizieren.
  • Alternativ oder zusätzlich ist in weiteren Ausführungsvarianten ein Geheimhalten von offenen Channels und Ports vorgesehen. Beim Ankoppeln eines Vertreters 513 des Basissystems 101 an einen Vertreter 512 des ressourcenbeschränkten Systems 102 teilt der Vertreter 513 des Basissystems 101 dem Vertreter 512 des ressourcenbeschränkten Systems 102 seinen Zustand mit. Dabei übergibt der Vertreter 513 des Basissystems 101 unter anderem Daten über die Anschlußpunkte 514 der als "aktiviert" markierten entfernten Teilsysteme 208. Aus den Daten, die bei der Ankopplung ausgetauscht werden, können Informationen über das ressourcenbeschränkte System 102 und die darauf installierten entfernten Teilsysteme 208 gewonnen werden, wie z.B. Namen der Kanäle 510, an denen sich die entfernten Teilsysteme 208 anmelden wollen.
  • Daher ist im hier beschriebenen Ausführungsbeispiel eine Möglichkeit vorgesehen, mit dem entfernte Teilsysteme 208 bestimmen können, mit welchen Vertretern 512 eines ressourcenbeschränkten Systems 102 sie kommunizieren möchten, an welche Vertreter 512 des ressourcenbeschränkten Systems 102 sie also Informationen über sich selbst preisgeben. Dazu übergibt jedes entfernte Teilsystem 208 an den Vertreter 513 des Basissystems 101 eine Liste mit öffentlichen Schlüsseln, die den öffentlichen Schlüsseln der Vertreter 512 des ressourcenbeschränkten Systems 102 entspricht, mit dem das entfernte Teilsystem 208 kommunizieren möchte. Der Vertreter 513 des Basissystems 101 sorgt dafür, daß entfernte Teilsysteme 208, die den öffentlichen Schlüssel des Vertreters 512 des ressourcenbeschränkten Systems 102, der eine Ankopplung einleitet, nicht in ihrer Liste haben, als "nicht aktiviert" markiert werden, und somit von der Kommunikation mit dem Vertreter 512 des ressourcenbeschränkten Systems 102 ausgeschlossen werden.
  • Ein weiterer wichtiger Sicherheitsaspekt in Ausführungsalternativen der Erfindung ist es, das Erkennen von Nachrichten durch geeignete Blindkommunikation zu verhindern. Es soll damit, insbesondere bei drahtloser Kommunikation, vermieden werden, daß durch Analyse des Verkehrsaufkommens zwischen dem Vertreter 512 des ressourcenbeschränkten Systems 102 und dem Vertreter 513 des Basissystems 101 möglicherweise vertrauliche Informationen gewonnen werden können. Zu diesem Verschleiern der Kommunikation werden vom Vertreter 512 des ressourcenbeschränkten Systems 102 Pakete von Blinddaten in die Kommunikation mit dem Vertreter 513 des Basissystems 101 eingestreut, wenn die Kommunikation zwischen dem Vertreter 512 des ressourcenbeschränkten Systems 102 und dem Vertreter 513 des Basissystems 101 mit Sicherheitsstufe 2 betrieben wird. Die Anzahl, Größe und die Inhalte dieser Datenpakete ist zufällig, jedoch so gestaltet, daß der Vertreter 513 des Basissystems 101, der im Besitz des Sitzungsschlüssels ist, sie als Blinddatenpakete identifizieren kann. Der Vertreter 513 beantwortet ein Blinddatenpaket seinerseits mit einer zufälligen Anzahl von Blinddaten paketen, deren Größe und Inhalt wiederum zufällig ist. Durch Anwendung dieses Verfahrens ist es nicht mehr möglich, durch Messung des Verkehrsaufkommens zwischen dem Vertreter 512 des ressourcenbeschränkten Systems 102 und dem Vertreter 513 des Basissystems 101 vertrauliche Informationen zu gewinnen.
  • Wie bereits beschrieben, kann ein entferntes Teilsystem 208 Sicherheitswünsche äußern, was die Kommunikation mit dem Vertreter 512 des ressourcenbeschränkten Systems 102 betrifft. In bevorzugten Ausführungsvarianten ist vorgesehen, daß die Angabe dieser Sicherheitsanforderungen in unterschiedlichen Granularitätsstufen erfolgen kann. Eine entferntes Teilsystem 208 kann dann Sicherheitsforderungen global für das entfernte Teilsystem 208 stellen. Es kann aber auch die Sicherheitsforderungen bezüglich einer Menge von Anschlußpunkten 514 stellen. Es kann im Extremfall für jeden Anschlußpunkt 514 eigene Sicherheitsforderungen stellen.
  • Schließlich ist in vorteilhaften Ausführungsbeispielen vorgesehen, daß der Vertreter 512 des ressourcenbeschränkten Systems 102 bestimmen kann, welche entfernten Teilsysteme 208 an der Kommunikation zwischen dem Vertreter 512 des ressourcenbeschränkten Systems 102 und dem Vertreter 513 des Basissystems 101 teilnehmen können. Dazu teilt der Vertreter 512 des ressourcenbeschränkten Systems 102 dem Vertreter 513 des Basissystems 101 die öffentlichen Schlüssel der entfernten Teilsysteme 208 mit, die in die Kommunikation miteinbezogen werden sollen. Dementsprechend teilen alle entfernten Teilssysteme 208, die sich am Vertreter 513 des Basissystems 101 registrieren, bei der Registrierung ihren öffentlichen Schlüssel mit. Der Vertreter 513 des Basissystems 101 sorgt bei einer Ankopplung dafür, daß die entfernten Teilsysteme 208, die der Vertreter 512 des ressourcenbeschränkten Systems 102 nicht unterstützt, als "nicht aktiviert" markiert werden und somit nicht in die Kommunikation zwischen dem Vertreter 512 des ressourcenbeschränkten Systems 102 und dem Vertreter 513 des Basissystems 101 miteinbezogen werden.
  • Insgesamt sind am Schluß der Initialisierungsphase nur diejenigen entfernten Teilsysteme 208 als "aktiviert" markiert, deren Sicherheitsforderungen vom Vertreter 513 des Basissystems 101 durchgesetzt werden können und die der Vertreter 512 des ressourcenbeschränkten Systems 102 zur Kommunikation zulassen möchte. Die als "nicht aktiviert" markierten entfernten Teilsysteme 208 werden zur Kommunikation der laufenden Sitzung nicht zugelassen. Jedes Teilsystem wird (falls vom entfernten Teilsystem 208 gewünscht) vom Vertreter 513 des Basissystems 101 davon unterrichtet, ob es an der aktuellen Sitzung teilnimmt oder nicht.

Claims (19)

  1. Verfahren zur Signalisierung von Nachrichten zwischen mindestens zwei Kommunikationsparfnern, wobei mindestens einer der Partner ein Basissystem (101) und mindestens einer der Partner ein ressourcenbeschränktes, prozessorbasiertes System (102), nämlich eine prozessorbasierte Chipkarte, ist, wobei das ressourcenbeschränkte, prozessorbasierte System (102) dazu eingerichtet ist, zu beliebigen Zeitpunkten vom Basissystem (101) getrennt oder wieder mit dem Basissystem (101) verbunden zu werden, und wobei das Verfahren, wenn das ressourcenbeschränkte, prozessorbasierte System (102) mit dem Basissystem (101) verbunden wird, folgende Schritte aufweist: a) Ankopplung des ressourcenbeschränkten, prozessorbasierten Systems (102) über einen Zwischenverteiler (207) an einen Signalisierungsmechanismus (206) des Basissystems (101) zur asynchronen Signalisierung von Nachrichten, wobei der Signalisierungsmechanismus (206) ein Event Service ist, b) Signalisierung von Nachrichten zu und von dem ressourcenbeschränkten, prozessorbasierten System (102), wobei b1) vom ressourcenbeschränkten, prozessorbasierten System (102) gesendete Nachrichten über den Zwischenverteiler (207) an den Signalisierungsmechanismus (206) weitergeleitet werden, und b2) für das ressourcenbeschränkte, prozessorbasierte System (102) bestimmte Nachrichten vom Signalisierungsmechanismus (206) über den Zwischenverteiler (207) an das ressourcenbeschränkte, prozessorbasierte System (102) weitergeleitet werden, bei dem der Zwischenverteiler (207) sein Verhalten bei einer temporären Abkoppelung des ressourcenbeschränkten, prozessorbasierten Systems (102) vom Basissystem (101) dem jeweiligen Ankopplungszustand anpaßt, und bei dem der Zwischenverteiler (207) einerseits für den Signalisierungsmechanismus (206) das ressourcenbeschränkte, prozessorbasierte System (102) und andererseits für das ressourcenbeschränkte, prozessorbasierte System (102) den Signalisierungsmechanismus (206) als Kommunikationspartner repräsentiert.
  2. Verfahren nach Anspruch 1, bei dem die Kommunikation zwischen dem ressourcenbeschränkten, prozessorbasierten System (102) und dem Basissystem (101) gegen Mithören und/oder Verfälschung und/oder das Erkennen des Auftretens von Nachrichten abgesichert ist.
  3. Verfahren zur Signalisierung von Nachrichten zwischen mindestens zwei Kommunikationspartnern, wobei mindestens einer der Partner ein Basissystem (101) und mindestens einer der Partner ein ressourcenbeschränktes, prozessorbasiertes System (102), nämlich ein intelligentes Haushaltsgerät oder ein verteilter Sensor oder ein verteilter Aktuator, ist, wobei das ressourcenbeschränkte, prozessorbasierte System (102) dazu eingerichtet ist, zu beliebigen Zeitpunkten vom Basissystem (101) getrennt oder wieder mit dem Basissystem (101) verbunden zu werden, und wobei das Verfahren, wenn das ressourcenbeschränkte, prozessorbasierte System (102) mit dem Basissystem (101) verbunden wird, folgende Schritte aufweist: a) Ankopplung des ressourcenbeschränkten, prozessorbasierten Systems (102) über einen Zwischenverteiler (207) an einen Signalisierungsmechanismus (206) des Basissystems (101) zur asynchronen Signalisierung von Nachrichten, wobei der Signalisierungsmechanismus (206) ein Event Service ist, b) Signalisierung von Nachrichten zu und von dem ressourcenbeschränkten, prozessorbasierten System (102), wobei b1) vom ressourcenbeschränkten, prozessorbasierten System (102) gesendete Nachrichten über den Zwischenverteiler (207) an den Signalisierungsmechanismus (206) weitergeleitet werden, und b2) für das ressourcenbeschränkte, prozessorbasierte System (102) bestimmte Nachrichten vom Signalisierungsmechanismus (206) über den Zwischenverteiler (207) an das ressourcenbeschränkte, prozessorbasierte System (102) weitergeleitet werden, bei dem der Zwischenverteiler (207) sein Verhalten bei einer temporären Abkoppelung des ressourcenbeschränkten, prozessorbasierten Systems (102) vom Basissystem (101) dem jeweiligen Ankopplungszustand anpaßt, bei dem der Zwischenverteiler (207) einerseits für den Signalisierungsmechanismus (206) das ressourcenbeschränkte, prozessorbasierte System (102) und andererseits für das ressourcenbeschränkte, prozessorbasierte System (102) den Signalisierungsmechanismus (206) als Kommunikationspartner repräsentiert, und bei dem die Kommunikation zwischen dem ressourcenbeschränkten, prozessorbasierten System (102) und dem Basissystem (101) gegen Mithören und/oder Verfälschung von Nachrichten abgesichert ist.
  4. Verfahren nach Anspruch 3, bei dem die Kommunikation zwischen dem ressourcenbeschränkten, prozessorbasierten System (102) und dem Basissystem (101) gegen das Erkennen des Auftretens von Nachrichten abgesichert ist.
  5. Verfahren nach einem der Ansprüche 2 bis 4, bei dem die Absicherung der Kommunikation gegen Mithören und/oder Verfälschung durch symmetrische Verschlüsselung der zusätzlich mit Sequenznummern und Prüfsummen versehenen Nachrichten erfolgt.
  6. Verfahren nach einem der Ansprüche 2 bis 5, bei dem die jeweiligen Vertreter des ressourcenbeschränkten, prozessorbasierten Systems (102) sowie des Basissystems (101) nach der Ankopplung ein asymmetrisches Verschlüsselungsverfahren benutzen, um sich gegenseitig zu autorisieren und den für die symmetrische Verschlüsselung benötigten Schlüssel zu vereinbaren.
  7. Verfahren nach einem der Ansprüche 2 bis 6, bei dem die Kommunikation gegen das ungewollte Erkennen der Tatsache, daß Nachrichten versendet werden, durch die Verwendung von Blindnachrichten abgesichert ist, indem diese von den jeweiligen Vertretern (512 und 513) in den Kommunikationsfluß eingestreut und wieder herausgefiltert werden.
  8. Verfahren nach einem der Ansprüche 2 bis 7, bei dem eine Signalisierung von Nachrichten nur dann zustande kommt, wenn Sicherheitsanforderungen eines Vertreters (512 oder 513) von dem jeweils anderen Vertreter (513 bzw. 512) erfüllt werden können.
  9. Verfahren nach Anspruch 8, bei dem die Sicherheitsanforderungen von den entfernten Teilsystemen (208) für einzelne Anschlußpunkte (514) und damit für Kanäle (510) gestellt werden.
  10. Verfahren. nach einem der Ansprüche 2 bis 9, bei dem das Basissystem (101) das Vorhandensein von Kanälen (510) vor dem ressourcenbeschränkten, prozessorbasierten System (102) verbirgt und die entfernten Teilsysteme (208) die Ankopplung an Kanäle (510) geheimhalten.
  11. Verfahren nach einem der Ansprüche 1 bis 10, bei dem jede Nachricht zwischen den Kommunikationspartnern über einen von dem Signalisierungsmechanismus (206) zur Verfügung gestellten, eindeutig bestimmten Kanal (510) signalisiert wird.
  12. Verfahren nach einem der Ansprüche 1 bis 11, bei dem eine Komponente des Basissystems (101) ein Vertreter (512) des ressourcenbeschränkten, prozessorbasierten Systems (102) ist.
  13. Verfahren nach einem der Ansprüche 1 bis 12, bei dem eine Komponente auf dem ressourcenbeschränkten, prozessorbasierten System (102) ein Vertreter (513) des Basissystems (101) ist.
  14. Verfahren nach einem der Ansprüche 1 bis 13, bei dem auf dem Basissystem (101) die Anbindung von Teilsystemen (103) an Kommunikationskanäle (510) zum ressourcenbeschränkten, prozessorbasierten System (102) mittels Anschlußpunktvertretern (511) erfolgt.
  15. Verfahren nach einem der Ansprüche 1 bis 14, bei dem auf dem ressourcenbeschränkten, prozessorbasierten System (102) Anschlußpunkte (514) erzeugt werden, über die die Kommunikation mit dem Basissystem (101) verläuft.
  16. Verfahren nach einem der Ansprüche 1 bis 15, bei dem bei einer Wiederankopplung des ressourcenbeschränkten, prozessorbasierten Systems (102) der Zwischenverteiler (207) in einen Zustand versetzt wird, der dem Zustand des Zwischenverteilers (207) entspricht, mit dem das ressourcenbeschränkte, prozessorbasierte System (102) vor der Trennung verbunden war.
  17. Verfahren nach einem der Ansprüche 1 bis 16, bei dem das ressourcenbeschränkte, prozessorbasierte System (102) ausschließlich auf Anfragen des Basissystems (101) reagiert.
  18. Verfahren nach einem der Ansprüche 1 bis 17, bei dem das ressourcenbeschränkte, prozessorbasierte System (102) lediglich eine unidirektionale Aufrufstruktur unterstützt.
  19. Vorrichtung, die dazu eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 18 durchzuführen.
DE19906134A 1999-02-13 1999-02-13 Anbindung eines ressourcenbeschränkten, prozessorbasierten Systems an einen Mechanismus zur Signalisierung von Nachrichten Expired - Fee Related DE19906134B8 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19906134A DE19906134B8 (de) 1999-02-13 1999-02-13 Anbindung eines ressourcenbeschränkten, prozessorbasierten Systems an einen Mechanismus zur Signalisierung von Nachrichten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19906134A DE19906134B8 (de) 1999-02-13 1999-02-13 Anbindung eines ressourcenbeschränkten, prozessorbasierten Systems an einen Mechanismus zur Signalisierung von Nachrichten

Publications (3)

Publication Number Publication Date
DE19906134A1 DE19906134A1 (de) 2000-08-31
DE19906134B4 true DE19906134B4 (de) 2005-02-24
DE19906134B8 DE19906134B8 (de) 2005-07-28

Family

ID=7897463

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19906134A Expired - Fee Related DE19906134B8 (de) 1999-02-13 1999-02-13 Anbindung eines ressourcenbeschränkten, prozessorbasierten Systems an einen Mechanismus zur Signalisierung von Nachrichten

Country Status (1)

Country Link
DE (1) DE19906134B8 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018104178A1 (de) * 2018-02-23 2019-08-29 Fujitsu Client Computing Limited Verfahren zum sicheren Zugriff auf Hardware-Komponenten innerhalb eines Benutzer-Terminals sowie derartiges Benutzer-Terminal
DE102018104184A1 (de) * 2018-02-23 2019-08-29 Fujitsu Client Computing Limited Verfahren zur Absicherung eines Zugriffs auf Informationen innerhalb eines Benutzer-Terminals sowie derartiges Benutzer-Terminal

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0260043B1 (de) * 1986-09-05 1993-01-13 AT&T Corp. Virtuelles Anrufbehandlungsverfahren in einer Fernsprechnebenstellenanlage
WO1997014108A1 (en) * 1995-10-11 1997-04-17 Block Financial Corporation Financial information access system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0260043B1 (de) * 1986-09-05 1993-01-13 AT&T Corp. Virtuelles Anrufbehandlungsverfahren in einer Fernsprechnebenstellenanlage
WO1997014108A1 (en) * 1995-10-11 1997-04-17 Block Financial Corporation Financial information access system

Also Published As

Publication number Publication date
DE19906134B8 (de) 2005-07-28
DE19906134A1 (de) 2000-08-31

Similar Documents

Publication Publication Date Title
DE60124367T2 (de) Verfahren zur übertragung von hochrätigen datenströmen über internet zwischen einem server und einem chipkartenterminal
DE69925806T2 (de) Verfahren zur kommunikation zwischen einer benutzerstation und einem netzwerk insbesondere das internet und architektur dafür
DE60220665T2 (de) Verfahren und system für den aufbau einer verbindung zwischen einem personal security device und einem fernrechnersystem
DE69400549T3 (de) IC-Karten-Übertragungssystem
EP0990356B1 (de) Mobilgerät, chipkarte und kommunikationsverfahren
DE60205485T2 (de) Paketorientierter datenaustausch zwischen beweglichen und örtlich festgelegten datennetzen
DE69829346T2 (de) Ein-/Ausgabevorrichtung für ein Peripheriegerät
EP0283432A1 (de) Verfahren und Vorrichtung zum Schutz der Geheimelemente in einem Netz von Chiffriergeräten mit offener Schlüssel-Verwaltung
DE3103873A1 (de) Raeumlich verteiltes datenverarbeitungssystem
WO1999025140A1 (de) Identifizierungskarte und identifizierungsverfahren
EP2417550A1 (de) Verfahren zur durchführung einer applikation mit hilfe eines tragbaren datenträgers
DE19720431A1 (de) Vorrichtung und Verfahren zur Personalisierung von Chipkarten
EP1576848B1 (de) Verfahren zur bereitstellung von kostenpflichtigen diensten sowie nutzeridentifikationsvorrichtung und einrichtung zum bereitstellen der dienste
DE60219076T2 (de) Herunterladung eines applets in einem kommunikationssystem
WO2001039464A1 (de) Anpassbare chipkarte
DE19906134B4 (de) Anbindung eines ressourcenbeschränkten, prozessorbasierten Systems an einen Mechanismus zur Signalisierung von Nachrichten
EP1230779B1 (de) Verfahren, chipkarte, und vorrichtung für eine logische schnittstelle zwischen zwei anwendungen
DE60313746T2 (de) Verfahren zur netzwerkkommunikation mit einer chipkarte die asynchrone meldungen benutzt
DE10107883B4 (de) Verfahren zur Übertragung von Daten, Proxy-Server und Datenübertragungssystem
DE60205206T2 (de) Verfahren zur Sicherung des Herunterladens von aktiven Daten auf ein Kommunikationsgerät
EP2196005B1 (de) Datenkommunikationsverfahren und datenträger dafür
DE102007006384A1 (de) Verfahren und Vorrichtung zum Speichern einer für eine Nahfeldkommunikation erforderlichen gesicherten Information auf einem Kommunikationsgerät
DE60203811T2 (de) Funkkommunikationsmodul, das ein hauptsoftwareprogramm ausführt, dessen niedrige schichten einem client-softwareprogramm, das ebenfalls durch das modul ausgeführt wird, offen sind
DE60213632T2 (de) Byte-übertragungsverwaltung in einer chipkarte
DE102005055419B3 (de) Doppelschnittstellenvorrichtung aus portablen Datenträgern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Free format text: BERGNER, KLAUS, 80333 MUENCHEN, DE BRUEGGE, BERND, PROF. DR., 80333 MUENCHEN, DE RAUSCH, ANDREAS, 87452 ALTUSRIED, DE SIHLING, MARC, 80333 MUENCHEN, DE VILSMEIER, CHRISTOPH, 84030 ERGOLDING, DE PIHULAK, BRIGITTE, 73257 KOENGEN, DE HEGE, DIETER, 71384 WEINSTADT, DE

8381 Inventor (new situation)

Inventor name: PIHULAK, BRIGITTE, 73257 K?NGEN, DE

Inventor name: SIHLING, MARC, 80333 MUENCHEN, DE

Inventor name: BRUEGGE, BERND, PROF. PH.D., 80333 MUENCHEN, DE

Inventor name: BERGNER, KLAUS, 80333 MUENCHEN, DE

Inventor name: VILSMEIER, CHRISTOPH, 84030 ERGOLDING, DE

Inventor name: RAUSCH, ANDREAS, 87452 ALTUSRIED, DE

Inventor name: HEGE, DIETER, 71384 WEINSTADT, DE

8396 Reprint of erroneous front page
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee