-
STAND DER TECHNIK
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft das Gebiet der Sicherheit von Inhalten.
Im Besonderen betrifft die vorliegende Erfindung ein System und
ein Verfahren zum Bereitstellen eines bedingten Zugriffs auf eingehenden
digitalen Inhalt.
-
2. Beschreibung des Stands
der Technik
-
Seit
vielen Jahren steigt die Nachfrage nach elektronischen Systemen,
die Verbrauchern visuelle und/oder akustische Inhalte bereitstellen.
Für gewöhnlich liefern
Anbieter von Inhalten (englisch: Content Provider) Verbrauchern
Inhalte in einer Vielzahl von Ausführungen (z.B. als Filme, Fernsehsendungen,
etc.). Bei einer Übertragung
in einem analogen Format wie etwa National Television Systems Committee
(NTSC) oder Phase Alternating Line (PAL), ist der Inhalt aufgrund
der inhärenten
Beschaffenheit der analogen Signalgebung in gewisser Weise geschützt. Zum
Beispiel lässt
sich analoger Inhalt nur schwer unerlaubt Kopieren und weiterverteilen.
Ferner weisen die aufgezeichneten Kopien eine schlechtere Bildqualität auf als
der Originalinhalt. Gelegentlich können dem Inhalt Kopierschutzsignale
hinzugefügt
werden, um die erfolgreiche Aufzeichnung durch einen Videokassettenrekorder
zu verhindern.
-
Im
Laufe des letzten Jahrzehnts hat die Nachfrage nach digitalem Inhalt
zugenommen. In Set-Top-Boxen, wie etwa den Geräten Digital Satellite System
(DSSTM) der Sony Corporation, Tokio, Japan,
werden Inhalte in einem digitalen Format empfangen und vor der Anzeige
oder Wiedergabe in ein analoges Format umgewandelt. Der analoge
Inhalt weist die gleiche inhärente
schützende
Eigenschaft auf wie dies vorstehend beschrieben worden ist. Vor der
Umwandlung in ein analoges Format kann der digitale Inhalt verschlüsselt werden.
-
Seit
kurzem stellen Original Equipment Manufacturers (OEMs) offene, neu
programmierbare digitale Plattformen als Bestandteil des elektronischen Systems
bereit. Zum Beispiel werden zurzeit Set-Top-Computer (z.B. WEB TVTM) auf dem Markt angeboten, die Inhalte
empfangen wie etwa IP-Befehle (IP als englische Abkürzung von
Internet Protocol bzw. Internetprotokoll), heruntergeladene Bilder, Ton
und dergleichen. Leider machen diese digitalen Plattformen sowohl
Hardware als auch Software, einschließlich Sicherheitsanwendungen,
beobachtbar und modifizierbar durch einen unbefugten Benutzer oder
ein bösartiges
bzw. Fangprogramm. Diese Bedrohung hat sich stark erhöht durch
die Zunahme der Verteilung von digitalen Inhalten, da es keinen
Mechanismus gibt um die Anbieter von Inhalten vor unbefugtem Kopieren
und unbefugter Verteilung ihrer digitalen Inhalte zu schützen.
-
In
einem Versuch, das unbefugte Kopieren von digitalem Inhalt zu unterbinden,
werden heute bestimmte elektronische Systeme mit einem Empfänger mit
einer entfernbaren bzw. herausnehmbaren Smartcard implementiert,
welche den Inhaltsfluss steuert. Eine „Smartcard" weist in etwa die Größe einer
Kreditkarte auf, wobei sie an Stelle eines Magnetstreifens jedoch
eine integrierte Schaltung (IS) aufweist. Die IS sieht einen oder
mehrere Parameter vor, die für
die Identifikation und möglicherweise
die Verschlüsselung
von digitalem Inhalt verwendet werden, der von einer entfernten Übertragungsquelle
bereitgestellt wird. Folglich stellen Smartcards aufgrund ihrer
Entfernbarkeit einen Mechanismus für einen bedingten Zugang bzw.
Zugriff bereit, um den unbefugten Zugriff auf digitalen Inhalt deutlich
zu unterbinden bzw. zu reduzieren.
-
Für den Schutz
von digitalen Inhalten kann es angemessen sein, Ersatz-Smartcards
an Abonnenten bzw. Teilnehmer des elektronischen Systems auszugeben,
wenn einer von zwei Zuständen
eintritt: (i) ein vorbestimmter Zeitraum ist abgelaufen; oder (ii)
der globale kryptografische Schlüssel,
der von jedem elektronischen System verwendet wird, wurde entschlüsselt bzw.
offen gelegt. Die neue Verteilung bzw. Ausgabe von Smartcards ist
jedoch mit einer Reihe von Nachteilen verbunden. Zum Beispiel ist
es ein Nachteil, dass die neue Ausgabe von Ersatz-Smartcards sowohl
für die
Anbieter von Inhalten als auch für
die Teilnehmer mit Kosten verbunden ist. Ein weiterer Nachteil ist
es, dass diese Technik mit höheren
Verteilungskosten verbunden ist, wenn die Anzahl der Versuche zunimmt,
elektronische Systeme zu umgehen, sowie im Zuge der Jahr für Jahr ansteigenden
Anzahl von Teilnehmern. Ein weiterer Nachteil ist es, dass viele
Teilnehmer einen Dienstausfall bzw. Dienstverlust erfahren können, wenn
sie ihre Ersatz-Smartcards nicht rechtzeitig erhalten.
-
WO
9716924A offenbart ein System für
bedingten Zugriff bzw. Zugang, bei dem verschlüsselte Daten übertragen
und unter von Steuerwort-Regenerationsdaten entschlüsselt werden.
Unter Verwendung einer Sicherheitsvorrichtung überwacht ein Systembetreiber
die in der Sicherheitsvorrichtung ausgeführten Operationen, und der
Betreiber kann die Entschlüsselung verhindern,
um dadurch den Zugriff auf das System zu steuern, wie zum Beispiel
in einer Bezahlfernsehumgebung bzw. Pay-TV-Umgebung. Dieses Referenzdokument betrifft
jedoch nicht die Gewährleistung
der Sicherheit einer programmierbaren Einheit.
-
Somit
wäre es
wünschenswert,
ein elektronisches System zu erzeugen, das gemäß dem bedingten Zugriff arbeitet,
und zwar ohne die vorstehend beschriebenen Nachteile.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Vorgesehen
ist gemäß der vorliegenden
Erfindung ein System gemäß dem gegenständlichen Anspruch
1.
-
Vorgesehen
ist gemäß einem
zweiten Aspekt der vorliegenden Erfindung ein Verfahren gemäß dem gegenständlichen
Anspruch 5.
-
In
einem Ausführungsbeispiel
betrifft die vorliegende Erfindung ein System, das eine Schnittstelleneinheit
umfasst, die mit einer programmierbaren Einheit verbunden ist. Die
Schnittstelleneinheit kann einen zeitempfindlichen Schlüssel aufweisen.
Die programmierbare Einheit empfängt
digitalen Inhalt von der Schnittstelleneinheit, nachdem bestimmt worden
ist, dass sich der zeitempfindliche Schlüssel auch darin befindet.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
Merkmale und Vorteile der vorliegenden Erfindung werden aus der
folgenden genauen Beschreibung der vorliegenden Erfindung deutlich.
In den Zeichnungen zeigen:
-
1 ein
veranschaulichendes Blockdiagramm eines ersten Ausführungsbeispiels
eines elektronischen Systems, das die vorliegende Erfindung einsetzt;
-
2 ein
veranschaulichendes Ausführungsbeispiel
der Schnittstelleneinheit des elektronischen Systems aus 1;
-
3 ein
veranschaulichendes Ausführungsbeispiel
der programmierbaren Einheit des elektronischen Systems aus 1;
-
4 ein
veranschaulichendes Ausführungsbeispiel
einer Technik, die von einer missbrauchsicheren bzw. verfälschungssicheren
Software verwendet wird, die zumindest in der programmierbaren Einheit
aus 1 geladen ist, um empfindliche Informationen zu
schützen;
-
5 ein
veranschaulichendes Ausführungsbeispiel
einer weiteren Technik, die von einer missbrauchsicheren Software
verwendet wird, um es weiter zu erschweren, die Inhalte von empfindlichen Informationen
zu ermitteln, die in der missbrauchsicheren Software geladen sind;
-
6A ein
erstes Ausführungsbeispiel
einer Schlüsselladeprozedur
für den
zeitempfindlichen Schlüssel
(TSK);
-
6B ein
zweites Ausführungsbeispiel
einer Schlüsselladeprozedur
für den
zeitempfindlichen Schlüssel
(TSK);
-
7A ein
veranschaulichendes Ausführungsbeispiel
einer Technik der Anwendung von Gegenmaßnahmen durch die programmierbare
Einheit, um unerlaubte Softwaremodifikationen zu erkennen;
-
7B ein
veranschaulichendes Ausführungsbeispiel
einer Technik zum Schützen
der Integrität
eines Datenübermittlungsabschnitts
zwischen der Schnittstelleneinheit und der programmierbaren Einheit;
-
7C ein
veranschaulichendes Ausführungsbeispiel
einer Authentifikationsmethode auf der Basis eines erzeugten Zero-Knowledge-Protokolls zum
Authentifizieren der programmierbaren Einheit;
-
8A ein
veranschaulichendes Blockdiagramm eines zweiten Ausführungsbeispiels
des elektronischen Systems, das die vorliegende Erfindung einsetzt,
um Informationen von einer externen Quelle zu empfangen;
-
8B ein
veranschaulichendes Blockdiagramm des zweiten Ausführungsbeispiels
des elektronischen Systems, das die vorliegende Erfindung einsetzt,
um Informationen zu einer externen Quelle zu übertragen;
-
9 ein
veranschaulichendes Blockdiagramm eines dritten Ausführungsbeispiels
des die vorliegende Erfindung einsetzenden elektronischen Systems.
-
BESCHREIBUNG
DES BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
-
Die
vorliegende Erfindung betrifft ein elektronisches System und ein
Verfahren, die dazu dienen, es zu verhindern, dass eine offene,
neu programmierbare digitale Plattform auf Inhalt zugreift, der möglicherweise
von einem Anbieter von Inhalten empfangen worden ist, bis eine oder
mehrere vorbestimmte Bedingungen erfüllt sind. Wenn diese Bedingungen
erfüllt
sind, ist die digitale Plattform sicher. Hiermit wird festgestellt,
dass bestimmte Einzelheiten ausgeführt sind, um ein umfassendes
Verständnis
der vorliegenden Erfindung zu vermitteln, wobei für einen
Durchschnittsfachmann auf dem Gebiet eine Ausführung der vorliegenden Erfindung
auch möglich
ist unter Verwendung zahlreicher anderer Ausführungsbeispiele als der hierin
veranschaulichten Ausführungsbeispiele.
Ferner wurde auf die nähere
Ausführung
allgemein bekannter Schaltkreisanordnungen verzichtet, um eine unnötige Verschleierung
der vorliegenden Erfindung zu verhindern.
-
In
der folgenden Beschreibung wird eine bestimmte Terminologie verwendet,
um bestimmte Eigenschaften der vorliegenden Erfindung sowie die kryptografische
Funktionalität
zu beschreiben. Zum Beispiel ist „Inhalt" allgemein definiert als (i) Daten (z.B.
Video und/oder Audio) und/oder (ii) Steuerinformationen (z.B. Internet
Protocol-Befehl bzw. IP-Befehl,
ein Bezeichner, etc.). Ein „Übermittlungsabschnitt" oder „Datenübermittlungsabschnitt" ist definiert als
ein Informationen führendes
Medium oder mehrere Informationen führende Medien (z.B. elektrischer
Draht, Lichtwellenleiter, Kabel, Busspuren, etc.) oder kabellose Übermittlungen
durch festgelegte Techniken, wie etwa die Infrarot-(IR) und Hochfrequenz-Signalgebung
(HF).
-
In
Bezug auf die kryptografische Funktionalität handelt es sich bei einem „Schlüssel" um Informationen,
die von einer kryptografischen Funktion zum Codieren und/oder Decodieren
eingesetzt werden. Eine „kryptografische
Funktion" ist eine
für die
Verschlüsselung
und Entschlüsselung
verwendete mathematische Funktion. Zu den Beispielen für kryptografische Funktionen
zählen
(i) eine kryptografische Funktion mit symmetrischem Schlüssel, wie
etwa der Data Encryption Standard (DES) und (ii) eine asymmetrische
(öffentlicher
Schlüssel)
kryptografische Funktion, wie etwa Rivest, Shamir & Adleman (RSA). Der
Begriff „sicher" zeigt einen Zustand
an, indem es über
Rechenmethoden für
eine unbefugte Person praktisch unmöglich ist, auf Informationen
in einem unverschlüsselten
Format zuzugreifen und/oder, dass kein unbefugter Versuch des Missbrauchs
von Software (und unter Umständen
Hardware) detektiert worden ist.
-
Ferner
ist ein „digitales
Zertifikat" allgemein definiert
als jede Information, die für
die Authentifizierung verwendet wird. Normalerweise handelt es sich bei
diesen Informationen um einen öffentlichen Schlüssel, der
mit einem privaten Schlüssel
(PRKCA) einer „Zertifizierungsautorität" verschlüsselt ist,
bei der es sich um jede Person oder jede Instanz handeln kann, die
eine Vertrauensstellung genießt,
um für
das digitale Zertifikat garantieren bzw. bürgen zu können (z.B. eine Bank, eine
Regierungsbehörde, ein
Handelsverband, ein Original Equipment Manufacturer und dergleichen).
Eine „digitale
Signatur" oder „digitale
Unterschrift" ist
definiert als eine Transformation gemäß einer kryptografischen Funktion
eines öffentlichen
Schlüssels,
indem Daten mit einem privaten Schlüssel des Unterzeichners verschlüsselt werden.
Die digitale Unterschrift wird zum Authentifizieren oder Verifizieren
der Integrität
der Daten verwendet (d.h. um sicherzustellen, dass die Daten nicht unbefugt
nach der digitalen Unterzeichnung modifiziert worden sind). Die
Daten können
vollständig
bereitgestellt werden oder als ein Hash-Wert, der durch eine einseitige Hash-Funktion
erzeugt wird. Die „einseitige
Hash-Funktion" ist
eine mathematische oder andersartige Funktion, die Inhalt unterschiedlicher Länge verwendet
und diesen in eine feste Länge
umwandelt. Der Begriff „einseitig" zeigt an, dass keine direkte
Umkehrfunktion existiert, um das Ergebnis mit fester Länge in den
Inhalt mit variabler Länge
zurück
umzuwandeln.
-
Erstes Ausführungsbeispiel
des elektronischen Systems
-
In
Bezug auf die Abbildung aus 1 zeigt diese
ein erstes veranschaulichendes Ausführungsbeispiel eines elektronischen
Systems 100. In dem vorliegenden Ausführungsbeispiel weist das elektronische
System 100 eine Schnittstelleneinheit 110 und eine
programmierbare Einheit 120 auf, die beide periodisch mit
einem zeitempfindlichen Schlüssel
(TSK) 130 geladen werden. Die Periodizität der Aktualisierung
TSK 130 ist eine Auswahl des Designs und kann zum Beispiel
von monatlichen oder täglichen
Schlüsselaktualisierungen
bis hin zu häufigeren
Aktualisierungen reichen, wie zum Beispiel zu jedem beliebigen Bruchteil
einer Sekunde. Natürlich
kann die ausgewählte
Periodizität
im Zeitverlauf variieren oder alternativ einheitlich sein.
-
In
einem Ausführungsbeispiel
kann der TSK 130 als eine Nummer ausgeführt sein, die zur Verschlüsselung
und/oder Entschlüsselung
eingesetzt wird. In einem anderen Ausführungsbeispiel kann der TSK 130 als
eine erneuerbare Reihe von Befehlen implementiert sein. Diese Befehle
können
ein ausführbares
Programm darstellen, das ein anzeigefähiges Objekt bildet, wie etwa
einen periodisch geladenen elektronischen Programmführer.
-
Die
Reihe von Befehlen kann sowohl Decodierungs- als auch Codierungsinformationen
bereitstellen, um die Funktionalität eines Schlüssels bereitzustellen,
ebenso wie Entzugs- bzw. Widerrufinformationen. Die „Entzugsinformationen" können eines oder
mehrere digitale Zertifikate aufweisen, die über einen Vergleich mit vorab
geladenen digitalen Zertifikaten (siehe 4) zum Identifizieren
bestimmter programmierbarer Einheiten verwendet werden, die aus
verschiedenen Gründen
von der weiteren Verwendung des TSK 130 ausgeschlossen
worden sind (z.B. Zahlungsversäumnisse,
Unterschlagung des digitalen Zertifikats, etc.). Die Entzugsinformationen können an
einer ausgesuchten Position in dem TSK 130 platziert werden
(z.B. in den werthöchsten
Bits, den wertniedrigsten Bits, etc.). Um jedoch deren Entfernung
während
der Übertragung
zu verhindern, können
die Entzugsinformationen mit den decodierenden und/oder codierenden
Informationen über eine
bitweise Veränderung,
eine Exklusive-ODER-Operation (XOR) oder durch Platzierung in dem
Fehlerkorrekturcode kombiniert werden.
-
Im
Allgemeinen ist es der Zweck des TSK 130 sicherzustellen,
dass der Inhalt in einem digitalen Format (als „digitaler Inhalt" bezeichnet), der
von der Schnittstelleneinheit 110 empfangen wird, nur dann zu
der programmierbaren Einheit 120 gesendet wird, wenn die
programmierbare Einheit 120 sicher it. Dies kann durch
die Ausführung
einer Reihe von Operationen vor der Übertragung erreicht werden,
bevor der digitale Inhalt zu der programmierbaren Einheit 120 übertragen
wird. Zu Beispielen für
diese Operationen zählen,
ohne darauf beschränkt
zu sein, (i) das Prüfen,
ob ein vorab in die programmierbare Einheit 120 geladenes
Authentifikationsprogramm unbefugt modifiziert worden ist; (ii)
das Verifizieren, dass ein Datenübermittlungsabschnitt 140 zwischen
der Schnittstelleneinheit 110 und der programmierbaren
Einheit 120 sicher ist; und (iii) das Authentifizieren
der programmierbaren Einheit 120. Es folgt eine genauere Beschreibung
dieser Operationen.
-
Wie
dies ferner dargestellt ist, empfängt eine Eingangseinheit bzw.
Eingabeeinheit (z.B. eine Antenne oder ein Modem) 150 einen
eingehenden digitalen Bitstrom 160 von einer Übertragungsquelle (nicht
abgebildet), wie etwa von einem umlaufenden Satelliten, einem Kabelunternehmen,
einem Netzwerk, einem Fernsehübertragungsunternehmen
bzw. Fernsehsender und dergleichen. Die Eingangeinheit 150 kann
getrennt von der Schnittstelleneinheit 110 (wie dies abgebildet
ist) gestaltet sein oder auch in der Schnittstelleneinheit 110 implementiert
werden. Normalerweise weist der digitale Bitstrom 160 eine Reihe
von Kommunikationskanälen
auf, wobei jeder Kanal für
gewöhnlich
anderen digitalen Inhalt überträgt. Der
digitale Inhalt wird in einer vorbestimmten Datenpaketstruktur platziert
und möglicherweise
entweder gemäß einer
kryptografischen Funktion eines symmetrischen Schlüssels oder
einer kryptografischen Funktion gemäß einem öffentlichen Schlüssel verschlüsselt werden.
-
Die
Schnittstelleneinheit 110 und die programmierbare Einheit 120 sind
als separate Hardwareausrüstung
dargestellt, verbunden über
einen Datenübermittlungsabschnitt 140.
Der Datenübermittlungsabschnitt 140 kann
parallele Übertragungen oder
serielle Übertragungen über einen
Universal Serial Bus (USB), einen seriellen Hochleistungsbus und
dergleichen unterstützen.
Es ist jedoch auch möglich,
dass die Schnittstelleneinheit 110 und die programmierbare
Einheit 120 als Abschnitte in einem einzigen Peripheriegerät enthalten
sind, wie zum Beispiel in einem unabhängigen DVD-Player (Digital Versatile
Disc-Player).
-
In
folgendem Bezug auf die Abbildung aus 2 ist ein
Ausführungsbeispiel
der Schnittstelleneinheit 110 gemäß der Abbildung aus 1 dargestellt.
Gemäß der Abbildung
ist die Schnittstelleneinheit 110 implementiert als ein
Breitbandempfänger, der
Operationen empfangen und an einem digitalen Bitstrom ausführen kann,
um den Übertragungskanal auszuwählen, der
einen gewünschten
digitalen Inhalt aufweist. Der Breitbandempfänger 110 weist ein
Gehäuse 111 aus
einem gehärteten
Werkstoff auf (z.B. Kunststoff oder einer Metalllegierung). Das
Gehäuse 111 ist
so gestaltet, dass es einen oder mehrere Ein-Ausgabe-Anschlüsse (E/A-Ports)
aufweist.
-
Zum
Beispiel ermöglicht
es ein erster E/A-Port 112, dass ein eingehender digitaler
Bitstrom, der digitalen Inhalt aufweist und möglicherweise einen zeitempfindlichen
Schlüssel
(TSK), von der Eingangseinheit 150 zu der internen Schaltkreisanordnung
der Schnittstelleneinheit 110 geleitet werden kann. Ein
zweiter E/A-Port 113 ermöglicht das Laden in oder herunterladen
von Informationen aus einem entfernbaren Peripheriegerät 115,
wie etwa einer Smartcard. Zum Beispiel kann das entfernbare Peripheriegerät 115 einen
Bezeichner bereitstellen, für gewöhnlich eine
eindeutig zugeordnete Nummer, um anzuzeigen, welcher digitale Inhalt
des eingehenden digitalen Bitstroms 160 für die Schnittstelleneinheit 110 zugänglich ist.
Alternativ kann das entfernbare Peripheriegerät 115 eine gemeinsam
genutzte Nummer bereitstellen, die zum Erzeugen eines Schlüssels verwendet
wird, der benötigt
wird, um den digitalen Inhalt zu entschlüsseln oder um den Schlüssel selbst
bereitzustellen. Ein dritter E/A-Port 114 stellt eine verschlüsselte Ausgabe
an die programmierbare Einheit 120 bereit.
-
Die
interne Schaltkreisanordnung der Schnittstelleneinheit 110 weist
eine Front-End-Schaltkreisanordnung 200 und eine erste Steuereinheit 250 auf.
Wie dies dargestellt ist, weist die Front-End-Schaltkreisanordnung 200 unter
anderem, ohne darauf beschränkt
zu sein, folgendes auf: eine Verstärkungsschaltkreisanordnung
(AMD) 210, einen Tuner 220, einen Demodulator
(DEMOD) 230 und eine Analyseschaltkreisanordnung 240.
Die Verstärkungsschaltkreisanordnung 210 wird
zum Verstärken
verhältnismäßig schwacher
Signale verwendet, die an der Eingangseinheit 150 empfangen
werden. Der Tuner 220 ermöglicht einem Teilnehmer da „Einstellen" auf einen bestimmten
Frequenzkanal, der durch die entfernbare periphere Einrichtung 114 autorisiert
worden ist, während
der Demodulator 230 den digitalen Bitstrom entschlüsselt, um
den digitalen Inhalt entschlüsseln
bzw. offen zu legen, der der gewünschten
Frequenz zugeordnet ist. Diese Schaltungen können über einen Datenübermittlungsabschnitt 260 durch
die erste Steuereinheit 250 gesteuert werden, bei der es
sich um einen Mikroprozessor, einen Mikrocontroller oder eine Zustandsmaschine
handeln.
-
Die
ebenfalls durch die erste Steuereinheit 250 gesteuerte
Analyseschaltkreisanordnung 240 empfängt entschlüsselten digitalen Inhalt von
dem Demodulator 230 und separiert den entschlüsselten digitalen
Inhalt auf der Basis unterschiedlicher Eigenschaften (Video, Audio,
Steuerinformationen, etc.). Dies ermöglicht es, dass der TSK aus
dem digitalen Inhalt extrahiert und in der Schnittstelleneinheit 110 gespeichert
wird. Der TSK kann in einem verschlüsselten oder unverschlüsselten
Format in einer missbrauchsicheren Software, die sich in dem internen Speicher 280 befindet,
gespeichert werden, oder auch in der entfernbaren peripheren Einheit 115,
wie dies optional durch die gestrichelten Linien 270 dargestellt
ist. Ferner kann der digitale Inhalt (z.B. Video und/oder Audio)
mit einem von der programmierbaren Einheit 120 anerkannten
Schlüssel
entschlüsselt und
neu verschlüsselt
werden. Die Entschlüsselung und
Verschlüsselung
kann durch Software ausgeführt
werden, die wiederum durch die erste Steuereinheit 250 ausgeführt wird
oder durch Verschlüsselungs-Hardwareeinheiten 290 und 295 (wie
dies abgebildet ist). Alternativ kann der digitale Inhalt im verschlüsselten
Format durch die Schnittstelleneinheit 110 geführt werden,
wie dies optional durch die gestrichelten Linien 271 dargestellt
ist.
-
In
folgendem Bezug auf die Abbildung aus 3 veranschaulicht
diese ein Ausführungsbeispiel der
programmierbaren Einheit 120. Die programmierbare Einheit 120 ist
eine offene, neu programmierbare digitale Plattform, wie etwa ein
Computer (z.B. ein Personalcomputer, ein Set-Top-Computer, ein Laptop, ein Handheld-Gerät, ein Server,
etc.) oder jede andere Ausgabeeinheit mit den Funktionen Anzeige, Aufzeichnen
oder Wiedergabe (z.B. ein digitaler Fernseher, ein digitaler Videokassettenrekorder
oder ein DVD-Player). Im Allgemeinen weist die programmierbare Einheit 120 eine
zweite Steuereinheit 300 auf und eine oder mehrere Speicherbänke 3101 -310n („n" ist eine positive ganze Zahl).
-
In
dem vorliegenden Ausführungsbeispiel handelt
es sich bei dieser bzw. diesen Speicherbank bzw. Speicherbänken 3101 -310n um
nichtflüchtige (NV)
Speicher, die sicherheitsbezogene ausführbare Programme, TSK 130,
ein vorab geladenes digitales Zertifikat 340 und eine digitale
Unterschrift 350 enthalten. Die „sicherheitsbezogenen ausführbaren
Programme" können folgendes
aufweisen: (i) ein ausführbares
Authentifikationsprogramm 330 zum Authentifizieren der
programmierbaren Einheit 120 und/oder einer Schnittstelleneinheit 110 aus 1, bevor
der digitale Content geladen wird; und (ii) ein ausführbares
Entschlüsselungs-/Decodierungs-Player-Programm,
das digitalen Inhalt in ein zulässiges Format
zum Anzeigen umwandelt (z.B. einen „MPEG"-Standard (MPEG als englische Abkürzung von
Motion Pictures Experts Group, wie etwa MPEG2) oder zum Anhöhen. Wie
dies dargestellt ist, ist das Authentifikationsprogramm 330 missbrauchsicher
und kombiniert mit dem TSK 130, wie dies in der Abbildung
aus 4 beschrieben ist. Das digitale Zertifikat 340 wird
dazu verwendet, die programmierbare Einheit 120 zu identifizieren,
und für
gewöhnlich weist
es mindestens einen öffentlichen
Schlüssel (PUKPU)
auf, der der programmierbaren Einheit 120 zugeordnet ist,
und verschlüsselt
mit dem privaten Schlüssel
(PRKCR) einer Zertifizierungsinstanz, wie etwa eines Original Equipment
Manufacturers (OEM). Die digitale Signatur 350 wird zum
Schutz vor Softwarebedrohungen eingesetzt und weist normalerweise
einen Hash-Wert des Authentifikationsprogramms auf, verschlüsselt mit
einem privaten Schlüssel
der programmierbaren Einheit 120.
-
Verfälschungssichere
Software
-
In
folgendem Bezug auf die Abbildung aus 4 veranschaulicht
ein Blockdiagramm eine Technik, die sicherstellt, dass der TSK 130 aus 3 und ein
sicherheitsbezogenes bzw. sicherheitsrelevantes ausführbares
Programm (z.B. das Authentifikationsprogramm) 330 verfälschungssicher
sind. Die Verfälschungssicherheit
wird erreicht durch die räumliche sowie
die zeitliche Verteilung. Zum Beispiel wird der TSK in Unterabschnitte 4101 -410m („m" ist eine positive
ganze Zahl) unterteilt, und das Authentifikationsprogramm 330 wird
in eine Reihe von Unterprogrammen 4201 -420m unterteilt, die mit den Unterabschnitten 4101 -410m arbeiten,
wobei für
das veranschaulichte Ausführungsbeispiel
ein Unterabschnitt 4101 -410m jedem
entsprechenden Unterprogramm 4201 -420m zugeordnet ist. Die Unterprogramme 4201 -420m werden
danach im Zeitverlauf ausgeführt. Folglich
kann nicht der ganze TSK an einem einzigen räumlichen Punkt oder einem einzigen
zeitlichen Punkt beobachtet oder modifiziert werden.
-
Diese
Unterprogramme 4201 -420m können auch
ferner mit nicht bezogenen Aufgaben verschachtelt werden, um die
wahre Beschaffenheit der durch die Unterprogramme 4201 -420m ausgeführten Aufgaben
weiter zu verdecken.
-
Die
Abbildung aus 5 veranschaulicht einen optionalen
Aspekt der in die programmierbare Einheit 120 aus 1 geladenen
verfälschungssicheren
Software. Gemäß diesem
Aspekt kann das elektronische System verfälschungssicher gestaltet werden,
indem die sicherheitsbezogenen ausführbaren Programme (z.B. das
Authentifikationsprogramm 5001 und
das Entschlüsselungs-/Decodierungs-Player-Programm 5002 ) verfälschungssicher gestaltet werden,
wie dies vorstehend im Text beschrieben worden ist. Ferner kann
die Sicherheit des elektronischen Systems auch weiter gestärkt werden
durch die Bereitstellung eines Systemintegritäts-Verifikationsprogramms (SIVP) 510 mit
einer Mehrzahl von Integrations-Verifikationskernen
(IVKs), und zwar in dem vorliegenden Ausführungsbeispiel einem ersten IVK
(IVK1) 520 und einem zweiten IVK (IVK2) 530.
-
Der
IVK1 520 weist eine veröffentlichte
externe Schnittstelle für
andere verfälschungssichere
in Bezug auf die Sicherheit empfindliche Funktionen (SSF) 5401 und 5402 der
sicherheitsbezogenen ausführbaren
Programme 5001 und 5002 auf, die aufgerufen werden können. Beide
IVKs werden gemäß den Partitionierungs-
und möglicherweise
Verschleierungsaspekten der vorliegenden Erfindung, die vorstehend
beschrieben worden sind, verfälschungssicher
gestaltet. Gemeinsam stellen die (i) verfälschungssicheren SSFs 5401 und 5402 und
die (ii) IVKs 520 und 530 einen verriegelnden
Vertrauensmechanismus bereit.
-
Gemäß dem verriegelnden
Vertrauensmechanismus sind in Bezug auf das veranschaulichte Ausführungsbeispiel
die verfälschungssicheren SSF1 5401 und SSF2 5402 verantwortlich
für die
Integrität
der entsprechenden sicherheitsbezogenen ausführbaren Programme 5001 und 5002 .
Der IVK1 520 und der IVK2 530 sind zuständig für die Integrität des SIVP 510.
Nach der Verifikation der Integrität der sicherheitsbezogenen
ausführbaren
Programme 5001 oder 5002 , rufen SSF1 5401 oder
SSF2 5402 den IVK1 520 auf.
Als Reaktion darauf verifiziert der IVK1 520 die Integrität von SIVP 510.
Nachdem dies erfolgreich ausgeführt
worden ist, ruft IVK1 520 IVK2 530 auf, der daraufhin
die Integrität
von SIVP 510 verifiziert. Die „Integrität" dieser Anwendungen und Programme kann
durch normale kryptografische Maßnahmen geprüft werden
(z.B. ein Zero-Knowledge-Protokoll, wie dies nachstehend im Text
beschrieben wird), wobei die ausführbaren mit Hash versehen und
mit einem vorherigen Hash-Wert des Programms verglichen werden.
-
Für eine Verfälschung
der sicherheitsbezogenen ausführbaren
Programme 5001 , müssen gleichzeitig
SSF1 5401 , IVK1 520 und
IVK2 530 verfälscht
werden. Da IVK1 520 und IVK2 530 jedoch auch von
SSF2 5402 und allen anderen SSFs
in dem System verwendet werden, wäre es erforderlich, alle anderen
SSFs gleichzeitig zu verfälschen,
um den verriegelnden bzw. ineinander eingreifenden Vertrauensmechanismus
zu verfälschen.
-
Ausführungsbeispiele
zeitempfindlicher Schlüsselladeprozeduren
-
Der
TSK kann gemäß einer
Reihe von Prozeduren in die Schnittstelleneinheit und die programmierbare
Einheit geladen werden. Zum Beispiel kann der TSK gemäß der Abbildung
aus 6A direkt in die Schnittstelleneinheit außerhalb
des Bands des digitalen Bitstroms (S600) geladen werden. Der TSK kann
auf sichere Art und Weise zu der programmierbaren Einheit übertragen
werden, nachdem ein Sitzungsschlüssel
(SESS) zwischen der Schnittstelleneinheit und der programmierbaren
Einheit (S605) festgelegt worden ist. Der SESS kann unter Verwendung
einer in Bezug auf die Abbildung aus 7C beschriebenen,
allgemein bekannten Zero-Knowledge-Authentifikationsprozedur festgelegt
werden.
-
Vor
der Übertragung
des TSK, jedoch normalerweise nach der Erzeugung eines sicheren
Datenübermittlungsabschnitts
zwischen der programmierbaren Einheit und der Schnittstelleneinheit,
wird eine optionale Operation ausgeführt, um zu bestimmen, ob das
Zertifikat für
die programmierbare Einheit aufgehoben worden ist. Diese Bestimmung
basiert auf den Entzugsinformationen, die in dem eingehenden digitalen
Bitstrom enthalten sind oder einem vorher übertragenen digitalen Bitstrom
(S610). Wenn das Zertifikat für
die programmierbare Einheit aufgehoben worden ist, wird verhindert,
dass der TSK in die programmierbare Einheit geladen wird. Ansonsten
kann der TSK mit dem SESS verschlüsselt und zu der programmierbaren
Einheit (S615 und S620) übertragen
werden.
-
Der
TSK kann in der programmierbaren Einheit 120 in verfälschungssicherer
Software gespeichert werden, wie dies vorstehend im Text beschrieben
ist (S625). In ähnlicher
Weise kann der TSK an der Schnittstelleneinheit 110 aus 1 in
einem verschlüsselten
Format oder in einem unverschlüsselten Format
gespeichert werden. Es wird jedoch auch in Betracht gezogen, dass
der TSK anfänglich
in die programmierbare Einheit 120 geladen und in der Folge
zu der Schnittstelleinheit 110 übertragen werden kann, nachdem
eine Prüfung
auf einen Widerruf bzw. Entzug vorgenommen worden ist, und bei Bedarf
ein sicherer Datenübermittlungsabschnitt
zwischen den Einheiten erzeugt wird.
-
Eine
weitere Prozedur umfasst das Laden des TSK mittels digitaler Übertragung
von einer Übertragungsquelle,
wie dies in der Abbildung aus 6B dargestellt
ist. Der TSk befindet sich in einem vorbestimmten Kommunikationskanal
des digitalen Bitstroms (S650). Die Schnittstelleneinheit ruft den TSK
ab und entschlüsselt
diesen möglicherweise
vor dem Speichern, wie etwa in einem internen Speicher oder einer
entfernbaren peripheren Einheit, wie dies in der Abbildung aus 2 beschrieben
ist (S655, S660 und S665). Als nächstes
kann die Schnittstelleneinheit eine Nachricht an die programmierbare Einheit übertragen,
welche das der programmierbaren Einheit zugeordnete digitale Zertifikat
anfordert (S670). Nach dem Empfang des digitalen Zertifikats wird
ein öffentlicher
Schlüssel
der programmierbaren Einheit (PUKPU) erhalten (S675). Danach kann
der TSK mit PUKPU verschlüsselt
und zu der programmierbaren Einheit zur Entschlüsselung und zum Laden des TSK
in dessen verfälschungssichere
Software übertragen
werden (S680 und S685). Alternativ kann ein Sitzungsschlüssel ausgehandelt
und TSK mit dem Sitzungsschlüssel
vor der Übertragung
an die programmierbare Einheit verschlüsselt werden, wobei dies jedoch
nicht abgebildet ist.
-
Ausführungsbeispiele
von Operationen vor der Übertragung
-
Wenn
sich der TSK in der Schnittstelleneinheit und der programmierbaren
Einheit befindet, jedoch bevor der digitale Inhalt dazwischen übertragen wird,
müssen
eine Reihe von Bedingungen erfüllt werden.
Eine erste Bedingung ist es, dass die programmierbare Einheit Gegenmaßnahmen
einsetzt, um allgemein bekannte Software-Tricks zu detektieren,
die für
gewöhnlich
eingesetzt werden, um auf den TSK zuzugreifen. Zum Beispiel kann
eine Gegenmaßnahme
gemäß der Abbildung
aus 7A das Sicherstellen umfassen, dass die Integrität der kritischen
Informationen für
sichere Operationen der programmierbaren Einheit (z.B. das Authentifikationsprogramm)
nicht kompromittiert worden ist. Dies kann unter Verwendung einer
oder mehrerer digitaler Unterschriften vorgenommen werden.
-
Zum
Beispiel während
der Herstellung (Zeit 1) der programmierbaren Einheit kann das Authentifikationsprogramm 700 in
eine einseitige Hash-Funktion 705 eingegeben werden, um
einen Hash-Wert 710 zu erzeugen. Dieser Hash-Wert 710 würde digital
unterzeichnet durch einen privaten Schlüssel (PRKPU) 715,
der der programmierbaren Einheit zugeordnet ist, um eine digitale
Signatur 350 zu erzeugen, wie dies ebenfalls in 3 dargestellt
ist. Vor der periodischen Ausführung
des Authentifikationsprogramms 700 (z.B. beim Einschalten)
bei Laufzeit (Zeit 2) wird die einseitige Hash-Funktion 705 von
der programmierbaren Einheit zum Erzeugen der resultierenden Daten 720 verwendet.
Die resultierenden Daten 720 werden in der Folge mit dem
der digitalen Unterschrift 350 zugeordneten Hash-Wert 710 verglichen,
der durch Entschlüsseln
der digitalen Unterschrift 350 mit dem öffentlichen Schlüssel (PUKPU) 725 erhalten
wird. Wenn eine Übereinstimmung
gegeben ist, wurde das Authentifikationsprogramm 700 nicht
verfälscht.
Wenn eine Diskrepanz existiert, wurde das Authentifikationsprogramm 700 verfälscht. Dies
bewirkt, dass die Schnittstelleneinheit es verhindert, das digitaler
Inhalt in die programmierbare Einheit übertragen wird.
-
In
Bezug auf den Schutz der Integrität des Datenübermittlungsabschnitts 140,
wie dies in der Abbildung aus 7B dargestellt
ist, kann ein Sitzungsschlüssel
(SESS) ausgehandelt werden zwischen der Steuerschaltkreisanordnung
der Schnittstelleneinheit (z.B. der ersten Steuereinheit 250 aus 2)
und der programmierbaren Einheit (z.B. der zweiten Steuereinheit 300 aus 3).
Die Aushandlung kann es umfassen, dass die programmierbare Einheit
das vorab geladene digitale Zertifikat 340 aus 3 zu
der Schnittstelleneinheit überträgt. Das
digitale Zertifikat 340 kann einen öffentlichen Schlüssel aufweisen,
der der zweiten Steuereinheit (PUKPU) 725 der programmierbaren
Einheit zugeordnet ist. Das digitale Zertifikat 340 wird
durch die Schnittstelleneinheit unter Verwendung eines allgemein
bekannten öffentlichen
Schlüssels
(PUKCA) 730 entschlüsselt,
der einer Zertifizierungsinstanz (z.B. einem öffentlichen OEM-Schlüssel) zugeordnet
ist. Nachdem PUKPU 725 erhalten worden ist, kann die Schnittstelleneinheit
einen Sitzungsschlüssel
(SESS) 735 erzeugen und den SESS 735 mit PUKPU
verschlüsseln,
so dass ein verschlüsselter
Sitzungsschlüssel „E(SESS)PUKPU" 740 erzeugt
wird, und zwar vor der Übertragung
zu der programmierbaren Einheit. Die programmierbare Einheit kann
SESS abrufen, indem E(SESS)PUKPU 740 unter Verwendung des
privaten Schlüssels
(PRKPU) 715 entschlüsselt
wird. Der Sitzungsschlüssel
kann in verfälschungssicherer
Software gespeichert werden, um eine Kompromittierung zu verhindern.
-
Es
gibt eine Vielzahl von Methoden, die zum Authentifizieren der programmierbaren
Einheit 120 verwendet werden können. Eine allgemein bekannte Authentifikationsmethode
basiert auf einem festgelegten Zero-Knowledge-Protokoll, wie dies
allgemein in der Abbildung aus 7C dargestellt
ist. In dem vorliegenden Ausführungsbeispiel übermittelt
die Schnittstelleneinheit 110 eine Nachricht 750 an
die programmierbare Einheit, die anfordert, dass ein Hash-Wert des
TSK in die verfälschungssichere
Software geladen wird. Als Reaktion darauf führt die programmierbare Einheit 120 eine
einseitige Hash-Funktion an dem TSK 755 aus, um den Hash-Wert 760 zu
erzeugen, und sie gibt den Hash-Wert 760 an die Schnittstelleneinheit 110 zurück. Danach
würde die
Schnittstelleneinheit 110 eine einseitige Hash-Funktion
an ihrem TSK 765 ausführen,
um ein Ergebnis 770 zu erzeugen und den Hash-Wert 760 mit
dem Ergebnis 770 zu vergleichen. Wenn diese Werte vergleichbar
sind, kann die programmierbare Einheit 120 den digitalen
Inhalt empfangen, da beide Einheiten identische TSKs aufweisen.
Wenn sich diese Werte unterscheiden, wird es verhindert, dass der
digitale Inhalt in die programmierbare Einheit 120 geladen
wird.
-
Zweites Ausführungsbeispiel
des elektronischen Systems
-
In
Bezug auf die Abbildungen der 8A und 8B sind
veranschaulichende Ausführungsbeispiele
eines elektronischen Systems 800 dargestellt. Wie dies
in 8A dargestellt ist, weist das elektronische System 800 eine
programmierbare Einheit 810 und eine Mehrzahl von Schnittstelleneinheiten 8201 -820k („k" ist eine positive ganze Zahl) auf. Dieses
elektronische System 800 unterscheidet sich von dem elektronischen
System 100 aus 1. Ein Unterschied ist es, dass
die programmierbare Einheit 810 Kommunikationen von mehreren
Schnittstelleneinheiten 8201 -820k unterstützen kann. Zu Beispielen dieser
Schnittstelleneinheiten zählen
unter anderem, ohne dabei einzuschränken, (i) ein Breitbandempfänger 8201 , (ii) ein DVD-Player 8202 , der digitalen Inhalt direkt von dem
Anbieter von Inhalten empfängt,
(iii) ein Zähler 8203 , der den Aufwand des digitalen Inhalts
berechnet und speichert, der an die programmierbare Einheit 810 bereitgestellt
wird und/oder (i) eine Netzwerkeinrichtung 820k zum
Erzeugen einer Verbindung mit einem Wide Area Network (WAN), einem
lokalen Netzwerk (LAN) oder jedem andersartigen Netzwerk. Bei Beispiel
für die
Netzwerkeinrichtung ist unter anderem eine IP-Telefonieausrüstung.
-
Der
zweite Unterschied liegt in der Integration von für die Authentifikation
spezifischen Hardware-Vorrichtungen (ASH) 8301 -830k ,
wie etwa von Dongles. Jede ASH-Vorrichtung 8301 -830k ist mit einem Kommunikationsanschluss
einer entsprechenden Schnittstelleneinheit 8201 -820k verbunden und weist einen zugeordneten
vorbestimmten Identifikationswert auf. Folglich können die
Schnittstelleneinheiten 8201 -820k und die zugeordneten ASH-Vorrichtungen 8301 -830k den
Strom von digitalem Inhalt in die programmierbare Einheit 810 regeln,
indem verhindert wird, dass digitaler Inhalt heruntergeladen wird, wenn
er dem ausgesuchten Identifikationswert nicht zugeordnet ist.
-
Digitaler
Inhalt wird über
eine ausgesuchte Schnittstelleneinheit (z.B. die Schnittstelleneinheit 8201 ) an die programmierbare Einheit 810 bereitgestellt,
nachdem verschiedene Operationen erfolgreiche ausgeführt worden
sind. Zuerst prüft
die programmierbare Einheit 810 intern durch Hash-Wert-Vergleiche,
ob verschiedene Programme darin unbefugt modifiziert worden sind.
Als zweites wird ein sicherer Datenübermittlungsabschnitt 8401 zwischen der ausgesuchten Schnittstelleneinheit 8201 und der programmierbaren Einheit 810 aufgebaut.
Drittens wird die programmierbare Einheit 810 authentifiziert,
um sicherzustellen, dass kein Versuch unternommen wird, unbefugt
auf digitalen Inhalt zuzugreifen. Diese Operationen können so
ausgeführt werden,
wie dies vorstehend im Text beschrieben worden ist.
-
In
Bezug auf die Abbildung aus 8B unterstützt das
elektronische System 800 bidirektionale Kommunikationen.
Im Besonderen kann die programmierbare Einheit 810 des
elektronischen Systems 800 Informationen an einen verteilten
Datenübermittlungsabschnitt
(z.B. Telefonleitungen, Netzwerk, etc.) als Reaktion auf ein Ereignis übermitteln. Bei
dem Ereignis kann es sich unter anderem zum Beispiel um einen Zustand
handeln, der für
die programmierbare Einheit 810 ausschließt, dass
dise einen TSK zum Entschlüsseln
von heruntergeladenem Inhalt empfängt, wie etwa eine fehlende
Zahlungsautorisierung für
einen erforderlichen Schlüssel
zum Entschlüsseln
eines Pay-per-View-Videoprogramms.
-
Drittes Ausführungsbeispiel
des elektronischen Systems
-
In
Bezug auf die Abbildung aus 9 zeigt diese
ein drittes veranschaulichendes Ausführungsbeispiel des elektronischen
Systems 900. In dem vorliegenden Ausführungsbeispiel weist das elektronische
System 900 eine Schnittstelleneinheit 910 und eine
programmierbare Einheit 920 auf. Die Schnittstelleneinheit 910 kann
als ein Empfänger
mit Modem- oder
Funkfunktion konfiguriert sein, wie dies in der Abbildung aus 2 dargestellt
ist. Anstelle der Verbindung der für die Authentifikation spezifischen Hardware-Vorrichtung
(ASH) mit der Schnittstelleneinheit 910 ist die programmierbare Einheit 920 jedoch
so angepasst, dass sie eine Hardware-Verarbeitungslogik 930 aufweist,
wie dies nachstehend im Text beschrieben ist.
-
Die
Hardware-Verarbeitungslogik 930 weist mindestens einen
Prozessor und einen nichtflüchtigen
Speicher auf, der sich in einer einzelnen integrierten Schaltungseinheit
oder einer Mehrchip-Einheit befindet. Nach dem Herunterladen des
TSK in die programmierbare Einheit 920, wird der TSK in den
nichtflüchtigen
Speicher geladen, der sich in der Hardware-Verarbeitungslogik 930 befindet.
Vor der Übertragung
des digitalen Inhalts von der Schnittstelleneinheit 910 zu
der programmierbaren Einheit 920 kann die programmierbare
Einheit 920 somit gemäß der Beschreibung
in 7C authentifiziert werden, wobei die sicherheitsbezogenen
ausführbaren
Programme verfälschungssicher
sind, wobei die Authentifizierung jedoch innerhalb der Hardware-Verarbeitungslogik 930 ausgeführt wird.
-
Die
vorliegende Erfindung wurde zwar in Bezug auf veranschaulichende
Ausführungsbeispiele beschrieben,
wobei die vorliegende Beschreibung jedoch nicht einschränkend auszulegen
ist. Verschiedene Modifikationen der veranschaulichenden Ausführungsbeispiele
sowie anderer Ausführungsbeispiele
der vorliegenden Erfindung, die für den Fachmann auf dem Gebiet,
an den sich die vorliegende Erfindung richtet, offensichtlich sind,
entsprechen dem Umfang der vorliegenden Erfindung gemäß der Definition
in den Ansprüchen.