-
Diese
Erfindung fällt
in das Gebiet der Telekommunikation, da sie die Verwendung von Netzwerkadressinformationen
für Netzwerktransaktionen
betrifft.
-
BESCHREIBUNG
DER VERWANDTEN TECHNIK
-
Herkömmliche
Rechner-Netzwerkprotokolle sind für den Betrieb innerhalb einer
gegebenen Netzwerktopologie konzipiert. Diese Protokolle sind hinreichend
flexibel, um eine große
Anzahl verschiedener Knotenanordnungen verarbeiten zu können, und hinreichend
robust, um Änderungen
der Topologie bei Hinzufügen
oder Entfernen von Rechnern zum oder vom Netzwerk gerecht zu werden.
Aufgrund der Notwendigkeit, Flexibilität und Mobilität aufrechtzuerhalten,
stützen
sich herkömmliche
Netzwerke nicht auf Informationen, die für eine bestimmte geografische
Position spezifisch sind. Für
diese Netzwerkprotokolle gilt die geografische Unabhängigkeit
im Allgemeinen als vorteilhaft.
-
In
vielen Gebieten der Vereinigten Staaten (von Amerika) ist es möglich, eine
Rufnummer des Anrufers vom Telefonnetzwerk zu bestimmen. Telefonnetzwerkdienste
wie Anruferidentifikation und automatische Rufnummernanzeige (Automatic
Number Identification – ANI)
können
einem geeignet ausgerüsteten
Telefonanrufbeantwortungsgerät
die Telefonnummer eines Anrufers bereitstellen, und die Telefonnummer
kann dann an einen mit dem Anrufbeantwortungsgerät gekoppelten Server übertragen werden.
-
In
zahlreichen Amtsbereichen ("calling areas") sind jedoch Anruferidentifikation
und automatische Rufnummernanzeige entweder aus technischen oder
gesetzgeberischen Gründen
nicht verfügbar.
In solchen Amtsbereichen kann es möglich sein, die Vorwahl eines
Benutzers und eventuell den Amtsbereich (z. B. Stadt) zu verifizieren,
aber in manchen Fällen
ist keinerlei Identifizierung möglich.
Ohne ein direktes Verfahren zur Identifizierung oder Verifizierung
der Telefonnummer eines Benutzers können indirekte Verfahren angewendet
werden.
-
Es
gibt deshalb auf verschiedene Arten herkömmliche Mittel, um Informationen
bezüglich
eines bestimmten Netzwerkknotens oder Netzwerkbenutzers zu erlangen.
Obwohl diese Informationen zur Verfügung stehen, stellen herkömmliche
Netzwerkprotokolle nicht die Funktionalität zur Erlangung dieser Informationen
oder zur Nutzung dieser Informationen für die Optimierung des Netzwerkes
bereit.
-
Die
WO 95/31061 beschreibt eine Vorrichtung und ein Verfahren zum Verbinden
mehrerer Fernspieler von Echtzeitspielen. Eine Anwender-Software
des Client in einem ersten Rechner kann den ersten Rechner über eine
Verbindungsstrecke mit einem Server in einem Netzwerk verbinden. Der
Server kann eine Netzwerkadresse für einen zweiten Rechner an
den ersten Rechner zurückschicken,
so dass der erste Rechner eine direkte Verbindungsstrecke mit dem
zweiten Rechner aufbauen kann.
-
Es
sind also ein besseres Mittel und ein besseres Verfahren zur Optimierung
von Netzwerktransaktionen erforderlich.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum
Durchführen einer
Datentransaktion bereitgestellt, das unsichere und sichere Teile
hat, wobei das Verfahren das Verbinden mit einem unsicheren Server über eine
unsichere Datenkommunikationsleitung, um unsichere Teile einer Datentransaktion
durchzuführen,
und dann das Trennen vom unsicheren Server enthält, und das Verfahren den Schritt
des Verbindens mit einem sicheren Server über eine sichere Datenkommunikationsleitung
enthält,
um sichere Teile der Datentransaktion durchzuführen.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein Computerprogrammprodukt
bereitgestellt, das ein oder mehrere rechnerlesbare Medien mit rechnerausführbaren
Anweisungen darauf aufweist, die bei Ausführung durch einen oder mehrere
Prozessoren eines Rechnersystems das Rechnersystem veranlassen,
ein Verfahren zur Durchführung
von Datentransaktionen auszuführen, das
unsichere und sichere Teile hat, wobei das Verfahren das Verbinden
mit einem unsicheren Server über
eine unsichere Datenkommunikationsleitung, um unsichere Teile einer
Datentransaktion durchzuführen,
und dann das Trennen vom unsicheren Server enthält, und das Verfahren den Schritt
des Verbindens mit einem sicheren Server über eine sichere Datenkommunikationsleitung
enthält,
um sichere Teile der Datentransaktion durchzuführen.
-
Diese
und andere Vorteile der vorliegenden Erfindung werden in der nachstehenden
detaillierten Beschreibung der bevorzugten Ausführungsform ausführlich beschrieben.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die
Merkmale und Vorteile der vorliegenden Erfindung erschließen sich
aus den beiliegenden Zeichnungen und der nachstehenden detaillierten Beschreibung
der bevorzugten Ausführungsform.
-
1 zeigt
die vorliegende Erfindung implementiert in einem Modul zur Verwendung
für ein Fernsehgerät.
-
2 zeigt
die vorliegende Erfindung implementiert mit einem integrierten Kabelmodem
und einem Decoder.
-
3 zeigt
die vorliegende Erfindung integriert in einem Fernsehgerät.
-
4 zeigt
die vorliegende Erfindung implementiert mit einem Kabelmodem und
einem Videoeingang.
-
5 zeigt
die vorliegende Erfindung implementiert mit einem ISDN-Modem.
-
6 zeigt
die Netzwerkkonfiguration der vorliegenden Erfindung.
-
7 zeigt
die Netzwerkkonfiguration der vorliegenden Erfindung mit Zugangsknoten
(point of presence – POP).
-
8 zeigt
die innere Struktur des WebTV-Client der vorliegenden Erfindung.
-
9 zeigt
die innere Struktur des privaten Servers der vorliegenden Erfindung.
-
10 zeigt
die innere Struktur des WebTV-Server der vorliegenden Erfindung.
-
11 bis 16 sind
Flussdiagramme, die den Fluss der Verarbeitungslogik der vorliegenden Erfindung
zeigen.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
Die
vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren
zur Verwendung von Netzwerkadressinformationen, um die Leistung
von Netzwerktransaktionen zu verbessern. In der nachfolgenden detaillierten
Beschreibung finden sich zahlreiche spezifische Einzelheiten, um
ein gründliches
Verständnis
der vorliegenden Erfindung sicherzustellen. Für den Durchschnittsfachmann
liegt es jedoch auf der Hand, dass diese spezifischen Einzelheiten
zur Verwirklichung der vorliegenden Erfindung nicht verwendet zu
werden brauchen. In anderen Fällen
sind hinreichend bekannte Strukturen, Schnittstellen und Prozesse
nicht detailliert dargestellt worden, um die vorliegende Erfindung
nicht unnötig
kompliziert zu gestalten.
-
WebTVTM
-
Ein
Beispiel ist ein niedrigpreisiges Netzwerk-Schnittstellengerät (WebTVTM), das ein Standard-Fernsehgerät als Anzeigegerät und Standard-Telefonteilungen
und/oder andere private Kommunikationsnetzwerke als Netzwerk-Transportmedium
verwendet. Das Netzwerk-Schnittstellengerät kann als System in verschiedenen
Formen implementiert werden. 1 zeigt
das Netzwerkgerät
als ein Modul, das an einer an einem Standard-Fernsehgerät bereitgestellten
Buchse angeschlossen ist. 2 zeigt
das Netzwerk-Schnittstellengerät
als ein Gerät
mit einem integrierten Kabelmodem und eingebautem Decoder. 3 zeigt
das Netzwerk-Schnittstellengerät
als eine in einem Fernsehgerät
eingebaute integrierte Einheit. 4 zeigt
das Netzwerk-Schnittstellengerät als ein
Gerät mit
einer eingebauten Video-Schnittstelle und Kabelmodem. 5 zeigt
das Netzwerk-Schnittstellengerät
mit eingebautem ISDN (Integrated Services Digital Network)-Modem.
In jedem Fall ist für
das Netzwerk-Schnittstellengerät der vorliegenden
Erfindung eine Standard-Telefonverbindung bereitgestellt, um die
Kommunikation über
das herkömmliche
Telefonnetzwerk zu ermöglichen.
In Konfigurationen mit Kabelmodemfähigkeit ist die Kommunikation über ein Kabelnetzwerk
zusätzlich
zur Kommunikation über das
Telefonnetzwerk möglich.
Das Kabelnetzwerk ist typischerweise viel schneller (d. h. hat eine
sehr viel größere Bandbreite)
als das Standard-Telefonnetzwerk; Kabelmodems sind jedoch typischerweise
teurer als Standard-POTS-(die im Stand der Technik als "Plain Old Telephone
Service" bezeichnet
werden)Telefonmodems. Bei einer ISDN-Konfiguration hat das Netzwerk-Schnittstellengerät sowohl
ein ISDN-Modem als auch ein Standard-POTS-Modem. Auch hier ist das ISDN-Netzwerk
typischerweise schneller als das POTS-Telefonnetzwerk; jedoch ist ISDN derzeit
teurer.
-
Das
Beispiel wird in Zusammenhang mit mehreren verschiedenen Netzwerktypen
oder Abschnitten eines Netzwerks beschrieben. Im Einzelnen erläutern die
folgenden Definitionen die verschiedenen Netzwerktypen, in denen
die bevorzugte Ausführungsform
arbeitet. Diese verschiedenen Netzwerktypen enthalten: das herkömmliche POTS-Telefonnetzwerk,
das Internet-Netzwerk, das World Wide Web (WWW)-Netzwerk und das WebTV-Netzwerk. Das
POTS-Telefonnetzwerk ist ein Wählleitungsnetzwerk
("switched-circuit"), das einen Client
mit einem Zugangsknoten (POP) oder direkt mit einem privaten Server
verbindet. Der POP-Knoten und der private Server verbinden den Client
mit dem Internet-Netzwerk, bei dem es sich um ein paketvermitteltes
Netz mit einem Übertragungssteuerungsprotokoll/Internet-Protokoll
(TCP/IP) handelt. Das World Wide Web (WWW)-Netzwerk verwendet ein
Hypertext-Übertragungsprotokoll
(HTTP), ist im Internet-Netzwerk implementiert und wird von Hypertext
Mark-up Language (HTML)-Servern unterstützt. Das WebTV-Netzwerk verwendet
einen Satz HTTP-basierter Protokolle, die innerhalb des WWW-Netzwerkes
implementiert und von einem oder mehreren HTML-Servern unterstützt sind.
-
Das
WebTV-Netzwerk verbindet jeden Client mit einem WebTV-Netzwerk-Schnittstellengerät mit anderen
WebTV-Clients und mit WebTV-Diensten. WebTV-Clients können auch in Informationen
in einem Fernverkehrsnetz (WAN oder "Wide Area Network") navigieren ("browsen"), das über eine der Netzwerkverbindungen
wie das Internet oder das World Wide Web (WWW) unter Verwendung
des Netzwerk-Schnittstellengeräts
und der darin bereitgestellten Browser-Software erreicht wird. Obwohl der
WebTV-Browser in der Lage ist, direkt im World Wide Web zu navigieren,
verbessert das WebTV-Netz die Dienste auf verschiedene Weise über den
grundlegenden Internetzugang hinaus. WebTV-Netzdienste einschließlich Benutzerregistrierung und
elektronische Post (E-Mail) werden im WebTV-Netz bereitgestellt.
Das WebTV-Netz verbessert außerdem
Benutzerdienste, indem das Navigieren zu weit entfernten WWW-Sites
beschleunigt wird und Verzögerungen
beseitigt werden. Außerdem
stellt das WebTV-Netz einen auf den geografischen Bereich des WebTV-Client zugeschnittenen
Inhalt bereit (geografische Anpassung). Auf diese Weise wird der Zugriff
des Client auf lokal begrenzte Dienste verbessert. Das WebTV-Netzwerk-Schnittstellengerät kann außerdem eine
Antwort an einen Client wirksam anpassen oder ein entsprechendes
Netzmedium verwenden, das zu einer bestimmten Client-Anforderung gehört. So können beispielsweise
das teurere ISDN oder Kabelnetzwerkmedien verwendet werden, wenn
hohe Datenraten erforderlich sind, während das weniger teure POTS-Telefonnetz
für weniger
kritische Transaktionen oder niedrigere Datenraten verwendet werden
kann. Das WebTV-Netz kann auch Speicher vom WebTV-Netzwerk-Schnittstellengerät abladen,
wodurch dessen Kosten gesenkt werden.
-
In 6 ist
der Grundaufbau des WebTV-Netzwerks dargestellt. Eine Mehrzahl WebTV-Clients 610,
bei denen es sich jeweils um ein Netzwerk-Schnittstellgerät wie das
oben beschriebene WebTV-Netzwerk-Schnittstellengerät handelt,
sind mit einem WebTV-Server 620 über eine herkömmliche
Netzwerk-Infrastruktur 612 wie das Internet und das WWW
gekoppelt. Der WebTV-Server 620 ist ein vernetztes Standard-Computersystem (z.
B. eine SparcStation von Sun Microsystems), auf dem Software, die
die Netzwerkfunktionalität
implementiert, abläuft.
Diese Funktionalität
wird nachstehend beschrieben.
-
In 7 ist
eine Alternative des Grundaufbaus des WebTV-Netzwerks der vorliegenden
Erfindung dargestellt. Eine Mehrzahl WebTV-Clients 610, bei
denen es sich jeweils um ein Netzwerk-Schnittstellgerät wie das
oben beschriebene WebTV-Netzwerk-Schnittstellengerät handelt,
sind wahlweise mit einer Mehrzahl Zugangsknoten (POP) 710 gekoppelt.
Die Zugangsknoten 710 stellen ein Mittel bereit, über das
die Clients 610 auf das Netz 612 über einen lokalen
Knoten zugreifen können,
anstelle von Direktverbindungen zum Netz 612, die mit höheren Kosten
verbunden sind. In einem Telefonnetz ist es für einen Client 610 z.
B. weniger teuer, eine Telefonverbindung mit einem lokalen Zugangsknoten 710 (d. h.
einem Modem im Falle eines Telefonnetzes) im lokalen Amtsbereich
des Client 610 herzustellen, anstelle ein Ferngespräch zu einem
Knoten des Netzes 612 zu führen. Mit der in 7 dargestellten
Konfiguration können
Kostenvorteile für
den Client verwirklicht werden. Die vorliegende Anwendung ist jedoch nicht
auf diese Konfiguration beschränkt.
Statt dessen kann die vorliegende Anwendung in jeder der in den 6 und 7 dargestellten
Konfigurationen oder gleichwertigen Netzwerkkonfigurationen implementiert
werden.
-
Verwendung der automatischen
Rufnummernanzeige (ANI) zur Sicherheitsüberprüfung und zu Authentifizierunaszwecken
-
Die
ANI kann ein wirksames Werkzeug zur Verifizierung der Position sein,
von der aus ein Netzzugriff erfolgt. So kann beispielsweise ein
Netzwerk-Schnittstellengerät 610 eines
WebTV-Client auf den WebTV-Netzwerk-Server 620 zugreifen,
um einen bestimmten Dienst anzufordern. Unter manchen Umständen ist
es erforderlich oder wünschenswert, die
Identität
eines Client zu verifizieren, bevor der angeforderte Dienst erbracht
wird. Telefonnetzwerkdienste wie Anruferidentifikation und automatische Rufnummernanzeige
(ANI) können
angewendet werden, um dem WebTV-Server 620 die
Telefonnummer des anfordernden Client bereitzustellen. Dies kann für den Client-Benutzer
auf eine transparente Weise erfolgen. Der WebTV-Server 620 kann
die Telefonnummer des anfordernden Client heranziehen, um den angeforderten
Dienst zu erbringen, indem die Telefonnummer des anfordernden Client
mit einer Liste autorisierter Telefonnummern verglichen wird, die
im Server 620 gehalten wird. Wenn sich die Telefonnummer
des anfordernden Client in der Server-Liste befindet, wird der angeorderte
Dienst für
den Client abschließend
erbracht. Wenn sich die Telefonnummer des anfordernden Client nicht
in der Server-Liste für den
angeforderten Dienst befindet, wird der Client informiert, dass
der angeforderte Dienst nicht erbracht werden kann. Da die ANI und
die Anruferidentifikation nicht durch einen unehrlichen Benutzer
missbraucht werden können,
verleiht dieses Merkmal der vorliegenden Erfindung dem WebTV-Netz
ein erhebliches Maß an
Sicherheit für
Netzwerktransaktionen. Dieses Authentifizierungsmerkmal wird in
den folgenden Abschnitten ausführlicher
beschrieben.
-
In
den USA gibt es wenige Gebiete, in denen die ANI nicht verfügbar ist.
In solchen Gebieten erkennt der private Server der vorliegenden
Erfindung das Fehlen von ANI und weist die Client-Software an, den
Benutzer aufzufordern, eine Telefonnummer einzugeben. Obwohl die
vorliegende Anwendung die Genauigkeit der vom Benutzer eingegebenen
Telefonnummer nicht verifizieren kann, kann die vorliegende Anwendung
dennoch verifizieren, dass es sich bei der vom Benutzer eingegebenen
Telefonnummer nicht um eine Telefonnummer aus einem Gebiet mit ANI-Abdeckung
handelt.
-
Ein
weiterer Test kann ausgeführt
werden, um zu verifizieren, dass die angenommene Telefonnummer (ob
durch ANI oder Benutzereingabe erhalten) eines Netzwerk-Schnittstellengeräts eines
Client 610 wahrscheinlich korrekt ist. Das bedeutet, dass die
Client-Software des Netzwerk-Schnittstellengeräts des Client 610 den
Client anweisen kann, seine eigene angenommene Telefonnummer zu
wählen. Wenn
die angenommene Telefonnummer nicht belegt ist (d. h. ein Freiton
oder ein Schlusszeichen wird erkannt), kann die angenommene Telefonnummer des
Client nicht korrekt sein. Wenn die gewählt Telefonnummer jedoch belegt
ist, ist die angenommene Telefonnummer des Client wahrscheinlich
korrekt, da die meisten Telefonnummern die weitaus meiste Zeit nicht
belegt sind. Dieses Tests stellen ein Nennmaß der Client-Telefonnummervalidierung
in Gebieten mit oder ohne ANI-Dienst bereit.
-
Sogar
in den sehr wenigen Gebieten der USA und fast überall auf der Welt, wo der
ANI-Dienst nicht verfügbar
ist, funktioniert der Prozess der vorliegenden Erfindung zum Erhalt
eines sicheren Verschlüsselungsschlüssel und
zur Ausführung
sicherer Transaktionen über
ein sicheres Netzwerk an einen privaten Server dennoch. Die einzige
Funktion, die in diesen Gebieten verloren geht, ist die automatische Verifizierung
des geografischen Standorts, die von der vorliegenden Anwendung
bereitgestellt und nachstehend ausführlicher beschrieben wird.
-
In
den 8 bis 15 veranschaulichen Block- und
Flussdiagramme das Authentifizierungsmerkmal. In 8 ist
die Schnittstelle zwischen dem WebTV-Client 610 und dem
herkömmlichen
Netzwerk 612 dargestellt. Der WebTV-Client 610 sendet und
empfängt
Informationen über
einen direkten Kommunikationskanal 852 über eine Netzwerkschnittstelle 840.
Im Stand der Technik gibt es zahlreiche herkömmliche Kommunikationskänale wie den
Kanal 852. Diese Kommunikationskänale umfassen herkömmliche
POTS-Telefonleitungen über
Modems, Integrated Services Digital Network (ISDN)-Leitungen, spezielle
Draht- oder Lichtleiterleitungen.
-
Alternativerweise
kann der WebTV-Client 610 über einen Zugangsknoten 810 mit
einem herkömmlichen
Netz 612 gekoppelt werden. Wie zuvor beschrieben, stellt
der Zugangsknoten 810 ein Mittel für den WebTV-Client 610 bereit,
um sich über
den lokalen Zugangsknoten 810 an das herkömmliche
Netz 612 nach Art einer Schnittstelle anzukoppeln. Auf diese
Weise kann der Kommunikationskanal 854 zwischen dem Client 610 und
dem Zugangsknoten 810 ein kostengünstigerer Kanal sein als der
Direktverbindungskanal 852. Bei jeder Konfiguration ist
der WebTV-Client 610 aktiviert, um Informationen über das
herkömmliche
Netz 612 zu senden und zu empfangen.
-
Ein
Merkmal des herkömmlichen
Netzwerkes 612 wie des Internet ist die relativ unsichere Übertragungsumgebung über das
herkömmliche Netz.
Aufgrund dieses Unsicherheitsmerkmals des herkömmlichen Netzwerkes 612 können keine
vertraulichen Mitteilungen, kommerzielle Transaktionen oder anderen
Informationsübertragungen
oder -transaktionen, die eine sichere Umgebung erfordern, stattfinden.
Aus diesem Grund fügt
die vorliegende Erfindung eine zusätzliche Funktionalität hinzu,
um einen bestimmten WebTV-Client zu authentifizieren und eine sichere
und vertrauliche Kommunikation zwischen dem WebTV-Client 610 und
dem WebTV-Server 620 aufzubauen. Ein privater Server 820 wird
in der bevorzugten Ausführungsform
der vorliegenden Erfindung verwendet, um eine sichere Netzwerkumgebung
auf die nachstehend detailliert beschriebene Weise zu erzeugen.
-
Wie
aus 8 zu ersehen ist, ist der private Server 820 über eine
sichere Kommunikationsleitung 858 mit dem Client 610 gekoppelt.
Die sichere Kommunikationsleitung 858 kann in jeder Technik
einer Reihe herkömmlicher
sicherer Kommunikationstechniken, die im Stand der Technik angewendet
werden, ausgeführt
werden, einschließlich
direkter POTS-Telefonleitungsverbindungen, spezieller Übertragungsleitungen
oder Punkt-zu-Punkt-Datenkommunikationsmedien. Bei der bevorzugten
Ausführungsform wird
eine sichere Kommunikation zwischen dem WebTV-Client 610 und
dem privaten Server 820 durch Verwendung einer im Voraus
zugewiesenen (800) Telefonnummer aufgebaut, die eine direkte Punkt-zu-Punkt-Kommunikationsstrecke
zwischen dem privaten Server 820 und dem Client 610 herstellt.
Auf diese Weise kann eine sichere Kommunikationsumgebung zwischen
dem Client 610 und dem privaten Server 820 garantiert
werden. Unter Verwendung der nachstehend beschriebenen Techniken der
vorliegenden Erfindung stellt der WebTV-Client 610 zunächst eine
sichere Kommunikation mit dem privaten Server 820 her,
um anschließend
eine sichere Kommunikationsumgebung über das herkömmliche
Netz 612 aufzubauen.
-
Zur
Schaffung einer sicheren Kommunikationsumgebung mit dem herkömmlichen
Netz 612 enthält
der WebTV-Client 610 eine Boxkennzeichnung 842 für den Client.
Die Boxkennzeichnung 842 ist eine elektronisch lesbare
eindeutige Zahl oder eine alphanumerische Zeichenfolge, die eine
bestimmte WebTV-Client-Einheit 610 von allen anderen unterscheidet.
Herkömmliche
Techniken für
die Installierung eines eindeutigen Identifizierungscodes in einem
elektronischen Gerät
sind hinreichend bekannt.
-
Der
WebTV-Client 610 enthält
auch einen Verschlüsselungsschlüssel-Speicherbereich 844 und einen
Netzwerkadressspeicherbereich 846. Die Speicherbereiche 844 und 846 sind
elektronisch lesbare und modifizierbare Speicherbereiche, die zur Speicherung
bestimmter Informationselemente dienen, die während des Authentifizierungsprozesses der
vorliegenden Erfindung verwendet werden. Der Verschlüsselungsschlüssel-Speicherbereich 844 dient
zur Speicherung eines Verschlüsselungsschlüssels, der
vom privaten Server 820 bereitgestellt und vom Client 610 bei
seinen Kommunikationen über
das herkömmliche
Netz 612 verwendet wird. Der Netzwerkadressspeicherbereich 846 dient zur
Speicherung einer Netzwerkadresse, bei der sich der WebTV-Client 610 aktuell
befindet. Im Falle einer Telefonverbindung zwischen dem Client 610 und dem
Netz 612 stellt die Netzwerkadresse die Telefonnummer dar,
von der aus der Client 610 anruft. Sowohl der Verschlüsselungsschlüssel 844 als
auch die Netzwerkadresse 846 können in einer Vielzahl herkömmlicher
Speichermittel einschließlich
eines batteriegestützten
CMOS-Speichers, Flash-Speichers, dynamischen
Speichers mit wahlfreiem Zugriff (dynamic random access memory – DRAM)
oder eines statischen Speichers mit wahlfreiem Zugriff (static random
access memory – SRAM)
gespeichert werden.
-
Nunmehr
sei auf 9 verwiesen, in der die internen
Komponenten des privaten Server 820 (erster Server) dargestellt
sind, die zur Authentifizierung verwendet werden. Der private Server 820 enthält eine
Netzwerkadress-Bestimmungslogik 910. Die Netzwerkadress-Bestimmungslogik 910 wird
vom privaten Server 820 zur Bestimmung einer Netzwerkadresse
verwendet, von der aus ein Client 610 kommuniziert. Im
Falle eines Telefonnetzes weist die Netzwerkadress-Bestimmungslogik 910 die
automatische Rufnummernanzeige-(ANI)Logik zur Bestimmung der Telefonnummer
auf, von der aus der Client 610 anruft. Die Verwendung
der ANI ist dem Durchschnittsfachmann hinreichend bekannt. Der private Server 820 wendet
diese herkömmliche
Technik auf eine neuartige und nützliche
Weise zur Authentifizierung eines Client 610 in einer vernetzten
Rechnerumgebung an.
-
Herkömmliche
Computersysteme und Netzwerke stellen sichere Transaktionen typischerweise durch
Anwendung eines Verschlüsselungsschlüssels bereit.
Die Notwendigkeit eines Verschlüsselungsschlüssels wird
bei herkömmlichen
sicheren Transaktionen vorausgesetzt. Im Stand der Technik gibt
es zahlreiche bekannte Techniken für die Anwendung eines Verschlüsselungsschlüssels, um
sichere Transaktionen über
einen offenen Kanal zu bewirken (z. B. Rivest-, Shamir-, Adleman-(RAS)Protokoll,
Secure Socket Layer (SSL)-Protokoll etc.); alle diese herkömmlichen
Techniken sind jedoch gefährdet, wenn
es keinen sicheren Kanal zur Übertragung
des Verschlüsselungsschlüssels zwischen
dem Client und dem Server gibt. Bei der vorliegenden Erfindung stellt
ein sicheres POTS- oder ISDN-Netz den sicheren Kanal bereit, über den
der Verschlüsselungsschlüssel sicher
und zuverlässig
zwischen dem Client und dem privaten POTS- oder ISDN-Server übertragen
werden kann. Danach kann ein unsicheres Netzwerk (d. h. das Internet,
WWW oder ein anderes öffentliches
unsicheres Netz) für
normale sichere Datentransaktionen zwischen dem Client und dem Server
unter Verwendung des zuvor über
das sichere Netzwerk erhaltenen Verschlüsselungsschlüssels verwendet
werden. Dieser Prozess der Verwendung eines sicheren Netzwerkes
zum Erhalt eines Verschlüsselungsschlüssels, der
später
in einem unsicheren Netz verwendet wird, gehört nicht zum Stand der Technik
und bildet einen wichtigen Bestandteil des Authentifizierungsprozesses
der vorliegenden Erfindung.
-
Wie
aus 9 zu ersehen ist, enthält der private Server 820 eine
Verschlüsselungsschlüssel-Erzeugungslogik
und einen Speicher 912. Da die Datenkommunikationsleitung 858 zwischen
dem Client 610 und dem privaten Servers 820 eine
private und sichere Kommunikationsleitung ist, kann der private Server 820 vom
Client 610 zum Erzeugen und Bereitstellen eines eindeutigen
Verschlüsselungsschlüssels für den Client 610 verwendet
werden. Der Verschlüsselungsschlüssel für einen
bestimmten WebTV-Client 610 wird von der Logik 912 erzeugt
und zusammen mit der Netzwerkadresse des Client 610, für den der
Verschlüsselungsschlüssel erzeugt
wurde, gespeichert. Eine Bestimmungslogik 914 für die Position
des Zugangsknotens im privaten Server 820 dient zur Bestimmung
des dem Client 610 nächstliegenden
Zugangsknotens, der eine solche Information vom privaten Server 820 anfordert.
Unter Verwendung der von der Logik 910 bestimmten Netzwerkadressinformation
des Client kann die Bestimmungslogik 914 für die Position
des Zugangsknotens auf eine interne Liste der Zugangsknoten zugreifen,
um zu bestimmen, welcher Knoten in der Liste der entsprechenden
Netzwerkadresse des Client am nächsten liegt.
Eine typische Transaktion zwischen dem Client 610 und dem
privaten Server 820 wird nach stehend in Zusammenhang mit
den Flussdiagrammen der 11 bis 15 ausführlicher
beschrieben.
-
Nunmehr
sei auf 10 verwiesen, in der die internen
Komponenten des WebTV-Server 620 (zweiter
Server) dargestellt sind. Der WebTV-Server 620 ist mit
dem herkömmlichen
Netz 612 über
eine Datenkommunikationsleitung 1020 gekoppelt. Die Datenkommunikationsleitung 1020 weist
eine Vielzahl herkömmlicher
Netzzugangsmittel, einschließlich
digitaler Telefonverbindungen, ISDN-Leitungen, Kabelverbindungen,
drahtloser Übertragung
oder anderer Mittel aus einer Vielzahl herkömmlicher Mittel auf. Der WebTV-Server 620 stellt
eine Vielzahl Dienste bereit, die für einen WebTV-Client 610 maßgeschneidert
sind. Es ist jedoch kritisch, dass die Transaktion zwischen dem
Client 610 und den WebTV-Server 620 auf einer
sicheren Datenkommunikationsverbindung stattfindet. Dies ist bei
einem unsicheren Netz wie dem Netz 612 nicht immer möglich. Aus
diesem Grund stellt der WebTV-Server 620 Client-Authentifizierungsdaten 1010 bereit.
Die Client-Authentifizierungsdaten 1010 sind Informationen, die
eine Client-Netzwerkadresse und eine Boxkennzeichnung für den Client
angeben, die jedem Client zugeordnet sind. Außerdem hält der WebTV-Server 620 einen
jedem Client zugeordneten Verschlüsselungsschlüssel im
Verschlüsselungsschlüssel-Speicherbereich 1013 für den Client.
Diese Informationselemente werden für jeden Client, der auf den
WebTV-Server 620 zugreift, gepflegt. Die Art und Weise,
wie diese Informationen zur Authentifizierung eines Client verwendet
werden, wird in Zusammenhang mit den Flussdiagrammen der 11 bis 15 ausführlicher
beschrieben.
-
Der
WebTV-Server 620 pflegt auch geografische Netzdaten 1012.
In vielen Fällen
ist es praktisch, den geografischen Standort eines bestimmten WebTV-Client 610 zu
bestimmen. Unter Verwendung der geografischen Positionsinformationen
des Client können
von einem bestimmten Client angeforderte Dienste auf Basis der Positionsinformationen
des Client besser konfiguriert und optimiert werden. Die geografischen
Netzdaten 1020 stellen Informationen dar, die Netzwerkadressen
eines bestimmten Client mit einem entsprechenden geografischen Standort verbinden.
Die Verwendung dieser Informationen durch den WebTV-Server 620 wird
in Zusammenhang mit den Flussdiagrammen der 11 bis 15 ausführlicher
beschrieben.
-
Nunmehr
sei auf 11 verwiesen, in der ein Flussdiagramm
die von einem WebTV-Client 610 ausgeführte Verarbeitung
veranschaulicht. Die in 11 dargestellte
Logik wird von einem Client 610 angewendet, um eine sichere
Datenkommunikationsverbindung mit einem WebTV-Server 620 über ein
herkömmliches
unsicheres Daten netzwerk aufzubauen. In einem ersten Verarbeitungsschritt 1110 führt der
Client 610 die Initialisierung beim Hochfahren aus. Danach
koppelt sich der Client 610 über eine sichere Netzwerkleitung 858 an
den privaten Server 820 an. Sobald der Client 610 mit
dem privaten Server 820 verbunden ist, fordert der Client 610 den
privaten Server 820 auf, die Client-Netzwerkadresse des
Client 610 zu bestimmen. Da es nicht immer möglich ist,
dass der Client 610 seine eigene Netzwerkadresse bestimmt,
muss diese Information vom privaten Server 820 angefordert
werden. Wenn der Zugang des Client 610 zum herkömmlichen
Netz 612 über
ein Standard-POTS-Telefonnetzwerk
erfolgt, kann der private Server 820 die herkömmliche
automatische Rufnummernanzeige-(ANI)Funktionalität verwenden, um die Telefonnummer,
von der aus der Client 610 anruft, zu erhalten. Im Falle
des POTS-Telefonnetzwerks stellt diese Client-Telefonnummer die Netzwerkadresse
des Client dar, von der aus der Client 610 auf das Netzwerk
zugreift. Sobald der private Server 820 die Netzwerkadresse
des Client erhalten hat, wird diese im privaten Server 820 gespeichert und/oder
zurück
zum anfordernden Client 610 geschickt. Außerdem erzeugt
der private Server 820 einen Verschlüsselungsschlüssel für den Client 610. Dieser
Verschlüsselungsschlüssel ist
für diesen
bestimmten Client spezifisch und dient zur Verschlüsselung
nachfolgender Datenkommunikationen zwischen dem Client 610 und
dem WebTV-Server 620 (Verarbeitungsblock 1112).
-
Nunmehr
sei auf 12 verwiesen, in der die Verarbeitungslogik
des privaten Server 820 dargestellt ist. Im Verarbeitungsblock 1210 empfängt der private
Server 820 eine Anforderung von einem Client 610 zur
Bestimmung der Netzwerkadresse des Client und zur Erzeugung eines
Verschlüsselungsschlüssels für den Client.
Der private Server 820 bedient sich herkömmlicher
Techniken, um die Netzwerkadresse des Client im Verarbeitungsblock 1212 zu erhalten.
Im Falle einer POTS-Telefonnetzverbindung zwischen dem privaten
Server 820 und dem Client 610 wendet der private
Server 820 herkömmliche Techniken
der automatischen Rufnummernanzeige (ANI) an, um die Telefonnummer
des Client von dort zu erhalten, wo der Telefonanruf an den privaten
Server 820 ausgeht. Der private Server 820 stellt
eine bekannte (800) Telefonnummer bereit, die ein Client 610 verwenden
kann, um auf den privaten Server 820 zuzugreifen. Sobald
diese Verbindung mit dem privaten Server 820 hergestellt
worden ist, verwendet die Netzwerkadress-Bestimmungslogik 910 des
privaten Server 820 die Standard-Telefon-ANI-Funktionalität, um die
Telefonnummer oder Netzwerkadresse des Client 610 zu bestimmen,
von dem der Telefonanruf ausging (Verarbeitungsblock 1212).
-
Im
Verarbeitungsblock 1214 prüft der private Server 820 einen
Speicherplatz im Speicher 912 für den Verschlüsselungsschlüssel, um
zu bestimmen, ob bereits ein Verschlüsselungsschlüssel für den anfordernden
Client bestimmt worden ist. Wenn dies nicht der Fall ist, wird ein
neuer und eindeutiger Verschlüsselungsschlüssel für diesen
betreffenden Client von der Verschlüsselungsschlüssel-Erzeugungslogik 912 unter
Verwendung herkömmlicher
Techniken erzeugt. Dieser neu erzeugte Verschlüsselungsschlüssel für den Client
wird dann im Speicher 912 für den Verschlüsselungsschlüssel gespeichert.
-
Im
Verarbeitungsblock 1216 wird die Netzwerkadresse des Client
vom privaten Server 820 zur Bestimmung verwendet, welcher
Zugangsknoten relativ zum Netzwerk des Client lokal ist. Die Bestimmungslogik 914 für die Position
des Zugangsknotens des privaten Server 820 enthält Informationen,
die angeben, welche Zugangsknoten relativ zu einem bestimmten Block
der Client-Netzwerkadressen lokal sind. Die Logik in der Bestimmungslogik 914 für die Position
des Zugangsknotens vergleicht die bestimmte Client-Netzwerkadresse
mit einem Block Client-Netzwerkadressen, um den Zugangsknoten zu bestimmen,
der relativ zum entsprechenden Block der Client-Netzwerkadressen lokal ist. Im Falle
eines Telefonnetzwerks entspricht eine Netzwerkadresse des Client
einer Telefonnummer des Client, die eine Vorwahl enthält. In manchen
Fällen
stellt ein Zugangsknoten mit derselben Vorwahl wie die Netzwerkadresse
des Client einen Zugangsknoten dar, der relativ zur Client-Netzwerkadresse
lokal ist. Unter anderen Umständen
ist es erforderlich, andere Informationen zu erlangen, die definieren,
ob die Telefonnummer eines Zugangsknotens relativ zu einer bestimmten
Client-Netzwerkadresse lokal ist oder nicht. In jedem Fall sind
herkömmliche
Techniken zur Herstellung des Zusammenhangs zwischen den Telefonnummern
der Zugangsknoten und den Telefonnummern des Client bekannt. Unter
Verwendung der Logik 914 sucht der private Server 820 die
Telefonnummer eines Zugangsknotens oder Modems, die sich im lokalen
Amtsbereich des Client befinden, der durch die Client-Netzwerkadresse
repräsentiert
wird (Verarbeitungsblock 1216).
-
Im
Verarbeitungsblock 1218 schickt der private Server 820 eine
Meldung an den anfordernden Client zurück, die die Netzwerkadresse
des Client, den Verschlüsselungsschlüssel des
Client und die Netzwerkadresse eines lokalen Zugangsknotens angibt.
Diese Informationen, die vom privaten Server 820 erzeugt
oder erhalten werden, werden dem Client im Verarbeitungsblock 1218 bereitgestellt.
Die Verarbeitung durch den privaten Server endet dann im Block "Beenden" von 12.
-
Nunmehr
sei erneut auf 11 verwiesen, wonach die Netzwerkadresse
des Client und der Verschlüsselungsschlüssel des
Client vom Client wie oben beschrieben vom privaten Server 820 in
Verarbeitungsblock 1112 erhalten wird. Die Client-Netzwerkadresse wird
in dem in 8 dargestellten Adressspeicherbereich 846 gespeichert.
Der vom privaten Server 820 erhaltene Verschlüsselungsschlüssel des
Client wird in dem in 8 dargestellten Speicherbereich 844 für den Verschlüsselungsschlüssel gespeichert.
Sowohl Netzwerkadresse als auch Verschlüsselungsschlüssel des
Client werden in sicheren Speicherbereichen 846 bzw. 844 des
Client gespeichert (Verarbeitungsblock 1114).
-
Die
Netzwerkadresse eines lokalen Punktes des Zugangsknotens wird vom
Client 610 im Verarbeitungsblock 1116 vom privaten
Server 820 erhalten. Die Netzwerkadresse des lokalen Punktes
des Zugangsknotens wird vom privaten Server 820 wie oben
in Zusammenhang mit 12 beschrieben bestimmt.
-
Im
Verarbeitungsblock 1118 wird der Client 610 vom
privaten Server 820 getrennt. Sobald der Client 610 die
Client-Netzwerkadresse, den der Verschlüsselungsschlüssel des
Client und die Netzwerkadresse eines lokalen Punktes des Zugangsknotens vom
privaten Server erhält,
ist die Kommunikation mit dem privaten Server 820 nicht
mehr erforderlich. Der Client 610 kann deshalb vom privaten
Server 820 getrennt werden. Dieser Aspekt der vorliegenden
Erfindung stellt einen Vorteil dahingehend dar, dass der Client
keine lang andauernde sichere Verbindung mit dem privaten Server 820 aufrechtzuerhalten
braucht. Der Client 610 stellt eine Verbindung mit dem
lokalen Punkt des Zugangsknotens her, der vom privaten Server 820 identifiziert
wird. Im Falle eines POTS-Telefonnetzes wählt der Client 610 die
Telefonnummer des lokalen Punktes des Zugangsknotens und initialisiert
eine Datenverbindung mit dem Modem des lokalen Punktes des Zugangsknotens.
-
Im
Verarbeitungsblock 1120 öffnet der Client 610 unter
Verwendung des Verschlüsselungsschlüssel des
Client eine Verbindung mit dem WebTV-Server 620 über den
Zugangsknoten, um eine sichere Verbindung mit dem WebTV-Server 620 über eine unsichere
Netzwerkleitung 1020 herzustellen. Die 13 und 14 beschreiben
die Verarbeitungslogik des WebTV-Server 620 aus der Perspektive
des Servers 620 ausführlicher.
Auf der Client-Seite fordert der Client 610 eine Verbindung
mit dem WebTV-Server 620 in Block 1120 an und
beendet dann über
den Block "Beenden" in 11.
-
Nunmehr
sei auf 13 verwiesen, in der die Verarbeitungslogik
des WebTV-Servers 620 dargestellt ist. In Block 1310 empfängt der
Server 620 eine Anforderung von einem Client 610 nach
einer offenen Verbindung. Da eine Transaktion zwischen einem Client 610 und
dem WebTV-Server 620 eine sichere Transaktion sein muss,
ist es erforderlich, dass der WebTV-Server 620 den Client
authentifiziert, von dem die Verbindungsanforderung erhalten wird.
Die Boxkennzeichnung des Client und die vom Client erhaltene Client-Netzwerkadresse
können
vom WebTV-Server 620 verwendet werden, um den Client 610 zu
authentifizieren. Es ist jedoch erforderlich, dass der WebTV-Server 620 den
Verschlüsselungsschlüssel des
Client erhält,
damit er die vom Client 610 empfangenen verschlüsselten
Meldungen entschlüsseln
kann. Dieser Verschlüsselungsschlüssel des
Client kann nicht über
eine unsichere Datenkommunikationsleitung an den WebTV-Server 620 übertragen werden.
Der WebTV-Server 620 muss
den Verschlüsselungsschlüssel des
Client von einer sicheren Quelle erhalten. Bei der bevorzugten Ausführungsform
kann der private Server 820 vom WebTV-Server 620 als
Quelle für
den Erhalt des Verschlüsselungsschlüssels des
Client verwendet werden. Auf die gleiche Weise, wie der Client 610 eine
Verbindung mit dem privaten Server 820 herstellt, kann
der WebTV-Server 620 eine private und sicher Datenkommunikationsleitung
mit dem privaten Server 820 aufbauen. Im Verarbeitungsblock 1311 öffnet der
WebTV-Server 620 eine sichere Verbindung mit dem privaten
Server 820 über
eine sichere Netzwerkleitung und erlangt den Verschlüsselungsschlüssel des
Client unter Verwendung der Boxkennzeichnung des Client und der
Client-Netzwerkadresse, die vom Client bei der Anforderung der offenen
Verbindung erhalten wird.
-
Nunmehr
sei auf 15 verwiesen, die die Verarbeitungslogik
des privaten Server 820 zur Handhabung einer Anforderung
vom WebTV-Server 620 in Form eines Flussdiagramm veranschaulicht. Im
Verarbeitungsblick 1510 empfängt der private Server 820 eine
Anforderung von WebTV-Server 620 für den Verschlüsselungsschlüssel, der
einem bestimmten Client, der durch eine Client-Boxnummer und eine
Client-Netzwerkadresse
identifiziert wird, zugeordnet ist. Der private Server 820 verifiziert
zuerst, dass der Anforderer tatsächlich
der WebTV-Server 620 ist, indem er einen vordefinierten
Passcode verwendet, der dem WebTV-Server 620 zugeordnet ist.
Die Erzeugungslogik 912 für den Verschlüsselungsschlüssel des
privaten Servers 820 verwendet dann die vom WebTV-Server 620 bereitstellte
Client-Boxnummer und Client-Netzwerkadresse, um den Verschlüsselungsschlüssel für den identifizierten Client
zu erhalten (Verarbeitungsblock 1514). Wenn der identifizierte
Client zuvor eine Verbindung mit dem privaten Server 820 hergestellt
hat, wird der diesem Client zugeordnete Verschlüsselungsschlüssel im
Speicherbereich 912 für
die Erzeugung des Verschlüsselungsschlüssels gespeichert.
Dieser Verschlüsselungsschlüssel des
Client wird vom privaten Server 820 aus dem Speicherbereich 912 abgerufen und
in einer sicheren Nachricht im Verarbeitungsblock 1518 an
den WebTV-Server 620 übertragen. Die
Verarbeitung durch den privaten Server wird dann im Block "Beenden" von 15 abgeschlossen.
-
Nunmehr
sei erneut auf 13 verwiesen, in der der WebTV-Server 620 in
Verarbeitungsblock 1311 den Verschlüsselungsschlüssel des
Client vom privaten Server 820 erhalten hat. Der WebTV-Server 620 kann
nun vom privaten Server 820 getrennt werden. Der WebTV-Server 620 aktualisiert
seinen eigenen Speicherbereich 1013 für den Verschlüsselungsschlüssel mit
dem vom privaten Server 820 abgerufenen Verschlüsselungsschlüssel.
-
Im
Verarbeitungsblock 1312 authentifiziert der WebTV-Server 620 den
anfordernden Client unter Verwendung der Boxkennzeichnung und der Netzwerkadresse
des Client. Die Boxkennzeichnung und die Netzwerkadresse des Client
werden mit den Client-Authentifizierungsdaten
verglichen, die im Speicherbereich 1010 für die Client-Authentifizierungsdaten
im WebTV-Server 620 gehalten werden. Unter Verwendung der
Client-Boxkennzeichnung und der Client-Netzwerkadresse kann bestimmt
werden, dass eine bestimmte Client-Box des WebTV bei einer bestimmten
Netzwerkadresse arbeitet. Falls bei einem alternativen System eine
weitere Authentifizierung erforderlich ist, kann vom Client 610 und/oder einem
bestimmten Benutzer auch ein Passwort oder ein Kontencode angefordert
werden. Alle diese Informationen können im Speicherbereich 1010 für die Client-Authentifizierungsdaten
auf dem WebTV-Server 620 gespeichert
und gepflegt werden. Wenn die Client-Boxkennzeichnung und die Client-Netzwerkadresse
in den Client-Authentifizierungsdaten 1010 gefunden und
authentifiziert werden, wird im Verarbeitungsblock 1316 eine
Verbindung zwischen dem Client 610 und dem WebTV-Server 620 geöffnet. Die Verarbeitung
des WebTV-Servers 620 für den authentifizierten
Client wird dann in dem mit A gekennzeichneten Kreis in 14 fortgesetzt.
Wird jedoch der Client nicht authentifiziert, wird eine Fehlermeldung
an den anfordernden Client in Verarbeitungsblock 1318 zurückgeschickt,
die ein Scheitern der Authentifizierung angibt. Die Verarbeitung
des WebTV-Servers 620 endet
dann im Block "Beenden" in 13.
-
Eine
ANI-Verifizierungsverbindung von einem Client zu einem privaten
Server kostet typischerweise mehr (ca. $ 0,02 für 20 sec) als der lokale Anruf an
einen Punkt des Zugangsknotens. Es ist also nicht kostengünstig, ANI-Verifikationen
zu häufig
vorzu nehmen. Es ist jedoch sinnvoll, eine ANI-Verifikation in folgenden
Fällen
vorzunehmen:
- 1) Erste Aktivierung einer Client-Box
(d. h. Netzwerk-Schnittstellengerät);
- 2) periodische Sicherstellung, dass die Client-Box nicht zu
einer anderen Telefonnummer verbracht worden ist; oder
- 3) immer dann, wenn bei einer Client-Box verdächtige Aktivitäten (mehrere
Passwort-Fehlversuche) vorkommen.
-
Für den Durchschnittsfachmann
liegt es auf der Hand, dass die hierin gelehrten ANI-Verifizierungsprozesse
für eine
Reihe verschiedener Umstände
eingesetzt werden können.
-
Bei
einer alternativen Ausführungsform
der vorliegenden Erfindung können
der WebTV-Server 620 und der private Server 820 in
ein und demselben Computersystem eine Einheit sein. Bei dieser Ausführungsform
ist die Transaktion zwischen dem WebTV-Server 620 und dem
privaten Server 820 zum Austausch eines Verschlüsselungsschlüssels des Client
nicht erforderlich, da sich der Verschlüsselungsschlüssel des
Client bereits im selben System befindet. In dieser Situation ruft
der WebTV-Server 620 nur
den Verschlüsselungsschlüssel des
Client aus einem Speicherbereich 912 für den Verschlüsselungsschlüssel des
kombinierten Serversystems ab.
-
Nunmehr
sei auf 14 verwiesen, die die Fortsetzung
der Verarbeitung des WebTV-Server 620 in
dem mit A gekennzeichneten Kreis veranschaulicht. In diesem Fall
ist eine Datenkommunikationsverbindung zwischen dem Client 610 und
den WebTV-Server 620 geöffnet worden.
Da sowohl der Client 610 als auch der WebTV-Server 620 einen
gemeinsamen Verschlüsselungsschlüssel haben,
der in den oben beschriebenen Schritten erhalten worden ist, kann
die Kommunikation zwischen dem Client 610 und dem Server 620 verschlüsselt werden,
wodurch eine sichere Kommunikationsleitung über eine sonst unsichere Netzwerkverbindung
bereitgestellt wird. Deshalb können
anschließende
Dienste-Anforderungen vom Client 610 und entsprechende
Antworten vom WebTV-Server 620 verschlüsselt und eine sichere Datenkommunikation
gewährleistet
werden.
-
Im
Verarbeitungsblock 1410 von 14 empfängt der
WebTV-Server 620 eine verschlüsselte Dienst-Anforderung vom
Client 610. Als Teil der Dienst-Anforderung durch den Client
wird typischerweise eine Client-Netzwerkadresse bereitgestellt. Obwohl
die Client-Netzwerkadresse typischerweise eine logische Netzwerkposition
des Client repräsentiert,
kann die Client-Netzwerkadresse in manchen Netzen auch mit der geografischen
Position des Client verbunden sein. So wird z. B. in einem POTS- Telefonnetz die Client-Netzwerkadresse
als Telefonnummer des Client angegeben. Unter Anwendung herkömmlicher
Techniken kann eine Telefonnummer einer geografischen Position zugeordnet
werden. Die Vorwahl ist eine typische Komponente einer Client-Telefonnummer.
Die Vorwahl ist einer gut definierten geografischen Zone zugeordnet,
wie sie von den herkömmlichen
Telefongesellschaften festgelegt wird, die das Telefonnetz betreiben.
Außerdem
kennzeichnet die dreistellige Kennung einer siebenstelligen Telefonnummer
einen bestimmten geografischen Unterbereich innerhalb der durch
die Vorwahl gekennzeichneten Zone näher. Die übrigen vier Stellen einer siebenstelligen
Telefonnummer definieren weiter einen bestimmten Ort innerhalb des
definierten Unterbereichs. Durch die Verwendung dieser herkömmlichen
Telefonnummerninformationen kann eine Menge geografischer Netzdaten
erzeugt werden, die Telefonnummern bestimmten geografischen Positionen
zuordnen. Diese Informationen werden in den geografischen Netzdaten 1012 des
WebTV-Servers 620 gespeichert. In anderen Netzwerkumgebungen
als in einem Telefonnetzwerk können
andere Beziehungen zwischen Client-Netzwerkadressen und entsprechenden
geografischen Positionen definiert und in den geografischen Netzdaten 1012 gespeichert
werden.
-
Der
Client 610 profitiert in mehrerer Hinsicht davon, dass
der WebTV-Server 620 den geografische Standort bestimmen
kann, von der aus der Client 610 mit dem WebTV-Server 620 kommuniziert. So
können
beispielsweise verschiedene Dienste-Anforderungen des Client auf Basis der
geografischen Position, von der aus die Dienste-Anforderung abgegeben
wurde, optimiert werden. Im Falle einer geschäftlichen Transaktion z. B.
kann ein Client die Lieferung von Waren über den WebTV-Server 620 anfordern.
Da der WebTV-Server 620 die geografische Position kennt,
von der die Lieferungsanforderung des Client kommt, kann der Server 620 eine
Auslieferungsstation auswählen,
die dem anfordernden Client am nächsten
liegt. Unter anderen Umständen können die
vom WebTV-Server 620 bereitgestellten jeweiligen Dienste
entsprechend dem geografischen Standort eines Client verschieden
sein. Der Client kann z. B. die Lieferung eines Informationsstroms
mit hoher Datenrate zum Standort des Client anfordern. Dieser Informationsstrom
mit hoher Datenrate kann ein Videostrom, ein Audiostrom oder ein
anderer inhaltsintensiver Informationsstrom sein. In Abhängigkeit
von der den Standort des Client umgebenden Informationsstrom-Infrastruktur
kann der WebTV-Server 620 einen optimalen Liefermechanismus
für den Informationsstrom
wählen.
Z. B. kann die geografische Position, an der der Client eine Anforderung
abgibt, über
den Integrated Digital Network (ISDN)-Service verfügen. Wenn
dies der Fall ist, kann der WebTV-Server 620 automatisch
die Informationslieferung an einen bestimmten Client über das
ISDN-Netz konfigurieren.
-
Wenn
andererseits am Standort des Client der Kabelmodem-Dienst verfügbar ist,
kann der WebTV-Server 620 wahlweise Informationen mit hoher Datenrate
unter Verwendung des Kabelmodem-Dienstes an den Client 610 schicken.
Jede dieser Optionen kann vom WebTV-Server 620 unter Verwendung
der Informationen hinsichtlich des geografischen Standorts eines
bestimmten Client, der in den geografischen Netzdaten 1012 gehalten
wird und einer Netzwerkadresse eines bestimmten Client zugeordnet
ist, optimal gewählt
werden.
-
Im
Falle eines Telefonnetzwerks verwendet der Server 620 die
Telefonnummer des anfordernden Client, um die geografische Position
des Client zu bestimmen, ohne dass der Client seine Adresse, Telefonnummer
oder andere Informationen hinsichtlich seines Standortes anzugeben
braucht. Die Telefonnummer wird einer geografischen Position unter
Verwendung hinreichend bekannter Techniken wie einer Datenbasis
der Vorwahlzuordnungen durch Mapping zugeordnet. Unter Verwendung
der Telefonnummer des anfordernden Client kann der WebTV-Server 620 einen
geeigneten Lieferanten oder ein geeignetes Geschäft wählen, der bzw. das dem Standort
des Client am nächsten
liegt. Ohne Kenntnis der Position des Client könnte ein ineffizientes Lieferszenario
resultieren. So könnte
ein Client z. B. Waren in einem entfernten Geschäft bestellen, obwohl sich in
der Nähe
des Client ein ähnliches
Geschäft
befindet.
-
In
anderen Situationen kann ein Diensteanbieter die bereitgestellten
Dienste auf Basis der Telefonnummer des Client "maßschneidern". So kann beispielsweise
ein spezifisches Menü aus
Angeboten, die mit bestimmten geografischen Orten zusammenhängen, für bestimmte
Clients auf Basis der ANI-abgeleiteten Telefonnummer des anfordernden Client
angeboten werden. In einem anderen Beispiel können Diensteangebote, Preise
der Angebote oder Angebotszeiten auf Basis der ANI-abgeleiteten Telefonnummer
des anfordernden Client variiert werden.
-
Nunmehr
sei erneut auf 14 verwiesen, wonach die Client-Netzwerkadresse
in Block 1414 erhalten wird, wenn die Dienste-Anforderung
des Client für
eine bestimmte dem Client zugeordnete geografische Position optimiert
werden kann. Unter Verwendung der Client-Netzwerkadresse greift
der WebTV-Server 620 auf die geografischen Netzdaten 1012 zu,
um den geografischen Standort des betreffenden Client zu bestimmen
(Verarbeitungsblock 1416). Unter Verwendung des so erhaltenen
geografischen Standorts des Client kann die Dienste-Anforderung des
Client im Verarbeitungsblock 1418 optimiert werden. Die
Verarbeitung des WebTV-Servers 620 wird dann im Block "Beenden" von 14 abgeschlossen.
Wenn die Dienste- Anorderung
im Entscheidungsblock 1412 nicht auf Basis des geografischen Standorts
optimiert werden kann, endet dieser Abschnitt der WebTV-Server-Verarbeitung
im Block "Beenden" von 14.
-
Bei
einer Ausführungsform
des privaten ANI Servers der vorliegenden Erfindung kann der private Server 820 verwendet
werden, um sichere Teile einer sonst unsicheren Transaktion auszuführen. Ein
Benutzer könnte
z. B. in einem Katalog, einer Produkt-/Diensteliste oder einer anderen kommerziellen Information
im WWW-Netz über
eine unsichere Verbindung "browsen"; wenn der Benutzer
jedoch einen Kauf tätigen
möchte
und eine Kreditkartennummer, persönliche Informationen oder andere
vertrauliche oder proprietäre
Informationen sendet, koppelt sich der Client 610 vom WWW
(d. h. dem unsicheren Netz) ab und wählt den privaten Server 820 über einen
sicheren direkten Telefonanruf im sicheren Netz auf die oben in
Zusammenhang mit 11 beschriebene Weise an. Der
private Server 820 stellt sicher, dass die ANI des Client 610 der
erwarteten Telefonnummer der Client-Box entspricht. Wenn die ANI
des Client 610 der erwarteten Telefonnummer der Client-Box
nicht entspricht (z. B. wenn ein Hacker eine Transaktion von einem öffentlichen
Fernsprecher aus versucht), weist der private Server 820 die
Transaktion zurück.
Wenn dagegen die ANI des Client der erwarteten Telefonnummer der
Client-Box entspricht, ist der Client validiert. Der validierte
Client führt
einen sicheren Teil seiner Transaktion im sicheren Netz aus und
wählt sich
dann bei Abschluss des sicheren Teils der Transaktion wieder wie
oben beschrieben in das unsichere Netz ein.
-
Die
durch das WebTV-Netzwerk ermöglichte geografische
Anpassung bietet noch mehrere andere Vorteile. Durch die Kenntnis,
wo sich ein bestimmter Client geografisch befindet, kann durch Anwendung des
Mittels des WebTV-Netzwerk-Schnittstellengeräts zur Bestimmung
des Standort des Client die Server-Antwort auf die Anforderungen
des Client dem speziellen geografischen Standort des Client angepasst
werden. Systeme im Stand der Technik stellen z. B. eine Netzwerkfunktion
bereit, mit der ein Client Waren oder Dienste von einem Server unter
Verwendung eines Online-Dienstes bestellen kann. Diese Server im
Stand der Technik antworten jedoch auf jede Client-Anforderung auf
die gleiche Weise, ungeachtet der geografischen Position des Client.
Bei der vorliegenden Erfindung passt jedoch der Server seine Antwort
an einen bestimmten Client an, da er die geografische Position des
Client kennt, wie sie mittels der oben beschriebenen Vorrichtung
und Prozesse bestimmt worden ist. Eine erste bestimmte geografische
Position kann z. B. einen hochschnellen ISDN- und Kabelmodem-Datendienst
haben. Eine zweite bestimmte geografische Position kann nur einen
hochschnellen ISDN-Datendienst haben. Wenn ein Client A an der ersten
Position vom WebTV-Server einen hochschnellen Datendienst anfordert,
wird dem Client A die Wahl zwischen dem ISDN- und dem Kabelmodem-Dienst
angeboten. Wenn ein Client B an der zweiten Position vom WebTV-Server einen hochschnellen
Datendienst anfordert, wird dem Client B nur der ISDN-Dienst angeboten.
Diese verschiedene Antwort für
den Client A gegenüber
dem Client B ist möglich,
weil der WebTV-Server unter Anwendung der oben beschriebenen Techniken
die geografische Position des anfordernden Client bestimmen kann.
Nachdem entweder Client A oder Client B bei diesem Beispiel einen
gewünschten
Dienst gewählt
hat, kann ferner die Anforderung für einen hochschnellen Datendienst
an den optimalen Dienste-Anbieter mit hochschnellem Datendienst
an der Position des betreffenden Client geleitet werden. Diese effiziente
Weiterleitung ist wieder möglich,
weil der WebTV-Server unter Verwendung der oben beschriebenen Techniken
die geografische Position des anfordernden Client bestimmen kann.
Die geografische Anpassung hat mehrere Vorteile. Da die geografische
Position eines anfordernden Client bekannt ist, kann der Server
eine entsprechende Antwort für
den betreffenden Client anpassen, anstatt allen anfordernden Clients
auf die gleiche Weise zu antworten. Ferner kann der WebTV-Server
der vorliegenden Erfindung das herkömmliche Verfahren der Bestellung von
Waren und Diensten mittels einer Sprachverbindung und der damit
verbundenen fehleranfälligen
Informationserfassungsmethoden in wirksamer Weise ersetzen.
-
Die
Bestimmung der geografischen Position des Client ist auch aus anderen
Gründen
vorteilhaft. Unter Verwendung der oben beschriebenen Techniken kann
der Client seine geografische Position vom privaten Server erhalten.
Diese geografische Positionsinformation kann dann an andere Server
weitergegeben werden, mit denen der Client eventuell Transaktionen
auszuführen
wünscht.
Diese anderen oder dritten Server können vom WebTV-Netz oder WebTV-Servern
vollkommen unabhängig
sein. Der private WebTV-Server kann also zur Optimierung des von
jedem unabhängigen
Netzdienste-Anbieter bereitgestellten Online-Dienst verwendet werden.
Ein Betrieb z. B. ein Florist oder eine Pizzeria etc. könnte einen
Online-Dienst zur Bestellung von Waren über ein Netzwerk anbieten.
Für den
betreffenden Geschäftstyp
kann die geografische Position wichtig sein. Im Falle eines Betriebs,
bei dem die Lieferung von Waren gefordert wird, wie im Beispiel
die Pizzeria oder der Florist, muss die geografische Position zur Erleichterung
der Lieferung bekannt sein. In dieser Situation stellt der private
Server dem Client die geografische Position des Client bereit. Der
Client übergibt
dann diese Information als Teil der Transaktion mit dem dritten
Server an den dritten Server. Der dritte Server verwendet die Information über den
geografi schen Standort zur Optimierung seiner Transaktion mit dem
Client, ohne dass er jemals über
die Beteiligung des privaten Servers informiert worden ist.
-
Die
vorliegende Anwendung wird auch vorteilhaft angewendet, um Echtzeitspiele
zwischen vernetzten Spielteilnehmern zu ermöglichen. Zunächst ist
es wichtig, hier eine Unterscheidung zwischen zwei Typen von Fernspielen
mit mehreren Spielern zu machen:
1) "Echtzeit"- oder "Twitch"-Spiele oder 2) "Nicht-Echtzeit"-Spiele. Bei Twitch-Spielen handelt es
sich um solche Spiele, die Spielentscheidungen der Spieler in Bruchteilen
von Sekunden erfordern und keine beliebigen Kommunikationslatenzen
oder -verzögerungen
tolerieren können.
Twitch-Spiele bilden die mit Abstand beliebteste Kategorie von Video-Spielen – typischerweise
sind alle Top Ten-Spiele Twitch-Spiele – und umfassen Spiele wie "Mortal KombatTM", "John Madden FootballTM", "Sonic the HedgehogTM" und "Super Mario BrothersTM".
Typischerweise erfordern Twitch-Spiele eine Kommunikationslatenz
(d. h. Verzögerung,
mit der die Aktion des Spielers auf dem Bildschirm wirksam wird)
von weniger als 100 msec, damit die Spiele gespielt werden können. Twitch-Spiele
können
normalerweise keine variierenden Verzögerungen der Kommunikationslatenz
tolerieren.
-
Nicht-Echtzeit-Spiele
sind Spiele, die mit einer erheblichen Kommunikationslatenz und
variierender Kommunikationslatenz gespielt werden können. Zu
diesem Spielgenre zählen
natürlich "Strategie"spiele wie Schach
oder Backgammon, aber auch Spiele mit moderaten Eingriffen wie Abenteuerspiele z.
B. "Return to ZorkTM" von
ActivisionTM oder die "King's
QuestTM"-Reihe
von Sierra On-lineTM. ImagiNation NetwerkTM von AT&T
ist ein Online-Dienst, der sich auf solche Nicht-Echtzeitspiele
spezialisiert hat. Das Internet und das WWW werden ebenfalls zum Spielen
von Nicht-Echtzeitspielen
verwendet.
-
Bei
der Popularität
von Twitch-Spielen für mehrere
Spieler könnte
angenommen werden, dass Online-Dienste wie das ImagiNation NetwerkTM Twitch-Spiele für ihre Benutzer anbieten würden. Diese
Dienste und andere im Internet oder WWW implementierten Dienste
bieten jedoch solche Spiele nicht an, da es bei der Architektur
der derzeitigen öffentlichen
Telefonwählnetze
nicht möglich
ist, eine Latenz von unter 100 Millisekunden (msec) oder nicht einmal
eine gleichbleibende Latenz zu erzielen.
-
In
derzeitigen Netzwerkarchitekturen gibt es erhebliche (und oft unvorhersagbare)
Latenzen. Jedes Modem in einer Kommunikationskette führt Latenzen
bis zu 20 oder 30 msec ein (je nach Modem-Hersteller und Modell).
Das Telefonnetz führt Latenzen ein
(obwohl diese innerhalb eines lokalen Amtsbereichs minimal sind).
Fernverkehrsnetze (WANs) führen
unvorhersagbare Latenzen ein (bis zu 1,5 sec Umlaufzeit). Die Rechner
des Online-Dienstes selbst bringen zusätzlich Latenzen ein, die typischerweise
mit zunehmender Anzahl aktiver Benutzer länger werden.
-
Als
Ergebnis können
Twitch-Fernspiele für mehrere
Spieler nur über
eine direkte Telefonverbindung von einem Spieler zum anderen gespielt
werden, wodurch sich eine Grundüberholung
(die enorme Kapitalinvestitionen erfordert) der bestehenden Datennetzwerke
verbietet. Folglich sind Online-Dienste und Internet- oder WWW-gestützte Dienste
darauf beschränkt,
als Host für
Nicht-Echtzeitspiele für
mehrere Spieler zu dienen.
-
Obwohl
das Internet und das WWW aufgrund der Latenzprobleme für Echtzeit-Spiele
nicht geeignet sind, sind sie eine gute Quelle für die Kombination von Fernspielern,
die dasselbe Spiel zusammen zur selben Zeit spielen möchten. Der
Grund hierfür
ist, dass das Internet praktisch allgegenwärtig ist. Es wäre also
vorteilhaft, das Internet und das WWW oder eine andere öffentliche
Netzinfrastruktur zu verwenden, um Fernspieler von Spielen zu kombinieren
und Spieleergebnisse zu versenden und ein anderes Netzwerk mit geringer
Latenz zum tatsächlichen
Spielen des Echtzeit-Spiels zu verwenden. Dieses Problem beim Spielen
vernetzter Echtzeit-Spiele wird im Stand der Technik nicht erkannt
oder gelöst. Die
vorliegende Anmeldung stellt die nachstehend beschriebene Lösung bereit.
-
Wie
oben beschrieben stellt die vorliegende Anwendung einen WebTV-Client 610 bereit,
der zunächst
eine sichere Kommunikation über
ein erstes Netzwerk 858 mit dem privaten Server 820 herstellt, um
anschließend
eine sichere Kommunikationsumgebung über das herkömmliche
zweite Netzwerk 612 aufzubauen. Damit wird ein erstes Netzwerk
zur Definition von Parametern und zur Ermöglichung von Kommunikationen über ein
zweites Netzwerk verwendet. Dieses Konzept wird auch in der Echtzeit-Spielumgebung
angewendet. Im Kontext des Echtzeit-Spiels stellt der WebTV-Client 610 zunächst jedoch
eine Verbindung mit dem WebTV-Server über ein Nicht-Echtzeit-Netzwerk
wie das Internat oder das WWW her, um eine Kombination des Spielers
mit einem anderen Fern-Client anzufordern, der dasselbe Spiel zur
selben Zeit spielen möchte.
Sobald der Server die beiden Netzwerk-Clients als Gegner in einem
vernetzten Echtzeit-Spiel kombiniert hat, werden die beiden kombinierten
Clients vom Nicht-Echtzeit-Netz abgekoppelt und verbinden sich miteinander über ein
Echtzeit-Netzwerk unter Verwendung der vom WebTV-Server erhaltenen
Adressinformationen. Der Prozess ist in 16 ausführlicher
dargestellt.
-
Nunmehr
sei auf 16 verwiesen, in der ein Mechanismus
eines Echtzeit-Netzwerkspiels
dargestellt ist. In 16 zeigt ein Flussdiagramm die Verarbeitung,
die ein WebTV-Client 610 ausführt, der ein Echtzeit-Spiel
mit einem vernetzten gegnerischen Fern-Client spielen möchte. Die
in 16 veranschaulichte Logik wird von einem lokalen
Client 610 verwendet, um eine Echtzeit-Datenkommunikationsverbindung mit einem
anderen Fern-Client 610 über eine Echtzeit-Datennetzwerk
herzustellen, z. B. eine direkte Telefonverbindung zwischen den
Clients 610. In einem ersten Verarbeitungsschritt 1610 führt der lokale
Client 610 die Initialisierung beim Hochfahren aus. Danach
koppelt sich der lokale Client 610 an den WebTV-Server 620 (Block 1612) über eine Nicht-Echtzeit-Netzwerkleitung 856 über den
Zugangsknoten 810 oder direkt an die Leitung 852 an wie
in 8 dargestellt. Sobald der lokale Client 610 mit
dem WebTV-Server 620 verbunden ist, fordert der lokale
Client 610 den WebTV-Server 620 auf, den lokalen
Client 610 mit einem anderen Fern-Client zu kombinieren,
der zuvor den WebTV-Server 620 informiert hat, dass er
ein vorgegebenes Echtzeit-Spiel spielen möchte (Block 1614).
Der lokale Client 610 stellt dem WebTV-Server 620 seine
Netzwerkadresse bereit. Der Fern-Client 610 hat
seine Netzwerkadresse zuvor dem WebTV-Server 620 bereitgestellt. Der
WebTV-Server 620 kombiniert die beiden Clients unter Verwendung
verschiedener Informationselemente, um die Kombination zu bewirken.
Diese Informationen enthalten die geografischen Positionen der Clients,
wie durch ihre Netzwerkadresse angegeben, den Namen oder Typ des
zu spielenden Echtzeit-Twitch-Spiels, den für jeden Client angegebenen Schwierigkeitsgrad
und andere zugehörige
Informationen. Sobald der WebTV-Server die Clients 610 kombiniert,
informiert der WebTV-Server jeden Client hinsichtlich der Netzwerkadresse
seines zugeordneten Gegners (Block 1616). Als Reaktion
darauf wird jeder der kombinierten Clients vom WebTV-Server abgekoppelt
(Block 1618) und stellt in einem Echtzeit-Netzwerk eine
Verbindung mit dem zugeordneten Gegner her. Diese Verbindung kann
unter Verwendung einer direkten Telefonleitung hergestellt werden,
und die von jedem Client bereitgestellte Netzwerkadresse ist seine
Telefonnummer. Zwischen kombinierten Clients kann eine Kommunikationsstrecke
mit sehr niedriger Latenz aufgebaut werden, wodurch das Spielen
eines vernetzten Echtzeit-Spiels möglich wird (Block 1620).
Für den
Durchschnittsfachmann ist es offensichtlich, dass andere herkömmliche
Echtzeit-Netzwerkinfrastrukturen gleichwertig
verwendet werden können,
um das tatsächliche
Spielen zu bewirken, nachdem die Client-Spieler im Nicht-Echtzeitnetzwerk
kombiniert worden sind.
-
Somit
sind eine verbesserte Vorrichtung und ein verbessertes Verfahren
zur Verwendung von Netzwerkadressinformationen für die Verbesserung von Netzwerktransaktionen
beschrieben worden.
-
Die
hierin beschriebenen spezifischen Anordnungen und Verfahren sollen
die Prinzipien der vorliegenden Erfindung nur beispielhaft veranschaulichen.
Zahlreiche Modifikationen von Form und Detail können vom Durchschnittsfachmann
vorgenommen werden, ohne vom Schutzbereich der vorliegenden Erfindung
abzuweichen. Obwohl diese Erfindung anhand einer bestimmten Ausführungsform
dargestellt worden ist, ist sie nicht als darauf beschränkt zu betrachten.
Die vorliegende Erfindung ist vielmehr nur durch den Schutzbereich
der beigefügten
Ansprüche
begrenzt.