TECHNISCHES GEBIET
Die vorliegende Erfindung betrifft allgemein ein System zum Einschränken
des Zugangs zu gesendetem Programminhalt und insbesondere ein System zum Senden
eines verschlüsselten Programms zusammen mit dem zum Verschlüsseln des
Programms verwendeten Verschlüsselungsschlüssel.
ALLGEMEINER STAND DER TECHNIK
Mit zunehmender Anzahl der Fernsehzuschauern verfügbaren Kanäle
zusammen mit der Diversität des auf solchen Kanälen verfügbaren Programminhalts
ist es für Dienstanbieter wie zum Beispiel Kabelfernsehbetreiber oder Digital-Satellitendienstbetreiber
immer schwieriger geworden, Kanal- und Programmpakete anzubieten, die den größten
Teil der Fernsehzuschauerpopulation zufriedenstellt. Die Entwicklung von Paketen,
die Kunden angeboten werden können, ist im allgemeinen eine Marketing-Funktion.
Im allgemeinen möchte ein Dienstanbieter Pakete verschiedener Größen
von einem einzigen Programm bis zu allen Programmen und verschiedene Kombinationen
dazwischen anbieten.
Der Dienstanbieter strahlt die Fernsehprogramme in der Regel von einem
häufig als „Headend" bezeichneten Sender zu einer großen Kundenpopulation
aus. Jeder Kunde wird in der Regel nur für eine Teilmenge des empfangenen Programmaterials,
die mit erworbenen Paketen assoziiert ist, berechtigt. Zum Beispiel kann in einer
drahtlosen Ausstrahlungsumgebung das gesendete Programmaterial von beliebigen Personen
mit einem entsprechenden Empfänger, wie zum Beispiel einer Antenne oder einer
Satellitenschüssel, empfangen werden. Um den Zugang zu einem gesendeten Programm
auf autorisierte Kunden zu beschränken, die das erforderliche Paket erworben
haben, verschlüsselt der Dienstanbieter in der Regel die gesendeten Programme
und gibt dem Kunden einen Digitalreceiver (STT – Set-Top Terminal), der einen
oder mehrere Entschlüsselungsschlüssel enthält, mit denen man Programme,
zu denen ein Kunde berechtigt ist, entschlüsseln kann. Auf diese Weise empfängt
der Digitalreceiver verschlüsselte Übertragungen und entschlüsselt
die Programme, zu denen der Kunde berechtigt ist, aber nichts Weiteres.
Um ein unerlaubtes Kopieren der in den Digitalreceivern gespeicherten
sehr heiklen Informationen, darunter die gespeicherten Entschlüsselungsschlüssel,
zu minimieren, enthalten die Digitalreceiver in der Regel einen sicheren Prozeßor
und sicheren Speicher in der Regel mit einer Kapazität in der Größenordnung
von einigen wenigen Kilobit zum Speichern der Entschlüsselungsschlüssel.
Der sichere Speicher ist im allgemeinen nicht flüchtig und manipulationsbeständig.
Zusätzlich ist der sichere Speicher vorzugsweise beschreibbar, so daß
die Schlüssel gegebenenfalls umprogrammiert werden können, zum Beispiel
für jeden Abrechnungszeitraum. Die begrenzte sichere Speicherkapazität
herkömmlicher Digitalreceiver begrenzt die Anzahl der Schlüssel, die gespeichert
werden können, und begrenzt dadurch die Anzahl der Pakete, die ein Dienstanbieter
anbieten kann. Es wird angemerkt, daß die Anzahl der Programme, die in der
Regel von einem Dienstanbieter während eines monatlichen Abrechnungszeitraums
ausgestrahlt werden, in der Größenordnung von 200.000 liegen kann.
Bei einer Variante enthalten herkömmliche Digitalreceiver einen
Bitvektor mit einem Biteintrag entsprechend jedem von dem Dienstanbieter angebotenem
Programmpaket. In der Regel entspricht jedes Paket einem Fernsehkanal. Wenn ein
bestimmter Kunde zu einem Paket berechtigt ist, wird der entsprechende Biteintrag
in den in dem Digitalreceiver gespeicherten Bitvektor auf Eins („1") gesetzt.
Danach werden alle vom Dienstanbieter gesendeten Programme mit einem einzigen Schlüssel
verschlüsselt. Beim Empfang eines gegebenen Programms greift der Digitalreceiver
auf den Bitvektor zu, um zu bestimmen, ob der entsprechende Biteintrag gesetzt wurde.
Wenn der Biteintrag gesetzt wurde, benutzt der Digitalreceiver einen einzigen gespeicherten
Entschlüsselungsschlüssel zum Entschlüsseln des Programms.
Obwohl theoretisch bei dem Bitvektorverfahren Flexibilität erzielt
wird, indem ein Biteintrag für jedes Programm bereitgestellt wird, wäre
die Länge des Bitvektors in einem System, das viele Programme in einem einzigen
Abrechnungszeitraum sendet, nicht praktikabel. Zusätzlich wird Zugangskontrolle
in einem solchen System ausschließlich durch die Einträge in dem Bitvektor
bereitgestellt und ist nicht kryptographisch. Wenn also ein Kunde den Bitvektor
überschreiben kann und alle Bit auf Eins („1") setzt, erhält der
Kunde Zugang zu allen Programmen.
Bei einer weiteren Variante werden Programme in Pakete unterteilt
und alle Programme in einem gegebenen Paket werden unter Verwendung desselben Schlüssels
verschlüsselt. Wieder entspricht jedes Paket in der Regel einem Fernsehkanal.
Der Digitalreceiver speichert einen Entschlüsselungsschlüssel für
jedes Paket, zu dem der Kunde berechtigt ist. Wenn ein Programm in mehreren Paketen
enthalten sein soll, muß das Programm somit für jedes assoziierte Paket
neu gesendet werden, wobei jede Übertragung mit dem dem bestimmten Paket entsprechenden
Verschlüsselungsschlüssel verschlüsselt wird. Obwohl die Zugangskontrolle
kryptographisch ist, hält das mit dem mehrmaligen Neusenden
eines gegebenen Programms assoziierte Overhead Dienstanbieter davon ab, daßelbe
Programm in eine Anzahl von Paketen zu legen und begrenzt dadurch die Flexibilität
beim Entwurf von Programmpaketen.
Obwohl solche vorherigen Systeme zum Verschlüsseln und Senden
von Programminhalt beim Einschränken des Zugangs auf autorisierte Kunden relativ
erfolgreich waren, erlauben sie es einem Dienstanbieter, wie zum Beispiel einem
Fernsehnetzwerk, nicht, Kunden viele verschiedene Pakete anzubieten, die verschiedene
Anzahlen von Programmen enthalten, ohne die begrenzte sichere Speicherkapazität
des Digitalreceivers zu überschreiten. Aus den oben beschriebenen Unzulänglichkeiten
bei herkömmlichen Systemen zum Senden von verschlüsseltem Programminhalt
geht hervor, daß ein System zum Senden eines mit einem einzigartigen Schlüssel
verschlüsselten Programms zusammen mit dem zum Verschlüsseln des Programms
verwendeten einzigartigen Schlüssel benötigt wird. Weiterhin wir ein System
benötigt, das es einem Dienstanbieter gestattet, ein Programm in mehrere Pakete
aufzunehmen, ohne daß es erforderlich ist, daß der Dienstanbieter das
Programm für jedes Paket neu sendet. Weiterhin wird ein Zugangskontrollsystem
benötigt, das die Begrenzungen bezüglich sicheren Speichers des Digitalreceivers
überwindet, ohne das mit dem gesendeten Programminhalt assoziierte Overhead
signifikant zu vergrößern.
Die europäische Patentanmeldung EP
0 755 154 A2 betrifft die Bereitstellung eines Impulseinkaufs von Kunden
über ein Informationsnetz angebotenen Dienstpaketen. Für individuellen
impulsartigen Erwerb werden über ein an das Informationsnetz angekoppeltes
Benutzerendgerät mehrere Dienste angeboten. Die mehreren Dienste werden zum
Kauf als Paket mit Bedingungen angeboten, die günstiger sein können, als
wenn Dienste einzeln gekauft werden. Nach dem Kauf eines Pakets wird für den
Zugang durch das Benutzerendgerät ein Paketdatensatz eingerichtet. Der Paketdatensatz
liefert kryptographisch sicheren Zugang zu in dem Paket bereitgestellten Diensten
während eines definierten Zeitraums, für den das Paket gültig ist.
Obwohl solche vorherigen Systeme zum Verschlüsseln und Senden
von Programminhalt bei der Einschränkung des Zugangs auf autorisierte Kunden
relativ erfolgreich waren, gestatten sie es einem Dienstanbieter, wie zum Beispiel
einem Fernsehnetzwerk, nicht, Kunden viele verschiedene Pakete anzubieten, die verschiedene
Anzahlen von Programmen enthalten, ohne die begrenzte sichere Speicherkapazität
des Digitalreceivers zu übersteigen. Wie aus den oben beschriebenen Unzulänglichkeiten
bei herkömmlichen Systemen zum Senden von verschlüsseltem Programminhalt
hervorgeht, wird ein System zum Senden eines mit einem einzigartigen Schlüssel
verschlüsselten Programms zusammen mit dem zum Verschlüsseln des Programms
verwendeten einzigartigen Schlüssel benötigt. Weiterhin wird ein System
benötigt, daß es einem Dienstanbieter gestattet, ein Programm in mehrere
Pakete aufzunehmen, ohne daß der Dienstanbieter das Programm für jedes
Paket neu senden muß. Weiterhin wird ein Zugangskontrollsystem benötigt,
das die Begrenzungen sicheren Speichers des Digitalreceivers überwindet, ohne
daß mit dem gesendeten Programminhalt assoziierte Overhead signifikant zu vergrößern.
KURZFASSUNG DER ERFINDUNG
Im allgemeinen wird verschlüsselter Programminhalt durch einen
Dienstanbieter unter Verwendung eines Senders oder Headend-Servers zu einem oder
mehreren Kunden gesendet. Gemäß einem Aspekt der Erfindung wird der zum
Verschlüsseln des Programms verwendete Verschlüsselungsschlüssel
mit dem Programminhalt zu dem Kunden gesendet. Jeder Kunde besitzt vorzugsweise
einen Digitalreceiver oder einen anderen Mechanismus zum Einschränken des Zugangs
zu den gesendeten Multimediainformationen, der Entschlüsselungsschlüssel
verwendet. Gemäß einem weiteren Aspekt der Erfindung empfängt der
Digitalreceiver vorzugsweise periodisch von dem Headend einen oder mehrere Paketschlüssel
SJ, die jeweils einem Programmpaket entsprechen, zu dem der Kunde für einen
gegebenen Zeitraum berechtigt ist.
Jedes Programm wird vorzugsweise vor der Übertragung durch den
Headend-Server unter Verwendung eines Programmschlüssels KP, der für das
Programm einzigartig sein kann, verschlüsselt. Zusätzlich zu dem Senden
des verschlüsselten Programms sendet der Headend-Server vorzugsweise Kopfteilinformationen
zu den Kunden, die für jedes Paket, zu dem das Programm gehört, ein Paketpaar
enthalten. Ein Paketpaar enthält vorzugsweise eine Kennung des Pakets sowie
den Programmschlüssel KP, verschlüsselt durch den entsprechenden Paketschlüssel
SJ. Bei einer Ausführungsform besteht die Ausstrahlung eines gegebenen Programms
p somit aus einem Kopfteil, der ein Paketpaar für jedes Paket, zu dem das Programm
gehört, enthält, und einem Programmteil, der das mit dem Programmschlüssel
KP verschlüsselte Programm enthält. Wenn ein Kunde zu einem bestimmten
Programm berechtigt ist, kann der Digitalreceiver auf diese Weise den verschlüsselten
Programmschlüssel KP unter Verwendung des entsprechenden gespeicherten Paketschlüssels
SJ entschlüsseln und danach mit dem Programmschlüssel KP das verschlüsselte
Programm entschlüsseln. Bei verschiedenen Ausführungsformen können
die Kopfteilinformationen mit dem Programmteil verschachtelt oder auf einem separaten
eigenen Steuerkanal gesendet werden.
Ein vollständigeres Verständnis der vorliegenden Erfindung
sowie weitere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich durch
Bezugnahme auf die folgende ausführliche Beschreibung und die Zeichnungen.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
1 ist ein Blockschaltbild eines Systems zum Senden
von verschlüsseltem Programminhalt gemäß einer Ausführungsform
der vorliegenden Erfindung;
2 ist ein Beispiel für das Datenformat eines verschlüsselten
Programms zusammen mit einem Paketpaar für jedes Paket, zu dem das Programm
gehört, das den zum Verschlüsseln des Programms verwendeten Verschlüsselungsschlüssel
enthält;
3 ist ein Blockschaltbild eines beispielhaften Headend-Servers
von 1;
4 ist ein Blockschaltbild eines beispielhaften Empfängers
von 1;
5 zeigt eine Probe einer Tabelle aus der Programmdatenbank
von 4;
6 zeigt eine Probe einer Tabelle aus der Paketdatenbank
von 4;
7 zeigt eine Probe einer Tabelle aus der Berechtigungsdatenbank
von 5;
8 ist ein Flußdiagramm eines beispielhaften Sendeprozeßes,
so wie er durch den Headend-Server von 3 implementiert
wird; und
9a und 9b sind kollektiv
ein Flußdiagramm eines beispielhaften Decodierungsprozeßes, so wie er
durch den Empfänger von 4 implementiert wird.
AUSFÜHRLICHE BESCHREIBUNG
1 zeigt eine beispielhafte Netzwerkumgebung für
den Transfer von verschlüsselten Multimedia-Informationen, wie etwa Video,
Audio und Daten, von einem Dienstanbieter unter Verwendung eines Senders, wie etwa
eines Headend-Servers 300, zu einem oder mehreren Kunden mit Digitalreceivern
400–401, wie zum Beispiel dem Digitalreceiver
400, über eines oder mehrere Verteilernetze 110. Im vorliegenden
Gebrauch umfaßt Digitalreceiver jeden Mechanismus zum Einschränken des
Zugangs zu den gesendeten Multimedia-Informationen unter Verwendung von Entschlüsselungsschlüsseln,
einschließlich zum Beispiel einer Computerkonfiguration sowie von Telekommunikationsgeräten.
Es ist möglich, daß durch den Digitalreceiver ausgeführte Software
durch den Dienstanbieter hinuntergeladen wird. Das Verteilernetz 110 kann
ein drahtloses Ausstrahlungsnetz zur Verteilung von Programminhalt sein, wie zum
Beispiel ein digitaler Satellitendienst („DSS") oder ein herkömmliches
verdrahtetes Netzwerk, wie zum Beispiel das Kabelfernsehnetz („CATV"), das
öffentliche Fernsprechwählnetz („PSTN"), ein optisches Netzwerk,
ein breitbandiges dienstintegriertes Netzwerk („ISDN") oder das Internet.
Gemäß einem Merkmal der vorliegenden Erfindung empfängt
der nachfolgend ausführlicher in Verbindung mit 4
besprochene Digitalreceiver 400 in Abständen einen oder mehrere Paketschlüssel
SJ von dem Headend-Server 300, der nachfolgend in Verbindung mit
3 ausführlicher besprochen wird, die jeweils einem
Paket entsprechen, zu dem der Kunde für einen gegebenen Zeitraum, wie zum Beispiel
einen Abrechnungszeitraum, berechtigt ist. Im vorliegenden Gebrauch wird ein Paket
als eine Menge von Programmen vordefiniert, und ein gegebenes Programm kann zu einen
oder mehreren Paketen gehören. Ein Programm ist eine beliebige kontinuierliche
Multimedia-Übertragung einer bestimmten Länge, wie zum Beispiel eine Fernsehepisode
oder ein Spielfilm. Die Paketschlüssel SJ können unter Verwendung eines
beliebigen geeigneten sicheren unidirektionalen oder bidirektionalen Protokolls,
wie für Durchschnittsfachleute verständlich ist, von dem Headend-Server
300 zu dem Digitalreceiver 400 heruntergeladen werden.
Wie später ausführlicher besprochen wird, wird jedes gesendete
Programm durch den Headend-Server 300 unter Verwendung eines Programmschlüssels
KP, der für das Programm einzigartig sein kann, verschlüsselt. Eine ausführliche
Besprechung geeigneter Verschlüsselungs- und Sicherheitstechniken findet man
in B. Schneier, Applied Cryptography (2. Auflage 1997). Zusätzlich zu dem Senden
des verschlüsselten Programms sendet der Headend-Server 300 außerdem
Kopfteilinformationen zu den Digitalreceivern 400, die für jedes Paket,
zu dem das Programm gehört, ein Paketpaar enthalten. Ein Paketpaar enthält
eine Kennung des Pakets sowie den Programmschlüssel KP, verschlüsselt
durch den entsprechenden Paketschlüssel SJ.
Wie in 2 gezeigt, besteht die Ausstrahlung
eines gegebenen Programms p somit aus einem Kopfteil 210, der ein Paketpaar
230 für jedes Paket, zu dem das Programm gehört, enthält,
und einem Programmteil 220, der das mit dem Programmschlüssel KP verschlüsselte
Programm enthält. Auf diese weise kann, wenn ein Kunde zu einem bestimmten
Programm berechtigt ist, der Digitalreceiver 400 den verschlüsselten
Programmschlüssel KP unter Verwendung des entsprechenden gespeicherten
Paketschlüssels SJ entschlüsseln und danach mit dem Programmschlüssel
KP das verschlüsselte Programm entschlüsseln.
3 ist ein Blockschaltbild der Architektur eines beispielhaften
Headend-Servers 300. Das Headend kann mit einem Fernsehnetzwerk, einem
Kabelbetreiber, einem Betreiber eines digitalen Satellitendienstes oder einem beliebigen
verschlüsselten Programminhalt sendendem Dienstanbieter assoziiert sein. Der
Headend-Server 300 kann zum Beispiel als ein Server des Typs RS 6000 realisiert
werden, der von der IBM Corp. hergestellt und hier so modifiziert wird, daß
er die Funktionen und Operationen der vorliegenden Erfindung ausführt. Der
Headend-Server 300 enthält vorzugsweise einen Prozeßor
310 und diesbezüglichen Speicher, wie zum Beispiel eine Datenspeichereinrichtung
320. Der Prozeßor 310 kann als ein einziger Prozeßor
oder als eine Anzahl parallel arbeitender Prozeßoren realisiert werden. Die
Datenspeichereinrichtung 320 und/oder ein Nur-Lesespeicher (ROM) sind betreibbar,
um eine oder mehrere Anweisungen zu speichern, die der Prozeßor 310
abrufen, interpretieren und ausführen kann. Der Prozeßor 310
enthält vorzugsweise eine Steuereinheit, eine Arithmetik-Logik-Einheit (ALU)
und eine lokale Speichereinrichtung, wie zum Beispiel einen Anweisungs-Cache oder
mehrere Register auf bekannte Weise. Die Steuereinheit ist betreibbar, um Anweisungen
aus der Datenspeichereinrichtung 320 oder dem ROM abzurufen. Die ALU ist
betreibbar, um mehrere Operationen durchzuführen, die notwendig sind, um Anweisungen
auszuführen. Die lokale Speichereinrichtung ist betreibbar, um schnelle Speicherung
zum Speichern von temporären Ergebnissen und Steuerinformationen bereitzustellen.
Wie nachfolgend ausführlicher in Verbindung mit 5
und 6 besprochen werden wird, enthält die Datenspeichereinrichtung
320 vorzugsweise eine Programmdatenbank 500 und eine Paketdatenbank
600. Die Programmdatenbank 500 speichert vorzugsweise Informationen
über jedes Programm p, das durch den Headend-Server 300 zum Beispiel
während eines gegebenen Abrechnungszeitraums gesendet wird, einschließlich
der Pakete, zu denen das Programm gehört, und des entsprechenden Programmschlüssels
KP. Die Paketdatenbank 600 speichert vorzugsweise Informationen über
jedes von dem Headend-Server 300 Kunden angebotene Paket, einschließlich
des Namens jedes Pakets und des entsprechenden Paketschlüssels SJ.
Wie nachfolgend ausführlicher in Verbindung mit 8
besprochen werden wird, enthält die Datenspeichereinrichtung 320 vorzugsweise
zusätzlich einen Sendeprozeß 800. Im allgemeinen identifiziert
der Sendeprozeß 800 den Programmschlüssel KP eines gegebenen
Programms und die Pakete, zu denen das Programm gehört, um die zusammen mit
dem verschlüsselten Programm zu sendenden Paketpaare zu erzeugen. Der Kommunikationsport
330 verbindet den Headend-Server 300 mit dem Verteilernetz
110 und verknüpft dadurch den Headend-Server 300 mit jedem
angeschlossenen Empfänger, wie zum Beispiel dem in 1
gezeigten Digitalreceiver 400.
4 ist ein Blockschaltbild der Architektur eines beispielhaften
Digitalreceivers 400. Der Digitalreceiver 400 kann zum Beispiel
als ein Digitalreceiver (STT) realisiert werden, der mit einem Fernsehgerät,
wie zum Beispiel einem im Handel von General Instruments Corp. erhältlichen,
assoziiert ist, und hier modifiziert wird, um die Funktionen und Operationen der
vorliegenden Erfindung auszuführen. Der Digitalreceiver 400 enthält
vorzugsweise einen Prozeßor 410 und diesbezüglichen Speicher,
wie zum Beispiel eine Datenspeichereinrichtung 420 sowie einen Kommunikationsport
430, die auf ähnliche Weise wie die oben in Verbindung mit
3 beschriebene Hardware wirken.
Wie nachfolgend ausführlicher in Verbindung mit 7
besprochen werden wird, enthält die Datenspeichereinrichtung 420 vorzugsweise
eine Berechtigungsdatenbank 700. Die Berechtigungsdatenbank 700
wird vorzugsweise in einem sicheren Teil der Datenspeichereinrichtung
420 gespeichert. Die Berechtigungsdatenbank 700 speichert vorzugsweise
eine Paketkennung und den entsprechenden Paketschlüssel SJ für jedes Paket,
zu dem der Kunde berechtigt ist. Wie nachfolgend in Verbindung mit 9a
und 9b ausführlicher besprochen werden wird, enthält
die Datenspeichereinrichtung 420 vorzugsweise zusätzlich einen Decodierungsprozeß
900. Der Decodierungsprozeß 900 entschlüsselt im allgemeinen
Programme zu denen ein Kunde berechtigt ist, durch Verwendung des entsprechenden
gespeicherten Paketschlüssels SJ, um den gesendeten Programmschlüssel
KP zu entschlüsseln und dann unter Verwendung des Programmschlüssels KP
das Programm zu entschlüsseln.
5 zeigt eine beispielhafte Programmdatenbank
500, die vorzugsweise Informationen über jedes Programm p speichert,
das durch den Headend-Server 300 zum Beispiel während eines gegebenen
Abrechnungszeitraums gesendet wird, einschließlich der Pakete, zu denen das
Programm gehört, und des entsprechenden Programmschlüssels KP. Die Programmdatenbank
500 führt mehrere Datensätze, wie zum Beispiel die Datensätze
505–520, die jeweils mit einem verschiedenen Programm assoziiert
sind. Für jedes durch Programmnamen in dem Feld 525 identifiziertes
Programm enthält die Programmdatenbank 500 eine Angabe der entsprechenden
Pakete, zu denen das Programm gehört, in dem Feld
530 und den entsprechenden Programmschlüssel KP in dem Feld
535.
6 zeigt eine beispielhafte Paketdatenbank
600, die vorzugsweise Informationen über jedes durch den Headend-Server
300 Kunden angebotene Paket speichert, einschließlich des Namens jedes
Pakets und des entsprechenden Paketschlüssels SJ. Die Paketdatenbank
600 führt mehrere Datensätze, wie zum Beispiel die Datensätze
605–640, die jeweils mit einem verschiedenen Paket assoziiert
sind. Für jedes durch eine Paketkennung in dem Feld 650 identifizierte
Paket enthält die Paketdatenbank 600 eine Angabe des entsprechenden
Paketnamens in dem Feld 660 und des entsprechenden Paketschlüssels
SJ in dem Feld 670.
7 zeigt eine beispielhafte Berechtigungsdatenbank
700, die vorzugsweise eine Paketkennung und den entsprechenden Paketschlüssel
SJ für jedes Paket speichert, zu dem der Kunde berechtigt ist. Die Berechtigungsdatenbank
700 führt mehrere Datensätze, wie zum Beispiel die Datensätze
710–720, die jeweils mit einem verschiedenen berechtigten
Paket assoziiert sind. Für jedes durch eine Paketkennung in dem Feld
725 identifizierte Paket enthält die Berechtigungsdatenbank
700 eine Angabe des entsprechenden Paketschlüssels SJ in dem Feld
735.
Wie oben besprochen, führt der Headend-Server 300 vorzugsweise
einen in 8 gezeigten Sendeprozeß 800
aus, um den Programmschlüssel KP eines gegebenen Programms und die Pakete,
zu denen das Programm gehört, zu identifizieren, um die zusammen mit dem verschlüsselten
Programm zu sendenden Paketpaare zu erzeugen. Es wird angemerkt, daß der Sendeprozeß
800 mit Ausnahme des eigentlichen Übertragungsschritts offline oder
in Echtzeit ausgeführt werden kann. Wie in 8 dargestellt,
beginnt der Sendeprozeß 800 die die Prinzipien der vorliegenden Erfindung
realisierenden Prozeße während des Schritts 810, indem ein zu
sendendes Programm identifiziert wird.
Danach ruft der Sendeprozeß 800 im Schritt
820 den dem Programm entsprechenden Programmschlüssel KP und die Liste
der Pakete, zu denen das Programm gehört, aus der Programmdatenbank
500 ab. Für jedes Paket, zu dem das Programm gehört, ruft der
Sendeprozeß 800 dann die Paketkennung und den entsprechenden Paketschlüssel
SJ aus der Paketdatenbank 600 ab, um ein in die gesendeten Kopfteilinformationen
aufzunehmendes Paketpaar zu erzeugen.
Das Programm wird dann im Schritt 840 mit dem im Schritt
820 abgerufenen Programmschlüssel KP verschlüsselt. Als letztes
sendet der Sendeprozeß 800 in Schritt 850 das verschlüsselte
Programm zusammen mit der Menge von Paketpaaren, bevor die Programmsteuerung im
Schritt 860 endet. Es wird angemerkt, daß die Kopfteilinformationen,
die die Paketpaare enthalten, vorzugsweise im Verlauf der Übertragung der Programminformationen
periodisch verschachtelt gesendet werden, so daß ein Kunde während eines
Programms Kanäle wechseln und die gesendeten Schlüssel erhalten kann,
die zum Entschlüsseln des Programms erforderlich sind. Das durch periodisches
Senden der Kopfteilinformationen entstehende Overhead sollte gegen die Verzögerung
abgewogen werden, die ein Kunde nach dem Wechsel eines Kanals erfährt, bis
die erforderlichen Entschlüsselungsschlüssel erhalten werden. Bei einer
alternativen Ausführungsform können die Kopfteilinformationen, die die
Paketpaare enthalten, kontinuierlich auf einem separaten Steuerkanal, wie zum Beispiel
einem Barker-Kanal, gesendet werden.
Wie bereits erwähnt, führt der Digitalreceiver
400 vorzugsweise einen in 9a und
9b gezeigten Decodierungsprozeß 900 aus,
um Programme, zu denen ein Kunde berechtigt ist, zu entschlüsseln, indem der
entsprechende gespeicherte Paketschlüssel SJ verwendet wird, um den gesendeten
Programmschlüssel KP zu entschlüsseln, und dann der Programmschlüssel
KP zum Entschlüsseln des Programms verwendet wird. Wie in 9a
dargestellt, beginnt der Decodierungsprozeß 900 die die Prinzipien
der vorliegenden Erfindung realisierenden Prozeße im Schritt 910 nach
dem Empfang einer Kundenanweisung, einen bestimmten Kanal einzustellen.
Danach stellt sich der Digitalreceiver 400 im Schritt
920 auf den angeforderten Kanal ein, um das entsprechende Signal zu empfangen.
Der Decodierungsprozeß 900 ruft dann im Schritt 930 die gesendeten
Paketpaare für das auf dem angeforderten Kanal gesendete Programm ab. Im Schritt
940 wird dann geprüft, ob der Kunde zu einem das angeforderte Programm
enthaltenden Paket berechtigt ist. Zum Beispiel bestimmt der Decodierungsprozeß
900, ob eine Paketkennung aus einem der im Schritt 930 abgerufenen
Paketpaare mit einer in der Berechtigungsdatenbank 700 gespeicherten Paketkennung
übereinstimmen.
Wenn im Schritt 940 bestimmt wird, daß der Kunde nicht
zu einem das angeforderte Programm enthaltenden Paket berechtigt ist, wird vorzugsweise
im Schritt 950 eine Nachricht zu dem Kunden gesendet, die angibt, daß
der Kunde nicht berechtigt ist, das gewählte Programm anzuschauen, bevor die
Programmsteuerung im Schritt 960 endet. Wenn im Schritt 940 jedoch
bestimmt wird, daß der Kunde zu einem das angeforderte Programm enthaltenden
Paket berechtigt ist, schreitet die Programmsteuerung zum Schritt 970 (9b)
voran.
Wenn der Kunde berechtigt ist, das angeforderte Programm anzuschauen,
ruft der Decodierungsprozeß 900 den dem berechtigten Paket entsprechenden
Paketschlüssel SJ im Schritt 970 aus der Berechtigungsdatenbank
700 ab und verwendet den abgerufenen Paketschlüssel SJ im Schritt
980 zum Entschlüsseln des in den gesendeten Kopfteilinformationen
oder auf einem separaten Steuerkanal enthaltenen gesendeten Programmschlüssels.
Als letztes wird im Schritt 990 unter Verwendung des Programmschlüssels
KP im Schritt 990 das Programm selbst entschlüsselt, bevor die Programmsteuerung
im Schritt 995 endet.
Es wird angemerkt, daß der Decodierungsprozeß
900 darauf warten kann, daß der Kunde einen bestimmten Kanal anfordert,
bevor er versucht, die gesendeten Entschlüsselungsschlüssel zu erhalten
und wie oben beschrieben zu bestimmen, ob der Kunde zu dem angeforderten Kanal berechtigt
ist, oder der Decodierungsprozeß 900 kann als Alternative periodisch
alle Kanäle scannen, um die gesendeten Paketpaare zur Speicherung in der Datenspeichereinrichtung
420 zu erhalten und die Berechtigung des Kunden im voraus zu bestimmen.
Es versteht sich, daß die hier gezeigten und beschriebenen Ausführungsformen
und Varianten lediglich die Prinzipien der vorliegenden Erfindung veranschaulichen
und daß Fachleute verschiedene Modifikationen implementieren können, ohne
von dem Schutzumfang der Erfindung abzuweichen.