-
HINTERGRUND
-
Ausführungsformen der vorliegenden Erfindung beziehen sich auf eine Rundfunkverschlüsselung und insbesondere auf eine Verschlüsselungsschlüsselzuordnung mit zusätzlichen Sicherheitselementen, um die Anfälligkeit gegenüber bestimmten Angriffen zu verringern.
-
Die
US 2008 / 0 192 936 A1 offenbart eine Vorrichtung und ein Verfahren für den selektiven Zugriff auf digitale Inhalte, die auf einem Verteilungsmedium, wie beispielsweise einem physischen Medium oder einem Rundfunkmedium, übertragen werden. In einem Beispiel werden mehrere digitale Inhalte mit mehreren verschiedenen Schlüsselverwaltungsblöcken verschlüsselt, wobei jeder Schlüsselverwaltungsblock mit einem anderen Satz von Geräteschlüsseln verbunden ist. Die mehreren Inhaltselemente können zusammen auf einem einzigen Verteilungsmedium für Geräte mit zugewiesenen Geräteschlüsseln bereitgestellt werden, so dass Geräte selektiv auf Inhalte zugreifen können, die durch den unterschiedlichen Schlüsselverwaltungsblock, der zur Verschlüsselung der verschiedenen Inhaltselemente verwendet wird, und durch die den Geräten zugewiesenen Geräteschlüssel bestimmt werden. Je nach der Zuordnung zwischen dem Geräteschlüssel und den Schlüsselverwaltungsblöcken kann das Dekodiergerät alle Inhaltselemente, einige der Inhaltselemente oder keine der Inhaltselemente dekodieren. Um die Sicherheit zu erhöhen, kann jedes Inhaltselement mehrfach verschlüsselt werden, indem mehrere Schlüsselverwaltungsblöcke pro Inhaltselement verwendet werden.
-
Die
US 2012 / 0 243 687 A1 offenbart einen Chiffrierschlüssel, der in n Chiffrierschlüsselfragmente zerlegt werden kann, so dass k<n Fragmente für die Rekonstruktion des Chiffrierschlüssels ausreichend sind. Die Verschlüsselungsschlüsselfragmente können auf Datenspeicher verteilt werden, die sich in einer ersten und einer zweiten geografischen Region befinden. Zum Beispiel können mindestens k der Verschlüsselungsschlüsselfragmente über Datenspeicher verteilt werden, die in N verschiedenen Verfügbarkeitszonen innerhalb der ersten geografischen Region realisiert sind, so dass weniger als k der Verschlüsselungsschlüsselfragmente auf jede der N Verfügbarkeitszonen innerhalb der ersten geografischen Region verteilt werden. In ähnlicher Weise können mindestens k der Verschlüsselungsschlüsselfragmente auf Datenspeicher verteilt werden, die in M verschiedenen Verfügbarkeitszonen innerhalb der zweiten geografischen Region realisiert sind, so dass weniger als k der Verschlüsselungsschlüsselfragmente auf jede der M Verfügbarkeitszonen innerhalb der zweiten geografischen Region verteilt sind.
-
Die
US 2011 / 0 026 710 A1 offenbart ein kryptographisches Authentifizierungssystem, umfassend einen Authentifizierungsmedienschlüsselblock, der Medienschlüsselvorläufer umfasst. Das System erzeugt transformierte Schlüssel durch Anwendung einer Funktion auf eine Medien-ID eines Mediums und jeden der Medienschlüsselvorläufer und erzeugt Einträge in einer Bindungstabelle durch Anwendung einer Verschlüsselungsfunktion auf einen Medienschlüssel eines verschlüsselten Inhalts und jeden der transformierten Schlüssel. Um verschlüsselte Inhalte abzuspielen, verarbeitet ein Medienabspielgerät den Authentifizierungsmedienschlüsselblock unter Verwendung eines Geräteschlüssels, um einen Medienschlüsselvorläufer zu extrahieren, extrahiert einen Medienschlüssel aus der Bindungstabelle unter Verwendung des extrahierten Medienschlüsselvorläufers und der Medien-ID und verifiziert, dass der extrahierte Medienschlüssel mit dem Medienschlüssel des verschlüsselten Inhalts übereinstimmt, wodurch das Mediengerät den verschlüsselten Inhalt entschlüsseln und abspielen kann.
-
KURZDARSTELLUNG
-
Gemäß einer Ausführungsform der vorliegenden Erfindung werden ein Verfahren und ein Computerprogrammprodukt für eine Rundfunkverschlüsselung bereitgestellt. Ein Schlüsselbündel, das in einem dauerhaften maschinenlesbaren Medium codiert ist, wird empfangen. Das Schlüsselbündel weist einen ersten kryptographischen Schlüssel und eine zugewiesene erste kryptographische Funktionskennung auf. Verschlüsselter Inhalt wird empfangen. Ein Schlüsselblock, der einem Teilmengen-Differenzbaum entspricht, wird empfangen. Eine erste kryptographische Dreifachfunktion, die der ersten kryptographischen Funktionskennung entspricht, wird ermittelt. Der Teilmengen-Differenzbaum wird unter Verwendung des ersten kryptographischen Schlüssels und der ersten kryptographischen Dreifachfunktion durchlaufen, um einen kryptographischen Inhaltsschlüssel zu erhalten. Der kryptographische Inhaltsschlüssel wird auf den verschlüsselten Inhalt angewendet, um einen entschlüsselten Inhalt zu erhalten.
-
Gemäß einer anderen Ausführungsform der vorliegenden Erfindung werden ein Verfahren und ein Computerprogrammprodukt für eine Rundfunkverschlüsselung bereitgestellt. Ein Schlüsselbündel, das in einem dauerhaften maschinenlesbaren Medium codiert ist, wird bereitgestellt. Das Schlüsselbündel weist einen ersten kryptographischen Schlüssel und eine zugewiesene erste kryptographische Funktionskennung auf. Verschlüsselter Inhalt wird bereitgestellt. Ein Schlüsselblock, der einem Teilmengen-Differenzbaum entspricht, wird bereitgestellt. Der Schlüsselblock wird so ausgewählt, dass der verschlüsselte Inhalt entschlüsselbar ist durch: Ermitteln einer ersten kryptographischen Dreifachfunktion, die der ersten kryptographischen Funktionskennung entspricht; Durchlaufen des Teilmengen-Differenzbaums unter Verwendung des ersten kryptographischen Schlüssels und der ersten kryptographischen Dreifachfunktion, um einen kryptographischen Inhaltsschlüssel zu erhalten; und Anwenden des kryptographischen Inhaltsschlüssels auf den verschlüsselten Inhalt, um einen entschlüsselten Inhalt zu erhalten.
-
Gemäß einer anderen Ausführungsform der Erfindung werden ein Verfahren und ein Computerprogrammprodukt für eine Schlüsselzuordnung bereitgestellt. Der zugeordnete Schlüsselraum eines Teilmengen-Differenzbaums wird ermittelt. Der zugeordnete Schlüsselraum ist durch einen Satz von kryptographischen Dreifachfunktionen durchlaufbar. Ein nicht verwendeter Schlüssel des Teilmengen-Differenzbaums wird ausgewählt. Eine Traversalfunktion, die nicht in dem Satz von kryptographischen Dreifachfunktionen enthalten ist, wird ausgewählt. Ein Schlüsselbündel, das in einem dauerhaften maschinenlesbaren Medium codiert ist, wird bereitgestellt. Das Schlüsselbündel weist den nicht verwendeten Schlüssel und eine Kennung auf, welche die Traversalfunktion kennzeichnet.
-
Figurenliste
-
Ausführungsformen der vorliegenden Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
- 1 eine schematische Darstellung eines Rundfunkverschlüsselungsschemas gemäß einer Ausführungsform der vorliegenden Offenbarung ist.
- 2 ein beispielhaftes Geräteschlüsselbündel gemäß einer Ausführungsform der vorliegenden Offenbarung ist.
- 3 einen Datenverarbeitungsknoten gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Ein Teilmengen-Differenzbaum-Ansatz kann in einem Rundfunkverschlüsselungsschema verwendet werden, um den berechtigten Zugriff auf verteilten Inhalt zu beschränken. NNL (benannt nach Naor, Naor und Lotspiech) bietet platzsparende Schlüsselzuordnungen in Rundfunkverschlüsselungssystemen unter Verwendung eines Teilmengen-Differenzbaums. NNL verwendet eine Einweg-Dreifachfunktion, um einen binären Baum nach unten zu durchlaufen und Verschlüsselungsschlüssel von Elternknoten abzuleiten, wobei das Anwenden der Dreifachfunktion das Ermitteln eines Verarbeitungsschlüssels sowie der linken und rechten Kinder des Knotens ermöglicht. Den Inhaltskonsumenten wird ein eindeutiger kleiner Satz von Kennsätzen (Schlüssel) für bestimmte Startknoten zugeordnet, und durch Anwendung der Dreifachfunktion können sie alle anderen Kennsätze und Schlüssel unterhalb dieser (abgedeckt von diesen) Startkennsätzen ableiten. Durch diese Fähigkeit, Kennsätze von anderen Kennsätzen abzuleiten, erhält NNL seine Kompaktheit, und sie ermöglicht insbesondere die Verteilung eines minimalen Satzes von Schlüsseln an einen Client. Entsprechend ermöglicht NNL die Verteilung eines minimalen Satzes von Verschlüsselungen. Anstatt eine Version einer Nachricht zu verteilen, die für jedes Zielgerät verschlüsselt wird, können Nachrichten unter Verwendung des Teilmengen-Differenzbaumansatzes für Teilmengen von Geräten verschlüsselt werden.
-
Eine einzelne vorher festgelegte Einwegfunktion kann angewendet werden, um den Baum zu durchlaufen. Wenn diese Funktion im Voraus bekannt ist, ist ein Angreifer möglicherweise in der Lage, zusätzliche Schlüssel durch Brute-Force-Verfahren abzuleiten. Insbesondere kann das Ergebnis einer bekannten Einwegfunktion für alle möglichen Eingaben berechnet werden. Sobald eine Antwort mit irgendeinem Startkennsatz übereinstimmt, wurde die Einwegfunktion geknackt, und eine Angreiferin hat einen Kennsatz abgeleitet, für den sie nicht berechtigt war. Mit ausreichender Rechenleistung kann ein Angreifer dadurch das Inhaltsschutzsystem umgehen. Das Ergebnis eines erfolgreichen Brute-Force-Angriffs kann katastrophal sein, da das Ableiten von unberechtigten Kennsätzen einem Angreifer erlauben würde, irgendeinen anderen berechtigten Inhaltskonsumenten zu imitieren, um unberechtigten Zugriff auf Inhalte zu erhalten. Es kann ein effizienter Angriff ausgeführt werden, bei dem Antworten mit dem gesamten Satz von Startkennsätzen parallel verglichen werden. Das Vergleichen eines Kennsatzes mit jeder berechneten Antwort ist nicht wesentlich einfacher als das Vergleichen mehrerer Kennsätze zur gleichen Zeit. Wenn ein Angreifer mehrere Sätze von Startkennsätzen (z.B. mehrere kompromittierte Schlüsselsätze) hat, wird diese Parallelität weiter erhöht. Sobald irgendein Kennsatz geknackt worden ist, können alle Schlüssel unter diesem Kennsatz unter Verwendung einer bekannten Dreifachfunktion leicht abgeleitet werden. Selbst das Verfahren (mit Ausnahme der reinen Zufallszahlenerzeugung), das zum Ableiten der Startkennsätze verwendet wurde, liefe ebenfalls Gefahr, geknackt zu werden.
-
Um das Risiko eines derartigen Angriffs zu minimieren, kann die Einwegfunktion so gewählt werden, dass ein Brute-Force-Angriff unmöglich ist. Insbesondere kann eine Funktion gewählt werden, die eine unangemessen lange Zeitspanne erfordert, um durch ein Brute-Force-Verfahren geknackt zu werden. Zum Beispiel wird allgemein davon ausgegangen, dass eine Einwegfunktion, die AES-128 verwendet, zum jetzigen Zeitpunkt nicht geknackt werden kann. Allerdings haben Angreifer Zugriff auf zunehmend große Clouds (oder Botnets), die zahlreiche Computer aufweisen, deren durchschnittliche individuelle Rechenkapazität sich alle 18 Monate verdoppelt. Mit dem anhaltenden Anstieg der Rechenleistung können Angreifer durch Brute-Force-Verfahren jedes Jahr ungefähr ein weiteres Bit an Verschlüsselungsstärke knacken. Zusätzlich gibt es gelegentliche technologische (Hardware- oder algorithmische) Entwicklungen, die Sprünge von mehreren Größenordnungen in der Effizienz des Knackens ermöglichen (z.B. Rainbow Tables, CPU-Unterstützung für AES, Multi-Core-Parallelität, massive Parallelität in GPUs, FPGAs, elektronische Datenverarbeitung mit einem Quantencomputer). Angesichts dieser laufenden Fortschritte kann eine Einwegfunktion, die derzeit praktisch nicht geknackt werden kann, in naher Zukunft geknackt werden.
-
Um das Risiko eines Brute-Force-Angriffs bei der Rundfunkverschlüsselung anzugehen, sieht die vorliegende Offenbarung eine Variation der Verschlüsselungsfunktion vor, die auf einzelne Kennsätze in der Matrix anwendbar ist. Wenn die Verschlüsselungsfunktion innerhalb eines Rundfunkverschlüsselungssystems variiert, kann kein wirkungsvoller Brute-Force-Angriff gestartet werden. Auch dort, wo es möglich ist, ein Brute-Force-Verfahren auf eine einzelne bekannte Funktion anzuwenden, ist es nicht möglich, einen Brute-Force-Angriff durchzuführen, wenn die anwendbare Verschlüsselungsfunktion unbekannt ist. Zusätzlich können durch Zulassen der Variation der Verschlüsselungsfunktion Schlüssellängen (und dadurch die Größe des Entschlüsselungsschlüsselbündels) verringert werden, während dieselbe effektive Verschlüsselungsstärke beibehalten wird.
-
Unter Bezugnahme auf 1 wird eine schematische Darstellung eines Rundfunkverschlüsselungsschemas bereitgestellt. Im Allgemeinen wird ein verschlüsselter Inhalt 101 mit einem Medienschlüssel 102 verschlüsselt. Der Medienschlüssel (Km) 102 wird von einem berechtigten Inhaltskonsumenten bestimmt, indem ein Medienschlüsselblock (MKB) 104 unter Verwendung eines Satzes von Geräteschlüsseln (Kd) 103 verarbeitet wird. Der Medienschlüssel 102 ist spezifisch für den verschlüsselten Inhalt, die Geräteschlüssel 103 sind in einem berechtigten Inhaltskonsumenten (wie zum Beispiel einem digitalen Mediaplayer) beinhaltet, und der Medienschlüsselblock 104 ist in dem verschlüsselten Inhalt beinhaltet, beispielsweise in der Einlaufspur von optischen Medien wie zum Beispiel einer DVD.
-
In einem derartigen Rundfunkverschlüsselungsschema ist eine Schlüsselerzeugungseinrichtung (KGF, Key Generation Facility) verantwortlich für das Erzeugen einer Vielzahl von Verschlüsselungsschlüsseln, darunter die Medienschlüssel 102 und die Geräteschlüssel 103. Die Schlüsselerzeugungseinrichtung ist auch für das Erzeugen eines Medienschlüsselblocks 104 verantwortlich, von dem ein bestimmter Medienschlüssel 102 durch einen berechtigten Inhaltskonsumenten abgeleitet werden kann.
-
Verschlüsselter Inhalt wird mit einem eindeutigen Medienschlüssel 102 vor der Verteilung verschlüsselt, sei es über ein Netzwerk oder auf optischen Medien wie eine DVD. In Verbindung mit dem verschlüsselten Inhalt wird der entsprechende Medienschlüsselblock 102 bereitgestellt. In einigen Ausführungsformen befindet sich der Medienschlüsselblock 104 auf einem optischen Medium mit dem verschlüsselten Inhalt 101. In anderen Ausführungsformen wird der Medienschlüsselblock 104 über ein Netzwerk vor, nach oder während der Verteilung des verschlüsselten Inhalts verteilt. In einigen Ausführungsformen werden der verschlüsselte Inhalt und der Medienschlüsselblock 104 über verschiedene Mechanismen verteilt, während sie in einigen Ausführungsformen durch denselben Mechanismus verteilt werden.
-
Einem berechtigten Konsumenten des verschlüsselten Inhalts, wie z.B. einem Mediaplayer, wird ein Bündel von Geräteschlüsseln (Kd) 103 bereitgestellt. Durch Verarbeiten 105 des Medienschlüsselblocks (MKB) 104 mit seinen Geräteschlüsseln 103 ist der berechtigte Player in der Lage, den Medienschlüssel (Km) 102 zu ermitteln. Der Medienschlüssel (Km) 102 wird dann zum Entschlüsseln des verschlüsselten Inhalts 101 verwendet. Ein Fachmann wird erkennen, dass mehrere Verfahren zum Verarbeiten eines Medienschlüsselblocks 104 bekannt sind, um einen Medienschlüssel 102 wie zum Beispiel die bei AACS praktizierten zu erhalten.
-
Die Schlüsselerzeugungseinrichtung versorgt verschiedene berechtigte Inhaltskonsumenten oder Gruppen von Konsumenten mit verschiedenen Bündeln von Geräteschlüsseln. Der Medienschlüsselblock wird von der Schlüsselerzeugungseinrichtung erzeugt, so dass lediglich berechtigte Geräteschlüssel in der Lage sind, einen bestimmten Medienschlüssel aus dem Medienschlüsselblock zu ermitteln. Wenn ein bestimmter Konsument oder Mediaplayer nicht mehr berechtigt ist, den verschlüsselten Inhalt zu lesen, ermöglichen nachfolgende von der Schlüsselerzeugungseinrichtung generierte Medienschlüsselblöcke es nicht, dass derartige widerrufene Player den Medienschlüssel erhalten. Auf diese Weise ist ein widerrufener Konsument nicht in der Lage, den Inhalt zu entschlüsseln, der nach seinem Widerruf bereitgestellt wird.
-
In einem Teilmengen-Differenzansatz, wie zum Beispiel dem bei AACS eingesetzten, wird der Schlüsselraum durch einen großen Masterbaumschlüssel festgelegt. Jedes autorisierte Gerät ist eindeutig mit einem Blattknoten des Schlüsselbaums verknüpft. Das Bündel von Geräteschlüsseln 103 für jedes Gerät enthält genau einen eindeutigen Blattschlüssel. Die verbleibenden Geräteschlüssel in dem Bündel 103 reichen aus, um jeden anderen Schlüssel in dem Baum abzuleiten, mit Ausnahme der Schlüsselsätze, die zwischen dem Blattschlüssel des Gerätes und der Baumwurzel liegen. Wie vorstehend erwähnt, ist jeder Kindschlüssel aus seinem Elternschlüssel durch Anwendung einer Einwegfunktion berechenbar. Somit kann ein Inhaltskonsument, der über einen bestimmten Satz von Geräteschlüsseln verfügt, nicht seinen eigenen Blattschlüssel ableiten. Jedoch kann dies jeder andere Inhaltskonsument mit einem anderen Geräteschlüsselbündel tun.
-
Entsprechend jedem untergeordneten Baum in dem Masterbaum gibt es einen separaten Schlüsselbaum zusätzlich zu dem Masterbaum. Zum Beispiel gibt es eine Ebene unter der Wurzel des Master-Binärbaums zwei untergeordnete Bäume, die jeweils ihren eigenen zugehörigen Schlüsselbaum haben. Demzufolge gehört am unteren Ende des Masterbaums jedes Paar gerätezugewiesener Blattknoten zu seinem eigenen untergeordneten Baum der Höhe 1. Für jeden untergeordneten Baum, der einem Knoten in dem Masterbaum zwischen dem zugewiesenen Blattknoten eines bestimmten Geräts und der Baum-Wurzel entspricht, ermöglicht der Satz von Geräteschlüsseln des Geräts die Ableitung jedes Schlüssels in diesem untergeordneten Baum, mit Ausnahme der Schlüssel zwischen seinem Blatt und der Wurzel innerhalb dieses untergeordneten Baums.
-
Wenn man diese Beziehung zwischen den Schlüsseln verwendet, kann jeder Blattschlüssel widerrufen werden, indem in den Medienschlüsselblock der Medienschlüssel aufgenommen wird, der nur von dem Blattknoten verschlüsselt wird, der widerrufen wird. Um einen zusammenhängenden Bereich von Blattschlüsseln zu widerrufen, kann der Medienschlüssel durch einen Schlüssel verschlüsselt werden, der sich höher in dem Masterbaum befindet. Nicht zusammenhängende Bereiche von Blattschlüsseln können durch Verwendung des untergeordneten Baumsystems widerrufen werden. Ein Schlüssel, der mit einer einzelnen zusammenhängenden Gruppe von widerrufenen Blattschlüsseln in einem einzelnen untergeordneten Baum verknüpft ist, wird zum Verschlüsseln des Medienschlüssels verwendet. Dieser Eintrag in dem MKB ermöglicht es Geräten, die diesen Schlüssel nicht haben, den Medienschlüssel erfolgreich zu berechnen, während verhindert wird, dass alle Geräte, welche die widerrufenen Blattschlüssel enthalten, den Medienschlüssel erfolgreich berechnen. Eine ähnliche Verschlüsselung wird mit anderen untergeordneten Bäumen wiederholt, bis alle Geräte, welche die widerrufenen Blattschlüssel enthalten, den Medienschlüssel nicht berechnen können und alle anderen Geräte dies tun können.
-
2 stellt ein beispielhaftes Geräteschlüsselbündel gemäß einer Ausführungsform der vorliegenden Offenbarung dar. Das Geräteschlüsselbündel 200 beinhaltet mehrere Einträge (als Zeilen dargestellt), die jeweils einen Schlüssel 201 ... 207 aufweisen. In einigen Ausführungsformen sind die Schlüssel 201 ... 207 128-Bit- (16-Byte-) AES-Schlüssel, Funktionskennungen 211 ... 217 werden weggelassen, und die anwendbare Funktion ist einem berechtigten Inhaltskonsumenten von vornherein bekannt. In derartigen Ausführungsformen kann es sich bei der Dreifachfunktion um AES-G3 handeln, wie durch AACS definiert ist. In einigen Ausführungsformen wird eine alternative Blockchiffrierung verwendet. Verschiedene Chiffrierungen und entsprechende Schlüssellängen können verwendet werden, darunter AES, Blowfish, C2-Blockchiffrierung, Camellia, CAST-128, CAST-256, CLEFIA, Cryptomeria, DES, FEAL, GOST 28147-89, ICE, IDEA, KASUMI, LOKI97, Lucifer, MacGuffin, MAGENTA, MARS, MISTY1, RC2, RC5, RC6, Skipjack, SMS4, TEA, Triple DES, Twofish und XTEA, aber nicht auf diese beschränkt.
-
In einigen Ausführungsformen beinhaltet jeder Eintrag in dem Geräteschlüsselbündel 200 eine Funktionskennung 211 ... 217. Die Funktionskennungen 211 ... 217 zeigen an, welche kryptographische Funktion auf jeden der Schlüssel 201 ... 207 anwendbar ist. In einigen Ausführungsformen sind die Funktionskennungen 211 ... 217 Salt-Werte zu einer bekannten kryptographischen Funktion (d.h. ein zufälliger Wert, der eine zusätzliche Eingabe für die kryptographische Funktion bereitstellt). In einigen Ausführungsformen beinhalten die Funktionskennungen 211 ... 217 sowohl eine Angabe der anzuwendenden Funktion als auch einen Salt-Wert. In einigen Ausführungsformen beinhalten die Funktionskennungen 211 ... 217 Informationen, die ausreichen, um eine Funktion oder einen Salt-Wert abzuleiten. Zum Beispiel können die Funktionskennungen 211 ... 217 einen Startwert (seed) für einen Pseudozufallszahlengenerator beinhalten, der dann dazu verwendet wird, einen Salt-Wert oder einen anderen Parameter für eine kryptographische Funktion zu erzeugen. In einigen Ausführungsformen beinhaltet die Funktionskennung 211 ... 217 eine Beschreibung der anzuwendenden kryptographischen Funktion, die in einer Sprache kodiert ist, die zur Codierung von mathematischen Funktionen wie MathML geeignet ist. In einigen Ausführungsformen wird anstelle des direkten Zuweisens einer bestimmten Funktion zu einem Schlüssel eine algorithmische Abbildung bereitgestellt, sodass ein Inhaltskonsument die entsprechende Funktion aus einer Position in dem Baum ableiten kann.
-
In einigen Ausführungsformen können die Funktionskennungen 211 ... 217 jeweils eine von mehreren möglichen Dreifachfunktionen sein. Ein bestimmter Inhaltskonsument erhält nur diejenigen Funktionskennungen, die erforderlich sind, um den Baum von seinen zugewiesenen Anfangspunkten aus zu durchlaufen. Für diejenigen Knoten und untergeordneten Bäume, die sich über den Startkennsätzen des Konsumenten befinden, sind keine Kennungen beinhaltet. Aufgrund der Informationen, die in dem Geräteschlüsselbündel beinhaltet sind, weiß ein Angreifer nicht, welche Einwegfunktion verwendet wird, um irgendeinen seiner gegebenen Startkennsätze abzuleiten. Ein Angreifer ist nicht in der Lage, einen wirksamen Brute-Force-Angriff auf eine unbekannte Funktion auszuführen. Selbst wenn eine Angreiferin eine passende Antwort für irgendeine Funktion erhält, weiß sie nicht, ob das die richtige Funktion für den Anfang war. Sogar eine genaue Vermutung über die korrekte Funktion für einen bestimmten Schlüssel liefert einem Angreifer keine Informationen über die Funktion, die notwendig ist, um den Baum hin zu unberechtigten untergeordneten Bäumen zu durchlaufen. Somit schließt das Anwenden des Schlüsselzuweisungsschemas der vorliegenden Offenbarung Brute-Force-Angriffe wirksam aus, die darauf gerichtet sind, unbekannte Schlüssel zu erhalten.
-
In einigen Ausführungsformen sind die Traversalfunktionen nicht für Bereiche des Baums festgelegt, die noch nicht durchlaufen wurden. Zum Beispiel können Bereiche des Baums, die berechtigten Inhaltskonsumenten noch nicht von der Schlüsselerzeugungseinrichtung zugewiesen wurden und die auch nicht dazu verwendet wurden, Entschlüsselungsteilmengen anzugeben, bis zur tatsächlichen Verwendung undefiniert bleiben. Indem große Bereiche des Baums bis zu dem Zeitpunkt undefiniert bleiben, an dem sie zuerst verwendet werden, wird eine verzögerte Zuweisung von Traversalfunktionen ermöglicht. Demzufolge können alternative Verschlüsselungsfunktionen, ob aktuell bekannt oder noch unentwickelt, zukünftig auf ein bestehendes Schema angewendet werden. Das Verzögern der Funktionsdefinition kann auch rückwirkend auf bestehende Teilmengen-Differenzschemata angewendet werden, selbst nach deren Einsatz. Zum Beispiel kann die Funktion für nicht verwendete Räume in einem bereits vorhandenen NNL-System wie zum Beispiel AACS geändert werden, ohne sich auf vorhandene Inhalte und Konsumenten auszuwirken. In der Tat werden nur die zugeordneten Bereiche dahingehend gesperrt, eine bestimmte Traversalfunktion zu verwenden. Die überwiegende Mehrheit des Raumes in bereits eingesetzten NNL-Systemen wird noch nicht verwendet, sodass die Techniken der vorliegenden Offenbarung weitgehend in bestehenden Systemen eingesetzt werden können, ohne die Rückwärtskompatibilität zu beeinträchtigen. In einigen Ausführungsformen kennt der Inhaltsanbieter alle Funktionen, die in bestehenden Medienschlüsselblöcken angewendet werden, um zukünftige Schlüssel zu erzeugen. Jedoch können in einigen Ausführungsformen zusätzliche Funktionen zu dem bestehenden System hinzugefügt werden, indem der Inhaltsanbieter geändert wird, ohne vorhandenen Inhalt unzugänglich zu machen. In einigen Ausführungsformen werden verschiedenen Inhaltsanbietern unterschiedliche Funktionen zugeordnet. In einigen Ausführungsformen sind die verwendeten Funktionen einem Forensik-System bekannt, das zum Erkennen von kompromittierten Schlüsseln verwendet werden kann.
-
Da des Weiteren ein Teil der wirksamen Verschlüsselungsstärke des Rundfunkverschlüsselungssystems auf polymorphe Traversalfunktionen verlagert werden kann, wird die Stärke eines Schlüssels einer bestimmten Länge erheblich erhöht. Im Allgemeinen ist der Schutz unbekannter Schlüssel wichtiger als der Schutz einzelner Inhalte (oder einer einzelnen Nachricht). Deshalb kann die Größe der Anfangsschlüssel verringert werden. Zum Beispiel kann die Stärke der angewandten Verschlüsselung ausgewählt werden, um einen individuellen Inhalt während seiner Nutzungsdauer zu schützen (selbst wenn dies nur für wenige Stunden oder Tage ist). Im Ergebnis kann die aggregierte Entschlüsselungsschlüssel-Bündelgröße deutlich verringert werden. In einigen Umsetzungen kann die Entschlüsselungsschlüssel-Bündelgröße um die Hälfte oder mehr verringert werden. In einigen Ausführungsformen ist das Entschlüsselungsschlüsselbündel mit einer Rundfunkinhaltsübertragung gekoppelt (im Gegensatz dazu, in einem einmaligen statischen Schlüssel und einem Funktionsspeicher in den Clients beinhaltet zu sein). In derartigen Ausführungsformen wird der laufende Übertragungsaufwand durch die Verwendung von polymorphen Traversalfunktionen erheblich verringert.
-
In einigen Ausführungsformen ist die Traversalfunktion jedes Knotens eindeutig. In einer derartigen Ausführungsform ist der Platzbedarf für die statische Schlüsselspeicherung auf der Empfangsseite vergleichbar mit dem Raum, der erforderlich ist, um den vollständigen Satz abgeleiteter Schlüssel auszugeben. Ungeachtet des größeren empfängerseitigen statischen Schlüsselspeichers in einer derartigen Ausführungsform würden das Entschlüsselungsschlüsselbündel oder der Medienschlüsselblock klein bleiben. Die Anzahl von eindeutigen Traversalfunktionen, die in dem Baum angewendet werden, kann von einem (rein monomorphen Ansatz) zu einem pro Knoten (einem reinen polymorphen Ansatz) variiert werden.
-
In einigen Ausführungsformen wird die Traversalfunktion lediglich hinsichtlich bestimmter Abschnitte des Teilmengen-Differenzbaums variiert. In einer beispielhaften Ausführungsform ist dem Inhaltskonsumenten eine Standardfunktion im Voraus bekannt. Jedoch handelt es sich bei den ersten Zweigen des Baums von jedem Startkennsatz aus um eine andere Dreifachfunktion als die Standardfunktion. Eine derartige Technik für null Raumkosten schützt die Kennsätze sowie die Hälfte des Schlüsselraums. In einer anderen beispielhaften Ausführungsform wird dieselbe Funktion über große Flächen des Baumraums hinweg verwendet. In einigen Ausführungsformen wird jedem Benutzer des Verschlüsselungsschemas eine eindeutige Funktion zugewiesen. In einer anderen beispielhaften Ausführungsform wird eine einzelne Funktion über den gesamten Schlüsselraum hinweg verwendet, wobei die Funktion aber mindestens eine eindeutige Konstante beinhaltet. In einigen Ausführungsformen werden viele verschiedene Funktionen in Kombination mit vielen unterschiedlichen Parametern verwendet, um größere abgeleitete Konstanten abzuleiten. In einigen Ausführungsformen werden Konstanten mit unterschiedlichen Größen verwendet. In einigen Ausführungsformen weist jede Ebene des Baumes eine feste Anzahl von verschiedenen Funktionen auf. In einigen Ausführungsformen wird die Dreifachfunktion sporadisch über den gesamten Baum hinweg variiert. Zum Beispiel können etwa 1/10 der Knoten zufällig eine von einer Standardfunktion abweichende Funktion aufweisen. In einigen Ausführungsformen kann der Anteil derartiger Punktübergänge abgestimmt werden, um den Raumbedarf auf Inhaltskonsumenten anzupassen. Schließlich kann die bloße Möglichkeit, dass die Dreifachfunktion variiert, als Abschreckung für einen möglichen Angreifer wirken, ohne tatsächlich eine Variation der Funktion zu erfordern.
-
Unter Bezugnahme auf 3 wird ein Schaubild eines Beispiels eines Datenverarbeitungsknotens gemäß einer Ausführungsform der vorliegenden Erfindung bereitgestellt. Der Verarbeitungsknoten 10 ist lediglich ein Beispiel eines geeigneten Verarbeitungsknotens und soll keinerlei Einschränkungen hinsichtlich des Anwendungsbereichs oder der Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung andeuten. Trotzdem kann eine beliebige vorstehend dargelegte Funktionalität in dem Datenverarbeitungsknoten 10 umgesetzt und/oder von diesem durchgeführt werden.
-
In dem Datenverarbeitungsknoten 10 gibt es ein Computersystem/einen Server 12, das/der mit zahlreichen anderen Universal- bzw. Spezial-Datenverarbeitungssystem-Umgebungen bzw. Konfigurationen betriebsfähig ist. Zu Beispielen für allgemein bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die zur Verwendung mit dem Computersystem/Server 12 geeignet sein können, gehören Personal-Computer-Systeme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- bzw. Laptop-Geräte, Multiprozessorsysteme, auf Mikroprozessoren beruhende Systeme, Set-Top-Boxen, programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme sowie verteilte Cloud-Computing-Umgebungen, die irgendeine(s) der obigen Systeme bzw. Einheiten beinhalten, und dergleichen, aber nicht darauf beschränkt.
-
Das Computersystem/der Server 12 kann in dem allgemeinen Kontext von durch Computersysteme ausführbaren Instruktionen, z.B. durch Programmmodule, beschrieben werden, die von einem Computersystem ausgeführt werden. Allgemein können zu Programmmodulen Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter gehören, die bestimmte Aufgaben durchführen bzw. bestimmte abstrakte Datentypen umsetzen. Das Computersystem/der Server 12 kann in verteilten Datenverarbeitungsumgebungen ausgeführt werden, wo Aufgaben durch ferne Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Datenverarbeitungsumgebung können sich Programmmodule sowohl in lokalen als auch in fernen Computersystem-Speichermedien befinden, darunter Arbeitsspeichereinheiten.
-
Wie in 3 gezeigt ist, ist das Computersystem/der Server 12 in dem Datenverarbeitungsknoten 10 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 12 können eine(n) oder mehrere Prozessoren oder Verarbeitungseinheiten 16, einen Systemspeicher 28 und einen Bus 18 aufweisen, der verschiedene Systemkomponenten, darunter den Systemspeicher 28, mit dem Prozessor 16 verbindet, sind aber nicht darauf beschränkt.
-
Der Bus 18 stellt eine oder mehrere einer beliebigen von mehreren Arten von Busstrukturen dar, darunter einen Speicherbus oder eine Speichersteuereinheit, einen Peripheriebus, einen beschleunigten Grafikanschluss und einen Prozessor- oder lokalen Bus, die eine beliebige aus einer Vielfalt von Busarchitekturen verwenden. Zu derartigen Architekturen gehören als Beispiel und nicht als Einschränkung ein ISA-Bus (Industry Standard Architecture), ein MCA-Bus (Micro Channel Architecture), ein EISA-Bus (Enhanced ISA), ein VESA-Lokalbus (Video Electronics Standards Association) sowie ein PCI-Bus (Peripheral Component Interconnect).
-
Das Computersystem/der Server 12 beinhaltet üblicherweise eine Vielfalt von durch ein Computersystem lesbaren Medien. Bei derartigen Medien kann es sich um jedes beliebige Medium handeln, auf welches das Computersystem/der Server 12 zugreifen kann, und es beinhaltet sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien.
-
Der Systemspeicher 28 kann durch ein Computersystem lesbare Medien in Form eines flüchtigen Speichers wie einen Direktzugriffsspeicher (RAM) 30 und/oder Cachespeicher 32 enthalten. Das Computersystem/der Server 12 kann ferner andere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Computersystem-Speichermedien enthalten. Lediglich als Beispiel kann das Speichersystem 34 zum Lesen von und zum Schreiben auf ein nicht austauschbares, nichtflüchtiges magnetisches Medium bereitgestellt werden (das nicht gezeigt ist und üblicherweise „Festplattenlaufwerk“ genannt wird). Es können auch ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine austauschbare, nichtflüchtige Magnetplatte (z.B. eine „Floppy-Diskette“) und ein optisches Plattenlaufwerk zum Lesen von oder Schreiben auf eine austauschbare, nichtflüchtige optische Platte wie eine CD-ROM, DVD-ROM oder ein anderes optisches Medium bereitgestellt werden, auch wenn diese nicht gezeigt sind. In derartigen Fällen können sie jeweils über eine oder mehrere Datenmedienschnittstellen mit dem Bus 18 verbunden sein. Wie nachfolgend weiter abgebildet und beschrieben wird, kann der Speicher 28 mindestens ein Programmprodukt enthalten, das einen Satz von Programmmodulen (z.B. mindestens einen) aufweist, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
-
Als Beispiel und nicht als Einschränkung können das Programm/Dienstprogramm 40 mit (mindestens) einem Satz von Programmmodulen 42 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten in dem Speicher 28 gespeichert sein. Jedes der Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und die Programmdaten oder eine beliebige Kombination daraus können eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 42 führen allgemein die hierin beschriebenen Funktionen und/oder Methodiken von Ausführungsformen der Erfindung aus.
-
Das Computersystem/der Server 12 kann auch mit einer oder mehreren externen Einheiten 14 wie einer Tastatur, einer Zeigeeinheit, einer Anzeige 24 usw., einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 12 Daten auszutauschen, und/oder beliebigen Einheiten (z.B. Netzwerkkarten, Modems usw.) Daten austauschen, die es dem Computersystem/Server 12 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über die Eingabe/Ausgabe- (E/A-) Schnittstellen 22 erfolgen. Außerdem kann das Computersystem/der Server 12 über den Netzwerkadapter 20 mit einem oder mehreren Netzwerken Daten austauschen, wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet). Wie abgebildet ist, tauscht der Netzwerkadapter 20 mit den anderen Komponenten des Computersystems/Servers 12 über den Bus 18 Daten aus. Es sollte klar sein, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 12 verwendet werden könnten, auch wenn diese nicht gezeigt sind. Zu Beispielen gehören folgende, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Glasfaserkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern durch durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung aufgeführt, sollen jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die offenbarten Ausführungsformen. Für Fachleute werden viele Abänderungen und Abweichungen ersichtlich sein, ohne von dem Umfang und dem Gedanken der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung von auf dem Markt vorgefundenen Technologien bestmöglich zu erläutern oder um es anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.