-
Die
vorliegende Erfindung betrifft im Allgemeinen eine Technologie für eine elektronische
Signatur (digitale Signatur), die zum Sicherstellen der Authentizität einer
elektronischen Datei genutzt wird, und im Besonderen eine Technologie
für eine
elektronische Signatur, die auf eine elektronische Datei angewendet
wird, die ein Dokument mit einer Struktur enthält.
-
Die
Technologie für
eine elektronische Signatur nutzt ein Kryptosystem eines öffentlichen Schlüssels zum
Bezeugen, dass die Inhalte einer elektronischen Datei nicht modifiziert
worden sind, nachdem eine elektronische Signatur an diese Datei angefügt wurde.
Genauer genommen wird beispielsweise eine elektronische Datei oder
ihre Übersicht bzw.
Zusammenfassung mit einem Geheimschlüssel des Senders verschlüsselt, und
ihr verschlüsselter Wert
wird zusammen mit der ursprünglichen
elektronischen Datei an einen Empfänger gesendet, der den verschlüsselten
Wert mit dem öffentlichen
Schlüssel des
Senders entschlüsselt,
um zu sehen, dass der entschlüsselte
Wert gleich der ursprünglichen
elektronischen Datei oder ihrer Übersicht
bzw. Zusammenfassung ist, wodurch bezeugt bzw. bestätigt wird, dass
die Inhalte der ursprünglichen
elektronischen Datei nicht modifiziert worden sind.
-
US-Patent
A-5 915 024 offenbart Einrichtungen zum Erfassen einer möglichen
Abänderung
eines Dokumentes durch Anwenden einer Signatur auf das Dokument.
Die Signatur basiert auf dem Inhalt von jedem von einer Vielzahl
unterteilter Pakete von Dokumentdaten. Die Pakete sind in ihren
Begrenzungen durch in dem Dokument auftretende vorbestimmte druckbare
Zeichen definiert. Die Signatur wird an das Dokument vor der Übertragung
oder Speicherung des Dokumentes angefügt. Die Verifizierung des Dokumentes
wird durch erneutes Erzeugen bzw. Regenerieren und Vergleichen der
Signatur für
jedes unterteilte Paket der Dokumentdaten erzielt.
-
Obwohl
die zuvor erwähnte
konventionelle Technologie für
eine elektronische Signatur eine Inhaltäquivalenz zwischen einer elektronischen
Datei und ihrer verschlüsselten
Datei verifizieren kann, kann sie nicht verwendet werden, um die
Dokumentstrukturäquivalenz
zwischen Dateien zu verifizieren, wenn die Dateien ein Dokument
mit einer Struktur enthalten.
-
In
dem Fall, dass eine Dokumentstrukturäquivalenz zwischen elektronischen
Dateien existiert, obwohl die elektronischen Dateien nicht hinsichtlich der
Inhalte zueinander äquivalent
sind, kann die konventionelle Technologie deshalb nur verifizieren, dass
die Inhalte der elektronischen Dateien nicht zusammenpassen bzw. übereinstimmen.
-
Da
die konventionelle Technologie ferner nur zwei Arten von Zuständen beschreiben
kann, d.h. äquivalent
oder nicht äquivalent,
gibt es keine Möglichkeit,
genau zu wissen, welcher Teil einer Dokumentstruktur zwischen Dateien
unterschiedlich ist, und wie unterschiedlich sie sind usw., wenn
es bekannt wird, dass die Dateien nicht äquivalent sind.
-
Angesichts
der oben erwähnten
Situation ist es eine Aufgabe der vorliegenden Erfindung, eine auf eine
elektronische Datei mit einem Dokument mit einer Struktur anzuwendende
Technologie für
eine elektronische Signatur bereitzustellen, gemäß derer ein Äquivalenzgrad,
beispielsweise eine Äquivalenz einer
elektronischen Datei, eine Dokumentstrukturäquivalenz, eine Dokumentstrukturteiläquivalenz
usw. evaluiert werden kann.
-
Um
die obige Aufgabe zu erreichen, stellt die vorliegende Erfindung
ein Verfahren und eine Vorrichtung zum Anfügen einer elektronischen Signatur an
eine elektronische Datei bereit, die ein Dokument mit einer Struktur
enthält,
wobei eine Signatur aus jedem strukturellen Element eines Zieldokumentes
erzeugt wird.
-
Gemäß dem Verfahren
für eine
elektronische Signatur der vorliegenden Erfindung wird zuerst ein Zieldokument
mit einer Struktur analysiert, um eine strukturelle Elemente verwendende
Darstellung zu erzeugen, und dann wird eine Signatur (verschlüsseltes
strukturelles Element) aus jedem der strukturellen Elemente der
erzeugten Darstellung erzeugt, und die erzeugten Signaturen (Geheimzeichen)
werden verkettet, um eine einzelne Signatur zu bilden, die der Struktur
des Dokumentes entspricht. Ein Verfahren zum Verschlüsseln jedes
strukturellen Elementes muss nicht auf ein bestimmtes Verfahren
begrenzt sein, und es kann irgendein übliches Geheimzeichen-Erzeugungsverfahren
eingesetzt werden.
-
Ferner
wird gemäß dem Verfahren
für eine elektronische
Signatur der vorliegenden Erfindung eine elektronische Datei mit
einer erzeugten elektronischen Signatur verifiziert und in Abhängigkeit
von einer Verarbeitungsanforderung wird wenigstens eine (1) Äquivalenz
einer elektronischen Datei, (2) Dokumentstrukturäquivalenz oder (3) eine Koinzidenzrate
zwischen elektronischen Dateien aus den Inhalten der Signatur gefunden.
-
Die
Vorrichtung für
eine elektronische Signatur gemäß der vorliegenden
Erfindung umfasst eine Erzeugungseinrichtung für eine elektronische Signatur 11 und
eine Analysiereinrichtung für
eine elektronische Signatur 12, wie in 1 veranschaulicht.
Die Erzeugungseinrichtung für
eine elektronische Signatur 11 umfasst eine Parser-Einheit 14 zum
Analysieren eines Zieldokumentes mit einer Struktur 13,
um eine strukturelle Elemente verwendende Darstellung zu erzeugen;
eine Geheimzeichen-Erzeugungseinheit 15 zum Erzeugen einer
Signatur aus jedem der durch die Parser-Einheit 14 erzeugten
strukturellen Elemente; und eine Signatur-Erzeugungseinheit 16 zum
Verketten der erzeugten Signaturen (Geheimzeichen) in eine einzelne
Signatur, die der Struktur des Dokumentes entspricht.
-
Die
Analysiereinrichtung für
eine elektronische Signatur 12 umfasst ähnlich eine Parser-Einheit 18 und
eine Signatur-Analysiereinheit 19, um die elektronische
Datei 17 mit einer erzeugten elektronischen Signatur zu
verifizieren. Die Signatur-Analysiereinheit 19 hat wenigstens
drei Funktionen um in Ansprechen auf eine Verarbeitungsanforderung
Folgendes durchzuführen:
(1) Funktion 21 zum Verifizieren einer Äquivalenz einer elektronischen
Datei; (2) Funktion 22 zum Verifizieren einer Dokumentstrukturäquivalenz;
und (3) Funktion 23 zum Ableiten einer Koinzidenzrate.
-
1 ist
ein konzeptuelles Diagramm, das eine Vorrichtung für eine elektronische
Signatur und den dadurch durchgeführten Verarbeitungsfluss veranschaulicht.
-
2 ist
ein Diagramm, das eine Baumstruktur eines Dokumentes veranschaulicht.
-
3 ist
ein Diagramm, das ein Beispiel einer Struktur einer XML-Datei zeigt.
-
4 ist
ein Diagramm, das ein Beispiel einer Struktur einer Datei zeigt,
die hinsichtlich von XML der Struktur der in 3 gezeigten
Datei äquivalent
ist, obwohl es unterschiedliche Dateien sind.
-
5 ist
ein Diagramm, das ein Dokument und ein jedem strukturellen Element
des Dokumentes entsprechendes Geheimzeichen zeigt.
-
6 ist
ein Diagramm, das ein Beispiel eines Formats zum Verketten elektronischer
Signaturen (Geheimzeichen) zeigt.
-
7 ist
ein Diagramm, das eine XML-Datei zeigt, an die eine elektronische
Signatur angefügt
ist.
-
8 ist
ein Blockdiagramm, das ein Beispiel einer Ausgestaltung eines Systems
veranschaulicht, in dem die vorliegende Erfindung auf die Anwendung
reduziert ist.
-
9 ist
ein Blockdiagramm, das ein Beispiel einer Systemausgestaltung eines
Anwendungsbeispiels der vorliegenden Erfindung veranschaulicht.
-
10 ist
ein Diagramm, das ein Beispiel einer configuration.xml-Datei zeigt, zu der
eine elektronische Signatur hinzugefügt ist.
-
11 ist
ein Diagramm, das ein Beispiel einer Modifizierung einer configuration.xml-Datei
zeigt; und
-
12 ist
ein Diagramm, das ein anderes Beispiel einer Modifizierung einer
configuration.xml-Datei zeigt.
-
Zuerst
wird auf ein "Dokument
mit einer Struktur" verwiesen,
das einen Gegenstand des Verfahrens und der Vorrichtung der vorliegenden
Erfindung ausmacht. Ein normales Dokument besteht aus Kapiteln,
Abschnitten und Absätzen,
die diagrammartig als eine Baumstruktur wie in 2 veranschaulicht
dargestellt werden können.
Das Verfahren für
eine elektronische Signatur und die Vorrichtung für eine elektronische
Signatur gemäß der vorliegenden
Erfindung sind auf eine elektronische Datei gerichtet, die ein Dokument
enthält,
das in der Form solch einer Baumstruktur dargestellt werden kann.
-
Eine
in XML beschriebene Datei kann als ein Beispiel eines Dokumentes
mit solch einer Baumstruktur angeführt werden. Ein Beispiel einer XML-Datei
ist in 3 gezeigt.
-
In
dem gezeigten Beispiel enthält
die XML-Datei eine „Zwischenraum" („white
space") genannte
Information, d.h. eine Information über Tabulatoren, Zeilenvorschübe usw.,
um einen Einzug darzustellen. Da XML die Verwendung eines Zwischenraums
insoweit zulässt,
als dass der Zwischenraum nicht eine Dokumentstruktur ändert, wirkt
sich eine Löschung
solch einer Information aus dieser XML-Datei nicht auf die Dokumentstruktur
an sich aus. 4 zeigt die XML-Datei, in der
die Zwischenräume
gelöscht
sind, die hinsichtlich einer Dokumentstruktur dieselbe wie die in 3 gezeigte XML-Datei
ist. Wenn diese Dateien in 3 und 4 jedoch
miteinander als Dateien verglichen werden, werden sie als unterschiedlich
betrachtet.
-
Ob
oder nicht zwei XML-Dateien hinsichtlich einer Dokumentstruktur äquivalent
sind, ist herkömmlicher
Weise durch Analysieren derer mittels eines XML-Parsers, Erzeugen
des Analyseergebnisses in der Form von DOM-Objekten und Vergleichen der somit erzeugten
DOM-Objekte beurteilt worden, um zu sehen, ob sie äquivalent
sind. Gemäß dem Verfahren
für eine
elektronische Signatur und der Vorrichtung für eine elektronische Signatur
der vorliegenden Erfindung haben die Dateien in 3 und 4 andererseits eine
Datei darstellende unterschiedliche Signaturcodes, obwohl sie dieselben
Signaturcodes haben, die eine Dokumentstruktur darstellen. Durch
Einsatz des vorliegenden Verfahrens und der Vorrichtung ist es somit
möglich,
aus den Signaturcodes zu erlernen, dass diese Dateien in ihren Dateiinhalten
unterschiedlich aber dennoch äquivalent
hinsichtlich einer Dokumentstruktur sind.
-
5 zeigt
ein Beispiel einer Signatur der zuvor erwähnten Datei- und Dokumentstruktur. Es wird hier
angenommen, dass 5 ein Ergebnis zeigt, das durch
Verschlüsseln
jedes Strukturelementes erhalten ist, das auf siebzehn-ziffrige
Dezimalzahlzeichen abzubilden ist. Als Nächstes wird eine Signatur auf
der Grundlage der verschlüsselten
Information erzeugt. 6 zeigt ein Format zum Verketten
von Signaturen (Geheimzeichen) miteinander. In 6 ist
ein Dateisignaturcode ein Geheimzeichen, das eine Koinzidenz hinsichtlich
einer Datei angibt, und "0xFF" ist ein Begrenzer
zum Begrenzen einer Kette von Elementen. Ferner ist ein Tiefencode
ein numerischer Wert, der angibt, wie viel einer Baumstruktur chiffriert
ist, um in einer Signatur enthalten zu sein. Wenn ein Tiefencode
0 ist, gibt er genauer genommen an, dass Geheimzeichen zum Darstellen sämtlicher
struktureller Elemente einer Baumstruktur in einer Signatur enthalten
sind. Durch Ermöglichen des
Festlegens dieses Codes kann die Genauigkeit einer Zuverlässigkeitsbeurteilung
eines Dokumentes mit einer elektronischen Signatur in Abhängigkeit
von dem Grad der Tiefe variiert werden. Ein Knotensignaturcode ist
ein Geheimzeichen jedes Elementes. Durch Hinzufügen der derart konstruierten
Signatur zu der Datei als ein Strukturelement des Dokumentes wird
ein Dokument mit einer in 7 gezeigten
elektronischen Signatur erhalten. In dem in 7 gezeigten
Beispiel ist ein Signaturknoten, d.h. <Signature> ... </Signature>, hinzugefügt, und
ein Symbol "+" wird zum Verketten
von Zeichenketten aus Klarheitsgründen einer Ausgestaltung einer
Signatur verwendet, und die derart verketteten Zeichenketten bilden
eine Signatur.
-
Die
Vorrichtung für
eine elektronische Signatur gemäß der vorliegenden
Erfindung kann auf einem Computersystem 86 errichtet sein,
das eine CPU 81, eine Speicherungsvorrichtung 82,
ein Dateisystem 83, eine Anzeigevorrichtung 84 und
eine Eingabevorrichtung 85 umfasst, wie in 8 veranschaulicht.
In dem Dateisystem 83 werden Dokumente mit einer elektronischen
Signatur als ihre Daten gespeichert/verwaltet. Da der Ort jedes
Dokumentes nicht für
das Wesentliche des vorliegenden Beispiels relevant ist, können Daten
in einer Datenbank platziert sein.
-
In
der wie oben veranschaulichten Systemausgestaltung können das
Verfahren für
eine elektronische Signatur und die Vorrichtung für eine elektronische
Signatur gemäß der vorliegenden
Erfindung eine in dem Dateisystem 83 gespeicherte Datei
als ein Dokument mit einer Struktur behandeln und verifizieren,
ob die Datei ohne Autorisierung modifiziert worden ist, und welches
Teilstück
der Struktur modifiziert worden ist, wenn bekannt wird, dass es
eine unautorisierte Modifizierung gegeben hat.
-
Als
ein spezifisches Beispiel der zuvor erwähnten Verifizierung wird nun
auf ein Anwendungsbeispiel verwiesen, in dem eine unautorisierte
Operation eines Systems durch Verifizieren verhindert wird, welches
Teilstück
einer Datei modifiziert worden ist.
-
Gemäß dem Anwendungsbeispiel
erzeugt ein Tool zum automatischen Erzeugen einer Konfiguration
zum Zugreifen auf ein Datenbanksystem eine Konfigurationsdatei,
die eine elektronische Signatur enthält, wodurch einem Benutzer
eine unautorisierte Modifizierung der Datei und der Ort der unautorisierten
Modifizierung vor einem Zugriff auf das Datenbanksystem gemeldet
wird.
-
Herkömmlicher
Weise unterstützt
eine Konfigurationsdatei, die automatisch durch ein Tool zum automatischen
Erzeugen einer Konfiguration zum Zugreifen auf ein Datenbanksystem
erzeugt ist, nicht eine Modifizierung, die auf eine Datei mittels
eines anderen Verfahrens als dem Tool getätigt wurde. Üblicherweise
ist eine Information, die angibt, ob oder nicht eine Datei durch
ein anderes Verfahren als durch das Tool modifiziert worden ist,
nicht an eine Datei angefügt.
Selbst wenn eine konventionelle elektronische Signatur solch einer
Konfigurationsdatei angefügt
ist, kann sie übrigens
nur zeigen, dass eine Datei modifiziert worden ist, und welches
Teilstück
der Datei modifiziert worden ist, kann nicht identifiziert werden.
Da eine konventionelle elektronische Signatur nur verifizieren kann,
dass eine Datei modifiziert worden ist, wird immer noch durch die
Signatur angegeben, dass die Modifizierung nicht autorisiert worden
ist, selbst wenn die Modifizierung nicht nachteilig eine Operation
im Lichte der strukturellen Information beeinträchtigt. Somit ist die durch
eine konventionelle elektronische Signatur durchgeführte Verarbeitung
nicht adäquat
oder durchgreifend.
-
9 veranschaulicht
eine Systemausgestaltung des oben beschriebenen Anwendungsbeispiels.
Da das in 9 veranschaulichte System das in 8 gezeigte
System und Datenbanksystem 91 umfasst, bezeichnen ähnliche
Zahlzeichen ähnliche Komponenten
in 8 und 9. Damit das Computersystem 86 auf
das Datenbanksystem 91 zugreifen kann, muss eine zweckgemäße Konfiguration bzw.
Ausgestaltung bereitgestellt sein. Das System in 9 ist
mit einem Tool (ConfigGenTool) 92 zum automatischen Erzeugen
solch einer Konfiguration durch Wechselwirkung mit einem Benutzer
versehen. Das Tool 92 fordert einen Benutzer zum Eingeben
einer zum Zugreifen auf das Datenbanksystem erforderlichen Information
auf und erzeugt eine Konfigurationsdatei auf der Grundlage der derart
eingegebenen Information. Genauer genommen verifiziert das Tool 92,
dass das Computersystem auf das Datenbanksystem 91 durch
die Konfiguration zugreifen kann, und erzeugt eine Konfigurationsdatei
(Config.xml) 93. Zu der Zeit der Erzeugung der Konfigurationsdatei 93 kann
ein Benutzer angeben, ob oder nicht eine elektronische Signatur
der vorliegenden Erfindung zu der Konfigurationsdatei 93 hinzugefügt werden
soll, und er kann auch einen Tiefencode der elektronischen Signatur
auswählen,
was sich darauf auswirkt, wie ausgiebig und strikt eine Struktur
der Datei durch die elektronische Signatur abzudecken ist. 10 zeigt
ein Beispiel der Konfigurationsdatei 93, an die eine elektronische
Signatur angefügt
ist. In dem in 10 gezeigten Beispiel sind eine
Signatur jedes strukturellen Elementes einer Datei und eine Signatur
der Datei an sich beide in siebzehn-ziffrigen Hexadezimalzahlen
dargestellt.
-
Die
derart erzeugte Konfigurationsdatei 93 wird durch ein Datenbanksystem-Zugriffsmodul (DBAccessor) 94 referenziert,
das aktiviert wird, wenn das Computersystem tatsächlich auf das Datenbanksystem 91 zugreift.
Wenn eine elektronische Signatur in der Konfigurationsdatei 93 enthalten
ist, verifiziert das Modul 94 für diesen Fall ihre Authentizität, bevor
es auf das Datenbanksystem 91 zugreift. Wenn die Konfigurationsdatei 93 wie
in 11 gezeigt modifiziert worden ist, führt das
Modul 94 eine normale Datenbankzugriffsverarbeitung aus,
weil die Datei von 11 mit der ursprünglichen
Datei von 10 hinsichtlich einer Struktur übereinstimmt,
obwohl die Datei von 11 hinsichtlich einer Dateiübereinstimmung
als nicht autorisiert betrachtet wird, d.h., dass die Dateien in 10 und 11 nicht
zusammenpassen bzw. übereinstimmen.
Da die Modifizierung der Datei in 10 zu
der Datei in 11 mit anderen Worten eine bloße Löschung von
Tabulatoren- und Zeilenvorschubcodes ausmacht, die gemäß der XML-Spezifizierung
Zwischenräume
sind, sind die Dateien in 10 und 11 hinsichtlich
XML äquivalent.
-
Wenn
die Konfigurationsdatei 93 andererseits wie durch die Unterstreichung
in 12 angegeben modifiziert worden ist, kann das
Modul 94 das modifizierte Teilstück in der Datei in 12 identifizieren,
das nicht mit dem entsprechenden Teilstück in der ursprünglichen
Datei in 10 übereinstimmt, und einen Benutzer
durch Anzeigen einer Nachricht "Der
bezeichnete Lieferant ist nicht autorisiert" benachrichtigen, vor einem Starten
der Zugriffsverarbeitung. Durch Verwenden einer elektronischen Signatur
der vorliegenden Erfindung in einer Konfigurationsdatei zum Zugreifen
auf ein Datenbanksystem kann somit ein Teilstück, das als ein Ergebnis der
Modifizierung unautorisiert geworden ist, speziell angegeben werden,
wodurch ein unautorisierter Zugriff verhindert werden kann.
-
Ferner
ermöglicht
die Verwendung des Verfahrens für
eine elektronische Signatur und der Vorrichtung für eine elektronische
Signatur der vorliegenden Erfindung eine Bestimmung hinsichtlich
dessen, ob jedes der strukturellen Elemente einer elektronischen
Datei, die ein Dokument mit der oben beschriebenen Struktur enthält, mit
dem der ursprünglichen
elektronischen Datei übereinstimmt,
wodurch eine Koinzidenzrate oder Nichtkoinzidenzrate mit Bezug zu
einer Gesamtstruktur im Gegensatz zu jedem strukturellen Element
berechnet werden kann und das System mit Referenz auf die derart
berechnete Rate bzw. das Verhältnis
gesteuert werden kann.
-
Wie
aus dem Vorhergehenden ersichtlich ist, können gemäß dem vorliegenden Verfahren
für eine elektronische
Signatur und der Vorrichtung für
eine elektronische Signatur elektronische Signaturen extrahiert
und verglichen werden, so dass es möglich wird, eine Äquivalenz,
wie beispielsweise eine Dateiäquivalenz
und eine Dokumentstrukturäquivalenz, zwischen
ein Dokument mit einer Struktur enthaltenden elektronischen Dateien
zu verifizieren, und außerdem
eine Koinzidenzrate zwischen Dateien zu finden.