H(PEx) = H(PEk)
mit der Bedingung
PEx <> PEk
zu bilden. Er könnte nun alle Bestandteile eines Protokolleintrages PEk manipulieren. Da diese durch den Protokollführer signiert sein müssen, ist die Zusammenarbeit mit einem Protokollführer unbedingt nötig. Ein Submitter kann wiederum nur in Zusammenarbeit mit einem Protokollführer sein eigenes protokolliertes Dokument verändern und neu signieren. Da Teile des bereits erzeugten Protokolls von den Beteiligten unabhängig voneinander aufbewahrt werden, bleibt eine Manipulation eines Protokolleintrages nie unentdeckt. Außenstehende können eine schwache Hashfunktion ohne Unterstützung von Beteiligten nicht zur Manipulation des Protokolls ausnutzen.
SigFk | |||||||||
H | k | tk | Fk | Sk | SigSk | ||||
PEk-1 | Pk | ||||||||
Diese beiden Werte sind direkt voneinander abhängig. Durch den Verkettungswert PEk-1 wird k festgelegt. Durch eine Änderung dieser Werte kann der manipulierte Protokolleintrag von seinem tatsächlichen Vorgänger getrennt und mit einem beliebigen anderen verkettet werden. Durch die Änderung von k wird auch der nachfolgende Protokolleintrag neu festgelegt (k+1).
Ein Protokolleintrag soll nun etwas genauer betrachtet werden. Der Eintrag
PEk = (H(PEk-1),k,tk,Fk,Sk,Pk,SigSk(Pk),SigFk(H(PEk-1),k,tk,Fk,Sk,Pk,SigSk(Pk)))
soll ersetzt werden durch
PE'k = (H(PEx-1),x,t'k,F'k,S'k,P'k,SigS'k(P'k),SigFk(H(PEx-1),x,t'k,F'k,S'k,P'k,SigS'k(P'k)))
mit den Bedingungen
k <> x
und
H(PEk) = H(PE'k).
Um dieses Ergebnis zu erreichen, müssen die Werte t'k,F'k,S'k,P'k,SigS'k(P'k) entsprechend gewählt werden. Da diese Werte alle vom Protokollführer signiert sein müssen, muß der Protokollführer F'k, an der Manipulation beteiligt sein. Kein Protokollführer kann Pk,SigSk(Pk) verändern, sie könnten nur bereits im Protokoll vorhandene Py,SigSy(Py) benutzen. Da damit auch die Identität des Submitters Sk nicht verändert werden kann, kann ein Protokollführer ausschließlich t'k variieren. Durch die Zeitangaben der benachbarten Protokolleinträge muß t'k in den Schranken tx-1 und tx+1 liegen. Die Aussicht, eine Manipulation durchführen zu können, ist daher für den Protokollführer F'k alleine eher sehr gering. Noch schwerer wird es für den Protokollführer, wenn der Wertebereich von t nur so groß wie nötig gewählt wird. Im Beispiel "Arztpraxis" macht es sicher wenig Sinn, t auf die Sekunde genau anzugeben. Nur die in der folgenden Grafik farblich gekennzeichneten Felder können von einem Protokollführer F'k beliebig verändert werden, jedoch ist die Aussicht, daß die Bedingung H(PEk) = H(PE'k) erfüllt wird, eher gering. Falls es einem Protokollführer dennoch gelingen sollte, einen Protokolleintrag zu manipulieren und dies nicht gerade ein Protokolleintrag ist, den er selbst schon einmal signiert hat, kann im Nachhinein nicht festgestellt werden, welcher der beiden beteiligten Protokollführer die korrekte Signatur erzeugte. Daraus folgt, daß ebenso nicht festgestellt werden kann, welches der korrekte und welches der manipulierte Protokolleintrag ist.
SigF'k | |||||||||
H | x | t'k | F'k | Sk | SigSk | ||||
PEx-1 | Pk | ||||||||
Vielversprechender sind Angriffe, bei denen der Protokollführer
F'k mit dem Submitter S'k zusammenarbeitet. Der Submitter ist in der Lage,
P'k,SigS'k(P'k)
beliebig zu wählen, und der Wertebereich von P'k ist
nur wenig begrenzt. Es muß bei diesen Manipulationen beachtet werden,
daß durchaus P'k <> Pk und S'k <> Sk
sind, d.h. es können nicht
nur die eigenen Protokolleinträge manipuliert werden, sondern auch
fremde Protokolleinträge durch eigene ersetzt werden.
Unter der Bedingung k <> x entsteht bei diesem Angriff eine Verzweigung
im Protokoll, deren eines Ende nicht weiter fortgeführt wird.
Der gleiche Angriff kann mit der Bedingung k = x realisiert werden,
in dessen Folge der Protokolleintrag PEk doppelt vorhanden sein wird, wenn
nicht in der Protokolldatei, dann zumindest bei den aufbewahrten Protokolleinträgen
der Submitter. Auf diese Weise kann auch eine ganze Folge von Protokolleinträgen
ausgetauscht werden. Die Aussichten einer erfolgreichen Manipulation werden
dadurch noch vergrößert.
Da jeder Submitter den auf seinen eigenen Protokolleintrag folgenden
mit aufbewahren muß, kann diese Manipulation erkannt werden. Es ist
jedoch denkbar, daß auch die Submitter der benachbarten Protokolleinträge
an der Manipulation beteiligt sind, zumal die manipulierten Protokolleinträge
gezielt so ausgewählt werden können. In diesem Fall kann die
Manipulation nur entdeckt werden, wenn sich die Beteiligten regelmäßig
von der Unversehrtheit des gesamten Protokolls überzeugen und sich
dieses, oder zumindest Teile, davon kopieren.
An dieser Veränderung ist nicht erkennbar, wer ihr Verursacher
war, es sei denn, es können mehrere Protokolleinträge PEk mit
verschiedenen Inhalten gefunden werden, die vom gleichen Protokollführer
signiert wurden.
Anmerkung:
Eine Verzweigung im Protokoll kann auch ohne Brechen der verwendeten
Funktionen erfolgen. Jeder Protokollführer ist dazu jederzeit in der
Lage, da er jeden beliebigen Protokolleintrag als den zuletzt erzeugten
zur Fortführung des Protokolls benutzen kann.
SigFk | |||||||||
H | k | tk | Fk | Sk | SigSk | ||||
PEk-1 | Pk | ||||||||
Dazu ist wieder nur ein beliebiger Protokollführer F'k in der Lage. Es ist kaum zu erwarten, daß nur durch Änderung dieses einzelnen Wertes der gleiche Hashwert wie vom ursprünglichen Protokolleintrag erzeugt werden kann. Wie unter a) beschrieben, wird die Zusammenarbeit mit einem Submitter erforderlich sein. Die Beweiskraft von t beschränkt sich auch im unverfälschten Protokoll immer nur auf das Intervall zwischen den Zeitpunkten der nächsten vertrauenswürdigen benachbarten Protokolleinträge. Ein Angriff allein zur Manipulation von t ist daher nicht nur unwahrscheinlich sondern auch bedeutungslos.
SigFk | |||||||||
H | k | tk | Fk | Sk | SigSk | ||||
PEk-1 | Pk | ||||||||
Selbst die Identität des Submitters und des Protokollführers
kann geändert werden. Bei einer stark begrenzten Anzahl von Beteiligten
ist jedoch die Bedingung H(PEk) = H(PE'k)
kaum erfüllbar, wenn nur
Fk und Sk geändert werden. F'k muß der
an der Manipulation beteiligte
Protokollführer sein und S'k ist durch die Signatur über das
Dokument nur aus vorhandenen Protokolleinträgen zu gewinnen bzw. muß
ebenfalls an der Manipulation beteiligt sein.
Auch diese Manipulation ist erkennbar und nur von F'k durchführbar,
jedoch kann wieder nicht herausgefunden werden, welches der unverfälschte
Protokolleintrag ist.
Das Dokument kann nur vom Submitter beliebig verändert werden, und durch c) ist jeder beliebige Submitter in der Lage, ein fremdes Dokument gegen sein eigenes auszutauschen. Ein Protokollführer muß beteiligt sein.
SigFk | |||||||||
H | k | tk | Fk | Sk | SigSk | ||||
PEk-1 | Pk | ||||||||
SigFk | |||||||||||
H | k | tk | Fk | Sk | SigSk | ||||||
PEk-1 | Pk | ||||||||||
Durch eine Veränderung des Hashwertes H(PEk) kann ein beliebiger Protokolleintrag als Nachfolger ausgewählt werden. In Verbindung mit Angriff a) ist so ein beliebiges Austauschen einer Folge von Protokolleinträgen möglich. Bemerkt werden kann diese Veränderung nur von den Beteiligten, die sich den ursprünglichen Protokolleintrag gesichert haben. Wie bei den Angriffen auf Teile des Protokolleintrages muß ein Protokollführer beteiligt sein. Ein stark begrenzter Wertebereich von tk,Fk und Sk läßt eine gezielte Bildung von H(PEk) auch bei schwacher Hashfunktion kaum zu. So wird für diese Manipulation wieder eine Zusammenarbeit mit einem Submitter notwendig sein.
H(Pk,SigSk(Pk)) = H(P'k,SigSx(P'k))
wird erheblich über dem Aufwand liegen, einen beliebigen Wert W mit der Bedingung
H(Pk,SigSk(Pk)) = H(W)
zu finden. Doch nur Letztgenanntes kann bei einer schwachen Hashfunktion
ausgenutzt werden.
Für den Fall, daß doch ein Angreifer nachweislich in der
Lage ist
H(Pk,SigSk(Pk)) = H(P'k,SigSx(P'k))
zu bilden, hat das gesamte Protokoll durch das Brechen der Hashfunktion
zur Verkettung der Protokolleinträge seine Beweiskraft verloren, und
diese kann nachträglich nicht wiederhergestellt werden.
Unter der Voraussetzung, daß ein einmal erzeugter Protokolleintrag
niemals wieder vollständig entfernt werden kann, muß eine Manipulation
stets bemerkt werden. Nachdem die Manipulation aufgefallen ist, existieren
mindestens zwei Protokolleinträge mit der gleichen fortlaufenden Nummer
k. Jeder dieser beiden könnte der korrekte sein. Falls ein Beteiligter
seine Signatur auf beiden Protokolleinträgen hinterlassen hat, kann
er des Betruges überführt werden. Dies führt nicht zwangsläufig
zum Auffinden des korrekten Protokolleintrages.
weiter | Inhaltsverzeichnis |