-
TECHNISCHES
GEBIET
-
Die
vorliegende Erfindung betrifft Verfahren zum Einfügen der
Integritätsinformationen
eines Textdokuments und der mit diesem verbundenen Dateien auf unsichtbare
Weise, und insbesondere betrifft sie ein verbessertes Verfahren
zum Authentifizieren des Textdokuments und der mit diesem verbundenen
Dateien.
-
HINTERGRUND
DER ERFINDUNG
-
Mit
der zunehmenden Nutzung von offenen Netzwerkumgebungen, wie zum
Beispiel dem Internet, hat in gleichem Maße der Bedarf an sichereren
Systemen zum Übertragen
gemeinsam genutzter Informationen über vernetzte Computer zugenommen.
Heutzutage besteht das größte Risiko
beim elektronischen Datenaustausch über offene, ungesicherte Netzwerke,
insbesondere über
das Internet, darin, dass digitale Daten wesentlich leichter als
früher
geändert
werden können.
-
Bei
den meisten derzeitigen Transaktionen im Internet greift der Benutzer
direkt von Textdokumenten aus auf Dateien auf Webservern oder Mailservern
zu. Wenn ein Benutzer in diesen offenen, ungesicherten Netzwerken
von einem Webbrowser einen Hyperlink auf einer Webseite auswählt und
aktiviert oder auf das Symbol einer an eine empfangene E-Mail angehängten Datei
klickt, ist es von äußerster
Wichtigkeit, die empfangenen Datendateien vor ihrem bestimmungsgemäßen Gebrauch
zu authentifizieren. Solche Datendateien können unter anderem Computerprogramme,
Texte, Grafiken, Bilder, Audiodaten, Videodaten oder andere Informationen
enthalten, die sich zur Verwendung in einem Computersystem eignen.
-
Diese
Sicherheitsprobleme treten beispielsweise dann auf, wenn ein Benützer eine
E-Mail empfangen hat, welche einen Anhang mit einer ausführbaren
Datei oder einem Softwareprogramm enthält, und sicher sein möchte, dass
dieser Anhang von einer vertrauenswürdigen Seite zugesandt wurde,
bevor er sein Computersystem einer Programmdatei aussetzt, die ein „Trojanisches
Pferd" enthalten
oder den Computer des Benutzers mit einem Virus infizieren könnte. Wenn
also ein Benutzer Daten über
das Internet von einem Server oder von einem anderen Benutzer empfängt, kann
es für
ihn als Empfänger
erforderlich sein, sicherzustellen, dass die empfangenen Daten nicht
beschädigt
oder anderweitig verändert
wurden. Darüber
hinaus kann für
den Empfänger
wichtig sein, zu überprüfen, ob
die Daten tatsächlich
vom richtigen Absender kommen oder von einem Betrüger.
-
Um
die Sicherheit von über
Computernetzwerke übertragenen
Daten zu verbessern und digitale Fälschungen und Imitationen zu
verhindern, werden als Schutzmaßnahmen
die Authentifizierung von Dokumenten und Unterzeichnern eingesetzt.
-
Digitale
Signaturen stellen heutzutage die wichtigsten kryptographischen
Tools zur Authentifizierung von Dokumenten und Unterzeichnern sowie
zur Integritätsprüfung dar.
Digitale Signaturen sind im Prinzip Mechanismen, mittels derer Benutzer
die Quelle einer empfangenen Datendatei authentifizieren können. Digitale Signaturen
erzielen diese Ergebnisse durch Algorithmen auf Basis von Chiffrierschlüsseln, wobei
die Sicherheit in diesen Algorithmen nicht von den Einzelheiten
des Algorithmus, sondern von dem Schlüssel (oder den Schlüsseln) abhängt. Die
Algorithmen können
sogar frei veröffentlicht
und analysiert werden.
-
In
der Technik gibt es zwei wohlbekannte allgemeine Arten von Authentifizierungsalgorithmen
auf der Basis von Schlüsseln: symmetrische
Algorithmen und Public-Key-Algorithmen (Algorithmen mit öffentlichem Schlüssel). Bei
symmetrischen Algorithmen sind Chiffrier- und Dechiffrierschlüssel identisch
und müssen durch
beide Seiten, den Sender und den Empfänger, geheim gehalten werden.
Bei Public-Key-Algorithmen werden digitale Signaturen mittels „öffentlicher
Schlüssel" abgeleitet. Public-Key-Algorithmen werden
auch als asymmetrische Algorithmen bezeichnet und sind für die Verwendung
von zwei unterschiedlichen Schlüsseln ausgelegt,
sodass sich der zum Signieren verwendete Schlüssel von dem zur Prüfung verwendeten
zweiten Schlüssel
unterscheidet. Diese Algorithmen werden als „Public-Key"-Algorithmen bezeichnet, da der Prüfschlüssel offen
gelegt werden kann. Der Signaturschlüssel hingegen muss von seinem
Besitzer, dem Unterzeichner, geheim gehalten werden. Aufgrund der
Eigenschaften von verschlüsselten
digitalen Signaturen gibt es keine Möglichkeit, die digitale Signatur
einer Person aus einem Dokument zu extrahieren und an ein anderes
anzuhängen
oder die signierte Nachricht irgendwie zu verändern, ohne dass diese Änderung
bemerkt wird. Die geringste Änderung
im signierten Dokument führt
dazu, dass die Prüfung
der digitalen Signatur fehlschlägt. Außerdem kann
der Signierschlüssel
nicht innerhalb vertretbarer Zeit aus dem Prüfschlüssel errechnet werden.
-
Somit
umfasst die Verwendung digitaler Signaturen zwei Prozesse, zum einen
die vom Unterzeichner durchgeführte
Erzeugung der digitalen Signatur und zum anderen die vom Empfänger durchgeführte Prüfung der
digitalen Signatur. Der Unterzeichner erzeugt eine digitale Signatur
für das
Dokument, indem er seinen privaten Signierschlüssel verwendet, und sendet
sowohl das Dokument als auch die digitale Signatur an den Empfänger. Die Überprüfung besteht
in der Prüfung
der digitalen Signatur durch Vergleich mit dem empfangenen signierten
Dokument und dem öffentlichen
Prüfschlüssel.
-
Bei
praktischen Implementierungen erweisen sich Public-Key-Algorithmen für die digitale
Signierung langer Dokumente oft als nicht leistungsfähig genug.
Zur Zeitersparnis werden Protokolle für digitale Signaturen (d. h.
RSA, DSA) oft mit sicheren (Einweg-)Hashfunktionen implementiert.
Dabei signiert der Unterzeichner im Grunde nicht das ganze Dokument,
sondern er berechnet einen Hashwert des Dokuments und signiert den berechneten
Hashwert. Viele Signaturalgorithmen verwenden Einweg-Hashfunktionen
als integrierte Bausteine.
-
Eine
Hashfunktion ist eine Funktion, welche eine Eingabezeichenfolge
variabler Länge
(d. h. ein Dokument) abbildet und in eine Ausgabezeichenfolge fester
Länge umwandelt,
die normalerweise kleiner ist und als Hashwert bezeichnet wird.
Der Hashwert dient als kompakte repräsentative Abbildung der Eingabezeichenfolge.
Zur Berechnung einer Einweg-Hashfunktion ist normalerweise kein
Schlüssel
erforderlich. Dabei kann, wenn das Dokument empfangen wurde, die
Hashfunktion als solche verwendet werden, um zu überprüfen, ob innerhalb des Dokuments
seit der Erzeugung der Hashfunktion Daten verändert wurden. Hashfunktionen
unterliegen somit normalerweise der Einschränkung, dass der Benutzer nicht
unbedingt Schlussfolgerungen über
die betreffende Datendatei ziehen kann, zum Beispiel, von wem sie
gesendet wurde. Um bei Verwendung digitaler Signaturen, in Verbindung
mit einer Hashfunktion, deren Eigenschaften der Nicht-Abstreitbarkeit der
Urheberschaft und der Fälschungssicherheit
aufrechtzuerhalten, muss die Hashfunktion unangreifbar sein. Das
heißt,
es muss rechnerisch unmöglich
sein, einen für
zwei Nachrichten identischen Hashwert zu finden.
-
Um
ein Dokument zu authentifizieren, welches eine Vielzahl von Anhängen oder
Links zu anderen Dateien enthält,
müssen
nicht nur das Dokument selbst, sondern alle mit ihm verbundenen
Dateien authentifiziert werden. Für die Behandlung dieser sehr
oft vorkommenden Fälle
wird üblicherweise
eine einzige digitale Signatur erzeugt, indem der digitale Signaturalgorithmus
auf die aus dem Dokument und allen angehängten Dateien bestehende Gesamtheit
angewendet wird. Wenn ein solches zusammen mit den angehängten Dateien signiertes
Dokument empfangen wird, muss auch der Prüfalgorithmus auf dieselbe aus
dem empfangenen Dokument und den angehängten Dateien bestehende Gesamtheit
angewendet werden.
-
Dieser
Signier- und Prüfprozess
und/oder die Erzeugung von Hashfunktionen bewirken einen zusätzlichen
Systemaufwand bezüglich
der zum Senden und Empfangen erforderlichen Rechenleistung. Insbesondere
wenn ein Benutzer ein Dokument mit zahlreichen großen Dateien
im Anhang empfängt,
würde die Überprüfung der
aus dem empfangenen Dokument und allen angehängten Dateien bestehenden Gesamtheit
die Rechenressourcen des empfangenden Computers übermäßig belasten und in einer solchen
Computernetzwerkumgebung zu unvertretbaren Verzögerungen führen.
-
Es
gibt Verfahren nach dem Stand der Technik zur wirksamen Sicherung
und Authentizitätsprüfung einer
Vielzahl von Datendateien, zum Beispiel von Datendateien, die über Computernetzwerke übertragen
werden sollen. Diese Verfahren zur Authentizitätsprüfung von Gruppen von Datendateien
beinhalten, dass neben der Gruppe von Datendateien eine separate
Signaturdatei bereitgestellt wird, die einzelne Prüfwerte für alle Datendateien
(z. B. Hashwerte) sowie eine digitale Signatur für die Gruppe beinhaltet. Die
digitale Signatur der Dateigruppe wird dann mittels eines Computersystems
geprüft
und die Prüfwerte
in der Signaturdatei werden mit den entsprechenden Werten verglichen,
die mittels des Computersystems aus den Datendateien berechnet wurden.
Diese Klasse von Verfahren, bei denen für Gruppen von Datendateien
eine separate Signaturdatei generiert wird, wird durch den in der
US-Patentschrift 5,958,051 beschriebenen Lösungsansatz repräsentiert.
-
All
diese Verfahren, die das Hinzufügen
von Prüfinformationen
in einer separaten Datei voraussetzen, weisen natürlich den
Nachteil auf, dass die geprüften
Informationen und die Prüfinformationen
(d. h., die Signaturdatei) de facto voneinander getrennt sind. Somit
kann Letztere leicht abgetrennt und entfernt werden – entweder
absichtlich um zu betrügen
oder unabsichtlich, weil die für
die Weiterleitung von elektronischen Dokumenten und Datendateien
zuständigen Übertragungseinheiten
oder die Kommunikationsprotokolle einfach nicht für die Verarbeitung
dieser extra Informationsstücke
eingerichtet sind. Daher sollten bei der Authentifizierung eines
Dokuments mit Dateianhängen
oder Links zu anderen Dateien die Prüfdaten des Dokuments und aller
angehängten
Dateien besser transparent in den eigentlichen Dokumentkörper codiert
werden (auf eine Weise, bei der das Textformat, die Lesbarkeit des
Dokuments usw. nicht beeinflusst werden), sodass das Dokument im
Verlauf der verschiedenen Eingriffe, denen es auf seinem Weg zum
Ziel ausgesetzt ist, intakt bleibt und der Endempfänger immer
noch in der Lage ist, die Authentizität und die Integrität des empfangenen
Dokuments und der angehängten
oder mit ihm verbundenen Dateien zu überprüfen. Ein Verfahren zur transparenten
Codierung von Kontrolldaten in den eigentlichen Dokumentkörper mittels
unsichtbarer Zeichenfolgen, wie zum Beispiel Leerzeichen, ist zwar
in der Patentschrift WO 00/77677 beschrieben, jedoch schließt dieses Verfahren
keine Dokumente mit Dateianhängen
ein.
-
Die
Hauptaufgabe der Erfindung besteht daher darin, ein Verfahren zum
Authentifizieren eines Textdokuments und der mit diesem verbundenen
Dateien zur Verfügung
zu stellen, mit dem die Integrität
des Dokuments und aller mit diesem verbundenen Dateien einzeln geprüft werden
kann, ohne dass die Integritätsinformationen
abgetrennt werden oder verloren gehen können, was zum Verlust der Integrität des Dokuments und
der mit ihm verbundenen Dateien führen würde.
-
Die
Erfindung betrifft deshalb ein Verfahren zum Authentifizieren eines
Textdokuments mit Links zu mehreren Dateien durch Änderung
mindestens eines ausgewählten
Attributs von unsichtbaren Zeichen in einer Vielzahl von Wortzwischenräumen des
Textdokuments, wobei das Verfahren die folgenden Schritte umfasst:
- a) Berechnen einer Einweg-Hashfunktion für jede Datei,
um einen Hashwert zu erhalten, der für jede Datei aus einer Teilmenge
von Hashziffern besteht,
- b) Codieren jeder aus einer Vielzahl von Teilmengen von Leerstellenzeichen
in dem Textdokument durch Ersetzen des Wertes des ausgewählten Attributs
für jedes
Leerstellenzeichen in jeder Teilmenge der Leerstellenzeichen durch
eine entsprechende codierte Hashziffer aus jeder Teilmenge von Hashziffern,
die der jeweiligen Datei entspricht,
- c) Berechnen der elektronischen Signatur des codierten Textdokuments
mittels eines Public-Key-Algorithmus, der aus einer Teilmenge von
Signaturziffern besteht, und
- d) Codieren einer weiteren Teilmenge von Leerstellenzeichen
in dem codierten Textdokument durch Ersetzen des Wertes des ausgewählten Attributs
für jedes
Leerstellenzeichen durch eine entsprechende codierte Signaturziffer.
-
Gemäß einer
bevorzugten Ausführungsart
der Erfindung beinhalten die Codierschritte den Schritt des Umwandelns
des Textdokuments in eine kanonische Form durch Einstellen des Wertes
des ausgewählten
Attributs für
alle Wortzwischenräume
des Dokuments auf denselben Standardwert, und für jede Datei den Schritt des
Codierens der Hashziffern des der Datei entsprechenden Hashwertes
als geordnete Teilmenge von Werten, welche den unterschiedlichen
Werten des ausgewählten
Attributs entsprechen, den Schritt des Auswählens einer Vielzahl von Wortzwischenräumen aus
allen im Textdokument enthaltenen Wortzwischenräumen, die einer Teilmenge von
Leerstellenzeichen entsprechen, welche zum Einbetten des Hashwertes
in das Textdokument verwendet werden sollen, und den Schritt des
Ersetzens des Standardattributwertes jedes Leerstellenzeichens aus
der Teilmenge von Leerstellenzeichen durch die entsprechende codierte
Hashziffer.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die
oben genannten sowie weitere Aufgaben, Merkmale und Vorteile der
Erfindung lassen sich durch die Lektüre der folgenden ausführlichen
Beschreibung der Erfindung in Verbindung mit den beiliegenden Zeichnungen
besser verstehen, wobei:
-
1A ein
Flussdiagramm ist, welches die Schritte des erfindungsgemäßen Verfahrens
zum Authentifizieren eines Textdokuments mit Links zu einer Vielzahl
von Dateien zeigt,
-
1B ein
Flussdiagramm ist, welches eine Alternative zu dem in 1A dargestellten
Verfahren zeigt,
-
2A ein
Flussdiagramm ist, welches die einzelnen Teilschritte der Codierung
der Teilmengen von Leerstellenzeichen des in 1A dargestellten
Verfahrens zeigt,
-
2B ein
Flussdiagramm ist, welches die einzelnen Teilschritte der Codierung
der Teilmengen von Leerstellenzeichen des in 1B dargestellten
Verfahrens zeigt,
-
3 ein
Flussdiagramm ist, welches die einzelnen Teilschritte der Codierung
einer weiteren Teilmenge von Leerstellenzeichen mittels der elektronischen
Signatur im Rahmen des in den 1A und 1B dargestellten
Verfahrens zeigt, und
-
4 ein
Flussdiagramm ist, welches das Verfahren zum Authentifizieren eines
Textdokuments zeigt, das gemäß dem in
den 1A und 1B dargestellten
Verfahren bearbeitet worden ist.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Angenommen,
ein E-Mail-Textdokument mit Links zu einer Vielzahl von N Dateien
soll vor dem Versenden über
das Internet authentifiziert werden. Das Authentifizierungsprogramm
berechnet, wie in 1 dargestellt, mittels
einer Einweg-Hashfunktion
(z. B. MD5) die Hashfunktion aller Dateien. Hierzu wird die Hashfunktion
der Datei n (mit n = 1 bis N) berechnet (Schritt 10), in
einem Prüfschritt
(Schritt 12) festgestellt, ob n = N ist, und n um eins
erhöht
(Schritt 14), wenn n noch nicht den Wert N erreicht hat.
-
Wenn
die Hashfunktion aller Dateien berechnet worden ist, werden die
zu den N Dateien gehörenden N
Teilmengen von Leerstellenzeichen mittels Hashwerten codiert (Schritt 16),
die sich aus der Berechnung der Hashfunktion ergeben. Eine solche
Codierung beginnt beim ersten Wortzwischenraum des Dokuments, und zur
Trennung der codierten Hashziffern zweier aufeinander folgender
Dateien wird eine Leerstelle belassen.
-
Es
ist anzumerken, dass das codierte Dokument und das Originaldokument
identisch zu sein scheinen. Wenn die beiden Dokumente angezeigt
und gedruckt werden, sind tatsächlich
keine visuell erkennbaren Unterschiede zwischen ihnen zu erkennen.
Trotzdem unterscheiden sich das Ausgangsdokument und das codierte
Dokument voneinander. Wenn man aus der Funktionsleiste von WordPro
das Feld „Texteigenschaften" auswählt und
den Cursor über
die Leerstellen des Ausgangsdokuments hinweg bewegt, wird die codierte
Folge von Leerstellenzeichenattributen sichtbar, welche den Hashwerten
der Dateien entspricht.
-
Anschließend berechnet
das Authentifizierungsprogramm mittels eines Public-Key-Algorithmus
und unter Verwendung des privaten Schlüssels die elektronische Signatur
des bereits codierten Dokuments (Schritt 18). Beginnend
an der Position des letzten codierten Hashwertes und unter Belassen
einer Leerstelle zum Trennen der letzten Gruppen codierter Hashziffern
wird unter Verwendung der Ziffern der elektronischen Signatur eine
weitere Teilmenge von Leerstellenzeichen codiert (Schritt 20).
-
Anzumerken
ist, dass auch das authentifizierte Dokument mit dem Ausgangsdokument
identisch ist. Mit anderen Worten, wenn beide Dokumente angezeigt
oder ausgedruckt werden, sind zwischen ihnen keine visuell erkennbaren
Unterschiede zu erkennen. Wählt
man jedoch das Feld „Texteigenschaften" von WordPro und
bewegt den Cursor über
die Leerstellen hinweg, wird die codierte Folge von Attributen sichtbar,
welche den Hashwerten der Dateien und der elektronischen Signatur
entspricht.
-
Dabei
ist zu beachten, dass eine Alternative zum oben genannten Verfahren
eingesetzt werden kann. Anstatt die Hashfunktion aller Dateien zu
berechnen, bevor eine Teilmenge von Zeichen mittels des Hashwerts codiert
wird, wird die Hashfunktion einer Datei berechnet (Schritt 22),
unmittelbar bevor eine Teilmenge von Leerstellenzeichen mittels
des Hashwertes codiert wird, der sich aus der Hashfunktion ergibt
(Schritt 24). Anschließend
wird geprüft,
ob n = N ist (Schritt 26), und n um eins erhöht, wenn
dies nicht der Fall ist (Schritt 28). Abschließend erfolgen
genauso wie bei der vorangehenden Ausführungsart der Schritt der Berechnung
der elektronischen Signatur des Dokuments (Schritt 18)
und der Schritt des Codierens einer weiteren Teilmenge von Leerstellenzeichen
mit Hilfe der elektronischen Signatur (Schritt 20).
-
Das
Verfahren zum Codieren einer Teilmenge von Leerstellenzeichen (Schritt 16 und 20 in 1A oder
Schritt 24 und 20 in 1B) beruhen
auf der Änderung
unsichtbarer Parameter der Wortzwischenräume oder Leerstellenzeichen
eines Textes ohne Beeinflussung des Formats und des Aussehens des
Ausgangstextes. Solche Parameter entsprechen Zeichenattributen – wie Schriftart,
Textfarbe, kursiv, fett oder geschützt – der Leerstellenzeichen oder
einer Kombination dieser genannten Attribute.
-
Angenommen,
es werden die Farbattribute der Leerstellenzeichen ausgewählt, dann
kann eine Zuordnungstabelle für
solche Farbattribute und die jeweiligen Ziffern des Hashwertes wie
folgt aussehen.
-
-
Es
ist anzumerken, dass das Attribut Farbe mit einem anderen Attribut,
wie beispielsweise kursiv, kombiniert werden kann. Durch die Auswahl
des Paars Textfarbe und Kursivschrift ergeben sich so viele verschiedene
Varianten, wie es Kombinationen von Farben in der Farbpalette und
kursiv/nicht kursiv gibt.
-
Das
Codierungsverfahren ist in 2A dargestellt.
Zuerst wird das Textdokument, in welches die Daten eingefügt werden
sollen, in eine kanonische Form umgewandelt (Schritt 30),
indem mindestens eines der ausgewählten Attribute für alle Leerstellen
des Textes auf denselben Standardwert gesetzt wird. Wenn also das
Attribut Farbe gewählt
wurde, wird dieses für
alle Leerstellenzeichen auf (den Standardwert) SCHWARZ gesetzt.
In diesem Fall weisen alle Leerstellenzeichen für die Hintergrundfarbe das
Standardattribut WEISS auf. Das Setzen eines Leerstellenzeichens
auf einen Standardwert bedeutet, dass an dieser Leerstelle keine Information
codiert ist.
-
Dann
wird der Hashwert jeder Datei n (n von 1 bis N) mittels der Menge
codierter Attributwerte der obigen Tabelle codiert (Schritt 32),
um eine geordnete Folge von Attributwerten zu erhalten.
-
Nach
dem Auswählen
eines der Wortzwischenräume
des Dokuments zum Codieren (Schritt 34) werden, falls dieser
Wortzwischenraum noch nicht verwendet wird, die Standardwerte der
Attribute durch die entsprechenden codierten Attributwerte der geordneten
Menge von codierten Attributwerten für jedes Leerstellenzeichen
aus der ausgewählten
Teilmenge von Leerstellenzeichen ersetzt (Schritt 36).
Man beachte, dass es hierbei am besten ist, vom Anfang des Dokuments
beginnend aufeinander folgende Wortzwischenräume auszuwählen.
-
Dann
wird geprüft,
ob es sich bei der verarbeiteten Datei um die letzte Datei handelt,
ob also n = N ist (Schritt 38). wenn dies nicht der Fall
ist, wird zunächst
n um eins erhöht
(Schritt 40) und anschließend werden alle obigen Schritte
wiederholt, mit Ausnahme der Umwandlung des Textdokuments in eine
kanonische Form. Der Prozess ist beendet, wenn der Hashwert der
letzten Datei in das Dokument eingebettet worden ist.
-
Im
obigen Beispiel, bei dem als Attribut die Farbe des Textes ausgewählt wurde,
ist es unproblematisch, Daten im Dezimalsystem zu codieren, da es
mehr als 10 Farben gibt, mit denen die Dezimalzahlen 0, 1, ...,
9 dargestellt werden können.
-
Wird
hingegen ein anderes Attribut gewählt, bei dem weniger als 10
Auswahlmöglichkeiten
zur Verfügung
stehen, wäre
ein solches Attribut zum Einfügen
von Daten auf Dezimalbasis ungeeignet. Aber auch in diesem Falle
wäre es
möglich,
ein solches Attribut zu verwenden, wenn die Daten entsprechend einer
Zahlenbasis N dargestellt werden, die kleiner als die Anzahl der
verschiedenen möglichen
Attributwerte ist. Wenn für das
gewählte
Attribut also 5 verschiedene Auswahlmöglichkeiten zur Verfügung stehen,
werden die Daten zur Basis 5 mit den Ziffern 0 bis 4 dargestellt.
Bei einer solchen Darstellung der Daten müssen im Textdokument natürlich mehr
Leerstellen zur Datencodierung bereitgehalten werden als beispielsweise
bei Verwendung der Basis 10.
-
Eine
andere Möglichkeit
zur Verwendung eines Attributs, bei dem nur wenige verschiedene
Werte zur Verfügung
stehen, besteht darin, dieses mit einem anderen Attribut zu kombinieren.
Zum Beispiel könnte
das oben erwähnte
Attribut (mit fünf
möglichen
Werten) mit einem anderen Attribut wie beispielsweise kursiv/nicht kursiv,
das über
zwei Auswahlmöglichkeiten
verfügt,
kombiniert werden, um die 10 Zahlen (0 bis 9) der dezimal codierten
Daten darzustellen.
-
Zum
Beispiel ordnet die folgende Zuordnungstabelle ein Paar von Attributen,
beispielsweise das Attribut Farbe und das Attribut kursiv/nicht
kursiv, Hexadezimalziffern zu:
-
Wenn
das in 1B dargestellte alternative
Verfahren angewendet wird, umfasst der in 2B dargestellte
Codierungsschritt dieselben Teilschritte. Dabei besteht, nachdem
das Textdokument in der oben beschriebenen Weise in eine kanonische
Form umgewandelt wurde (Schritt 30), der Codierungsschritt
wie zuvor auch im Codieren des Hashwertes der Datei n (Schritt 32),
Auswählen
eines noch nicht verwendeten Wortzwischenraums im Textdokument (Schritt 34)
und Ersetzen der Standardattributwerte von Leerstellenzeichen des ausgewählten Wortzwischenraums
durch die codierten Hashziffern.
-
Der
in 3 dargestellte Schritt des Codierens einer weiteren
Teilmenge von Leerstellenzeichen mittels der elektronischen Signatur
besteht unabhängig
vom angewendeten Verfahren im Codieren der elektronischen Signatur
mit Hilfe des Satzes von Attributwerten der obigen Tabelle, um eine
geordnete Folge von Attributwerten zu erhalten (Schritt 42),
Auswählen
einer Teilmenge von Leerstellenzeichen im Dokument, welche verschieden
ist von dem bereits zum Codieren der Dateien verwendeten Wortzwischenraum
(Schritt 44), und Ersetzen des Standardattributwertes dieser
Teilmenge von Leerstellenzeichen durch die codierten Signaturziffern
(Schritt 46).
-
Wenn
das codierte Dokument mit den verbundenen Dateien per E-Mail empfangen wurde,
besteht das in 4 dargestellte Verfahren zur
Authentifizierung in Folgendem: Zuerst werden die unsichtbar codierten
Informationen aus dem empfangenen Dokument durch Decodieren der
codierten Attribute in den zum Codieren verwendeten Wortzwischenräumen wiederhergestellt
(Schritt 50). Dabei ist anzumerken, dass sich die codierten
von den nicht codierten Leerstellenzeichen, deren Attribute auf
denselben Standardwert gesetzt wurden, unterscheiden. Somit werden
für die
elektronische Signatur ein Wert S und für die Hashwerte der N Dateien die
Werte H1 ... HN wiederhergestellt.
-
Die
codierten Ziffern des wiederhergestellten Wertes S werden dann aus
dem Dokument entfernt (Schritt 52). Das neue Dokument enthält somit
immer die unsichtbar codierten Werte H1 ...
HN, sieht aber identisch wie das empfangene
Dokument aus, obwohl sich die beiden Dokumente voneinander unterscheiden.
-
Mit
Hilfe desselben Public-Key-Algorithmus wird unter Verwendung des
neuen Dokuments, aus dem die codierte elektronische Signatur entfernt
worden ist, eine elektronische Signatur S* berechnet (Schritt 54). Anschließend wird
geprüft,
ob die Werte S und S* identisch sind (Schritt 56). Wenn
dies nicht der Fall ist, wird das Dokument zurückgewiesen (Schritt 58).
Ist das Prüfergebnis
jedoch positiv, ist das empfangene Dokument authentisch (Schritt 60).
-
Danach
berechnet das Prüfprogramm
mittels derselben Einweg-Hashfunktion
(z. B. MD5), die von dem Codierungsprogramm beim Senden des Dokuments
verwendet wurde, die Hashwerte H1*, H2*, ..., HN* der mit
dem Dokument verbundenen Dateien (Schritt 62). Anschließend erfolgt
eine Prüfung,
ob der wiederhergestellte Hashwert Hn und
der berechnete Hashwert Hn* für jede Datei
n identisch sind, wobei n eine Zahl von 1 bis N ist (Schritt 64).
Wenn dies nicht der Fall ist, muss die empfangene Datei zurückgewiesen
werden (Schritt 66). Ist das Prüfergebnis jedoch positiv, bedeutet
dies, dass die Datei n authentisch ist (Schritt 68). Abschließend wird
n so lange um eins erhöht
(Schritt 70), bis alle Dateien geprüft worden sind.
-
Das
obige Authentifizierungsverfahren ist von Protokoll und Datenformat
unabhängig
und kann auf viele verschiedene Softwarepakete angewendet werden,
zum Beispiel auf E-Mail-Systeme,
welche Textdokumente erzeugen, in denen Links zu allen Arten von
Dateien enthalten sind. Ferner kann mit Hilfe dieses Verfahrens
auch eine Webseite wie zum Beispiel ein HTML-Dokument, das Hyperlinks zu anderen
Webseiten enthält,
authentifiziert und die Integrität
dieser Hyperlinks geprüft
werden.
-
Wichtig
ist, dass Kommunikationssysteme, welche Textdokumente in elektronischer
Form (Softcopy) austauschen, auf jeden Fall kompatibel sein müssen, um
die Erfindung anwenden zu können.
Das trifft auf die meisten modernen Büro- und E-Mail-Produkte zu.
Ferner ist wichtig, dass sogar bei einem System, das keine Farben
(sondern nur Schwarz-Weiß-Texte)
unterstützt,
unsichtbare Informationen in die Leerstellen eines einfachen Textes
codiert werden können,
indem zum Codieren entweder ein Attribut oder eine Kombination mehrerer
verschiedener möglicher
Attribute verwendet wird, wie zum Beispiel die Attribute Schriftart,
kursiv, fett oder geschützt.