-
Technisches Gebiet
-
Ausführungsformen der Erfindung betreffen eine Vorrichtung, einen Integritätsverletzungsdetektor, ein Verfahren zum Erkennen einer Integritätsverletzung, ein nicht flüchtiges Speichermedium und ein eingebettetes System.
-
Hintergrund
-
Rückkopplungsschieberegister sind dafür ausgelegt, eine lineare Wiederauftrittsgleichung (”linear recurrence equation” – LFSR) oder eine nicht lineare Wiederauftrittsgleichung (”nonlinear recurrence equation” – NLFSR) aufzuweisen. Ferner können Rückkopplungsschieberegister in der Fibonacci-Konfiguration F(N)LFSR ausgelegt sein. Eine weitere Konfiguration ist die Galois-Konfiguration G(N)LFSR.
-
Beim Betrieb des Rückkopplungsschieberegisters wird eine Anzahl von Registerwerten einer Rückkopplungsfunktionseinheit zugeführt, die eine Rückkopplungsfunktion f(D) ausführt, welche entweder eine lineare oder eine nicht lineare Funktion der eingegebenen Registerwerte ist. Daher ergibt der für einen aktuellen Zustand D berechnete Wert der Rückkopplungsfunktion f(D) einen Rückkopplungswert.
-
In der Fibonacci-Konfiguration wird dieser Rückkopplungswert im nächsten Taktzyklus in das letzte Register Dn-1 eingegeben. In der Galois-Konfiguration wird dieser Rückkopplungswert zusätzlichen Registern innerhalb der Registerkette durch eine Exklusiv-ODER-(XOR)-Operation zurückgeführt, wobei es sich um eine Addition im Feld F2 handelt. In einer allgemeineren Konfiguration kann ein Rückkopplungsschieberegister mehrere Rückkopplungsfunktionen aufweisen, deren verschiedene Rückkopplungswerte zu verschiedenen Registern in der Registerkette zurückgeführt werden.
-
Für Rückkopplungsschieberegister in der Galois-Konfiguration verschwindet die Rückkopplungsfunktion f(D). Mit anderen Worten wird der Wert des Registers D0 direkt zurückgeführt, weil das lineare Wiederauftreten durch die Auswahl der Menge von Rückkopplungspositionen bereits vollständig definiert ist.
-
Kurzfassung
-
Eine Ausführungsform sieht eine Vorrichtung vor, die ein Rückkopplungsschieberegister und einen Integritätsverletzungsdetektor umfasst. Das Rückkopplungsschieberegister umfasst mehrere in Reihe geschaltete Register und eine Rückkopplungsfunktionseinheit, die zwischen einen Ausgang einer Anzahl der Register und einen Eingang wenigstens eines der Register geschaltet ist. Der Integritätsverletzungsdetektor ist dafür eingerichtet, zu bestimmen, ob eine Sequenz von Werten an einem Eingang oder Ausgang wenigstens eines der Register oder eine logische Kombination davon eine nicht konstante Sequenz oder eine konstante Sequenz ist. Der Integritätsverletzungsdetektor ist ferner dafür eingerichtet, eine Angabe auszugeben, dass sich das Rückkopplungsschieberegister in einem integralen Zustand befindet, falls die Sequenz von Werten eine nicht konstante Sequenz ist, oder eine Angabe auszugeben, dass das Rückkopplungsschieberegister einer Integritätsverletzung ausgesetzt ist, falls die Sequenz von Werten eine konstante Sequenz ist.
-
Eine weitere Ausführungsform sieht eine Vorrichtung vor, welche ein Rückkopplungsschieberegister in einer Fibonacci-Konfiguration, in einer Galois-Konfiguration oder in der allgemeinen Konfiguration umfasst. Das Rückkopplungsschieberegister umfasst mehrere in Reihe geschaltete Register und eine Rückkopplungsfunktionseinheit, die zwischen einen Ausgang einer Anzahl der Register und einen Eingang wenigstens eines der Register geschaltet ist. Die Vorrichtung umfasst ferner einen Integritätsverletzungsdetektor. Der Integritätsverletzungsdetektor ist dafür eingerichtet, zu bestimmen, ob eine Sequenz von Werten an einem Eingang oder Ausgang wenigstens eines der Register oder eine logische Kombination davon eine nicht konstante Sequenz oder eine konstante Sequenz ist. Ferner ist der Integritätsverletzungsdetektor dafür eingerichtet, eine Angabe auszugeben, dass sich das Rückkopplungsschieberegister in einem integralen Zustand befindet, falls die Sequenz von Werten eine nicht konstante Sequenz ist, oder eine Angabe auszugeben, dass das Rückkopplungsschieberegister einer Integritätsverletzung ausgesetzt ist, falls die Sequenz von Werten eine konstante Sequenz ist. Ferner umfasst der Integritätsverletzungsdetektor einen Onlinetester, der dafür eingerichtet ist, Folgendes auszuführen: Zählen einer Länge von Läufen von 0-Bits und 1-Bits in einer eingehenden Sequenz von Werten und Ausgeben der Angabe, dass das Rückkopplungsschieberegister der Integritätsverletzung ausgesetzt ist, falls die Länge von Läufen einen vorgegebenen Wert überschreitet. Die Rückkopplungsfunktionseinheit ist über ein Exklusiv-ODER-Gatter, das zwischen das Register und ein vorhergehendes Register geschaltet ist, mit dem Eingang eines der mehreren Register verbunden, und ein Onlinetester ist mit dem Ausgang des vorhergehenden Registers verbunden. Zusätzlich oder alternativ ist ein Seed-Injektionseingang über ein Exklusiv-ODER-Gatter, das zwischen das Register und ein vorhergehendes Register geschaltet ist, mit dem Eingang eines der mehreren Register verbunden, ist eine Logikschaltung parallel zwischen den Ausgang des Registers und den Ausgang des vorhergehenden Registers geschaltet und ist ein Onlinetester mit dem Ausgang der Logikschaltung verbunden. Zusätzlich oder alternativ umfasst die Logikschaltung eine Reihenschaltung eines Registers und eines Exklusiv-ODER-Gatters, wobei der Ausgang des Exklusiv-ODER-Gatters mit dem Onlinetester verbunden ist. Zusätzlich oder alternativ ist der Ausgang des vorhergehenden Registers inline mit dem Onlinetester verbunden. Zusätzlich oder alternativ ist der Onlinetester inline mit dem Eingang eines ersten Registers des Rückkopplungsschieberegisters verbunden.
-
Eine weitere Ausführungsform sieht einen Integritätsverletzungsdetektor vor, der dafür eingerichtet ist, eine auf ein zugeordnetes Rückkopplungsschieberegister, das durch mehrere Register gebildet ist, ausgeübte Integritätsverletzung zu erkennen. Der Integritätsverletzungsdetektor ist dafür eingerichtet, zu bestimmen, ob eine Sequenz von Werten an einem Eingang oder Ausgang wenigstens eines der Register oder eine logische Kombination davon eine nicht konstante Sequenz oder eine konstante Sequenz ist. Ferner ist der Integritätsverletzungsdetektor dafür eingerichtet, eine Angabe auszugeben, dass sich das Rückkopplungsschieberegister in einem integralen Zustand befindet, falls die Sequenz von Werten eine nicht konstante Sequenz ist, oder eine Angabe auszugeben, dass das Rückkopplungsschieberegister einer Integritätsverletzung ausgesetzt ist, falls die Sequenz von Werten eine konstante Sequenz ist.
-
Eine weitere Ausführungsform sieht ein Verfahren zum Erkennen einer auf ein Rückkopplungsschieberegister ausgeübten Integritätsverletzung vor, wobei das Rückkopplungsschieberegister Folgendes umfasst: mehrere Register, die in Reihe geschaltet sind, und eine Rückkopplungsfunktionseinheit, die zwischen einen Ausgang einer Anzahl der Register und einen Eingang wenigstens eines der Register geschaltet ist. Das Verfahren umfasst das Bestimmen, ob eine Sequenz von Werten an einem Eingang oder Ausgang wenigstens eines der Register oder eine logische Kombination davon eine nicht konstante Sequenz oder eine konstante Sequenz ist. Das Verfahren umfasst ferner das Ausgeben einer Angabe, dass sich das Rückkopplungsschieberegister in einem integralen Zustand befindet, falls die Sequenz von Werten eine nicht konstante Sequenz ist, oder das Ausgeben einer Angabe, dass das Rückkopplungsschieberegister einer Integritätsverletzung ausgesetzt ist, falls die Sequenz von Werten eine konstante Sequenz ist.
-
Eine weitere Ausführungsform sieht ein nicht flüchtiges Speichermedium vor, worauf ein Computerprogramm gespeichert ist, das einen Programmcode aufweist, um, wenn es auf einem Computer ausgeführt wird, ein Verfahren zum Erkennen einer auf ein Rückkopplungsschieberegister ausgeübten Integritätsverletzung auszuführen, wobei das Verfahren Folgendes umfasst: Bestimmen, ob eine Sequenz von Werten an einem Eingang oder Ausgang wenigstens eines der Register oder eine logische Kombination davon eine nicht konstante Sequenz oder eine konstante Sequenz ist. Ferner umfasst das Verfahren das Ausgeben einer Angabe, dass sich das Rückkopplungsschieberegister in einem integralen Zustand befindet, falls die Sequenz von Werten eine nicht konstante Sequenz ist, oder das Ausgeben einer Angabe, dass das Rückkopplungsschieberegister einer Integritätsverletzung ausgesetzt ist, falls die Sequenz von Werten eine konstante Sequenz ist.
-
Eine weitere Ausführungsform sieht ein eingebettetes System vor, das einen Speicher und eine Steuereinrichtung umfasst, wobei die Steuereinrichtung dafür eingerichtet ist, eine auf ein Rückkopplungsschieberegister ausgeübte Integritätsverletzung zu erkennen, wobei dies in Software durch ein Verfahren implementiert ist, welches Folgendes umfasst: Bestimmen, ob eine Sequenz von Werten an einem Eingang oder Ausgang wenigstens eines der Register oder eine logische Kombination davon eine nicht konstante Sequenz oder eine konstante Sequenz ist. Das Verfahren umfasst ferner das Ausgeben einer Angabe, dass sich das Rückkopplungsschieberegister in einem integralen Zustand befindet, falls die Sequenz von Werten eine nicht konstante Sequenz ist, oder das Ausgeben einer Angabe, dass das Rückkopplungsschieberegister einer Integritätsverletzung ausgesetzt ist, falls die Sequenz von Werten eine konstante Sequenz ist.
-
Fachleute werden beim Lesen der folgenden detaillierten Beschreibung und beim Betrachten der anliegenden Zeichnung zusätzliche Merkmale und Vorteile erkennen.
-
Kurzbeschreibung der Zeichnung
-
Die Elemente der Zeichnung sind nicht notwendigerweise maßstabsgerecht zueinander. Gleiche Bezugszahlen bezeichnen entsprechende ähnliche Teile. Die Merkmale der verschiedenen erläuterten Ausführungsformen können kombiniert werden, es sei denn, dass sie einander ausschließen. Ausführungsformen sind in der Zeichnung dargestellt und werden in der folgenden Beschreibung detailliert ausgeführt.
-
1 zeigt eine Konfiguration eines Rückkopplungsschieberegisters.
-
2 zeigt eine Konfiguration einer Vorrichtung, welche das Rückkopplungsschieberegister umfasst.
-
3 zeigt ein eingebettetes System, welches die in 2 dargestellte Vorrichtung umfasst.
-
Detaillierte Beschreibung
-
Verschiedene Ausführungsformen der hier offenbarten Lehren werden nachstehend mit Bezug auf die 1 und 2 erörtert. In der Zeichnung sind identische Bezugszahlen für Objekte bereitgestellt, die identische oder ähnliche Funktionen aufweisen, so dass Objekte, die in den verschiedenen Ausführungsformen mit identischen Bezugszahlen bezeichnet sind, austauschbar sind und die Beschreibung wechselseitig anwendbar ist.
-
In 1 ist ein Rückkopplungsschieberegister 100 dargestellt, das eine Schiebekette 112 aus n in Reihe geschalteten Registern Dk umfasst (k = 0 bis n – 1). Die Register können durch Verzögerungselemente in der Art von Flipflops verwirklicht werden. Zu irgendeinem Zeitpunkt t nehmen die Register den Zustand Dt = (D0,t, D1,t, ..., Dn-1,t) des Rückkopplungsschieberegisters 100 an. In der Zeichnung sind n = 16 Register dargestellt, die Länge kann jedoch geändert werden.
-
Das Rückkopplungsschieberegister 100 umfasst einen Ausgang zur Ausgabe von Pseudozufallssequenzen, wobei der Ausgang durch den Ausgang von mindestens einem der Register und/oder den Eingang von irgendeinem davon gebildet ist. Solche Pseudozufallssequenzen können beispielsweise als Masken in Geheimnisteilungsschemata verwendet werden, die für das Schützen kryptographischer Algorithmen vor Seitenkanalangriffen verwendet werden. Pseudozufallssequenzen werden beispielsweise als Komponenten in kryptographischen Pseudozufallszahlgeneratoren verwendet.
-
Ferner umfasst das Rückkopplungsschieberegister 100 eine Rückkopplungsfunktionseinheit 114 zum Berechnen einer Rückkopplungsfunktion f(D). Mehrere von einer Untermenge der Anzahl von Registern ausgegebene Werte werden jeweils der Rückkopplungsfunktionseinheit 114 zugeführt. In der Zeichnung werden die Ausgaben der Register D0, D3, D8 und D13 der Rückkopplungsfunktionseinheit 114 zugeführt. Die durch die Rückkopplungsfunktionseinheit 114 berechnete Rückkopplungsfunktion f(D) ist entweder eine lineare oder eine nicht lineare Funktion. Der für den aktuellen Zustand D berechnete Wert f(D) repräsentiert den Rückkopplungswert, der von der Rückkopplungsfunktionseinheit 114 ausgegeben wird und der Ausgangsleitung 116 zur Rückkopplung in die Register zugeführt wird. Rückkopplungswerte können in den Eingang des ersten Registers – in der Schiebeordnung – eingegeben werden, hier D15, und sie können optional in den Eingang eines oder mehrerer der anderen Register eingegeben werden.
-
In 1 sind zwei Rückkopplungsschieberegisterkonfigurationen dargestellt, insbesondere eine Fibonacci-Konfiguration und eine Galois-Konfiguration.
-
Bei der durch eine durchgezogene Linie 118 dargestellten Fibonacci-Konfiguration wird der für den aktuellen Zustand D berechnete Wert f(D) in das letzte Register D15 innerhalb der Schiebekette 112 von Registern im nachfolgfenden Taktzyklus, d. h. in das erste, wenn entlang einer Schieberichtung 119 betrachtet wird, eingegeben.
-
Bei der durch eine gepunktete Linie 120 dargestellten Galois-Konfiguration wird der für den aktuellen Zustand D berechnete Wert f(D) zu mehreren Registern innerhalb der Schiebekette 112 über einen jeweiligen ersten Eingang eines zugeordneten Exklusiv-ODER-Gatters, d. h. über seinen zweiten Eingang und seinen Ausgang, der mit der Sequenz von Registern verbunden ist, zurückgeführt. In der Zeichnung wird der Wert f(D) als Beispiel zu den Eingängen der Register D1 und D8 über die Exklusiv-ODER-Gatter XOR3 bzw. XOR1 zurückgeführt.
-
Bei der vorstehend beschriebenen Konfiguration wird das Rückkopplungsschieberegister 100 in einem autonomen Betriebsmodus betrieben, d. h. sein Zustand wird ohne eine weitere Eingabe vorwärts gestuft, sobald ein Anfangszustand eingegeben wurde. Das heißt, dass jedes Register Di pro Taktzyklus seinen darin gespeicherten Wert an seinem Ausgang an das nächste Register Di-1 in Schieberichtung 119 ausgibt, wobei das letzte Register D0 in der Linie seinen gespeicherten Wert an einen Eingang der Rückkopplungsfunktionsschaltung 114 zusammen mit optional einem oder mehreren weiteren der Register D, wie beispielsweise D3, D8 und D13, ausgibt und wobei die Rückkopplungsfunktionsschaltung 114 ihr Rückkopplungsfunktionsergebnis in den Eingang des ersten Registers in der Linie, d. h. D15, und optional den Eingang weiterer Register, wie hier beispielsweise D8 und D1, ausgibt. Durch diese Maßnahme erzeugt das Rückkopplungsschieberegister 100 an jedem der Eingänge und Ausgänge der Register eine Pseudozufallszahlsequenz mit einer bestimmten Periodenlänge, die verglichen mit der Anzahl der Register, d. h. verglichen mit der Länge des Rückkopplungsschieberegisters 100, riesig sein kann. Während im vorliegenden Fall beispielsweise die Länge des Rückkopplungsschieberegisters 100 16 ist, kann die Rückkopplungsfunktion f(D) so ausgelegt werden, dass die Periodenlänge der erzeugten Pseudozufallszahlsequenz 2n – 1 ist, während es fortlaufend im autonomen Modus bleibt.
-
Bei einer weiteren Konfiguration wird das Rückkopplungsschieberegister 100 in einem nicht autonomen Betriebsmodus betrieben. In diesem Betriebsmodus werden m externe Werte st = (s0,t, s1,t, ..., sm-1,t), die als die Seed-Werte bzw. Startparameter-Werte bezeichnet werden, zu einem bestimmten Zeitpunkt gleichzeitig in einen Zustand versetzt. Insbesondere werden die Seed-Werte über einen ersten Eingang eines Exklusiv-ODER-Gatters, das über seinen zweiten Eingang und seinen Ausgang in die Sequenz von Registern geschaltet ist, jeweils dem Eingang von m der Register zugeführt. In 1 sind Seed-Eingänge, an welche die Werte s0 und s1 angelegt werden, beispielhaft als über Exklusiv-ODER-Gatter XOR2 bzw. XOR1 mit den Eingängen der Register D4 und D8 zu verbindend dargestellt. Die Seed-Positionen können mit den Rückkopplungspositionen identisch sein. Diese Möglichkeit ist an der Seed-Position s1 am Eingang des Registers D8 beispielhaft dargestellt. Das Exklusiv-ODER-Gatter XOR1 weist wie dargestellt vier Eingänge auf. Es kann als eine Sequenz von Exklusiv-ODER-Gattern implementiert sein, die über ihre zweiten Eingänge und ihre Ausgänge seriell zwischen die Register D9 und D8 geschaltet sind, wobei ihre Eingänge einerseits mit dem Seed-Eingang für den Seed-Wert s1 und andererseits mit dem Rückkopplungswert der Rückkopplungsfunktion f(D) verbunden sind.
-
Die vorgegebene Rückkopplungsfunktion f(D) führt zu Pseudozufallssequenzen am Ausgang der Anzahl von Registern des Rückkopplungsschieberegisters 100. Diese Pseudozufallssequenzen zeigen gewünschte Eigenschaften, die bei Sicherheitsanwendungen verwendet werden können. Normalerweise sind die Sequenzen ausgeglichen, so dass im Durchschnitt die Anzahlen von 0-Bits und 1-Bits gleich sind. Die Sequenz von Bitwerten erscheint als unkorreliert.
-
Bei Sicherheitsanwendungen werden solche Pseudozufallssequenzen verwendet, um vor einer Integritätsverletzung zu schützen. Die Pseudozufallssequenzen werden beispielsweise als Masken in Geheimnisteilungsschemata verwendet, die zum Schützen kryptographischer Algorithmen verwendet werden. Ein Beispiel ist die Anwendung im Datenverschlüsselungsstandard (”Data Encryption Standard” – DES), welcher ein vorherrschender Algorithmus für die Verschlüsselung elektronischer Daten ist. Ferner können die Pseudozufallssequenzen als Masken verwendet werden, die dafür eingerichtet sind, kryptographische Algorithmen in der Art des fortgeschrittenen Verschlüsselungsstandards (”Advanced Encryption Standard” – AES) zu schützen, welcher eine Spezifikation für die Verschlüsselung elektronischer Daten unter Verwendung eines Symmetrischer-Schlüssel-Algorithmus ist, was bedeutet, dass der gleiche Schlüssel sowohl für das Verschlüsseln als auch das Entschlüsseln der Daten verwendet wird.
-
Die durch das Rückkopplungsschieberegister 100 erzeugten Pseudozufallssequenzen können vor Seitenkanalangriffen schützen. Einer dieser Seitenkanalangriffe ist die differenzielle Leistungsanalyse (”Differential Power Analysis” – DPA), bei der Leistungsverbrauchsmessungen von einem Kryptosystem statistisch analysiert werden.
-
Ferner können die durch das Rückkopplungsschieberegister 100 erzeugten Pseudozufallssequenzen als eine Maske dienen, die vor der differenziellen Fehleranalyse (”Differential Fault Analysis” – DFA) schützt, die ein Typ eines Seitenkanalangriffs auf dem Gebiet der Kryptographie ist, insbesondere der Kryptoanalyse. Der Grundgedanke der DFA besteht darin, Fehler, d. h. unerwartete Umgebungsbedingungen, in kryptographische Implementationen einzubringen, um ihre inneren Zustände zu offenbaren.
-
Eine weitere Anwendung der durch das Rückkopplungsschieberegister 100 erzeugten Pseudozufallssequenzen kann sich beim Schutz vor einer nicht invasiven Analyse in der Art der differenziellen elektromagnetischen Analyse (”Differential Electro-Magnetic Analysis” – DEMA) ergeben. Bei der DEMA werden Informationen von Schwankungen des elektromagnetischen Felds gesammelt, das aus einer Vorrichtung austritt, während eine kryptographische Operation ausgeführt wird.
-
Im Allgemeinen werden die Pseudozufallssequenzen als Komponenten beispielsweise in kryptographischen Pseudozufallszahlgeneratoren verwendet. Daher hängt die Sicherheit des Gesamtsystems entscheidend von der Integrität des Rückkopplungsschieberegisters 100 ab. Falls ein Angreifer beispielsweise in der Lage ist, einen Draht in einem Rückkopplungsschieberegister 100 zu zerschneiden oder eines der Register permanent auf einen bestimmten Wert zu zwingen oder die Injektion von Seed-Werten zu unterdrücken, kann die gewünschte Eigenschaft der Ausgabe des Rückkopplungsschieberegisters 100 nicht mehr garantiert werden. Folglich werden kryptographische Angriffe oder Seitenkanalangriffe auf den die Pseudozufallssequenzen verbrauchenden Algorithmus möglich. Es ist wünschenswert, eine Onlinetestfunktionalität zu erreichen, die in der Lage ist zu überwachen, ob das Rückkopplungsschieberegister 100 manipuliert wurde oder nicht.
-
Wie vorstehend erwähnt wurde, kann das Rückkopplungsschieberegister 100 für sicherheitskritische Aufgaben verwendet werden. Daher könnte ein durch einen aktiven Angreifer hervorgerufener Fehler der Funktionalität zu einer unerwünschten Extraktion von Geheimnissen führen. Falls das Rückkopplungsschieberegister 100 beispielsweise für die Erzeugung von Masken bei einem Maskierungsschema gegen Seitenkanalangriffe verwendet wird, ermöglicht das Erzwingen des Anhaltens des Maskengenerators die Anwendung der differenziellen Leistungsanalyse (”Differential Power Analysis” – DPA) für das Extrahieren des Geheimnisses.
-
Nachfolgend werden unter anderen Angriffen mehrere mögliche Angriffswege angegeben, welche zu einem unerwünschten Versagen des Rückkopplungsschieberegisters 100 führen könnten.
-
Ein möglicher Angriff besteht darin, einen der Seed-Injizierungseingänge s0 und/oder s1 aufzutrennen. Dabei würde die Ausgabesequenz deterministisch oder zumindest teilweise deterministisch werden und sich eine Integritätsverletzung ergeben.
-
Ein weiterer Angriff besteht darin, einen der Schieberegisterdrähte aufzutrennen, der die mehreren Register in Reihe schaltet. Dabei würde das Rückkopplungsschieberegister oder ein Segment des Rückkopplungsschieberegisters mit einem konstanten Wert gefüllt werden, was zu einer Integritätsverletzung führt.
-
Bei der Galois-Konfiguration besteht ein weiterer Angriff darin, einen der Rückkopplungsdrähte, welche den Ausgang der Rückkopplungsfunktionseinheit 114 mit dem Eingang wenigstens eines der Register über die Exklusiv-ODER-Gatter verbinden, aufzutrennen. Dabei würde das Rückkopplungsschieberegister oder ein Segment des Rückkopplungsschieberegisters mit einem konstanten Wert gefüllt werden, was zu einer Integritätsverletzung führt.
-
In diesem Zusammenhang werden die Begriffe Auftrennen und Zerschneiden, wie sie hier verwendet werden, synonym verwendet. Diese Begriffe haben die Bedeutung des Zwingens auf einen konstanten Wert.
-
2 zeigt eine Konfiguration einer Vorrichtung 200, welche ein Rückkopplungsschieberegister 100 umfasst, wobei die Vorrichtung in der Lage ist, Fehlerangriffe zu erkennen, wie gerade dargelegt wurde.
-
Die Vorrichtung 200 umfasst einen Integritätsverletzungsdetektor 210 zusätzlich zum Rückkopplungsschieberegister 100, wie in 1 dargestellt ist und vorstehend beschrieben wurde. Der Integritätsverletzungsdetektor 210 umfasst eine Logikschaltung, die für die Detektion mindestens einer Integritätsverletzung verwendet wird. Mit anderen Worten stellt der Integritätsverletzungsdetektor 210 Gegenmaßnahmen gegen Angriffe auf das Rückkopplungsschieberegister 100 bereit.
-
Im Allgemeinen ist der Integritätsverletzungsdetektor 210 dafür eingerichtet, zu bestimmen, ob eine Sequenz von Werten, die an einem Eingang oder Ausgang wenigstens eines der Register bereitgestellt wird, oder eine logische Kombination davon, eine nicht konstante Sequenz oder eine konstante Sequenz ist. Nach der Bestimmung ist der Integritätsverletzungsdetektor 210 dafür eingerichtet, eine Angabe auszugeben, dass sich das Rückkopplungsschieberegister 100 in einem integralen Zustand befindet, falls die Wertesequenz eine nicht konstante Sequenz ist. Ferner ist der Integritätsverletzungsdetektor 210 dafür eingerichtet, eine Angabe, dass das Rückkopplungsschieberegister 100 einer Integritätsverletzung unterliegt, auszugeben, falls die Wertesequenz eine konstante Sequenz ist. Nachfolgend wird der Integritätsverletzungsdetektor 210 in weiteren Einzelheiten beschrieben.
-
Wie in 2 dargestellt ist, ist der Integritätsverletzungsdetektor 210 gemäß einer ersten Struktur S1 dafür eingerichtet, eine Integritätsverletzung der Schiebekette 112 zu erkennen. Die Rückkopplungsfunktionseinheit 114 wird als Beispiel über das Exklusiv-ODER-Gatter XOR3, das wiederum zwischen dieses Register D1 und das vorhergehende Register D2 geschaltet ist, mit dem Eingang des Registers D1 verbunden. Ein Onlinetester 212 des Integritätsverletzungsdetektors 210 wird gemäß der ersten Struktur 51 über einen Testausgangsabgriff v1 mit dem Ausgang des vorhergehenden Registers D2 verbunden. Falls das Rückkopplungsschieberegister 100 durch Zerschneiden der Schiebekette 112 vor dem Register D2 angegriffen wird, kommen beispielsweise konstante Werte am Onlinetester 212 an. Falls der Onlinetester 212 konstante Werte an seinem mit dem Abgriff v1 verbundenen Eingang erkennt, ist er dafür eingerichtet, beispielsweise eine eine Integritätsverletzung angebende Warnung auszugeben.
-
Wie in 2 dargestellt ist, umfasst der Integritätsverletzungsdetektor 210 gemäß einer zweiten Struktur S2 eine Schaltung, die dafür eingerichtet ist, eine Integritätsverletzung eines Seed-Injektionswerts s0 in die Schiebekette 112 von Registern zu erkennen. Bei dieser Struktur S2 ist ein Seed-Injektionseingang über ein Exklusiv-ODER-Gatter XOR2 mit dem Eingang des Registers D4 von den mehreren Registern verbunden. Dieses Exklusiv-ODER-Gatter XOR2 ist wiederum zwischen das Register D4 und das vorhergehende Register D5 geschaltet. Ferner ist eine Logikschaltung parallel zwischen den Ausgang des Registers D4 und den Ausgang des vorhergehenden Registers D5 geschaltet. Die Logikschaltung umfasst eine Reihenschaltung, welche ein Register C2 und ein Exklusiv-ODER-Gatter XOR4 umfasst. Der Ausgang des Exklusiv-ODER-Gatters XOR4 ist mit einem Testausgangsabgriff v2 verbunden, welcher mit dem Onlinetester 212 verbunden ist.
-
Falls bei dieser Struktur der Seed-Injektionswert s0 auf einen konstanten Wert gezwungen wird, wird der Wert des Testausgangsabgriffs v2 zu einem konstanten Wert. Falls ferner der Zustand des Rückkopplungsschieberegisters 100 eine Pseudozufallssequenz durchläuft, wird auch der Wert des Testausgangsabgriffs v2 zu einem konstanten Wert.
-
Ferner ist gemäß einer dritten Struktur S3 der Ausgang des vorhergehenden Registers D5 inline mit einem Testausgangsabgriff v3 verbunden, der mit dem Onlinetester 212 verbunden ist. Der Wert des Testausgangsabgriffs v3 ist konstant, falls die Schiebekette 112 stromaufwärts des Registers D9 zerschnitten ist. Falls das Rückkopplungsschieberegister 100 daher durch Zerschneiden der Schiebekette 112 beispielsweise stromaufwärts des Registers D9 angegriffen wird, nimmt der Ausgang des Testausgangsabgriffs v3 konstante Werte an, die im Onlinetester 212 erkannt werden. In diesem Fall des Erkennens konstanter Werte ist der Onlinetester 212 dafür eingerichtet, eine Angabe oder Benachrichtigung auszugeben, welche eine Integritätsverletzung angibt.
-
In 2 ist gemäß einer vierten Struktur S4 zwischen den Registern D8 und D9 ein Zustand dargestellt, der die Injektion eines Seed-Werts s1 und die Eingabe eines Rückkopplungswerts umfasst. Herkömmlich wird sowohl für die Injektion eines Seed-Werts s1 als auch die Eingabe eines Rückkopplungswerts ein einziges Exklusiv-ODER-Gatter mit 3 Eingängen verwendet. Bei der in 2 dargestellten Struktur ist das Exklusiv-ODER-Gatter mit 3 Eingängen durch zwei Exklusiv-ODER-Gatter mit 2 Eingängen ersetzt. Zusätzlich werden die vorstehend erwähnten Logikschaltungen getrennt angewendet.
-
In 2 ist gemäß einer fünften Struktur S5 ein erstes Register D15 der Schiebekette 112 von Registern mit einem Testausgangsabgriff v7 verbunden, der wiederum mit dem Onlinetester 212 verbunden ist. Falls eine Rückkopplungsleitung des Rückkopplungsschieberegisters 100 infolge einer Integritätsverletzung zerschnitten ist, ergibt der Ausgang des Testausgangsabgriffs v7 konstante Werte, die wiederum durch den Onlinetester 212 erkannt werden. In diesem Fall des Erkennens konstanter Werte ist der Onlinetester 212 dafür eingerichtet, beispielsweise eine Warnung auszugeben, die eine Integritätsverletzung angibt.
-
Vorstehend umfasste der Integritätsverletzungsdetektor 210 nur als Beispiel den mit den Testausgangsabgriffen v1 bis v7 verbundenen Onlinetester 212. Diese Testausgangsabgriffe v1 bis v7 dienen jedoch der Veranschaulichung. Alternativ können diese Testausgangsabgriffe v1 bis v7 einzeln vorhanden sein, oder es ist nur eine Untermenge davon vorhanden. Mit anderen Worten kann nur eine Untermenge der vorstehenden Strukturen S1 bis S5 verwirklicht werden. Dabei kann der Onlinetester 212 mit Eingängen oder Ausgängen der jeweiligen Register oder der logischen Kombination davon direkt verbunden werden.
-
Im Allgemeinen ist der Onlinetester 212 dafür eingerichtet, in den Taktzyklen des Schieberegisters 112 eine Länge von Läufen von 0-Bits und 1-Bits in einer eingehenden Wertesequenz, d. h. der am Abgriff v1, am Abgriff v2, ... oder am Abgriff v7 ankommenden Sequenz, zu zählen. Ferner ist der Onlinetester 212 dafür eingerichtet, die Angabe auszugeben, dass das Rückkopplungsschieberegister 100 der Integritätsverletzung unterliegt, falls die Länge jeglicher der Läufe an irgendwelchen der eingehenden Wertesequenzen einen vorgegebenen Wert überschreitet. Beispielsweise ist ein möglicher Konfigurationswert gleich 63. Für diesen Wert ist die Wahrscheinlichkeit eines falschen Alarms gleich 2–63, vorausgesetzt, dass das Seeden bei jedem Taktzyklus stattfindet. Dies würde dazu führen, dass die Wahrscheinlichkeit eines falschen Alarms vernachlässigbar ist.
-
In 2 umfasst das Rückkopplungsschieberegister 100 eine Schiebekette 112 von Registern. Diese Schiebekette 112 besteht aus 16 in Reihe geschalteten Registern D0 bis D15. Das Rückkopplungsschieberegister 100 umfasst ferner eine Rückkopplungsfunktionseinheit 114. In der Fibonacci-Konfiguration ist der Ausgang der Rückkopplungsfunktionseinheit 114 mit dem Eingang der Kette 112 von Registern, d. h. mit dem ersten Register D15 in der Kette, verbunden. In der Galois-Konfiguration ist der Ausgang der Rückkopplungsfunktionseinheit 114 über ein Exklusiv-ODER-Gatter mit dem Eingang wenigstens eines von den mehreren Registern verbunden. In 2 ist der Ausgang der Rückkopplungsfunktionseinheit 114 über Exklusiv-ODER-Gatter XOR3 bzw. XOR1 mit dem Eingang der Register D1 und D8 verbunden.
-
In der Zeichnung umfasst die Schiebekette 112 von Registern im nicht autonomen Betriebsmodus des Rückkopplungsschieberegisters 100 mehrere Seed-Injektionseingänge, die jeweils über ein Exklusiv-ODER-Gatter mit dem Eingang eines der mehreren Register verbunden sind. In der Zeichnung ist der Seed-Injektionseingang s0 über das Exklusiv-ODER-Gatter XOR2 zwischen das Register D4 und das vorhergehende Register D5 geschaltet. Ferner ist der Seed-Injektionseingang s1 über das Exklusiv-ODER-Gatter XOR1 zwischen das Register D8 und das vorhergehende Register D9 geschaltet.
-
Über die Seed-Injektionseingänge s0 und s1 werden externe Werte, die als Seed-Werte bezeichnet werden, gleichzeitig in die Schiebekette 112 von Registern eingegeben. Die Seed-Werte werden einer Exklusiv-ODER-Operation unterzogen, um dadurch Werte zwischen jeweiligen Registerpaaren oder vor dem letzten Register zu verschieben.
-
Ferner werden die Ausgaben (Registerwerte) von mindestens einem der Register in die Rückkopplungsfunktionseinheit 114 eingegeben. In dieser Rückkopplungsfunktionseinheit 114 werden Rückkopplungswerte erzeugt, indem die Registerwerte einer Rückkopplungsfunktion f(D) unterzogen werden, welche eine lineare oder nicht lineare Funktion der eingegebenen Registerwerte ist.
-
Das in 2 dargestellte Rückkopplungsschieberegister 100 umfasst ferner einen Integritätsverletzungsdetektor 210 mit einem Onlinetester 212.
-
Ferner umfasst dieser Integritätsverletzungsdetektor 210 bei einer ersten Option zum Erkennen einer Integritätsverletzung der Schiebekette 112 eine Inlineverbindung, welche den Ausgang des Registers D2 mit dem Onlinetester 212 verbindet (siehe v1). Zum Verbessern der Erkennung einer Integritätsverletzung der Schiebekette 112 oder als eine Alternative wird eine zweite Inlineverbindung, wie vorstehend beschrieben, bereitgestellt (siehe v6).
-
Bei einer zweiten Option wird zum Erkennen einer Integritätsverletzung der Seed-Injektion der Seed-Injektionseingang s0 über das Exklusiv-ODER-Gatter XOR2, das wiederum zwischen das Register D4 und das vorhergehende Register D5 geschaltet ist, mit dem Eingang des Registers D4 verbunden. Ferner wird eine Logikschaltung parallel zwischen den Ausgang des Registers D4 und den Ausgang des vorhergehenden Registers D5 geschaltet. Ferner wird der Onlinetester 212 mit dem Ausgang der vorstehend beschriebenen Logikschaltung verbunden. Die Logikschaltung umfasst eine Reihenschaltung des Registers C2 und des Exklusiv-ODER-Gatters XOR4, wobei der Ausgang des Exklusiv-ODER-Gatters XOR4 mit dem Onlinetester 212 verbunden ist (siehe v2). Ferner ist der Ausgang des vorhergehenden Registers D5 inline mit dem Onlinetester 212 verbunden (siehe v3). Es sei bemerkt, dass die Rate der Eingabe von Seed-Werten synchron mit der Taktrate des Rückkopplungsschieberegisters 100 festgelegt werden kann. Alternativ kann diese Rate der Eingabe von Seed-Werten benutzerabhängig festgelegt werden. Zum Verbessern der Erkennung der Integritätsverletzung oder als Alternative wird eine zweite Logikschaltung, wie vorstehend beschrieben, bereitgestellt (siehe v4 und v5).
-
Ferner ist der Onlinetester 212 inline mit dem Eingang des ersten Registers D15 des Rückkopplungsschieberegisters 100 verbunden (siehe v7).
-
Der Onlinetester 212 ist dafür eingerichtet, die Erkennung der Integritätsverletzung durch Überwachen der jeweiligen Eingabewerte auszuführen. Falls erkannt wird, dass nicht konstante Werte, d. h. eine Zufallszahl (Zeichenkette) von 0-Bits und 1-Bits, in den Onlinetester 212 eingegeben werden, wird ein Signal, eine Mitteilung oder eine andere Art einer Angabe vom Onlinetester 212 ausgegeben, wodurch angegeben wird, dass sich das Rückkopplungsschieberegister 100 in einem von einer Integritätsverletzung freien Zustand befindet.
-
Falls andernfalls eine Anzahl in den Onlinetester 212 eingegebener Bits konstante Werte zeigen, gibt der Onlinetester 212 an, dass sich das Rückkopplungsschieberegister 100 in einem Zustand einer Integritätsverletzung befindet. Es sei bemerkt, dass die Länge einer jeweiligen Sequenz konstante Werte zeigender Bits, d. h. die Länge einer Sequenz aufeinander folgender 0-Bits oder aufeinander folgender 1-Bits, bei der der Onlinetester 212 eine Integritätsverletzung angeben muss, beispielsweise ein vorgegebener Wert oder ein vom Benutzer festgelegter Wert ist. Falls mit anderen Worten der Onlinetester 212 eine konstante Sequenz mit einer vorgegebenen oder festgelegten Länge erkennt, gibt der Onlinetester 212 eine Angabe eines Fehlerangriffs aus. Ein möglicher Konfigurationswert der Bitlänge ist beispielsweise 63. Für diese Bitlänge ist die Wahrscheinlichkeit eines falschen Alarms 2–63. Dieser Fall zeigt beispielhaft, dass die Wahrscheinlichkeit eines falschen Alarms vernachlässigt werden kann, selbst wenn die Taktrate hoch ist.
-
Falls der Onlinetester 212 eine Integritätsverletzung erkennt, kann der Prozess der Weiterbehandlung verschiedenartig und benutzerabhängig sein, d. h. von der jeweiligen Anwendung, dem gewünschten Sicherheitsniveau usw. abhängig sein. Eine mögliche Behandlung ist das Signalisieren der erkannten Integritätsverletzung durch einen Alarm. Eine andere Art einer Behandlung ist das Unterbrechen des Betriebs des Rückkopplungsschieberegisters 100 und des eingebetteten Systems für eine gegebene Zeitdauer oder eine festgelegte Zeitdauer. Im Fall eines massiven Angriffs kann selbst die Unterbrechung des Betriebs des Rückkopplungsschieberegisters 100 und des einbettenden Systems beispielsweise für einige Sekunden oder weniger ausreichen, um eine Integritätsverletzung des Rückkopplungsschieberegisters 100 und/oder einer zugeordneten kryptographischen Vorrichtung, die durch eine Smartcard-Steuereinrichtung, ein RFID-Tag, eine eingebettete Sicherheitssteuereinrichtung usw. gegeben ist, fast unmöglich oder zumindest zeitaufwendig gemacht werden.
-
Ein Vorteil der vorstehenden Ausführungsform bei irgendeiner oder einer beliebigen Kombination der vorstehend dargelegten Strukturen S1 bis S5 des Integritätsverletzungsdetektors 210 ist eine erheblich verringerte Fläche und ein verringerter Leistungsverbrauch verglichen mit einem mehrmaligen Instanziieren eines Rückkopplungsschieberegisters und einem Vergleich der Ergebnisse, was für kleine eingebettete Systeme, beispielsweise in der Art von Smartcard-Steuereinrichtungen, RFID-Tags oder eingebetteten Sicherheitssteuereinrichtungen, entscheidend ist.
-
Die vorstehend beschriebene Vorrichtung kann durch ein Verfahren zum Erkennen einer auf ein Rückkopplungsschieberegister 100 ausgeübten Integritätsverletzung implementiert werden, wobei das Rückkopplungsschieberegister 100 mehrere in der Schiebekette 112 von Registern in Reihe geschaltete Register umfasst. Das Rückkopplungsschieberegister 100 umfasst ferner die zwischen einen Ausgang einer Anzahl der Register und einen Eingang wenigstens eines der Register geschaltete Rückkopplungsfunktionseinheit 114.
-
Das Verfahren umfasst das Bestimmen, ob eine Sequenz von Werten an einem Eingang oder Ausgang wenigstens eines der mehreren Register, die das Rückkopplungsschieberegister bilden, oder eine logische Kombination davon eine nicht konstante Sequenz oder eine konstante Sequenz ist. Wie vorstehend erwähnt wurde, ist, falls die Sequenz von Werten ein konstanter Wert ist, dies ein Hinweis auf eine Integritätsverletzung der Schiebekette 112 oder auf eine Integritätsverletzung der Seed-Injektion.
-
Das Verfahren umfasst ferner das Ausgeben einer Angabe, dass sich das Rückkopplungsschieberegister in einem integralen Zustand befindet, falls die Sequenz von Werten eine nicht konstante Sequenz ist, oder das Ausgeben einer Angabe, dass das Rückkopplungsschieberegister einer Integritätsverletzung ausgesetzt ist, falls die Sequenz von Werten eine konstante Sequenz ist. Dieses Verfahren sieht eine geeignete Angabe eines Fehlerangriffs auf das Rückkopplungsschieberegister 100 vor.
-
Mit anderen Worten umfasst das Verfahren das Empfangen einer Sequenz von Werten an einem Eingang oder Ausgang wenigstens eines der mehreren das Rückkopplungsschieberegister 100 bildenden Register oder einer logischen Kombination davon. Das Verfahren umfasst ferner das Zählen der Länge von Läufen von 0-Bits und 1-Bits und das Angeben der Erkennung einer Integritätsverletzung, falls die Länge eines Laufs einen vorgegebenen Wert oder einen festgelegten Wert überschreitet.
-
Die Vorrichtung und das Verfahren, die vorstehend beschrieben wurden, können in einem eingebetteten System, beispielsweise einer Sicherheitssteuereinrichtung, die in Smartcards, RFID-Tags, Mobiltelefonen, Automobilen, Spielkonsolen usw. verwendet wird, implementiert werden. Eine mögliche Implementation besteht in mehreren Pseudozufallszahlgeneratoren für eine interne Maskierung.
-
Ferner sind eine Mehrfachimplementation des Rückkopplungsschieberegisters 100 und ein Onlinevergleich ausgegebener oder verschobener Werte möglich.
-
3 zeigt eine schematische Konfiguration eines eingebetteten Systems 300, das die in 2 dargestellte Vorrichtung 200 umfasst. Das eingebettete System 300 kann Teil einer Smartcard-Steuereinrichtung, eines RFID-Tags, einer eingebetteten Sicherheitssteuereinrichtung usw. sein. Ferner umfasst das eingebettete System 300 einen wahren Zufallszahlgenerator (”True Random Number Generator” – TRNG) 310 zum Erzeugen von Zufallszahlen, die für Seed-Werte s0 und s1 zu verwenden sind. Die erzeugten Zufallszahlen werden in Seed-Injektionseingänge der Schiebekette eingegeben, die im Rückkopplungsschieberegister in der vorstehend beschriebenen Vorrichtung 200 enthalten ist.
-
Wie vorstehend erwähnt wurde, ist die Vorrichtung 200 dafür eingerichtet, beispielsweise entsprechend den Seed-Werten s0 und s1 eine Integritätsverletzung zu erkennen und eine Angabe auszugeben, dass sich die Vorrichtung in einem integralen Zustand befindet oder einer Integritätsverletzung ausgesetzt ist. Mit anderen Worten ist die Vorrichtung 200 in der Lage, eine Vielzahl von Manipulationen zu erkennen, die an in die Vorrichtung 200 eingegebenen Werten (beispielsweise den Seed-Werten s0 und s1) und/oder an in der Vorrichtung 200 erzeugten Werten selbst ausgeführt werden.
-
Der Ausgang des vorstehend beschriebenen Onlinetesters ist über die Leitung L1 mit dem Eingang einer Gegenmaßnahmeeinheit 320 verbunden. Die Gegenmaßnahmeeinheit 320 ist dafür ausgelegt, über die Leitung L1 auf eine eine Integritätsverletzung angebende Eingabe zu reagieren. Ein Weg zum Reagieren auf eine Integritätsverletzung ist das Signalisieren der erkannten Integritätsverletzung durch einen Alarm. Ein anderer Weg zum Reagieren auf eine Integritätsverletzung ist die Unterbrechung des Betriebs des Rückkopplungsschieberegisters der Vorrichtung 200 und des einbettenden Systems während einer gegebenen Zeitdauer oder während einer festgelegten Zeitdauer. In diesem Fall wird ein jeweiliges Signal beispielsweise über eine Leitung L2 von der Gegenmaßnahmeeinheit 320 zur Vorrichtung 200 gesendet.
-
Falls der Onlinetester eine Integritätsverletzung erkennt, kann der Prozess der Weiterbehandlung verschiedenartig und benutzerabhängig sein, d. h. von der jeweiligen Anwendung, dem gewünschten Sicherheitsniveau usw. abhängig sein. Falls ein massiver Angriff ausgeführt wird, kann selbst die Unterbrechung des Betriebs des Rückkopplungsschieberegisters und des einbettenden Systems beispielsweise für einige Sekunden oder weniger ausreichen, um die Integritätsverletzung des Rückkopplungsschieberegisters fast unmöglich oder zumindest zeitaufwendig zu machen.
-
Das eingebettete System 300 umfasst ferner einen Randomisierer 330, der über eine Leitung L3 mit dem Ausgang der Vorrichtung 200 verbunden ist, um durch die Vorrichtung 200, wie vorstehend beschrieben, erzeugte Schiebewerte zu empfangen. Beispielsweise ist der Randomisierer 330 dafür eingerichtet, Signale zu transponieren oder zu invertieren oder andernfalls eine Nachricht zu codieren. Dabei können dem Randomisierer 330 beispielsweise über Leitungen L4 und L5 eingegebene Eingangssequenzen zugeführt werden, wobei diese Eingangssequenzen geeignet codiert sind. Die Ausgabe des Randomisierers 330 führt die codierte Nachricht über eine Leitung L6 einer Zufallszahlempfangseinrichtung (nicht dargestellt) zur Weiterverarbeitung zu.
-
Falls eine Integritätsverletzung durch den Onlinetester der Vorrichtung 200 erkannt wird, kann der Betrieb des Randomisierers 330 während einer festgelegten oder vorgegebenen Zeitdauer unterbrochen werden. Im Fall eines massiven Angriffs kann selbst die Unterbrechung des Betriebs des Rückkopplungsschieberegisters und des einbettenden Systems beispielsweise für einige Sekunden oder weniger ausreichen, um eine Integritätsverletzung des Randomisierers 330 fast unmöglich oder zumindest zeitaufwendig zu machen.
-
Wenngleich einige Aspekte in Zusammenhang mit einer Vorrichtung beschrieben wurden, ist klar, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens repräsentieren, wobei ein Block oder eine Vorrichtung einem Verfahrensschritt oder einem Merkmal eines Verfahrensschritts entspricht. Analog repräsentieren in Zusammenhang mit einem Verfahrensschritt beschriebene Aspekte auch eine Beschreibung eines entsprechenden Blocks oder Bestandteils oder Merkmals einer entsprechenden Vorrichtung. Einige oder alle der Verfahrensschritte können durch eine (oder unter Verwendung einer) Hardwarevorrichtung, wie beispielsweise einen Mikroprozessor, einen programmierbaren Computer oder eine elektronische Schaltung, ausgeführt werden. Gemäß einigen Ausführungsformen können ein oder mehrere der wichtigsten Verfahrensschritte durch eine solche Vorrichtung ausgeführt werden.
-
Die vorstehend beschriebenen Ausführungsformen sollen lediglich die Grundgedanken der vorliegenden Erfindung erläutern. Es ist zu verstehen, dass Modifikationen und Variationen der Anordnungen und der Einzelheiten, die hier beschrieben werden, anderen Fachleuten verständlich sein werden. Es ist daher vorgesehen, dass eine Einschränkung nur durch den Schutzumfang der anliegenden Patentansprüche und nicht durch die spezifischen Einzelheiten gegeben ist, die zur Beschreibung und Erklärung der hier angegebenen Ausführungsformen präsentiert sind.