Diese Anmeldung zu einem Patent steht im Zusammenhang mit der US Patentanmeldung
unter der Bezeichnung „DEVICE DETECTION AND SERVICE DISCOVERY SYTEM AND METHOD
FOR A MOBILE AD HOC COMMUNICATIONS NETWORK", die beim United States Patent and Trademark
Office am 31. Oktober 2002 eingereicht wurde. Diese Anmeldung zu einem Patent steht
auch in einem Zusammenhang mit der US Continuation-in-Part Patentanmeldung unter
der Bezeichnung „DEVICE DETECTION AND SERVICE DISCOVERY SYSTEM AND METHOD
FOR A MOBILE AD HOC COMMUNICATIONS NETWORK", die beim United States Patent and Trademark
Office am 16. September 2003 eingereicht wurde. Diese Anmeldung zu einem Patent
steht auch in einem Zusammenhang mit der US Patentanmeldung unter der Bezeichnung
MECHANISM FOR IMPROVING CONNECTION CONTROL IN PEER-TO-PEER AD-HOC NETWORKS", die
beim United States Patent and Trademark Office am 16. September 2003 eingereicht
wurde. Diese Anmeldung zum Patent steht auch in einem Zusammenhang zu der US Patentanmeldung
unter der Bezeichnung „APPLICATION CONTROL IN PEER-TO-PEER AD-HOC COMMUNICATION
NETWORKS", die beim United States Patent and Trademark Office am 16. September 2003
eingereicht wurde. Der Übertragende ist der gleiche in dieser Anmeldung und
in den verwandten Patentanmeldungen.
GEBIET DER ERFINDUNG
Die vorliegende Erfindung bezieht sich ganz allgemein auf die Kommunikation
zwischen Einrichtungen, die mit einem drahtlosen Kommunikationsnetzwerk verbunden
sind. Insbesondere ist die vorliegende Erfindung ein System und ein Verfahren zum
Starten und Steuern sicherer und nicht sicherer Anwendungsprogramme in drahtlosen
Vorrichtungen in einem Ad-Hoc-Kommunikationsnetzwerk.
Drahtlose Systeme für den Nahbereich haben eine Reichweite von
weniger als einhundert Meter, können sich aber mit dem Internet verbinden,
um eine Kommunikation über längere Entfernungen bereitzustellen. Drahtlose
Systeme für den Nahbereich umfassen, sind aber nicht beschränkt darauf,
ein drahtloses Personal Area Netzwerk (PAN) und ein drahtloses Local Area Netzwerk
(LAN). Ein drahtloses PAN nutzt preiswerte, leistungsschwache drahtlose Vorrichtungen,
die eine typische Reichweite von zehn Metern haben. Ein Beispiel einer drahtlosen
PAN-Technologie ist der Bluetooth Standard. Der Bluetooth Standard arbeitet im Industrial,
Scientific und Medical (ISM) 2,4 GHz Band und liefert eine Air-Link Spitzengeschwindigkeit
von einem Mbps und einer Leistungsaufnahme, die gering genug ist für die Verwendung
in persönlichen, mobilen Elektrogeräten, wie einem persönlichen digitalen
Assistenten oder einem Mobiltelefon. Eine Einführung in Bluetooth Anwendungen
gibt es in Bluetooth Application Developer's Guide: The Short Range Interconnect
Solution, Chapter 1, Syngress Publishing, Inc., 2002. Ein weiteres Beispiel einer
drahtlosen PAN-Technologie ist ein Standard zum Übertragen von Daten mittels
Infrarotlichtwellen, der durch die Infrared Data Association (IrDA) entwickelt wurde,
einer Gruppe von Geräteherstellern. IrDA-Anschlüsse ermöglichen,
dass Computer, wie ein Laptop oder Vorrichtungen, wie ein Drucker, Daten von einer
Vorrichtung zu einer anderen ohne Kabel übertragen. IrDA-Anschlüsse unterstützen
grob die gleichen Übertragungsraten, wie traditionelle parallele Anschlüsse,
und die einzige Beschränkung hinsichtlich ihrer Nutzung besteht darin, dass
die zwei Vorrichtungen nahe beieinander liegen müssen (das heißt, innerhalb
einiger Fuß voneinander) und eine freie Sichtlinie haben müssen. Ein drahtloses
LAN ist teurer als ein drahtloses PAN, hat aber eine größere Reichweite.
Ein Beispiel einer drahtlosen LAN-Technologie ist der IEEE 802.11 Wireless LAN Standard
und der HIPERLAN Standard. Der HIPERLAN Standard arbeitet im unlizenzierten National
Information Infrastructure (U-NII) Band von 5 GHz und liefert eine Air-Link Spitzengeschwindigkeit
zwischen zehn und einhundert Mbps.
Ein Ad-Hoc-Netzwerk ist ein drahtloses System für den Nahbereich
mit einer beliebigen Ansammlung von drahtlosen Vorrichtungen, die physisch nahe
genug beieinander sind, um eine Information auszutauschen. Die Konstruktion eines
Ad-Hoc-Netzwerks erfolgt schnell mit drahtlosen Vorrichtungen, die dem Netzwerk
beitreten und dieses verlassen, wenn sie in die Nähe der restlichen drahtlosen
Vorrichtungen gelangen und diese verlassen. Ein Ad-Hoc-Netzwerk kann auch ein oder
mehrere Zugangspunkte haben, das heißt, stationäre drahtlose Vorrichtungen,
die als ein Stand-Alone Server oder als Gateway-Verbindungen zu anderen Netzwerken
arbeiten.
In der Zukunft wird der Bluetooth Standard wahrscheinlich im Zusammenschluss
von zahlreichen Piconets unterstützen, um ein Multihop Ad-Hoc-Netzwerk oder
Scatternet zu bilden. In einem Scatternet übermittelt eine Verbindungsvorrichtung
Traffic zwischen verschiedenen Piconets. Die Verbindungsvorrichtung kann als eine
Hauptvorrichtung in einem Piconet dienen, in einen anderen Piconet aber als eine
Nebenvorrichtung oder eine Hauptvorrichtung. Auf diese Weise verbinden die Verbindungsvorrichtungen
die Piconets, die ein Scatternet umfassen, indem sie die Zeit- und Sprungssequenz
an das jeweilige Piconet anpassen und möglicherweise die Rollen, die sie erfüllen,
von eine Hauptvorrichtung zu einer Nebenvorrichtung verändern.
Eine Bluetooth-Vorrichtung umfasst, ist aber nicht
beschränkt darauf, ein Mobiltelefon, Personal- oder Laptop-Computer, Radio-Frequency
Identification (RFID) Tags und persönliche elektronische Geräte, wie einen
persönlichen digitalen Assistenten (PDA), Pager oder eine mobile Rechnereinrichtung.
Jede Bluetooth-Vorrichtung umfasst Anwendungs- und Betriebssystemprogramme, die
so ausgelegt sind, dass diese weitere Bluetooth-Vorrichtungen auffinden, wenn diese
in den Kommunikationsbereich des Netzwerks gelangen und dieses verlassen. Die anfragende
Bluetooth-Vorrichtung in einer Client-Rolle und die antwortende Bluetooth-Vorrichtung
in einer Server-Rolle richten zwischen den beiden Vorrichtungen einen Nachbarschafts-Link
ein. Die anfragende und antwortende Bluetooth-Vorrichtung nutzt den Nachbarschaftslink
und ein Service Discovery Protokoll, um die durch die andere Bluetooth-Vorrichtung
angebotenen Dienste festzustellen und wie sie sich mit diesen Diensten verbinden
kann.
Eine Public Key Infrastruktur (PKI) ist ein System von digitalen Zertifikaten,
Zertifikat-Autoritäten (CAs) und anderen Registrierungsautoritäten, die
die Gültigkeit jeder in eine Internet-Transaktion involvierte Partei verifizieren
und authentifizieren. Ein digitales Zertifikat ist ein Anhang an eine elektronische
Mitteilung, typischerweise, um zu verifizieren, dass ein Nutzer, der eine Mitteilung
sendet, derjenige ist, den er zu sein vorgibt, und um den Empfänger mit den
Mitteln zu versehen, eine Antwort zu verschlüsseln. Ein individueller Wunsch,
eine verschlüsselte Mitteilung zu senden, verlangt nach einem digitalen Zertifikat
von einer CA. Die CA gibt ein signiertes digitales Zertifikat heraus, das Public
Key des Anmelders und eine Vielzahl weiterer Identifikationsdaten enthält.
Die CA macht ihren eigenen Public Key ohne Weiteres über Printveröffentlichungen
oder gegebenenfalls im Internet online verfügbar. Der Empfänger einer
verschlüsselten Mitteilung nutzt den Public Key der CA, um das an die Mitteilung
angehängte digitale Zertifikat dahin gehend zu verifizieren, dass dieses durch
die CA herausgegeben wurde, und den Public Key des Senders und die in dem Zertifikat
gehaltene Identifikationsinformation zu erhalten. Mit dieser Information kann der
Empfänger eine verschlüsselte Antwort senden. Der am weitesten verbreitete
Standard für digitale Zertifikate ist X.509.
Die Verschlüsselung ist die Technik, eine Information durch Transformieren
(das heißt, Verschlüsseln) der Information in ein unlesbares Format, einen
sogenannten Chiffriertext, zu schützen. Nur jemand, der einen Geheimschlüssel
besitzt, kann den Chiffriertext in freien Text dechiffrieren (das heißt, entschlüsseln).
Symmetric-Key-Systeme und Public-Key-Systeme sind weit verbreitete Klassifikationen
von Verschlüsselungssystemen. Ein Symmetric-Key-System (zum Beispiel, der Data
Encryption Standard (DES)) ist ein Verschlüsselungssystem, in welchem sich
der Sender und der Empfänger einer Mitteilung einen einzelnen, gemeinsamen
Schlüssel teilen, der dazu verwendet wird, die Mitteilung zu verschlüsseln
und zu entschlüsseln. Ein Public-Key-System (zum Beispiel, Pretty Good Privacy
(PGP)) verwendet zwei Schlüssel, einen jedem bekannten öffentlichen Schlüssel
und einen privaten oder geheimen Schlüssel, der nur dem Empfänger der
Mitteilung bekannt ist. Wenn John eine sichere Mitteilung an Jane senden möchte,
verwendet er Janes öffentlichen Schlüssel, um die Mitteilung zu verschlüsseln.
Jane verwendet dann ihren privaten Schlüssel, um die Mitteilung zu entschlüsseln.
Symmetric-Key-Systeme sind einfacher und schneller als Public-Key-Systeme, ihr Hauptnachteil
ist aber, dass die zwei Parteien den Schlüssel irgendwie in einer sicheren
Weise austauschen müssen. Um diesen Nachteil zu vermeiden, vertreiben Public-Key-Systeme
den öffentlichen Schlüssel in einer nicht sicheren Weise und senden den
Private-Key niemals.
Das Problem einer sicheren Kommunikation und Authentifizierung in
drahtlosen Ad-Hoc-Netzwerken wurde in einem Paper unter der Bezeichnung Talking
to Strangers besprochen: Authentication in Ad-Hoc Wireless Networks von Balfanz
et al. Die Autoren präsentieren eine Lösung, die eine sichere Authentifizierung
unter Verwendung beinahe aller etablierten Public-Key basierenden Schlüsselaustausch-Protokolle
sowie preiswerter Hash basierende Alternativen liefert. Die Lösung ermöglicht
Vorrichtungen, eine begrenzte Menge öffentlicher Information über einen
privilegierten Seitenkanal auszutauschen und erlaubt dann den Vorrichtungen, ein
authentifiziertes Schlüsselaustauschprotokoll über den drahtlosen Link
abzuschließen. Die Lösung erfordert keine PKI, ist sicher gegenüber
passiver Attacken auf den privilegierten Seitenkanal und gegenüber allen Attacken
auf den drahtlosen Link und erfüllt direkt die Absicht der Nutzer, mit einer
speziellen, vorher unbekannten Vorrichtung zu kommunizieren, die sich in ihrer physischen
Nähe befindet.
Für drahtlose Vorrichtungen, die in einem Peer-To-Peer Ad-Hoc-Netzwerk
kommunizieren, erleichtert eine Middleware des Standes der Technik eine Interapplication-Kommunikation,
indem eine Peer-Discovery, Netzwerkbildung, Application- und Service-Discovery sowie
ein automatisches Starten einer Anwendung hinter einer Easy-To-Use kohärenten
Application Programming Interface (API) verborgen wird. Da eine Lösung basierend
auf einer verlässlichen, zugreifbaren dritten Partei nicht verfügbar ist,
ist das Einrichten einer sicheren Kommunikation und Authentifizierung für die
Middleware des Standes der Technik schwierig.
Die WO 00/72506 repräsentiert
eine typische Implementierung des Standes der Technik zum Initialisieren sicherer
Kommunikationen unter drahtlosen Vorrichtungen und zur exklusiven Paarbildung unter diesen.
Die Lehre aus der WO 00/72506 ermöglicht
ein effizientes Aufbauen sicherer Kommunikationen zwischen mobilen Vorrichtungen
in einem Funknetzwerk, in dem eine Public-Key-Kryptografie und eindeutige Hardware-Identifizierer
verwendet werden, um Autorisierungen für den Zugriff auf drahtlose Netzwerke,
wie Picozellen, zu ermöglichen. Der mobile Nutzer wird davon abgehalten, eine
Mehrzahl von Geheimnissen zu behalten, wie Benutzernamen/Password-Paare, PINs oder
Kodierschlüssel, für den Zugang zu jeder Vorrichtung, zu der er Zugang
verlangen könnte. In einem Unternehmen verteilte drahtlose Vorrichtungen sind
in der Lage, zum Zwecke sicherer Kommunikationen effizient initialisiert zu werden.
Allgemein bekannte eindeutige Identifizierer für die Public-Key-Verschlüsselung
und -Maschine werden verwendet, um einen sicheren Kanal einzurichten und die drahtlosen
Vorrichtungen zu initialisieren. Drahtlose Vorrichtungen sind in der Lage, durch
einen Benutzer oder einen Netzwerk-Administrator paarweise oder dauerhaft zu verbinden.
Allgemein bekannte eindeutige Public-Key-Verschlüsselung und Maschinen-Identifizierer
werden verwendet, um einen sicheren Kanal einzurichten und die Vorrichtungen miteinander
zu verbinden. Diese Lehre aus der WO 00/72506
ist anwendbar, um ein drahtloses Headset mit einem Telefon zu verbinden, oder eine
drahtlose Maus mit einem Computer zu verbinden.
Daher besteht ein Bedürfnis nach einem System und einem Verfahren
zum Bereitstellen einer sichereren Kommunikation zwischen ausgewählten Anwendungen
in drahtlosen Ad-Hoc-Netzwerkvorrichtungen, das auf Middleware angewiesen ist, um
eine Interapplication-Kommunikation zu erleichtern. Das System und das Verfahren
wird die Mittel bereitstellen, um eine Sicherheits-API für einen anwendungsorientierten
Zugang zu anderen Sicherheitsdiensten basierend auf den erzeugten Peer-To-Peer Sicherheitsverbindungen
zu implementieren. Das System und das Verfahren benötigt keinen extrem verfügbaren
Server oder eine PKI und verbessert die Schaffung von Sicherheit, indem es darauf
angewiesen ist, dass ein Nutzer ein Password eingibt. Die vorliegende Erfindung
erfüllt dieses Bedürfnis.
ZUSAMMENFASSUNG DER ERFINDUNG
Ein Computersystem, ein Verfahren und ein Computerprogrammprodukt
zum Steuern eine Datenkommunikation in einem Ad-Hoc-Netzwerk, das eine drahtlose
Vorrichtung und eine naheliegende drahtlose Vorrichtung verbindet. Das Verfahren
speichert ein Anwendungsverzeichnis, bestimmt eine Priorität für jeden
Eintrag in das Anwendungsverzeichnis, identifiziert einen ausgewählten Eintrag
basierend auf der Priorität und prüft die Attribute und Sicherheitsparameter,
die dem ausgewählten Eintrag zugeordnet sind. Wenn die Sicherheitsparameter
anzeigen, eine sichere Verbindung zu nutzen, baut das Verfahren eine Sicherheitsverknüpfung
auf, um die Datenkommunikation zu unterstützen, indem eine Datenbank nach einer
existierenden Sicherheitsverknüpfung abgefragt wird, welche die Sicherheitsparameter
erfüllt. Wenn die Anfrage erfolgreich ist, verwendet das Verfahren die existierende
Sicherheitsverknüpfung wieder. Wenn die Anfrage nicht erfolgreich ist, erzeugt
das Verfahren eine neue Sicherheitsverknüpfung durch Aufbauen eines privilegierten
Seitenkanals zu der in der Nähe befindlichen drahtlosen, Vorrichtung, Aushandeln
der neuen Sicherheitsverknüpfung über den privilegierten Seitenkanal und
Speichern der neuen Sicherheitsverknüpfung.
Die Attribute umfassen einen Vorrichtungsidentifizierer, eine Funktion
und Steuerparameter, wie ein Anwendungsstand und wenigstens eine benutzerdefinierte
Anwendungseinstellung. Die Sicherheitsparameter umfassen eine Informationssicherheits-Aufgabe
(zum Beispiel, Behalten der Vertraulichkeit, Sicherstellen der Integrität,
Authentifizieren einer Partei und Schützen gegenüber Wiedergabe oder Wiederverwendung),
ein Verschlüsselungsverfahren zum Erhalt der Informationssicherheits-Aufgabe
(zum Beispiel, einen Signatur-Verifizierungsdienst und einen Verschlüsselungsalgorithmus)
und ein Sicherheitsniveau. In einer Ausführungsform enthält eine Bitfolge
die Sicherheitsparameter, wobei ein Wert der Bitfolge jeden der Sicherheitsparameter
repräsentiert.
In einer Ausführungsform speichert das Verfahren eine Sicherheitsverknüpfung
zwischen der drahtlosen Vorrichtung und der in der Nähe befindlichen drahtlosen
Vorrichtung, wenn die in der Nähe befindliche drahtlose Vorrichtung für
eine erste Begegnung in das Ad-Hoc-Netzwerk eintritt, um sich wieder zu einer sicheren
Verbindung verbinden zu können. Das Verfahren speichert eine Kopie der Sicherheitsverknüpfung,
so dass, wenn die erste Begegnung endet, das Verfahren die Sicherheitsverknüpfung
entfernen kann und die Kopie behält. Wenn die in der Nähe befindliche
drahtlose Vorrichtung für eine zweite Begegnung in das Ad-Hoc-Netzwerk eintritt,
baut das Verfahren eine sichere Verbindung mit der in der Nähe befindlichen
Vorrichtung basierend auf der Kopie der Sicherheitsverknüpfung auf. In einer
weiteren Ausführungsform baut das Verfahren die sichere Verbindung durch Suchen
eines Verbindungslogs auf, um die Kopie der Sicherheitsverknüpfung zu lokalisieren.
In einer weiteren Ausführungsform erfolgt die Speicherung des Verbindungslogs
auf einer Langzeit-Speichereinrichtung. In einer Weiteren Ausführungsform betreibt
ein Anwender eine grafische Anwenderschnittstelle, um die Kopie der Sicherheitsverknüpfung
zu lokalisieren.
KURZBESCHREIBUNG DER ZEICHNUNGEN
Die beigefügten Figuren zeigen am besten die Details des Systems
und Verfahrens zum Bereitstellen einer sicheren Kommunikation zwischen ausgewählten
Anwendungen in Vorrichtungen eines drahtlosen Ad-Hoc-Netzwerks, das auf Middleware
angewiesen ist, um die Inter-Application-Kommunikation zu erleichtern. Ähnliche
Bezugszeichen und Bezeichnungen in diesen Figuren beziehen sich auf ähnliche
Elemente.
1 ist ein Netzwerkdiagramm, das die Interaktion der
Vorrichtungen darstellt, die ein mobiles Ad-Hoc-Kommunikationsnetzwerk in Übereinstimmung
mit einer Ausführungsform der vorliegenden Erfindung bilden.
2A ist ein Blockdiagramm, das die Hardware- und Software-Komponenten
mit einem in 1 gezeigten Server 110 in Übereinstimmung
mit einer Ausführungsform der vorliegenden Erfindung darstellt.
2B ist ein Blockdiagramm, das die Hardware- und Software-Komponenten
mit einem in 1 gezeigten Terminal 120 in Übereinstimmung
mit einer Ausführungsform der vorliegenden Erfindung darstellt.
3A und 3B sind Flussdiagramme
einer Ausführungsform eines Verfahrens zum Starten und Steuern sicherer und
nicht sicherer Anwendungsprogramme in einem mobilen Ad-Hoc-Kommunikationsnetzwerk.
3C ist ein Flussdiagramm einer Ausführungsform
eines Verfahrens zum Wiederherstellen einer Verbindung eines sicheren Anwendungsprogrammes
mit einem mobilen Ad-Hoc-Kommunikationsnetzwerk.
4 zeigt ein Diagramm eines Fensters, das eine Ausführungsform
einer grafischen Benutzeroberfläche zum Wiederverbinden eines sicheren Anwendungsprogrammes
in einem mobilen Ad-Hoc-Kommunikationsnetzwerk zeigt.
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
1 ist ein Netzwerkdiagramm, das die Interaktion der
Vorrichtungen zeigt, die ein mobiles Ad-Hoc-Kommunikationsnetzwerk in Übereinstimmung
mit einer Ausführungsform der vorliegenden Erfindung bilden. In einer Ausführungsform
ist das mobile Ad-Hoc-Kommunikationsnetzwerk ein Bluetooth-Piconetz, das eine Hauptvorrichtung
und bis zu sieben aktive Nebenvorrichtungen umfasst. Wie in 1
gezeigt ist, umfasst das Piconetz 100 einen Server 110 und fünf
mal einen Terminal 120. Der Server 110 hält den Netzwerktakt
und ist der Kommunikationsmanager für jede Terminalstelle 120. Der
Server 110 initiiert typischerweise einen Datenaustausch mit einer Terminalstelle
120. Zwei Terminalstellen 120 kommunizieren typischerweise über
den Server 110, falls jedoch zwei Terminalstellen 120 direkt kommunizieren,
wird eine Stelle die Funktion des Servers oder Masters übernehmen und wird
die andere Stelle die Funktion des Klienten oder Untergeordneten übernehmen.
Jede Vorrichtung in dem mobilen Ad-Hoc-Kommunikationsnetzwerk wird
entweder die Funktion einer Terminalvorrichtung oder einer Servereinrichtung übernehmen.
Eine Terminalvorrichtung ist ein Konsument von Diensten, den ein einzelner Benutzer
betreibt. Eine Terminalvorrichtung umfasst Vorrichtungen, wie ein Mobiltelefon oder
einen PDA. Ein Server ist typischerweise eine stationäre Vorrichtung und produziert
nur Dienste. Eine Servervorrichtung erzeugt einen Hotspot um sich zur Nutzung seiner
Dienste. Ein „Hotspot" bezieht sich auf die Funkreichweite, die durch die
Servervorrichtung zum Detektieren von Vorrichtungen und Entdecken von Diensten,
die durch auf dem Server vorgehaltene Anwendungen angeboten werden, bereitgestellt
wird. Falls die Servervorrichtung nicht stationär ist, übernimmt eine
der Anschlussvorrichtungen in dem Netzwerk die Funktion des Anwendungsverzeichnis-Servers
und führt eine Detektion von Vorrichtungen und Dienste-Entdeckungsfunktionen
für die verbleibenden Terminalvorrichtungen im Netzwerk aus. Die offenbarte
Erfindung führt zwei Funktionen unter solchen Terminalvorrichtungen ein, Anwendungsverzeichnis-Server
und Terminals, bei welchen Anwendungsverzeichnis-Server Terminals bei der Vorrichtungsdetektion
und Diensteentdeckung unterstützen. Falls stationäre Server mit Hotspots
existieren, arbeiten Server typischerweise als Anwendungsverzeichnis-Server. Die
Vorrichtungsdetektion und Diensteentdeckung ist jedoch ohne einen solchen stationären
Server möglich, weil einer der Terminals die Aufgaben des Anwendungsverzeichnis-Servers
übernehmen wird.
Die offenbarte Erfindung ordnet jeder unter Kontrolle gestellte Anwendung
einen Identifizierer zu. In einer Ausführungsform ist der Identifizierer ein
nicht eindeutiger Identifizierer, der die Anwendung abstrakt identifiziert. In einer
weiteren Ausführungsform spezifiziert der Identifizierer eine Funktion, welche
die Anwendung ausführt.
Der in einer weiteren Ausführungsform spezifizierte Identifizierer
erstellt ein Kommunikationsprotokoll, das die Anwendung zur Kommunikation nutzt.
Auf diese Weise kann der Identifizierer anzeigen, dass mehrere Ereignisse einer
Anwendung, wobei jedes Ereignis in einer unterschiedlichen Computersprache
verfasst ist oder ausgelegt ist, um auf einer unterschiedlichen Hardware-Plattform
zu laufen oder eine unterschiedliche Anwendungsfunktion erfüllt, als gleich
angesehen werden können, weil sie wechselseitig betrieben werden können
und die gleiche Funktion erfüllen. In noch einer weiteren Ausführungsform
ist der Identifizierer jedoch ein eindeutiger Identifizierer, der die Anwendung
identifiziert.
2A ist ein Blockdiagramm, das die Hardware- und Software-Komponenten
mit dem in 1 gezeigten Server 110 in Übereinstimmung
mit einer Ausführungsform der vorliegenden Erfindung zeigt. Der Server
110 ist eine drahtlose Vorrichtung für allgemeine Zwecke. Ein Bus
200 ist ein Kommunikationsmedium, das eine Tastatur 201, ein Display
202, eine zentrale Bearbeitungseinheit (CPU) 203 und einen Hochfrequenz
(RF)-Adapter 204 mit dem Speicher 210 verbindet. Der HF-Adapter
204 verbindet sich über einen drahtlosen Link mit dem Terminal
120 und ist der Mechanismus, der den Netzwerk-Traffic zwischen Server
110 und Terminal 120 erleichtert.
Die CPU 203 führt die Verfahren der offenbarten Erfindung
aus, indem sie die Sequenzen operativer Befehle ausführt, die jedes im Speicher
210 residente oder auf diesem operative Computerprogramm umfasst. Der Speicher
210 beinhaltet eine Betriebssystem-Software 211, Anwendungsprogramme
212 und eine Middleware-Software 220. Die Betriebssystem-Software
211 steuert die Tastatur 201, das Display 202, den RF-Adapter
204 und das Management des Speichers 210. Die Anwendungsprogramme
212 steuern die Interaktionen zwischen einem Nutzer und einem Server
110 einschließlich eines Annäherungsicherheits-Initialisierungsprogrammes.
Die Middleware-Software 220 umfasst eine Anwendungsprogramm-Schnittstelle
(API) 221, ein Anwendungsverzeichnis 230, eine Sicherheitsverknüpfungs-Datenbank
240, ein Verbindungslog 245. Die API 221 unterstützt
ein auf dem Server 110 gelaufenes Anwendungsprogramm darin, eine auf dem
Terminal 120 laufende entsprechende Anwendung zu finden und mit dieser
zu kommunizieren. Das Anwendungsverzeichnis 230 verfolgt für jede
Anwendung, die in jeder Vorrichtung im Piconetz 100resident ist, eine Referenz
zu der die Anwendung speichernden Vorrichtung, einen Identifizierer für die
Anwendung, die Funktion, welche die Anwendung ausführt, und die Sicherheitsparameter,
welche die geforderten vorschriftsmäßigen Konfigurationsattribute und
Sicherheitsdienste definieren. In einer Ausführungsform ist die Referenz für
die Vorrichtung, welche die Anwendung speichert, die MAC Adresse der Vorrichtung.
Die Sicherheitsverknüpfungs-Datenbank 240 speichert alle jüngstens,
paarweisen und gruppenmäßigen Verknüpfungen, die durch das Annäherungssicherheit-Initialisierungsprogramm
aufgebaut wurden. Das Verbindungslog 245 speichert jüngste Verbindungen
mit dem Server 110, wie eine General Packet Radio Service (GPRS), Bluetooth
oder Wireless Local Area Network (WLAN)-Verbindung. In einer Ausführungsform
integriert die Middleware-Software 220 die Speicherung einer Kombination
von Anwendungsverzeichnis 230, Sicherheitsverknüpfungs-Datenbank
240 und Verbindungslog 245.
2B ist ein Blockdiagramm, welches die Hardware- und
Software-Komponenten mit dem in 1 gezeigten Terminal
120 in Übereinstimmung mit einer Ausführungsform der vorliegenden
Erfindung zeigt. Der Terminal 120 ist eine drahtlose Vorrichtung für
allgemeine Zwecke. Ein Bus 250 ist ein Kommunikationsmedium, das eine Tastatur
251, ein Display 252, eine CPU 253 und einen RF-Adapter
254 mit einem Speicher 260 verbindet. Der RF-Adapter
254 verbindet sich über einen drahtlosen Link mit dem Server
110 oder einen anderen Terminal 120 und ist der Mechanismus, welcher
dem Netzwerk-Traffic das den Netzwerk-Traffic zwischen dem Server 110 und
dem Terminal 120 erleichtert.
Die EPU 253 führt die Verfahren der offenbarten Erfindung
durch, indem sie die Sequenzen von Betriebsbefehlen ausführt, die jedes Computerprogramm
resident in einem Speicher 260 oder operativ auf dem Speicher
260 aufweist. Der Speicher 260 umfasst eine Betriebssystem-Software
261, Anwendungsprogramme 262 und Middleware-Software
270. Die Betriebssystem-Software 261 steuert eine Tastatur
251, ein Display 252, einen RF-Adapter 254 und das Management
des Speichers 260. Die Anwendungsprogramme 262 steuern die Interaktionen
zwischen einem Nutzer und einem Anschluss 120 mit einem Annäherungssicherheits-Initialisierungsprogramm.
Die Middleware-Software 270 umfasst eine Anwendungsprogramm-Schnittstelle
(API) 271, ein Anwendungsverzeichnis 280, eine Sicherheitsverknüpfungs-Datenbank
290 und einen Verbindungslog 295. Die API unterstützt ein
auf einem Server 110 laufendes Anwendungsprogramm dahingehend, ein bei
einem Anschluss 120 laufendes entsprechendes Anwendungsprogramm zu finden
und mit diesem zu kommunizieren. Das Anwendungsverzeichnis 280 nachsteuert
für jede Anwendung, die in jeder Vorrichtung im Piconetz 100 resident
ist, eine Referenz zu der die Anwendung speichernden Vorrichtung, einen Identifizierer
für die Anwendung, die Funktion, welche die Anwendung durchführt und die
Sicherheitsparameter, welche die geforderten programmatischen Konfigurationsattribute
und Sicherheitsdienste definieren. In einer Ausführungsform ist die Referenz
zu der die Anwendung speichernden Vorrichtung die MAC Adresse der Vorrichtung. Die
Sicherheitsverknüpfungs-Datenbank 290 speichert alle jüngsten,
paarweise und gruppenweisen Verknüpfungen, die durch das Annäherungssicherheits-Initialisierungsprogramm
aufgebaut wurden. Das Verbindungslog 295 speichert jüngste Verbindungen
zum Anschluss 120, wie dem General Packet Radio Service (GPRS), Bluetooth
oder Wireless Local Area Network (WLAN) Verbindung. In einer Ausführungsform
integriert die Middleware-Software 270 die Speicherung einer Kombination
des Anwendungsverzeichnisses 280, der Sicherheitsverknüpfungs-Datenbank
290 und des Verbindungslogs 295.
In einer Ausführungsform ist die Konfiguration des Speichers
210 und des Speichers 260 identisch. In einer anderen Ausführungsform
umfasst die Konfiguration des Speicher 210 und des Speichers
260 die Software, die notwendig ist, um die wesentlichen Aufgaben des Servers
110 bzw. des Anschlusses 120 durchzuführen. Falls zum Beispiel
der Anschluss 120 einen allgemeinen Anfrage-Zugangscode empfangen muss,
aber keine allgemeine Anfrage-Zugangscode-Mitteilung senden muss, wird nur die Software,
welche diese Mitteilung empfängt, im Speicher 260 sitzen.
In der offenbarten Erfindung ist das in der Middleware-Software gespeicherte,
vertriebene Anwendungsverzeichnis eine Datenbank, die es einer Vorrichtung ermöglicht,
etwas von den Anforderungen und Wünschen von Peer-Vorrichtungen zu wissen,
mit welchen sich diese verbindet. Die Datenbank enthält auch eine Information
lokaler Anwendungen und ihrer Anforderungen. Die Information umfasst Sicherheitsparameter
sowie eine Prioritätsinformation, welche die Wichtigkeit der Anwendung anzeigt,
wie sie durch den Benutzer eingestellt ist. Das vertriebene Anwendungsverzeichnis
über die Datenbank speichert diese Sicherheitsparameter und die Middleware-Software
forciert diese Sicherheitsparameter. In einer Ausführungsform werden diese
Sicherheitsparameter als eine Bitfolge gespeichert, in welcher die Bits dem Benutzer
erlauben, eine anwendungsbedingte Zugangskontrolle für jeden Eintrag in der
Anwendung zu ermöglichen. Auf diese Weise kann der Benutzer die Sicherheitsparameter
so setzen, dass diese anzeigen, dass eine spezifische Anwendung fordert, dass eine
spezifische Sicherheitsverknüpfung vor der Kommunikation mit einer auf einer
anderen Vorrichtung laufenden komplementären Anwendung vorhanden ist.
Wie in 2A und 2B
gezeigt ist, sind die Sicherheitsparameter eine Bitfolge, in welcher die ersten
vier Bits einen Kommunikations-Sicherheitstyp identifizieren, die nächsten
zwei Bits einen geforderten Sicherheits-API-Dienst identifizieren und die letzten
zwei Bits ein Sicherheitsniveau identifizieren. Der Kommunikations-Sicherheitstyp
identifiziert die nachgesuchte Informations-Sicherheitsaufgabe. Die Informations-Sicherheitsaufgaben
umfassen das Privat- oder Vertraulichhalten von Information, das Gewähren der
Integrität der Information, das Authentifizieren der Identität der Parteien
für die Kommunikation, das Schützen gegenüber einer Wiedergabe oder
Wiederverwendung der Information und dergleichen. Der spezifizierte API-Sicherheitsdienst
identifiziert Verschlüsselungsverfahren für eine geforderte Anwendung,
indem das Informations-Sicherheitsziel erhalten wird. Das Verschlüsselungsverfahren
umfasst Signaturdienste, Verschlüsselungsalgorithmen und dergleichen. Das Sicherheitsniveau
bestimmt den Algorithmus sowie den Weg, auf dem die Information gesammelt wird.
Zum Beispiel kann ein hohes Sicherheitsniveau die Verwendung bestimmter ortsbeschränkter
Kanäle erfordern, wenn der Sicherheitskontext aufgebaut wird. Andere Parameter,
die durch das Sicherheitsniveau beeinflusst werden können, sind die Gültigkeitsdauer
des aufgebauten Sicherheitskontexts oder die Gültigkeit einer Information einer
dritten Partei. Zum Beispiel kann bei einem niedrigen Sicherheitsniveau Formations-Gruppenschlüssel
für den Kanalschutz in einer Weise verwendet werden, in welcher ein paarweiser
Sicherheitsaufbau nicht zwischen allen möglichen Paaren in der Gruppe benötigt
wird.
Die Middleware-Software 220 und 270 speichert die
Sicherheitsverknüpfungs-Datenbank 240 bzw. 290, wobei alle
jüngsten, paarweisen und gruppenweisen Sicherheitsverknüpfungen durch
ein Annäherungssicherheits-Initialisierungsprogramm aufgebaut wurde. Die Middleware-Software
220 und 270 baut jedoch nur die Sicherheitsverknüpfungen
zwischen Vorrichtungen und nicht zwischen Anwendungen auf. Die Middleware-Software
220 und 270 ist auch verantwortlich für Säubern von
Aufzeichnungen basierend auf Gültigkeitsdauer-Einstellungen und Verwendungsreihenfolge
(zum Beispiel, wenn die Datenbank voll wird, Entfernen der ältesten und zuletzt
verwendeten Verknüpfungen). Falls zum Beispiel die Vorrichtung D oder der Peer
P jeweils die Anwendung X laufen lassen, sendet die Middleware-Software
220 und 270 eine Abfrage an die Sicherheitsverknüpfungs-Datenbank
240 oder 290 nach einer existierenden und gültigen Sicherheitsverknüpfung
zwischen D und P. Falls die Sicherheitsverknüpfung A existiert und die mit
X verbundenen Sicherheitsparameter erfüllt, wird die Sicherheitsverknüpfung
A verwendet und wird keine weitere Sicherheitsverknüpfung zwischen D P benötigt.
Gemäß einer Ausführungsform umfasst eine Sicherheitsverknüpfung
Felder zum identifizieren der Peer-Vorrichtung Sicherheitsparameter. Die Felder
zum Identifizieren der Peer-Vorrichtung können die lokale Vorrichtungsidentität
spezifizieren, wie sie durch die Peer-Vorrichtung (das heißt, extern) gesehen
wird, oder kann die Identität der Peer-Vorrichtung identifizieren, wie sie
durch die lokale Vorrichtung (das heißt, intern) gesehen wird. Die Sicherheitsparameter
umfassen zusätzlich zu den in 2A und
2B gezeigten Sicherheitsparametern eine Verschlüsselungsübersicht
(das heißt, einen Daumenabdruck eines Zertifikats), ein öffentliches Schlüsselpaar,
geheime Schlüssel einer Peer-Vorrichtung und eine mögliche
Lebensdauer des Schlüsselmaterials.
Die Middleware-Software 220 und 270 kann auch sowohl
sichere als auch nicht sichere Anwendungen vorrangig machen. Um eine Anhäufung
von Anmeldungen auf dem mobilen Terminal zu minimieren, betrifft das Vorrangigmachen
lauffähiger, automatisch startender Anwendungen im lokalen Netzwerk. Ein Aspekt
dieses Systems und Verfahrens wählt die Anwendung mit höchster Priorität
und startet die Anwendung automatisch, wenn die Anwendung „lauffähig"
ist und die entsprechenden benutzerdefinierten Flags gesetzt sind. Das hier offenbarte
System und Verfahren löst die Aufgabe die Priorität sicherer und nicht
sicherer, lauffähiger Anwendungen zu setzen, die automatisch gestartet werden
können. So minimiert das hier offenbarte System und Verfahren einen „Anwendungsstau"
auf einem mobilen Terminal, der sichere und nicht sichere Anwendungen enthält.
Die Middleware-Software 220 und 270 erleichtert
eine Interapplikations-Kommunikation durch Verbergen einer Peer-Discovery, Netzwerkbildung
Anwendungs- und Service-Discovery sowie eines automatischen Anwendungsstarts. Wenn
sich zwei mobile Vorrichtungen treffen, tauschen die Vorrichtungen (das heißt,
verbreiten) Anwendungs-Verzeichnisdaten, welche die Anwendungen und Peer-Vorrichtung
in dem Netzwerk beschreiben. Unter Verwendung der Anwendungs-Verzeichnisdaten können
die mobilen Vorrichtungen Anwendungsprogramme starten und steuern, die drahtlosen
Vorrichtungen die in einem mobilen Ad-Hoc-Kommunikationsnetzwerk resident sind.
Die Kommunikation in einer sicheren Weise erfordert jedoch die Integration des Anwendungsverzeichnisses
und der Annäherungssicherheits-Initialisierungssoftware. Für jede Anwendung
und jeden Terminal in dem Anwendungsverzeichnis kann der Benutzer eine Anforderung
setzen, den Sicherheitskanal zu verwenden sowie zusätzliche Information (zum
Beispiel, kann der Benutzer eine Auflage machen, dass die Anwendung eine digitale
Signaturmöglichkeit von einer Verschlüsselungs-API benötigt). Vor
dem Starten einer Anwendung, die einen sicheren Kanal benötigt, bestimmen zwei
einander nahe mobile Vorrichtungen, ob eine bestehende Sicherheitsverknüpfung
die Kommunikation über den Sicherheitskanal unterstützen wird. Falls eine
sichere Verknüpfung bereits vorhanden ist, werden passende Anwendungen die
Sicherheitsverknüpfung starten und nutzen. Falls eine Sicherheitsverknüpfung
nicht vorhanden ist, werden beide Vorrichtungen die Annäherungssicherheits-Initialisierungssoftware
starten, um einen lokal begrenzten (das heißt, nähere Umgebung) Seitenkanal
verwenden, wie einen Infrarotdaten-Assoziation (IrDA)-Anschluss, um die Vorrichtungen
zu authentifizieren und eine Sicherheitsverknüpfung zu verhandeln. Wenn die
Verhandlung abgeschlossen ist, starten und nutzen die passenden Anwendungen die
verhandelte Sicherheitsverknüpfung.
3A und 3B zeigen Fließdiagramme
einer Ausführungsform eines Verfahrens zum Starten und Steuern sicherer und
nicht sicherer Anwendungsprogramme in einem mobilen Ad-Hoc-Kommunikationsnetzwerk.
Das Verfahren in 3A beginnt, wenn eine mobile Vorrichtung
(Vorrichtung A) auf eine Verbindungsanfrage vom Netzwerk wartet (Schritt 302). Eine
in der Nähe befindliche mobile Vorrichtung (Vorrichtung B) tritt in das Netzwerk
ein und sendet eine Verbindungsanfrage an die Vorrichtung A (Schritt 304). Die Vorrichtung
A und die Vorrichtung B bauen eine Verbindung auf (Schritt 306) und tauschen eine
Liste von Anwendungen und Attributen aus (Schritt 308). Falls sich lokale Anwendungs-Zustandsparameter
während der Verbindung verändert haben (Schritt 310), aktualisieren die
Vorrichtung A und die Vorrichtung B wechselseitig ihre Liste von Anwendungen und
Attributen (Schritt 312), und die Anfrage einer der Vorrichtungen wählt eine
Anwendung aus der Liste basierend auf einer vordefinierten Reihenfolge aus (Schritt
314). Falls sich die lokalen Anwendungszustands-Parameter während der Verbindung
nicht verändert haben (Schritt (310), wählt die Anfrage einer der Vorrichtungen
eine Anwendung aus der Liste basierend auf einer vorbestimmten Reihenfolge aus (Schritt
314).
Falls die Bearbeitung die Liste von Anwendungen erschöpft (Schritt
316), kehrt das Verfahren zum Warten auf eine Verbindungsanfrage zurück (Schritt
302). Falls die Bearbeitung eine Anwendung auswählt (Schritt 316) und falls
die ausgewählte Anwendung keine Sicherheitsverknüpfung benötigt (Schritt
318), geht die Bearbeitung der ausgewählten Anwendung vom Schritt 328 aus weiter,
wie dies in 3B gezeigt ist. Falls die ausgewählte
Anwendung eine Sicherheitsverknüpfung benötigt (Schritt 318) und falls
eine Sicherheitsverknüpfungs-Datenbank 240 oder 290 einen
Sicherheitskontext für die ausgewählte Anwendung (Schritt 320) beinhaltet,
geht die Bearbeitung der ausgewählten Anwendung weiter vom Schritt 328 aus,
wie dies in 3B gezeigt ist. Falls die Sicherheitsverknüpfungs-Datenbank
240 oder 290 keinen Sicherheitskontext für die ausgewählte
Anwendung enthält (Schritt 320) und falls alle lauffähigen Anwendungen
nicht ausgeführt wurden (Schritt 322), verschiebt das Verfahren die Priorität
der ausgewählten Anwendung (Schritt 326) und geht vom Schritt 314 aus weiter,
wie in 3A gezeigt ist. Falls die Sicherheitsverknüpfungs-Datenbank
240 oder 290 keinen Sicherheitskontext für die ausgewählte
Anwendung beinhaltet (Schritt 320) und falls alle lauffähigen Anwendungen ausgeführt
wurden (Schritt 322), verhandelt das Verfahren eine Sicherheitsverknüpfung
für die verschobenen Sicherheitsanwendungen (Schritt 324) und geht vom Schritt
314 weiter aus, wie in 3A gezeigt ist.
In einer weiteren Ausführungsform startet das Verfahren die Annäherungssicherheits-Initialisierungssoftware
auf einer bedarfsweisen Basis, anstatt die Priorität der ausgewählten
Anwendung zu verschieben, bis alle lauffähigen Anwendungen ausgeführt
wurden (Schritt 326), um eine sichere Verbindung für die ausgewählte Anwendung
aufzubauen. In noch einer weiteren Ausführungsform wählt die mobile Vorrichtung,
ob die Priorität verschoben wird oder die Annäherungssicherheits-Initialisierungssoftware
gestartet wird, und zwar basierend auf der Rechnerleistung, die durch den Benutzer
für die mobile Vorrichtung benötigt wird.
Das Verfahren in 3B beginnt mit dem Prüfen
der mit der ausgewählten Anwendung verbundenen Attribute. Falls die ausgewählte
Anwendung in einer Vorrichtung A läuft (Schritt 328) und in Vorrichtung B läuft
(Schritt 336), benachrichtigt das Verfahren die Vorrichtung A und die Vorrichtung
B der Verbindung (Schritt 330 und Schritt 338) und wählt die nächste Anwendung
aus der Liste (Schritt 314). Falls die ausgewählte Anwendung in Vorrichtung
A läuft (Schritt 328) nicht in Vorrichtung B läuft (Schritt 336) und in
Vorrichtung B startfähig ist (Schritt 340), startet die Vorrichtung B die ausgewählte
Anwendung (Schritt 342) und geht das Verfahren vom Schritt 318 aus weiter, wie in
3A gezeigt ist. Falls die ausgewählte Anwendung
in Vorrichtung A läuft (Schritt 328), nicht in Vorrichtung B läuft (Schritt
336), in Vorrichtung B nicht startfähig ist (Schritt 340) und in Vorrichtung
B fehlt (Schritt 344), dann überträgt die Vorrichtung A die ausgewählte
Anwendung an Vorrichtung B (Schritt 348), wenn die Vorrichtung B die ausgewählte
Anwendung akzeptiert (Schritt 346), und das Verfahren geht vom Schritt 318 aus weiter,
wie in 3A gezeigt ist. Falls die ausgewählte Anwendung
in Vorrichtung A nicht läuft (Schritt 328), in Vorrichtung A aber startfähig
ist (Schritt 332), startet das Verfahren die ausgewählte Anwendung in Vorrichtung
A (Schritt 334) und geht vom Schritt 318 aus weiter, wie in 3A
gezeigt ist. Falls die ausgewählte Anwendung in Vorrichtung A läuft (Schritt
328), nicht in Vorrichtung B läuft (Schritt 336) in Vorrichtung B nicht startfähig
ist (Schritt 340) und von Vorrichtung B nicht vermisst wird (Schritt 344), geht
das Verfahren vom Schritt 322 aus weiter, wie in 3A
gezeigt ist. Falls die ausgewählte Anwendung nicht in Vorrichtung A läuft
(Schritt 328) und in Vorrichtung A nicht startfähig ist (Schritt 332), geht
das Verfahren vom Schritt 322 aus weiter, wie in 3A
gezeigt ist.
Um die Sicherheitsverknüpfung zu verhandeln, startet die Middleware-Software
220 oder 270 die Annäherungssicherheits-Initialisierungssoftware.
Die Annäherungssicherheits-Initialisierungssoftware ermöglicht zwei Vorrichtungen,
wie dem Server 110 und dem Terminal 120, die keinen älteren
Sicherheitskontext haben, einander basierend auf einer gewissen Art einer benutzerinitiierten
physischen Authentifizierung zu authentifizieren und in einem sich daraus ergebenden
Kommunikationsprotokoll eine Sicherheitsverknüpfung zu erzeugen. Die gegenseitigen
Authentifizierungsprotokolle beinhalten, dass jeder Benutzer ein gemeinsames Password
in ihre Vorrichtung eingeben, einen lokal beschränkten Kanal benutzen, wie
in Balfanz beschrieben, visuell oder unvollständig als wechselseitige Verifizierung
durch die Benutzer und eine paarweise biometrische Identifizierung (das heißt,
Eingeben biometrischer Daten in die Peer-Vorrichtung, welche die lokale Vorrichtung
authentifizieren).
Falls eine Sicherheitsverknüpfung zwischen zwei Peer-Vorrichtungen
nicht vorhanden ist, sendet die Middleware-Software 220 oder
270 für die erste Peer-Vorrichtung eine Anfrage, die Sicherheitsverknüpfung
zwischen der ersten und der zweiten Peer-Vorrichtung aufzubauen. Die Annäherungssicherheits-Initialisierungssoftware,
die in der ersten Vorrichtung resident ist, verhandelt die Sicherheitsverknüpfung,
einschließlich der Peer-Identifikationsdaten, über einen lokal beschränkten
Kanal.
Sobald die Verhandlung der Sicherheitsverknüpfung abgeschlossen
ist, bietet die Annäherungssicherheits-Initialisierungssoftware den lokal beschränkten
Kanal für die Verwendung der Middleware-Software 220 oder
270 und der Anwendung an, welche die Sicherheitsverknüpfung benötigt.
Falls die Sicherheitsverknüpfung zwischen den zwei Peer-Vorrichtungen
vorhanden ist, bevor eine Anwendung, die eine Sicherheit benötigt, gestartet
werden kann, erzwingt die Annäherungssicherheits-Initialisierungssoftware die
in dem Anwendungsverzeichnis 230 oder 280 gesetzte Sicherheitsregel.
Die Annäherungssicherheits-Initialisierungssoftware erneuert die korrekte Sicherheitsverknüpfung
von der Middleware 220 oder 270 und konfiguriert die notwendigen
Sicherheitsprotokolle (zum Beispiel Bluetooth-Paarung oder Transport Layer Sicherheit/Internet
Protokoll Sicherheit). Die Anwendung, welche Sicherheit benötigt, startet nach
dem Aufbau der Sicherheitsdienste. Falls jedoch die Sicherheitsregel für die
Anwendung eine Sicherheits-Anwendungsprogramm-Schnittstelle (API) benötigt,
konfiguriert die Annäherungssicherheits-Initialisierungssoftware auch die benötigten
Verschlüsselungsdienste. In einer weiteren Ausführungsform können,
wenn kritische Sicherheitsniveaus in Benutzung sind, die Sicherheitsverknüpfungen,
die in Middleware 220 oder 270 gespeichert sind, geschützt
werden und eine Interaktion des Benutzers erfordern (zum Beispiel, Eingeben eines
Passwords oder Bereitstellen biometrischer Daten).
In einer weiteren Ausführungsform sind die Definitionen der Sicherheitsverknüpfungen
anwendungsspezifisch. Dieser Ansatz erfordert, dass die Annäherungssicherheits-Initialisierungssoftware
eine spezifische Sicherheitsverknüpfung für jede paarweise Anwendung verhandelt,
die Sicherheit benötigt, und zwar gemäß der zugehörigen Sicherheitsregel.
Die Annäherungssicherheits-Initialisierungssoftware und die Kommunikations-Infrastruktur
liefern auch eine Stütze für das Multiplexen mehrerer Sicherheitskontexte
über den Kommunikationskanal basierend auf den in Benutzung befindlichen Verknüpfungen.
3C ist ein Flussdiagramm einer Ausführungsform
eines Verfahrens zum Wiederverbinden eines sicheren Anwendungsprogramms in ein mobiles
Ad-Hoc-Kommunikationsnetzwerk. Falls die Sicherheitsverknüpfungs-Datenbank
240 oder 290 keinen Sicherheitskontext für die ausgewählte
Anwendung enthält (Schritt 320), sendet das Verfahren optional eine Anfrage
an die Middleware-Software 220 und 270 für Daten aus dem
Verbindungslog 245 oder 295 (Schritt 350). Das Verfahren speichert
die geliefert Daten in Antwort auf die Anfrage in einer Displayliste (Schritt 352).
Die Displayliste versieht einen Benutzer mit der Fähigkeit, die Displayliste
zu browsen (Schritt 354), detaillierte Daten für jeden Eintrag in der Displayliste
zu sehen (Schritt 356) und einen Eintrag in der Displayliste auszuwählen (Schritt
358). Falls der ausgewählte Eintrag eine vorher aufgebaute Verbindung ist (Schritt
360), geht das Verfahren vom Schritt 328 aus weiter, wie in 3B
gezeigt ist. Falls der ausgewählte Eintrag keine vorher aufgebaute Verbindung
ist (Schritt 360), geht das Verfahren vom Schritt 322 aus weiter, wie in
3A gezeigt ist.
Das Verbindungslog 245 und 295 und die Sicherheitsverknüpfungs-Datenbank
240 und 290 speichern in ähnlicher Weise Initialisierungsparameter,
die eine sichere Anwendungsverbindung beschreiben. Diese Initialisierungsparameter
umfassen Felder zum Identifizieren der Vorrichtung und Felder für Sicherheitsparameter.
Die Felder zum Identifizieren der Vorrichtung umfassen zum Beispiel die lokale Vorrichtungsidentität,
wie sie von der Peer-Vorrichtung aus gesehen wird, und die Peer-Vorrichtung-Identität,
wie sie von der lokalen Vorrichtung aus gesehen wird. Die Felder für Sicherheitsparameter
beinhalten zum Beispiel eine Verschlüsselungsübersicht, wie einen Daumenabdruck
eines Zertifikats, einen öffentlichen Schlüssel der Peer-Vorrichtung,
geheime Schlüssel der Peer-Vorrichtung und die mögliche Lebensdauer des
Schlüsselmaterials. Im Gegensatz ist der Verbindungslog 245 und
295 jedoch eine längerzeitige Speichersache als die Sicherheitsverknüpfungs-Datenbank
240 und 290. Zum Beispiel kann die Sicherheitsverknüpfungs-Datenbank
240 und 290 nur die Initialisierungsparameter für die Dauer
der Anwendungsverbindung speichern und gibt die Speicherung dieser Parameter frei,
wenn der Benutzer die Anwendung verlässt. Da das Verbindungslog 245
und 295 eine Kopie solcher Initialisierungsparameter für eine längere
Zeitspanne behält, kann die Peer-Vorrichtung das Ad-Hoc-Netzwerk verlassen
und bei Rückkehr zum Netzwerk sofort die Anwendung unter Verwendung der Initialisierungsparameter
starten. So muss die zurückkehrende Peer-Vorrichtung einen lokal begrenzten
Kanal nicht wieder aufbauen, um die lokale Vorrichtung zu erreichen und sichere
Kommunikationen zu beginnen.
4 zeigt ein Diagramm eines Fensters, welches eine Ausführungsform
einer grafischen Benutzeroberfläche zum Wiedereinbinden eines sicheren Anwendungsprogramms
in ein mobiles Ad-Hoc-Kommunikationsnetzwerk zeigt. Die grafische Benutzeroberfläche,
die in 4 gezeigt ist, ist im Terminal 120
resident, wie dies im Detail in 2B gezeigt ist. So
beziehen sich ähnliche Bezugszeichen und Bezeichnungen in den 2B
und 4 auf ähnliche Elemente. Ein Leser dieser
Offenbarung sollte jedoch verstehen, dass die grafische Benutzeroberfläche
ebenso im Server 110 sitzen könnte, wie dies im Detail in
2A gezeigt ist.
Wie in 4 gezeigt ist, liegt das Fenster
400 im Display 252 des Anschlusses 120. Das Fenster
400 umfasst die Elemente, welche die grafische Benutzeroberfläche
bilden. Ein Bus 250 ist ein Kommunikationsmedium, welcher die Tastatur
251, das Display 252, die CPU 253, den RF-Adapter
254 und den Speicher 260 verbindet. 4
zeigt das Display 252 und den Speicher 260 als separate Komponenten.
In einer weiteren Ausführungsform speichert die CPU 253 das Fenster
400 in einen Display- oder Videospeicher, der mit dem Display
252 verbunden ist. In noch einer weiteren Ausführungsform speichert
die CPU 253 jedoch das Fenster 400 in einem geschützten Bereich
des Speichers 260.
Das in 4 gezeigte Fenster 400
enthält eine Titelleiste 410, einen Datenkopf 420, eine Displayliste
430, eine Scroll-Leiste 440 und einen Index 450. Die
Titelleiste 410 identifiziert den Titel des Fenster 400 als „Connection
Log". Der Datenkopf 420 identifiziert den Titel für die Spalten, die
jeden Eintrag in der Displayliste 430 umfassen. Die Displayliste
430 umfasst einen Eintrag für jeden Eintrag in Verbindungslog
295. Falls die Displayliste 430 eine leere Liste ist, gibt es
keinen ausgewählten Eintrag. Falls die Displayliste 430 keine leere
Liste ist, wird die grafische Benutzeroberfläche immer einen Eintrag als ausgewählten
Eintrag ansehen und wird den ausgewählten Eintrag in einem Format anzeigen,
der sich optisch von der Anzeige der nicht ausgewählten Einträge unterscheidet.
4 zeigt den als Umkehrbild gezeigten ausgewählten
Eintrag als den Eintrag, in welchem „Device Name" ist „Carol's Phone".
Die Scroll-Leiste 440 ist ein Navigationselement, das eine Anzeige der
räumlichen Lage des ausgewählten Eintrags in der Displayliste
430 liefert. Die Scroll-Leiste 440 umfasst einen
Aufwärtspfeil, einen Abwärtspfeil, einen Scroll-Bereich und eine Scroll-Box
im Scroll-Bereich. Falls der ausgewählte Eintrag der erste Eintrag in der Displayliste
430 ist, befindet sich die Lage der Scroll-Box am obersten Bereich der
Scroll-Region. Falls der ausgewählte Eintrag der letzte Eintrag in der Displayliste
430 ist, befindet sich die Lage der Scroll-Box an dem untersten Bereich
der Scroll-Region. Ansonsten ist die Lage der Scroll-Box in der Scroll-Region proportional
zu dem Quotienten des Index des ausgewählten Eintrags in der Displayliste
430, und der Index des letzten Eintrags in der Displayliste 430,
wo der Index des ersten Eintrags in der Displayliste 430 eins ist, und
der Index des letzten Eintrags in der Displayliste 430, ist gleich der
Anzahl von Einträgen in der Displayliste 430. Der Index
450 ist ein weiteres Navigationselement, das eine Anzeige der numerischen
Lage des ausgewählten Eintrags in der Displayliste 430 liefert. Der
Index 450 beinhaltet zwei durch einen Schrägstrich getrennte Zahlen.
Die Zahl auf der linken Seite des Schrägstrichs ist der Index, der mit dem
ausgewählten Eintrag verbunden ist. Die Zahl auf der rechten Seite des Schrägstrichs
ist der Index, der mit dem letzten Eintrag in der Displayliste 430 verbunden
ist (das heißt, der Anzahl von Einträgen in der Displayliste
430).
Noch einmal auf 4 bezogen, führt
die CPU 253 die geeigneten Befehle aus, um zu veranlassen, dass das Fenster
400 im Display 252 des Terminals 120 erscheint. Die CPU
253 sendet eine Anfrage an die Middleware-Software 270 über
den Bus 250 nach Daten aus dem Verbindungslog 295. Die CPU
253 führt die geeigneten Befehle aus, um die in Antwort auf die Anfrage
erhaltenen Daten in der Displayliste 430 zu speichern. Ein Benutzer des
Terminals 120 kann in der im Display 252 gezeigten Displayliste
430 browsen. Der Benutzer kann auch detaillierte Daten für jeden Eintrag
in der Displayliste 430 betrachten. Die detaillierten Daten umfassen einen
Namen für die Vorrichtung (zum Beispiel „Carol's Phone), eine mit der
Verbindung verbundene Zeitmarke (zum Beispiel, 03. Oktober 2003, 20 Uhr und 42 Sekunden),
eine Angabe für das Vorhandensein von Sicherheitsparametern und einen Kanaltyp
für die Verbindung (zum Beispiel RFID). Der Benutzer kann auch eine Eingabeeinrichtung
bedienen, wie eine Tastatur 251, um den Eintrag in der Displayliste
430, welcher der ausgewählte Eintrag ist, zu wechseln und eine Neuverbindung
mit dem mit dem ausgewählten Eintrag verbundenen sicheren Anwendungsprogramm
zu wählen. In einer weiteren Ausführungsform kann der Benutzer die Tastatur
251 dazu bedienen, zusätzliche mit dem gewählten Eintrag verbundene
detaillierte Daten anzuzeigen.
Obwohl die offenbarten Ausführungsform ein voll funktionierendes
System und Verfahren zum Starten und Steuern sicherer und nicht sicherer Anwendungsprogramme
in drahtlosen Vorrichtungen in einem mobilen Ad-Hoc-Kommunikationsnetzwerk beschreiben,
sollte dem Leser klar sein, dass weitere äquivalente Ausführungsformen
existieren. Da zahlreiche Modifikationen und Variationen bei demjenigen in Erwägung
gezogen werden, welche diese Offenbarung studieren, ist das Systemverfahren zum
Starten und Steuern sicherer und nicht sicherer Anwendungsprogramme, die in drahtlose
Vorrichtungen in einem mobilen Ad-Hoc-Kommunikationsnetzwerk resident sind, nicht
beschränkt auf die dargestellte und offenbarte genaue Konstruktion und Betriebsweise.
Ferner kann die offenbarte Erfindung in Form eines computerlesbaren Mediums von
Befehlen, einschließlich aufzeichnungsfähiger Medien, wie entnehmbare
Discs, einer Festplatte, ein wahlfreier Zugriffsspeicher, ein Flash-Speicher und
ein Nurlese-Speicher sowie Übertragungsmedien, wie einen digitalen oder analogen
Kommunikationslink, vertrieben werden. Demgemäß ist mit dieser Offenbarung
beabsichtigt, dass alle geeigneten Modifikationen und Äquivalente in den Schutzbereich
der Ansprüche fallen.
In einer bevorzugten Ausführungsform wird ein System zum Steuern
einer Datenkommunikation in einem Ad-Hoc-Netzwerk bereitgestellt, das eine drahtlose
Vorrichtung und eine in der Nähe befindliche drahtlose Vorrichtung verbindet,
umfassend:
eine Speichervorrichtung; und einen Prozessor, der in Kommunikation mit der Speichervorrichtung
angeordnet ist, wobei der Prozessor so konfiguriert ist, dass dieser:
ein Anwendungsverzeichnis mit wenigstens einem Eintrag speichert, wobei jeder Eintrag
ein Anwendungsprogramm, Attribute und Sicherheitsparameter einschließt;
eine Priorität für jeden Eintrag in dem Anwendungsverzeichnis bestimmt;
einen ausgewählten Eintrag basierend auf der Priorität identifiziert;
die Attribute und die Sicherheitsparameter für den ausgewählten Eintrag
überprüft; und
eine Sicherheitsverknüpfung aufbaut, um die Datenkommunikation zu unterstützen,
wenn die Sicherheitsparameter den ausgewählten Eintrag anweisen, eine sichere
Verbindung zu benutzen.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem der Prozessor ferner so konfiguriert ist, dass dieser:
eine Verbindungsanfrage von der in der Nähe befindlichen drahtlosen Vorrichtung
empfängt; und
ein erstes Anwendungsverzeichnis an die in der Nähe befindliche drahtlose Vorrichtung
sendet;
ein zweites Anwendungsverzeichnis von der in der Nähe befindlichen drahtlosen
Vorrichtung empfängt; und
das Anwendungsverzeichnis durch Kombinieren des ersten Anwendungsverzeichnisses
und des zweiten Anwendungsverzeichnisses erzeugt.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die Attribute eine Vorrichtungskennung, eine Funktion und Steuerparameter
umfassen.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die Steuerparameter einen Anwendungsstatus und mindestens eine benutzerdefinierte
Anwendungseinstellung einschließen.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem eine Bitfolge die Sicherheitsparameter enthält, wobei ein Wert der
Bitfolge jeden der Sicherheitsparameter repräsentiert.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die Sicherheitsparameter eine Informationssicherheitsaufgabe, ein Verschlüsselungsverfahren
zum Lösen der Informationssicherheitsaufgabe und ein Sicherheitsniveau enthalten.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die Informationssicherheitsaufgabe das Verhalten von Vertraulichkeit,
Sicherstellen von Integrität, Authentifizieren einer Partei und Schützen
gegenüber Wiedergabe oder Wiederverwendung enthält.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem das Verschlüsselungsverfahren einen Signaturverifizierungsdienst
und einen Verschlüsselungsalgorithmus enthält.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem das Sicherheitsniveau ein mindesterforderliches Sicherheitsniveau ist.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in Welchem der Prozessor zum Bestimmen der Priorität jedes Eintrags ferner
so ausgebildet ist, dass dieser:
die Attribute jedes Eintrags in dem wenigstens einen Eintrag vergleichen.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem der Prozessor ferner zum Aufbauen der Sicherheitsverknüpfung so
ausgebildet ist, dass dieser:
eine Datenbank nach einer existierenden Sicherheitsverknüpfung zwischen der
drahtlosen Vorrichtung und der in der Nähe befindlichen drahtlosen Vorrichtung
abfragt, welche die Sicherheitsparameter erfüllen wird;
die existierende Sicherheitsverknüpfung wiederverwendet, wenn die Abfrage der
Datenbank erfolgreich ist; und
eine neue Sicherheitsverknüpfung erzeugt, wenn die Abfrage der Datenbank nicht
erfolgreich ist.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem der Prozessor ferner so ausgebildet ist, dass dieser:
die neue Sicherheitsverknüpfung in einem Verbindungslog speichert,
in welchem die Abfrage der Datenbank eine Prüfung des Verbindungslogs umfasst.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem der Prozessor ferner zum Wiederverwenden der existierenden Sicherheitsverknüpfung
so ausgebildet ist, dass dieser:
die drahtlose Vorrichtung über die existierende Sicherheitsverknüpfung
benachrichtigt;
die in der Nähe befindliche drahtlose Vorrichtung über die existierende
Sicherheitsverknüpfung benachrichtigt;
ein Anwendungsprogramm startet, das durch den Anwendungsprogrammidentifizierer bezeichnet
wird,
das mit dem ausgewählten Eintrag verbunden ist, wenn die dem ausgewählten
Beitrag zugeordneten Attribute einen Aufnahmestatus für den Start des Anwendungsprogramms
anzeigt; und
über die sichere Verbindung mit einem entsprechenden Anwendungsprogramm auf
der in der Nähe befindlichen drahtlosen Vorrichtung kommuniziert.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem der Prozessor ferner zum Erzeugen der neuen Sicherheitsverknüpfung
so ausgebildet ist, dass dieser:
die Priorität des ausgewählten Eintrags aktualisiert, um das Erzeugen
der neuen Sicherheitsverknüpfung zu verschieben.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem der Prozessor ferner zum Erzeugen der neuen Sicherheitsverknüpfung
so ausgebildet ist, dass dieser:
einen privilegierten Seitenkanal zur in der Nähe befindlichen drahtlosen Vorrichtung
aufbaut;
die neue Sicherheitsverknüpfung über den privilegierten Seitenkanal behandelt;
und
die neue Sicherheitsverknüpfung speichert.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem der privilegierte Seitenkanal ein auf Annäherung basierendes Kommunikationsmittel
enthält, einschließlich einem Infrarot-Datenverknüpfungsanschluss
oder einer direkten Verbindung enthält.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem der Prozessor zum Verhandeln der neuen Sicherheitsverknüpfung ferner
so ausgebildet ist, dass dieser:
Authentifizierungsdaten an die in der Nähe befindliche drahtlose Vorrichtung
sendet;
entsprechende Authentifizierungsdaten von der in der Nähe befindlichen drahtlosen
Vorrichtung empfängt; und
die neue Sicherheitsverknüpfung basierend auf den Authentifizierungsdaten und
den entsprechenden Authentifizierungsdaten erzeugt.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem der Prozessor für den Fall, dass die Sicherheitsparameter den ausgewählten
Eintrag anweisen, eine nicht sichere Verbindung zu verwenden, ferner so ausgebildet
ist, dass dieser:
die drahtlose Vorrichtung über die nicht sichere Verbindung benachrichtigt;
die in der Nähe befindliche drahtlose Vorrichtung über die nicht sichere
Verbindung benachrichtigt;
ein Anwendungsprogramm startet, das durch den Anwendungsprogrammidentifizierer bezeichnet
wird, der dem ausgewählten Eintrag zugeordnet ist, wenn die mit dem ausgewählten
Eintrag verbundenen Attribute einen Aufnahmestatus für den Start des Anwendungsprogramms
anzeigen; und
die nicht sichere Verbindung mit einem entsprechenden Anwendungsprogramm auf der
in der Nähe befindlichen drahtlosen Vorrichtung kommunizieren.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die drahtlose Vorrichtung die Datenkommunikation initiiert.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die drahtlose Vorrichtung das Anwendungsverzeichnis speichert.
In einer bevorzugten Ausführungsform wird ein Verfahren zum Steuern
einer Datenkommunikation in einem Ad-Hoc-Netzwerk bereitgestellt, welches eine drahtlose
Vorrichtung und eine in der Nähe befindlichen Vorrichtung verbindet, umfassend:
Speichern eines Anwendungsverzeichnisses mit wenigstens einem Eintrag, wobei jeder
Eintrag einen Anwendungsprogrammidentifizierer, Attribute und Sicherheitsparameter
enthält;
Bestimmen einer Priorität für jeden Eintrag im Anwendungsverzeichnis;
Identifizieren eines ausgewählten Eintrags basierend auf der Priorität;
Überprüfen der Attribute und der Sicherheitsparameter für den ausgewählten
Eintrag; und
Aufbauen einer Sicherheitsverknüpfung, um die Datenkommunikation zu unterstützen,
wenn die Sicherheitsparameter den ausgewählten Eintrag anweisen, eine sichere
Verbindung zu verwenden.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
ferner mit:
Empfangen einer Verbindungsanfrage von der in der Nähe befindlichen drahtlosen
Vorrichtung; und
Senden eines ersten Anwendungsverzeichnisses an die in der Nähe befindliche
drahtlose Vorrichtung;
Empfangen eines zweiten Anwendungsverzeichnisses von der der in der Nähe befindlichen
drahtlosen Vorrichtung; und
Erzeugen des Anwendungsverzeichnisses durch Kombinieren des ersten Anwendungsverzeichnisses
und des zweiten Anwendungsverzeichnisses.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem die Attribute einen Vorrichtungsidentifizierer, eine Funktion und Steuerparameter
enthalten.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem die Steuerparameter einen Anwendungsstatus und wenigstens eine benutzerdefinierte
Anwendungseinstellung enthalten.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem eine Bitfolge die Sicherheitsparameter enthält, wobei ein Wert der
Bitfolge jeden der Sicherheitsparameter repräsentiert.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem die Sicherheitsparameter eine Informationssicherheitsaufgabe, ein Verschlüsselungsverfahren
zum Lösen der Informationssicherheitsaufgabe und ein Sicherheitsniveau enthalten.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem die Informationssicherheitsaufgabe das Behalten von Vertraulichkeit,
Sicherstellen von Integrität, das Authentifizieren einer Partei und Schützen
gegenüber Wiedergabe oder Wiederverwendung enthält.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Verschlüsselungsverfahren einen Signaturverifizierungsdienst
und einen Verschlüsselungsalgorithmus enthält.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Sicherheitsniveau ein minimal benötigtes Sicherheitsniveau ist.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Bestimmen der Priorität für jeden Eintrag ferner umfasst:
Vergleichen der Attribute für jeden Eintrag in dem wenigstens einen Eintrag.
In einer bevorzugten Ausführungsform wird ein
Verfahren bereitgestellt, in welchem das Aufbauen der Sicherheitsverknüpfung
ferner umfasst:
Abfragen einer Datenbank nach einer existierenden Sicherheitsverknüpfung zwischen
der drahtlosen Vorrichtung und der in der Nähe befindlichen drahtlosen Vorrichtung,
welche die Sicherheitsparameter erfüllen wird;
Wiederverwenden der bestehenden Sicherheitsverknüpfung, wenn die Abfrage der
Datenbank erfolgreich ist; und
Erzeugen einer neuen Sicherheitsverknüpfung, wenn die Abfrage der Datenbank
nicht erfolgreich ist.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
ferner mit:
Speichern der neuen Sicherheitsverknüpfung in einem Verbindungslog,
wobei die Abfrage der Datenbank eine Überprüfung des Verbindungslogs beinhaltet.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Wiederverwenden der bestehenden Sicherheitsverknüpfung ferner
umfasst:
Benachrichtigen der drahtlosen Vorrichtung über die existierende Sicherheitsverknüpfung;
Benachrichtigen der in der Nähe befindlichen drahtlosen Vorrichtung über
die existierende Sicherheitsverknüpfung;
Starten eines Anwendungsprogramms, das durch den Anwendungsprogrammidentifizierer
bezeichnet wird, der dem ausgewählten Eintrag zugeordnet ist, wenn die dem
ausgewählten Eintrag zugeordneten Attribute einen Aufnahmestatus für den
Start des Anwendungsprogramms anzeigen; und
Kommunizieren über die sichere Verbindung mit einem entsprechenden Anwendungsprogramm
auf der in der Nähe befindlichen drahtlosen Vorrichtung.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Erzeugen der neuen Sicherheitsverknüpfung ferner umfasst:
Aktualisieren der Priorität des ausgewählten Eintrags, um das Erzeugen
der neuen Sicherheitsverknüpfung zu verschieben.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Erzeugen der neuen Sicherheitsverknüpfung ferner umfasst:
Aufbauen eines privilegierten Seitenkanals mit der in der Nähe befindlichen
drahtlosen Vorrichtung;
Verhandeln der neuen Sicherheitsverknüpfung über den privilegierten Seitenkanal;
und
Speichern der neuen Sicherheitsverknüpfung.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem der privilegierte Seitenkanal ein auf Annäherung basierendes Kommunikationsmittel,
einschließlich eines Infrarot-Datenverküpfungsanschlusses oder einer direkten
Verbindung umfasst.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Benachrichtigen über die neue Sicherheitsverknüpfung ferner
umfasst:
Senden von Authentifizierungsdaten an die in der Nähe befindliche drahtlose
Vorrichtung;
Empfangen einem entsprechend der Authentifizierungsdaten von der in der Nähe
befindlichen Drahtlosen Vorrichtung; und
Erzeugen der neuen Sicherheitsverknüpfung basierend auf den Authentifizierungsdaten
und den entsprechenden Authentifizierungsdaten.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem in dem Fall, in welchem die Sicherheitsparameter den ausgewählten
Eintrag anweisen, eine nicht sichere Verbindung zu verwenden, das Verfahren ferner
umfasst:
Benachrichtigen der drahtlosen Vorrichtung über die nicht sichere Verbindung;
Benachrichtigen der in der Nähe befindlichen drahtlosen Vorrichtung über
die nicht sichere Verbindung;
Starten eines Anwendungsprogramms, das durch den Anwendungsprogrammidentifizierer
bezeichnet wird, der dem ausgewählten Eintrag zugeordnet ist, wenn die dem
ausgewählten Eintrag zugeordneten Attribute einen Aufnahmestatus für den
Start des Anwendungsprogramms anzeigen; und
Kommunizieren über die nicht sichere Verbindung mit einem entsprechenden Anwendungsprogramm
auf der in der Nähe befindlichen drahtlosen Vorrichtung.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem die drahtlose Vorrichtung die Datenkommunikation initiiert.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem die drahtlose Vorrichtung das Anwendungsverzeichnis speichert.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, das auf einem durch ein Computer lesbares Medium greifbar gespeichert
ist, zum Steuern einer Datenkommunikation in einem Ad-Hoc-Netzwerk, welches eine
drahtlose Vorrichtung und eine in der Nähe befindliche drahtlose Vorrichtung
verbindet, mit Befehlen, die dahingehend betriebsfähig sind, einen programmierbaren
Prozessor zu Folgendem zu veranlassen:
Speichern eines Anwendungsverzeichnisses mit wenigstens einem Eintrag, wobei jeder
Eintrag einen Anwendungsprogrammidentifizierer, Attribute und Sicherheitsparameter
enthält;
Bestimmen einer Priorität für jeden Eintrag in dem Anwendungsverzeichnis;
Identifizieren eines ausgewählten Eintrags basierend auf der Priorität;
Überprüfen der Attribute und der Sicherheitsparameter für den ausgewählten
Eintrag; und
Aufbauen einer Sicherheitsverknüpfung, um die Datenkommunikation zu unterstützen,
wenn die Sicherheitsparameter den ausgewählten Eintrag anweisen, eine Sicherheitsverbindung
zu verwenden.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner mit Befehlen, die dahingehend betriebsfähig sind, den
programmierbaren Prozessor zu Folgendem zu veranlassen:
Empfangen einer Verbindungsanfrage von der in der Nähe befindlichen drahtlosen
Vorrichtung; und
Senden eines ersten Anwendungsverzeichnisses an die in der Nähe befindliche
drahtlose Vorrichtung;
Empfangen eines zweiten Anwendungsverzeichnisses von der in der Nähe befindlichen
drahtlosen Vorrichtung; und
Erzeugen des Anwendungsverzeichnisses durch Kombinieren des ersten Anwendungsverzeichnisses
und des zweiten Anwendungsverzeichnisses.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner mit Befehlen, die dahingehend betriebsfähig sind, den
programmierbaren Prozessor zu Folgendem zu veranlassen:
Vergleichen der Attribute für jeden Eintrag in dem wenigstens einen Eintrag.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner mit Befehlen, die dahingehend betriebsfähig sind, den
programmierbaren Prozessor zu Folgendem zu veranlassen:
Abfragen einer Datenbank nach einer existierenden Sicherheitsverknüpfung zwischen
der drahtlosen Vorrichtung und der in der Nähe befindlichen drahtlosen Vorrichtung,
welche die Sicherheitsparameter erfüllen wird;
Wiederverwenden der bestehenden Sicherheitsverknüpfung, wenn die Abfrage der
Datenbank erfolgreich ist; und
Erzeugen einer neuen Sicherheitsverknüpfung, wenn die Abfrage der Datenbank
nicht erfolgreich ist.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner mit Befehlen, die dahingehend betriebsfähig sind, den
programmierbaren Prozessor zu Folgendem zu veranlassen:
Speichern der neuen Sicherheitsverknüpfung in einem Verbindungslog,
wobei die Abfrage der Datenbank eine Überprüfung des Verbindungslogs umfasst.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner mit Befehlen, die dahingehend betriebsfähig sind, den
programmierbaren Prozessor zu Folgendem zu veranlassen:
Benachrichtigen der drahtlosen Vorrichtung über die existierende Sicherheitsverknüpfung;
Benachrichtigen der in der Nähe befindlichen drahtlosen Vorrichtung über
die existierende Sicherheitsverknüpfung;
Starten eines Anwendungsprogramms, das durch den Anwendungsprogrammidentifizierer
bezeichnet wird, der mit dem ausgewählten Eintrag verbunden ist, wenn die mit
dem ausgewählten Eintrag verbundenen Attribute einen Aufnahmestatus für
den Start des Anwendungsprogramms anzeigen; und
Kommunizieren über die sichere Verbindung mit einem entsprechenden Anwendungsprogramm
auf der in der Nähe befindlichen drahtlosen Vorrichtung.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner mit Befehlen, die dahingehend betriebsfähig sind, den
programmierbaren Prozessor zu Folgendem zu veranlassen:
Aktualisieren der Priorität des ausgewählten Eintrags, um das Erzeugen
der neuen Sicherheitsverknüpfung zu verschieben.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner mit Befehlen, die dahingehend betriebsfähig sind, den
programmierbaren Prozessor zu Folgendem zu veranlassen:
Aufbauen eines privilegierten Seitenkanals zu der in der Nähe befindlichen
drahtlosen Vorrichtung;
Verhandeln der neuen Sicherheitsverknüpfung über den privilegierten Seitenkanal;
und
Speichern der neuen Sicherheitsverknüpfung.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner mit Befehlen, die dahingehend betriebsfähig sind, den
programmierbaren Prozessor zu Folgendem zu veranlassen:
Senden von Authentifizierungsdaten an die in der Nähe befindliche drahtlose
Vorrichtung;
Empfangen entsprechender Authentifizierungsdaten von der in der Nähe befindlichen
drahtlosen Vorrichtung; und
Erzeugen der neuen Sicherheitsverknüpfung basierend auf den Authentifizierungsdaten
und den entsprechenden Authentifizierungsdaten.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, in welchem für den Fall, dass die Sicherheitsparameter den
ausgewählten Eintrag anweisen, eine nicht sichere Verbindung zu verwenden,
dass das Computerprogrammprodukt ferner Befehle umfasst, die dahingehend
betriebsfähig sind, den programmierbaren Prozessor zu Folgendem zu veranlassen:
Benachrichtigen der drahtlosen Vorrichtung über die nicht sichere Verbindung;
Benachrichtigen der in der Nähe befindlichen drahtlosen Vorrichtung über
die nicht sichere Verbindung;
Starten eines Anwendungsprogramms, das durch den Anwendungsprogrammidentifizierer
bezeichnet ist, der mit dem ausgewählten Eintrag verbunden ist, wenn die mit
dem ausgewählten Eintrag verbundenen Attribute einen Aufnahmestatus für
den Start des Anwendungsprogramms anzeigen; und
Kommunizieren über die nicht sichere Verbindung mit einem entsprechenden Anwendungsprogramm
auf der in der Nähe befindlichen drahtlosen Vorrichtung.
In einer bevorzugten Ausführungsform wird ein System zum Steuern
einer Datenkommunikation in einem Ad-Hoc-Netzwerk bereitgestellt, welches eine drahtlose
Vorrichtung und eine in der Nähe befindliche drahtlose Vorrichtung verbindet,
umfassend:
Mittel zum Speichern eines Anwendungsverzeichnisses mit wenigstens einem Eintrag,
wobei jeder Eintrag einen Anwendungsprogrammidentifizierer, Attribute und Sicherheitsparameter
enthält;
Mittel zum Bestimmen einer Priorität für jeden Eintrag in dem Anwendungsverzeichnis;
Mittel zum Identifizieren eines ausgewählten Eintrags basierend auf der Priorität;
Mittel zum Überprüfen der Attribute und der Sicherheitsparameter für
den ausgewählten Eintrag; und
Mittel zum Aufbauen einer Sicherheitsverknüpfung, um die Datenkommunikation
zu unterstützen, wenn die Sicherheitsparameter den ausgewählten Eintrag
anweisen, eine sichere Verbindung zu verwenden.
In einer bevorzugten Ausführungsform einer bevorzugten Ausführungsform
wird ein System bereitgestellt, ferner umfassend:
Mitteil zum Empfangen einer Verbindungsanfrage von der in der Nähe befindlichen
drahtlosen Vorrichtung; und
Mittel zum Senden eines ersten Anwendungsverzeichnisses an die in der Nähe
befindliche drahtlose Vorrichtung;
Mittel zum Empfangen eines zweiten Anwendungsverzeichnisses von der in der Nähe
befindlichen drahtlosen Vorrichtung; und
Mittel zum Erzeugen des Anwendungsverzeichnisses durch Kombinieren des ersten Anwendungsverzeichnisses
mit dem zweiten Anwendungsverzeichnis.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem das Bestimmen der Priorität für jeden Eintrag ferner umfasst:
Mittel zum Vergleichen der Attribute für jeden Eintrag in dem wenigstens einen
Eintrag.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die Mittel zum Aufbauen der Sicherheitsverknüpfung ferner umfassen:
Mittel zum Abfragen einer Datenbank nach einer existierenden Sicherheitsverknüpfung
zwischen der drahtlosen Vorrichtung und der in der Nähe befindlichen drahtlosen
Vorrichtung, welche die Sicherheitsparameter erfüllen wird;
Mittel zum Wiederverwenden der existierenden Sicherheitsverknüpfung, wenn die
Abfrage der Datenbank erfolgreich ist; und
Mittel zum Erzeugen einer neuen Sicherheitsverknüpfung, wenn die Abfrage der
Datenbank nicht erfolgreich ist.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
ferner mit:
Mittel zum Speichern der neuen Sicherheitsverknüpfung in einem Verbindungslog,
wobei die Abfrage der Datenbank eine Überprüfung des Verbindungslogs umfasst.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die Mittel zum Wiederverwenden der existierenden Sicherheitsverknüpfung
ferner umfasst:
Mittel zum Benachrichtigen der drahtlosen Vorrichtung über die existierende
Sicherheitsverknüpfung;
Mittel zum Benachrichtigen der in der Nähe befindlichen drahtlosen Vorrichtung
über die existierende Sicherheitsverknüpfung;
Mittel zum Starten eines Anwendungsprogramms, das durch den Anwendungsprogrammidentifizierer
bezeichnet ist, der mit dem ausgewählten Eintrag verbunden ist, wenn die mit
dem ausgewählten Eintrag verbundenen Attribute einen Aufnahmestatus für
den Start des Anwendungsprogramms anzeigen; und
Mittel zum Kommunizieren über die sichere Verbindung mit einem entsprechenden
Anwendungsprogramm auf der in der Nähe befindlichen drahtlosen Vorrichtung.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die Mittel zum Erzeugen der neuen Sicherheitsverknüpfung ferner
umfassen:
Mittel zum Aktualisieren der Priorität des ausgewählten Eintrags, um das
Erzeugen der neuen Sicherheitsverknüpfung aufzuschieben.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die Mittel zum Erzeugen der neuen Sicherheitsverknüpfung ferner
umfassen:
Mittel zum Aufbauen eines privilegierten Seitenkanals zu der in der Nähe befindlichen
drahtlosen Vorrichtung;
Mittel zum Verhandeln der neuen Sicherheitsverknüpfung über
den privilegierten Seitenkanal; und
Mittel zum Speichern der neuen Sicherheitsverknüpfung.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die Mittel zum Verhandeln der neuen Sicherheitsverknüpfung ferner
umfassen:
Mittel zum Senden von Authentifizierungsdaten zu der in der Nähe befindlichen
drahtlosen Vorrichtung;
Mittel zum Empfangen entsprechender Authentifizierungsdaten von der in der Nähe
befindlichen drahtlosen Vorrichtung; und
Mittel zum Erzeugen der neuen Sicherheitsverknüpfung basierend auf den Authentifizierungsdaten
und den entsprechenden Authentifizierungsdaten.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem für den Fall, dass die Sicherheitsparameter den ausgewählten
Eintrag anweisen, eine nicht sichere Verbindung zu verwenden, ferner vorhanden sind:
Mittel zum Benachrichtigen der drahtlosen Vorrichtung über die nicht sichere
Verbindung;
Mittel zum Benachrichtigen der in der Nähe befindlichen drahtlosen Vorrichtung
über die nicht sichere Verbindung;
Mittel zum Starten eines Anwendungsprogramms, das durch den Anwendungsprogrammidentifizierer
bezeichnet ist, der mit dem ausgewählten Eintrag verbunden ist, wenn die mit
dem ausgewählten Eintrag verbundenen Attribute einen Aufnahmestatus für
den Start des Anwendungsprogramms anzeigen; und
Mittel zum Kommunizieren über die nicht sichere Verbindung mit einem entsprechenden
Anwendungsprogramm auf der in der Nähe befindlichen drahtlosen Vorrichtung.
In einer bevorzugten Ausführungsform wird ein System zum Wiederherstellen
einer sicheren Verbindung in einem Ad-Hoc-Netzwerk bereitgestellt, welches eine
drahtlose Vorrichtung und eine in der Nähe befindliche drahtlose Vorrichtung
verbindet, wobei die drahtlose Vorrichtung ein Anwendungsverzeichnis mit einem Eintrag
speichert, der ein Anwendungsprogramm auf der drahtlosen Vorrichtung mit einem entsprechenden
Anwendungsprogramm auf der in der Nähe befindlichen drahtlosen Vorrichtung
verknüpft, wobei der Eintrag einen Anwendungsprogrammidentifizierer, Attribute
und Sicherheitsparameter enthält, umfassend:
eine Speichereinrichtung; und
einen in Kommunikation mit der Speichereinrichtung gesetzten Prozessor, wobei der
Prozessor so konfiguriert ist, dass dieser:
eine Sicherheitsverknüpfung zwischen der drahtlosen Vorrichtung und der in
der Nähe befindlichen drahtlosen Vorrichtung speichert, wenn die in der Nähe
befindliche drahtlose Vorrichtung für eine erste Begegnung in das Ad-Hoc-Netzwerk
eintritt;
eine Kopie der Sicherheitsverknüpfung speichert;
die Sicherheitsverknüpfung entfernt, wenn die erste Begegnung endet; und
eine Sicherheitsverbindung mit der in der Nähe befindlichen drahtlosen Vorrichtung
basierend auf der Kopie der Sicherheitsverknüpfung aufbaut, wenn die in der
Nähe befindliche drahtlose Vorrichtung für eine zweite Begegnung in das
Ad-Hoc-Netzwerk eintritt.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem das Speichern der Sicherheitsverknüpfung in einer Kurzzeit-Speichereinrichtung
erfolgt.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem das Speichern der Kopie der Sicherheitsverknüpfung in einer Langzeit-Speichereinrichtung
erfolgt.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die sichere Verbindung mit der in der Nähe befindlichen drahtlosen
Vorrichtung basierend auf der Kopie der Sicherheitsverknüpfung aufgebaut wird,
wenn die in der Nähe befindliche drahtlose Vorrichtung für die zweite
Begegnung in das Ad-Hoc-Netzwerk eintritt, wobei der Prozessor ferner so konfiguriert
ist, dass dieser:
ein Verbindungslog sucht, um die Kopie der
Sicherheitsverknüpfung zu lokalisieren; das mit der Kopie der Sicherheitsverknüpfung
verbundene Anwendungsprogramm startet;
die sichere Verbindung, welche die mit der Kopie der Sicherheitsverknüpfung
verbundenen Sicherheitsparameter verwendet, konfiguriert; und
über die sichere Verbindung mit dem entsprechenden Anwendungsprogramm kommuniziert.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem der Prozessor ferner so konfiguriert ist, dass dieser:
verifiziert, dass die Kopie der Sicherheitsverknüpfung die Sicherheitsparameter
für die zweite Begegnung erfüllen wird.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem für die Suche des Verbindungslogs, um die Kopie der Sicherheitsverknüpfung
zu lokalisieren, der Prozessor ferner so konfiguriert ist, dass dieser:
wenigstens eine frühere Verbindung aus dem Verbindungslog wieder auffindet;
und
eine der wenigstens eine frühere Verbindung als die Kopie der Sicherheitsverknüpfung
identifiziert.
In einer bevorzugten Ausführungsform wird ein Verfahren zum Wiederherstellen
einer sicheren Verbindung in einem Ad-Hoc-Netzwerk bereitgestellt, welches eine
drahtlose Vorrichtung und eine in der Nähe befindlichen drahtlose Vorrichtung
verbindet, wobei die drahtlose Vorrichtung ein Anwendungsverzeichnis
mit einem Eintrag speichert, welches ein Anwendungsprogramm auf der drahtlosen Vorrichtung
mit einem entsprechenden Anwendungsprogramm auf der in der Nähe befindlichen
drahtlosen Vorrichtung verknüpft, wobei der Eintrag einen Anwendungsprogrammidentifizierer,
Attribute und Sicherheitsparameter enthält, umfassend:
Speichern einer Sicherheitsverknüpfung zwischen der drahtlosen Vorrichtung
und der in der Nähe befindlichen drahtlosen Vorrichtung, wenn die in der Nähe
befindliche drahtlose Vorrichtung für eine erste Begegnung in das Ad-Hoc-Netzwerk
eintritt;
Speichern einer Kopie der Sicherheitsverknüpfung;
Entfernen der Sicherheitsverknüpfung, wenn die erste Begegnung endet; und
Aufbauen einer sicheren Verbindung zu der in der Nähe befindlichen drahtlosen
Vorrichtung basierend auf der Kopie der Sicherheitsverknüpfung, wenn die in
der Nähe befindliche drahtlose Vorrichtung für eine zweite Begegnung in
das Ad-Hoc-Netzwerk eintritt.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Speichern der Sicherheitsverknüpfung in einer Kurzzeit-Speichereinrichtung
erfolgt.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Speichern der Kopie der Sicherheitsverknüpfung in einer Langzeit-Speichereinrichtung
erfolgt.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Aufbauen der sicheren Verbindung mit der in der Nähe befindlichen
drahtlosen Vorrichtung basierend auf der Kopie der Sicherheitsverknüpfung,
wenn die in der Nähe befindliche drahtlose Vorrichtung für die zweite
Begegnung in das Ad-Hoc-Netzwerk eintritt, umfasst:
Suchen eines Verbindungslogs, um die Kopie der Sicherheitsverknüpfung zu lokalisieren;
Starten des Anwendungsprogramms, das mit der Kopie der Sicherheitsverknüpfung
verbunden ist;
Konfigurieren der sicheren Verbindung unter Verwendung der mit der Kopie der Sicherheitsverknüpfung
verbundenen Sicherheitsparameter; und
Kommunizieren über die sichere Verbindung mit dem entsprechenden Anwendungsprogramm.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
ferner mit:
Verifizieren, dass die Kopie der Sicherheitsverknüpfung die Sicherheitsparameter
für die zweite Begegnung erfüllen wird.
In einer bevorzugten Ausführungsform wird ein Verfahren bereitgestellt,
in welchem das Suchen des Verbindungslogs, um die Kopie der Sicherheitsverknüpfung
zu lokalisieren, ferner umfasst:
Wiederfinden wenigstens einer früheren Verbindung in dem Verbindungslog; und
Identifizieren einer der wenigstens einen früheren Verbindung als die Kopie
der Sicherheitsverknüpfung.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, das auf einem computerlesbaren Medium greifbar gespeichert ist,
zum Wiederherstellen einer sicheren Verbindung in einem Ad-Hoc-Netzwerk, das eine
drahtlose Vorrichtung und eine in der Nähe befindliche drahtlose Vorrichtung
verbindet, wobei die drahtlose Vorrichtung ein Anwendungsverzeichnis mit einem Eintrag
speichert, das ein Anwendungsprogramm auf der drahtlosen Vorrichtung mit einem entsprechenden
Anwendungsprogramm auf der in der Nähe befindlichen drahtlosen Vorrichtung
verknüpft, wobei der Eintrag einen Anwendungsprogrammidentifizierer, Attribute
und Sicherheitsparameter enthält, umfassend Befehle, die dahingehend betriebsfähig
sind, einen programmierbaren Prozessor zu Folgendem zu veranlassen:
Speichern einer Sicherheitsverknüpfung zwischen der drahtlosen Vorrichtung
und der in der Nähe befindlichen drahtlosen Vorrichtung, wenn die in der Nähe
befindliche drahtlose Vorrichtung für eine erste Begegnung in das Ad-Hoc-Netzwerk
eintritt;
Speichern einer Kopie der Sicherheitsverknüpfung; Entfernen der Sicherheitsverknüpfung,
wenn die erste Begegnung endet; und
Aufbauen einer sicheren Verbindung zu der in der Nähe befindlichen drahtlosen
Vorrichtung basierend auf der Kopie der Sicherheitsverknüpfung, wenn die in
der Nähe befindliche drahtlose Vorrichtung in das Ad-Hoc-Netzwerk für
eine zweite Begegnung eintritt.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner umfassend Befehle, die dahingehend betriebsfähig sind,
den programmierbaren Prozessor zu Folgendem zu veranlassen:
Suchen eines Verbindungslogs, um die Kopie der Sicherheitsverknüpfung zu lokalisieren;
Starten des mit der Kopie der Sicherheitsverknüpfung verbundenen Anwendungsprogramms;
Konfigurieren der sicheren Verbindung unter Verwendung der mit der Kopie der Sicherheitsknüpfung
verbundenen Sicherheitsparameter; und
Kommunizieren über die sichere Verbindung mit dem entsprechenden Anwendungsprogramm.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner mit Befehlen, die dahingehend betriebsfähig sind, den
programmierbaren Prozessor zu Folgendem zu veranlassen:
Verifizieren, dass die Kopie der Sicherheitsverknüpfung die Sicherheitsparameter
für die zweite Begegnung erfüllen wird.
In einer bevorzugten Ausführungsform wird ein Computerprogrammprodukt
bereitgestellt, ferner mit Befehlen, die dahingehend betriebsfähig sind, den
programmierbaren Prozessor zu Folgendem zu veranlassen:
Wiederfinden wenigstens einer früheren Verbindung in dem Verbindungslog; und
Identifizieren einer der wenigstens einen früheren Verbindung als die Kopie
der Sicherheitsverknüpfung.
In einer bevorzugten Ausführungsform wird ein System zum Wiederherstellen
einer sicheren Verbindung in einem Ad-Hoc-Netzwerk bereitgestellt, welches eine
drahtlose Vorrichtung und eine in der Nähe befindliche drahtlose Vorrichtung
verbindet, wobei die drahtlose Vorrichtung ein Anwendungsverzeichnis mit einem Eintrag
speichert, der ein Anwendungsprogramm auf der drahtlosen Vorrichtung mit einem entsprechenden
Anwendungsprogramm auf der in der Nähe befindlichen drahtlosen Vorrichtung
verknüpft, wobei der Eintrag einen Anwendungsprogrammidentifizierer, Attribute
und Sicherheitsparameter enthält, umfassend:
Mittel zum Speicher einer Sicherheitsverknüpfung zwischen der drahtlosen Vorrichtung
und der in der Nähe befindlichen drahtlosen Vorrichtung, wenn die in der Nähe
befindliche drahtlose Vorrichtung für eine erste Begegnung in das Ad-Hoc-Netzwerk
eintritt;
Mittel zum Speichern einer Kopie der Sicherheitsverknüpfung;
Mittel zum Entfernen der Sicherheitsverknüpfung, wenn die erste Begegnung endet;
und
Mittel zum Aufbauen einer sicheren Verbindung zu der in der Nähe befindlichen
drahtlosen Vorrichtung basierend auf der Kopie der Sicherheitsverknüpfung,
wenn die in der Nähe befindliche drahtlose Vorrichtung in das Ad-Hoc-Netzwerk
für eine zweite Begegnung eintritt.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem die Mittel zum Aufbauen der sicheren Verbindung zu der in der Nähe
befindlichen drahtlosen Vorrichtung basierend auf der Kopie der Sicherheitsverknüpfung,
wenn die in der Nähe befindliche drahtlose Vorrichtung in das Ad-Hoc-Netzwerk
für die zweite Begegnung eintritt, ferner umfasst:
Mittel zum Suchen eines Verbindungslogs, um die Kopie der Sicherheitsverknüpfung
zu lokalisieren;
Mittel zum Starten des mit der Kopie der Sicherheitsverknüpfung verbundenen
Anwendungsprogramms;
Mittel zum Konfigurieren der sicheren Verbindung unter Verwendung der mit der Kopie
der Sicherheitsverknüpfung verbundenen Sicherheitsparameter; und
Mittel zum Kommunizieren über die sichere Verbindung mit dem entsprechenden
Anwendungsprogramm.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
ferner umfassend:
Mittel zum Verifizieren, dass die Kopie der Sicherheitsverknüpfung die Sicherheitsparameter
für die zweite Begegnung erfüllen wird.
In einer bevorzugten Ausführungsform wird ein System bereitgestellt,
in welchem Mittel zum Suchen des Verbindungslogs, um die Kopie der Sicherheitsverknüpfung
zu lokalisieren, ferner umfasst:
Mittel zum Wiederfinden wenigstens einer früheren Verbindung in dem Verbindungslog;
und Mittel zum Identifizieren einer der wenigstens einen früheren Verbindung
als die Kopie der Sicherheitsverknüpfung.
In einer bevorzugten Ausführungsform wird eine grafische Benutzeroberfläche
zum Wiederherstellen einer sicheren Verbindung in einem Ad-Hoc-Netzwerk bereitgestellt,
welche eine drahtlose Vorrichtung und eine in der Nähe befindliche drahtlose
Vorrichtung verbindet, wobei die drahtlose Vorrichtung ein Anwendungsverzeichnis
mit einem Eintrag speichert, welche ein Anwendungsprogramm auf der drahtlosen Vorrichtung
mit einem entsprechenden Anwendungsprogramm auf der in der Nähe befindlichen
drahtlosen Vorrichtung verknüpft, wobei der Eintrag einen Anwendungsprogrammidentifizierer,
Attribute und Sicherheitsparameter enthält, umfassend:
eine erste Region einer mit der drahtlosen Vorrichtung verbundenen Bildanzeige,
wobei die erste Region eine Display-Liste enthält, welche wenigstens eine frühere
Verbindung zwischen der drahtlosen Vorrichtung und der in der Nähe befindlichen
drahtlosen Vorrichtung speichert,
wobei ein Benutzer eine Eingabeeinrichtung betätigt, die mit der drahtlosen
Vorrichtung verbunden ist, um eine der wenigstens einen früheren Verbindung
als eine ausgewählte frühere Verbindung zu identifizieren, und wobei der
Benutzer die mit der drahtlosen Vorrichtung verbundene Eingabeeinrichtung betätigt,
um das mit der ausgewählten früheren Verbindung verbundene Anwendungsprogramm
zu starten, die sichere Verbindung unter Verwendung der Sicherheitsparameter zu
konfigurieren, die mit der ausgewählten früheren Verbindung verbunden
sind und über die sichere Verbindung mit dem entsprechenden Anwendungsprogramm
kommuniziert.
In einer bevorzugten Ausführungsform wird eine grafische Benutzeroberfläche
bereitgestellt, in welcher ein mit der drahtlosen Vorrichtung verbundener Speicher
ein Verbindungslog speichert, welches Verbindungsdaten enthält, und wobei die
Verbindungsdaten die Display-Liste füllen.
In einer bevorzugten Ausführungsform wird eine grafische Benutzeroberfläche
bereitgestellt, in welcher zum Identifizieren einer der wenigstens einen früheren
Verbindung als die ausgewählte frühere Verbindung der
Benutzer eine Stelle in der Display-Liste durch Hervorheben der Stelle, Anzeigen
der Stelle als Umkehrbild oder Anzeigen der Stelle in einer unterschiedlichen Schrifttype,
Schriftgröße oder Schriftart auswählt.
In einer bevorzugten Ausführungsform wird eine grafische Benutzeroberfläche
bereitgestellt, in welcher der Benutzer verifiziert, dass die ausgewählte frühere
Verbindung eine Kopie des Eintrags ist.
Figurenbeschreibung
Fig. 1
- PICONET 100 = PICONETZ 100
Fig. 2A
- SERVER 110 = SERVER 110
- MEMORY 210 = SPEICHER 210
- KEYPAD 201 = TASTATUR 201
- DISPLAY 202 = DISPLAY 202
- OPERATING SYSTEM SOFTWARE 211 = BETRIEBSSYSTEMSOFTWARE 211
- APPLICATION PROGRAMS 212 = ANWENDUNGSPROGRAMME 212
- APPLICATION DIRECTORY 230 = ANWENDUNGSVERZEICHNIS 230
- DEVICE = VORRICHTUNG
- LOCAL = LOKAL
- APPLICATION IDENTIFIER = ANWENDUNGSIDENTIFIZIERER
- ROLE = ROLLE
- SECURITY PARAMETERS = SICHERHEITSPARAMETER
- SECURITY ASSOCIATION = SICHERHEITSVERKNÜPFUNG
- DATABASE 240 DATENBANK 240
- CONNECTION LOG 245 = VERBINDUNGSLOG 245
Fig. 2B
- KEYPAD 251 = TASTATUR 251
- DISPLAY 252 = DISPLAY 252
- OPERATING SYSTEM SOFTWARE 261 = BETRIEBSSYSTEMSOFTWARE 261
- APPLICATION PROGRAMS 262 = ANWENDUNGSPROGRAMME 262
- APPLICATION DIRECTORY 280 = ANWENDUNGSVERZEICHNIS 280
- DEVICE = VORRICHTUNG
- LOCAL = LOKAL
- APPLICATION IDENTIFIER = ANWENDUNGSKENNUNG
- ROLE = ROLLE
- SECURITY PARAMETERS = SICHERHEITSPARAMETER
- SECURITY ASSOCIATION = SICHERHEITSVERKNÜPFUNG
- DATABASE 290 DATENBANK 290
- CONNECTION LOG 295 = VERBINDUNGSLOG 295
Fig. 3A
- WAIT FOR A CONNECTION REQUEST 302 = WARTE AUF EINE VERBINDUNGSANFRAGE 302
- RECEIVE A CONNECTION REQUEST FROM DEVICE B 304 = EMPFANGE EINE VERBINDUNGSANFRAGE
VON VORRICHTUNG B 304
- ESTABLISH A CONNECTION WITH DEVICE B 306 = BAUE EINE VERBINDUNG MIT VORRICHTUNG
B AUF 306
- EXCHANGE A LIST OF APPLICATIONS AND ATTRIBUTES WITH DEVICE B 308 = TAUSCHE EINE
LISTE VON ANWENDUNGEN UND ATTRIBUTEN MIT VORRICHTUNG B AUS 308
- LOCAL APPLICATIONS STATE PARAMETERS CHANGED DURING CONNECTION? 310 = LOKALE
ANWENDUNGSSTATUS PARAMETER WÄHREND VERBINDUNG VERÄNDERT? 310
- YES = JA
- MUTUALLY UPDATE LIST 312 = WECHSELSEITIGE UPDATE LISTE 312
- NO = NEIN
- SELECT AN APPLICATION FROM THE LIST BASED ON A PREDEFINED ORDERING 314 = WÄHLE
EINE ANWENDUNG AUS DER LISTE BASIEREND AUF EINER VORDEFINIERTEN REIHENFOLGE AUS
314
- APPLICATION SELECTED? 316 = ANWENDUNG AUSGEWÄHLT? 316
- NO = NEIN
- YES = JA
- SECURITY ASSOCIATION = SICHERHEITSVERKNÜPFUNG
- REQUIRED? 318 GEFORDERT? 318
- SECURITY CONTEXT = SICHERHEITSKONTEXT
- AVAILABLE? 320 VERFÜGBAR? 320
- NO = NEIN
- YES = JA
- ALL RUNNABLE APPCICATIONS HAVE EXECUTED? 322 = ALLE LAUFFÄHIGEN ANWENDUNGEN
WURDEN AUSGEFÜHRT? 322
- DEFER PRIORITY 326 = SCHIEBE PRIORITÄT AUF 326
- NEGOTIATE A SECURITY ASSOCIATION FOR THE DEFERRED SECURE APPLICATIONS 324 =
VERHANDLE EINE SICHERHEITSVERKNÜPFUNG FÜR DIE VERSCHOBENEN SICHEREN ANWENDUNGEN
324
Fig. 3B
- RUNNING IN DEVICE A 328 = LÄUFT IN VORRICHTUNG A 328?
- NO NEIN
- YES JA
- STARTABLE IN DEVICE A? 332 = STARTFÄHIG IN VORRICHTUNG A? 332
- NO = NEIN
- YES = JA
- START APPLICATION IN = STARTE ANWENDUNG IN
- DEVICE A 334 VORRICHTUNG A 334
- YES = JA
- NOTIFY DEVICE A OF THE CONNECTION 330 = BENACHRICHTIGE VORRICHTUNG A ÜBER
DIE VERBINDUNG 330
- RUNNING IN DEVICE B? 336 = LÄUFT IN VORRICHTUNG B? 336
- YES = JA
- NOTIFY DEVICE B OF THE = BENACHRICHTIGTE VORRICHTUNG B
- CONNECTION 338 = ÜBER DIE VERBINDUNG
- NO = NEIN
- STARTABLE IN DEVICE B ? 340 = STATRTFÄHIG IN VORRICHTUNG B ? 340
- YES = JA
- START APPLICATION IN DEVICE B 342 = STARTE ANWENDUNG IN VORRICHTUNG B 342
- NO = NEIN
- MISSING IN DEVICE B? 344 = FEHLT IN VORRICHTUNG B? 344
- NO = NEIN
- YES = JA
- DEVICE B ACCEPTS APPLICATION? 346 = VORRICHTUNG B AKZEPTIERT ANWENDUNG? 346
- NO = NEIN
- YES = JA
- TRANSFER APPLICATION TO DEVICE B 348 = ÜBERTRAGE ANWENDUNG AUF VORRICHTUNG
B 348
Fig. 3C
- FROM STEP 320, NO BRANCH = VON SCHRITT 320, KEIN ABZWEIG
- REQUEST DATA FROM THE CONNECTION LOG 350 = FORDERE DATEN VOM VERBINDUNGSLOG
AN 350
- STORE THE DATA FROM THE CONNECTION LOG IN A DISPLAY LIST 352 = SPEICHER DIE
DATEN VOM VERBINDUNGSLOG IN EINER DISPLAYLISTE 352
- BROWSE THE DISPLAY LIST 354 = BROWSE DIE DISPLAYLISTE 354
- VIEW DETAILED DATA FOR EACH = BETRACHTE DETAILLIERTE DATEN
- ENTRY IN THE DISPLAY LIST 356 FÜR JEDEN EINTRAG IN DER DISPLAYLISTE 356
- SELECT AN ENTRY IN THE DISPLEY LIST 358 = WÄHLE EINEN EINTRAG IN DER DISPLAYLISTE
358
- CONNECTION TO THE ENTRY = VERBINDUNG ZU DEM EINTRAG
- PREVIOUSLY ESTABLISHED? 360 BEREITS VORHER AUFGEBAUT? 360
- YES = JA
- NO = NEIN
Fig. 4
- Connection Log = Verbindungslog
- Device Name= Vorrichtung Name
- Connection= Verbindung
- Date/Time= Datum/Zeit
- Security Parameters= Sicherheitsparameter
- Channel Type= Kanaltyp
- Infrared= Infrarot
- KEYPAD 251= TASTATUR 251
- MEMORY 260 = SPEICHER 260
- CONNECTION LOG 295 = VERBINDUNGSLOG 295