-
Offenbarung der Erfindung
-
Die
Erfindung betrifft ein Verfahren zur manipulationssicheren Übertragung
von Daten von einem Sender zu einem Empfänger, wobei in dem Sender aus
den Daten mittels eines geheimen Schlüssels ein Prüfteil erzeugt
und zusammen mit den Daten an den Empfänger übermittelt wird, wo aus den
empfangenen Daten mit dem gleichen geheimen Schlüssel ein Verifikationsprüfteil erzeugt
und mit dem empfangenen Prüfteil
verglichen wird.
-
Ferner
betrifft die Erfindung eine Vorrichtung zum manipulationssicheren Übertragen
von Daten, insbesondere zur Durchführung des oben beschriebenen
Verfahrens, mit einem Sender, der eine erste Verschlüsselungseinheit
zur Erzeugung eines Prüfteils
aus den Daten mittels eines geheimen Schlüssels aufweist, und mit einem
Empfänger,
der eine zweite Verschlüsselungseinheit
zur Erzeugung eines Verifikationsprüfteils mittels des gleichen
geheimen Schlüssel
sowie eine Vergleichseinheit zum Vergleichen des empfangenen Prüfteils mit
dem erzeugten Verifikationsprüfteil
aufweist.
-
Verfahren
und Vorrichtungen der eingangs genannten Art sind dem Fachmann bekannt.
Allgemein werden diese Verfahren als MAC-Verfahren (Message Authentication
Code, Nachricht-Authentifizierungs-Code) bezeichnet. Das MAC-Verfahren wird in
der Kryptographie zur Authentifizierung einer gesendeten Nachricht
und damit zur Sicherung vor unbemerkter Manipulation der gesendeten
Nachricht verwendet. Derartige Verfahren sind beispielsweise im
Internet (e-mail-Verkehr,
online-Banking) oder auch bei Chipkarten in Anwendung, wo man durch Signaturen
die Integrität
der Daten sichert. Bei den bekannten MAC-Verfahren werden die zu übermittelnden
Daten nacheinander blockweise ver schlüsselt, wobei insbesondere bei
den CBC-MAC-Verfahren die verschlüsselten Daten eines Blocks
jeweils mit dem nächsten
Datenblock antivalent verknüpft werden,
um diese so gewonnenen Daten dann jeweils neu zu verschlüsseln. Der
so genannte MAC wird als Prüfteil
zusätzlich
zu den Daten an den Empfänger übertragen/übermittelt.
Die Erzeugung des Prüfteils
erfolgt dabei mittels eines geheimen Schlüssels, der im Empfänger ebenfalls
verfügbar
ist. Somit können
im Empfänger
die Daten der gleichen Prozedur wie im Sender unterzogen werden,
wobei mit Hilfe des gleichen geheimen Schlüssels ein Prüfteil zur Verifikation,
also ein Verifikationsprüfteil
erzeugt wird. Ein Vergleich des Verifikationsprüfteils mit dem Prüfteil lässt bei Übereinstimmung
auf die Unversehrtheit der übermittelten
Daten schließen.
-
Da
der Prüfteil
(MAC) jedoch eine Abbildung aus einem größeren in einen kleineren Datenraum ist,
ist es somit auch immer möglich,
den Prüfteil durch
andere Daten oder – mit
anderen Worten – aus unterschiedlichen
Ursprungsdaten den gleichen Prüfteil
zu erzeugen.
-
Das
erfindungsgemäße Verfahren
kennzeichnet sich dadurch aus, dass vor der Erzeugung des Prüfteils die
Daten mittels mindestens einem rückgekoppelten
Schieberegister nichtlinear komprimiert werden, also bevor die Verschlüsselung
vorgenommen wird. Das hat gegenüber
dem CBC-MAC-Verfahren den Vorteil, dass nur eine Verschlüsselung
für die
im MAC zusammengefassten Datenblöcke
erfolgt. Es ist also vorgesehen, dass bevor der Prüfteil mittels
des geheimen Schlüssels
aus den Daten erzeugt wird, eine nichtlineare Signatur (Digest)
der Daten erstellt wird. Wobei dazu mindestens ein rückgekoppeltes,
vorzugsweise nichtlinear rückgekoppeltes
Schieberegister verwendet wird. Durch das Erzeugen der nichtlinearen
Signatur in dem Sender und der Verschlüsselung mittels des geheimen
Schlüssels
kann eine Manipulation der übertragenen
Daten erkannt werden, weil im Empfänger der MAC auf Gültigkeit überprüft wird.
Insbesondere im Gegensatz zu linearen Komprimierungsverfahren, bei
denen das Superpositionsprinzip gilt, welches eine einfache Manipulation
ermöglicht,
bietet das erfindungsgemäße Verfahren
eine sichere, manipulationsgeschützte Übertragung
der Daten. Das vorteilhafte Verfahren erschwert es einem Angreifer
erheblich, das Verfahren und insbesondere den geheimen Schlüssel durch
Ausprobieren („Brute-Force”-Methode)
oder durch andere Methoden zu bestimmen. Da die nichtlineare Komprimierung
in dem Sender durchgeführt
wird, steht dem Angreifer das Zwischenergebnis, also die dann zu
verschlüsselnde
Signatur, nicht zur Verfügung.
Dadurch ist es ihm nicht möglich,
einen der beiden Teile, also das Komprimierungsverfahren oder die
Verschlüsselung
getrennt anzugreifen. Auch bekommt der Angreifer keinerlei Rückmeldung
von dem System bezüglich
des Erfolgs seines Angriffs. Ihm steht keine Möglichkeit zur Verfügung zu
prüfen,
ob ein von ihm manipuliertes Plaintext(=Daten)/Ciphertext(=MAC)/Paar
als gültig
bewertet wird.
-
Vorteilhafterweise
wird zur nichtlinearen Komprimierung ein rückgekoppeltes Schieberegister mit
mindestens zwei unterschiedlichen Komprimierungsfunktionen ausgewählt. Besonders
bevorzugt wird zur nichtlinearen Komprimierung die Komprimierungsfunktion
in Abhängigkeit
von einem Eingangssignal ausgewählt.
-
Besonders
bevorzugt wird dazu ein nichtlinear rückgekoppeltes Mehrfacheingang
Schieberegister (nonlinear multiple input shift register = NLMISR) verwendet.
Dabei wird zwischen mindestens zwei unterschiedlichen linear rückgekoppelten
Schieberegistern beziehungsweise Polynomen, die in einem Schieberegister
integriert verschaltet sind, in Abhängigkeit von einem Eingangssignal
umgeschaltet. Durch das Umschalten zwischen den linear rückgekuppelten
Schieberegistern in Abhängigkeit
von dem Eingangssignal wird die vorteilhafte Nichtlinearität in der
Signatur bei der Komprimierung der Daten erzeugt. Das NLMISR bildet
vorteilhafterweise mindestens zwei primitive Polynome, zwischen
denen umgeschaltet werden kann. Hierdurch kann auf besonders einfache
Art und Weise eine nichtlineare Datenkomprimierung durchgeführt werden.
Vorteilhafterweise wird als Eingangssignal das die Daten liefernde
Datensignal verwendet. So kann hier beispielsweise das Ausgangssignal
eines Sensors als Eingangssignal dienen.
-
Weiterhin
ist mit Vorteil vorgesehen, dass eine im Empfänger generierte Zufallszahl
(Seed) an den Sender übermittel
wird, um als Anfangswert für die
nichtlineare Komprimierung zu dienen. Zweckmäßigerweise wird die Zufallszahl
im Sender und im Empfänger
jeweils mit dem (aktuellen) geheimen Schlüssel verschlüsselt. Dieser
verschlüsselte
Wert (Result) wird dann von dem eigentlichen Sender zu dem Empfänger nicht
zurückgeschickt,
sondern als Anfangswert des NLMISR für die nichtlineare Komprimierung
verwendet ebenso wie im Empfänger.
Dadurch sind alle danach gesendeten Daten des Senders von der aktuellen
Zufallszahl abhängig.
Somit wird eine zusätzliche
Authentifizierung geboten und der Schutz vor Manipulation weiter
gesteigert. Auch hier bekommt ein Angreifer keinerlei Rückmeldung vom
System, ob sein Angriff erfolgreich war. Diese Authentifizierung
unterscheidet sich von der sonst üblichen expliziten „Challenge-Response-Authentifizierung” bei Verwendung
eines CBC-MAC, wo der Empfänger
zur Authentifizierung eines Senders eine Zufallszahl als „Challenge” an den
Sender schickt, die dieser verschlüsselt an den Empfänger als „Response” zurückschickt.
-
Besonders
bevorzugt wird die Zufallszahl für jeden
Einsatzfall und/oder in bestimmten zeitlichen Abständen neu
in beziehungsweise von dem Empfänger
generiert. Es ist also vorgesehen, dass die Zufallszahl entweder
bei jedem Einschalten des Systems (Einsatzfall) und/oder regelmäßig zu bestimmten
Zeitpunkten beziehungsweise in bestimmten Zeitabständen neu
generiert wird. Die Authentifizierung kann dadurch beliebig oft
erneuert werden, sodass der Schutz vor Manipulation weiter erhöht wird. Natürlich ist
es auch denkbar, die bestimmten zeitlichen Abstände mittels eines Zufallsgenerators
vorzugeben.
-
Nach
einer Weiterbildung der Erfindung werden die nichtlinear komprimierten
Daten, also die Signatur der Daten, mittels des AES-Algorithmusses oder
eines anderen geeigneten Verfahrens verschlüsselt. Der AES-Algorithmus
(Advanced Encryption Standard-Algortithm) verschlüsselt einen
128 Bit Datenblock mittels eines mindestens 128 Bit geheimen Schlüssels in
mindestens 10 Runden durch Substitutions- und Permutationsverfahren.
Es können
jedoch auch 64 Bit-Blockverschlüsselungsverfahren
eingesetzt werden, die aber möglichst
auch mehr als 64 Bit für
den Schlüssel
oder mehrere 64-Bit Schlüssel
verwenden sollten. Dabei sind verschiedene Verfahren wie TEA, XTEA,
2DES, 3DES, IDEA oder Ähnliche
verwendbar.
-
Weiterhin
ist vorgesehen, dass die Zufallszahl mit einem zusätzlichen
CRC-Wert übertragen wird.
Der CRC-Wert ist ein Prüfwert,
der mittels des CRC-Verfahrens (cyclic redundancy check, zyklische Redundanzprüfung) bestimmt
wird, um Fehler bei der Übertragung
oder Replizierung von Daten erkennen zu können. Das CRC-Verfahren ist
ein dem Fachmann bekanntes Verfahren, sodass hier nicht näher darauf
eingegangen werden soll.
-
Schließlich ist
vorgesehen, dass das Verfahren symmetrisch oder asymmetrisch durchgeführt wird.
Bei der symmetrischen Durchführung
werden im Sender und Empfänger
die Daten jeweils mit dem gleichen geheimen Schlüssel verschlüsselt, wohingegen
beim asymmetrischen Verfahren eine zusätzliche Entschlüsselung
der Daten im Empfänger
stattfindet.
-
Die
erfindungsgemäße Vorrichtung
zeichnet sich dadurch aus, dass dem Sender ein nichtlinear rückgekoppeltes
Schieberegister zugeordnet ist, welches der Verschlüsselungseinheit
vorgeschaltet ist. Vorteilhafterweise weist das Schieberegister
zwei integrierte linear rückgekoppelte
Schieberegister auf, zwischen denen in Abhängigkeit von einem Eingangssignal,
bevorzugt von dem die Daten liefernden Eingangssignal, mittels eines
Umschaltoperators umgeschaltet wird. Besonders bevorzugt ist das nichtlinear
rückgekoppelte
Schieberegister als ein nichtlinear rückgekoppeltes Schieberegister
mit Mehrfacheingängen
(NLMISR), also mit mehreren eingekoppelten Eingangssignalen, ausgebildet.
-
Im
Folgenden soll die Erfindung anhand einiger Zeichnungen näher erläutert werden.
Es zeigen
-
1 ein
erstes Ausführungsbeispiel
einer Vorrichtung zur manipulationssicheren Übertragung von Daten in einer
schematischen Darstellung,
-
2 eine
schaltungstechnische Realisierung eines NLMISR,
-
3 einen Übergangsgraph
für das
NLMISR gemäß der 2 und
-
4 ein
weiteres Ausführungsbeispiel
einer Vorrichtung zur manipulationssicheren Übertragung von Daten in einer
schematischen Darstellung.
-
Die 1 zeigt
in einer schematischen Darstellung ein Ausführungsbeispiel einer möglichen
Realisierung der erfindungsgemäßen Vorrichtung
zur manipulationssicheren Übertragung
von Daten von einem Sender 2 zu einem Empfänger 3.
-
Dem
Sender 2 ist ein Sensor 4 zugeordnet, dessen Ausgangssignal
Daten liefert, welche von dem Sender 2 zu dem Empfänger 3 übermittelt
werden sollen. Weiterhin ist dem Sender 2 ein nichtlinear rückgekoppeltes
Schieberegister 5 mit mehreren Eingängen (NLMISR = nonlinear multiple
input shift register) zur nichtlinearen Komprimierung der vom Sensor 4 kommenden
Daten zugeordnet. Nachdem eine gewünschte/vorgesehene Anzahl von
Daten in dem NLMISR 5 in eine nichtlineare Signatur komprimiert
wurden, wird letztere nach einem Standard-Verfahren in einer ersten
Verschlüsselungseinheit 6 mit
Hilfe eines geheimen Schlüssels 7 verschlüsselt. Der
so als Prüfteil
gebildete MAC (Message Authentication Code = Nachricht-Authentifizierungs-Code)
wird zunächst
in einen Zwischenspeicher 8 des Senders 2 hinterlegt
und anschließend (ganz
oder teilweise) zusammen mit den Daten, wie durch Pfeile 9 und 10 angedeutet,
an den Empfänger 3 übermittelt.
Dem Empfänger 3,
der beispielsweise eine ECU (Electronic Control United = elektronische Kontrolleinheit)
darstellt, ist ein dem NLMISR 5 identisches NLMISR 11 zugeordnet,
welches die empfangenen Daten des Sensors 4 nichtlinear
komprimiert. Nachdem die vorgesehene Anzahl von Daten im Schieberegister 11 komprimiert
als nichtlineare Signatur vorliegt, wird diese in einer Verschlüsselungseinheit 12,
die das gleiche Verfahren wie die Verschlüsselungseinheit 6 verwendet,
zu einem Verifikationsprüfteil
verschlüsselt.
Als Verschlüsselungsverfahren
kann dabei beispielsweise das AES-Verfahren angewandt werden. Die
Verschlüsselungseinheit 12 arbeitet
dabei mit dem gleichen geheimen Schlüssel 7 wie der Sender 2 beziehungsweise
die Verschlüsselungseinheit 6.
-
Insoweit
wird in dem Empfänger 3 die
gleiche Prozedur wie in dem Empfänger 2 durchgeführt. Der von
der Verschlüsselungseinheit 12 erstellte
Verifikationsprüfteil
wird in einem Zwischenspeicher 13 des Empfängers 3 hinterlegt.
Ebenso wird der von dem Sender 2 gesendete Prüfteil in
einem Zwischenspeicher 14 des Empfängers 3 hinterlegt.
-
Mittels
des Verifikationsprüfteils
wird eine Verifikation beziehungsweise Authentisierung des Senders 2 beziehungsweise
der gesendeten Daten durchgeführt.
Dazu werden einfach der Prüfteil
und der Verifikationsprüfteil
in dem Empfänger 3 miteinander
in einer Vergleichseinheit 15 verglichen. Stimmt der erzeugte
Verifikationsprüfteil
mit dem empfangenen Prüfteil überein,
so gelten die empfangenen Daten als unverfälscht, während im gegenteiligen Fall
ein Fehler signalisiert wird, der – gegebenenfalls im wiederholten
Mal – auf
eine Manipulation der Daten schließen lässt. Stimmen Prüfteil und
Verifikationsprüfteil überein,
so werden die Daten des Sensors 4 zur Signalverarbeitung
weitergeleitet.
-
Durch
die vorteilhafte nichtlineare Komprimierung beziehungsweise Signierung
der Daten mittels der NLMISRs 5 und 11 sowie aufgrund
der oben beschriebenen Authentifizierungsmethode ist es einem Angreifer
nicht möglich,
die Signatur oder die Verschlüsselung
getrennt angreifen zu können.
Da der Angreifer nur auf Daten zwischen dem Sender 2 und
dem Empfänger 3,
wie durch ein gestricheltes Kästchen 16 angedeutet,
zugreifen kann, steht ihm das Zwischenergebnis der nichtlinearen
Komprimierung nicht zur Verfügung.
-
Vorteilhafterweise
hängt der
Anfangswert der nichtlinearen Komprimierung im Sender 2 und Empfänger 3 von
dem geheimen Schlüssel 7 ab, dass
sowohl der Anfangswert als auch der Endwert der Signatur für den externen
Angreifer nicht sichtbar sind.
-
Vorteilhafterweise
ist in dem Empfänger
ein Zufallszahlgenerator 17 vorgesehen, der beispielsweise
als TRNG (true random number generator) oder als RNG (random number
generator) ausgebildet ist. In einfachen Fällen kann er auch als ein Zähler oder
pseudo-Random Generator ausgebildet sein. Vorteilhafterweise wird
die Zufallszahl, die so genannte Seed, mit dem geheimen Schlüssel 7 in den
Verschlüsselungseinheiten 6 und 12 verschlüsselt und
als so genanntes „Result” an die
NLMISR 5 bzw. 11 übermittelt. Dort wird die verschlüsselte Zufallszahl
als Anfangswert der nichtlinearen Komprimierung für jeden
zu komprimierenden Datenblock benutzt. Durch die Verwendung des
geheimen Schlüssels 7 bei
der Verschlüsselung
hat der Angreifer keine Chance, diesen Anfangswert zu ermittelt, solange
der Verschlüsselungsalgorithmus
und der verwendete Schlüssel 7 genügend Sicherheit
bieten. Da die verschlüsselte
Zufallszahl nicht direkt (wie bei den sonst üblichen Challenge-Response
Verfahren) an den Empfänger 3 zurückgeschickt
wird, ist zu einer solchen integrierten Sender-Authentifizierung kein
zusätzlicher
Schlüssel
erforderlich. Die Prüfteile beziehungsweise
Verifikationsprüfteile
aller Daten sind dann jeweils mit der aktuellen verschlüsselten Zufallszahl
verknüpft.
Das Verfahren dient somit gleichzeitig einer impliziten Authentifizierung
des Senders 2.
-
Je
nach Erfordernis wird für
jeden Einsatzfall (Einschalten bis Ausschalten der Vorrichtung)
oder in bestimmten zeitlichen Abständen, wie zum Beispiel jede
Stunde oder jede Minute, eine neue Zufallszahl generiert, übermittelt
und dann verschlüsselt.
Alle vorher aufgezeichneten Daten werden damit automatisch für einen
Angreifer wertlos, weil dann der zugehörige Prüfteil/Verifikationsprüfteil (MAC)
nicht mehr stimmt. Die dadurch bewirkte implizite Authentifizierung
des Senders 2 bietet damit einen viel höheren Schutz gegen Manipulationen
als eine explizite Authentisierung des Senders 2.
-
Vorteilhafterweise
wird die verschlüsselte Zufallszahl
zusätzlich
mit einem CRC-Wert übertragen,
um Bitfehler durch Störungen
bei der Übertragung
zu erkennen. Ebenso kann man jede verschlüsselte Zufallszahl mit einer
Nummer versehen und dem Empfänger
im Datenkanal oder im MAC-Kanal die verwendete Nummer mitteilen.
Erfolgt keine Rückmeldung
für eine
verschlüsselte
Zufallszahl an den Empfänger 3,
so muss davon ausgegangen werden, dass die Übertragung fehlerhaft war und
es wird eine neue verschlüsselte
Zufallszahl gesendet. Bei Überschreitung
einer bestimmten Anzahl von fehlerhaften Übertragungen wird eine Manipulation
vermutet.
-
Bietet
die Anwendung keinen Rückkanal
zur Übermittlung
der verschlüsselten
Zufallzahl vom Empfänger 3 zu
dem Sender 2, so ist die Anordnung des Zufallsgenerators 17 in
dem Sender 2 denkbar. Dann müssten die verschlüsselten
Zufallsdaten aber auch zu dem Empfänger übermittelt werden, wobei hierzu
der übliche
Datenkanal mitbenutzt werden kann. Als Bestandteil der verschlüsselten
Zufallszahl könnte
ein Zählerwert
oder ein Zeitstempel dienen, der sich in einer Nutzungsperiode der
Vorrichtung 1 bis zu einem Überlaufwert nur erhöhen kann.
Damit wäre
leicht die Unterschiedlichkeit der verschlüsselten Zufallszahlen im Empfänger 3 zu
testen. Um erfolgreich und unerkennbar die Daten manipulieren zu können, müsste dann
der Angreifer zu jeder verschlüsselten
Zufallszahl die passenden Datensätze vorher
aufgezeichnet haben und zur Manipulation benutzen. Das ist aufgrund
der notwendigen Datenmenge praktisch nahezu unmöglich und kann durch Verkürzung der
Generierungsintervalle der verschlüsselten Zufallszahlen immer
noch schwieriger gemacht werden. Die vorteilhafte Vorrichtung und das
vorteilhafte Verfahren sind somit an die erforderlichen Sicherheitsanforderungen
der jeweiligen Anwendung auf einfache Art und Weise anpassbar.
-
Die 2 zeigt
in einem Ausführungsbeispiel
eine schaltungstechnische Realisierung des Schieberegisters 5 beziehungsweise 11 als
5Bit-NLMISR. Das Schieberegister 5 beziehungsweise 11 weist
fünf in
Reihe geschaltete Flipflops 18 bis 22 auf. Zur
Rückkopplung
weist das Schieberegister 5/11 eine Signalrück führung 23 auf,
die im Wesentlichen in zwei Stränge 24 und 25 aufgeteilt
ist. Der Strang 24 verbindet die Signalausgänge der
Flipflops 20 und 22 mit einem Linearoperator 26,
der die Signale antivalent verknüpft
und an einen weiteren Linearoperator 27 übermittelt.
Der Signalausgang des Linearoperators 27 ist dabei mit
dem Eingang des ersten Flipflops 18 verbunden. Der zweite
Strang 25 der Signalrückführung 23 führt die
Ausgangssignale der Flipflops 19 und 21 zu einem
weiteren Linearoperator 28, der diese antivalent verknüpft und
das Ergebnis einem Umschaltoperator 29, der allgemein als
Multiplexer 30 ausgebildet ist und im hier betrachteten
Spezialfall als UND-Element ausgeführt ist, zuführt. Der Umschaltoperator 29 beziehungsweise
der Multiplexer 30 führt
eine UND-Funktion
durch, die hier als NAND-Funktion mit anschließender Invertierung dargestellt
ist. Als weiteres Eingangssignal 31 erhält der Multiplexer 30 das
von dem Sensor 4 des Senders 2 kommende Datensignal.
Das Eingangssignal 31 wird gleichzeitig zusätzlich antivalent
zwischen den Flipflops 18 und 19 eingekoppelt,
wozu ein weiterer Linearoperator 32 vorgesehen ist. Das
Ausgangssignal des Multiplexers 30 wird dem Linearoperator 27 zugeführt und
mit dem Ausgangssignal des Linearoperators 26 antivalent
verknüpft.
Aufgrund der besonders vorteilhaften Verschaltung des NLMISR 5 beziehungsweise 11 sind
zwei Polynome integriert, zwischen denen in Abhängigkeit des Eingangssignals 31 umgeschaltet
wird. Der Strang 24 bietet dabei das Polynom p1:
x5 + x2 + 1, während bei
einer Verknüpfung
der Stränge 24 und 25 das
Polynom p2: x5 +
x3 + x2 + x + 1
realisiert wird.
-
Der Übergangsgraph
der in der 2 dargestellten Struktur ist
in der 3 dargestellt. Für das Polynom p1 werden
als Folgezustände
immer die rechts unterhalb benachbarten Zustände angenommen, wie durch einen
durchgezogenen Pfeil 33 angedeutet. Beim letzten Zustand
passiert dann der Übergang
gemäß dem durchgezogenen
Pfeil 34 zurück
zu dem ersten Zustand. Für
das Polynom p2 werden die Übergänge durch
gestrichelte Pfeile 35 dargestellt, von denen hier aus Übersichtlichkeitsgründen nur
einige mit Bezugszeichen versehen sind. Wie aus dem Übergangsgraphen
zu erkennen ist, sind sämtliche Übergänge von
dem Eingangssignal 31 abhängig, sodass die erzeugte Signatur über das
gesamte Eingangssignal gebildet wird. Natürlich ist es denkbar, das Eingangssignal 31 an
beliebig vielen Stellen antivalent parallel in das NLMISR 5/11 einzukoppeln.
-
Die Übertragungsfunktion
des Schieberegisters 5/11 ist von einem Anfangswert
(wie oben beschrieben) abhängig.
Bei einer Bitbreite von n-Bit sind 2n verschiedene
Anfangswerte und damit 2n verschiedene Komprimierungsfunktionen
möglich.
Der Angreifer hat keine Informationen über den Anfangswert des NLMISR
und somit keine Informationen über
die Komprimierungsfunktion.
-
Bei
der allgemeinen Struktur der Datenkomprimierung mit einer Hash-Funktion
und anschließender
Verschlüsselung
wird gefordert, dass diese Hash-Funktion kollisionsfrei sein muss,
weil sonst nicht die erforderliche Sicherheit gegeben ist. Unter Kollisionen
versteht man dabei, dass es möglich
ist, den gleichen Hash-Wert
mit unterschiedlichen Daten zu erreichen. Selbst bei noch so guter
anschließender
Verschlüsselung
kann sonst eine Manipulation der Daten vorgenommen werden, ohne
dass dies bemerkt werden kann.
-
Im
Falle der vorteilhaften vorliegenden Lösung wird die Datenkomprimierung
im NLMISR beziehungsweise im Schieberegister 5/11 wie
oben beschrieben nicht mit einer einheitlichen Funktion vorgenommen,
sondern je nach Anfangszustand des NLMISR mit einer anderen Übertragungsfunktion
absolviert. Hat man zum Beispiel ein NLMISR mit n = 128 Bit, so
hat dieses 2128 = 3,4·1038 verschiedene Anfangszustände und
damit ebenso viele Komprimierungsfunktionen. Es wird nicht gefordert,
dass jede dieser Übertragungsfunktionen
kollisionsfrei realisiert wird. Das ist ein wichtiger Unterschied
zum Stand der Technik, wo nur eine Komprimierungsfunktion benutzt
wird. Jedoch muss gefordert werden, dass diese Übertragungsfunktionen in der
Regel nicht die gleichen Kollisionen haben.
-
Man
muss nach dem Prinzip von Kerkhoff davon ausgehen, dass der Angreifer
die Struktur des NLMISR und damit die Menge aller Komprimierungsfunktionen
kennt. Wenn einem Angreifer jedoch der Anfangszustand nicht bekannt
ist, so weiß er
auch nicht, welche Übertragungsfunktion
mit welchen Kollisionen benutzt wird, und damit auch nicht, wie
er die Daten manipulieren kann, um die gleiche Signatur (Digest-Wert)
zu erhalten. Dabei ist es nicht notwendig, dass alle 3,4·1038 verschiedenen Übertragungsfunktionen für jede beliebige
Eingangsdatenfolge unterschiedliche Kollisionen bewirken, es muss
jedoch ein möglichst
geringer Prozentsatz von diesen Funktionen sein, die jeweils den
gleichen Digest, also die gleiche Signatur für das gleiche Datenfolgepaar
ergeben, das heißt
die gleichen Kollisionen besitzen. Unter diesen Bedingungen ist
ein sehr hohes Maß an Si cherheit
erreichbar, weil der Angreifer nur raten kann, aber keine Rückmeldung über den
Erfolg seines Angriffs erhält.
Wenn dann auch die Abstände mit Änderungen
des Anfangswerts so kurz gewählt werden,
dass selbst unter Einsatz modernster Rechentechnik und Labortechnik
der Anfangszustand schon wieder erneuert ist, bevor er ausgespäht werden
kann, so hat der Angreifer auch künftig keinen Erfolg. Das Sicherheitsniveau
des oben beschriebenen Verfahrens sowie der oben beschriebenen Vorrichtung
kann damit an künftige
Erfordernisse vorteilhaft angepasst werden.
-
Anhand
des folgenden Beispiels mit Bezug auf die Struktur aus der 2 sowie
den Übergangsgraphen
der 3 werden die Kollisionen nunmehr erläutert: Vom
Anfangswert X = 11 des Schieberegisters 5/11 kommt
man mit der Eingangsdatenfolge 1010101 zum Endwert Y = 16. Den gleichen
Endzustand erreicht man mit der gleichen langen modifizierten Datenfolge
0110010, das heißt
die Übertragungsfunktion
h11 hat mit den zwei Datenfolgen (1010101,
0110010) eine Kollision. Nimmt man jetzt den Anfangszustand X' = 3 mit den gleichen
Datenfolgen, so erhält
man je nach Datenfolge den Zustand Y' = 12 beziehungsweise Y'' = 23. Das heißt die Funktion h3 (1010101,
0110010) hat keine Kollision unter den gleichen Randbedingungen.
-
Es
hat sich gezeigt, dass außer
dem Anfangszustand X = 11 mit dem Endzustand Y = 16 noch der Anfangszustand
X''' = 15 und dem Endzustand Y''' =
30 die gleiche Eigenschaft besitzt, dass mit beiden Datenfolgen
der gleiche Endzustand erreicht wird. Alle anderen dreißig Anfangszustände besitzen
diese Eigenschaft nicht. Wenn ein Angreifer die erste Datenfolge
durch die zweite ersetzt, hat er nur in zwei von zweiunddreißig Fällen Erfolg.
Bei einer Gleichverteilung der zweiunddreißig möglichen Anfangszustände ist
die Wahrscheinlichkeit einer unerkannten Manipulation bei diesen
Daten somit 6,25%. Es ist zu erwarten, dass mit einer größeren Bitbreite
n und einer längeren
Datenfolge dieser Prozentsatz deutlich sinkt. Unter der Randbedingung, dass
der Empfänger 3 keine
Rückmeldung über den Erfolg
einer Manipulation liefert und eine Entscheidung nach Auswertung
einer Mehrzahl von Übertragungen
vornimmt, ist schon in diesem Fall ein relativ hohes Maß an Sicherheit
gegen zufällige
Manipulationen gegeben. Es ist zu erwarten, dass der Anteil der gleichen
Kollisionen der Übertragungsfunktionen
bei größerer Bitbreite
n und längerer
Datenfolge deutlich sinkt. Zu beachten ist, dass die manipulierte
Datenfolge die gleiche Länge
haben muss, wie die Originaldatenfolge, weil ein Angreifer keinen
Zugriff auf die Daten direkt vom Sensor besitzt. Das schränkt den Spielraum
des Angreifers weiter ein.
-
Mittels
des vorteilhaften Verfahrens sowie der vorteilhaften Vorrichtung
ist es also für
einen Angreifer praktisch unmöglich,
eine Datenfolge so zu manipulieren, dass der gleiche Endzustand
erreicht wird, sofern er den Anfangs- und Endzustand des Schieberegisters
beziehungsweise NLMISR 5, 11 nicht kennt. Auch
durch Probieren kann er zu keiner Lösung gelangen, da er keine
Rückmeldung über den
Erfolg seines Angriffs erhält.
Das folgt direkt aus der Nichtlinearität der Komprimierung, weil dann
das Superpositionsprinzip wie bei einer linearen Komprimierung nicht
gilt. Die Sicherheit des Verfahrens ist auf die Sicherheit des benutzten
Verschlüsselungsverfahrens
reduziert. Das heißt,
nur wenn es dem Angreifer gelingt, den geheimen Schlüssel zu
erspähen, ist
die Manipulation praktisch möglich,
sofern die oben erwähnten
Bedingungen eingehalten werden.
-
Die 4 zeigt
schließlich
eine Vorrichtung 36, die im Wesentlichen der Vorrichtung 1 entspricht, wobei
gleiche Elemente mit den gleichen Bezugszeichen versehen sind, sodass
insofern auf die obenstehende Beschreibung verwiesen wird. Im Unterschied zu
der Vorrichtung 1, die ein symmetrisches Verfahren darstellt,
ist in der Vorrichtung 36 der 4 ein asymmetrisches
Verfahren realisiert. Dabei ist zusätzlich zu der Verschlüsselungseinheit 12 eine
Entschlüsselungseinheit 37 vorgesehen,
in der eine Entschlüsselung
des Prüfteils
in dem Empfänger 3 durchgeführt wird,
wobei die entschlüsselten
Daten in einem Zwischenspeicher 38 des Empfängers hinterlegt
werden. Zu beachten ist, dass auch bei dem asymmetrischen Verfahren
nach 4 der Verschlüsselungsalgorithmus
symmetrisch ist, d. h. gleiche Schlüssel auf der Sender- und Empfängerseite verwendet
werden. Ein Verschlüsselungsverfahren mit
privaten und öffentlichen
Schlüsseln
ist dagegen viel aufwändiger.
-
Prinzipiell
ist es denkbar, die nichtlineare Komprimierung sowie die Verschlüsselung
der Daten selbst auf einen kleinen Prozessor zu realisieren. Wird
ein solcher Prozessor auf einem Sensorchip, wie zum Beispiel einem
Auswertechip des Sensors 4 in einem Chipverbund realisiert,
so sind durch den Austausch des Programmcodes auch unterschiedliche
Verschlüsselungen
nach verschiedenen Verfahren einsetzbar.