-
Gebiet und Hintergrund der
Erfindung
-
Die
Erfindung betrifft ein Verfahren und ein System zum Signieren von
physischen Dokumenten. Die Erfindung betrifft ferner ein Verfahren
und ein System zum Authentifizieren von Signaturen auf physischen
Dokumenten. Die Erfindung betrifft auch ein Verfahren zum Versenden
von physischen Dokumenten. Weiterhin betrifft die Erfindung ein
Computerprogrammprodukt. Ebenso betrifft die Erfindung ein physisches
Dokument, das mit einer Signatur versehen ist.
-
Es
ist bekannt, auf einem physischen Dokument eine Signatur anzubringen,
unter anderem zur Verifizierung des Ursprungs des physischen Dokuments.
Zur Durchführung
dieser Funktion wird die Signatur auf dem physischen Dokument als
eine für eine
unterzeichnende Partei einmalige handgeschriebene Markierung von
der unterzeichnenden Partei angebracht. Eine weitere Funktion der
Signatur ist die Verifizierung der Authentizität des physischen Dokuments.
Insbesondere bei Rechtsdokumenten wie Verträge oder Testamente wird die
Signatur auch als Mittel für
die Authentifizierung des Dokuments selbst verwendet. Die Signatur
bildet ferner ein Mittel zum Verifizieren, dass die Intentionen
der unterzeichnenden Partei in dem Rechtsdokument zum Ausdruck kommen.
Die Signatur wird häufig
auf der ersten Seite oder auf der letzten Seite des physischen Dokuments
vorgesehen.
-
Wenn
jedoch nicht sämtliche
Seiten eines physischen Dokuments signiert sind, kann nicht mit hundertprozentiger
Sicherheit festgestellt werden, dass ein empfangenes physisches
Dokument tatsächlich
dasselbe ist wie das von der Absenderpartei signierte physische
Dokument. Selbst wenn alle Seiten signiert sind, kann ohne zusätzliche
Ermittlung nicht sichergestellt werden, dass Teile des physischen
Dokuments nicht manipuliert worden sind. Zum Beispiel könnten Seiten
fehlen oder Textteile verändert
worden sein, ohne dass sich das auf die Signatur auswirkt.
-
Die
bekannte Vorgehensweise zum Signieren von physischen Dokumenten
ist daher anfällig
für Betrug.
-
Übersicht der Erfindung
-
Ziel
der Erfindung ist es, ein betrugssichereres Verfahren und System
zum Signieren von physischen Dokumenten anzugeben.
-
Deshalb
ist gemäß einem
Aspekt der Erfindung ein Verfahren nach Anspruch 1 vorgesehen. Ein solches
Verfahren hat deshalb einen höheren
Grad an Betrugssicherheit, da bei einer Fälschung des Dokuments, beispielsweise
durch eine Änderung
von Teilen des Dokumentinhalts, der Signaturcode nicht mehr mit
dem Dokument übereinstimmt.
Es kann somit sichergestellt werden, dass es sich bei dem physischen
Dokument und dasjenige physische Dokument handelt, das von Unterzeichnerpartei
signiert wurde.
-
Gemäß einem
weiteren Aspekt der Erfindung ist ein Verfahren zum Authentifizieren
einer Signatur gemäß Anspruch
12 vorgesehen. Ein solches Verfahren ermöglicht eine betrugssichere
Authentifizierung der Signatur, da im Falle eines Manipulierens des
Dokumentinhalts oder einer Änderung
der Signatur die Relation zwischen dem Signaturcode, dem Inhalt
und dem Identifizierungscode differiert. Die Relation erfüllt in diesem
Fall nicht das Validierungskriterium, weshalb die Signatur nicht
validiert wird.
-
Gemäß einem
noch weiteren Aspekt der Erfindung ist ein Verfahren zum Senden
von physischen Dokumenten nach Anspruch 17 vorgesehen.
-
Gemäß weiteren
Aspekten der Erfindung sind ein System nach Anspruch 19 und ein
System nach Anspruch 20 vorgesehen.
-
Gemäß einem
weiteren Aspekt der Erfindung ist ein Computerprogrammprodukt nach
Anspruch 21 vorgesehen. Ferner ist ein physisches Dokument nach
Anspruch 22 vorgesehen.
-
Spezielle
Ausführungsformen
der Erfindung sind in den abhängigen
Ansprüchen
angegeben.
-
Kurze Beschreibung der Zeichnungen
-
Weitere
Details, Aspekte und Ausführungsformen
der Erfindung werden nachstehend anhand eines Beispiels und unter
Bezugnahme auf die anliegenden Zeichnungen erläutert.
-
1 zeigt
ein Flussdiagramm eines Beispiels eines erfindungsgemäßen Verfahrens
zum Signieren eines physischen Dokuments;
-
2 zeigt
ein Flussdiagramm eines Beispiels eines erfindungsgemäßen Verfahrens
zum Authentifizieren einer Signatur;
-
3 zeigt
schematische Blockdiagramme von Ausführungsbeispielen eines Systems
zum Signieren von physischen Dokumenten und eines Systems zum Authentifizieren
von Signaturen;
-
4 ist
eine schematische Darstellung eines signierten Dokuments.
-
Detailbeschreibung
-
1 zeigt
schematisch ein Flussdiagramm eines Beispiels eines Verfahrens zum
Signieren eines physischen Dokuments gemäß der Erfindung. Das Verfahren
wird eingeleitet mit dem Empfang eines Dokumentinhalts des zu signierenden
Dokuments in einem ersten Signierschritt 101. Beispielsweise
kann eine Datei empfangen werden, die Daten enthält, die den Dokumentinhalt
darstellen, und optional Daten, die die Erscheinungsform des Dokuments
definieren.
-
In
einem zweiten Signierschritt 102 wird von wenigstens einem
Teil des Inhalts des physischen Dokuments ein Dokumentcode abgeleitet.
Zum Beispiel kann aus den Daten der empfangenen Datei ein Hash-Code
h1 bestimmt werden. Ein Hash-Code, auch Hashwert genannt, wird unter
Anwendung von Hashing-Algorithmen aus Eingangsda ten berechnet. In
einem mathematischen Sinn projiziert ein Hash-Algorithmus H einen
Wert aus einem Satz mit vielen Elementen auf einen Wert aus einem
Satz mit weniger Elementen. In einem zweiten Signierschritt 102 können beispielsweise
ein Message-Digest
Algorithmus 5 (MD5) oder ein Secure Hash Algorithmus (SHA)
angewendet werden.
-
Nach
dem Ableiten des Dokumentcodes wird ein vierter Signierschritt 104 durchgeführt. In
dem dritten Signierschritt wird ein Signaturcode S von dem Dokumentcode
und von einem Identifizierungscode einer unterzeichnenden Partei
abgeleitet. In diesem Beispiel wird der Identifizierungscode ID
von der unterzeichnenden Partei in einem dritten Signierschritt 103 gewählt. In
einem fünften
Signierschritt 105 wird der Signaturcode S schließlich in
Form einer Signaturmarkierung, die den Signaturcode darstellt, auf
dem physischen Dokument angebracht. Optional kann das physische
Dokument auch mit einer Dokumentmarkierung versehen werden, die
den Dokumentcode h1 darstellt.
-
Nach
Durchführung
eines Verfahrens zum Anbringen einer Signatur, wie das beispielsweise
in 1 dargestellt ist, kann das Dokument an einen Adressaten
gesandt werden. Nachdem das physische Dokument von dem Adressaten
empfangen wurde, kann ein Verfahren zur Authentifizierung des physischen
Dokuments durchgeführt
werden.
-
Das
Flussdiagramm von 2 zeigt schematisch ein Verfahren
zum Authentifizieren einer auf einem physischen Dokument angebracht
Signatur. Das Verfahren beginnt mit einem ersten Authentifizierungsschritt 201.
In dem ersten Authentifizierungsschritt 201 wird eine Signaturmarkierung
auf einem physischen Dokument detektiert. Die Signaturmarkierung
stellt einen Signaturcode S dar. In dem ersten Authentifizierungsschritt 201 wird
der Signaturcode S von der detektierten Signaturmarkierung abgeleitet.
Zum Beispiel kann die Signaturmarkierung in Form eines Balkencodes
auf dem physischen Dokument vorhanden sein. In einem solchen Fall kann
das physische Dokument 5 in dem ersten Authentifizierungsschritt 201 empfangen
und mittels eines Balkencode-Scanners
gescannt werden. Die Balkencode-Daten aus dem Balkencode-Scanner
repräsentieren
dann den Signaturcode S.
-
In
einem zweiten Authentifizierungsschritt 202 werden Inhaltsdaten,
die einen Dokumentinhalt des physischen Dokuments 5 darstellen,
aus den physischen Dokumenten ermittelt. Zum Beispiel können die
Seiten eines physischen Dokuments 5 durch einen optischen
Scanner gescannt und diese gescannten Daten durch ein optisches
Zeichenerkennungsprogramm verarbeitet werden, wodurch Daten erhalten
werden, die den Inhalt des physischen Dokuments 5 darstellen.
-
In
dem dritten Authentifizierungsschritt 203 wird ein erster
Dokumentcode h2 von dem Dokumentinhalt abgeleitet. Der erste Dokumentcode
h2 kann zum Beispiel auf ähnliche
Weise wie in dem zweiten Signierschritt 102 abgeleitet
werden. In dem Beispiel von 2 wird der
erste Dokumentcode h2 beispielsweise durch eine Hash-Operation abgeleitet,
aus der sich ein Hash-Code ergibt.
-
In
einem vierten Authentifizierungsschritt 204 wird ein Identifizierungscode
ID der signierenden Partei gewählt.
-
In
dem fünften
und in dem sechsten Authentifizierungsschritt 205, 206 wird
eine Relation zwischen dem Signaturcode S, dem Identifizierungscode
ID und dem ersten Dokumentcode festgestellt. Die Signatur wird in
einem siebten Validierungsschritt 207 für den Fall validiert, dass
die Relation ein Validierungskriterium erfüllt. Wenn die Relation das
Validierungskriterium nicht erfüllt,
wird die Signatur in einem achten Validierungsschritt als nicht
gültig
deklariert. Wenn also der Dokumentinhalt manipuliert worden ist,
indem beispielsweise bestimmte Aussagen entfernt oder hinzugefügt wurden, ändert sich
die Relation zwischen dem Signaturcode S, dem Identifizierungscode
ID und dem ersten Dokumentcode h2, weshalb die Signatur nicht validiert
wird.
-
Zum
Beispiel kann in dem fünften
Authentifizierungsschritt 205 ein zweiter Dokumentcode
h1' aus dem Signaturcode
S und dem Identifizierungscode ID abgeleitet werden. Beispielsweise
kann der Signaturcode S ein verschlüsselter Code sein, der unter
Verwendung des Identifizierungscodes ID als Schlüssel verschlüsselt werden
kann. Der sich ergebende verschlüsselte
Code kann dann der zweite Dokumentcode h1' sein. In dem sechsten Authentifizierungsschritt 206 kann
der erste Dokumentcode h2 mit dem zweiten Dokumentcode h1' verglichen werden,
und die Signatur kann validiert werden, falls der erste Dokumentcode
h2 mit dem zweiten Dokumentcode h1' übereinstimmt.
-
3 zeigt
schematisch ein System zum Signieren eines physischen Dokuments.
Das System hat einen Signiersystemeingang 14 für den Empfang von
Inhaltsdaten, die zumindest einen Dokumentinhalt des physischen
Dokuments darstellen. Die Inhaltsdaten können beispielsweise als ASCII-Datei empfangen
werden, die den Text des physischen Dokuments definiert. Die Inhaltsdaten
können
aber auch weitere Aspekte des physischen Dokuments angeben. Die
Inhaltsdaten können
beispielsweise einen Inhalt eines Dokuments und eine Aufmachung oder
Gliederung des Dokuments definieren. In einem solchen Fall können die
Inhaltsdaten zum Beispiel als PCL-Datei (Printer Command Language
file), PPML-Datei (Personalized Printer Markup Language file), Postscript-Datei,
PDF-Datei (Portable Document Format file) oder in einem anderen
geeigneten Dateiformat empfangen werden.
-
Die
Inhaltsdaten können
bei der Verarbeitung eines Dokuments verwendet und zum Beispiel von
einem Drucker 3 gelesen werden, wie das in 3 dargestellt
ist. Nachdem die Inhaltsdaten von dem Drucker 3 empfangen
wurden, kann der Drucker 3 ein physisches Dokument drucken,
das den durch die Inhaltsdaten definierten und aufgemachten Inhalt hat.
-
Das
Signiersystem 14 ist mit einem Prozessor 1 verbunden.
Der Prozessor 1 ist ausgelegt für das Ableiten eines Signaturcodes
S von dem Dokumentinhalt und eines Identifizierungscodes ID einer unterzeichnenden
Partei. Der Prozessor 1 ist mit einem Ausgang 15 an
den Drucker 3 angeschlossen. Über den Ausgang 15 kann
eine Signaturmarkierung, die den Signaturcode S darstellt, an einen
Drucker 3 ausgegeben und auf einem physischen Dokument ausgedruckt
werden.
-
In
dem Beispiel von 3 umfasst der Prozessor 1 eine
Hash-Einheit 10, die mit dem Systemausgang 14 verbunden
ist. Die Hash-Einheit 10 kann die Inhaltsdaten empfangen
und von dem Dokumentinhalt einen Dokumentcode h1 ableiten. In diesem Beispiel
wird der Dokumentcode h1 beispielsweise abgeleitet durch Ausführen einer
Hash-Operation an den Inhaltsdaten. Ein Ausgang der Hash-Einheit 10 ist
mit einem Eingang einer Verschlüsselungseinheit 11 verbunden. Über den
Ausgang kann der Dokumentcode h1 zur Verschlüsselungseinheit 11 übertragen
werden.
-
Die
Verschlüsselungseinheit 11 kann
den Dokumentcode h1 von der Hash-Einheit 10 an einem Eingang
empfangen. Ein weiterer Eingang der Verschlüsselungseinheit 11 ist
mit einem Speicher 12 verbunden, in dem einer oder mehrere
Identifizierungscodes gespeichert sind. In diesem Beispiel holt die
Verschlüsselungseinheit 11 einen
Identifizierungscode ID der unterzeichnenden Partei aus dem Speicher 12.
Der Identifizierungscode ID der unterzeichnenden Partei kann zum
Beispiel auf der Basis einer Kennung eines Benutzers des Systems 1 automatisch
gewählt
werden. Wenn das System beispielsweise auf einer programmierbaren
Vorrichtung ausgeführt
ist, kann der Identifizierungscode ID abhängig von der Login-Identifizierung
eines Benutzers der programmierbaren Vorrichtung gewählt werden.
Es ist aber auch möglich,
dass das System für
den Empfang eines von der unterzeichnenden Partei zum Beispiel an
einer Maschinenschnittstelle des Systems manuell eingegebenen Identifizierungscodes
ausgelegt ist.
-
Die
Verschlüsselungseinheit 11 leitet
einen Signaturcode S von dem Dokumentcode h1 und dem Identifizierungscode
ID ab. In diesem Beispiel ist die Verschlüsselungseinheit 11 beispielsweise
ausgelegt für
die Verschlüsselung
des Dokumentcodes h1 mit einem Verschlüsselungsalgorithmus, der den
Identifizierungscode ID verwendet. Daher ist der erhaltene Signaturcode
S ein verschlüsselter
Code, der sowohl von dem Dokumentcode h1 als auch von dem Identifizierungscode
ID abhängt.
-
In
diesem Beispiel ist die Verschlüsselungseinheit 11 mit
einem Ausgang an eine Markiereinheit 13 angeschlossen,
die eine Signaturmarkierung erzeugt, die den Signaturcode 13 darstellt.
Zum Beispiel kann die Markiereinheit 13 den Signaturcode
S empfangen und Balkencodedaten erzeugen, die einen Balkencode definieren,
der den Signaturcode S darstellt. In diesem Beispiel ist die Markiereinheit 13 ferner
mit dem Systemeingang 14 verbunden. Die Markiereinheit 13 empfängt über den
Systemeingang 14 die Inhaltsdaten und modifiziert die Inhaltsdaten durch
Hinzufügen
der Inhaltsdaten-Markierungsdaten,
welche die Signaturmarkierung 50 darstellt.
-
Die
modifizierten Inhaltsdaten können über den
Systemausgang 15 von der Markiereinheit 13 an einen
Drucker 3 ausgegeben werden. Der Drucker 3 kann
gemäß der Datei
ein physisches Dokument 5 drucken. Da die Datei die Markierungsdaten
enthält, wird
das physische Dokument mit der Signaturmarkierung 50 versehen.
Abhängig
von der speziellen Implementierung kann die Markiereinheit 13 den
Dateien auch Markierdaten hinzufügen,
die andere Markierungen darstellen. Zum Beispiel kann die Markiereinheit 13 Inhalts-Markierdaten
hinzufügen,
die eine Inhaltsmarkierung 51 definieren, die den Dokumentcode
darstellt, oder Verschlüsselungs-Markierungsdaten,
die eine Verschlüsselungsmarkierung
definieren, die Informationen über
das Verschlüsselungsschema
enthält,
oder eine andere geeignete Markierung.
-
Wie 2 zeigt,
kann das physische Dokument 5, das mit der Signaturmarkierung 50 und
optional mit zusätzlichen
Markierungen 51 versehen ist, an den Adressaten gesendet
werden. Nachdem der Adressat das physische Dokument 5 empfangen
hat, kann dieses durch ein System für die Authentifizierung von
Signaturen verarbeitet werden, um zu verifizieren, dass das empfangene
Dokument dasjenige Dokument ist, das von der unterzeichnenden Partei signiert
wurde, und um zu verifizieren, dass der Dokumentinhalt nicht manipuliert
worden ist.
-
3 zeigt
des weiteren ein Beispiel eines Systems zur Authentifizierung von
Signaturen. Das System umfasst einen Inhaltsdaten-Generator, der
in diesem Fall einen Scanner 4 umfasst, der mit einem Authentifizierungsprozessoreingang 26 eines
Authentifizierungsprozessors 2 verbunden ist. Der Scanner 4 scannt
optional das physische Dokument und erstellt eine oder mehrere Abbildungen
des physischen Dokuments 5. Die das Bild darstellenden
Daten werden durch den Scanner 4 an dem Eingang 26 bereitgestellt.
-
In
dem Beispiel von 3 umfasst der Authentifizierungsprozessor 2 einen
Bildverarbeitungseinheit 20. Die Bildverarbeitungseinheit 20 ist
mit dem Authentifizierungsprozessoreingang 26 verbunden.
Die Bildverarbeitungseinheit 20 ist ausgelegt für die Durchführung einer
optischen Zeichenerkennung (OCR). Bei der OCR-Operation wird der
Inhalt, z. B. Text, des physischen Dokuments aus den Abbildungen
bestimmt. Es ist anzumerken, dass die OCR auf dem Gebiet der Bilderverarbeitung
allgemein bekannt ist und deshalb der Kürze halber keine weitere Detailbeschreibung
erfolgt. Somit kann der Inhalt eines physischen Dokuments 5 durch
den Scanner 4 und die Bildverarbeitungseinheit 20 erlangt
werden. In diesem Beispiel können
zwei oder mehr OCR-Operationen gleichzeitig durchgeführt werden, und
die Ergebnisse der OCR-Operationen können verglichen werden, um
die Möglichkeit
von Fehlern in der OCR zu reduzieren.
-
Es
können
Teilergebnisse der OCR-Operationen verglichen werden, d. h. nachdem
ein Teil des physischen Dokuments verarbeitet worden ist, wodurch
eine Identifizierung des speziellen Teils des physischen Dokuments
möglich
ist, in dem der OCR-Fehler aufgetreten ist. Optional kann der spezielle
Teil, in dem der Fehler aufgetreten ist, danach erneut gescannt
werden.
-
Mit
dem Ausgang der Bildverarbeitungseinheit 20 ist eine Hash-Einheit 21 verbunden.
Die Hash-Einheit 21 kann Inhaltsdaten von der Verarbeitungseinheit 20 empfangen
und von dem Dokumentinhalt einen ersten Dokumentcode h2 ableiten.
In diesem Beispiel wird der Dokumentcode h2 beispielsweise durch
Ausführen
einer Hash-Operation an den Inhaltsdaten abgeleitet. Ein Ausgang
der Hash-Einheit 21 ist mit einem Eingang einer Komparator-Einheit 25 verbunden.
An dem Ausgang der Hash-Einheit 21 kann der Dokumentcode
h2 bereitgestellt werden.
-
Ein
Markierungsdetektor 22 ist mit dem Eingang 26 verbunden.
Der Markierungsdetektor 22 kann eine Signaturmarkierung 50 in
den Abbildungen detektieren. Die Signaturmarkierung 50 kann
zum Beispiel eine Balkencode-Markierung enthalten. Der Markierungsdetektor 22 kann
dann für
die Detektion eines Balkencodes in den Abbildungen ausgebildet sein
und es können
Daten von der detektierten Balkencodemarkierung abgeleitet werden.
Es ist anzumerken, dass die Detektion von Balkencodes auf dem Gebiet
der Bildverarbeitung allgemein bekannt ist, so dass aus Gründen der Übersichtlichkeit
das Verfahren zur Detektion der Signaturmarkierung und der Ableitung
des Signaturcodes von der Signaturmarkierung nicht eingehender beschrieben
wird. Die Erfindung ist jedoch nicht auf Signaturmarkierungen in
Form von Balkencodes beschränkt,
sondern es können
auch andere geeignete Markierungen verwendet werden. Zum Beispiel
können
die Signaturmarkierungen in Form von (einer Folge von) alphanumerischen
Zeichen auf dem Dokument vorgesehen sein, und der Markierungsdetektor
kann dafür
ausgebildet sein, die alphanumerischen Zeichen zu erfassen und zu
erkennen. Der Markierungsdetektor 22 leitet ferner einen
Signaturcode S von der detektierten Signaturmarkierung 50 ab
und gibt Daten, die den Signaturcode S darstellen, an die Entschlüsselungseinheit 23 aus.
-
Die
Entschlüsselungseinheit 23 kann
einen zweiten Dokumentcode h1' von
dem Signaturcode S und von einem Identifizierungscode ID der unterzeichnenden
Partei ab leiten, der in einem Speicher 24 gespeichert ist.
In diesem Beispiel kann die Entschlüsselungseinheit 23 beispielsweise
eine Entschlüsselungsoperation
durchführen,
die im wesentlichen die Umkehr der Verschlüsselungsoperation ist, die
von der Verschlüsselungseinheit 11 durchgeführt wird.
In diesem Beispiel wurde der Signaturcode S aus einer Verschlüsselungsoperation
erhalten, an der das Dokument h1 und der Identifizierungscode ID beteiligt
sind. Das Ergebnis der Entschlüsselung
des detektierten Signaturcodes S ist ein zweiter Dokumentcode h1'. Der zweite Dokumentcode
h1 kann über
einen Ausgang der Entschlüsselungseinheit 23 zu
einem Eingang der Komparatoreinheit 25 übertragen werden.
-
Die
Komparatoreinheit 25 ist ausgebildet für das Vergleichen des ersten
Dokumentcodes h2 mit dem zweiten Dokumentcode h1' und für die Ausgabe eines Validierungssignals
an einen Authentifizierungssystem-Ausgang 27, wenn bei
diesem Vergleich eine Validierungskriterium erfüllt wurde. Zusammen mit der
Komparatoreinheit 25 ist die Entschlüsselungseinheit 23 in
der Lage, eine Relation zwischen dem Signaturcode S, dem Identifizierungscode
ID einer unterzeichnenden Partei und dem Dokumentcode festzustellen
und die Signatur für
den Fall zu validieren, dass diese Relation ein Validierungskriterium
erfüllt.
-
Die
Komparatoreinheit 25 kann mit einem beliebigen, für die spezielle
Implementierung geeigneten Validierungskriterium implementiert sein.
In dem Beispiel von 3 gibt die Komparatoreinheit 25 ein
Validierungssignal aus, wenn und nur wenn der erste Dokumentcode
und der zweite Dokumentcode eine ausreichende Ähnlichkeit besitzen (d. h. wenn
die Differenz zwischen dem ersten Dokumentcode und dem zweiten Dokumentcode
ein Validierungsanforderung erfüllt).
-
Zum
Beispiel kann die Komparatoreinheit das Validierungssignal ausgeben,
falls die Differenz zwischen dem ersten Dokumentcode h2 und dem zweiten
Dokumentcode h1' unter
einer bestimmten Schwelle liegt. In dem Beispiel von 3 gibt
die Komparatoreinheit 25 ein Validierungssignal beispielsweise
nur dann aus, wenn der erste Dokumentcode h2 und der zweite Dokumentcode
h1' exakt gleich
sind, d. h. wenn der Schwellenwert gleich Null ist.
-
Jedoch
kann der Schwellenwert auch größer als
Null sein. In diesem Fall können
die Anforderungen für
das Erlangen des Dokumentinhalts aus dem physischen Dokument gelockert
werden. Fehler in dem abgeleiteten Dokumentinhalt können zu
einem ersten Dokumentcode h2 führen,
der von dem zweiten Dokumentcode h1' abweicht. Das Zulassen einer Differenz
zwischen dem ersten Dokumentcode h2 und dem zweiten Dokumentcode
h1' umgeht also
die erforderliche Genauigkeitsstufe.
-
Bei
einem Verfahren oder System gemäß der Erfindung
kann der Signaturcode auf eine beliebige geeignete Weise von dem
Dokumentcode und dem Identifizierungscode der unterzeichnenden Partei
abgeleitet werden. Zum Beispiel kann der Signaturcode erlangt werden
durch eine Verschlüsselung
mit einem Verschlüsselungsalgorithmus,
an dem sowohl der Dokumentcode als auch der Identifizierungscode beteiligt
sind. Zum Beispiel kann der Dokumentcode mit einem Verschlüsselungsschema
verschlüsselt werden,
das den Identifizierungscode als Codierschlüssel verwendet.
-
Das
Verschlüsselungsschema
kann beispielsweise ein symmetrisches Verschlüsselungsschema sein.
-
Bei
einem symmetrischen Verschlüsselungsschema
wird derselbe (geheime) Schlüssel
sowohl zum Entschlüsseln
als auch zum Verschlüsseln
eines Informationspakets verwendet. Der Identifizierungscode der
unterzeichnenden Partei kann in diesem Fall der Schlüssel sein,
der für
die Verschlüsselung und
für die
Entschlüsselung
des verschlüsselten
Signaturcodes verwendet wird. Der Identifizierungscode kann beispielsweise
nur der unterzeichnenden Partei bekannt sein und kann der Empfängerpartei
des physischen Dokuments auf einem getrennten Weg zur Verfügung gestellt
werden. Der Adressat des physischen Dokuments und das physische
Dokument können
mit einer Markierung versehen werden, die eine Identifizierung der
unterzeichnenden Partei, z. B. deren Namen darstellt. Eine Empfängerpartei
des physischen Dokuments kann dann den von dieser Partei verwendeten
Schlüssel
abrufen und den Signaturcode entschlüsseln, um den Dokumentcode
zu erlangen. Das Schema mit symmetrischem Schlüssel kann zum Beispiel ein
DES-Verschlüsselungsschema
(Data Encryption Standard) sein, wie dieses zum Beispiel in dem
ANSI (American National Standards Institute) X3.92 und X3.106 spezifiziert
ist. Verschlüsselungsalgorithmen
mit symmetri schem Schlüssel sind
auf dem Gebiet der sicheren Datenübertragung fachbekannt und
werden der Kürze
halber nicht mehr im Detail beschrieben.
-
Das
Verschlüsselungsschema
kann auch ein Verschlüsselungsschema
mit öffentlichem
Schlüssel sein.
Das Verschlüsselungsschema
mit öffentlichem Schlüssel verwendet
eine Kombination aus einem privaten Schlüssel und einem öffentlichen
Schlüssel. In
den Beispielen der Verfahren und Systeme für die Signierung eines physischen
Dokuments kann der private Schlüssel
nur der unterzeichnenden Partei bekannt sein, während der öffentliche Schlüssel öffentlich
verfügbar
ist und z. B. auf das physische Dokument gedruckt sein kann. In
dem Beispiel kann der private Schlüssel für die Verschlüsselung
des Dokumentschlüssels
verwendet werden, woraus sich der Signaturcode ergibt. Der private
Schlüssel
kann zum Beispiel der private Schlüssel einer unterzeichnenden
Partei sein. Danach wird der Signaturcode als Signaturmarkierung
auf dem physischen Dokument angebracht, indem beispielsweise alphanumerische Zeichen,
die den Signaturcode darstellen, auf das physische Dokument gedruckt
werden. Eine das physische Dokument empfangende Partei kann dann den
Signaturcode lesen und den Signaturcode mit Hilfe eines dem Verschlüsselungsalgorithmus
entsprechenden Entschlüsselungsalgorithmus
entschlüsseln.
Beider Entschlüsselung
wird ein öffentlicher
Schlüssel
verwendet (der mathematisch mit dem verwendeten privaten Schlüssel verwandt
ist). Der geeignete öffentliche
Schlüssel
kann beispielsweise auf das physische Dokument gedruckt sein oder über eine
vertrauenswürdige
dritte Partei zur Verfügung
gestellt werden. Verschlüsselungsalgorithmen
mit öffentlichem
Schlüssel
sind auf dem Gebiet der sicheren Datenübertragung fachbekannt und werden
der Kürze
halber nicht mehr im Detail beschrieben. Beispiele für geeignete
Verschlüsselungsalgorithmen
mit öffentlichem
Schlüssel
sind die RSA oder PKI Verschlüsselungsalgorithmen.
Es können aber
ebenso gut andere Arten von Verschlüsselungsalgorithmen mit öffentlichem
Schlüssel
zur Anwendung kommen.
-
Bei
einem Verfahren oder System gemäß der Erfindung
kann ein beliebiger, für
die spezielle Implementierung geeigneter Identifizierungscode verwendet
werden. Die Identifizierungscodes, die für die Signierung und Authentifizierung
verwendet werden, können
beispielsweise dieselben sein. Falls für die Signierung und die Authentifizierung
derselbe Identifizierungscode verwendet wird, kann der Identifizierungscode
nur der unterzeichnenden Partei und dem Adressaten bekannt sein,
um sicher zu stellen, dass die Signaturmarkierung von der unterzeichnenden Partei
stammt und keine Täuschung
ist.
-
Die
Identifizierungscodes, die für
die Signierung und die Authentifizierung verwendet werden, können aber
auch verschieden sein. In diesem Fall kann der für die Unterzeichnung verwendete
Identifizierungscode von der unterzeichnenden Partei geheim gehalten
werden, doch können
Informationen über
den für
die Authentifizierung verwendeten Identifizierungscode auch öffentlich
erhältlich
sein. Zum Beispiel kann der für
die Signierung verwendete Identifizierungscode ein privater Schlüssel einer
Verschlüsselung
mit öffentlichem
Schlüssel
sein, und der für
die Authentifizierung verwendete Identifizierungscode kann ein diesem
privaten Schlüssel
entsprechender öffentlicher
Schlüssel
sein.
-
Der
für die
Authentifizierung und/oder Signierung verwendete Identifizierungscode
kann für eine
unterzeichnende Partei einmalig sein, d. h. es gibt keine andere
unterzeichnende Partei, die denselben Identifizierungscode benutzt.
Dadurch wird die Möglichkeit
der Fälschung
an einem physischen Dokument noch weiter eingeschränkt, da
die einzige Partei, die die Signatur vornehmen kann, die unterzeichnende
Partei ist. In dem Fall aber, in dem der Identifizierungscode nur
der unterzeichnenden Partei und dem Adressaten bekannt ist, ist
der Identifizierungscode für
die unterzeichnende Partei möglicherweise
nicht einmalig.
-
Der
Dokumentcode, der von dem Dokumentinhalt (einem Teil des Dokumentinhalts)
erzeugt wird, kann für
den speziellen Inhalt des physischen Dokuments einmalig sein. Wenn
nur der Inhalt eines physischen Dokuments manipuliert worden ist,
weicht der Dokumentcode, der aus diesem Inhalt bestimmt wurde, bei
der Authentifizierung stets von dem Dokumentcode ab, der für die Ableitung
des Signaturcodes verwendet wird.
-
Jedoch
kann dem Dokumentcode auch die Einmaligkeit fehlen. Es kann beispielsweise
ein Dokumentcode abgeleitet werden, der für eine Anzahl von Dokumenten
derselbe sein kann. In dem Beispiel der 1 und 2 kann
in dem zweiten Signierschritt 102 beispielsweise ein Hash-Algorithmus
angewendet werden. Der Hash-Algorithmus kann beispielsweise eine
Einweg-Hashfunktion sein. Eine Einweg-Hashfunktion ist eine Hash-Funktion,
die eine Mitteilung M einer beliebigen Länge über eine Operation MD = H(M)
auf einen Message Digest oder Hash-Code MD einer festen Länge verkürzt, und wenn
M und MD gegeben sind, ist es zwar schwierig, jedoch nicht unmöglich, eine
Mitteilung N zu finden, die sich von der Mitteilung M unterscheidet,
so dass H(N) = H(M). Es besteht zum Beispiel eine geringe Chance,
dass zwei Mitteilungen denselben Hash-Code haben. Diese geringe Chance kann
beispielsweise kleiner oder gleich 10–6 sein,
zum Beispiel kleiner oder gleich 10–3.
Der Hash-Code kann aber auch für den
speziellen Dokumentinhalt einmalig sein.
-
Während der
Signierung des physischen Dokuments oder der Authentifizierung der
Signatur können
der Dokumentcode und/oder Dokumentinhalt für die spezielle Implementierung
auf jede beliebige geeignete Weise abgeleitet werden. Zum Beispiel
können
Druckdaten empfangen werden, die einen zu druckenden Dokumentinhalt
und optional Definitionen der Erscheinungsform eines Dokuments dieses Dokumentinhalts
darstellen. Die Druckdaten können beispielsweise
von einem Drucker 3 gelesen werden, so dass ein gedrucktes
Dokument 5 den durch die Druckdaten dargestellten Inhalt
(und optional die durch die Druckdaten definierte Erscheinungsform) aufweist.
Der Dokumentcode kann dann von zumindest einem Teil der empfangenen
Druckdaten abgeleitet werden. Zum Beispiel können alle empfangenen Druckdaten
als Eingabe für
eine Hash-Operation verwendet werden. Es kann aber auch beispielsweise
nur ein Teil der empfangenen Daten, die den Dokumentinhalt darstellen,
verwendet werden. Zum Beispiel kann eine Druckdatei Befehle enthalten,
die den Dokumentinhalt darstellen, und Befehle, die das Layout des
zu druckenden Dokuments darstellen. Die den Dokumentinhalt darstellenden
Befehle können
dann für
die Bestimmung des Dokumentcodes verwendet werden.
-
Bei
Verwendung eines Pseudo-Codes kann eine Druckdatei zum Beispiel
die folgenden Befehle enthalten:
Schrift: | Axial
(definiert die Schriftart) |
Schriftgröße: | 11
pt (definiert die Größe der Schrift) |
Textposition: | 11,11
(definiert die Position auf der Seite, an der der Text beginnt) |
Text: | aaabbbccc |
-
Bei
einem System oder einem Verfahren gemäß der Erfindung kann die Druckdatei
dann auf Befehle der Art „Text" durchsucht werden,
und die Zeichen die dem Text folgen, können für die Feststellung des Inhalts
verwendet werden.
-
Die
Signaturmarkierung kann in einer beliebigen geeigneten Weise auf
dem physischen Dokument angebracht werden. Zum Beispiel kann die
Anbringung der Signaturmarkierung auf dem physischen Dokument erfolgen,
wenn das physische Dokument gedruckt wird. Es können zum Beispiel Markierungs-Druckdaten
aus dem Signaturcode generiert werden, der die Erscheinung der Signaturmarkierung
definiert und der von einem Drucker gelesen werden kann. Die Markierungs-Druckdaten
können zum
Beispiel zu den Druckdaten hinzugefügt werden, die bewirken, dass
ein physisches Dokument, das in Übereinstimmung
mit den Druckdaten gedruckt wird, eine mit den Markierungs-Druckdaten übereinstimmende
Markierung aufweist.
-
Die
Signatur-Markierung kann aber auch vor oder nach dem Drucken vorgesehen
werden. Zum Beispiel kann nach dem Drucken des physischen Dokuments
ein separater Signatur-Druckvorgang ausgeführt werden. Aus dem Signaturcode
können
Signatur-Druckdaten
generiert werden, die von einem Drucker gelesen werden können und
die die Erscheinung der Signaturmarkierung definieren. Die Signatur-Druckdaten
können
dann einen Drucker gesandt werden, der die Signaturmarkierung auf
das physische Dokument druckt.
-
Der
Signaturcode kann von einem einzigen Dokumentcode und von dem Identifizierungscode abgeleitet
werden. Zum Beispiel wird gegebenenfalls ein einziger Dokumentcode
von dem gesamten Dokumentinhalt abgeleitet. Jedoch kann der Signaturcode
auch von zwei oder mehr Dokumentcodes abgeleitet werden. Zum Beispiel
kann ein erster Dokumentcode von einem ersten Teil des Dokumentinhalts
des physischen Dokuments abgeleitet werden. Ein zweiter Dokumentcode
kann von einem zweiten Teil des Dokumentinhalts (der sich von dem
ersten Teil des Dokumentinhalts) des physischen Dokuments abgeleitet
werden etc. Dadurch kann abgesehen von der Detektion von Änderungen
des Inhalts des physischen Dokuments auch der spezielle Teil (z. B.
der erste oder der zweite Teil), der manipuliert worden ist, ermittelt
werden. Der erste Teil und der zweite Teil können sich zum Beispiel auf
verschiedenen Seiten des physischen Dokuments befinden, oder es kann
sich um verschiedene Textpassagen han deln, z. B. verschiedene Klauseln
eines Vertrages. Der Signaturcode kann zum Beispiel von mindestens
zwei Teilen des Dokumentinhalts auf verschiedenen Seiten erstellt
werden.
-
Ferner
können
mehr als eine Signaturmarkierung (in verschiedenen Bereichen) eines
physischen Dokuments vorgesehen werden. In dem in 4 dargestellten
Beispiel wurde beispielsweise für jede
Seitenzahl eines physischen Dokuments ein Signaturcode von einem
Dokumentcode abgeleitet, der aus dem Inhalt einer Seite und dem
Identifizierungscode der unterzeichnenden Partei erstellt wurde.
In 4 wurde jedes Blatt 500–502 des
physischen Dokuments mit einer Signaturmarkierung 50 versehen, die
einen Signaturcode darstellt, der von dem Inhalt einer Anzahl von
Seiten, z. B. des gesamten Dokuments abgeleitet wurde, und mit einer
Seitenmarkierung 52–54,
die einen Signaturcode darstellt, der von dem Inhalt einer einzelnen
Seite erstellt wurde.
-
Der
Signaturcode kann ferner Informationen über Datum und/oder Zeit und/oder
Ort der Unterzeichnung des physischen Dokuments enthalten. Zum Beispiel
kann der Signaturcode eine Tabelle mit zwei oder mehr Codes enthalten,
die jeweils von dem Identifizierungscode und dem Dokumentcode abgeleitet
wurden, wobei ein Datumscode das Datum und ein Ortscode den Ort
der Unterzeichnung des physischen Dokuments darstellt. Zum Beispiel
kann der Signaturcode abgeleitet werden durch die Verschlüsselung
eines Zeichen-String mit dem Identifizierungscode. Zum Beispiel
kann der String in der genannten Reihenfolge eine Anzahl von Zeichen
enthalten, die den Dokumentcode darstellen, eine Anzahl von Zeichen,
die das Datum darstellen, und eine Anzahl von Zeichen, die den Ort
darstellen. Der Zeichen-String kann dann beispielsweise eine feste Länge haben,
und die verschiedenen Arten von Informationen können eine vorgegebene Position
in dem String einnehmen. Dadurch lässt sich auf einfache Weise
bestimmen, welches Zeichen in dem String zum Beispiel zu dem Dokumentcode,
dem Datumscode oder dem Ortscode gehört.
-
Wie
erwähnt,
können
zusätzlich
zu der Signaturmarkierung weitere Markierungen vorgesehen werden.
Zum Beispiel kann bei der Signierung des physischen Dokuments eine
Dokumentmarkierung, die den Dokumentcode darstellt, auf dem physischen Dokument
vorgesehen werden. Die zusätzlichen Markierungen
können
eine Identifizierungsmarkierung, die den bei der Authentifizierung
zu verwendenden Identifizierungs code darstellt, oder eine Verschlüsselungsmarkierung,
die Informationen über den
Verschlüsselungsprozess
enthält,
einschließen. Während der
Authentifizierung können
dann die Dokumentmarkierung und/oder Identifizierungsmarkierung,
die auf dem physischen Dokument vorhanden sind, detektiert werden,
und es kann der durch die Markierung dargestellte Code detektiert
werden. Falls eine Dokumentmarkierung vorgesehen ist, kann bei der
Authentifizierung ein dritter Dokumentcode von der Dokumentmarkierung
abgeleitet werden. Die Signatur kann dann als gültig erachtet werden, wenn
und nur wenn der dritte Dokumentcode und/oder der zweite Dokumentcode
und/oder der erste Dokumentcode ausreichend ähnlich sind.
-
Wie
in 3 dargestellt ist, kann zum Beispiel eine Balkencode-Markierung 55 auf
dem physischen Dokument 5 vorgesehen sein, während die
Signaturmarkierung 50 in Form von alphanumerischen Zeichen
auf dem physischen Dokument 5 vorhanden ist. Von der Balkencode-Markierung 55 kann
der dritte Dokumentcode abgeleitet werden und beispielsweise verwendet
werden, um zu bestimmen, ob die Bestimmung des ersten Dokumentcodes
korrekt war oder nicht. Wenn sich der dritte Dokumentcode von dem
ersten Dokumentcode unterscheidet, kann der Inhalt des physischen
Dokuments noch einmal festgestellt werden. Wenn der erste und der
dritte Dokumentcode gleich sind, kann der erste Dokumentcode mit
dem zweiten Dokumentcode verglichen werden, um festzustellen, ob
das physische Dokument irgendwie manipuliert worden ist.
-
Falls
die zusätzliche
Markierung eine Verschlüsselungsmarkierung
ist, kann die Ableitung eines zweiten Dokumentcodes h1' bei der Authentifizierung
der Signatur das Ableiten einer Information über ein geeignetes Entschlüsselungsschema
von einer Markierung auf dem physischen Dokument umfassen. Danach
kann der Signaturcode mit einem geeigneten Entschlüsselungsschema
entschlüsselt werden.
-
Die
Erfindung kann ferner an einem physischen Dokument ausgeführt werden,
das mit einer Signaturmarkierung versehen ist, die einen Signaturcode
darstellt, der von zumindest einem Teil des Inhalts des physischen
Dokuments und von einem Identifizierungscode eigens für eine unterzeichnende Partei
ableitbar ist. Das zu signierende oder zu authentifizierende physische
Dokument kann ein beliebiges geeignetes physisches Dokument sein.
Bei dem physischen Dokument kann es sich beispielsweise um ein Rechtsdokument
wie beispielsweise ein Vertrag oder ein Testament handeln. Jedoch
kann das physische Dokument auch ein anders geartetes Dokument sein.
-
Die
Erfindung ist nicht auf eine Implementierung in den beschriebenen
Vorrichtungsbeispielen beschränkt.
Eine Anwendung auf andere Vorrichtungen ist ebenfalls denkbar. Insbesondere
ist die Erfindung nicht auf körperliche
Vorrichtungen oder Einheiten beschränkt, die in einer nicht-programmierbaren Hardware
implementiert sind, sondern sie kann bei programmierbaren Vorrichtungen
oder Einheiten Anwendung finden, die die gewünschten Vorrichtungsfunktionen
erfüllen
können,
indem sie gemäß einem geeigneten
Programmcode arbeiten. Ferner können die
Vorrichtungen physisch auf eine Anzahl von Geräten verteilt sein, während sie
logischerweise als eine Vorrichtung zählen. Zum Beispiel kann der
Prozessor 1 des Systems für die Signierung von physischen
Dokumenten, der in 3 gezeigt ist, physisch in Form
einer Anzahl von Hardwarevorrichtungen implementiert sein, die für die Ausführung der Funktionen
des Prozessors ausgebildet sind. Auch Vorrichtungen, die logischerweise
als separate Vorrichtungen gelten, können in eine einzige physische Vorrichtung
integriert sein. Zum Beispiel können
die Einheiten 20–25 des
in 3 gezeigten Systems in einem einzigen Prozessor
implementiert sein, der geeignet ist, die Funktionen der jeweiligen
Einheiten auszuführen.
-
Die
Erfindung kann auch in einem Computerprogramm implementiert sein,
das auf einem Computersystem läuft
und das zumindest Code-Abschnitte für die Durchführung von
Schritten eines erfindungsgemäßen Verfahrens
enthält,
wenn es auf einer programmierbaren Vorrichtung wie beispielsweise
einem Computersystem läuft,
oder eine programmierbare Vorrichtung kann in die Lage versetzt
werden, die Funktionen einer erfindungsgemäßen Vorrichtung auszuführen. Ein
solche Computerprogramm kann konkret in einem Datenträger verkörpert sein, zum
Beispiel ein CD-ROM oder eine Diskette, die mit Daten, die in den
Speicher eines Computers zu laden sind, aufbewahrt wird, wobei die
Daten das Computerprogramm oder eine andere Art eines Herstellungsartikels
darstellen, der für
die spezielle Implementierung geeignet ist. Der Datenträger kann
ferner eine Datenverbindung sein, zum Beispiel ein Telefonkabel
oder eine Funkverbindung zur Übertragung von
Signalen, die ein Computerprogramm gemäß der Erfindung darstellen.
-
Vorstehend
wurde die Erfindung anhand bestimmter Ausführungsbeispiele beschrieben.
Es sind jedoch verschiedene Modifikationen und Änderungen möglich. Zum Beispiel kann eine
Signaturmarkierung oder können
andere Markierungen auf dem physischen Dokument in einer beliebigen,
für die spezielle
Implementierung geeigneten Weise erfolgen und können beispielsweise 1D oder
2D Balkencodes, alphanumerische Zeichen oder andere geeignete Markierungen
umfassen. Die Beschreibungen und Zeichnungen dienen daher allein
dem Zweck der Darstellung der Erfindung, ohne die Erfindung einzuschränken.