-
Die
vorliegende Erfindung gehört
zum Gebiet der Überwachung
der Integrität
und der Authentizität
von Daten insbesondere beim Fernladen von Software.
-
Die
Erfindung ist für
jede Maschine anwendbar, die zumindest eine Zentraleinheit umfasst,
wie sie in der Informatik derzeit bekannt ist und genutzt wird,
und zwar im Sinne eines Prozessors, der zumindest einen Teil seines
Programms in einem wiederbeschreibbaren Speicher besitzt.
-
Es
ist bekannt, dass eine Entstellung oder Verfälschung von Daten vor oder
nach der Verarbeitung Spuren in bestimmten Teilen der in einem Speicher
verarbeiteten und gespeicherten Informationen hinterlässt. Es
ist auch bekannt, eine einfache mathematische Technik wie die Berechnung
einer Prüfsumme
(checksum) zu nutzen, um festzustellen, ob die in Betracht gezogenen
Daten seit Aufstellung der Bezugsprüfsumme modifiziert worden sind.
-
Es
ist aber auch möglich,
dass das Überwachungssystem
ebenfalls entstellt worden ist und den Inhalt seines Speichers nicht
mehr überprüfen kann. So
kann es im Verlauf der mathematischen Operationen eine Fortpflanzung
von zufallsbedingten Fehlern geben, die sich aufheben und ein Ergebnis
liefern können,
das mit dem erwarteten identisch ist. Folglich ist eine Überprüfung mit
den bekannten Verfahren in bestimmten Fällen unwirksam.
-
Daher
besteht ein bis heute nicht zufriedenstellend gelöstes Problem
darin, die Zuverlässigkeit und
die Sicherheit zu verbessern, die durch die bekannten Überprüfungsoperationen
geliefert werden, insbesondere dann, wenn die gleiche Einheit die
Aufgabe hat, ihre Prüfsumme
zu berechnen und sie mit einem Bezugswert zu vergleichen.
-
Es
ist bekannt, eine einseitig gerichtete Operation an den Daten auszuführen, um
jede Modifizierung dieser Daten sichtbar zu machen, nämlich eine Operation,
die in einer Richtung leicht zu realisieren ist, aber in der anderen
Richtung beinahe unmöglich ist.
Zum Beispiel ist die Operation xy leicht
zu realisieren, aber die Operationy x ist
weitaus schwieriger.
-
Unter
kollisionsfreier Operation versteht man eine Operation, bei der
keine andere Kombination der Eingangsdaten ein ähnliches Ergebnis liefert.
-
Im
Rahmen der Erfindung ist diese einseitig gerichtete Operation eine
mathematische Anwendung H eines Quellsatzes auf einen Objektsatz,
in der jedem Element x des Quellsatzes ein Bild H(x) zugeteilt wird.
Diese Funktionen sind besonders nützlich, wenn es sogenannte
Hash-Funktionen sind, wie sie auf Seite 27 des Texts: RSA Laboratories' Frequently Asked
Questions About Today's
Cryptography, v4.0, definiert werden. Das Element x kann von beliebiger
Länge sein,
aber H(x) ist immer eine Zeichenfolge festgelegter Länge („fixed-size
string"). Eine solche
Funktion ist schwer umzukehren, d.h. eine Kenntnis von H(x) erlaubt
es im Allgemeinen nicht, x wiederzufinden. Darüber hinaus ist sie, wie man
sagt, kollisionsfrei, wenn sie injektiv ist, d.h. H(y) = H(x) führt notwendigerweise
zu y = x, ebenso wie H(y) ≠ H(x)
notwendigenweise zu y ≠ x
führt.
-
Im
Dokument EP-A-0 689 316 wird ein Modul für den drahtlosen Datenempfang
beschrieben, der vom Sender eine kryptographische Signatur der empfangenen
Daten empfängt.
Die Überprüfung der Signatur
wird vom Empfänger
selbst durchgeführt.
-
Die
Erfindung betrifft ein Verfahren, um die Integrität und Authentizität eines
empfangenen Datensatzes nach Anspruch 1 und eines gespeicherten Datensatzes
nach Anspruch 17 zu kontrollieren.
-
Das
Ziel der Erfindung besteht darin zu gewährleisten, dass die in einem
Gebührenfernsehdecoder
enthaltenen Informationen einerseits diejenigen sind, die das Verwaltungszentrum übermittelt hat,
und dass sie andererseits danach nicht entstellt worden sind.
-
Dieses
Ziel wird durch ein Verfahren zur Überwachung der Integrität und Authentizität eines Datensatzes
(M1 bis Mn) erreicht, der in einer Gebührenfernseh-Decodiereinheit gespeichert ist, die aus
einem Decoder und einer Sicherheitseinheit sowie Mitteln der Kommunikation
(NET, REC) mit einem Verwaltungszentrum besteht. Das Verfahren besteht darin:
- – die
Daten (M1 bis Mn) an eine Sicherheitseinheit zu übermitteln,
- – eine
Kontrollinformation (Hx) zu berechnen, die für das Ergebnis einer Funktion
repräsentativ
ist, die als einseitig gerichtet und kollisionsfrei bezeichnet wird
und auf alle oder einen Teil der Daten (M1 bis Mn) angewendet wird,
- – die
Kontrollinformation (Hx) mit einem ersten Schlüssel (k1) zu verschlüsseln,
- – die Übereinstimmung
der Kontrollinformation (Hx) durch eine Kommunikation mit dem Verwaltungszentrum über eines
der Kommunikationsmittel zu begründen.
-
Somit
wird die Integrität
der Daten nicht mehr nur durch die Decodiereinheit kontrolliert,
in der diese Daten enthalten sind, sondern auch durch eine für unverletzlich
gehaltene äussere
Einheit, nämlich
die Sicherheitseinheit.
-
Erfindungsgemäss kann
der Decoder selbst die Berechnung ausführen und das Ergebnis an die Sicherheitseinheit übermitteln,
oder er kann die Daten M1 bis Mn an die Sicherheitseinheit übermitteln, die
dann die Berechnung der Hash-Information ausführt.
-
Die
Schlüssel,
die verwendet werden, um die Kommunikation mit dem Verwaltungszentrum
zu verschlüsseln,
sind Schlüssel,
die einzig und allein im Sicherheitsmodul vorliegen. Der Decoder
besitzt nicht die Mittel, um diese Nachrichten zu entschlüsseln oder
die durch das Verwaltungszentrum übermittelten Daten zu modifizieren,
obwohl diese Nachrichten physisch durch den Decoder laufen.
-
Diese
Sicherheitseinheiten existieren allgemein in Gestalt von Chipkarten
(Smart Cards) und umfassen einen Speicher, einen Mikroprozessor
und Kommunikationsmittel.
-
Unter
Kommunikationsmitteln versteht man eine zweiseitig gerichtete Verbindung über Kabel,
einen Modem-Ausgang oder eine Funkverbindung. Dieser Ausdruck beinhaltet
ebenfalls das Hauptmedium, mit dem die Daten transportiert werden
und mit dem für
den Sicherheitsmodul bestimmte Nachrichten weitergeleitet werden.
-
Die Überprüfung der Übereinstimmung
der Kontrollinformation (Hx) kann auf verschiedene Weise erfolgen.
-
Der
Sicherheitsmodul schickt die Kontrollinformation in verschlüsselter
Form an das Verwaltungszentrum, wobei letzteres die Überprüfung auszuführen hat.
Als Antwort kann das Verwaltungszentrum entweder ein einfaches Vergleichsergebnis OK/NOK
oder den Bezugswert zurückschicken.
Alle diese Nachrichten sind natürlich
mit einem dem Sicherheitsmodul eigenen Schlüssel verschlüsselt.
-
Das
Verwaltungszentrum speichert das Ergebnis unter Bezugnahme auf jede
Abonnenteneinheit als Beweis für
den guten Ablauf des Fernladens bzw. umgekehrt für eine Entstellung der Daten,
zum Beispiel im Hinblick auf eine Wiederholung.
-
Einer
Variante der Erfindung zufolge kann das Verwaltungszentrum im Voraus
den Bezugswert an die Sicherheitsmoduln schicken. Somit ist es dann nicht
erforderlich, das Verwaltungszentrum anzurufen, um die Übereinstimmung
der berechneten Kontrollinformation Hx zu überprüfen.
-
In
einer weiteren Ausführungsform
schickt das Verwaltungszentrum, wenn von einer Sicherheitseinheit
eine Überprüfung verlangt
wird, als Ergebnis des Vergleichs den Bezugswert (Hy) in verschlüsselter
Form k2(Hy) an den Sicherheitsmodul. So begnügt sich das Verwaltungszentrum
nicht damit, die Sicherheitseinheit davon zu informieren, ob der
Vergleich stimmt oder nicht, sondern schickt den Bezugswert an die
Sicherheitseinheit zurück.
Dies wird man hauptsächlich
dann tun, wenn der Vergleich ein positives Ergebnis liefert, damit
die Sicherheitseinheit den Bezugswert Hy speichern kann.
-
Diese
Rückübermittlung
kann über
zusätzliche
Kommunikationswege wie ein Modem oder über den Hauptweg der Datenübermittlung
erfolgen.
-
Wenn
die Daten M1 bis Mn bereits von Mitteln der Überprüfung wie CRC, Prüfsumme CS
oder Hash begleitet werden, kann die Decodiereinheit dank dieser
an sich bekannten Mittel eine erste Prüfung durchführen. Die Zuverlässigkeit
dieser Prüfung muss
aber in dem Sinne in Zweifel gestellt werden, dass, falls die Daten
durch eine Drittperson modifiziert worden sind, diese Person sicherlich
auch die Mittel zur Überprüfung modifiziert
hat. Daher kann die Sicherheitseinheit nach dem Verfahren der Erfindung die
Decodiereinheit davon informieren, das Ergebnis der Prüfung nicht
als Garantie der Authentizität
der Daten zu akzeptieren, sondern diese Authentizität nach dem
weiter oben beschriebenen Verfahren zu bestimmen.
-
Diese
Variante ist bei der Aktualisierung eines Bestandes von Decodern
wichtig, von denen manche – von
der alten Generation – mit
einer Prüfsumme
arbeiten und daher die Überprüfung mit
einer Prüfsumme
verlangen, während
andere bereits mit dem System gemäss dem beanspruchten Verfahren ausgerüstet sind.
-
Wenn
eine Aktualisierung einer Software ferngeladen wird, ist es üblich, nur
den Teil zu übermitteln,
der modifiziert worden ist. Dabei stellen die Daten M1 bis Mn nicht
das gesamte aktualisierte Programm dar. Um ein zuverlässiges Mittel
der Prüfung des
ganzen Programms zu bewahren, ist es deshalb wichtig, über einen
Bezugswert H'y zu
verfügen,
der für
eine Hash-Funktion des neu gebildeten Programms repräsentativ
ist.
-
Es
existiert ein erstes Verfahren, das darin besteht, die Integrität des anfänglichen
Programms P0 zu erweisen, also vor der Aktualisierung. Dafür gibt es
das anfängliche
Ergebnis H0 der Hash-Funktion für
das Programm P0, das entweder bei Installation des Programms P0
initialisiert oder mit dem erfindungsgemässen Verfahren gewonnen worden
ist.
-
Wenn
die Authentizität
der Aktualisierungsdaten erwiesen und diese Daten in den Programmspeicher
eingeführt
worden sind, kann der Sicherheitsmodul sofort die Ausführung der
Hash-Funktion mit dem gesamten neuen Programm P1 befehlen, was ein
Ergebnis H1 liefert. Dieses Ergebnis dient für spätere Kontrollen oder bei nachfolgenden
Aktualisierungen.
-
Eine
Variante dieses Verfahrens besteht darin, vom Verwaltungszentrum
den neuen Wert H'y
zu erhalten, der für
das Ergebnis der Hash-Funktion mit dem ganzen neuen Programm P1,
hier durch M0 bis Mm dargestellt, repräsentativ ist.
-
Die
vom Verwaltungszentrum zurückübermittelten
Verwaltungsdaten R können
einen Datendeskriptor D umfassen, der der Decodiereinheit (IRD) die
Art und Weise anzeigt, wie diese Daten zu verwenden sind. Dieser
Deskriptor kann die Gestalt einer Tabelle annehmen, in der die Bestimmungsadressen
der Daten aufgeführt
sind. Somit ist es nicht möglich,
diese Daten ohne diesen Deskriptor zu verwenden, der nur dann an
die Decodiereinheit (IRD) zurückübermittelt
wird, wenn der Vergleich positiv ist.
-
Einer
Variante der Erfindung zufolge legt das Verwaltungszentrum den Verwaltungsdaten
R ein Zertifikat bei, mit dem der Absender der Daten authentifiziert
werden kann.
-
Diese Überprüfungsfunktion
ist nicht allein an das Fernladen neuer Daten in einen Decoder gebunden,
sondern erlaubt es, jederzeit die Gültigkeit und Authentizität der Daten
zu prüfen.
In diesem Falle besteht die Operation daraus, periodisch oder auf Anforderung
die Werte (Hx) zu berechnen, die für das Ergebnis einer Funktion
repräsentativ
sind, die als einseitig gerichtet und kollisionsfrei bezeichnet
wird und der alle oder ein Teil der Daten (M0 bis Mm) im Betriebsspeicher
des Decoders unterworfen werden, und diese Information (H'x) dann zum Vergleich
mit einem Bezugswert (H'y)
an die Sicherheitseinheit zu übermitteln.
-
Um
diese Operation auszuführen,
existiert ein erstes Verfahren, das darin besteht, dass die Berechnung
durch den Decoder ausgeführt
wird, während
das Ergebnis an die Sicherheitseinheit übermittelt wird. In einer Variante
dieses Verfahrens wird die Berechnung durch die Sicherheitseinheit
ausgeführt, wobei
die Daten (M0 bis Mm) vom Decoder an die Sicherheitseinheit (SC) übermittelt
werden.
-
Die
Anforderung dieser Überprüfungsoperationen
kann vom Verwaltungszentrum, von der Sicherheitseinheit, von einer
Prüfeinheit
oder von einem der Kommunikationsmittel kommen oder sogar bei jedem
Einschalten erscheinen.
-
Wenn
die Sicherheitseinheit den berechneten Wert H'x mit dem Bezugswert H'y vergleicht, kann letzterer
entweder durch den Wert dargestellt werden, der durch den Decoder
IRD nach Bestätigung seiner
Gültigkeit
durch das Verwaltungszentrum berechnet worden ist, oder durch den
durch das Verwaltungszentrum gelieferten Bezugswert.
-
Einer
der Wege, der durch bestimmte böswillige
Personen beschritten wird, um zu versuchen, das Funktionieren eines
Gebührenfernsehsystems
zu verstehen, besteht in der Beobachtung von Reaktionen auf den
Versuch einer Modifizierung. Daher erstreckt sich die Erfindung
ebenfalls auf ein Verfahren der Übermittlung
des Vergleichsergebnisses, die verzögert erfolgt, zum Beispiel
wenn der Abonnent beschliesst, eine Sendung zu kaufen und eine Abonnementsnachricht
zum Verwaltungszentrum geschickt wird.
-
Es
ist leicht, dieser Nachricht die Information beizufügen, dass
die Daten M1 bis Mn entstellt worden sind. Es ist dann schwierig,
die Verbindung zwischen der Modifizierung der Daten und der Sperre des
Docoders herzustellen, die viel später erfolgen kann.
-
Einer
Variante zufolge wird der Wert des Ergebnisses der Berechnung, Hx,
an das Verwaltungszentrum übermittelt.
Um dies zu tun und unauffällig zu
bleiben, wird das Ergebnis zerlegt und Stück um Stück den gewöhnlichen Verwaltungsnachrichten des
Systems beigefügt.
-
Das
Verwaltungszentrum setzt den Wert Hx Stück um Stück wieder zusammen und stellt,
wenn der Wert komplett ist, fest, ob es Modifizierungen an den Daten
gegeben hat.
-
Eines
der Probleme, das bei der Aktualisierung einer grossen Anzahl von
Decodern auftritt, ist die Anzahl der Anrufe beim Verwaltungszentrum,
um die Überprüfung zu
erlangen.
-
Eine
im Rahmen dieser Erfindung vorgeschlagene Lösung besteht darin, die Anrufe
beim Verwaltungszentrum in pseudo-zufallsbedingter Art und Weise
aufzuteilen.
-
Eine
weitere, schon vorher beschriebene Lösung besteht darin, den Bezugswert
im Voraus zu versenden. Somit kann, wenn die Daten gut empfangen
worden sind, was in der Mehrheit der Fälle stimmt, die Aktualisierung
vorgenommen werden, ohne einen Anruf beim Verwaltungszentrum abzuwarten.
Dieser Anruf wird trotzdem ausgeführt, um zu bestätigen, dass
die Aktualisierung richtig ausgeführt worden ist.
-
In
einer besonderen Ausführungsform
umfasst der betrachtete Satz einen Emissionsteil, der sich in einem
Verwaltungszentrum befindet, und einen Empfangsteil, der aus einer
verhältnismässig grossen
Anzahl von funktionell ähnlichen
peripheren Einheiten bestehen kann. Das Ziel besteht darin zu gewährleisten,
dass die vom Emissionsteil übersandte
Software unversehrt und authentisch durch jede der peripheren Einheiten
empfangen wird. Analog zur Terminologie des Gebührenfernsehens, das eine wichtige,
aber nicht ausschliessliche Anwendung der Erfindung darstellt, werden
diese peripheren Einheiten in der folgenden Beschreibung als IRD
bezeichnet, also Empfänger
mit eingebautem Decoder (Integrated Receiver Decoder) mit einem
Empfangsteil, einem Decoder für
die Verarbeitung des durch den Decoder empfangenen Signals, einer
Zentraleinheit CPU, die bevorzugt mit einem nichtflüchtigen
Speicher arbeitet, sowie verschiedenen peripheren Vorrichtungen.
-
Ein
nichtflüchtiger
Speicher ist ein Speicher, dessen Inhalt selbst bei einer Unterbrechung
der Stromversorgung erhalten bleibt, zum Beispiel vermittels einer
autonomen Stromquelle wie eines Akkus oder einer Batterie. Andere
Arten nichtflüchtiger Speicher
können
verwendet werden, zum Beispiel die als EEPROM, Flash-EPROM oder
auch FEPROM bekannten Speicher. Es ist dieser nichtflüchtige Speicher,
der die gesicherten Daten im Falle einer Unterbrechung in der Stromversorgung
enthält.
Er ist für
das gute Funktionieren des IRD-Prozessors wesentlich.
-
Die
vom Verwaltungszentrum kommenden Informationen werden durch den
IRD in Gestalt eines beim Empfänger
der IRD-Einheit ankommenden Datenstroms empfangen. Im Falle des
verschlüsselten oder
allgemeiner des interaktiven Fernsehens umfasst der Datenstrom Videoinformationen,
Audioinformationen, Dateninformationen, ausführbare Anwendungen wie die „Applets" und schliesslich
Datenkontrollinformationen verschiedenen Typs.
-
In
diesem Falle handelt es sich darum zu gewährleisten, dass diese Informationen
durch den IRD richtig empfangen und interpretiert worden sind, ehe sie
im Betriebsspeicher gespeichert werden, und zwar insbesondere Daten,
die ausgeführt
werden, d.h. die Software.
-
Der
Empfänger
des IRD übermittelt
sie an einen Decoder, der sie selbst vermittels einer Schiene im
IRD in Umlauf bringt. Ein in den Multimedien spezialisierter Prozessor,
der selbst mit einem Bildschirm sowie mit einem oder mehreren Lautsprechern
verbunden ist, der vorgenannte nichtflüchtige Speicher sowie ein oder
mehrere wahlfreie Untergruppen sind an diese Schiene angeschlossen.
Der Prozessor (CPU) des IRD verwaltet und kontrolliert das Funktionieren
des IRD sowie der verschiedenen Untergruppen wie eines Prüfkanals,
einer Schnittstelle für
die Chipkarte, eines als Massenspeicher bezeichneten Hilfsspeichers,
weiterer Prozessoren oder auch eines Modems. Ausserdem kann das
Verwaltungszentrum Informationen zurückerhalten, zum Beispiel über das
an das öffentliche
Fernsprechnetz angeschlossene Modem.
-
Diese
Untergruppen können
ihrerseits die Quelle von Fehlern sein, die erkannt und korrigiert werden
müssen,
namentlich beim Laden einer neuen Softwareversion für das Funktionieren
des IRD und insbesondere seiner CPU, oder von bestimmten, durch
den IRD oder seine Komponenten ausführbaren Programmen.
-
Die
Software und die Daten, deren Authentizität und Integrität garantiert
werden müssen,
können mit
verschiedenen Mitteln geladen werden. Eines der Mittel besteht,
wie schon gesagt, darin, den vorgenannten Empfänger zu benutzen, indem mit
dem Datenstrom eine Aktualisierung des Speichers mit mehreren Datenblöcken M1,
M2, ... Mn sowie einem Header, der es erlaubt, die Daten M1 bis
Mn zu identifizieren, an den Empfänger geschickt wird, wobei
dieser in erkennbarer Weise durch die Zentraleinheit identifiziert
wird.
-
Alternativ
oder zusätzlich
können
die Datenblöcke über eine
seiner wahlfreien Untergruppen wie zum Beispiel das Modem zum IRD
gelangen.
-
Die
Datenblöcke
M1, M2,... Mn können
ohne Nachteil als Klartext übersandt
werden, d.h. auf dieser Stufe im Rahmen der Erfindung ohne Verschlüsselung.
-
Das
erfindungsgemässe
Verfahren besteht in dieser Form daraus, zuerst auf der Stufe der
Sendung eine einseitig gerichtete Funktion bzw. Hash-Funktion auf
sämtliche
oder einen Teil der Datenblöcke
M1, M2,... Mn anzuwenden, um ein Ergebnis Hx zu erhalten, das für den Satz
M1 bis Mn repräsentativ
ist. Man kann die Datenblöcke
M1 bis Mn auch getrennt verarbeiten und das Ergebnis Hx1 erhalten,
das M1 entspricht, das Ergebnis Hx2, das M2 entspricht, usw., schliesslich
das Ergebnis Hxn, das Mn entspricht. Dieses oder diese Ergebnisse
Hx werden beim Verwaltungszentrum für eine spätere Überprüfung gespeichert.
-
Ein
besonders entscheidendes Gebiet für die Authentifizierung der
Daten sind Systeme, bei denen die Daten über öffentliche Wege wie den Funk,
das Telefon oder das Internet übermittelt
werden. In diesem Falle kann ein Eindringling an die Stelle eines Verwaltungszentrums
treten und Daten übersenden, um
das Funktionieren des Zielsystems zu modifizieren.
-
Es
ist bekannt, ein Kryptogramm bei der Übermittlung der Daten beizufügen, um
die Daten zu authentifizieren. Dieses Kryptogramm genügt aber nur
dem Wunsch, den Autor der Daten zu identifizieren, und ist für einen
Decoder, der das Bezugskriterium verloren hat, wirkungslos.
-
Die
Stärke
des Verfahrens beruht einerseits in der Qualität der einseitig gerichteten
Funktion H und in der Zertifizierung dieser Signatur durch eine als
unverletzlich geltende Sicherheitseinheit. So erlaubt es eine einfache
Prüfsumme
nicht, den Austausch zweier Blöcke
von Zeichen in den Daten zu erkennen, da die Addition mathematisch
als kommutativ und assoziativ gilt. Hingegen ist ein Ergebnis der Hash-Funktion
Hx ein sehr realistisches Abbild von x, selbst wenn x viel länger ist
als Hx. Wenn ein Austausch von Zeichen in der Zeichenfolge von x
erfolgt ist, wird dieser von der Funktion H(x) sofort entdeckt, und
das System kann nach dieser Erkennung nicht mehr funktionieren.
Daraus ergibt sich eine erhöhte Sicherheit.
-
Ein
wichtiger Aspekt der Erfindung besteht darin, dass sie es gestattet,
jederzeit die Gültigkeit der
Daten im Speicher in der peripheren Einheit zu überprüfen. Das Vorhandensein dieser
Kontrollinformationen im Sicherheitsmodul erlaubt es nämlich dem
Decoder, eine zuverlässige
Selbstüberprüfung vorzunehmen.
Diese Überprüfung ergibt
ein Ergebnis ohne den Vergleich mit der Prüfsumme, die gewöhnlich auf
den Programmspeicher angewendet wird. Wenn diese Überprüfung ein
Ergebnis liefert, das vom Bezugswert abweicht, verfügt die Einheit über Mittel
(Modemverbindung, Kabelkanalverbindung), um eine äussere Einheit,
zum Beispiel das Verwaltungszentrum, von der Nichtübereinstimmung des
Programms zu informieren.
-
Wenn
auch das bevorzugte Mittel der Erfindung für die Erzeugung und Übermittlung
von Kontrollinformationen das Verwaltungszentrum ist, so erstreckt
sich die Erfindung auch auf eine periphere Einheit, von der das
ganze oder ein Teil des Programms anfänglich mit Kontrollinformationen
wie den oben beschriebenen geladen wird. Dies kann an einem Fertigungsort
oder bei der dem Verkauf vorausgehenden Initialisierung über den
Prozessor oder durch Fernladen dieser Kontrollinformationen durch eines
der Peripheriegeräte
bei einem Initialisierungsschritt erfolgen.
-
Die
vorliegende Erfindung wird durch das Blockdiagramm eines IRD veranschaulicht.
-
In
dieser Figur wird ein IRD oder Empfänger mit eingebautem Decoder
dargestellt, der den peripheren Teil der Gruppe bildet, auf die
das erfindungsgemässe
Verfahren in der nachstehend beschriebenen Ausführungsform angewendet wird.
Dieser IRD umfasst eine zentrale Datenschiene DB, an die die verschiedenen
Moduln sämtlich
angeschlossen sind. Der zentrale Modul des IRD wird durch den Prozessor
CPU gebildet, der die Aufgabe hat, die verschiedenen Verarbeitungen
vorzunehmen.
-
Ein
Empfänger
REC empfängt
einen Datenstrom mit Video-, Audio- und Dateninformationen sowie
ausführbaren
Anwendungen über
so unterschiedliche Träger
wie Kabel, Hertzsche Antenne, Satellitenschüssel, Internet oder andere
bekannte Technologien. Dieser Empfänger REC ist an eine Schnittstelle
DC angeschlossen, die ihrerseits mit der Schiene DB verbunden ist.
-
An
diese Schiene DB sind ausserdem angeschlossen:
- – ein Multimedienprozessor
MP, der auf die Verarbeitung von Video- bzw. Audioinformationen
spezialisiert ist, die er zu einem Bildschirm VD bzw. zu Lautsprechern
AD weiterleitet;
- – ein
Prüfkanal
TC, der seinerseits mit einem Prüfgerät TEST verbunden
werden kann, das den Fabrik- und Wartungseinstellungen dient;
- – ein
nichtflüchtiger
Speicher NVM, der durch seine eigene Stromversorgung vom Netz unabhängig gemacht
ist;
- – eine
Schnittstelle INT für
Chipkarten, die physisch eine Chipkarte SC aufnimmt;
- – ein
Hilfs- oder Massenspeicher TMEM;
- – ein
Modem MD, das ans öffentliche
Netz NET angeschlossen ist, das sich seinerseits die bekannten Technologien
und Träger
zu eigen macht;
- – weitere
Prozessoren OP und DP, die nach Gutdünken des Benutzers verschiedene
Funktionen wahrnehmen, insbesondere Funktionen der Verarbeitung
von Daten Data.
-
Es
ist die CPU, die die Aktualisierungen der Software kontrolliert,
wofür ein
Beispiel zu beschreiben sein wird. Sie akzeptiert oder verwirft
diese Aktualisierungen in Abhängigkeit
vom Ergebnis der Prüfungen,
die mit dem Verfahren realisiert werden, das den Gegenstand der
Erfindung bildet.
-
Diese
Softwareversionen der CPU des IRD können über den Empfänger REC,
das Prüfgerät TEST,
die Chipkarte SC oder auch das Netz NET zum IRD gelangen. Weiter
unten wird der Fall beschrieben, in dem sie über den Empfänger IRD
mit dem Video- und Audiodatenstrom zum IRD gelangen.
-
Ein
Datensatz, der eine neue Softwareversion darstellt, die beim IRD
ankommt, wird mit den Betriebsinformationen im zeitweiligen Speicher
TMEM des IRD gespeichert, nachdem er bezüglich seiner Integrität und Authentizität kontrolliert
worden ist. Dies ermöglicht
es dem Verwaltungszentrum, diese Softwareversion in eine große Anzahl
von peripheren IRD zu laden und ihre Indienststellung durch die
Gesamtheit dieser IRD fehlerfrei auszulösen.
-
Nach
Empfang der diese Daten enthaltenden Nachricht beim IRD werden diese
Daten aufgeteilt und die verschiedenen Elemente im zeitweiligen Speicher
TMEM gespeichert. Der IRD wendet auf die Datenblöcke M1 bis Mn die gleiche Behandlung
wie bei der Aussendung an, aber in umgekehrter Reihenfolge. Es ist
klar, dass in Fällen,
in denen der Datenblock in verschlüsselter Form empfangen wird,
die erste Operation darin besteht, diese Daten mit dem öffentlichen
Schlüssel
PuK zu entschlüsseln,
um die Daten im Klartext zu gewinnen.
-
Der
folgende Schritt besteht darin, die einseitig gerichtete Funktion
H auf diese Datenblöcke
M1 bis Mn anzuwenden, wobei als Ergebnis die Werte Hy1 bis Hyn gewonnen
werden. Falls ein Fehler während
der Übermittlung
der Nachricht in die Speicherblöcke
M1, M2,... Mn geraten ist, so wirkt sich dieser Fehler auf Hy aus,
dessen Wert dann nicht der gleiche wie der Wert von Hx ist, der
im Kontrollblock enthalten ist, woraufhin die Daten M1 bis Mn verworfen werden.
-
Diese
Ergebnisse werden an die Chipkarte SC übermittelt, die die Aufgabe
hat, ihre Authentizität zu
prüfen.
Wie weiter oben beschrieben, wird diese Operation vermittels einer
direkten oder verzögerten Verbindung
mit dem Verwaltungszentrum ausgeführt.
-
Als
Beispiele für
Funktionen H kennt man die Funktionen MD2, MD5 und SHA-1.
-
Einer
weiteren Variante der Erfindung zufolge besitzt die die Daten enthaltende
Einheit keinen Kommunikationsweg zu einem Verwaltungszentrum. Die
Daten werden an eine Speichereinheit geliefert, und zwar zusammen
mit Kontrollinformationen (R1), die das Ergebnis einer als einseitig
gerichtet und kollisionsfrei bezeichneten, sogenannten Hash-Funktion
einschliessen, die auf alle oder einen Teil der Daten (M1 bis Mn)
angewendet worden ist. Die Besonderheit dieser Kontrolldaten (R1)
besteht einerseits darin, dass sie das Ergebnis der Hash-Funktion für die Gesamtheit
der betrachteten Daten enthalten, andererseits darin, dass sie in
verschlüsselter
Form k2(Hy) gespeichert sind. Die Speichereinheit kann sie weder
verstehen noch modifizieren.
-
In
der Überprüfungsphase übermittelt
die Speichereinheit an die Sicherheitseinheit diese Kontrollinformationen
in verschlüsselter
Form. Die Sicherheitseinheit verfügt über die Mittel, die erforderlich
sind, um diese Informationen zu entschlüsseln und insbesondere das
Ergebnis der Hash-Funktion (Hy) aus ihnen herauszuziehen.
-
Einer
ersten Variante zufolge führt
die Speichereinheit darüber
hinaus die Hash-Funktion
an den Daten M1 bis Mn aus, berechnet die Kontrollinformation Hx
und übermittelt
sie zum Vergleich an die Sicherheitseinheit. Im Gegenzug schickt
die Sicherheitseinheit Antwortdaten (R2) an die Speichereinheit,
die das Ergebnis des Vergleichs einschliessen.
-
Es
obliegt dann der Speichereinheit, die notwendigen Massnahmen zu
ergreifen, falls die Daten nicht als echt erwiesen worden sind.
-
Einer
zweiten Variante zufolge wird die Berechnung der Kontrollinformation
Hx durch die Sicherheitseinheit ausgeführt, indem diese Einheit die Daten
M1 bis Mn von der Speichereinheit empfängt.
-
In
einer Variante, die eine grössere
Garantie bezüglich
der Nutzung der Daten liefert, wird den Kontrolldaten (R1) ein Schlüssel k3
hinzugefügt,
der dazu dient, die Daten M1 bis Mn zu entschlüsseln.
-
Diese
Daten werden anfänglich
in verschlüsselter
Form gespeichert, und die Hash-Funktion
wird an den verschlüsselten
Daten ausgeführt.
Wenn die Überprüfung der
Integrität
der Daten durch die Sicherheitseinheit erfolgt ist und das Ergebnis
positiv ist, liefert die Sicherheitseinheit der Speichereinheit mit
den Antwortdaten (R2) den Schlüssel
k3, der es ihr gestattet, die Daten M1 bis Mn zu entschlüsseln.
-
Einer
Variante des obigen Verfahrens zufolge antwortet die Sicherheitseinheit
nicht mit dem Schlüssel
k3, sondern umgekehrt schickt die Speichereinheit die verschlüsselten
Daten M1 bis Mn zur Entschlüsselung
an die Sicherheitseinheit SC.
-
In
gleicher Weise wie vorher kann diese Kontrolle jederzeit während des
Funktionierens der Speichereinheit erfolgen.
-
Die
Kontrolldaten (R1) umfassen einen Datendeskriptor D, der der Speichereinheit
die Art und Weise anzeigt, in der diese Daten zu verwenden sind.
Dieser Deskriptor kann die Gestalt einer Tabelle annehmen, die die
Bestimmungsadressen der Daten enthält. Somit ist es nicht möglich, diese
Daten ohne diesen Deskriptor zu nutzen, wobei dieser nur dann an
die Speichereinheit zurückübermittelt
wird, wenn der Vergleich positiv ausgefallen ist.
-
Es
ist ebenfalls vorgesehen, den Kontrolldaten (R1) ein Zertifikat
beizufügen,
das den Absender der Daten authentifiziert, und zwar aus dem Grund, eine
Spur in der Sicherheitseinheit zu behalten.