-
Technisches
Gebiet
-
Die Erfindung betrifft ein Verfahren
zum Bereitstellen von Identifikationscodes für Artikel sowie ein entsprechendes
Computerprogramm gemäss dem
Oberbegriff der unabhängigen
Ansprüche.
-
Hintergrund
-
Sicherheitssysteme basieren oft darauf, dass
Artikeln eindeutige Identifikationscodes zugeordnet werden. Zum
Beispiel beschreibt
EP 957 459 ein
System zum Verifizieren der Eigentumsverhältnisse von Artikeln, bei dem
an jedem Artikel ein eindeutiger Identifikationscode angebracht
ist. Zusätzlich
wird für
jeden Artikel ein Zertifikat bereitgestellt, das eine Zertifizierungsnummer
trägt.
Zur Verifikation der Eigentumsverhältnisse eines Artikels werden
beide Zahlen an eine Datenbank übertragen,
wo sie geprüft
werden.
-
Systeme dieses Typs erfordern es,
dass die Identifikationscodes (wie z. B. die Artikelnummern oder
Zertifizierungsnummern von
EP
957 459 ) in den Einträgen
einer Datenbank gespeichert werden.
-
Die Datenbank muss gegen jegliche
möglichen
Angriffe abgesichert werden. Zum Beispiel kann eine betrügerische
Partei versuchen, gefälschte
eigene Identifikationscodes in die Datenbank einzutragen, z. B.
indem sie sich mittels gestohlener Passwörtern oder Insider-Information Zugriff
auf die Datenbank verschafft.
-
Um die Datenbank abzusichern, war
es deshalb notwendig, komplizierte Massnahmen bereitzustellen, wie
z. B. eine strikte Kontrolle von Passwörtern, eine abgesicherte Umgebung
für die
Computer, usw. Solche Massnahmen haben die Tendenz, den Vorgang
der Benutzung der Datenbank kompliziert und teuer zu machen.
-
Darstellung
der Erfindung
-
Die von der vorliegenden Erfindung
zu lösende
Aufgabe liegt deshalb darin, ein Verfahren und ein Computerprogramm
der oben genannten Art bereitzustellen, welches die Datenbank sicherer
machen ohne den Zugriff darauf komplizierter zu machen.
-
Diese Aufgabe wird von den unabhängigen Ansprüchen gelöst.
-
Der Identifikationscode wird also
in einem auf einem Computer laufenden Prozess erzeugt. Er wird einem
Ausgabegerät übermittelt,
wie z. B. einem Drucker, um den Code dem Artikel physisch zuzuordnen.
Weiter instruiert der Prozess die Datenbank über ein Programmierinterface,
einen neuen Eintrag zu erzeugen, der den Identifikationscode enthält. Die Datenbank
besitzt kein Benutzerinterface zum Setzen und/oder Ändern des
Identifikationscodes.
-
Der den Code erzeugenden Prozess
kann z. B. Teil der Datenbank sein, z. B. in der Form eines Scripts,
das in der Datenbank läuft,
und das Programmierinterface, welches er benutzt, kann ein den Scripts
zum Erzeugen von Einträgen
zur Verfügung gestelltes
Interface sein. Der Prozess kann jedoch auch eine separate Applikation
sein und das Programmierinterface kann aus Events bestehen, welche
die Applikation an die Datenbank schickt.
-
Diese Anordnung macht es für eine Drittpartei
praktisch unmöglich,
falsche Identifikationscodes in die Datenbank einzutragen. Selbst
wenn sie Zugriff auf die Datenbank erlangt, stellt die Datenbank
weder ein Benutzerinterface zur Änderung
des Identifikationscodes eines Eintrags noch zum Setzen des Codes
durch Erzeugen eines neuen Eintrags mit einem gewünschten
Identifikationscode.
-
Vorzugsweise wird eine physische
Verkörperung
des Identifikationscodes erzeugt. Diese physische Verkörperung
wird ausgelesen, z. B. mit einem Scanner, und, wenn sie erfolgreich
ausgelesen wurde, wird in der Datenbank eingetragen, dass die physische
Verkörperung
des Identifikationscodes erfolgreich erzeugt worden ist.
-
In ähnlicher Weise kann die physische
Verkörperung
des Identifikationscodes an einem Artikel befestigt werden. Die
befestigte physische Verkörperung
wird ausgelesen, z. B. mit einem Scanner, und, wenn sie erfolgreich
ausgelesen wurde, wird in der Datenbank eingetragen, dass die physische
Verkörperung
des Identifikationscodes am Artikel befestigt worden ist.
-
Beide diese Massnahmen erlauben eine straffe
Kontrolle über
die Verteilung und Nutzung des Identifikationscodes.
-
Kurze Beschreibung
der Figuren
-
Die Erfindung ist besser zu verstehen
und andere Ziele als die oben Genannten werden ersichtlich, wenn
deren folgende detaillierte Beschreibung berücksichtigt wird. Diese Beschreibung
bezieht sich auf die beigefügten
Figuren, wobei:
-
1 eine
schematische Darstellung eines Herstellungsverfahrens zeigt,
-
2 ein
Beispiel eines Eintrags in die Datenbank ist und
-
3 eine
schematische Darstellung der Architektur der Datenbank.
-
Bester Weg
zur Ausführung
der Erfindung
-
Ein mögliches Verfahren zum Markieren
von Artikeln 1 mit Identifikationscodes wird in 1 gezeigt.
-
In diesem Beispiel werden die Identifikationscodes
als Barcodes 3 kodiert und auf Etiketten 2 gedruckt.
Die Etiketten werden dann an den Artikeln angebracht, z. B. mittels
Kleben.
-
Wie es einem Fachmann bekannt ist,
gibt es verschiedene weitere Verfahren zum Erzeugen einer physischen
Verkörperung
eines Identifikationscodes und zum Zuordnen desselben zu einem Artikel.
Zum Beispiel kann der Identifikationscode auch auf ein magnetisches
Speichermedium oder in eine elektronische Marke eingeschrieben werden.
Zusätzlich hierzu
oder als Alternative, kann der Identifikationscode auch in von Menschen
lesbarer Form gedruckt werden.
-
Die Erzeugung des Identifikationscodes
wird von einem Sicherheits-Dienstleister 5 in der unten beschriebenen
Weise gesteuert.
-
Erzeugte Identifikationscodes werden
an ein Ausgabegerät 4 geschickt,
welches sie als Barcodes 3 auf die Etiketten 2 druckt.
Dies kann entweder auf dem Gelände
des Sicherheits-Dienstleisters stattfinden, oder auf dem Gelände des
Herstellers der Artikel, oder auf dem Gelände eines speziellen Etikettenherstellers.
-
Das Verfahren zum Herstellen der
Etiketten 2 wird von einem ersten Scanner 6 überwacht,
der die gedruckten Etiketten 2 ausliest und die ausgelesenen
Daten an den Sicherheits-Dienstleister 5 sendet, so dass
dieser weiss, ob eine Etikette erfolgreich erzeugt worden ist.
-
Die Etiketten 2 werden dann
z. B. auf das Gelände
des Herstellers der Artikel 1 transportiert. Dort werden
sie an den Artikeln 1 befestigt, z. B. mittels Kleben.
Die Befestigung der Etiketten 2 an den Artikeln 1 wird
von einem zweiten Scanner 7 überwacht, der die an den Artikeln 1 befestigten
Etiketten 2 liest und die entsprechenden Daten an den Sicherheits-Dienstleister 5 sendet
um ihn wissen zu lassen, dass der Identifikationscode erfolgreich
an einem Artikel befestigt worden ist.
-
Der Sicherheits-Dienstleister 5 betreibt
eine Datenbank 10 zum Speichern der erzeugten Identifikationscodes
und jeglicher weiterer zugehöriger
Information.
-
2 zeigt
ein Beispiel eines Eintrags, wie er in Datenbank 10 für jeden
Identifikationscode gespeichert sein könnte. Der Eintrag enthält den Identifikationscode 11,
Information 12, die den Hersteller und den Artikel, welchen
er zugeordnet ist, identifiziert, und eines Statuscode 13.
Dieser Statuscode kann z. B. bei Erzeugung des Eintrags auf 1 gesetzt werden;
auf 2, wenn der Identifikationscode vom ersten Scanner 6 gelesen
worden ist; und auf 3, wenn er vom zweiten Scanner 7 gelesen
worden ist. Dies Erlaubt dem Sicherheits-Dienstleister, die Verwendung jedes
Identifikationscodes zu verfolgen, und stellt sicher, dass keine
Codes zwischen der Erzeugung und der Befestigung an einem Artikel
verloren gehen können.
-
Zum Erzeugen von Registrierungscodes
und Speichern in den Einträgen 9 betreibt
der Sicherheits-Dienstleister
ein Datenbanksystem, wie es in 3 gezeigt
ist. Es besteht aus der eigentlichen Datenbank 10, die
ein Programmierinterface 15 zum Erzeugen und Ändern von
darin abgespeicherten Einträgen
bereitstellt. Dieses Programmierinterface kann z. B. ein definierter
Satz von Funktionen oder Events sein, auf die Prozesse und Applikationen
innerhalb oder ausserhalb des eigentlichen Codes der Datenbank 10 Zugriff
haben. Entsprechende Systeme sind einem Fachmann bekannt.
-
Die Datenbank und die mit ihr wie
in 3 gezeigt zusammenwirkenden
Prozesse laufen auf einem oder mehreren abgesicherten Computern
unter der Kontrolle des Sicherheits-Dienstleisters 5.
-
Zum Erzeugen neuer Identifikationscodes 11 wird
ein Prozess namens „Identifikationscode-Generator" 16 bereitgestellt.
Der Identifikationscode-Generator 16 kann z. B. Pseudo-Zufallszahlen
mit Kontrollsummeninformation erzeugen oder irgend eine andere Art
von Code, die schwierig zu fälschen
ist. Jeder Code ist einzigartig. Wenn die Codes mittels Pseudo-Zufallszahlen
erzeugt werden, muss geprüft werden,
ob ein erzeugter Code schon in die Datenbank eingetragen worden
ist, bevor er herausgegeben werden kann.
-
Wenn der Identifikationscode-Generator 16 einen
gültigen
Identifikationscode erzeugt hat, sendet er über das Programmierinterface 15 Instruktionen
an die Datenbank 10, einen neuen Eintrag mit dem Identifikationscode
zu erzeugen. Der neue Identifikationscode wird auch an das Ausgabegerät 4 zum Drucken
geschickt.
-
Datenbank 10 erzeugt einen
Eintrag 9 für den
neuen Identifikationscode, trägt
die Information 12 ein, die den Hersteller und den Artikel
identifiziert (soweit zu diesem Zeitpunkt erhältlich) und setzt den Status
auf 1.
-
Der Eintrag kann sodann angesehen
werden mit einem Benutzerinterface 17 der Datenbank, welches
Benutzerinterface-Elemente bereitstellt zum Ansehen der Information
im Eintrag. Aus den oben genannten Gründen wird jedoch kein Benutzerinterface
zum Ändern
des Sicherheitscodes bereitgestellt.
-
Zusammenfassend besteht also der
einzige Weg für
die Erzeugung von Identifikationscodes und für deren Eintragung in die Datenbank 11 im
Sicherheitscode-Generator 16,
der nur unter strengen Sicherheitsbedingungen betrieben werden kann.
Identifikationscodes von anderen Quellen können in die Datenbank nicht
eingetragen werden. Für
jeden erzeugten Identifikationscode wird ein Eintrag eröffnet, welcher
die Verwendung des Codes über
die Lebensdauer des Artikels speichert.
-
Zum Kontrollieren der Echtheit eines
Artikels kann der am Artikel befestigte Identifikationscode an den
Sicherheits-Dienstleister 5 geschickt werden, der prüft, ob ein
entsprechender Eintrag 9 existiert und was der Status des
Codes ist. Zeigt der Status, dass der Identifikationscode gültig an
einem echten Artikel befestigt worden ist und nicht missbraucht
worden ist, kann der Sicherheits-Dienstleister 5 die Echtheit
des Artikels bestätigen.
-
In konventionellen Systemen, bei
denen es eine grosse Zahl von Herstellungsorten gibt, kann es einfach
sein, der Datenbank nicht autorisierte Codes zuzuführen. Im
vorliegenden System ist dies unmöglich,
weil die Datenbank nur für
die vom Sicherheitscode-Generator 16 erzeugten Sicherheitscodes
Einträge
erstellen kann.
-
Die vorliegende Erfindung kann als
Computerprogramm implementiert werden, das die in 3 gezeigten Komponenten aufweist. Normalerweise wird
ein solches Computerprogramm ein erstes Codemittel besitzen (der
Sicherheitscode-Generator 16) zum Erzeugen von Identifikationscodes
und zum Übermitteln
der Identifikationscodes an das Ausgabegerät 4 enthalten. Weiter
wird es zweite Programmcodemittel enthalten (den Code der Datenbank 10)
zum Erzeugen der und zum Zugriff auf die Einträge (9). Teil dieser
zweiten Programmcodemittel ist das Programmierinterface 15.
Das erste Programmcodemittel ist mit dem zweiten Programmcodemittel über das
Programmierinterface verbunden um neue Einträge mit den Identifikationscodes
zu erzeugen. Schliesslich umfasst das Computerprogramm dritte Programmcodemittel
(nämlich
das Benutzerinterface 17 der Datenbank) zum Bereitstellen des
Benutzerinterfaces aber ohne dass Zugriff zum Setzen und/oder Ändern der
Identifikationscodes in den Einträgen zur Verfügung gestellt
wird. Ein solches Programm wird normalerweise aus einer Vielzahl
von ausführbaren
Dateien und Scripts bestehen und wird normalerweise auf einer Mehrzahl
von über ein
Netz verbundenen Computern installiert sein.