| |
Geräte benutzen. Der Link Encryptor hat jeweils einen Eingang für verschlüsselte und
unverschlüsselte Daten. Daten, die durch den Klar-Text-Eingang empfangen werden,
werden verschlüsselt, und dann an den Empfänger der Daten geschickt.
Der klare Vorteil dieser Art der Verschlüsselung ist die Unabhängigkeit des Encryptors von
der Hard- und Software der Endgeräte. Es treten keine Kompatibilitätsprobleme auf.
Leider bietet dieses Verfahren keinen Schutz gegen Datenreplikation, oder Vandalismus. Ein
unbefugter kann, sobald er eine verschlüsselte Nachricht empfängt, diese verändern, in der
Hoffnung, einen Schaden anzurichten. Oder er kann diese Nachricht doppelt schicken, um
ebenfalls ungezielt Schaden anzurichten. Ebenfalls hat ein unbefugter, mit genügend Zeit, die
Chance den Schlüssel zur Codierung zu knacken. Dann ist er natürlich in der Lage Daten zu
lesen und diese gezielt zu Manipulieren.
Um das Knacken des Schlüssels zu verhindern sollte der Schlüssel in unregelmäßigen
Abständen geändert werden. Das muss auf der Empfänger-, wie auch auf der Senderseite
geschehen. Der Codier-Schlüssel sollte
öglichst groß gewählt werden, dass der Angreifer
viel Zeit benötigt, um den Schlüssel zu knacken.
Durch nummerieren der Datenpakete ist es möglich eine doppelte Sendung der Daten zu
erkennen und so auch schaden zu vermeiden. Checksummen in den Datenpaketen erlauben
eine Kontrolle, ob die Daten Manipuliert wurden.
Code Mess Up
Hier wird nun davon ausgegangen, dass der Angreifer immer eine gewisse Zeit benötigt, um
Daten und Programmcode (den er zu manipulieren wünscht) zu Lesen und zu verstehen. Die
Zeit, die der Angreifer nun benötigt, auf das Maximum auszudehnen ist das Ziel des Code
Mess Up. Dadurch hat der Benutzer eines Dienstes ein Zeitfenster in dem er keine Angriffe zu
fürchten braucht. Im Idealfall kann nun gesagt werden, wieviel Zeit ein Angreifer mindestens
benötigt, um die Daten zu lesen.
Durch Code Mess Up kann nun diese Zeit erheblich verlängert werden, die ein Angreifer
benötigt, die Daten zu lesen.
Code Mess Up verschlüsselt den Quelltext (der Daten, des Programmcodes) nicht, sondern
schreibt den Code so um, dass ein Menschlicher Leser der Daten diese nicht (oder nur sehr
schwer) versteht.
Sogenannten Spaghetti-Code erzeugen ist eine Methode, den Programmcode unleserlicher zu
gestalten. Sprechende Variablen müssen umbenannt werden. Subroutinen und Module
erhöhen die Lesbarkeit eines Programms enorm und müssen deshalb weggelassen werden.
Daten dürfen nicht einfach repräsentiert werden.
Auf jeden Fall ist zu beachten, dass der veränderte Code dasselbe bewirkt wie der Originale.
Das
C
ode Mess Up sollte automatisiert ablaufen, damit der Angreifer bei jeder neuen
Nutzung anderen Code vorfindet. So bleibt der große Zeitaufwand für den Angreifer
bestehen.
Ein Gültigkeitsdatum in Programmcodes und Daten verhindert das Lesen sowie das
Ausführen von Code, nach einem gewissen Zeitpunkt.
|  |
|
| |
|
|