-
Diese
Erfindung bezieht sich auf die Zertifizierung und die Verifizierung
der Integrität.
Insbesondere bezieht sich diese Erfindung auf die Zertifizierung
und die Verifizierung der Integrität innerhalb von einer Content-Konsum-Umgebung.
-
Eines
der wichtigsten Probleme, die eine weite Verbreitung der digitalen
Dokumente über
den elektronischen Handel behindern, ist das derzeitige Fehlen von
verfügbaren
Schutzmechanismen für
die geistigen Eigentumsrechte der Content-Besitzer und -Provider
während
der Verteilung und des Gebrauchs dieser digitalen Dokumente. Versuche,
dieses Problem zu lösen,
sind unter dem Namen Verwaltung der Rechte an geistigem Eigentum
(Intellectual Property Rights Management; IPRM), Verwaltung der
Rechte an digitalem Eigentum (Digital Property Rights Management;
DPRM), Verwaltung des geistigen Eigentums (Intellectual Property
Management; IPM), Verwaltung der Digital-Rechte (Digital Rights
Management; DRM), Verwaltung der Rechte (Rights Management; RM)
und Verwaltung des elektronischen Urheberrechts (Electronic Copyright
Management; ECM) bekannt.
-
Informationsdienste
wünschen
oft, dass ihre Angebotsinhalte über
zertifizierte Anwendungen und Systeme bezogen werden sollen, die
eine gewünschte
Eigenart und/oder gewollte Verhaltensweisen besitzen. Die direkte
Anwendung einer Infrastruktur mit öffentlichen Schlüsseln (PKI)
macht es möglich,
dass Anwendungs- und Systemanbieter ihre eigenen Produkte zertifizieren
können
und Informationsdienste die Integrität der Anwendungen und Systeme,
die für den
Konsum der Angebotsinhalte verwendet werden, verifizieren können.
-
Jedoch
erzeugt die direkte Anwendung des PKI eine N-zu-N-Beziehung zwischen
Händlern
und Providern. Diese Art von Beziehung passt nicht gut zusammen,
und deshalb sind die Verwaltung der Beziehungen und die Durchführung einer
effizienten Verifizierung der Integrität in Echtzeit nur sehr schwer, wenn
nicht gar unmöglich,
zu erreichen.
-
Die
Informationsdienste wünschen
oft, dass ihre Angebotsinhalte über
zertifizierte Anwendungen und Systeme bezogen werden sollen, die
gewünschte
Eigenschaften und gewollte Verhaltensweisen besitzen. Durch die
Steuerung dieser Aspekte der -Konsum-Umgebung kann der Informationsdienst
zum Beispiel die Anwendung einschränken, d.h., das Kopieren, das
Drucken, die Einbettung, die Weiterleitung oder ähnliches.
-
Zum
Beispiel könnte
ein Informationsdienst seine Contents gegen den Missbrauch schützen, indem
er fordert, dass das System, das seinen Content nutzt, eine bestimmte
Stufe der Sicherheit und der Leistungsfähigkeit zur Verwaltung von
Rechten aufweist. Ein Informationsdienst könnte seine Contents auch dagegen
schützen
wollen, dass keine „fremde" Anwendung, d.h.
ein Debugger-, Virus- oder Abhörprogramm
oder Ähnliches,
mit der Content-Konsum-Applikation auf dem Anwendersystem interagiert
und dabei den Content oder andere sensible Informationen mit Beschlag
belegt oder sonst wie „stehlen" kann.
-
Um
sicherzustellen, dass bestimmte Programme gewünschte Eigenschaften und Verhaltensweisen
besitzen, ist erforderlich, dass die Verifizierung aller Anwendungen
und Systemkomponenten, die für
den Konsum des Contents notwendig sind, durch eine Verifizierungs-Applikation
bestätigt
wird.
-
US-A-6
006 332 legt ein System zur Rechteverwaltung für digitale Medien offen, mit
dem der Zugriff auf digitalisierte Daten geregelt wird. Das geistige
Eigentum, das in dem System zur Rechteverwaltung A geregelt ist,
wird an einen Anwender auf der Basis der Rechte des im System zur
Rechteverwaltung registrierten Anwenders ausgegeben. Zum Zeitpunkt,
an dem ein Anwender eine Anforderung auslöst, werden dessen Identifikationsinformationen
und andere Charakteristiken seines Gebrauchs im Genehmigungsverwaltungsprogramm 18a beurteilt.
Davor geschaltet ist ein Kerberos-System 64, das die Benutzer-ID
und das Passwort überprüft. Das
erlaubt es, jeden Anwender zu authentifizieren und ihm den Zugang
in das System zur Rechteverwaltung zu gestatten. Ein Browser wird
an den Kunden übertragen. Vor
der Anwendung wird eine Authentifizierungsprozedur zwischen der
Startanwendung und dem Rechteverwaltungs-Server ausgeführt, um
den Browser zu authentifizieren. Jede Instanz des Browsers ist deshalb
mit einer privaten.ID und einem Passwort hinterlegt, die beide vom
Anwender eingegeben werden müssen.
-
WO
98 43426 A legt ein System zur TV-Ausstrahlung und zum Radioempfang
und ein Zugangsbedingungssystem dazu offen. Dieses digitale Satelliten-TV-System
sendet Titelverwaltungsnachrichten an einen individuellen Anwender,
d.h. an einen Teilnehmer. Die Autorisierung hängt von einem Nutzerprofil
und von der Identifikation des entsprechenden Teilnehmers oder Anrufers
ab, der einen Anruf für eine
Bestellung für
ein bestimmtes Produkt absetzt.
-
WO
96 27155 A legt Systeme und Verfahren für ein sicheres Transaktionsmanagement
und für den
elektronischen Rechteschutz offen. Darin werden Techniken zur Anwenderauthentifizierung
beschrieben, mit denen die Bereitstellung von asymmetrisch verschlüsselten
Daten gestartet wird, wobei ein privater Kennsatz und eine private
Struktur der Objekte verwendet werden. Diese asymmetrische Datenverschlüsselung
basiert auf den Passwörtern,
die von einem Anwender eingegeben werden.
-
Es
ist das Ziel der vorliegenden Erfindung, Verfahren und Systeme bereitzustellen,
die einem Informationsdienst oder Ähnlichem erlauben, den Zugang
zu Dateninhalten nachweisbar zu steuern.
-
Dieses
Ziel wird mit dem Inhalt der unabhängigen Ansprüche erreicht.
-
Bevorzugte
Ausführungsformen
werden durch den Inhalt der Unteransprüche definiert.
-
Die
Erfindung beschreibt Systeme und Verfahren, die Zertifizierungs-
und Verifizierungsdienste in Content-Konsum-Umgebungen bereitstellen.
In diesem System wird eine Integritätszertifizierungs- und Verifizierungseinrichtung,
die diese Dienste bietet, zwischen einem Informationsdienst und
einem Content-Konsum-System/-Anwendungsdienst
eingeführt.
Diese Zertifizierungseinrichtung registriert einzelne Anwendungen
und/oder Systeme ihrer jeweiligen Anbieter und zertifiziert den
Informationsdiensten gegenüber
die Integrität
dieser Anwendungen und/oder Systeme nach einer vorher festlegten
Auswahl. Durch die Verwendung dieses Dienstes kann ein Informationsdienst
einer Integritätszertifizierungs- und
Verifizierungseinrichtung „vertrauen". Aufbauend auf diesem
Vertrauen erstellt der Informationsdienst ein Profil mit einem Satz
von Anwendungen und Systemen, die für den Zugriff auf die angebotenen
Inhalte zuge lassen sind, und verifiziert auf dem/den Anwendersystem/en,
dass der Satz von Anwendungen und Systemen beim Anwender authentisch
ist.
-
Insbesondere
stellen die Systeme und Verfahren dieser Erfindung Integritätszertifizierungs-
und Verifizierungsdienste für
die Integrität
eines Angebots, d.h. eines Dokuments in einer Content-Konsum-Umgebung
zur Verfügung.
In diesem System wird eine Integritätszertifizierungs- und Verifizierungseinrichtung,
die diese Dienste bietet, zwischen einem Informationsdienst und
Anbietern von Content-Konsum-Systemen und Anwendungen, die zum Beispiel
Personalcomputer, Handheld-Computer, PDAs, Multimedia-Anzeigegeräte, DVD-Spieler,
verteiltes netzwerkfähiges
Telefon und Anwendungen wie Textverarbeitungssysteme, Dokumentenbetrachter,
Multimedia-Wiedergabeprogramme, oder Ähnliches vertreiben, eingeführt. Diese
Integritätszertifizierungs-
und Verifizierungseinrichtung registriert einzelne Anwendungen und/oder
Systeme der Anbieter von Content-Konsum-Systemen und Anwendungen,
und zertifiziert den Informationsdiensten gegenüber Gruppen dieser Anwendungen
und Systeme. Durch die Anwendung dieses Dienstes kann ein Informationsdienst
selbst auswählen
oder es der Integritätszertifizierungs-
und Verifizierungseinrichtung überlassen,
ein Profil eines Satzes von Anwendungen und Systemen, die für den Zugriff
auf die angebotenen Inhalte zugelassen sind, zu erzeugen und auf
einem Nutzersystem zu verifizieren, dass der Satz von Anwendungen
und Systemen auf diesem Nutzersystem authentisch ist. Auf diese
Weise kann der Umfang des Zugangs zu einem oder die Steuerung über einen
angeforderten oder vorgeschlagenen Angebotsinhalt auszuführen werden.
-
Ein
Dokument – als
der Begriff, der hier benützt
werden soll – ist
jede beliebige Informationseinheit, die der Verteilung oder Übertragung
unterliegt, einschließlich,
aber nicht darauf beschränkt,
Korrespondenz, Bücher,
Illustrierte, Zeitschriften, Zeitungen, andere Druckerzeugnisse,
Software, ein Plug-in, Fotografien und anderer Bilder, Audio- und Video-Clips
und anderer multimedialer Präsentationen.
Ein Dokument kann in gedruckter Form auf Papier, als digitale Daten
auf einem Speichermedium oder auf jeder anderen bekannten oder noch
zu entwickelnden Vielzahl von Medien oder Software vorliegen, einschließlich zum
Beispiel der Compact Disks (CDs), digitalen Video-Disks (DVD), Laser-Disks, magnetischer
und opto-magnetischer Medien und Ähnlichen.
-
Besonders
ein Informationsdienst wie etwa ein Herausgeber oder Vertriebshändler von
Schriftgut, löst
eine Anfrage nach einem Integritätsprofil aus.
Diese Anfrage nach dem Integritätsprofil
wird an die Integritätszertifizierungs-
und Verifizierungseinrichtung weitergeleitet. Die Integritätszertifizierungs- und
Verifizierungseinrichtung kann, wenn für die angeforderten Anwendungen
und Systemkomponenten noch kein Integritätsprofil existiert, zum Beispiel
bei einem Anbieter von Content-Konsum-Systemen und Anwendungen anfragen,
der zum Beispiel den Anwendern verschiedene Systemkomponenten und/oder
Anwendungen geliefert hat. Der Anbieter von Content-Konsum-Systemen
und Anwendungen gibt Authentifizierungsinformationen über die
betreffenden Anwenderprogramme oder Systemkomponenten an die Integritätszertifizierungs-
und Verifizierungseinrichtung zurück. Die Authentifizierungsinformationen
erlauben einen Vergleich oder eine Integritätsverifizierung zwischen einer
Anwendung oder Systemkomponente auf dem System des Anwenders und
der Original-Software oder -Systemkomponente, wie sie von einem
Anbieter von Content-Konsum-Systemen und Anwendungen vertrieben
wird.
-
Die
Authentifizierungsinformationen für Systemanwendungen und Komponenten
werden in einer Komponenten-Datenbank gespeichert. Die Profile für Informationsdienste
werden in einer Profil-Datenbank gespeichert. Alternativ hierzu
kann ein Anbieter von Content-Konsum-Systemen und Anwendungen eine
Datenbank mit Authentifizierungsinformationen unterhalten, die direkt
an die entsprechende Datenbank der Integritätszertifizierungs- und Verifizierungseinrichtung
weitergeleitet werden kann, ohne dass der Bedarf zu einer Neubestimmung
des Integritätsprofils
für die
Integritätszertifizierungs-
und Verifizierungseinrichtung besteht. Eine Identifikation des Integritätsprofils
entsprechend dem bestimmten Integritätsprofil wird dann an den Informationsdienst
zurückgegeben.
-
Ein
Informationsdienst wie etwa ein Verlag bietet einem Benutzer zum
Beispiel geschützte
Inhalte an. Der Informationsdienst leitet eine geschützte Version
des digitalen Contents an den Anwender weiter, der zum Beispiel
eine Lizenzvereinbarung und eine Integritätsprofil-Identifikation enthält. Die
Integritätsprofil-Identifikation
umfasst zum Beispiel auch die Anwendungen und Systemkomponenten,
die in Verbindung mit dem geschützten
Inhalt verwendet werden dürfen,
und die Identifikation des Integritätsprofils für diese Systeme/Anwendungen.
-
Mit
den Authentifizierungsinformationen vom Anbieter von Content-Konsum-Systemen
und Anwendungen leitet die Integritätszertifizierungs- und Verifizierungseinrichtung
zum Beispiel auf Anforderung aus dem Anwendersystem ein Integritätsprofil an
das Anwendersystem weiter. Mit diesem Integritätsprofil kann eine Integritätsverifizierung
des Anwendersystems durchgeführt
werden. Wenn festgestellt wird, dass die Komponenten/Programme des Anwendersystems
authentisch sind, kann durch die Anwenderprogramme und Systeme des
Nutzers auf die digitalen Inhalte, die vom Informationsdienst angeboten
werden, in Übereinstimmung
mit zum Beispiel den zusätzlichen
Profilinformationen zugegriffen werden.
-
Man
muss sich jedoch dessen bewusst sein, dass die Anforderung für eine Integritätszertifizierung nicht
vom Informationsdienst herstammen muss. Im Gegenteil kann die Zertifizierungsanfrage
zum Beispiel von einer Software-Anwendung initiiert werden, die
in die Profilidentifikationsinformationen, die mit dem geschützten Inhalt
vom Informationsdienst an das Anwendersystem geleitet wird, eingebettet
ist.
-
Alternativ
kann der Informationsdienst auch als Integritätsverifizierungs- und Zertifizierungseinrichtung
dienen. In diesem Fall führt
der Informationsdienst den Integritätszertifizierungs- und Verifizierungsdienst
selbst durch, indem er die geeigneten Authentifizierungsinformationen
sammelt und ein Integritätsprofil
für den
Eigengebrauch des Informationsdienstes bestimmt.
-
Zusätzlich kann
der Anbieter von Content-Konsum-Systemen und Anwendungen ebenso als
Integritätszertifizierungs-
und Verifizierungseinrichtung auftreten. In diesem Fall stellt der
Anbieter von Content-Konsum-Systemen und Anwendungen zum Beispiel
auch ein Integritätsprofil
zusammen mit den zugehörigen
Anwenderprogrammen und/oder Systemkomponenten bereit.
-
Diese
und weitere Funktionen und Vorzüge dieser
Erfindung werden in den folgenden detaillierten Beschreibungen der
bevorzugten Ausführungsformen
dargestellt oder werden aus ihnen ersichtlich.
-
Die
bevorzugten Ausführungsformen
der Erfindung werden mit Bezug zu den folgenden Abbildungen detailliert
beschrieben, wobei gilt:
-
1 ist
eine Funktionsübersicht,
die eine erste beispielhafte Ausführungsform des Integritätszertifizierungs-
und Verifizierungssystems nach dieser Erfindung darstellt;
-
2 ist
ein Funktionsdiagramm, das eine erste beispielhafte Ausführungsform
des Integritätszertifizierungs-
und Verifizierungssystems nach dieser Erfindung darstellt;
-
3 ist
ein Arbeitsflussplan eines beispielhaften Integritätszertifizierungs-
und Verifizierungssystems nach dieser Erfindung;
-
4 stellt
eine beispielhafte Struktur eines Integritätsprofils nach dieser Erfindung
dar;
-
5 stellt
eine beispielhafte Ausstattungsliste nach dieser Erfindung dar;
-
6 stellt
eine beispielhafte Ausstattungsliste nach dieser Erfindung dar;
-
7 zeigt
einen Ablaufplan einer beispielhaften Aufrufliste nach dieser Erfindung;
-
8 zeigt
einen beispielhaften Ablaufplan einer Aufrufliste nach dieser Erfindung;
-
9 zeigt
ein beispielhaftes Verfahren zur Manipulation einer Aufrufliste
nach dieser Erfindung;
-
10 zeigt
ein beispielhaftes Verfahren zur Verhinderung von dynamischer Verfälschung
durch die Nutzung von Debug-Programmen nach dieser Erfindung;
-
11 zeigt
ein Flussdiagramm, das eine beispielhafte Ausführungsform eines Verfahrens
der Integritätszertifizierungs-
und Verifizierung nach dieser Erfindung umreißt;
-
12 zeigt
ein Flussdiagramm, das eine beispielhafte Ausführungsform eines Verfahrens
zur Registrierung von Anwenderprogrammen und/oder Systemkomponenten
nach dieser Erfindung umreißt;
-
13 zeigt
ein Flussdiagramm, das eine beispielhafte Ausführungsform eines Verfahrens
zur Bestimmung eines Integritätsprofils
nach dieser Erfindung umreißt;
und
-
14 zeigt
ein Flussdiagramm, das eine beispielhafte Ausführungsform eines Verfahrens
zur Verifizierung der Integrität
einer Echtheitsbestätigung der
Integrität
nach dieser Erfindung umreißt.
-
Die
Systeme und Verfahren dieser Erfindung stellen Zertifizierungs-
und Verifizierungsdienste bereit, die die Integrität einer
Content-Konsum-Umgebung ermitteln. In diesem System ist eine Integritätszertifizierungs-
und Verifizierungseinrichtung zwischen einem oder mehreren Informationsdiensten und
einem oder mehreren Anbietern von Content-Konsum-Systemen und Anwendungen eingefügt. Die
Integritätszertifizierungs-
und Veri-fizierungseinrichtung
erhält
Authentifizierungsinformationen von den Anbietern von Content-Konsum-Systemen
und Anwendungen. Die Authentifzierungsinformationen erlauben einem
Informationsdienst, der Umgebung zu vertrauen, für die der Content bereitgestellt
wird. Auf diese Weise wird – basierend
auf den Authentisierungsinformationen vom Anbieter von Content-Konsum-Systemen
und Anwendungen – ein Integritätsprofil
erstellt. Dieses Profil wird dann an das Anwendersystem weitergeleitet,
um zu bestätigen,
dass der Anwender den digitalen Content, der vom Informationsdienst
bereitgestellt wird, nicht ausgetauscht, geändert oder ihn möglicherweise
in einer nicht autorisierten Weise manipuliert hat.
-
1 illustriert
ein beispielhaftes System zur Durchführung der Integritätszertifizierungs- und Verifizierung.
Im einzelnen umfasst das Integritätszertifizierungs- und Verifizierungssystem 100 eine
Integritätszertifizierungs-
und Verifizierungseinrichtung 200, einen Informationsdienst
und/oder -Händler 300,
ein Anwendersystem 400, einen Anbieter von Content-Konsum-Systemen
und Anwendungen 500, eine Komponenten-Datenbank 260 und
eine Profil-Datenbank 270.
-
In
einer beispielhaften Betriebsumgebung stellt der Anbieter von Content-Konsum-Systemen und Anwendungen 500 für einen
Anwender Anwenderprogramme, Systeme und/oder Software-/Hardware-Komponenten
bereit. Das Anwendersystem 400 ist für den Gebrauch von digitalem
Content wie etwa Dokumenten, die von einem Informationsdienst und/oder
-Händler 300 bereitgestellt
werden, ausgelegt. Um die Integrität des Anwendersystems 400 zu verifizieren,
sammelt und registriert die Integritätszertifizierungs- und Verifizierungseinrichtung 200 Authentifizierungsinformationen über die
einzelnen Anwendungen, Systeme und/oder Software-/Hardware-Komponenten
vom An bieter von Content-Konsum-Systemen und Anwendungen 500.
Aufgrund der Service-Anforderung 20 durch
den Informationsdienst 300 ermittelt und zertifiziert die
Integritätszertifizierungs-
und Verifizierungseinrichtung 200 mit diesen Authentifizierungsinformationen
ein Integritätsprofil
von einer oder mehreren Anwendungen, Systemen und/oder Software-/Hardware-Komponenten. Das
ermittelte Integritätsprofil 50 wird
dann an das Anwendersystem 400 weitergeleitet, sodass die
Integrität
des Anwendersystems 400 bestimmt werden kann.
-
Im
Betrieb stellt ein Informationsdienst oder -Händler 300 für das Anwendersystem 400 einen
digitalen Content wie etwa ein Dokument bereit. Das Anwendersystem 400 umfasst
eine oder mehrere Systemkomponenten wie etwa Hardware-Komponenten
und/oder verschiedene Software-Anwendungsprogramme. Diese Anwendungsprogramme und
Hardware-/Software-Komponenten werden vom Anwender gewöhnlich von
einem oder mehreren Anbietern von Content-Konsum-Systemen und Anwendungen
wie etwa Computerausrüster,
einem Softwarehaus, einem Softwarehändler oder Ähnlichen bezogen. Diese Anwendungsprogramme
und Hardware- und Software-Komponenten
werden dann – wenn
nicht bereits geschehen – vom
Anwender wie jeweils anwendbar assembliert oder installiert, um
so den Anwender in die Lage zu versetzen den Content wie etwa Dokumente
zu gebrauchen.
-
So
könnte
der Anwender, während
er Anwenderprogramme und Hardware/Software der Anwenderumgebung
benützt,
geschützte
Inhalte wie etwa ein Dokument ansehen. So könnte der Anwender 400 beim
Informationsdienst 300 ein oder mehrere Dokumente wie etwa
ein elektronisches Buch, eine Multimedia-Datei, eine Präsentation,
eine Formularvorlage oder Ähnliches
anfordern. Nach dem Empfang dieser Anforderung könnte der Informationsdienst
oder -Händler 300 dann
dem Anwender 400 die angeforderten Inhalte in geschützter Form
mit einer Profilidentifikation 10 bereitstellen. Diese
Profilidentifikation 10 umfasst zum Beispiel Spezifikationen wie
etwa mit welchen Programmen der geschützte Inhalt betrachtet werden
kann, und zum Beispiel den Umfang, in dem der geschützte Inhalt
in dieser bestimmten Software-/Hardware-Umgebung manipuliert werden
kann.
-
Zusätzlich kann
der Informationsdienst 300 eine Service-Anfrage 20 an
eine Integritätszertifizierungs-
und Verifizierungseinrichtung 200 weiterleiten. Die Service-Anfrage 20 umfasst
zum Beispiel eine Liste der Komponenten und/oder Softwareprogramme,
mit denen der Informationsdienst 300 einem Anwendersystem 400 die
Nutzung des vertriebenen geschützten
Contents erlauben will. Die Integritätszertifizierungs- und Verifizierungseinrichtung 200 bestimmt,
ob die in der Service-Anfrage identifizierten Komponenten oder Anwendungen/Software
entsprechende Authentifizierungsinformationen, die in der Komponenten-Datenbank 260 und/oder
der Profil-Datenbank 270 gespeichert sind, besitzen. Wenn die
Integritätszertifizierungs-
und Verifizierungseinrichtung nicht über die Authentifizierungsinformationen,
die in der Service-Anfrage 20 spezifiziert waren, verfügt, kann
die Integritätszertifizierungs-
und Verifizierungseinrichtung 200 bei einem oder mehreren Anbietern
von Content-Konsum-Systemen und Anwendungen 500 Authentifizierungsinformationen über eine
bestimmte Anwendung, System, Hardware-/Software-Komponente oder Ähnliche anfordern. Mit diesen
Authentifizierungsinformationen speichert die Integritätszertifizierungs-
und Verifizierungseinrichtung 200 Informationen, die zu
den Anwendungs- und System-Komponenten in der Komponenten-Datenbank 260 gehören. Alternativ
kann die Integritätszertifizierungs-
und Verifizierungseinrichtung ein Integritätsprofil für eine oder mehrere Anwendungen
entwickeln. Mit diesen Informationen, die die Authentizität von Anwendungen,
Systemen und Systemkomponenten bestätigen, leitet die Integritätszertifizierungs-
und Verifizierungseinrichtung 200 ein Integritätsprofil 50 an
das Anwendersystem 400 weiter. Dieses Integritätsprofil 50 wird
verwendet, um die Authentizität
von Systemen, Systemkomponenten und/oder Anwendungen des Anwendersystems 400 zu
bestätigen.
Wenn ermittelt ist, dass die Systemkomponenten und/oder die Anwendungen
des Anwenders authentisch sind, wird der Schutz vom geschützten Inhalt 10 entfernt,
so dass das Anwendersystem 400 den geschützten Inhalt
betrachten oder entsprechend dem Integritätsprofil anderweitig manipulieren
kann.
-
2 stellt
eine Übersicht
der Komponenten einer Integritätszertifizierungs-
und Verifizierungsumgebung 100 nach einer beispielhaften
Ausführungsform
dieser Erfindung dar. Speziell umfasst die Integritätszertifizierungs-
und Verifizierungsumgebung 100 einen oder mehrere Informationsdienste 300,
ein oder mehrere Anwendersysteme 400, eine oder mehrere
Integritätszertifizierungs-
und Verifizierungseinrichtungen 200 und einen oder mehrere
Anbieter von Content-Konsum-Systemen und Anwendungen 500.
-
Der
Informationsdienst 300 umfasst zum Beispiel ein Steuergerät 310,
ein Speicherteil 320, einen I/O-Controller 330 und
eine Content-Datenbank 340. Es sollte jedoch beachtet werden,
dass der Informationsdienst 300 seine Inhalte auch auf
eine traditionellere Weise vertreiben kann. Zum Beispiel kann der
Informationsdienst eine CD, die Content enthält, verkaufen. Diese CD kann über einen
Postdienst an den Anwender ausgeliefert werden. Im Allgemeinen wird
jede Art des Vertriebs- und Verteilungsprozesses mit den Systemen
und den Verfahren dieser Erfindung gleich gut funktionieren.
-
Die
Integritätszertifizierungs-
und Verifizierungseinrichtung 200 umfasst ein Steuergerät 210, ein
Speicherteil 220, einen I/O-Controller 230, eine digitale
Signatureinrichtung 240, eine Komponentenregistrierungseinrichtung 250,
eine Komponenten-Datenbank 260, eine Profil-Datenbank 270,
eine Profilerzeugungseinrichtung 280, eine Profilverteilungseinrichtung 290 und
eine Profilverifizierungseinrichtung 295. Die Integritätszertifizierungs-
und Verifizierungseinrichtung 200 stellt folgende Dienste
bereit: Komponentenregistrierungsdienst und Integritätsprofildienst.
Der Registrierungsdienst erlaubt die Registrierung von Anwendungen,
Systemen und/oder Software-/Hardware-Komponenten von deren jeweiligen Anbietern
als authentisch mit vorgesehenen Charakteristiken, Zielsetzungen
und/oder Verhaltensweisen.
-
Ein
Integritätsprofildienst
wird den Informationsdiensten für
die Erstellung und Abfrage von Integritätsprofilen bereitgestellt.
Ein Integritätsprofil
ist ein Dokument, das wahlweise digital signiert ist und das verifizierbare
Informationen und einen Satz von registrierten Systemkomponenten
enthält,
die für
die Nutzung der Inhalte von geschützten Dokumenten benötigt werden.
Sobald das Dokument erstellt ist, wird die Identifikation des Integritätsprofils
an den Informationsdienst zurückgemeldet.
Der Informationsdienst wird die Integritätsprofil-Identifikation und wahlweise
eine Nutzerlizenz in die geschützten
Dokumente einbinden. Wenn vom Inhalt der geschützten Dokumente Gebrauch gemacht
wird und dafür notwendig
ist, eine lokale Integritätsverifizierung
des Systems und der Umgebung des Nutzers durchzuführen, kann
das Integritätsprofil
von der Integritätszertifizierungs-
und Verifizierungseinrichtung 200 auf das Anwendersystem
abgerufen werden.
-
Das
Anwendersystem 400 umfasst ein Steuergerät 410,
ein Speicherteil 420, einen I/O-Controller 430, eine Speichereinrichtung 440,
eine Integritätsauthentisierungseinrichtung 450 und
eine Profilspeichereinrichtung 460. Es ist jedoch anzumerken, dass
dieses bei spielhafte Anwendersystem auf dem Modell eines Computers
basiert. Es muss jedoch auch verstanden werden, dass die Komponenten
des Anwendersystems sich in Abhängigkeit
von der Art der beispielsweise verwendeten Inhalte verändern können. Im
Allgemeinen wird jedes Anwendersystem, das Teilbereiche enthält, die
verifiziert werden können,
mit den Systemen und Verfahren dieser Erfindung gleichermaßen gut
zusammenarbeiten können.
-
Der
Anbieter von Content-Konsum-Systemen und Anwendungen 500 umfasst
zum Beispiel ein Steuergerät 510,
ein Speicherteil 520, einen I/O-Controller 530,
eine Registrieranwendungseinrichtung 540, eine Anwendungs-Datenbank 550 und eine
System-Datenbank 560.
Jedoch kann der Anbieter von Content-Konsum-Systemen und Anwendungen
in ähnlicher
Weise wie der Informationsdienst 300 verschieden Formen
besitzen, die von der Art der Systeme und/oder Anwendungen abhängig sind,
die der System-/Anwendungsanbieter vertreibt. Verkauft der Anbieter
von Content-Konsum-Systemen
und Anwendungen 500 zum Beispiel eine spezielle Hardware-Komponente,
so wird der Anbieter von Content-Konsum-Systemen und Anwendungen 500 keine
Anwendungs- und System-Datenbank unterhalten. Alternativ kann der
System-/Gerätekomponentenanbieter
Authentisierungsinformationen, zum Beispiel auf einer Disk, direkt
an die Integritätszertifizierungs-
und Verifizierungseinrichtung 200 senden.
-
Alternativ
kann der Anbieter von Content-Konsum-Systemen und Anwendungen 500 gemeinsame
Anstrengungen mit dem Informationsdienst 300 unternehmen,
um die Bestimmung eines Integritätsprofils
zu erleichtern. Im Allgemeinen kann der Anbieter von Content-Konsum-Systemen
und Anwendungen jede beliebige Einheit sein, die in der Lage ist,
Hardware und Software und die zugehörigen Authentisierungsinformationen
zu liefern.
-
Während in
dieser beispielhaften Ausführungsform
der Anbieter von Content-Konsum-Systemen
und Anwendungen 500 so dargestellt wird, als enthalte er
verschiedene Systemkomponenten, so sollte gesehen werden, dass der
Anbieter von Content-Konsum-Systemen
und Anwendungen 500 zum Beispiel ein Computervertrieb,
ein Softwareentwickler, ein Softwareanbieter, ein Softwareverkäufer oder Ähnliches
sein kann. So ist der Anbieter von Content-Konsum-Systemen und Anwendungen 500 in der
Lage, die Geräte
und/oder Software zu liefern, die die Nutzung der Inhalte, die vom
Informationsdienst 300 angeboten werden, erlauben.
-
Die
verschiedenen Komponenten der Integritätszertifizierungs- und Verifizierungsumgebung 100 sind
zur Kommunikation untereinander über
die Verbindung 5 fähig,
die eine Kabelverbindung oder Funkverbindung oder irgendein anderes
bekanntes oder später
entwickeltes Element ist, das in der Lage ist, elektronische Daten
von und zu den verbundenen Elementen zu liefern. Zum Beispiel kann
die Verbindung 5 ein oder mehrere verteilte Netzwerke darstellen,
die wiederum mit einem oder mehreren zusätzlichen Integritätszertifizierungs-
und Verifizierungsumgebungen 100 oder alternativ multiplen
Instanzen von jeglichen einzelnen oder mehreren Informationsdiensten 300,
Anwendersystemen 400, Anbietern von Content-Konsum-Systemen
und Anwendungen 500 und Integritätszertifizierungs- und Verifizierungseinrichtungen 200 verbunden
sein können.
-
In
einer beispielhaften Betriebsumgebung liefert der Anbieter von Content-Konsum-Systemen und Anwendungen 500 Anwendungen,
Software und/oder Hardware an einen Anwender. Diese Anwendungen,
Software und/oder Hardware werden vom Anwender dazu gebraucht, um
Inhalte zu nutzen, zum Beispiel um Dokumente zu betrachten.
-
Der
Informationsdienst 300 liefert zum Beispiel auf Anforderung
des Nutzers, der sich am Anwendersystem 400 befindet, Inhalte
wie etwa ein Dokument an das Anwendersystem 400. Insbesondere kann
eine Anforderung vom Informationsdienst 300 aus dem Anwendersystem 400 empfangen
werden. Diese Anforderung, die über
den I/O-Controller 330 empfangen
wird, wird vom Steuergerät 310 in
Zusammenarbeit mit dem Speicherteil 320 abgewickelt, um
den angeforderten Inhalt aus der Content-Datenbank 340 abzurufen.
Der Informationsdienst kann zum Beispiel ein Online-Content-Provider,
eine Buchhandlung, ein Softwareanbieter oder jeder andere Anbieter
von Content sein, der einem Nutzer Inhalte wie etwa ein Dokument
anbieten möchte.
-
Nach
dem Empfang einer Content-Anforderung aus dem Anwendersystem 400 gibt
der Informationsdienst 300 an das Anwendersystem den angeforderten
Inhalt und daneben zusätzliche
Informationen über
den geschützten
Inhalt zurück.
Diese zusätzlichen
Informationen können
eine Profilidentifikation enthalten. Alternativ können die
zusätzlichen
Informationen zum Beispiel Informationen enthalten, die das Anwendersystem
beauftra gen, ein Profil und somit eine Integritätsverifizierung vor der Freigabe der
Inhalte anzufordern.
-
Darüber hinaus
können
die zusätzlichen
Informationen identifizieren, welche Systemkomponenten und/oder
Hardware/Software auf der Maschine des Nutzers laufen und/oder verwendet
werden können,
wenn die angeforderten Inhalte betrachtet oder mit ihnen interagiert
werden sollen.
-
So
werden ein oder mehrere angeforderte Inhalte, zusätzliche
Informationen und die Profilidentifikation von dem Anwendersystem 400 über den I/O-Controller 430 empfangen
und auf Anweisung des Steuergeräts 410 in
einem oder mehreren der Speicherteile 420 und Speichergeräte 440 abgespeichert.
-
In
einer beispielhaften Ausführungsform kann
der Informationsdienst 300 eine Dienst-Anforderung 20 wie etwa eine
Anforderung eines Integritätsprofils
von der Integritätszertifizierungs-
und Verifizierungseinrichtung 260 anstoßen. Die Integritätszertifizierungs- und Verifizierungseinrichtung 260 empfängt über den
I/O-Controller 230 und im Zusammenwirken mit dem Steuergerät 210 und
dem Speicherteil 220 die Dienst-Anforderung vom Informationsdienst 300.
-
Wie
bereits früher
diskutiert, umfasst die Integritätszertifizierungs-
und Verifizierungseinrichtung 200 eine Komponenten-Datenbank 260 und
eine Profil-Datenbank 270. Die Komponenten-Datenbank 260 speichert
Authentisierungsinformationen, die zu Systemen und Systemkomponenten
gehören,
die von einem oder mehreren Anbietern von Content-Konsum-Systemen
und Anwendungen vertrieben werden können. In ähnlicher Weise speichert die Profil-Datenbank 270 für einen
oder mehrere Informationsdienste 300 verifizierbare Informationen
und einen Satz der registrierten Systemkomponenten, mit denen die
Inhalte geschützter
Dokumente genutzt werden sollen.
-
So
durchsucht die Integritätszertifizierungs- und
Verifizierungseinrichtung 200 nach dem Empfang der Anforderung
für ein
Integritätsprofil
vom Informationsdienst 300 auf Anweisung des Steuergeräts 210 und
mit Hilfe des Speicherteils 220 die Komponenten-Datenbank 260 und
die Profil-Datenbank 270, um zu ermitteln, ob bereits Authentisie rungsinformationen,
die den Informationen in der Dienst-Anforderung entsprechen, existieren.
-
Die
Registrierung einer bestimmten Software und/oder Hardwarekomponente
wird wie folgt bewerkstelligt. Ein Anbieter von Content-Konsum-Systemen
und Anwendungen 500 kann zum Beispiel mit der Integritätszertifizierungs-
und Verifizierungseinrichtung 200 Verbindung aufnehmen,
um eine Registrierdienstleistung anzufordern, oder andererseits kann
die Integritätszertifizierungs-
und Verifizierungseinrichtung 200 mit dem Anbieter von
Content-Konsum-Systemen und Anwendungen 500 kommunizieren,
um die Authentisierungsinformationen abzusichern. In diesem Beispiel
durchsucht die Registrieranwendungseinrichtung 540 in Zusammenarbeit
mit dem Steuergerät 510,
einem Speicherteil 520, einem I/O-Controller 530 eine
oder mehrere Anwendungs-Datenbanken 550 und die System-Datenbank 560,
um die Informationen über
die einzelne Software und/oder Hardware abzusichern, die zum Beispiel der
Anbieternamen, eine Komponenten-Identifikation, zum Beispiel eine
Seriennummer, eine Versionsnummer, eine Build-Nummer oder Ähnliches,
und alternativ die Anwendung selbst enthalten.
-
In
einer bestimmten Betriebsumgebung zum Beispiel kann die Integritätszertifizierungs- und Verifizierungseinrichtung 200 – anstatt
die Authentisierungsinformationen von einem bestimmten Anbieter von
Content-Konsum-Systemen und Anwendungen 500 einzuholen – tatsächlich eine
bestimmte Anwendung wie etwa ein Softwareprogramm vom Anbieter von
Content-Konsum-Systemen und Anwendungen 500 anfordern.
Auf diese Art und Weise benötigt
die Integritätszertifizierungs-
und Verifizierungseinrichtung 200 keine Authentisierungsinformationen,
da die Integritätszertifizierungs-
und Verifizierungseinrichtung 200 die bestimmte Softwareanwendung
direkt vom Anbieter von Content-Konsum-Systemen und Anwendungen 500 beschaffen
kann.
-
Die
Komponentenregistriereinrichtung 250 verifiziert die Informationen über die
Komponente und berechnet wahlweise zum Beispiel einen Prüfwert, der
zum Beispiel zur authentischen Software- und/oder Hardware-Identifikation
benutzt werden kann. Die Komponentenregistriereinrichtung 250 speichert
dann die Informationen über
die Komponente und zum Beispiel den Prüfwert in der Komponenten-Datenbank 260.
-
Anstatt
die Software- und/oder Hardware-Komponente an die Registrieranwendungseinrichtung 540 zu
senden, kann der Anbieter von Content-Konsum-Systemen und Anwendungen 500 alternativ
eine Verbindung zur Komponentenregistriereinrichtung 250 herstellen,
um eine kleine Softwareanwendung wie etwa ein Registrierungsprogramm herunterzuladen
und diese lokal auszuführen.
Diese Registrieranwendung wird die Ziel-Software-/Hardwarekomponente prüfen und
die Informationen, die zu dieser Software-/Hardwarekomponente gehören, möglicherweise
mit einem Integritätswert
wie etwa einem Prüfwert
zurück
an die Komponentenregistriereinrichtung 250 senden, die
dann die Authentisierungsinformationen über die Komponente in der Komponenten-Datenbank 260 abspeichert.
-
Alternativ
bildet die Profilerzeugungseinrichtung 280 Integritätsprofile
für Software.
Insbesondere kann ein Integritätswert
wie etwa ein Prüfwert
für jede Software-Anwendung
aus der Datenbank abgefragt und gespeichert werden. Ebenso eingeschlossen
in das Profil ist eine optionale Interaktionsbeziehung zwischen
den Komponenten. Diese Beziehung wird dazu verwendet, die Ruf- und
Antwortsequenzen der Komponenten zu kennzeichnen, um eine nicht
geplante Interaktion mit anderen Komponenten zu verhindern. Der
Inhalt des Integritätsprofils
ist dann zum Beispiel digital signiert und die resultierende Signatur wird
an das Integritätsprofil
angehängt.
Jedes Integritätsprofil
ist mit einer eindeutigen Identifikation verbunden.
-
3 zeigt
einen beispielhaften Arbeitsablauf für Eingaben, Ausgaben und Dienste
und Funktionen, die von der Integritätszertifizierungs- und Verifizierungseinrichtung 200 bereitgestellt
werden. Speziell für
den Komponentenregistrierungsdienst wird eine Komponenten-Identifikation
und wahlweise Meta-Informationen über die einzelne Komponente an
die Komponentenregistrierungseinrichtung 250 weitergeleitet.
Die Komponentenregistrierungseinrichtung 250 registriert
die Komponente zum Beispiel mit den vorgesehenen Eigenschaften,
Zwecken und Verhaltensweisen in der Komponenten-Datenbank. Die Komponentenregistrierungseinrichtung 250 gibt dann
die Identifikation der registrierten Komponente zum Beispiel an
den Anbieter von Content-Konsum-Systemen und Anwendungen zurück und macht die
Identifikation zum Beispiel für
den Informationsdienst 300 zugänglich.
-
Für die Profilerzeugung
empfängt
die Profilerzeugungseinrichtung 280 die Identifikationen
von registrierten Komponenten. Die Identifikationen der registrierten
Komponenten werden, falls Informationen über die zugehörigen Komponenten
vorliegen, mit diesen gemeinsam digital signiert und in der Profil-Datenbank
gespeichert. Ein Integritätsprofil
wird an den Anforderer zurückgegeben.
-
In ähnlicher
Weise empfängt
die Profilverteilungseinrichtung 290 eine Integritätsprofilidentifikation.
Die Profil-Datenbank wird dann abgefragt, um zu ermitteln, ob bereits
ein Integritätsprofil
entsprechend der Integritätsprofilidentifikation
vorliegt. Liegt das Integritätsprofil
vor, wird das Integritätsprofil
an den Anforderer zurückgegeben.
Andernfalls kann das Integritätsprofil
mit Hilfe der Profilerzeugungseinrichtung 280 ermittelt
werden.
-
4 stellt
ein beispielhaftes Integritätsprofil dar.
Das beispielhafte Integritätsprofil
kann von der Profilerzeugungseinrichtung 280 erstellt werden.
Um ein Integritätsprofil
für einen
authentisierten Informationsdienst zu bilden, wird eine Anfrage
zur Erstellung eines Integritätsprofils
eingeleitet. Zum Beispiel kann der Provider den Kontakt zur Integritätszertifizierungs-
und Verifizierungseinrichtung 200 aufnehmen und die Erstellung
eines Integritätsprofils
anfordern. Dann sendet der Provider eine Liste mit den Namen von
Software- und/oder Hardware-Komponenten an die Integritätszertifizierungs-
und Verifizierungseinrichtung 200. Die Profilerzeugungseinrichtung 280 ruft
dann die Identifikation wie etwa einen Integritäts- oder Prüfwert für jede der Komponenten aus
der Komponenten-Datenbank 260 ab. Die Profilerzeugungseinrichtung 280 ermittelt
dann ein Integritätsprofil,
das die Authentisierungsinformationen wie etwa Integritäts- oder
Prüfwert
für jede
der Komponenten zusammen mit anderen Informationen wie etwa Integritätsprofilidentifikation,
Versionsnummer, Erstellungsdatum, Änderungsdatum, Anbietername und
wahlweise zum Beispiel Interaktionsbeziehungen zwischen jeder der
Software- und/oder Hardware-Komponenten enthält.
-
Die
Profilerzeugungseinrichtung 280 leitet das ermittelte Integritätsprofil
an die Einheit zur digitalen Signatur 240, die dann den
Inhalt des Profils signieren kann. Die Profilerzeugungseinrichtung 280 speichert
dann das signierte Profil in der Profil-Datenbank 270 und
gibt die Profilidentifikation an den Informationsdienst 300 zurück.
-
Wenn
zum Beispiel eine Nutzerlizenz für
den Inhalt eines geschützten
Dokuments erstellt wird, kann der Informationsdienst 300 wahlweise
die Integritätsprofilidentifikation
in die Nutzerlizenz einschließen.
Auf dem Anwendersystem 400 wird das Integritätsprofil
dazu verwendet, alle Software- und/oder Hardware-Komponenten in
einer Umgebungsaufrufliste zu verifizieren. Das garantiert, dass
die sensible Information nur mit autorisierten Software-/Hardware-Komponenten
oder einer Kombination aus ihnen verwendet werden kann.
-
Die
Profilverteilungseinrichtung 290 nimmt Anfragen nach Einholung
von Integritätsprofilen
an und fragt diese in der Profil-Datenbank 270 ab und gibt
das Integritätsprofil
an den entsprechenden Anforderer zurück.
-
Das
Anwendersystem 400 umfasst eine Integritätsauthentisierungseinrichtung 450.
Die Integritätsauthentisierungseinrichtung 450 läuft zum Beispiel
zu Beginn einer jeder beliebigen Content-Konsum-Anwendung.
-
So
zeigt die 5 eine beispielhafte Umgebungsliste
zur Verifizierung der Systemintegrität auf der Nutzereinrichtung.
Insbesondere enthält
die Nutzerumgebungsliste einen Integritätsauthentifikator und eine
oder mehrere Systemkomponenten.
-
6 zeigt
ein Beispiel einer Umgebungsliste, die einen Integritätsauthentifikator,
ein Plug-In, eine 3D-Ausgabe-Anwendung, ein Betriebssystem, einen
Betriebssystem-Urlader
(OS) und die entsprechende Hardware umfasst.
-
In
einer beispielhaften Betriebsumgebung enthält die Integritätsauthentisierungseinrichtung 450 ihr
eigenes Verschlüsselungs-/Entschlüsselungs-Schlüsselpaar
und einen Verifizierungsschlüssel
einer Integritätszertifizierungs-
und Verifizierungseinrichtung. Diese Schlüssel sind möglicherweise versteckt und/oder
wegen der Aspekte zur Manipulationssicherung dieser Erfindung in
die Integritätsauthentisierungseinrichtung 450 eingebettet.
Für diese Anwendungen,
die die Nutzung von privaten Informationen des Anwenders erfordern
oder sensible Dokumente und Daten betreffen, kann die Integritätsauthentisierungseinrichtung 450 ein
zugeordnetes Integritätsprofil
verwenden, um alle Software-/Hardware-Komponenten in der Aufrufliste
der Anwendersystemumgebung zu verifizieren.
-
Die
Integritätsauthentisierungseinrichtung 450 wird
zuerst die Signatur des Profils verifizieren, das den Schlüssel der
Integritätszertifizierungs-
und Verifizierungseinrichtung verwendet. Wie in den 7 bis 9 gezeigt
prüft die
Integritätsauthentisierungseinrichtung 450,
sobald die Signatur einmal verifiziert ist, die aktuelle Aufrufliste
und beginnt damit, jede Software-/Hardware-Komponente anhand der
Informationen, die im Integritätsprofil
bereitstehen, zu authentisieren. Die Aufrufliste ist ein zusammenhängender
Speicherbereich, der aus Speicherabbildern und den beteiligten Funktionen
und Prozeduren besteht. Die Liste arbeitet nach dem Konzept des
Last-in-First-out, und die Basis-Operationen
sind „stack
push" (Verschieben)
und „stack
pop" (Entfernen).
Push wird verwendet, um die Abbilder in der Liste zu speichern und
eine Position weiter nach oben an die Spitze der Liste zu verschieben.
Pop wird verwendet, um Daten aus der Liste zu entfernen und die
nachfolgende Position an der vorderen Stelle der Liste zu speichern.
-
In
der Aufrufliste ist das Abbild der aktuell ausgeführten Funktion
an der Spitze der Liste. Wenn die aktuell ausgeführte Funktion die nächste Funktion
aufruft oder abruft, wird das Speicherabbild der nächsten Funktion
auf die erste Position der Aufrufliste verschoben, und der Anfang
der Liste zeigt auf das Abbild der nächsten Funktion. Jeder Abschnitt der
Abbilder in der Liste enthält
die Rücksprungadresse
oder die -Instruktion, nachdem die aufgerufene Funktion ihren Durchlauf
beendet hat.
-
10 illustriert,
wie die Ablaufumgebung geschützt
wird. Um insbesondere den Integritäts-Authentiflkator (IA) zu
schützen,
wird die Ausführung des
IA durch eine vertrauenswürdige
Anwendung, die Teil des IA ist, überwacht.
Der Überwachungsprozess,
d.h., die Anwendung, kann ein Debug-Programm oder ein spezielles
Programm sein, das verhindern kann, dass der IA von irgendeinem
anderen Prozess oder Anwendung im System überwacht wird. Kann in einer
Umgebung ein Prozess nur von einem einzigen Prozess überwacht
werden, so kann als vertrauenswürdiges Überwachungsprogramm
ein Debug-Programm implementiert werden. Da das Überwachungsprogramm eine vertrauenswürdige Anwendung
ist, muss die Integrität
des Überwachungsprogramms
im aktuellen Integritätsprofil
aufgeführt
sein. Deshalb wird der IA die Integrität der vertrauenswürdigen Anwendung
vor dem Laden und der Ausführung
verifizieren. Die Funktion der vertrauenswürdigen Überwachungsanwendung ist es,
zu verhindern, dass der IA von anderen Prozessen überwacht,
gesteuert und eingefangen wird. Eine weitere Funktion der vertrauenswürdigen Überwachungsanwendung
ist es, die aktuelle Umgebung zu über wachen und zu ermitteln,
ob eine Änderung
in der Umgebung zulässig
ist. Jedoch muss die vertrauenswürdige Überwachungsanwendung
ebenso wie der IA geschützt
werden und deshalb agiert der IA als Wächter, um die vertrauenswürdige Überwachungsanwendung
gegen eine Überwachung, Übernahme und/oder
Steuerung durch andere Anwendungen zu schützen. Dieser zweifache Schutzmechanismus
erzeugt ein geschlossenes System, das andere Anwendungen daran hindert,
die Ausführung
des Integritäts-Authentifikators
zu überwachen.
-
11 illustriert
ein beispielhaftes Verfahren für
den Betrieb der Integritätszertifizierungs-
und Verifizierungseinrichtung. Insbesondere beginnt die Steuerung
in Schritt S100 und fährt
in Schritt S110 fort. In Schritt S110 wird ein Integritätsprofil
ermittelt. Als nächstes
wird in Schritt S120 das Integritätsprofil zertifiziert. Dann
wird in Schritt S130 das Integritätsprofil an den Anwender geleitet.
Die Steuerung geht dann weiter zu Schritt S140.
-
In
Schritt S140 wird die Integrität
des Anwendersystems verifiziert. In Schritt S150 wird als nächstes ermittelt,
ob das Anwendersystem authentisch ist. Wenn das Anwendersystem authentisch
ist, geht die Steuerung zu Schritt S160 weiter, in welchem dem Anwender
der Zugang zu den ausgewählten
Inhalten gestattet wird. Andernfalls geht die Steuerung zu Schritt
S170, in dem der Zugang zum Inhalt verwehrt und deaktiviert wird.
Danach geht die Steuerung zu Schritt S180, mit dem die Steuersequenz
endet.
-
12 zeigt
ein beispielhaftes Verfahren zur Registrierung von Komponenten/Hardware
und/oder Software nach dieser Erfindung. Insbesondere beginnt die
Steuerung in Schritt S200 und setzt mit Schritt S210 fort. In Schritt
S210 wird der Registrierdienst initialisiert. In Schritt S220 stellt
als nächstes der
Komponentenlieferant Authentisierungsinformationen für bestimmte
Komponenten/Hardware und/oder Software bereit. In Schritt S230 werden dann
die Informationen für
bestimmte Komponenten/Hardware und/oder Software verifiziert. Die
Steuerung geht weiter zu Schritt S240.
-
In
Schritt S240 soll bestimmt werden, ob ein Integritätswert ermittelt
werden soll. Wenn ein Integritätswert
ermittelt werden soll, geht die Steuerung zu Schritt S250, in dem
ein Integritätswert
ermittelt wird. Andernfalls geht die Steuerung zu Schritt S260,
in dem die Authentisierungsinformationen für die Komponenten/Hardware
und/oder Software gespeichert wird.
-
In
Schritt S270 wird als nächstes
bestimmt, ob ein Integritätswert
abgespeichert werden soll. Wenn ein Integritätswert abgespeichert werden
soll, geht die Steuerung zu Schritt S280, in dem der Integritätswert abgespeichert
wird. Andernfalls wenn kein Integritätswert abgespeichert werden
soll, springt die Steuerung zu Schritt S290, in dem die Steuersequenz
endet.
-
13 illustriert
ein beispielhaftes Verfahren zur Ermittlung eines Profils nach dieser
Erfindung. Insbesondere beginnt die Steuerung in Schritt S300 und
setzt mit Schritt S310 fort. In Schritt S310 wird die Integritätsprofilermittlung
initialisiert. In Schritt S320 erhält man als nächstes den
Namen wie etwa eine Identifikation der Komponenten und/oder Hardware
oder Software. In Schritt S330 wird dann die Identifikation für die Komponenten/Hardware
oder Software abgefragt. Die Steuerung geht weiter zu Schritt S340.
-
In
Schritt S340 wird das Integritätsprofil
ermittelt. In Schritt S350 wird als nächstes das Integritätsprofil
digital signiert. In Schritt S360 wird dann das digital signierte
Integritätsprofil
abgespeichert. Die Steuerung geht weiter zu Schritt S370.
-
In
Schritt S370 wird das signierte Integritätsprofil an den Anforderer
wie etwa den Anbieter von Content-Konsum-Systemen und Anwendungen
weitergeleitet. Danach geht die Steuerung zu Schritt S380, mit dem
die Steuersequenz endet.
-
14 illustriert
ein beispielhaftes Verfahren zur Verifizierung der Integrität des Integritätsauthentifikators
in Übereinstimmung
mit einem Teilaspekt dieser Erfindung. Die Steuerung beginnt mit
Schritt S400 und setzt mit Schritt S410 fort. In Schritt S410 wird
der Integritätsauthentifikator
verifiziert. In Schritt S420 wird als nächstes ermittelt, ob der Integritätsauthentifikator
gültig
ist. Wenn der Integritätsauthentifikator
gültig
ist, geht die Steuerung zu Schritt S430. Andernfalls geht die Steuerung
zu Schritt S540.
-
In
Schritt S430 wird eine manipulationssichere Umgebung aufgebaut.
In Schritt S440 wird als nächstes
das Integritätsprofil
verifiziert. In Schritt S450 wird dann ermittelt, ob das Integritätsprofil
gültig
ist. Wenn das Integritätsprofil
gültig
ist, geht die Steuerung zu Schritt S460. Andernfalls geht die Steuerung
zu Schritt S540.
-
In
Schritt S460 wird das Integritätsprofil
geladen. In Schritt S470 wird als nächstes die Aufrufliste der
aktuellen Ausführungsumgebung
wie in Bezug zu 6 aufgebaut. Am unteren Ende
der Aufrufliste befindet sich ein Satz der Hardware und/oder Geräte, ein
Satz mit allen Softwarekomponenten befindet sich am oberen Ende
der Liste. Die Beziehung der Komponenten in der Liste ist so, dass
die weiter unten gelistete Komponente die Komponenten direkt über ihr
aufruft. Sobald die Aufrufliste aufgebaut ist, wird die oberste
Position der Aufrufliste, die das Ausführungsabbild der zuletzt ausgeführten Komponente enthält, markiert.
So hilft das Ausführungsabbild
jeder Komponente auf der Liste die aufrufende Komponente zu identifizieren.
In Schritt S480 wird dann die Identifikationsaufrufkomponente abgefragt.
Die Steuerung geht weiter zu Schritt S490.
-
In
Schritt S490 wird die Integrität
der Komponente gegenüber
dem Integritätsprofil
verifiziert. In Schritt S500 wird als nächstes ermittelt, ob die Komponente
gültig
ist. Wenn die Komponente gültig
ist, geht die Steuerung zu Schritt S510. Andernfalls geht die Steuerung
zu Schritt S540.
-
In
Schritt 510 wird ermittelt, ob die Aufrufliste leer ist.
Wenn die Aufrufliste leer ist, geht die Steuerung zu Schritt S520.
Andernfalls geht die Steuerung zu Schritt S530. In Schritt 520 wird
auf die nächste Komponente
in der Liste positioniert und diese nächste Komponente wird als aktuelles
Listenfeld gesetzt. Die Steuerung geht zurück zu Schritt S480 zur Verifizierung.
-
In
Schritt S530 ist die Integrität
verifiziert, und die Steuerung geht zu Schritt S550, mit dem die Steuersequenz
endet.
-
In
Schritt S540 ist die Integritätsprüfung gescheitert,
und die Steuerung geht zu Schritt S550, mit dem die Steuersequenz
endet.
-
Wie
in den 1–2 dargestellt
wird die Integritätszertifizierungs-
und Verifizierungseinrichtung vorzugsweise auf Einfach-Programm-Universalcomputern
oder Mehrfach-Programm-Universalcomputern
implementiert. Die Integritätszertifizierungs- und
Verifizierungseinrichtung kann jedoch auch auf einem Spezial-Computer,
einem programmierten Mikroprozessor oder Mikrocontroller und einem
peripheren integrierten Schaltkreiselement, einem ASIC, oder anderen
integrierten Schaltkreisen, einem digitalen Sig nalprozessor, einer
fest verdrahteten Elektronik oder logischen Schaltkreisen wie etwa
einem Discrete-Element-Schaltkreis, einem programmierbaren logischen
Gerät wie
etwa PLA, PLD, FPGA, PAL oder Ähnlichen
implementiert werden. Im Allgemeinen kann jedes Gerät, das in
der Lage ist, einen endlichen Zustandsautomaten, der wiederum fähig ist,
die in den 11–14 dargestellten
Flussdiagramme umzusetzen, zu implementieren, dazu verwendet werden,
die Integritätszertifizierungs-
und Verifizierungseinrichtung zu implementieren.
-
Darüber hinaus
kann das offen gelegte Verfahren leicht in Software umgesetzt werden,
die Objekt- oder Objekt-orientierte Software-Entwicklungstechniken
in Umgebungen verwendet, die einen portierbaren Quellcode bereitstellt,
der auf einer Vielzahl von Computern oder Workstation-Hardware-Plattformen
verwendet werden kann. Alternativ kann die offen gelegte Integritätszertifizierungs-
und Verifizierungseinrichtung teilweise oder vollständig auf
Hardware, die standardisierte logische Schaltkreise oder ein VLSI-Modell verwendet,
implementiert werden. Ob Software- oder Hardware-Lösungen zur
Implementierung der Systeme und Verfahren nach dieser Erfindung
angewendet werden, hängt
von den Anforderungen an die Geschwindigkeit und/oder Effizienz des
Systems, von einer bestimmten Funktion und bestimmten Hardware-
oder Software-Systemen
oder von der Nutzung von Mikroprozessoren oder Mikrocomputern ab.
Die oben beschriebenen Integritätszertifizierungs-
und Verifizierungseinrichtungen und Verfahren können jedoch in Hardware oder
Software, die jegliche beliebige bekannte oder noch zu entwickelnde
Systeme und Strukturen, Geräte,
und/oder Software nutzen, von Fachleuten ohne übermäßiges Experimentieren aufgrund
der hier vorgestellten Funktionsbeschreibung unter Nutzung von allgemeinen
Kenntnissen der Computertechnik leicht implementiert werden. Darüber hinaus
können
die offen gelegten Verfahren leicht als Software, die auf einem programmierten
Universalcomputer, einem Spezialcomputer, einem Mikroprozessor,
einem Server oder Ähnlichem
lauffähig
ist, implementiert werden. In diesem Fall können die Verfahren und Systeme
dieser Erfindung als Routine, die in einen Personalcomputer oder
Server eingebettet ist, etwa als JAVA® oder CGI-Skript, als Ressource,
die auf einem Server oder einer Grafik-Workstation gespeichert ist,
als Routine, die in eine systemkonforme Integritätszertifizierungs- und Verifizierungseinrichtung,
in einem Web-Browser, in einer Web-TV-Schnittstelle, in einer PDA-Schnittstelle, in
einem Multimedia-Abspielgerät oder Ähnlichem
eingebettet ist, implementiert werden. Die Integritätszertifizierungs-
und Verifizierungseinrichtung kann auch dergestalt implementiert
werden, dass die Systeme und Verfahren physisch in ein Software-
und/oder Hardware-System wie etwa die Hardware- und Softwaresysteme
einer Grafik-Workstation oder einer systemkonformen Integritätszertifizierungs-
und Verifizierungseinrichtung eingebaut sind.
-
Deshalb
ist ersichtlich, dass mit dieser Erfindung Systeme und Verfahren
für die
Integritätsverifizierung
bereitgestellt wurden. Während
diese Erfindung in ihren bevorzugten Ausführungsformen beschrieben wurde,
ist es offensichtlich, dass sich viele Alternativen, Modifikationen
und Varianten für
die Fachleute abzeichnen. Dementsprechend haben die Patentanmelder
die Absicht, alle Alternativen, Modifikationen und Varianten, die
sich aus dem Anwendungsbereich dieser Erfindung – wie in den Ansprüchen formuliert – folgern
lassen, mit einzubeziehen.