-
BEREICH DER TECHNIK
-
Diese
Erfindung betrifft im Allgemeinen Verfahren, Computerprogramme und
eine Vorrichtung für
die Bereitstellung und den Zugriff auf digitalen Inhalt. Insbesondere
betrifft diese Erfindung ein Verfahren und Computerprogramme für das Übertragen, das
Verfügbarmachen
zum Übertragen,
den Zugriff oder den Empfang von Inhalt über ein öffentliches Datennetzwerk,
wie z. B. das Internet, ist aber nicht darauf beschränkt.
-
ALLGEMEINER STAND DER TECHNIK
-
Fähigkeiten
zur Entschlüsselung
und Überprüfung mithilfe
einer Infrastruktur mit einem öffentlichen
Schlüssel
(PKI – public
key infrastructure) sind in handelsübliche Browser, wie z. B. den
Netscape NavigatorTM und den Microsoft Internet
ExplorerTM, eingebaut. Microsoft AuthenticodeTM ist ein System vom Stand der Technik für die Absicherung
der Programmcodeverteilung über
das Internet, das PKI verwendet (siehe "Software Publisher Digital IDs for Microsoft
Authenticode Technology" in
http://www.verisign.com/rsc/gd/dev/authenticode/intro.html). Die Funktionsweise
von Microsoft AuthenticodeTM wird nachfolgend
ausführlich
mit Bezugnahme auf 1 erörtert.
-
1 ist
eine Prinzipdarstellung des Systems vom Stand der Technik, das von
Microsoft AuthenticodeTM für die Verteilung
eines ausführbaren Codes
verwendet wird. Die Darstellung zeigt drei Hauptteilnehmer: einen
Herausgeber 100, einen Endbenutzer 300 und eine
Zertifizierungsstelle 200.
-
Für die Ausgabe
von Software über
das Internet unter Verwendung von Microsoft AuthenticodeTM muss sich der Herausgeber 100 zuerst
an die Zertifizierungsstelle 200 hinsichtlich eines Paars
aus einem privaten und öffentlichen
Schlüssel
und eines Zertifikats wenden. Zertifizierungsstellen, wie z. B. Verisign
Inc., sind Unternehmen, welche den Empfangsparteien Paare aus einem
privaten und öffentlichen
Schlüssel
bereitstellen. Darüber
hinaus sind sie verantwortlich für
die Überprüfung der
Vertrauenswürdigkeit
ihrer Empfangsparteien und für
das Bereitstellen digitaler Zertifikate, welche als ein Beweis geliefert
werden können,
dass der öffentliche
Schlüssel
der Empfangspartei und nicht einer dritten Partei gehört. Bei
einer erfolgreichen Anwendung wird dem Herausgeber 100 von
der Zertifizierungsstelle 200 ein privater Schlüssel 102 und
ein Zertifikat 104 geliefert. Das Zertifikat 104 enthält den Namen 106 des Herausgebers,
einen öffentlichen
Schlüssel 108,
der dem Herausgeber bereitgestellt wurde, und eine digitale Signatur 110 von
der Zertifizierungsstelle 200, die sowohl aus dem Namen 106 als
auch dem öffentlichen
Schlüssel 108 errechnet
wurde. Die Zertifizierungsstelle 200 erzeugt die digitale
Signatur 110 unter Verwendung ihres eigenen privaten Schlüssels 202,
zu welchem der zugehörige öffentliche
Schlüssel 204 den
Endbenutzern weithin verfügbar
gemacht wurde, indem er in den Browsern, wie z. B. dem Netscape
NavigatorTM und dem Microsoft Internet ExplorerTM, vorinstalliert wurde. Diese digitale
Signatur 110 dient zur Bestätigung, dass der öffentliche Schlüssel 108,
der im Zertifikat 104 enthalten ist, dem Herausgeber 100 gehört. Für eine ausführliche
Erläuterung
der Zertifizierungsstellen und der digitalen Zertifikate siehe insbesondere
das Kapitel 12 der "Internet
Cryptography" von
Richard E. Smith, 1997, herausgegeben von Addison Wesley Longman,
Inc..
-
Nachdem
die Software 112 entwickelt wurde, verschlüsselt der
Herausgeber 100 die Software unter Verwendung seines privaten
Schlüssels 102,
um eine verschlüsselte
Version 114 zu erzeugen. Die unverschlüsselte 112 Software,
die verschlüsselte
Software 114 und das Zertifikat 104 werden dann
zusammengebündelt,
um ein Paket 116 zu bilden. Dieses Paket wird zum Herunterladen
verfügbar
gemacht, indem es auf einen Webserver 118 platziert wird.
Der Endbenutzer 300, der das Paket 116 vom Webserver 118 herunterlädt, ist
in der Lage, die Software 112 wie folgt zu authentifizieren.
In dem Browser des Endbenutzers ist ein öffentlicher Schlüssel 204 vorinstalliert,
welcher der Zertifizierungsstelle 200 gehört. Indem
er diesen verwendet, ist der Endbenutzer in der Lage zu bestätigen, dass
der öffentliche
Schlüssel 108,
der in dem Zertifikat 104 enthalten ist, dem Herausgeber 100 gehört. Das
gilt, weil der Browser in der Lage ist, die digitale Signatur 110 unter
Verwendung des öffentlichen
Schlüssels 204 zu
entschlüsseln
und das Ergebnis mit dem Namen 106 sowie dem öffentlichen
Schlüssel 108 zu
vergleichen, und weil das Zertifikat 104 von der Zertifizierungsstelle 200,
welcher der Browser vertraut, signiert wurde. Unter Verwendung des öffentlichen
Schlüssels 108,
der aus dem Zertifikat 104 erhalten wurde, ist der Browser
in der Lage, die verschlüsselte
Version 114 der Software 112 zu entschlüsseln und
sie mit der ebenfalls bereitgestellten unverschlüsselten Version der Software zu
vergleichen. Passen die beiden zueinander, dann weiß der Browser,
dass die Software 112 vom Herausgeber 100 stammt,
und außerdem,
dass sie seit ihrer Verschlüsselung
nicht verändert
wurde. Somit ist der Endbenutzer 300 in der Lage, die Quelle
und die Integrität
der Software 112 zu authentifizieren.
-
Ein
Nachteil des von Microsoft AuthenticodeTM verwendeten
Zugangs besteht darin, dass er keine Sicherheit vom Programmcodeanbieter
unmittelbar liefert, d. h., er erlaubt es dem Programmcodeanbieter
nicht, als eine alleinige Zertifizierungsstelle oder eine Zertifizierungsstelle
niedriger Stufe in einem hierarchischen Zertifizierungssystem (für eine Erläuterung
dieser Begriffe siehe unten) zu fungieren. Eine Folge dieses Nachteils
ist es, dass es dem Programmcodeanbieter nicht erlaubt ist, eine
Sicherheitsstufe einzurichten, die seinen eigenen Zielen, dem Typ
des zur Verfügung
gestellten Programmcodes oder den Anforderungen seiner Empfangsparteien
angemessen ist. Eine weitere Folge besteht darin, dass kein unmittelbares
Vertrauen in den Programmcodeanbieter erzeugt wird, da der Authentifizierungsvorgang
für die
Empfangspartei keine Beziehung zum Programmcodeanbieter sondern
eher zu MicrosoftTM herzustellen scheint.
-
N.
Islam u. a. beschreiben in "A
Flexible Security Model for Using Internet Content", IBM Thomas J. Watson
Research Center Publication, 28. Juni 1997, XP 002138803, ein System
für das
Herunterladen von Inhalt über
ein nicht vertrauenswürdiges Netzwerk,
wie z. B. das Internet, und für
das Steuern seines Einsatzes in einer Client-Vorrichtung. Der Inhalt
wird unter Verwendung digitaler Signaturen gekennzeichnet und durch
ein Nutzungssystem für
gekennzeichneten Inhalt analysiert, um die Identität des Urhebers
des Inhalts zu überprüfen und
nachzuweisen, dass er nicht verändert
wurde.
-
Die
vorliegende Erfindung betrifft im Allgemeinen die Sicherheitsprobleme
beim Bereitstellen von Inhalt über
das Internet, die oben aufgezeigt wurden, wie auch die speziellen
oben aufgezeigten Nachteile des Zugangs, der von Microsoft AuthenticodeTM verwendet wird. Eine Aufgabe der vorliegenden
Erfindung ist die Schaffung eines einfach zu verwendenden Systems
zum Bereitstellen überprüfbaren Inhalts über ein öffentliches
Datennetzwerk, wie z. B. das Internet. Eine weitere oder alternative
Aufgabe der vorliegenden Erfindung ist die Schaffung eines Systems
für das
Bereitstellen einer Nachrichtendienstleistung über ein öffentliches Datennetzwerk, wie
z. B. das Internet.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Ein
Verfahren zur Überprüfung eines
Elements bestehend aus digitalem Inhalt, wobei das Verfahren die
Schritte umfasst:
zu einem ersten Zeitpunkt Bereitstellen eines
Elements bestehend aus digitalem Inhalt für ein Überprüfungsprogramm;
Durchführen einer Überprüfung des
Elements bestehend aus digitalem Inhalt durch das Überprüfungsprogramm;
Darstellen
einer Meldung für
einen Benutzer durch das Überprüfungsprogramm,
wobei diese anzeigt, ob das Element bestehend aus digitalem Inhalt überprüft wurde
oder nicht;
dadurch gekennzeichnet, dass
der Benutzer
zu einem zweiten Zeitpunkt, der vor dem ersten Zeitpunkt liegt,
dem Überprüfungsprogramm
ein Datenelement bereitstellt, das Überprüfungsprogramm das Datenelement
speichert, und das Datenelement oder aus dem Datenelement abgeleitete
Daten in die Meldung aufgenommen werden, um dem Benutzer anzuzeigen,
dass das Element bestehend aus digitalem Inhalt durch das Überprüfungsprogramm überprüft wurde.
-
Nach
einer zweiten Ausbildung der vorliegenden Erfindung wird ein Computerprogramm
zum Überprüfen eines
Elements bestehend aus digitalem Inhalt bereitgestellt, wobei das
Computerprogramm ausgebildet ist, um:
zu einem ersten Zeitpunkt
ein Element bestehend aus digitalem Inhalt zu empfangen;
das
Element bestehend aus digitalem Inhalt zu überprüfen;
dem Benutzer eine
Meldung anzuzeigen, die angibt, ob das Element bestehend aus digitalem
Inhalt überprüft wurde
oder nicht;
dadurch gekennzeichnet, dass
das Computerprogramm
ausgebildet ist, um zu einem zweiten Zeitpunkt, der vor dem ersten
Zeitpunkt liegt, einen Benutzer auf ein Datenelement hin abzufragen
und das Datenelement zu speichern, und dadurch, dass das Datenelement
oder von dem Datenelement abgeleitete Daten in die Meldung aufgenommen
werden, um dem Benutzer anzuzeigen, dass das Element bestehend aus
digitalem Inhalt durch das Computerprogramm überprüft wurde.
-
Da
Nachrichten einen im Wesentlichen sachbezogenen Inhalt aufweisen,
der oft einen beträchtlichen ökonomischen
Wert aufweist, obwohl er von beschränkter Gültigkeit ist, ist es bekannt,
dass betrügerische
dritte Parteien oft versuchen, aus der Verbreitung falscher Nachrichten
einen finanziellen oder anderen Gewinn zu erzielen. Da die Wertigkeit
von Nachrichten stark von ihrer Quelle abhängt, kann eine dritte Partei
aus der falschen personellen Zuordnung, der Veränderung oder aus dem Ersetzen
des Inhalts von einem vertrauenswürdigen Nachrichtendienstleister
den größten Nutzen
erzielen. Zum Beispiel können
dritte Parteien mit dem Anbieten von Finanznachrichten, wie z. B.
Börsennachrichten,
Gewinn erzielen, indem sie irreführende
oder falsche Informationen verbreiten, während sie sich als der vertrauenswürdige Nachrichtendienstleister
maskieren. Andererseits könnte
die Anfälligkeit
für diese
Art betrügerischer
Aktivität
schädigende
Konsequenzen für das
Ansehen eines Anbieters von Nachrichtendienstleistungen nach sich
ziehen. Die obigen Ausbildungen der Erfindung sind dazu gedacht,
Wege zum Verringern derartiger Risiken bereitzustellen.
-
Lediglich
als Beispiel folgt nun eine ausführliche
Beschreibung der bevorzugten Ausführungsformen der vorliegenden
Erfindung, mit der:
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine Prinzipdarstellung, in der die Funktionsweise eines Authentifizierungssystems vom
Stand der Technik gezeigt wird.
-
2 ist
eine Prinzipdarstellung, in der die Funktionsweise des Authentifizierungssystems
der vorliegenden Erfindung gezeigt wird.
-
3 ist
ein Ausdruck einer Webseite, in der ein Nachrichtenelement und Mittel
zum Starten der Ausführung
des Überprüfungsprogramms
der vorliegenden Erfindung gezeigt werden.
-
4 ist
ein Flussdiagramm, das den Ablauf darstellt, der durch das Überprüfungsprogramm
der vorliegenden Erfindung eingehalten wird.
-
5 ist
ein Ausdruck einer Webseite, in der das Nachrichtenelement und eine
Meldung gezeigt werden, welche das Nachrichtenelement gemäß der vorliegenden
Erfindung verifiziert.
-
6 ist
ein Ausdruck einer Webseite, in der ein gefälschtes Nachrichtenelement
und eine Meldung gezeigt werden, die gemäß vorliegender Erfindung darauf
hinweist, dass das Nachrichtenelement verändert wurde.
-
7 ist
ein Ausdruck einer Webseite, in der das ursprüngliche, nicht veränderte Nachrichtenelement
gemäß vorliegender
Erfindung gezeigt wird.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
PKI-Verfahren
sind Fachleuten gut bekannt, und sie hängen im Allgemeinen von dem
Umstand ab, dass bestimmte mathematische Berechnungen, die in einer
Richtung leicht auszuführen
sind, in der anderen Richtung außerordentlich schwer auszuführen sind.
Die vorliegende Erfindung basiert auf dem Algorithmus, der von Ron
Rivest, Adi Shamir und Len Adelman am Massachusetts Institute of
Technology entwickelt wurde, der unter Fachleuten als der RSA-Algorithmus
bekannt ist, welcher auf dem Umstand beruht, dass es verhältnismäßig einfach
sein kann, große
Primzahlen miteinander zu multiplizieren, es aber nahezu unmöglich ist,
das entstehende Produkt in Faktoren zu zerlegen.
-
PKI-Verfahren,
wie z. B. der RSA-Algorithmus, erlauben die Erzeugung von Schlüsselpaaren, die
verwendet werden können,
Daten zu verschlüsseln
oder Daten digital zu signieren. Einer der Schlüssel wird als ein "öffentlicher Schlüssel" und der andere als
ein "privater Schlüssel" bezeichnet. Der private
Schlüssel
wird geheim gehalten, während
der öffentliche
Schlüssel
frei verteilt werden kann. Die Daten, die unter Verwendung des öffentlichen Schlüssels verschlüsselt wurden,
können
nur unter Verwendung des privaten Schlüssels entschlüsselt werden.
Dies ergibt ein Verfahren, durch das Daten über öffentliche Netze geheim übertragen
und nur durch den Besitzer des privaten Schlüssels entschlüsselt werden
können.
Umgekehrt können
Daten, die unter Verwendung des privaten Schlüssels verschlüsselt wurden,
durch jeden entschlüsselt
werden, der über
den öffentlichen
Schlüssel
verfügt,
aber entscheidend ist, dass beliebige Daten, die durch den öffentlichen
Schlüssel
entschlüsselt
werden können, nur
unter Verwendung des privaten Schlüssels verschlüsselt worden
sein können.
Das liefert ein Verfahren, durch das der Besitzer des privaten Schlüssels Daten
für die Übertragung über ein öffentliches Netzwerk
derart digital signieren kann, dass jeder, der über den öffent lichen Schlüssel verfügt, überprüfen kann,
dass die Daten von dem Besitzer des privaten Schlüssels stammen
und dass die Daten seit der Verschlüsselung nicht verändert worden
sind. Für eine
ausführliche
Erläuterung
der PKI-Verfahren und des RSA-Algorithmus siehe insbesondere das
Kapitel 9 der "Internet
Cryptography" von
Richard E. Smith, 1997, herausgegeben von Addison Wesley Longman,
Inc.. Die Computerprogramme der vorliegenden Erfindung wurden entwickelt
unter Verwendung der Anwenderprogramm-Schnittstellen (API), welche
die PKI bereitstellen, und zwar durch das Entwicklerwerkzeug Baltimore-PKI-PlusTM (siehe http://www.baltimore.com).
-
Erste Ausführungsform
-
2 ist
eine Prinzipdarstellung einer ersten Ausführungsform der vorliegenden
Erfindung. Ein Nachrichtenanbieter 400 wendet sich zuerst
an einen Zertifizierungsstelle 200, um mit einem privaten Schlüssel 402 und
einem digitalen Zertifikat 404 ausgestattet zu werden,
welches den Namen 406 des Nachrichtenanbieters 400,
den öffentlichen
Schlüssel 408,
der zu dem privaten Schlüssel 402 gehört, und
die digitale Signatur 410 der Zertifizierungsstelle 200 enthält, wie
oben beschrieben wurde. Der Nachrichtenanbieter 400 erzeugt
ein einfaches Textnachrichtenelement, das auf einem (nicht dargestellten) Nachrichtenserver
gespeichert ist, und stellt es dar auf einer durch einen Browser
lesbaren Seite mit einem Format, wie z. B. Hypertext-Auszeichnungssprache
(HTML – hyper-text
mark-up language) oder Erweiterbare Auszeichnungssprache (XML – extensible
mark-up language), um ein ausgezeichnetes Nachrichtenelement 412 auszubilden.
Der Nachrichtenanbieter 400 verschlüsselt das Nachrichtenelement
unter Verwendung seines privaten Schlüssels 402, so dass
eine verschlüsselte
Version 414 des Nachrichtenelements erzeugt wird.
-
Das
unverschlüsselte
Nachrichtenelement 412, die ver schlüsselte Version 414 und
das Zertifikat 404 werden dann zusammengebündelt, um
ein Paket 416 auszubilden, das einem Webserver 418 für den Zugriff
durch die Empfangsparteien zugeschickt wird. Dem Webserver 418 wird
auch ein Überprüfungsprogramm 420 zugeschickt,
dessen Funktion nachstehend ausführlich
beschrieben wird. Eine Empfangspartei 500, die auf das
Nachrichtenelement 412 zuzugreifen wünscht, lädt als erstes das Paket 416 vom
Webserver 418 herunter. Wenn er/sie wünscht, kann die Empfangspartei
dann von dem unverschlüsselten
Nachrichtenelement ohne irgendeine Überprüfung Gebrauch machen. Die Empfangspartei 500 kann
jedoch eine Überprüfung wünschen, dass
das Nachrichtenelement 412 durch den Nachrichtenanbieter 400 erzeugt
und dass es nicht verändert
wurde. Um das auszuführen,
lädt die
Empfangspartei das Überprüfungsprogramm 420 vom
Webserver 418 herunter und speichert es lokal, wenn er/sie das
nicht bereits mit Bezug auf ein Nachrichtenelement getan hat, auf
das zuvor zugegriffen wurde.
-
Die
Empfangspartei 500 lädt
unter Verwendung einer Browseranwendung, wie z. B. Netscape NavigatorTM oder Microsoft Internet ExplorerTM, das Paket 416 herunter, welches
das Nachrichtenelement 412 enthält. Die vom Browser lesbare
Seite enthält
einen Link oder andere geeignete Mittel für das Herunterladen und Starten
des Überprüfungsprogramms 420.
Vorzugsweise nimmt dieses die Gestalt eines Teils der vom Browser
lesbaren Seite an, welche den Text "zur Überprüfung hier
klicken" enthält, der
dann, wenn er von der Empfangspartei angeklickt wird, einen ausführbaren
Code aktiviert, welcher in der vom Browser lesbaren Seite eingebettet
ist und welcher als erstes überprüft, ob das Überprüfungsprogramm 420 bereits
geladen wurde. Ist das erfolgt, dann wird die Ausführung des Überprüfungsprogramms 420 unverzüglich gestartet.
Wenn nicht, dann wird das Überprüfungsprogramm 420 als
erstes vor dem Start der Ausführung
vom Webserver 418 heruntergeladen. Der ausführbare Code,
welcher in der vom Browser lesbaren Seite einge bettet ist, ist unter
Verwendung eines JavaTM-Applets oder von
JavaScriptTM implementiert. 3 zeigt
eine Webseite 700, wie sie unter Verwendung eines Browsers
angezeigt wird, welche ein Nachrichtenelement 702 und einen
Link 704 für
das Herunterladen und/oder Starten des Überprüfungsprogramms 420 enthält.
-
Vorzugsweise
nimmt das Überprüfungsprogramm 420 die
Gestalt eines Plug-in an, der mit dem Browser der Empfangspartei
zusammenarbeitet. Mit dem Microsoft Internet ExplorerTM wird
das Plug-in-Überprüfungsprogramm 420 als
eine ActiveXTM-Steuerung oder -Komponente
ausgeführt.
Das Überprüfungsprogramm
ist lokal zum Browser der Empfangspartei gespeichert und braucht
im Allgemeinen nur einmal heruntergeladen zu werden, d. h., wenn
der Benutzer der Empfangspartei das erste Mal die Überprüfung des
Nachrichtenelements 412 anfordert. Vorzugsweise wird das Überprüfungsprogramm 420 selbst
auf eine überprüfbare Weise
unter Verwendung von Digitalsignaturverfahren für die Verteilung von Programmcode,
wie z. B. Microsoft AuthenticodeTM, heruntergeladen,
wie oben mit Bezugnahme auf 1 beschrieben
wurde.
-
Das Überprüfungsprogramm 420 ist
von dem Nachrichtenelement 412 und dem Paket 416 getrennt,
und es wird ferner unabhängig
heruntergeladen. Das erfolgt deshalb, weil eine dritte Partei bei
einem Versuch, sich als der Nachrichtenanbieter 400 auszugeben,
eine von einem Browser lesbare Seite erzeugen kann, welche ihr eigenes
Nachrichtenelement zusammen mit einem gefälschten Überprüfungselement enthält, was
den falschen Eindruck vermittelt, dass das Nachrichtenelement von
dem vertrauenswürdigen
Nachrichtenanbieter stammt und dass es nicht verändert worden ist. Jedoch verbleibt
selbst dann, wenn das Überprüfungsprogramm 420 unabhängig vom
Paket 416 heruntergeladen wurde, die Möglichkeit, dass eine dritte
Partei, welche sich als der Nachrichtenanbieter 400 ausgibt, eine
für die
Empfangspartei 500 verfügbare,
vom Browser lesbare Seite herstellt, welche einen gefälschten Überprüfungslink
enthält,
welcher dem Link des Nachrichtenanbieters für den Start oder das Herunterladen
des Überprüfungsprogrammes 420 ähnelt. Die
dritte Partei kann Vorkehrungen für den gefälschten Link getroffen haben,
um eine falsche Überprüfung des
Nachrichtenelements zu liefern. Zum Beispiel kann der gefälschte Link
die Ausführung
eines eingebetteten JavaTM-Applets oder
von JavaScriptTM veranlassen, was den Ablauf
des Überprüfungsprogramms 420 vortäuscht, aber
offensichtlich keine echte Überprüfung ausführt und
nicht ausführen
kann.
-
Um
diese Art von Aktivität
zu verhindern, durch welche die Empfangsparteien betrügerisch
in dem Glauben bestärkt
werden, dass sie echte Nachrichten von einem vertrauenswürdigen Nachrichtenanbieter
erhalten haben, wird eine zusätzliche
Sicherheitsstufe bereitgestellt. Die zusätzliche Sicherheitsstufe wird
bereitgestellt, indem die Empfangspartei 500 beim Anfordern
des Überprüfungsprogramms 420,
bevor es zum ersten Mal zur Überprüfung des
Nachrichtenelements verwendet wird, aufgefordert wird, ein Gemeinschaftsgeheimnis 502 einzugeben.
Das Gemeinschaftsgeheimnis kann eine beliebige Art einer Information,
Datengröße oder
eines Codes sein, welche vom Benutzer der Empfangspartei eingegeben
und lokal in der Client-Vorrichtung, vorzugsweise in einem verschlüsselten
Format, gespeichert wird. Es ist in dem Sinne ein Gemeinschaftsgeheimnis,
dass es von der Empfangspartei und dem Überprüfungsprogramm geteilt wird und
geheim ist. Das Überprüfungsprogramm 420 zeigt
das Gemeinschaftsgeheimnis 502 der Empfangspartei bei der Überprüfung des
Nachrichtenelements an, um zu beweisen, dass es das originale Überprüfungsprogramm
ist und kein gefälschter
Link in einer Seite, die durch eine dritte Partei zur Verfügung gestellt
wurde. Ein gefälschter
Link in einer Seite, die durch eine dritte Partei geliefert wurde,
kann eine Empfangspartei nicht dahingehend täuschen, dass er das originale Überprüfungsprogramm
ist, da er das Gemeinschaftsgeheimnis 502 nicht kennt oder keinen
Zugriff darauf hat. Selbst wenn die dritte Partei davon unterrichtet
ist, das Gemeinschaftsgeheimnisse verwendet werden, wird der gefälschte Link, wenn
er als ein JavaTM-Applets oder als JavaScriptTM implementiert ist, im Allgemeinen keinen
Zugriff auf die Client-Vorrichtung haben, wo das Gemeinschaftsgeheimnis 502 gespeichert
ist. Auf alle Fälle wird
sie nicht den Schlüssel
haben, der zur Entschlüsselung
des verschlüsselten
Gemeinschaftsgeheimnisses nötig
ist.
-
Der
Vorgang zum Überprüfen der
Nachrichtengröße 412 unter
Verwendung des Überprüfungsprogramms
wird in dieser Beschreibung weiter unten ausführlich dargestellt.
-
Zweite Ausführungsform
-
Gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung, die eine Variante der oben beschriebenen
ersten Ausführungsform
ist, enthält das
Paket 416 ein oder mehrere Zertifikate (nicht dargestellt)
zusätzlich
zum Zertifikat 404. Diese zusätzlichen Zertifikate sind Teil
einer Zertifikathierarchie, in der die Zertifizierungsstelle 200 in
der obersten Ebene liegt und den öffentlichen Hauptschlüssel, d.
h. den öffentlichen
Schlüssel 204,
bereitstellt, und das Zertifikat 404 in der untersten Ebene
liegt und den für die Überprüfung nötigen öffentlichen
Schlüssel,
d. h. den öffentlichen
Schlüssel 408,
liefert. Der öffentliche Schlüssel 204 wird
vom Überprüfungsprogramm 420 verwendet,
um ein zusätzliches
Zertifikat in einer Ebene niedriger in der Hierarchie hinsichtlich
seiner Gültigkeit
zu prüfen,
wobei dieses Zertifikat selbst einen öffentlichen Schlüssel zur
Gültigkeitsprüfung eines
weiteren Zertifikats enthalten kann, und so weiter die Hierarchie
herab. Das vorletzte Zertifikat enthält den öffentlichen Schlüssel für die Gültigkeitsprüfung des
Zertifikats 404. Wie in der ersten Ausführungsform enthält das Zertifikat 404 den öffentlichen Schlüssel 408,
welcher dem privaten Schlüssel 402 entspricht,
der dem Nachrichtenanbieter 400 gehört. Nochmals wie in der ersten
Ausführungsform
wird das Nachrichtenelement 412 unter Verwendung dieses
privaten Schlüssels
verschlüsselt,
um eine verschlüsselte
Version 414 zu erzeugen, und das Überprüfungsprogramm 420 verwendet
den öffentlichen Schlüssel 408 zum
Entschlüsseln
der verschlüsselten
Version 414, wenn ihre Überprüfung ausgeführt wird.
-
Dritte und vierte Ausführungsform
-
Gemäß der dritten
und vierten Ausführungsform
der vorliegenden Erfindung, welche jeweils Varianten der oben beschriebenen
ersten und zweiten Ausführungsform
sind, ist der Nachrichtenanbieter 400 selbst eine Zertifizierungsstelle
und erzeugt seinen eigenen privaten Schlüssel 402, den öffentlichen Schlüssel 408 und
das Zertifikat 404 zur Verwendung gemäß obiger Beschreibung. Darüber hinaus
besitzt der Nachrichtenanbieter 400 auch den privaten Schlüssel 202,
den er zum Signieren des Zertifikats 404 verwendet, und
den öffentlichen
Schlüssel 204, der
in den Client-Vorrichtungen für
die Gültigkeitsprüfung des
Zertifikats 404 eingerichtet ist.
-
4 ist
ein Flussdiagramm, das den Ablauf darstellt, der durch das Überprüfungsprogramm 420 zum Überprüfen des
im Paket 416 bereitgestellten Nachrichtenelements 412 in Übereinstimmung
mit allen oben beschriebenen Ausführungsformen befolgt wird.
Der Ablauf beginnt im Schritt 600. Im Schritt 602 bestimmt
das Überprüfungsprogramm,
ob die Empfangspartei 500 ein Gemeinschaftsgeheimnis übergeben
hat, das noch gültig
ist. Wenn nicht, dann wird im Schritt 604 bei der Empfangspartei 500 nach
einem Gemeinschaftsgeheimnis gefragt, und das Überprüfungsprogramm geht weiter zum
Schritt 606. Zum Beispiel kann die Empfangspartei als ihr
Gemeinschaftsgeheimnis "The
cat sat an the mat" ein geben.
Vorzugsweise werden vom Überprüfungsprogramm 420 bekannte
Verfahren für
den Umgang mit Passwörtern
verwendet, um die Gemeinschaftsgeheimnisse zu verwalten. In einer
Abwandlung der Ausführungsformen
der vorliegenden Erfindung bleiben die Gemeinschaftsgeheimnisse
für einen
vorgegebenen Zeitraum gültig,
nach welchem von der Empfangspartei ein neues Gemeinschaftsgeheimnis angefordert
wird. In einer anderen Abwandlung bleibt das Gemeinschaftsgeheimnis 502 über die
Lebensdauer des Überprüfungsprogramms 420 hinweg
gültig.
-
Hat
die Empfangspartei 500 ein Gemeinschaftsgeheimnis geliefert,
das noch gültig
ist, dann geht das Überprüfungsprogramm 420 zum
Schritt 606 über,
in dem das Zertifikat in der obersten Ebene der Zertifikathierarchie
unter Verwendung des öffentlichen
Hauptschlüssels,
der im Empfangspartei-Browser eingerichtet ist, geprüft wird.
In der ersten und dritten Ausführungsform
gibt es nur ein Zertifikat, das im Paket 416 bereitgestellt
wird, das ist das Zertifikat 404, und dieses wird somit
das Zertifikat der obersten Ebene sein. Im Schritt 608 prüft das Überprüfungsprogramm,
ob das Zertifikat gültig
ist. Der Vorgang zur Gültigkeitsprüfung des
Zertifikats in der obersten Ebene schließt das Entschlüsseln der
digitalen Signatur des Zertifikats unter Verwendung des öffentlichen
Hauptschlüssels 204 und
den Vergleich der erhaltenen Ergebnisse mit dem Namen und dem öffentlichen
Schlüssel
ein, die im Zertifikat enthalten sind. Passen sie nicht zueinander,
dann geht das Überprüfungsprüfungsprogramm 420 zum
Schritt 610 über,
in dem eine Meldung angezeigt wird, welche darauf hinweist, dass
es wegen eines ungültigen Zertifikats
nicht in der Lage ist, das Nachrichtenelement zu überprüfen. Das Überprüfungsprogramm endet
dann im Schritt 612.
-
Ist
das Zertifikat gültig,
dann geht das Überprüfungsprogramm 420 zum
Schritt 614 über,
wobei es an dieser Stelle bestimmt, ob weitere Zertifikate in dem
Paket 416 bereitge stellt sind. Dies wird entsprechend der
zweiten und vierten Ausführungsform
der vorliegenden Erfindung der Fall sein. Liegen weitere Zertifikate
vor, dann geht das Überprüfungsprogramm
zum Schritt 616 über,
in dem das Zertifikat der nächsten
Ebene nach unten in der Zertifikathierarchie unter Verwendung des öffentlichen
Schlüssels, der
aus dem vorhergehenden Zertifikat erhalten wurde, geprüft wird.
Das Überprüfungsprogramm
geht zum Schritt 608 zurück, um die Gültigkeit
des Zertifikats zu prüfen,
und der Ablauf geht wie oben beschrieben weiter, bis es keine weiteren
Zertifikate zu prüfen
gibt und die Gültigkeit
aller Zertifikate geprüft worden
ist, und an dieser Stelle geht das Überprüfungsprogramm zum Schritt 618 weiter.
-
Im
Schritt 618 entschlüsselt
das Überprüfungsprogramm 420 die
verschlüsselte
Version des im Paket 416 bereitgestellten Nachrichtenelements unter
Verwendung des öffentlichen
Schlüssels 408, der
aus dem Zertifikat der untersten Ebene, d. h. dem Zertifikat 404,
erhalten wurde. Im Schritt 620 prüft das Überprüfungsprogramm, ob die entschlüsselte Version
des Nachrichtenelements zur unverschlüsselten Version des Nachrichteelements
passt. Ist das der Fall, dann zeigt das Überprüfungsprogramm im Schritt 622 eine
Meldung an, mit der bestätigt
wird, dass das Nachrichtenelement überprüft wurde, und es zeigt auch
das Gemeinschaftsgeheimnis 502 an, um der Empfangspartei 500 seine
Identität
zu bestätigen. 5 zeigt
eine Webseite 710, welche das Nachrichtenelement 702 von 3 zusammen
mit der Bestätigung
der Überprüfung und
dem Gemeinschaftsgeheimnis 502 "The cat sat an the mat" 712 umfasst.
Das Überprüfungsprogramm
endet dann im Schritt 624 von 4.
-
Passt
das Nachrichtenelement nicht, dann zeigt das Überprüfungsprogramm im Schritt 626 eine Meldung
an, die darauf hinweist, dass das Nachrichtenelement verändert worden
ist, und es zeigt auch die entschlüsselte Version des Nachrichtenelements an. 6 zeigt
ein Webseite 720, die ein gefälschtes Nachrichtenelement 722 zusammen
mit einer Meldung enthält,
in der darauf hingewiesen wird, dass das ursprüngliche Nachrichtenelement
verändert wurde 724. 7 zeigt
eine Webseite 730, welche die entschlüsselte Version des Nachrichtenelements 702 enthält. Das Überprüfungsprogramm 420 endet dann
im Schritt 624 von 4.
-
In
einer Variante der Ausführungsformen
der vorliegenden Erfindung zeigt das Überprüfungsprogramm 420 im
Schritt 626 das Gemeinschaftsgeheimnis 502 an,
wenn eine Meldung angezeigt wird, in der darauf hingewiesen wird,
dass das Nachrichtenelement verändert
wurde.
-
Fünfte bis achte Ausführungsform
-
Gemäß der fünften bis
achten Ausführungsform
der vorliegenden Erfindung, die jeweils Varianten der oben beschriebenen
ersten bis vierten Ausführungsform
sind, ist in dem Paket 416 keine unverschlüsselte Version
des Nachrichtenelements 412 enthalten.
-
In
diesen vier Ausführungsformen
ist eine Überprüfung durch
die Empfangspartei 500 notwendig, um eine unverschlüsselte Version
des Nachrichtenelements 412 zu erhalten. Somit muss das Überprüfungsprogramm 420 verwendet
werden. Außerdem
führt das Überprüfungsprogramm 420 keinen Abgleich
im Schritt 620 aus, sondern zeigt die entschlüsselte Version
des Nachrichtenelements zusammen mit dem Gemeinschaftsgeheimnis
an und geht dann zum Ende über.
-
Neunte bis zwölfte Ausführungsform
-
Gemäß der neunten
bis zwölften
Ausführungsform
der vorliegenden Erfindung, die jeweils Varianten der oben beschriebenen
ersten bis vierten Ausführungsform
sind, wird das Nachrichtenelement 412 nicht im vollen Umfange
verschlüsselt.
Stattdessen ist die verschlüsselte
Version 414 eine digitale Signatur, welche eine Überprüfung erlaubt,
die aber nicht zum Wiederherstellen des ursprünglichen Nachrichtenelements
verwendet werden kann.
-
In
diesen vier Ausführungsformen
kann eine vollständig
unverschlüsselte
Version des Nachrichtenelements 412 aus der verschlüsselten
Version 414 nicht erhalten werden. Somit führt das Überprüfungsprogramm 420 im
Schritt 618 keine Entschlüsselung aus, sondern prüft die Gültigkeit
des unverschlüsselten
Nachrichtenelements 412 unter Verwendung der verschlüsselten
Version 414. Ist das Nachrichtenelement 412 gültig, dann
wird zusammen mit dem Gemeinschaftsgeheimnis 502 eine Meldung angezeigt,
mit der bestätigt
wird, dass das Nachrichtenelement gültig ist. Wenn nicht, dann
wird eine Nachricht angezeigt, die darauf hinweist, dass das Nachrichtenelement
verändert
wurde, und das Überprüfungsprogramm 420 endet.
-
In
dieser Beschreibung bezeichnen der Begriff "Inhalt" und verwandte Begriffe Informationen, Daten
oder Code jeder beliebigen Art, die unter Verwendung einer Digitaltechnik übertragbar
sind. Der Begriff "Überprüfung" und verwandte Begriffe
bezeichnen den Vorgang der Überprüfung der
Identität eines
Anbieters von Inhalten oder der Überprüfung, dass
der bereitgestellte Inhalt nicht verändert worden ist, seit er durch
den Inhaltsanbieter digital signiert wurde. Der Begriff "digitales Signieren" und verwandte Begriffe
bezeichnen den Vorgang des Anpassens oder Hinzufügens von Daten an den Inhalt,
so dass die Identität
eines Anbieters von Inhalten und die Unversehrtheit des Inhaltes
selbst überprüft werden kann.
Der Begriff "Internet-Client-Vorrichtung" oder "Client-Vorrichtung" und verwandte Begriffe
bezeichnen einen Computer oder andere Digitalgeräte, die zum Zugriff auf oder
zum Empfang von Inhalt geeignet sind, der über ein öffentliches Datennetzwerk übertragen
wird. Die Begriffe "Internet-Server", "Web-Server", "Server" und verwandte Begriffe
bezeichnen einen Computer oder andere Digitalgeräte, die zum Übermitteln
von Inhalt oder zum Verfügbarmachen
von Inhalt für
eine Übermittlung über ein öffentliches
Datennetzwerk in der Lage sind. Ferner bezeichnen der Begriff "Inhaltanbieter" und verwandte Begriffe
eine Partei, die Inhalt übermittelt
oder Inhalt für
eine Übermittlung über ein öffentliches
Datennetzwerk verfügbar
macht.
-
Es
wird anzuerkennen sein, dass die oben beschriebenen Ausführungen
nicht als Einschränkungen
gedacht sind. Modifikationen und Varianten können verwendet werden, ohne
den Gültigkeitsbereich
der vorliegenden Erfindung, der in den beigefügten Ansprüchen festgelegt ist, zu verlassen.