-
Die vorliegende Erfindung betrifft
das Gebiet der digitalen Signalverarbeitung und insbesondere die
Verarbeitung mit einem bedingten Zugriff, die Dekodierung und zum
Beispiel die Formatierung von verschlüsselten Paketdaten für die Speicherung durch
einen Konsumerempfänger
für Rundfunk-,
Satelliten-, oder Kabel-Videomaterial.
-
In Anwendungen mit einer Videoverarbeitung
und -Speicherung werdendigitale Vi- deodaten im allgemeinen so kodiert,
dass sie den Anforderungen einer bekannten Norm entsprechen. Eine
derartige, allgemein eingeführte
Norm ist die MPEG2 (Mving Picture Expert Group)-Norm für die Bildkodierung,
im folgenden mit "MPEG-Norm" bezeichnet. Die
MPEG-Norm besteht aus einem System-Kodierabschnitt (ISO/IEC 13818-1,
10. Juni 1994) und einem Video-Kodierabschnitt (ISO/IEC 13818-2,
20. Januar 1995), hier im folgenden mit "MPEG-System-Norm" bzw. "MPEG-Videonorm" bezeichnet. Nach der MPEG-Norm kodierte
Videodaten haben die Form eines paketierten Datenstroms, der im
allgemeinen den Dateninhalt mehrerer Programmkanäle enthält (z. B. analog zu den Kanälen 1–125 im
Kabelfernsehen). Der Dateninhalt von Prämien-Programmkanälen, wie
zum Beispiel HBOTM, CinemaxTM und
ShowtimeTM, im allgemeinen gegenüber einem unberechtigten
Zugriff durch Verfahren geschützt, wie
eine Verschlüsselung
und eine Verschachtelung. Diese Verfahren können alleine, wiederholt oder
in Kombination benutzt werden, um mehrere Schutzstufen zu bilden.
-
In einem Dekoder wird der Zugriff
zu den Prämien-Kanälen im allgemeinen
durch ein System für
einen bedingten Zugriff gesteuert, das die Benutzer-Zahlungsbelastung
verwaltet, und steuert das Programm der Entwürfelung und Entschlüsselung aufgrund
einer Benutzerberechtigung. Das System für den bedingten Zugriff kann
ermitteln, ob der Zugriff auf verschiedene Weise berechtigt ist.
Zum Beispiel kann die Berechtigung in dem Dekoder aus den Benutzer-Berechtigungsinformationen
ermittelt werden, die auf einer sogenannten Smart Card vorprogrammiert
sind. Alternativ kann die Berechtigung an einer entfernten Stelle
ermittelt und unter Anwendung von Berechtigungsinformationen durchgeführt werden,
die von der entfernten Stelle übertragen
werden, wie in einem Kabel-Gebührenfernseh-Service. Die
Berechti gungsinformationen enthalten im allgemeinen Codes, die zur
Erzeugung der Entwürfelungs-
und Entschlüsselungs-Schlüssel dienen,
die zur Entwürfelung
und die Entschlüsselung
des Programms dienen. Jedoch können
die Berechtigungsinformationen stattdessen die Schlüssel selbst
enthalten.
-
Die Verarbeitung von verschlüsselten
und nicht-verschlüsselten
Programmdaten und die Verwaltung der zugehörigen Verschlüsselungs-
und Verwürfelungs-Codes
für die
Speicherung, die Berechnung oder Belastung und andere Anwendungen
stellen eine Anzahl von Problemen dar. Ein Problem ergibt sich aus
der Notwendigkeit, die Verschlüsselungs-Code-Sicherheit
aufrechtzuerhalten, wenn ein Programm von einem Verbraucher in einer
verschlüsselten
oder nicht-verschlüsselten
Form für eine
Betrachtung zu einer späteren
Zeit gespeichert wird. Weitere Probleme liegen in der Schaffung
eines Systems, das die Berechnung für die Speicherung und die Wiedergabe
eines Programms und eine gegen Kopieren geschützte Verarbeitung der verschlüsselten
und nicht-verschlüsselten
Programmdaten ermöglicht.
-
Diese Probleme werden durch ein System gemäß der vorliegenden
Erfindung behandelt. Im folgenden umfaßt der Ausdruck "Verschlüsselung" Verwürfelungs-Funktionen in dem
Ausmaß,
wie die Funktionen zur Verhinderung einer unberechtigten Benutzung
angewendet werden.
-
In einem Dekodersystem, das verschlüsselte Programmdaten
zur Bildung von entschlüsselten Programmdaten
für die
Ausgabe verarbeitet, ergibt sich ein Kompromiß in der Sicherheit des Verschlüsselungs-Schlüssels, wenn
Verschlüsselungs-Schlüssel von
dem Dekoder abgeleitet werden. Insbesondere wird ein Kompromiß für die Sicherheit
geschaffen, wenn Verschüsselungs-Schlüssel oder
Verschlüsselungs-Codes,
von denen Schlüssel
abgeleitet werden, einen Zugriff durch dritte Parteien erhalten.
Das kann zum Beispiel erfolgen, wenn Verschlüsselungs-Schlüssel von
einem Dekoder ausgegeben oder auf einem herausnehmbaren Speichermedium
gespeichert oder auf andere Weise extern zugänglich werden. Sobald Schlüssel extern
zugänglich
sind, zum Beispiel auf einem Speichermedium, ist ihre Sicherheit
abhängig
von der Verfeinerung der Rückwärts-Technik
und der Code-brechenden oder "knackenden" Lösungen.
Die Erfinder haben erkannt, dass es erwünscht ist, einen Dekoder vorzusehen, der
in der Lage ist, die Ausgabe eines Verschlüsselungs-Codes oder -Schlüssels zu verhindern.
-
Gemäß den Prinzipien der vorliegenden
Erfindung schließt
ein Dekoder einen Verschlüsselungs-Code
oder -Schlüssel
von verschlüsselten oder
nichtverschlüsselten
Programmausgangsdaten aus.
-
Die Erfindung ist in den beigefügten Ansprüchen 1 und
4 angegeben. Bevorzugte Ausführungsformen
sind in den abhängigen
Ansprüchen
angegeben.
-
Kurzbeschreibung
der Zeichnung
-
Zur Zeichnung:
-
1 zeigt
ein Video-Empfängersystem
gemäß der Erfindung
zur adaptiven Erzeugung eines ein Programm darstellenden Datenstroms
in einer durch den Benutzer wählbaren,
verschlüsselten
oder nicht-verschlüsselten
Form.
-
2 und 3 zeigen ein Verarbeitungs-Flußdiagramm
zur Bildung eins ein Programm darstellenden Datenstroms, der für die Speicherung
auf einem wählbaren
Speichermedium und für
die Durchführung
der Rechnungsstellung oder Belastung für den Benutzer geeignet ist.
-
4 zeigt
ein Flußdiagramm
für einen
Vorgang zur Rückgewinnung
gewählter,
verschlüsselter oder
nicht-verschlüsselten
Programmnen von einer gewählten
Speichereinheit und für
die Rechnungsstellung für
einen Benutzer aufgrund der Programmrückgewinnung.
-
1 zeigt
ein Videoempfänger-System
gemäß der Erfindung
zur adaptiven Erzeugung eines ein Programm darstellenden Datenstroms
in einer durch den Benutzer wählbaren,
verschlüsselten
oder nicht-verschlüsselten
Form. Wenngleich das dargestellte System im Zusammenhang mit einem MPEG-kompatiblen
System für
den Empfang von MPEG-kodierten, Rundfunkprogramme darstellenden
Transportströmen
beschrieben wird, ist dies nur beispielhaft. Die Prinzipien der
Erfindung können auf andere
Systemtypen angewendet werden, einschließlich nicht-MPEG-kompatible
Systeme, mit Anwendung von anderen Typen von kodierten Datenströmen. Außerdem ist
dieses, wenngleich das dargestellte System als die Verarbeitung
von Rundfunkprogrammen beschrieben wird, nur beispielhaft. Der Ausdruck "Programm" dient zur Bezeichnung
jeder Form von paketierten Daten, wie zum Beispiel Telefonnachrichten,
Computerprogramme, Internet-Daten oder andere Kommunikationen.
-
Im Überblick: In dem Videoempfängersystem
von 1 wird ein mit Videodaten
modulierter Träger
durch eine Antenne 10 empfangen und durch eine Einheit 15 verarbeitet.
Das resultierende digitale Ausgangssignal wird durch den Demodulator 20 demoduliert
und durch den Dekoder 30 dekodiert. Der Ausgang von dem
Dekoder 30 wird durch das Transportsystem 25 verarbeitet,
das auf Befehle von der Fenrbedieneinheit 125 anspricht.
Das System 25 liefert komprimierte Datenausgänge zur
Speicherung, ferner zur Dekodierung oder zur Kommunikation mit anderen
Geräten.
Das System 25 enthält
ein System mit einem bedingten Zugriff für die Verwaltung für die Benutzerbelastung
und für
die Steuerung der Programm-Entwürfelung
und -Entschlüsselung
aufgrund einer Benutzerberechtigung. Ein Benutzer des Videoempfängers wählt das
Programm, das er sehen möchte,
die Programme, die er speichern möchte, den Typ des benutzten
Speichermediums und, ob die Programme in verschlüsselter oder in nicht-verschlüsselter
Form durch eine Wahl des Bildschirmmenüs unter Anwendung der Fernbedieneinheit 125 gespeichert
werden sollen. Das System 25 liefert außerdem einen Mechanismus, der
die Beseitigung von Verschlüsselungs-Codes
von einem nicht-verschlüsselten
Programmstrom in Echtzeit oder in Nicht-Echtzeit ermöglicht.
-
Video- bzw. Audiodekoder 85 bzw. 80 dekodieren
die komprimierten Daten von dem System 25 und liefern Ausgänge für die Wiedergabe.
Der Datenanschluss 75 bildet eine Schnittstelle für die Kommunikation
der komprimierten Daten von dem System 25 zu anderen Geräten wie
zum Beispiel einem Computer oder einem Empfänger für hochauflösendes Fernsehen (HDTV). Die
Speichereinheit 90 speichert die komprimierten Daten von
dem System 25 auf dem Speichermedium 105. Die
Einheit 90 bewirkt in einem Wiedergabemodus außerdem die
Rückgewinnung
der komprimierten Daten von dem Speichermedium 105 zur
Verarbeitung durch das System 25 für die Dekodierung, die Kommunikation
mit anderen Geräten
oder zur Speicherung auf einem (zur Vereinfachung in der Zeichnung
nicht gezeigten) anderen Speichermedium. Das System für den bedingten
Zugriff in dem System 25 bewirkt die Entschlüsselung und
die Rechnungsstellung oder Belastung für die Programmspeicherung,
die Wiedergabe oder eine weitere Verarbeitung einschließlich der
Kommunikation zu anderen Geräten.
Das System für
den bedingten Zugriff des Systems 25 verwendet einen anderen Entschlüsselungs-
und Belastungsmechanismus für die
Verarbeitung der Programmdaten, die von einer Rundfunkquelle empfangen
werden, als der Mechanismus von den Daten, die von einer örtlichen
Speicherquelle wiedergegeben werden.
-
In 1 wird
ein mit Video- und/oder Audiodaten modulierter und durch die Antenne 10 empfangener
Träger
in digitale Form konvertiert und durch den Eingangsprozessor 15 verarbeitet.
Der Prozessor 15 enthält
einen Hochfrequenz (HF)-Tuner und Zwischenfrequenz (ZF)-Mischer
und Verstärkerstufen
für die
Herabsetzung des Eingangsvideosignals auf ein niedrigeres Frequenzband,
das für
die weitere Verarbeitung geeignet ist. Das resultierende digitale Ausgangssignal
wird durch den Demodulator 20 demoduliert und durch den
Dekoder 30 dekodiert. Der Ausgang von dem Dekoder 30 wird
ferner durch das Transportsystem 25 verarbeitet.
-
Der Multiplexer (MUX) 37 des
Service-Detektors 33 wird über den Wähler 35 mit dem Ausgang von
dem Dekoder 30 oder dem Ausgang des Dekoders 30 versorgt,
der durch die NRSS (National Renewable Standards Committee)-Entwürfelungseinheit 40 versorgt
wird. Der Wähler 35 detektiert
die Anwesenheit einer einschiebbaren, NRSS-kompatiblen Entwürfelungs-Karte
und liefert den Ausgang von der Einheit 40 zu dem MUX 37 nur,
wenn die Karte derzeit in die Videoempfängereinheit eingeschoben ist (das
NRSS-ablehnbare System für
den bedingten Zugriff ist definiert in EIA Draft Document IS-679, Project
PN-3639). Anderenfalls liefert der Wähler 35 den Ausgang
von dem Dekoder 30 zu dem MUX 37. Die Anwesenheit
der einschiebbaren Karte macht es zum Beispiel möglich, dass die Einheit 40 die
zusätzlichen
Prämien-Programmkanäle entwürfelt und
zusätzliche
Programm-Serviceleistungen zu einem Betrachter liefert. Es sollte
bemerkt werden, dass die NRSS-Einheit 40 und die Smart
Card-Einheit 130 (die Smart Card-Einheit 130 wird
später
beschrieben) an demselben Schnittstellensystem 25 beteiligt
sind, so dass entweder nur eine NRSS-Karte oder eine Smart Card
zu einer Zeit eingeschoben werden kann. Alternativ können Schnittstellen
auch getrennt sein, um einen Parallelbetrieb zu, ermöglichen.
-
Die von dem Wähler 35 zu dem MUX 37 gelieferten
Daten haben die Form eines MPEG-verträglichen, paketierten Transportdatenstroms,
wie er in dem MPEG-System-Normabschnitt
2.4 definiert ist, und enthält
den Dateninhalt von einem oder mehreren Programmkanälen. Die
einzelnen Pakete, die besondere Programmkanäle enthalten, werden durch die
Paket-Identifzierer (PIDs = Packet Identifiers) identifiziert. Der
Transportstrom enthält
zusätzliche Daten
für die Übertragung
und die Dekodierung von für
den Transport kodierten Daten. Die zusätzlichen Daten enthalten programmspezifische
Informationen (PSI = Program Specific Information) für die Anwendung
bei der Indentifizierung der PIDs und die Zusammenstellung der einzelnen
Datenpakete zur Rückgewinnung
des Inhalts des gesamten Programmkanals, der den paketierten Datenstrom
enthält.
Ein Benutzer eines Videoempfängers
wählt das Programm,
das er sehen möchte,
die Programme die er speichern möchte,
das für
die Speicherung zu benutzende Medium, und, ob die Programme in verschlüsselter
oder nicht-verschlüsselter
Form gespeichert werden sollen, durch Wahl eines Bildschirmmenüs unter
Anwendung der Fembedieneinheit 125. Die System-Steuereinheit 115 benutzt
die über
die Schnittstelle 120 gelieferten Informationen für die Wahl,
um das System für
die Wahl der Programme für
die Speicherung und die Wiedergabe zu konfigurieren und PSI zu erzeugen,
die für
die gewählte Speichereinheit
und das Speichermedium geeignet sind. Die Steuereinheit 115 konfiguriert
die Bauteile 45, 47, 50, 55, 65 und 95 durch
Setzen der Steuerregisterwerte in diesen Bauteilen über einen
Datenbus und durch Wahl von Signalwegen über die MUXE 37 und 110 mit
dem Steuersignal C. Die Steuereinheit 115 ist außerdem so
programmierbar, dass eine Beseitigung der Verschlüsselungs-Codes
von einem nichtverschlüsselten
Programm-Datenstrom in Echtzeit oder in Nicht-Echtzeit ermöglicht wird,
der gespeichert oder auf andere Weise verarbeitet werden soll. Dieses
Merkmal verbessert die Sicherheit der Verschlüsselung durch Verhinderung
der Ausgabe von Verschlüsselungs-Schlüsseln über das
System 25 hinaus und begrenzt dadurch die Verfügbarkeit
für dritte
Parteien.
-
Aufgrund des Steuersignals C wählt der
Mux 37 entweder den Transportstrom von der Einheit 35 oder
in einem Wiedergabemodus einen von dem Speichergerät 90 zurückgewonnenen
Datenstrom über
die Speicherschnittstelle 95. In einem normalen Nicht-Wiedergabe-Vorgang
werden die Datenpakete, die das Programm enthalten, das der Benutzer
für die Betrachtung
gewählt
hat, durch ihre PIDs mittels der Wahleinheit 45 identifiziert.
Wenn ein Verschlüsselungsindikator
in den Header-Daten der gewählten Programmpakete
anzeigt, dass die Pakete verschlüsselt
sind, liefert die Einheit 45 die Pakete zu der Entschlüsselungseinheit 50.
Anderenfalls liefert die Einheit 45 nicht-verschlüsselte Pakete
zu dem Transportdekoder 55. Auf ähnliche Weise werden die Datenpakete
mit den Programmen, die der Benutzer für die Speicherung gewählt hat,
durch ihre PIDs mittels der Wahleinheit 47 identifiziert.
Die Einheit 47 liefert verschlüsselte Pakete zu der Entschlüsselungseinheit 50 oder
nichtverschlüsselte
Pakete aufgrund der Paket-Header-Verschiüsselungs-Indikatorinformationen zu dem Mux 110.
-
Die Einheiten 45 und 47 verwenden
PID-Detektionsfilter, die eine Übereinstimmung
der PIDs der durch den MUX 37 gelieferten ankommenden Pakete mit
den PID-Werten bewirken,
die durch die Steuereinheit 115 in Steuerregistern innerhalb
der Einheiten 45 und 47 vorgeladen werden. Die
vorgeladenen PIDs dienen in den Einheiten 47 und 45 zur
Identifizierung der Datenpakete, die gespeichert werden sollen,
und der Datenpakete, die für
die Bildung eines Videobildes dekodiert werden sollen. Die vorgeladenen
PIDs werden in sogenannten Look-Up-Tabellen in den Einheiten 45 und 47 gespeichert.
Die PID-Look-Up-Tabellen werden in Verschlüsselungstabellen in den Einheiten 45 und 47 in
einem Speicher dargestellt, die jeder vorgeladenen PID Verschlüsselungs-Schlüssel zuordnen.
Die in einem Speicher dargestellten PID- und Verschlüsselungs-Lock-Up-Tabellen
ermöglichen,
dass die Einheiten 45 und 47 eine Anpassung der
verschlüsselten
Pakete mit vorgeladenen PID mit zugehörigen Verschlüsselungs-Schlüsseln bewirken,
die ihre Entschlüsselung
ermöglichen.
Nicht-verschlüsselte
Pakete haben keine zugehörigen
Verschlüsselungs-Schlüssel. Die
Einheiten 45 und 47 liefern beide identifizierte
Pakete und ihre zugehörigen
Verschlüsselungs-Schlüssel zu
dem Entschlüsseler 50. Die
PID-Look-Up-Tabelle
in der Einheit 45 wird ebenfalls zu einer Bestimmungstabelle
in einem Speicher dargestellt, der eine Anpassung der vorgeladene PIDs
enthaltenen Pakete an entsprechende Bestimmungspuffer-Lagen in dem
Paketpuffer 60 bewirkt. Die Verschlüsselungs-Schlüssel und
die Adressen der Bestimmungspufferlagen für die durch einen Benutzer
gewählten
Programme für
die Betrachtung oder die Speiche rung werden in Einheiten 45 und 47 zusammen
mit den zugehörigen
PIDs durch die Steuereinheit 115 vorgeladen.
-
Die Verschlüsselungs-Schlüssel werden durch
das mit ISO 7816-3 verträgliche
Smart Card-System 130 von den aus dem Eingangsdatenstrom
extrahierten Verschlüsselungscodes
erzeugt. Die Erzeugung der Verschlüsselungs-Schlüssel ist Gegenstand
einer Benutzerberechtigung, ermittelt aus kodierten Informationen
in dem Eingangs-Datenstrom und/oder vorgespeichert auf der einschiebbaren
Smart Card selbst (das International Standards Organization document
ISO 7816-3 von 1989 definiert die Schnittstelle und die Signalstrukturen
für ein Smart
Card-System). Die Berechtigungsinformationen des Verbrauchers können durch
Aktualisierung der kodierten Informationen auf der einschiebbaren Smart
Card über
Befehle in dem Eingangsdatenstrom durch Aktualisierung geändert werden.
-
Die einschiebbare, mit ISO 7816-3
verträgliche
Smart Card enthält
in vorteilhafter Weise drei Algorithmus-Funktionen. Zwei der Algorithmus-Funktionen,
bezeichnet mit Rundfunk-Verschlüsselungs-Algorithmen,
dienen zur Erzeugung von Verschlüsselungs-Schlüsseln aus
den Rundfunk-Verschlüsselungs-Codes,
die in Nicht-Wiedergabe-Modi
des Systems 25 aus dem Eingangsdatenstrom extrahiert werden.
Ein Rundfunk-Verschlüsselungs-Algorithmus
erzeugt Verschlüsselungs-Schlüssel durch
Entschlüsselung
von Rundfunk-Verschlüsselungs-Codes
innerhalb der Smart Card 130 selbst. Die dritte Algorithmus-Funktion
wird in dem System 25 zur Verschlüsselung und Entschlüsselung
der abgeleiteten Rundfunk-Verschlüsselungs-Schlüssel
in Speicher- und Wiedergabemodi des Systems 25 angewendet. Der
Wiedergabe-Algorithmus verschlüsselt
und entschlüsselt
die Rundfunk-Verschlüsselungs-Schlüssel in
der einschiebbaren Smart Card selbst. Jedoch kann in anderen Systemen
die Wiedergabe-Algorithmus-Funktion woanders liegen, wie zum Beispiel
in einem Dekoder.
-
Die drei in der Smart Card 130 benutzten Verschlüsselungs-Algorithmen
können
von einem einer Vielfalt von Typen sein, und der Wiedergabe-Algorithmus
muß nicht
derselbe Typ sein wie der Rundfunk-Algorithmus. Für beispielhafte
Zwecke wird angenommen, dass die Rundfunk- und Wiedergabe-Algorithmen
Data Encryption Standard (DES) Algorithmus-Funktionen sind, wie
sie in den Federal Information Stan dards (FIPS)-Publikations 46,
74 und 81 festgelegt sind, die von den National Technical Information
Service, Department of Commerce stammen. Jedoch können diese
Algorithmus-Funktionen alternativ von einem anderen Typ sein, wie
Funktionen vom Typ Rivest-Shamir-Adlemann (RSA).
-
Jeder der beiden Rundfunk-Verschlüsselungs-Algorithmen,
die in der Smart Card enthalten sind, können durch Steuerinformationen
in dem Eingangsdatenstrom aktiviert werden. Zwei Rundfunk-Verschlüsselungs-Algorithmen
sind innerhalb der Smart Card enthalten, damit ein Serviceanbieter gleichzeitig
eine Änderung
in dem Rundfunk-Verschlüsselungs-Algorithmus
für alle
Verbraucher vornehmen kann. Ein Servicveanbieter bewirkt eine Änderung
in dem Rundfunk-Verschlüsselungs-Algorithmus
durch Ausgabe einer neuen Smart Card mit einem neuen Algorithmus
an alle Verbraucher, rechtzeitig vor dem Datum des neuen, anzuwendenen
Algorithmus. An dem Tag der Änderung
bewirkt der Serviceanbieter gleichzeitig: Erfordert die Smart Card
auf, auf den neuen Algorithmus zu wechseln, durch Aktualisierung
der Steuerinformationen in dem Rundfunk-Datenstrom, er verschlüsselt Programme mit
dem neuen Algorithmus und fügt
aktualisierte Verschlüsselungs-Codes
in den Rundfunk-Datenstrom
ein. Eine Änderung
in dem Algorithmus kann durch einen Serviceanbieter auf einer regelmäßigen Grundlage
oder so häufig
wie gewünscht
erfolgen, um die Sicherheit des Verschlüsselungssystems zu schützen und
die Code-Brechung oder "Knackung" des Codes sowie
den unberechtigten Zugriff zu dem Programm zu verhindern.
-
Die Erfinder haben erkannt, dass
die Anwendung eines derartigen Verschlüsselungssystems mit der Änderung
von Verschlüsselungs-Schlüsseln ein Problem
für die
Speicherung der Programme in verschlüsselter Form mit sich bringt.
Insbesondere kann ein Programm, das in verschlüsselter Form zusammen mit einem
zugehörigen
Rundfunk-Verschlüsselungs-Code
gespeichert wird, nicht in der Lage sein, entschlüsselt zu
werden, wenn die Smart Card geändert
worden ist und die Smart Card-Algorithmen
aktualisiert worden sind. Das ist der Fall, weil der neue Algorithmus
auf der Smart Card nicht kompatibel ist mit einem Verschlüsselungs-Code
für eine
frühere Version
der Smart Card. Demzufolge ist der neue Smart Card-Algorithmus nicht
in der Lage, den benötigten
Rundfunk-Verschlüsselungs-Schlüssel aus dem
gespeicherten Verschlüsselungscode
abzuleiten. Das bedeutet, dass das gespeicherte, verschlüsselte Programm
nicht entschlüsselt
werden kann und unbrauchbar ist, wenn eine Smart Card des Systems sich
geändert
hat.
-
Zur Lösung dieses Problems wird ein
dritter und anderer Algorithmus, der Wiedergabealgorithmus, in vorteilhafter
Weise in die Smart Card aufgenommen. Die Funktion des dritten Algorithmus,
bezeichnet mit Wiedergabe-Algorithmus, wird in spezifischen Vorgängen und
Modi des Systems 25 zur Verschlüsselung von Rundfunk-Verschlüsselungs-Schlüsseln benutzt,
um Wiedergabe-Verschlüsselungs-Codes
in dem Speicher- und Wiedergabemodus des Systems 25 zu
bilden.
-
Die Wiedergabe-Verschlüsselungs-Codes können, wenn
sie durch den Wiedergabe-Algorithmus
verschlüsselt
worden sind, zusammen mit einem verschlüsselten Programminhalt sicher
auf einem Speichermedium gespeichert werden. Nach der Wiedergabe
des verschlüsselten
Programms entschlüsselt
die Wiedergabe-Algorithmusfunktion
die gespeicherten Verschlüsselungs-Codes
zur Ableitung der ursprünglichen
Rundfunk-Verschlüsselungs-Schlüssel zur
Ermöglichung
der Entschlüsselung
des verschlüsselten
Programminhalts. Die abgeleiteten Rundfunk-Verschlüsselungs-Schlüssel werden
durch die Einheit 50 zur Entschlüsselung der verschlüsselten
Pakete für
den Programminhalt entschlüsselt,
wie später
beschrieben wird. Der Wiedergabe-Algorithmus wird nicht so häufig geändert wie
die beiden Rundfunk-Algorithmen und kann in aufeinanderfolgenden
Versionen der Smart Card ungeändert
bleiben. Dadurch kann das gespeicherte, verschlüsselte Programm entschlüsselt und
trotz Änderungen
in den Smart Cards und den Rundfunk-Verschlüsselungs-Algorithmen benutzt
werden.
-
Die durch die Einheiten 45 und 47 zu
der Einheit 50 gelieferten Pakete werden nach dem Data
Encryption Standard (DES) verschlüsselt. Die Entschlüsselungseinheit 50 des
Systems 25 von 1 verwendet
die DES-Algorithmusfunktion bei der Entschlüsselung dieser verschlüsselten
Pakete. In anderen Ausführungen
des Systems 25 kann die Einheit 50 alternativ
andere Algorithmusfunktionen benutzen, wie die vorangehend erwähnte RSA-Funktion. Die
Einheit 50 verwendet bekannte Lösungen für die Entschlüsselung
der verschlüsselten
Pakete unter Anwendung von entsprechenden Verschlüsselungs-Schlüsseln, die
durch die Smart Card 130 über die Einheiten 45 und 47 geliefert
werden. Die entschlüsselten
Pakete von der Einheit 50 und die nicht-verschlüsselten
Pakete von der Einheit 45, die das Programm für die Wiedergabe
enthalten, werden zu dem Dekoder 55 geliefert. Die entschlüsselten
Pakete von der Einheit 50 und die nicht-verschlüsselten Pakete
von der Einheit 47, die das Programm für die Speicherung enthalten,
werden zu dem MUX 110 geliefert.
-
Die Einheit 60 enthält Paketpuffer,
zu denen die Steuereinheit 115 Zugriff hat. Einer der Puffer dient
zum Halten von Daten für
die Benutzung durch die Steuereinheit 115, und die drei
anderen Puffer dienen zum Halten der Pakete, die für die Benutzung durch
die Anwendungseinheiten 75, 80 und 85 bestimmt
sind. Ein weiterer Puffer, der später beschriebene Substitutions-
oder Austauschpuffer, dient zum Halten von Daten für die Substitution
oder den Ersatz der Daten für
den Verschlüsselungscode.
Der Zugriff zu den in den Puffern innerhalb der Einheit 60 gespeicherten
Paketen durch die Steuereinheit 115 und die Anwendungsschnittstelle 70 wird
durch die Puffer-Steuereinheit 65 gesteuert. Die Einheit 45 liefert eine
Bestimmungsmarkierung zu der Einheit 65 für jedes
Paket, das durch die Einheit 45 für die Dekodierung identifiziert
wird. Die Markierungen zeigen die Bestimmungslagen der individuellen
Einheit 60 für die
identifizierten Pakete an und werden durch die Steuereinheit 65 in
einer internen Speichertabelle gespeichert. Die Steuereinheit 65 ermittelt
eine Reihe von Lese- und Schreibzeigern für die in dem Puffer 60 gespeicherten
Pakete auf der Grundlage des First-In-First-Out (FIFO)-Prinzips.
Die Schreibzeiger in Verbindung mit den Bestimmungsmarkierungen ermöglichen
eine sequentielle Speicherung eines identifizierten Pakets von den
Einheiten 45 oder 50 in der nächsten leeren Speicherstelle
innerhalb des jeweiligen Bestimmungspuffers in der Einheit 60.
Die Lesezeiger ermöglichen
ein sequentielles Lesen von Paketen von den Bestimmungspuffern der
Einheit 60 durch die Steuereinheit 115 und die
Anwendungsschnittstelle 70.
-
Die nicht-verschlüsselten und die verschlüsselten
Pakete, die durch die Einheiten 45 und 50 zu dem
Dekoder 55 geliefert werden, enthalten einen sogenannten
Transport-Header, wie er durch den Abschnitt 2.4.3.2 der MPEG-Systemnorm
festgelegt ist. Der Dekoder 55 ermittelt aus dem Transport-Header, ob
die nicht-verschlüsselten
und die entschlüsselten Pakete
ein Adaptionsfeld (nach der MPEG-Sytemnorm) enthalten. Das Adaptionsfeld
enthält
Timing-Informationen, einschließlich
zum Beispiel Programm-Taktreferenzen (PCRs = Program Clock References),
die die Synchronisierung und die Dekodierung von Inhaltspaketen
ermöglichen.
Nach der Detektion eines Pakets mit Timing-Informationen, d. h. eines
Pakets mit einem Adaptionsfeld, signalisiert der Dekoder 55 zu
der Steuereinheit 115, dass das Paket empfangen worden
ist, durch Setzen einer Systemunterbrechung in einem Unterbrechungs-Mechanismus. Zusätzlich ändert der
Dekoder 55 die Bestimmungsmarkierung des Timing-Pakets
in der Einheit 65 und liefert das Paket zu der Einheit 60.
Durch Änderung
der Bestimmungsmarkierung der Einheit 65 leitet die Einheit 65 das
durch den Dekoder 55 gelieferte Paket mit den Timing-Informationen
zu dem Pufferplatz in der Einheit 60 um, die zum Halten
der Daten für
die Benutzung durch die Steuereinheit 115 vorgesehen ist,
anstatt zu einem Platz in dem Anwendungspuffer.
-
Nach dem Empfang der durch den Dekoder 55 gesetzten
Systemunterbrechung liest die Steuereinheit 115 die Timing-Informationen
und den PCR-Wert und speichert sie in einem internen Speicher. Die
PCR-Werte der darauftolgenden Timing-Informations-Pakete werden durch die
Steuereinheit 115 zur Einstellung des Mastertakts (27 MHz)
des Systems 25 benutzt. Die Differenz zwischen den auf PCR
basierenden und den auf dem Mastertakt basierenden Schätzungen
des Zeitintervalls zwischen dem Empfang von aufeinanderfolgenden
Timing-Paketen, die durch die Steuereinheit 115 erzeugt
werden, dient zur Einstellung des Mastertakts des Systems 25 (zur
Vereinfachung der Zeichnung nicht dargestellt). Die Steuereinheit 115 erreicht
dies durch Zuführung
der abgeleiteten Differenz in der Zeitschätzung zur Einstellung der Eingangssteuerspannung
eines spannungsgesteuerten Oszillators, der zum Erzeugen des Mastertakts
dient. Die Steuereinheit 115 setzt die Systemunterbrechung
nach der Speicherung der Timing-Informationen in dem internen Speicher
zurück.
-
Von den Einheiten 45 und 50 über den
Dekoder 55 empfangene Pakete, die den Programminhalt enthalten,
einschließlich
Audio-, Video- Untertitel und andere Informationen, werden durch
die Einheit 65 von dem Dekoder 55 zu dem Puffern
der Einheit für eine
bestimmte Anwendung in dem Paketpuffer 60 zugeführt. Die
Anwendungs-Steuereinheit 70 gewinnt sequentiell die Audio-,
Video-, Untertitel- und andere Daten aus den bezeichneten Puffern
in dem Puffer 60 zurück
und liefert die Daten zu den entsprechenden Anwendungsgeräten 75, 80 und 85 zurück. Die
Anwendungsgeräte
enthalten Audio- und Videodekoder 80 und 85 und
einen Hochgeschwindigkeits-Datenanschluß 75.
Der Datenanschluß 75 kann dazu
dienen, Hochgeschwindigkeits- Daten
wie Computerprogramme zu liefern, zum Beispiel zu einem Computer.
Alternativ kann der Anschluß 75 zum
Beispiel dazu dienen, Daten zu einem HDTV-Dekoder auszugeben.
-
Pakete, die PSI-Informationen enthalten, werden
als für
den Puffer der Steuereinheit 115 in der Einheit 60 bestimmt
erkannt. Die PSI-Pakete werden über
die Einheiten 45, 50 und 55 in einer ähnlichen Weise
zu diesem Puffer geführt
wie die für
den Programminhalt enthaltende Pakete beschrieben wurden. Die Steuereinheit 115 liest
die PSI von der Einheit 60 und speichert sie in dem internen
Speicher.
-
Die Steuereinheit 115 verwendet
den Vorgang der 2 und 3 zur Erzeugung eines Programm-Datenstroms,
der für
die Speicherung auf einem Medium 105 und für die Belastung
eines Benutzers für
die Speicherung geeignet ist. Die Steuereinheit 115 verwendet
außerdem
den Vorgang der 2 und 3 sowohl zur Erzeugung eines
Wiedergabe-Verschlüsselungs-Codes
für die
Speicherung auf dem Medium 105 als auch zur Beseitigung
der ursprünglichen
Rundfunk-Verschlüsselungs-Codes von
dem zu speichernden Programm-Datenstrom. Die Paketidentifikation
und der Weiterleitungsvorgang der 2 und 3 werden durch die Steuereinheit 115,
die Steuereinheit 65 und die PID, Bestimmungs- und Verschlüsselungs-Schlüssel-Look-up-Tabellen der Einheiten 45 und 47 in
der vorangehend beschriebenen Weise gesteuert.
-
Die CPSI (Condensed Program Specific
Information) enthalten Informationen für das bestimmte, zu speichernde
Programm, während
die PSI Informationen für
alle Programme in dem in das System 25 eingegebenen Datenstrom
enthalten. Demzufolge erfordern die CPSI eine geringere Speicherkapazität und bringen
weniger Überschuß als die
PSI. Zusätzlich
können
bei einer festen Überschußbeanspruchung
die CPSI in einem Datenstrom häufiger
wiederholt werden als die PSI und können somit abgeleitet und dafür angewendet
werden, die Rückgewinnungs-Latenz
des Programminhalts zu verringern.
-
Die PSI, wie sie in dem Abschnitt
2.4.4 der MPEG-System-Norm definiert sind, enthalten vier nicht-verschlüsselte Elemente
oder Tabellen von Informationen. Diese sind die Program Association
Table (PAT), die Program Map Table (PMT), die Net work Information
Table (NIT) und die Conditional Access Table (CAT). Jede Tabelle
besteht aus Datenpaketen, die durch bestimmte PID erkannt werden.
Die PMT bestimmt die PID-Label, die die einzelnen paketierten Datenströme identifizieren,
die ein Programm bilden. Diese einzelnen Ströme werden in der MPEG-Norm
als elementare Ströme
bezeichnet. Elementare Ströme
enthalten Datenströme,
wie Video, Audio oder Datenströme
für verschiedene
Sprachen und Untertitel. Die PAT bewirkt eine Zuordnung einer Programmnummer
zu PIDs, die die Identifikation und die Zusammenstellung der die
PMT enthaltenden Pakete ermöglicht.
Die NIT ist fakultativ und kann strukturiert und benutzt werden,
um körperliche
Netzparameter zu bilden, wie zum Beispiel Satelliten-Übertragungskanalfrequenzen
und Transponderkanäle.
Die PAT enthält
die Informationen für
den bedingten Zugriff, wie Verschlüsselungs-Codes, die den Zugriff zu Programmen
steuern, die von der Benutzerberechtigung abhängig sind.
-
Im Schritt 205 von 2 bewirkt die Steuereinheit 115 (1) einen Initialisierungsvorgang beim
Einschalten es Systems, folgend auf den Start beim Schritt 200.
Im Schritt 205 lädt
die Steuereinheit 115 die PID-Detektionsfilter der Einheit 45 ( 1) mit den MPEG-definierten
PID-Werten für
die PAT- und die CAT-Tabellen (PIDs Hex-Wert 0000 bzw. Hex-Wert
0001). Zusätzlich
bewirkt die Steuereinheit 115 eine Vorzuordnung der PAT-
und CAT-Pakete zu dem Puffer der Steuereinheit in der Einheit 60 durch Aktualisierung
der Bestimmungstabelle der Einheit 45. Die durch die Einheit 45 detektierten
PAT- und CAT-Pakete werden über
den Dekoder 55 unter Steuerung durch die Einheit 65 dem
Puffer der Steuereinheit in der Einheit 60 zugeführt. Im
Schritt 205 signalisiert die Steuereinheit 65 der
Steuereinheit 115 über
eine PSI-Unterbrechung, daß PSI-Pakete
in der Einheit 60 vorhanden sind. Nach dem Empfang der PSI-Unterbrechung
nimmt die Steuereinheit 15 wiederholt einen Zugriff zu
den Paketen, die in ihrem Puffer der Einheit 16 gespeichert
sind, und speichert die vollständigen
CAT- und PAT-Daten in dem internen Speicher. Die Steuereinheit 115 wiederholt
diesen Vorgang, um vollständige
PMT- und NIT-Daten in dem internen Speicher zu speichern, nach der
Ermittlung der PIDs, die die PMT- und NIT-Pakete von der PAT identifizieren. Die
Steuereinheit 115 nimmt ständig Zugriff zu dem Puffer 60 und
erfasst PSI-Pakete in dem internen Speicher nach dem Empfang der PSI-Unterbrechungen,
während
der Empfänger
eingeschaltet wird. Als Ergebnis erfasst die Steuereinheit 115 in
ihrem internen Speicher die PAT-, PMT-, NIT- und CAT-Daten, die
die vollen PSI des in das System 25 eingegebenen Transportdatenstroms
enthalten.
-
Im Schritt 210 von 2 werden die vom Benutzer
erzeugten Daten (SP, SM, SE), die die Programme identifizieren,
die ein Benutzer speichern möchte,
sowie die Programme die in verschlüsselter Form gespeichert werden
sollen, und das für
die Speicherung zu benutzende Medium und Gerät in die Steuereinheit 115 eingegeben
( 1). Ein Benutzer kann
aus verschiedenen Gründen
eine verschlüsselte
Speicherung, bevorzugt gegenüber
einer nicht-verschlüsselten
Speicherung, wählen.
Zum Beispiel kann ein Serviceanbieter es billiger machen, in verschlüsselter
Form zu speichern, als eine Möglichkeit
zur Begrenzung der Anzahl an darauffolgenden Kopien, die ein Benutzer
machen kann. Ein Serviceanbieter kann das erreichen durch Steuerung des
Zugriffs zu dem verschlüsselten
Programm über in
einer Smart Card vorgespeicherte Berechtigungsinformationen. Die
in die Steuereinheit 115 eingegebenen Auswahldaten werden
durch einen Benutzer durch eine Wahl in einem Menü auf dem
Bildschirm mit einer Fernbedieneinheit 125 über die
Schnittstelle 120 eingegeben. Im Schritt 215,
als Antwort auf die Eingangswahldaten (SP) leitet die Steuereinheit 115 die
PIDs für
die gewählten
Programme für
die Speicherung aus den gespeicherten PSI ab. Die Detektionsfilter
der Einheit 47 werden mit den PIDs der durch die Steuereinheit 115 zu
speichernden Programme geladen. Das ermöglicht, dass die Einheit 47 die
Pakete identifiziert, die die für
die Speicherung gewählten
Programme enthalten. Im Schritt 215 bewirkt die Steuereinheit 115 außerdem eine
Vorladung des Substitutionspuffers der Einheit 60 mit Nulldaten. Die
Nulldaten sollen für
Rundfunk-Verschlüsselungs-Codes
substituiert werden, die in Programmen auftreten, die in verschlüsselter
Form gesendet werden und die für
die Speicherung gewählt
wurden.
-
Im Schritt 215 von 2 liefert die Einheit 47 (1) nicht-verschlüsselte Pakete
zu dem MUX 110 und liefert verschlüsselte Pakete (identifiziert durch
einen Verschlüsselungs-Indikator
in den Paket-Header-Daten) zusammen mit Rundfunk-Verschlüsselungs-Schlüsseln zu
der Entschlüsselungseinheit 50.
Die Rundfunk-Verschlüsselungs-Schlüssel werden
im Schritt 215 von 2 durch
die Steuereinheit 115 zu der Einheit 47 geliefert,
nach ihrer Erzeugung durch die Smart Card 130 (1) durch Entschlüsselung
der Verschlüsselungs-Codes,
die von der PAT für die
gewählten
Programme (SP) in der vorangehend beschriebenen Weise gewonnen werden.
Wenn jedoch die Auswahldaten SE eine verschlüsselte Speicherung erfordern,
leitet die Einheit 47 die zu speichernden, verschlüsselten
Pakete zu dem MUX 110. Demzufolge werden im Schritt 215 von 2 die Pakete, die die zu
speichernden Programme (SP) enthalten, aufgrund der Auswahldaten SE
zu dem MUX 110 geliefert, entweder in verschlüsselter
oder in entschlüsselter
Form,.
-
In den Schritten 217–227 formt
die Steuereinheit 115 verdichtete programmspezifische Informationen
(CPSI) für
die für
die Speicherung gewählten
Programme (SP) aus den vollständigen,
programmspezifischen Informationen (PSI), die von dem in das System 25 eingegebenen
Transportdatenstrom erfaßt
werden. Wenn die SE-Daten
eine verschlüsselte
Speicherung erfordern, führt
die Steuereinheit 115 den Schritt 227 durch, der
auf den Entscheidungsschritt 217 folgt. Im Schritt 227 führt die Steuereinheit 115 die
Wiedergabe-Algorithmusfunktion in dem Smart Card-System 130 aus,
um den vorher erzeugten Rundfunk-Verschlüsselungs-Schlüssel zu
verschlüsseln
(durch Entschlüsselung
eines Rundfunk-Verschlüsselungs-Codes)
im Schritt 215, um einen Wiedergabe-Verschlüsselungs-Code
für das
zu speichernde Programm zu bilden. Die CPSI sind so ausgebildet,
dass sie den Wiedergabe-Verschlüsselungs-Code
enthalten, jedoch den Rundfunk-Verschlüsselungs-Code ausschließen, der
ursprünglich
in den PSI des in das System 25 eingegebenen Transportdatenstroms
vorhanden war. Demzufolge schließt der Datenstrom, der für das Programm
für die
Speicherung gebildet wird, seinen zugehörigen Rundfunk-Verschlüsselungs-Code
aus. Das verhindert den Kompromiß in der Sicherheit des Verschlüsselungs-Schlüssels, der
auftritt, wenn Verschlüsselungs-Schlüssel auf
einem abnehmbaren Speichermedium gespeichert werden, das für dritte Parteien
zugänglich
ist. Sobald Schlüssel
auf einem Speichermedium zugänglich
sind, ist ihre Sicherheit abhängig
von der Verfeinerung des verfügbaren "reverse engeneering" und den Lösungen des
Code-Brechens oder -Knackens. In diesem System sind mehrere Sicherheitsstufen
vorgesehen, indem nicht die Rundfunk-Verschlüsselungs-Codes gespeichert werden, von denen
die Rundfunk-Verschlüsselungs-Schlüssel abgeleitet
werden, und die Rundfunk-Verschlüsselungs-Schlüssel in
verschlüsselter Form
gespeichert werden. Außerdem
würden,
selbst wenn die Schlüssel
für das
gespeicherte Programm abgeleitet würden, sie keinen Zugriff bilden
zu den laufenden Rundfunkprogrammen, für die der Rundfunk-Verschlüsselungs-Algorithmus
regelmäßig geändert wird.
-
Wenn die SE-Eingangsdaten keine verschlüsselte Speicherung
benötigen,
führt die
Steuereinheit 115 den Schritt 225 durch, der auf
den Entscheidungsschritt 217 folgt. Im Schritt 225 bildet
die Steuereinheit 115 die CPSI des Programms, das für die Speicherung
von den PSI des in das System 25 eingegebenen Transportstroms
bestimmt ist und schließt
Verschlüsselungs-Codes
von den CPSI aus.
-
Das beschriebene Verschlüsselungssystem ist
nur beispielhaft. Alternative Verschlüsselungsmechanismen können die
Rundfunk- und Wiedergabe-Verschlüsselungscodes
in andere Datenstrom-Informationsbereiche übertragen, als in die PSI.
Andere Verschlüsselungsmechanismen
können
auch die Erzeugung und die Einfügung
der Verschlüsselungscodes
bei unterschiedlichen Intervallen erfordern, als es bei der Erzeugung
der PSI erfolgt. Wenn keine Rundfunk-Verschlüsselungscodes in den PSI übertragen
werden, kann eine Substitution anderer Daten für diese Codes notwendig sein,
um sie von dem für das
zu speichernde Programm gebildeten Datenstrom auszuschließen. Eine
Substitution von Nulldaten für
die Rundfunk-Verschlüsselungscodes
bei anderen Intervallen als denen, bei denen die CPSI auftreten,
wird später
beschrieben. Insbesondere wird die Substitution von Rundfunk-Verschlüsselungs-Codes
in Echtzeit, d. h. bei der Paketfrequenz, wenn zum Beispiel die
Codes in Paket-Headern übertragen werden,
in Verbindung mit den Schritten 237–249 beschrieben.
-
Im Schritt 230 formt die
Steuereinheit 115 die CPSI-Daten in Abschnitte gemäß der MPEG-Syntax (Paragraphen
2.4.4.3–2.4.4.11
der MPEG-System-Norm). Die Steuereinheit 115 fügt außerdem im Schritt 230 Header-Daten
den CPSI-Datenabschnitten
hinzu, um die CPSI-Datenabschnitte für die Einfügung in den zu speichernden
Datenstrom zu formatieren und zu paketieren. Die Steuereinheit 115 bildet die
Header gemäß den Abschnitten
2.4.3.2 und 2.4.3.3 der MPEG-System-Norm aus den PSI-Header-Daten, die in
dem internen Speicher der Steuereinheit 115 gespeichert
sind. Jedoch haben die CPSI-Abschnittsdaten unterschiedlicher Länge relativ zu
den entsprechenden PSI-Abschnittsdaten. Daher werden neue Header-Parameter
mit einem Indikator für
den "Kontinuitätszählwert" und "Nutzda ten-Einheit-Startindikator" durch die Steuereinheit 115 gebildet
und in die jeweiligen Indikatorfelder in den Header-Daten eingefügt. Der
durch die Steuereinheit 115 gebildete Indikator für den neuen
Kontinuitätszählwert zeigt
zum Beispiel die Anzahl der Pakete je PID für die CPSI-Elemente anstatt
der unterschiedlichen Zahl von Paketen je PID der entsprechenden PSI-Elemente.
Der neue Startindikator für
die Nutzdateneinheit, der durch die Steuereinheit 115 gebildet
wird, identifiziert zum Beispiel das erste Byte des CPSI-Abschnitts
anstatt des ersten Byte des entsprechenden PSI-Abschnitts.
-
Nach dem Schritt 230 geht
das Flußdiagramm
von 2 mit dem Schritt 237 von 3 weiter. Die Steuereinheit 115 ermittelt
im Schritt 237, ob Rundfunk-Verschlüsselungs-Codes in anderen Datenstromfeldern
als den CPSI übertragen
werden. Insbesondere ermittelt die Steuereinheit 115, ob Rundfunk-Verschlüsselungs-Codes
in MPEG-kompatiblen Adapationsfeldern der Paket-Header (je MPEG-System-Standard-Syntaxabschnitt
2.4.3.4) übertragen
werden. Wenn das der Fall ist, führt
die Steuereinheit 115 den Schritt 249 durch, um
einen zusammengesetzten Datenstrom zu bilden, der CPSI-Pakete und
Programminhaltspakete mit Nulldaten enthält, die für die Rundfunk-Verschlüsselungs-Codes
in den Paket-Headern
substituiert werden. Die Substitution des Verschlüsselungscodes
erfolgt auf einer Basis Paket für
Paket bei der Paketfrequenz.
-
Im Schritt 249 werden die
während
des Schritts 215 (2)
in den Substitutionspuffer in der Einheit 60 vorgeladenen
Substitutions-Paketdaten unter Steuerung durch die Steuereinheit 115 von
der Einheit 60 zu dem MUX 110 (1) geliefert. Zusätzlich werden im Schritt 249 die
CPSI in der Form von paketierten MPEGkompatiblen im Schritt 230 gebildeten
Abschnittsdaten durch die Steuereinheit 115 zu dem MUX 110 (1) geliefert. Programminhalts-Paket-Datenströme von der
Einheit 47 oder der Einheit 50 werden, wie vorangehend
in Verbindung mit dem Schritt 215 beschrieben wurde, ebenfalls
zu dem MUX 110 geliefert. Im Schritt 249 multiplext
die Steuereinheit 115 zwischen dem Programminhalts-Datenstrom,
dem CPSI-Datenstrom und dem Substitutions-Dateneingang zu dem MUX 110 unter Anwendung
des Signals C für
die Wegauswahl zur Bildung eines zusammengesetzten Datenstroms,
der durch den MUX 110 zu der Speicherschnittstelle 95 ausgegeben
wird. Der zusammengesetzte Datenstrom enthält Programminhalts-Pakete und CPSI-Pakete
mit Nulldaten, die für
die Rundfunk-Verschlüsselungs-Codes
in den Paket-Headern substituiert werden.
-
Die Steuereinheit 115 synchronisiert
die Einfügung
der CPSI-Pakete und der Nulldaten in den zu speichernden Programm-Datenstrom
aufgrund eines PSI-Unterbrechungssignals
und eines Substitutions-Timing-Signals von der Steuereinheit 65 (1). Die PSI-Unterbrechung
zeigt die Anwesenheit von PSI-Paketen in dem Puffer 60 an,
wie in Verbindung mit dem Schritt 205 beschrieben wurde.
Das Substitutions-Timing-Signal synchronisiert die Einfügung von
Nulldaten mit dem Auftreten der Rundfunk-Verschlüsselungs-Codes in Paket-Headern.
Auf diese Weise werden die paketierten Abschnitte der CPSI in PSI-Plätzen eingefügt, um die
entsprechenden Abschnitte der PSI zu ersetzen, und die Rundfunk-Verschlüsselungs-Codes
werden beseitigt. Die nicht-verschlüsselten CPSI-Daten sind entweder
in die verschlüsselten
oder die nicht-verschlüsselten Programminhalts-Datenströme einfügbar, die
in den MUX 110 eingegeben werden, um entweder verschlüsselte oder
nichtverschlüsselte
Programme für die
Speicherung zu bilden.
-
Es sollte bemerkt werden, dass die
im Schritt 249 durchgeführte
Substitution des Rundfunk-Verschlüsselungs-Codes auch auf Codes
angewendet werden kann, die in anderen Datenstromfeldern als den
MPEG-Paket-Header-Adaptionsfeldern übertragen werden. Ferner können die
Verschlüsselungscodes
bei anderen Intervallen ersetzt werden als bei denen, bei denen
die Adaptationsfelder auftreten. Zum Beispiel können Nulldaten für Verschlüsselungscodes
substituiert werden, die in einer Vielfalt von MPEG- und Nicht-MPEG
kompatiblen Datenstromplätzen
auftreten, einschließlich:
zusätzliche Pakete
in dem geschützten
Digital Satellite System (DSSTM), Packetized
Elementary Stream (PES)-Feldern (je MPEG-System-Norm-Syntaxbereichen 2.5.3.7–2.5.4.2),
Digital Storage Media Control Commands (DSMCC)-Feldern (je MPEG-System-Norm-Syntax
Appendix A), und Nicht-MPEG-Pakete, die gemäß anderen Datenübertragungsprotokollen
als dem genormten CEBus Steuerprotokoll formatiert werden (Home
Automation Standard (CEBus), EIA/IS-60, Dezember 1989).
-
Wenn die Verschlüsselungs-Codes in Paketen übertragen
werden, in denen die Codes selbst die einzigen Datenwörter sind,
kann der die Pakete tragende Code voll-ständig
in dem Ausgangs-Datenstrom entfallen. Das kann dadurch erfolgen,
in dem die Pakete durch die PID-Wahleinheiten 45 und 47 (1) verworfen oder nicht
verwertet werden oder indem die Pakete während des im Schritt 249 durchgeführten Multiplexing-Vorgangs
weggelassen werden. Jedoch müssen
die Datenrate und die auf die Datenstruktur ansprechenden Parameter
innerhalb der Ausgangs-Datenstrom-Syntax
aktualisiert werden, um die Datenraten-Änderung zu reflektieren, die als
ein Ergebnis eines derartigen Weglassens von Paketdaten auftritt.
-
Im Schritt 249 empfängt die
Speicherschnittstelle 95 (1)
die in der Form des paketierten Datenstroms zu speichernden Programme
(im folgenden mit CPSI-Strom bezeichnet), die die CPSI und die Nulldaten
von dem MUX 110 enthalten. Im Schritt 254 (3), der auf den Schritt 249 folgt,
belastet das System für
den bedingten Zugriff innerhalb des Systems 25 den Benutzer
mit der Programmspeicherung (oder Kommunikation zu anderen Geräten). Der Benutzer
wird durch Speicherung von Berechnungsinformationen innerhalb der
einschiebbaren Smart Card selbst belastet. Die Speicherung der Belastungsinformationen
wird durch die Anwendung des Wiedergabe-Algorithmus initiiert, jedoch
muß die
Belastung nicht gleichzeitig stattfinden mit der Anwendung des Algorithmus.
Die Belastungsinformationen zeigen an, dass der Benutzer ein verschlüsseltes Rundfunkprogramm
gespeichert hat. Zu diesen Belastungsinformationen erfolgt später ein
Zugriff über die
Telefonleitung durch den Serviceanbieter und dient dazu, den Benutzer über einen
konventionellen Belastungsvorgang zu belasten. Andere Belastungs-Mechanismen
sind ebenfalls möglich.
Zum Beispiel können
Kredite von einer vorgespeicherten Summe innerhalb einer Smart Card
abgebucht werden. Ferner kann sich die Smart Card den Belastungsbetrag
auf der Basis des geforderten Speichertyps ändern, zum Beispiel kann es
eine Gebühr
für die
Speicherung geben, die nur eine einzige Kopie oder Wiedergabe des
gespeicherten Programms ermöglicht,
und eine andere Gebühr
für die
Speicherung, die ein unbegrenztes Kopieren oder Wiedergabe des Programms
ermöglicht.
Der benötigte
Speichertyp wird in bestimmten Kopierschutzdaten in dem CPSI-Strom
selbst oder in Paketdaten extern zu dem CPSI-Strom kodiert. Der
Vorgang der 2-3, der von der Steuereinheit 115 zur
Erzeugung eines Programm-Datenstroms (des CPSI-Stroms) benutzt wird,
der für
die Speicherung auf dem Medium 105 und zur Belastung eines
Benutzers für
die Speicherung geeignet ist, endet beim Schritt 258.
-
Wenn die Steuereinheit 115 im
Schritt 237 ermittelt, dass keine Rundfunk-Verschlüsselungs-Codes
in den MPEG-kompatiblen Adaptionsfeldern der Paket-Header übertragen
werden, dann führt
die Steuereinheit 115 die Schritte 240–245 durch.
Diese Schritte spiegeln die Schritte 249–258 wieder,
mit der Ausnahme, dass, da keine Rundfunk-Verschlüsselungs-Codes
in den Datenströmen zu
dem MUX 110 anwesend sind, der das zu speichernde Programm
darstellt, ist eine Einfügung
von Nulldaten nicht notwendig. Anderenfalls führt die Steuereinheit 115 den
Schritt 240 durch, um den CPSI-Strom für die Speicherung über die
Speicherschnittstelle 95 zu bilden, und führt den
Schritt 244 durch, um den Benutzer für die Speicherung in einer Weise
zu belasten, die zu der mit den Schritten 249 und 254 beschriebenen
Weise ähnlich
ist. Dieser Zweig des Vorgangs der 2–3 endet beim Schritt 245.
Es sollte jedoch bemerkt werden, dass der CPSI-Strom alternativ
für andere
Anwendungen in den Schritten 240 und 249 durchgeführt werden
kann, wie eine Wiedergabe oder eine Kommunikation über die Schnittstelle 70 anstelle
der Speicherung über
die Schnittstelle 95.
-
Der CPSI-Strom von dem MUX 110 wird durch
die Schnittstelle 95 gepuftert, um Lücken und eine Bitraten-Änderung
in den Daten zu verringern. Die resultierenden, gepufterten Daten
werden durch die Speichereinheit 90 verarbeitet, damit
sie für
die Speicherung auf dem Medium 105 geeignet sind. Die Steuereinheit 115 initiiert
und steuert den Betrieb der Speichereinheit 90 (1) durch Steuerung über den
I/O-Anschluss 100 unter
Anwendung eines genormten CEBus-Steuerprotokolls (z. B. Home Automation
Standard (CEBus), EIA/IS-60, Dezember 1989). Die Speichereinheit 90 ist
eine Einheit mit einem linearen Speichermedium vom Typ DVHSTM, und das Medium 105 ist ein Medium
vom Typ eines linearen, sequentiellen Zugriffs, wie zum Beispiel
ein Videoband. Die Speichereinheit 90 kodiert den gepufferten
Datenstrom von der Schnittstelle 95 unter Anwendung bekannter
Fehlerkodierlösungen,
wie eine Kanalkodierung, eine Verschachtelung und eine Reed Solomon-Kodierung,
um einen kodierten Datenstrom zu erzeugen, der für die Speicherung geeignet
ist. Die Einheit 90 speichert den resultierenden kodierten
Datenstrom, der die CPSI auf dem Bandmedium enthält.
-
Die Speichereinheit 90 kann,
wenngleich sie als eine DVHSTM-Einheit beschrieben
wurde, die Daten auf einem linearen Speichermedium speichert in der
beispielhaften Ausführungsform
von 1, ein beliebiger
anderer Typ einer Speichereinheit sein. Zum Beispiel kann die Einheit
eine Festkörper-
oder nichtlineare Einheit zur Speicherung der Daten in einem RAM
oder auf einem nichtlinearen Medium sein. Ein nichtlineares Medium
ist ein Medium, dass einen nicht-sequentiellen Zugriff erlaubt,
wie zum Beispiel ein Plattenmedium mit einem CDROM oder DVD. Wenn
die Einheit 90 und das Medium 105 nichtlinear oder
Festkörper-Speichersysteme
sind, trennt die Einheit 90 die CPSI-Daten von dem CPSI-Strom
und speichert die CPSI-Daten in einem dafür vorgesehenen Adressenbereich
des Mediums. Das vermeidet in vorteilhafter Weise eine wiederholte
Speicherung der CPSI und verringert die benötigte Speicherkapazität. Alternativ
kann die Einheit 90 den CPSI-Strom so speichern, wie er
gebildet und in die Einheit 90 eingegeben wird, mit einer
oder mehreren Wiederholungen der CPSI-Daten.
-
Ferner kann das System von 1 mehrere Speicher/Rückgewinnungs-Wege
enthalten, die den Betrieb von mehreren Speichereinheiten mehrerer Typen
tragen, einschließlich
linearer, nichtlinearer und Festkörper-Typen. Der in 1 dargestellte, einzige
Speicherung/Rückgewinnungs-Weg
enthält
die Einheiten 47, 90, 95, 105 und 110,
wie beschrieben wurde. Durch Vervielfachung dieser Bauteile zur
Bildung von parallelen Speicherfunktionen läßt sich das System 25 leicht
erweitern, um mehrere Speicherwege zu enthalten. Der für eine bestimmte
Speichereinheit bestimmte Speicherweg und Programme werden durch
vom Benutzer erzeugte Daten (SP, SM) gewählt, die nach der Wahl des
Bildschirm-Menüs
mit der Fernbedieneinheit 125 über die Schnittstelle 120 in
die Steuereinheit 115 eingegeben, wie vorangehend beschrieben.
-
Das System 25 von 1 gewinnt Programme von
der Speichereinheit 90 und dem Medium 105 in einem
Wiedergabemodus unter Anwendung des Vorgangs von 4 zurück.
Die zurückgewonnenen Datenströme werden
zum Beispiel durch das System 25 verarbeitet und für eine Wiedergabe
oder eine Ausgabe den Anwendungsgeräten 75, 80 und 85 zugeführt. Alternativ
können
die Programm-Datenströme
auf anderen parallelen Speichereinheiten gespeichert werden (zur
Vereinfachung der Zeichnung in 1 nicht
dargestellt).
-
Im Schritt 505 von 4, der auf den Start beim
Schritt 500 folgt, werden vom Benutzer erzeugte Daten (SR,
SM) in die Steuereinheit 115 des Systems 25 (1) eingegeben, die die zurückzugewinnende
Programme (SR) und die Speichereinheit (SM) identifizieren, aus
der die Programme zurückgewonnen
werden sollen. Die Benutzer-Auswahldaten werden nach der Wahl eines
Bildschirmmenüs mit
der Fernbedieneinheit 125 über die Schnittstelle 120 in
die Steuereinheit 115 eingegeben. Es wird für beispielhafte
Zwecke angenommen, dass der Benutzer Programme wählt, die aus der Speichereinheit 90 zurückgewonnen
werden sollen (1).
-
Die Steuereinheit 115 initiiert
im Schritt 510 die Rückgewinnung
der gewählten
Programm-Datenströme
durch die Einheit 90 von dem Medium 105 durch
Steuerung über
den I/O-Anschluss 100 unter Anwendung des genormten CEBus-Steuerprotokolls, wie
vorangehend beschrieben. Die Einheit 90 dekodiert die von
dem Medium 105 zurückgewonnenen, fehlerkodierten
Daten, um die entsprechenden Daten zurückzugewinnen, die ursprünglich der
Einheit 90 für
eine Speicherung zugeführt
wurden. Die Einheit 90 kann eine lineare Speichereinheit
vom Typ DVHSTM oder eine andere Speichereinheit
sein, wie ein Festkörper-RAM
oder eine nichtlineare Einheit vom Typ DVD oder CDROM. Die zurückgewonnenen,
dekodierten Datenströme
werden im Schritt 510 durch die Einheit 90 zu
der Schnittstelle 95 übertragen.
Diese Datenübertragung
wird durch die Steuereinheit 115 über den genormten CE-Bus gesteuert und
synchronisiert. Die Schnittstelle 95 puffert die von der Einheit 90 empfangenen
Daten zur Einstellung der Zeitintervalle zwischen den Datenpaketen
zur Bildung eines gepufferten Datenausgangs, der zu MPEG kompatibel
ist und den Anforderungen an die MPEG-Bitrate entspricht.
-
Im Schritt 515 leitet die
Steuereinheit 115 den gepufferten Ausgang von der Schnittstelle 95 (den
Wiedergabe-Datenstrom) über
den MUX 37 zu den PID-Auswahleinheiten 45 und 47 unter
Anwendung des Auswahlsignals C für
den Weg. Im Schritt 515 ermittelt die Steuereinheit 115,
ob eine einzige Kopie oder unbegrenzte Kopieeinschränkungen,
die in den Kopierschutzdaten in den Schritten 244 und 254 (3) kodiert wurden, durch
das zurückgewonnene
Programm überschritten
werden. Damit die Rückgewinnung
ermöglicht
wird, bewirkt die Steuereinheit 115 im Schritt 515 (4) die Zurückgewinnung
des Wiedergabe-Verschlüsselungscodes,
der im Schritt 227 (2)
aus der CAT für
die gewählten Programme
(SR) und liefert den Code in der vorangehend beschriebenen Weise
zu der Smart Card-Einheit 130 im Zusammenhang mit dem Schritt 215 (2). Unter Steuerung durch
die Steuereinheit 115 liefert die Smart Card 130 im
Schritt 515 ( 4)
den Wiedergabe-Algorithmus zur Erzeugung der ursprünglichen
Rundfunk-Verschlüsselungs-Schlüssel von
dem Wiedergabe-Verschlüsselungs-Code.
Die Rundfunk-Verschlüsselungs-Schlüssel werden
durch die Steuereinheit 115 im Schritt 515 zu
den PID, Bestimmungs- und Verschlüsselungs-Schlüssel-Look-Up-Tabellen
geliefert.
-
Im Schritt 520 verarbeiten
die Einheiten 45 und 47 und die übrigen Einheiten
des Systems 25 den Wiedergabe-Datenstrom entweder für die Speicherung über den
MUX 110 oder für
eine Benutzeranwendung über
die Schnittstelle 70. Sowohl der Wiedergabe-Datenstrom
von der Einheit 95 als auch der übertragene Datenstrom von dem
Wähler 35,
folgend auf die Wahl über
den MUX 37, werden durch das System 25 in einer ähnlichen
Weise verarbeitet. Diese beiden Datenströme werden in der Weise verarbeitet,
die vorangehend für
den übertragenen
Datenstrom beschrieben wurden, mit der Ausnahme der Schritte zur
Erzeugung des Verschlüsselungs-Schlüssels und
der CPSI-Verarbeitungsschritte. Im Wiedergabe-Modus verwendet die
Smart Card 130 einen Algorithmus zur Erzeugung des Wiedergabe-Verschlüsselungs-Schlüssels anstelle
eines Algorithmus zur Erzeugung eines Rundfunkschlüssels. Die
Smart Card-Einheit 130 verwendet die Funktion des Wiedergabe-Algorithmus
zur Entschlüsselung der
Verschlüsselungs-Codes,
die vorher mit dem Algorithmus für
die Wiedergabekodierung im Schritt 227 von 2 kodiert wurden. Dadurch bewirkt die Einheit 130 die
Ableitung der ursprünglichen
Rundfunk-Verschlüsselungs-Schlüssel für das für die Wiedergabe
gewählte
Programm (SR). Die Rundfunk-Verschlüsselungs-Schlüssel werden
durch die DES-Entschlüsselungseinheit 50 dafür benutzt,
die verschlüsselten
Programminhaltspakete in dem folgenden Schritt 520 (4) in der Weise zu entschlüsseln und
zu verschlüsseln,
die vorangehend für
den übertragenen
Datenstrom beschrieben wurde. Jedoch enthält der über den MUX 37 gewählte Wiedergabe-Datenstrom
bereits die CPSI. Daher bewirkt die Steuereinheit 115 im
Schritt 520 in dem Wiedergabe-Modus nicht die Schritte für die im
Zusammenhang mit 2–3 beschriebenen Schritte
für die CPSI-Bildung.
-
In dem in 4 dargestellten beispielhaften Wiedergabemodus
dekodiert das System 25 im Schritt 520 den Wiedergabe-Datenstrom,
um für
die Wiedergabe dekodierte Daten zu den Anwendungs-Dekodern 80 und 85 zu
liefern. In diesem Modus liefert das System die letzten vollständigen CPSI-Daten,
die in dem Wiedergabe-Datenstrom
enthalten sind, gemäß der MPEG-Norm
zur Bildung eines dekodierten Transportdatenstroms, der das gewählte Programm
SR darstellt.
-
Die CPSI werden bei der Transport-Dekodierung
des Wiedergabe-Datenstroms unter Anwendung der PID-Filter 45 und 47,
des Entschlüsselers 50,
des Dekoders 55, des Puffers 60 und der Steuereinheit 65 in
einer Weise angewendet, die ähnlich
zu der vorangehend im Zusammenhang mit 1 beschriebenen Weise ist. Der dekodeirte
Transportdatenstrom, außer
den CPSI, wird über
die Schnittstelle 70 den Anwendungsdekodern 80 und 85 für die MPEG-Dekodierung
und die Bildwiedergabe geliefert. In anderen Modi liefert das System 25 den
Wiedergabedatenstrom mit den CPSI zu anderen Anwendungsgeräten, wie
zum Beispiel einem Hochgeschwindigkeits-Datenanschluß 75.
Die CPSI sind dann dafür
verfügbar,
im Bedarfsfall bei der Transportdekodierung des Wiedergabe-Datenstromes durch
diese Anwendungseinheiten oder darauffolgende Geräte angewandt
zu werden. Wenn zum Beispiel der Wiedergabedatenstrom in einer anderen zweiten
Steuereinheit als die Einheit 90 gespeichert werden soll,
liefert der MUX 110 den Datenstrom mit den CPSI über eine
zweite Speicherschnittstelle zu der zweiten Speichereinheit. Ferner
ahmen die zweite Speichereinheit und die Schnittstelle (beide in 1 nicht dargestellt) den
Betrieb und die Funktion der Einheiten 90 bzw. 95 nach.
Die Daten von der Schnittstelle 70, die durch die Anwendungsdekoder 80 und 85 MPEG-dekodiert
werden, werden durch Audio- und Bild-Wiedergabegeräte in den
Einheiten 80 bzw. 85 dargestellt.
-
Im Schritt 527 (4) belastet das System für den bedingten
Zugriff innerhalb des Systems 25 den Benutzer für die Programmwiedergabe.
Der Benutzer wird innerhalb der einschiebbaren Smart Card selbst
durch Speicherung von Berechnungsinformationen nach der Anwendung
des Wiedergabe-Algorithmus belastet. Die Belastungs- oder Berechnungsinformationen
zweigen an, dass der Benutzer ein verschlüsseltes Rundfunkprogramm zurückgewonnen hat.
Zu diesen Berechnungsinformationen erfolgt später ein Zugriff über eine
Telefonleitung oder durch den Serviceanbieter, und sie dienen zur
Belastung des Benutzers über
einen konventionellen Belastungsvor gang. Andere Belastungsmechanismen können, wie
vorangehend beschrieben, ebenso benutzt werden. Der Wiedergabevorgang
von 4 endet beim Schritt 530.
-
Der Aufbau von 1 ist nicht exklusiv oder zwingend. Es
können
andere Aufbauten gemäß den Prinzipien
der Erfindung zur Erfüllung
derselben Aufgaben abgeleitet werden. Ferner können die Funktionen der Bauteile
des Aufbaus von 1 und
die Verarbeitungsschritte der 2–4 ganz oder teilweise in den
programmierten Anweisungen eines Mikroprozessors durchgeführt werden.
Zusätzlich
sind die Prinzipien der Erfindung auf beliebige Systeme anwendbar,
die einen MPEG- oder Nicht-MPEG-kompatiblen
elektronischen Programmführer
für die Übertragung
jeglicher Informationen benutzen, die hier beschrieben wurden und
in MPEG-PSI-Tabellen übertragen
werden. Die Prinzipien der Erfindung sind nicht auf Programmführer oder
PSI beschränkt,
die in MPEG-kompatiblen PSI-Tabellen übertragen werden.