WO2010037429A1 - Method for generating a verification code, verification code, method and device for verifying the authenticity of objects - Google Patents

Method for generating a verification code, verification code, method and device for verifying the authenticity of objects Download PDF

Info

Publication number
WO2010037429A1
WO2010037429A1 PCT/EP2008/065924 EP2008065924W WO2010037429A1 WO 2010037429 A1 WO2010037429 A1 WO 2010037429A1 EP 2008065924 W EP2008065924 W EP 2008065924W WO 2010037429 A1 WO2010037429 A1 WO 2010037429A1
Authority
WO
WIPO (PCT)
Prior art keywords
random
verification code
string
permutation
generating
Prior art date
Application number
PCT/EP2008/065924
Other languages
German (de)
French (fr)
Inventor
Carlo A. Trugenberger
Albertus Geldenhuys
Original Assignee
Novelty Group Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Novelty Group Limited filed Critical Novelty Group Limited
Publication of WO2010037429A1 publication Critical patent/WO2010037429A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/08Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means
    • G06K19/10Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means at least one kind of marking being used for authentication, e.g. of credit or identity cards
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • G09C1/02Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system by using a ciphering code in chart form

Abstract

The invention relates to a method whereby said object is achieved for generating a verification code for an object, comprising the steps: a) generating a random character string (zz) that can be divided into a first random partial character string (zz1) and a second random partial character string (zz2), b) generating a permutation character string (pzz) by copying the random character string (zz) according to a copy function (p), c) storing the second random partial character string (zz2) of the copy function (p) and an identification number in a database, d) generating a representation of the permutation character string (p22), the identification number, and the first random partial character string (zz1) as a verification code.

Description

"Verfahren zum Erzeugen eines Verifikationscodes, Verifikationscode, Verfahren und Vorrichtung zum Verifizieren der Echtheit von Gegenständen" "Method for generating a verification code, verification code, method and device for verifying the authenticity of objects"
Beschreibungdescription
Die Erfindung betrifft ein Verfahren zum Erzeugen eines Verifikationscodes für einen Gegenstand, einen entsprechend hergestellten Verifikationscode sowie ein Verfahren und eine Vorrichtung zum Verifizieren der Echtheit von Gegenständen.The invention relates to a method for generating a verification code for an article, a correspondingly produced verification code and a method and a device for verifying the authenticity of articles.
Produktpiraterie stellt bei der Herstellung und dem Vertrieb von Massenartikeln, insbesondere Arzneimitteln ein gravierendes Problem dar. Produkte, die einen bestimmten hiermit verknüpften Wert haben, werden häufig von Fälschern kopiert und vertrieben. Diese gefälschten Produkte werden dann in Verkaufs- und Vertriebskanäle eingeschleust und Endabnehmern oder Zwischenhändlern angeboten. Hierbei werden Markenrechte, wettbewerbsrechtliche Vorschriften, Urheberrechte, Geschmacksmuster und Patente verletzt.Product piracy is a major problem in the manufacture and distribution of mass-produced goods, especially pharmaceuticals. Products that have a certain associated value are often copied and distributed by counterfeiters. These counterfeit products are then channeled into sales and distribution channels and offered to end-users or distributors. This violates trademark rights, competition regulations, copyrights, designs and patents.
Endabnehmer und Zwischenhändler werden in Bezug auf die Herkunft und die Güte der Produkte getäuscht. Insbesondere bei Arzneimitteln kann dies zu schwerwiegenden FoI- gen führen.End users and intermediaries are deceived as to the origin and quality of the products. In the case of pharmaceuticals in particular, this can lead to serious consequences.
Es ist bekannt (vgl. DE 698 24 291 T2), Produkte mit Labein bzw. Etiketten bzw. Schildern oder Aufklebern zu versehen, die einen Verifikationscode enthalten. Leseeinrichtungen oder optische Einrichtungen können dazu verwendet werden, den Verifikationscode auf einem Produkt zu erfassen und an eine entsprechende Einrichtung weiterzugeben, die feststellt, ob es sich hierbei um einen gültigen Verifikationscode handelt. Die DE 698 24 291 T2 sieht hierfür vor, einen Kombinationscode aus einer Zufallszahl und einem Nichtzufallsabschnitt zu bilden, wobei der nicht zufällige Abschnitt Aufschluss darüber gibt, ob der Gegenstand echt oder gefälscht ist.It is known (see DE 698 24 291 T2) to provide products with labels or labels containing a verification code. Reading devices or optical devices can be used to capture the verification code on a product and pass it on to a corresponding device that determines whether this is a valid verification code. DE 698 24 291 T2 provides for this, a combination code from a Random number and a non-random section, wherein the non-random section provides information about whether the object is real or fake.
Das angegebene Verfahren hat einige Schwachstellen. So ist es Fälschern, die den nicht zufälligen Abschnitt des Kombinationscodes ausspioniert haben, möglich, eine Vielzahl von gefälschten Produkten derart zu kennzeichnen, dass diese als echt eingestuft werden.The specified procedure has some weaknesses. Thus, it is possible for counterfeiters who have spied the non-random portion of the combination code to label a plurality of counterfeit products as genuine.
Aus der EP 1 593 088 Bl ist ein Verfahren zum Erzeugen eines Verifikationscodes bekannt, bei dem ein Teil eines verschlüsselten Produktidentifizierers auf das Produkt selbst aufgebracht wird. Ein weiterer Teil wird in einer Datenbank hinterlegt. Auch dieses Verfahren hat den Nachteil, daß sobald der Algorithmus zur Erzeugung des Codes bekannt geworden ist, eine Vielzahl von gefälschten Artikeln in den Verkehr gebracht werden können.From EP 1 593 088 B1 a method for generating a verification code is known in which a part of an encrypted product identifier is applied to the product itself. Another part is stored in a database. This method also has the disadvantage that once the algorithm for generating the code has become known, a large number of counterfeit articles can be marketed.
Allgemein müssen Verfahren, die eine Verifikation der Echtheit von Gegenständen ermöglichen, häufig zahlreiche Anforderungen erfüllen:Generally, methods that allow verification of the authenticity of objects often have to meet many requirements:
a) Die Verifikationscodes müssen Teil des Produkts sein oder sich leicht an diesen anbringen lassen. Die Kosten, die für die Ausstattung eines Produkts mit einem Verifikationscode nötig sind, müssen bei Massenprodukten sehr gering sein, da dasa) The verification codes must be part of or easily attachable to the product. The cost of equipping a product with a verification code must be very low for mass-produced products, as the
Produkt sonst nicht mehr marktfähig ist. Vorzugsweise sollten die für die Ausstattung nötigen Kosten sich nur auf wenige Eurocent belaufen.Product is no longer marketable. Preferably, the costs required for the equipment should amount to only a few euro cents.
b) Die Verwaltung und Aufbewahrung der Verifikationscodes muss sehr einfach gestaltet sein, da jährlich eine Vielzahl von Produkten erstellt und gekennzeichnet werden sollen.b) The management and storage of the verification codes must be very simple, since a large number of products are to be created and labeled annually.
c) Die Kontrolle, ob ein Verifikationscode gültig oder ungültig ist, muss sehr effizient und einfach durchführbar sein, da bei entsprechend hohen Stückzahlen des Produkts mit sehr hohen Anfrageraten, bezüglich der Authentizität eines Verifikationscodes, zu rechnen ist. Beispielsweise müssen pro Stunde mehrere Millionen von Produkten verifiziert werden können. Der Verifikationsvorgang darf, um die Produktion und den Vertrieb nicht unnötig aufzuhalten, nur wenige Sekunden, vorzugsweise weniger als eine Sekunde benötigen.c) Checking whether a verification code is valid or invalid must be very efficient and easy to carry out, since correspondingly high quantities of the product can lead to very high request rates with regard to the authenticity of a verification code. For example, several millions of products need to be verified per hour. The verification process may need only a few seconds, preferably less than a second, so as not to stop production and distribution unnecessarily.
d) Ein entsprechendes System zur Herstellung und Verifikation von derartigen Verifikationscodes muss derart flexibel sein, dass bei einem Bekanntwerden eines Teils des Systems oder des gesamten Systems jederzeit eine Veränderung möglich ist, die die erlangten Informationen nutzlos macht oder zumindest deren wirtschaftlichen Wert beschränkt.d) A corresponding system for the production and verification of such verification codes must be so flexible that, when a part of the system or the whole system becomes known, a change is possible at any time, which the information rendered useless or at least limits its economic value.
Ausgehend von dem oben aufgeführten Stand der Technik, ist es Aufgabe der vorliegen- den Erfindung, ein verbessertes Verfahren zum Erzeugen eines Verifikationscodes für Gegenstände bereitzustellen. Insbesondere sollen Verifikationscodes bereitgestellt werden, die eine sichere und effiziente Authentifizierung von Gegenständen ermöglichen. Des Weiteren soll ein entsprechender Verifikationscode und ein Verfahren sowie eine Vorrichtung zum Verifizieren der Echtheit von Gegenständen aufgezeigt werden.Starting from the above-mentioned prior art, it is an object of the present invention to provide an improved method for generating a verification code for objects. In particular, verification codes are to be provided which enable secure and efficient authentication of objects. Furthermore, a corresponding verification code and a method as well as a device for verifying the authenticity of objects should be pointed out.
Erfindungsgemäß wird die Aufgabe durch ein Verfahren zum Erzeugen eines Verifikationscodes für einen Gegenstand gelöst, wobei das Verfahren die folgenden Schritte umfasst:According to the invention, the object is achieved by a method for generating a verification code for an object, the method comprising the following steps:
a) Erzeugen einer Zufallszeichenkette, die sich in eine erste Zufallsteilzeichenkette und eine zweite Zufallsteilzeichenkette aufteilen lässt,a) generating a random string which can be divided into a first random substring and a second random substring,
b) Erzeugen einer Permutationszeichenkette durch ein Abbilden der Zufallszeichenkette gemäß einer Abbildungsfunktion,b) generating a permutation string by mapping the random string according to a mapping function,
c) Speichern der zweiten Zufallsteilzeichenkette und der Abbildungsfunktion in einer Datenbank,c) storing the second random substring and the mapping function in a database,
d) Erzeugen einer Darstellung der Permutationszeichenkette und der ersten Zufallsteilzeichenkette als Verifikationscode.d) generating a representation of the permutation string and the first random substring as the verification code.
Des Weiteren wird diese Aufgabe durch ein Verfahren zum Erzeugen eines Verifikationscodes für einen Gegenstand gelöst, wobei das Verfahren die folgenden Schritte umfasst:Furthermore, this object is achieved by a method for generating a verification code for an object, the method comprising the following steps:
a) Erzeugen einer Zufallszeichenkette, die sich in eine erste Zufallsteilzeichenkette und eine zweite Zufallsteilzeichenkette aufteilen lässt,a) generating a random string which can be divided into a first random substring and a second random substring,
b) Erzeugen einer Permutationszeichenkette durch ein Abbilden der Zufallszeichen- kette gemäß einer Abbildungsfunktion, c) Speichern der zweiten Zufallsteilzeichenkette, der Abbildungsfunktion und einer Identifikationsnummer in einer Datenbank,b) generating a permutation string by mapping the random string according to a mapping function, c) storing the second random substring, the mapping function and an identification number in a database,
d) Erzeugen einer Darstellung der Permutationszeichenkette, der Identifikationsnum- mer und der ersten Zufallsteilzeichenkette als Verifikationscode.d) generating a representation of the permutation string, the identification number and the first random substring as the verification code.
Die Verfahren beziehen sich auf diverse Zeichenketten. Diese sollen erfindungsgemäß nicht nur als einfache Sequenzen von Zeichen, sondern auch als Matrizen verstanden werden, die mehrere dieser Zeichensequenzen umfassen. Die Abbildung der Zufallszeichenkette auf eine Permutationszeichenkette kann eine Permutation der Zufallszeichenkette umfassen. Jedoch ist jede beliebige Abbildung an dieser Stelle denkbar.The methods relate to various character strings. These are to be understood according to the invention not only as simple sequences of characters, but also as matrices comprising several of these character sequences. The mapping of the random string to a permutation string may include a permutation of the random string. However, any illustration is conceivable at this point.
Ein wesentlicher Gedanke der vorliegenden Erfindung besteht darin, die einzelnen In- formationen, die zur Erzeugung eines gültigen Verifikationscodes und zu dessen Verifikation nötig sind, in zwei Teile aufzuspalten und diese Teile voneinander getrennt aufzubewahren. D.h. ein erster Teil, z.B. die erste Zufallsteilzeichenkette, wird an dem Produkt oder Gegenstand befestigt, während der zweite Teil, z.B. die zweite Zufallsteilzeichenkette, zentral, z. B. auf einer Datenbank gespeichert wird. Somit ist es nur dann möglich, einen gültigen Verifikationscode zu erzeugen, wenn man Zugriff auf dieAn essential idea of the present invention is to split the individual pieces of information necessary for generating a valid verification code and its verification into two parts and to keep these parts separate from one another. That a first part, e.g. the first random substring is affixed to the product or article while the second part, e.g. the second random substring, central, e.g. B. is stored on a database. Thus, it is only possible to generate a valid verification code when accessing the
Datenbank und den Verifikationscode hat. Natürlich setzt dies auch ein grundsätzliches Verständnis für die Codierung des Verifikationscodes auf dem Gegenstand voraus.Database and the verification code has. Of course, this also requires a basic understanding of the coding of the verification code on the item.
Die Zuordnung eines Verifikationscodes auf einem Gegenstand zu einem bestimmten Datensatz kann über die genannte Identifikationsnummer erfolgen. Alternativ kann auf die Identifikationsnummer verzichtet werden und eine Vielzahl von Datensätzen überprüft werden, die die zweite Zufallszeichenkette enthalten. In dem letztgenannten Fall sollte es verhindert werden, daß identische Datensätze in der Datenbank erzeugt werden. In der vorliegenden Erfindung ist es also zutreffend, daß die Zufallszeichenkette, die Abbildungsfunktion und die Permutationszeichenkette eine geschlosseneThe assignment of a verification code on an object to a specific data record can be done via the identification number mentioned. Alternatively, the identification number can be dispensed with and a plurality of data records containing the second random string can be checked. In the latter case, it should be prevented that identical records are created in the database. In the present invention, it is thus true that the random character string, the mapping function and the permutation character string are closed
Abbildungskette bilden. Das heißt, nur beim Vorliegen der korrekten Zufallszeichenkette, umfassend die erste Zufallsteilzeichenkette und die zweite Zufallsteilzeichenkette, der korrekten Abbildungsfunktion und der korrekten Permutationszeichenkette wird ein Verifikationscode als valide eingestuft. Somit ist es möglich, ohne das Vorhandensein einer Identifikationsnummer eine Vielzahl von Datensätzen auszuwählen und im einzelnen durchzuprobieren. Nur einer der Datensätze führt möglicherweise zu einer Validierung. Die Zufallszeichenkette kann eine Binärzeichenkette sein. Insbesondere kann es sich um eine Matrix von Binärzeichen handeln, die zufällig erzeugt wurde.Make up picture chain. That is, only in the presence of the correct random string comprising the first random substring and the second random substring, the correct mapping function, and the correct permutation string, a verification code is considered valid. Thus, it is possible to select a plurality of data sets without the presence of an identification number and to try in detail. Only one of the records may result in validation. The random string can be a binary string. In particular, it may be a matrix of binary characters generated at random.
Der Schritt d) kann ein Abbilden der Permutationszeichenkette und/oder der Identifikationsnummer und/oder der ersten Zufallszeichenkette auf eine Rastergrafik mit einer Vielzahl von Bildpunkten umfassen. Derartige Rastergrafiken sind bekannt. Sie lassen sich einfach und schnell mit entsprechenden Leseeinrichtungen oder Scannern erfassen. Die Herstellung entsprechender Rastergrafiken kann unter Verwendung von herkömmli- chen Druckern oder Etikettiermaschinen geschehen. Die Kosten für die Herstellung eines Etiketts mit entsprechender Rastergrafik sind sehr gering. Die Abbildung der verwendeten Informationselemente stellt eine erste Codierung der Informationen dar, die nicht ohne weiteres entschlüsselt werden kann. Somit ist hierin bereits ein erster Sicherheitsmechanismus zu sehen.Step d) may include mapping the permutation string and / or the identification number and / or the first random string to a raster graphic having a plurality of pixels. Such raster graphics are known. They can be detected easily and quickly with appropriate reading devices or scanners. The production of corresponding raster graphics can be done using conventional printers or labellers. The cost of producing a label with corresponding raster graphics is very low. The mapping of the information elements used represents a first coding of the information that can not be readily decrypted. Thus, this is already a first security mechanism to see.
Die Rastergrafik kann einen Datenbereich zur Darstellung der Identifikationsnummer, einen Klartextbereich zur Darstellung der ersten Zufallszeichenkette, einen Permutationsbereich zur Darstellung der Permutationszeichenkette umfassen, wobei der Klartextbereich n Bildpunkte und der Permutationsbereich 2*n Bildpunkte haben kann.The raster graphics may include a data area for representing the identification number, a plaintext area for representing the first random string, a permutation area for representing the permutation string, where the plaintext area may have n pixels and the permutation area may have 2 * n pixels.
Die Zufallszeichenkette kann in zwei gleich lange Zufallsteilzeichenketten aufgeteilt werden, wobei eine Darstellung der ersten Zufallsteilzeichenkette auf dem Gegenstand angebracht ist. Auch bei der Auswertung einer Vielzahl von mit einem Verifikationscode ausgestatteten Gegenständen kann somit nicht oder nur schwer das verwendete Schema bei der Erzeugung der Zufallszeichenketten für die einzelnen Gegenstände rekonstruiert werden.The random character string may be divided into two equal length random substrings, with a representation of the first random substring affixed to the article. Even with the evaluation of a large number of objects equipped with a verification code, it is therefore difficult or impossible to reconstruct the schema used when generating the random character strings for the individual objects.
Der Datenbereich, der Klartextbereich und der Permutationsbereich können in Blöcken, insbesondere in zusammenhängenden Blöcken angeordnet sein. Somit lassen sich die einzelnen Informationen auf einem entsprechenden Etikett besser erfassen. Es ist möglich, den einzelnen Pixeln bzw. Bildpunkten anhand ihrer Position (Zeile und Spalte) innerhalb der Rastergrafik eine Bedeutung zuzuordnen. Das Anbringen von selbstbeschreibenden Daten ist nicht notwendig. Somit kann die Rastergrafik derart gestaltet sein, dass sie nur die wesentlichen Informationen enthält. Bereits mit einer Rastergrafik mit 20 * 20 Bildpunkten können 2400 Bits codiert werden. Somit ist es möglich, sehr lange und sichere Zufallszeichenketten und Identifikationsnummern zu verwenden. Die Abbildungsfunktion für einen Gegenstand kann aus einer Vielzahl von Abbildungsfunktionen, insbesondere zufällig ausgewählt werden. Somit liegt bei der Wahl der Abbildungsfunktion keine offensichtliche Systematik vor, die anhand der Analyse einer Vielzahl von Verifikationscodes erfasst und ausgenutzt werden könnte. Die einzelnen Abbildungsfunktionen werden in der Datenbank gespeichert. Es ist natürlich auch denkbar, auf sich unterscheidende Abbildungsfunktionen zugunsten der Speichereffizienz zu verzichten.The data area, the plaintext area and the permutation area can be arranged in blocks, in particular in contiguous blocks. Thus, the individual information on a corresponding label can better capture. It is possible to assign a meaning to the individual pixels or pixels based on their position (row and column) within the raster graphics. The application of self-describing data is not necessary. Thus, the raster graphics can be designed to contain only the essential information. Already with a raster graphics with 20 * 20 pixels 2 400 bits can be coded. Thus, it is possible to use very long and secure random strings and identification numbers. The mapping function for an object may be selected from a variety of mapping functions, in particular randomly. Thus, there is no obvious systematics in the choice of mapping function that could be grasped and exploited based on the analysis of a variety of verification codes. The individual mapping functions are stored in the database. Of course, it is also conceivable to dispense with different imaging functions in favor of storage efficiency.
Der Schritt a) kann die Erzeugung mindestens einer Zufallszahl mittels eines nicht deterministischen Zufallsgenerators, insbesondere unter Verwendung eines Quantenzufallsgenerators umfassen. Es ist bekannt, dass auch sehr ausgefeilte Algorithmen lediglich Pseudozufallszahlen erzeugen können. Um die Sicherheit des Verifikationscodes zu erhöhen und ausnutzbare Systematiken zu vermeiden, werden vorzugsweise nicht deterministisch erzeugte Zufallszahlen verwendet.The step a) may comprise the generation of at least one random number by means of a non-deterministic random generator, in particular using a quantum random generator. It is known that even very sophisticated algorithms can only generate pseudorandom numbers. In order to increase the security of the verification code and to avoid exploitable systematics, non-deterministic random numbers are preferably used.
Das Verfahren kann ein Verfälschen der Rastergrafik durch ein Multiplizieren mit einer Rauschmatrix, insbesondere aus Zufallszahlen umfassen. Somit wird die Erfassung und Vervielfältigung der Darstellung des Verifikationscodes erschwert. Obwohl das Erfassen von Tausenden individuellen Darstellungen der Verifikationscodes auf den Produkten an sich bereits eine sehr aufwändige Aufgabe darstellt, erschwert die Verfälschung der Darstellung diesen Vorgang und ein Vervielfältigen der Darstellung. Das kontrollierte Rauschen, das über die Rastergrafik gelegt wird, erzeugt ein verschwommenes Bild, das ein Reverse-Engineering sehr schwierig gestaltet. Es ist möglich, das Rauschen beim Einscannen der Darstellung des Verifikationscodes zu entfernen.The method may include corrupting the raster graphics by multiplying by a noise matrix, in particular random numbers. Thus, the detection and duplication of the representation of the verification code is made more difficult. Although capturing thousands of individual representations of the verification codes on the products is in itself a very cumbersome task, falsification of the presentation complicates this process and duplicates the presentation. The controlled noise that is superimposed over the raster graphics creates a blurry image that makes reverse engineering very difficult. It is possible to remove the noise when scanning the representation of the verification code.
Es ist möglich, einen Aktivierungszustand in der Datenbank zu speichern, wobei der Verifikationscode nur dann aktiv wird, wenn eine entsprechende Anfrage von mindestens einer Zertifizierungsstelle erfolgt. Somit können Verifikationscodes erzeugt werden, die nicht aktiviert sind. Eine Aktivierung erfolgt erst, wenn das Produkt und der gekennzeichnete Gegenstand eine bestimmte Zertifizierungsstelle, beispielsweise eine Qualitätsprüfung passiert hat.It is possible to store an activation state in the database, the verification code only becoming active if a corresponding request is made by at least one certification authority. Thus, verification codes can be generated that are not activated. Activation takes place only when the product and the marked item has passed a specific certification body, for example a quality inspection.
Zur Aktivierung des Verifikationscodes kann eine Vielzahl von Anfragen von einer Vielzahl von unterschiedlichen Zertifizierungsstellen, insbesondere in einer vorgegebenen Reihenfolge nötig sein. Somit ist es möglich, eine Historie des hergestellten Gegenstands vorzugeben und zu kontrollieren. Lediglich die Gegenstände werden als authentisch angesehen, die eine entsprechende Historie vorweisen können. Beispielsweise können entsprechende Zertifizierungsstellen bei der Produktherstellung, der Verpackung und der Lizenzierung des Produkts eingerichtet werden.To activate the verification code, a plurality of requests from a plurality of different certification authorities, in particular in a predetermined order may be necessary. Thus, it is possible to specify and control a history of the manufactured article. Only the items are considered authentic viewed, which can show a corresponding history. For example, appropriate certification bodies may be set up in product manufacturing, packaging and licensing of the product.
Die oben genannte Aufgabe wird ebenfalls durch einen Verifikationscode für einen Gegenstand gelöst, der nach dem vorab beschriebenen Verfahren erzeugt wurde.The above object is also achieved by a verification code for an article produced according to the method described above.
Des Weiteren wird die Aufgabe durch ein Verfahren zum Verifizieren der Echtheit von Gegenständen gelöst, wobei das Verfahren die folgenden Schritte umfasst:Furthermore, the object is achieved by a method for verifying the authenticity of objects, the method comprising the following steps:
a) Auslesen eines am Gegenstand und/oder dessen Verpackung angebrachten Verifikationscodes, insbesondere eines Verifikationscodes, der nach Anspruch 12 erzeugt wurde, wobei der Verifikationscode eine erste Permutationszeichenkette und eine erste Zufallsteilzeichenkette umfasst;a) reading a verification code attached to the article and / or its packaging, in particular a verification code, generated according to claim 12, the verification code comprising a first permutation string and a first random substring;
b) Auslesen mindestens eines Vergleichsdatensatzes, der auf einem Server gespeichert ist, wobei der Vergleichsdatensatz eine Abbildungsfunktion und eine zweite Zufallsteilzeichenkette umfasst;b) reading at least one comparison data set stored on a server, the comparison data set comprising a mapping function and a second random substring;
c) Generieren einer Ausgangszeichenkette durch ein Verarbeiten, insbesonderec) generating an output string by processing, in particular
Verknüpfen der ersten und der zweiten Zufallsteilzeichenkette;Linking the first and second random substrings;
d) Generieren einer zweiten Permutationszeichenkette durch ein Abbilden der Ausgangszeichenkette gemäß der Abbildungsfunktion;d) generating a second permutation string by mapping the source string according to the mapping function;
e) Vergleichen der ersten Permutationszeichenkette mit der zweiten Permutationszeichenkette, um die Echtheit des Gegenstands festzustellen.e) comparing the first permutation string with the second permutation string to determine the authenticity of the item.
Die Schritte b), c), d) und e) können mehrfach durchgeführt werden, um die Echtheit des Gegenstands festzustellen. Es ist also möglich, eine Vielzahl von Vergleichsdatensätzen auszulesen, eine Vielzahl von Ausgangszeichenketten zu generieren, diese anhand der zugehörigen Abbildungsfunktionen abzubilden und so zu einer Vielzahl von zweiten Permutationszeichenketten zu gelangen. Der Gegenstand wird nur dann als echt eingestuft, wenn eine der Vielzahl von zweiten Permutationszeichenketten mit der ersten Permutationszeichenkette auf dem Gegenstand übereinstimmt. Der Gegenstand kann dann als nicht echt eingestuft werden, wenn der Schritt e) für keinen oder eine vorbestimmte Menge von Vergleichsdatensätzen durchgeführt wurde, ohne daß eine mit der ersten Permutationszeichenkette übereinstimmende zweite Permutationszeichenkette gefunden bzw. generiert wurde.The steps b), c), d) and e) can be performed several times to determine the authenticity of the object. It is therefore possible to read out a large number of comparison data sets, to generate a multiplicity of output character strings, to map them using the associated mapping functions and thus to obtain a multiplicity of second permutation character strings. The item is considered true only if one of the plurality of second permutation strings matches the first permutation string on the item. The item may be deemed non-genuine if step e) has not been performed for any or a predetermined set of comparison records without a second permutation string matching the first permutation string being found.
Auch bei diesem Verfahren können falsche Verifikationscodes nur dann erzeugt werden, wenn die Fälscher einen ständigen Zugriff auf das zugehörige Speichermedium haben.Even with this method, false verification codes can only be generated if the counterfeiters have constant access to the associated storage medium.
Des Weiteren wird die Aufgabe durch ein Verfahren zum Verifizieren der Echtheit von Gegenständen gelöst, wobei das Verfahren die folgenden Schritte umfasst:Furthermore, the object is achieved by a method for verifying the authenticity of objects, the method comprising the following steps:
a) Auslesen eines am Gegenstand und/oder dessen Verpackung angebrachten Verifikationscodes, wobei der Verifikationscode eine erste Permutationszeichenkette, eine Identifikationsnummer und eine erste Zufallsteilzeichenkette umfasst;a) reading a verification code attached to the article and / or its packaging, the verification code comprising a first permutation string, an identification number and a first random substring;
b) Auslesen eines korrespondierenden Datensatzes, der auf einem Server gespeichert ist, wobei der Datensatz anhand der Identifikationsnummer identifiziert wird, wobei der Datensatz eine Abbildungsfunktion und eine zweite Zufallsteilzeichenkette umfasst;b) reading a corresponding record stored on a server, the record being identified by the identification number, the record comprising a mapping function and a second random substring;
c) Generieren einer Ausgangszeichenkette durch das Verbinden der ersten und der zweiten Zufallsteilzeichenkette;c) generating an output string by connecting the first and second random substrings;
d) Generieren einer zweiten Permutationszeichenkette durch ein Abbilden der Aus- gangszeichenkette gemäß der Abbildungsfunktion;d) generating a second permutation string by mapping the output string according to the mapping function;
e) Vergleichen der ersten Permutationszeichenkette mit der zweiten Permutationszeichenkette, um die Echtheit des Gegenstands festzustellen.e) comparing the first permutation string with the second permutation string to determine the authenticity of the item.
Für diese Verfahren ergeben sich ähnliche Vorteile, wie die, die bereits vorab genannt wurden.These processes have similar advantages to those already mentioned in advance.
Der Schritt e) kann ein Feststellen umfassen, ob der Verifikationscode aktiviert wurde, wobei ein Verifikationscode nur dann aktiviert wird, wenn der Verifikationscode durch mindestens eine Zertifizierungsstelle zertifiziert wurde. Die Abbildungsfunktion kann eine bijektive Abbildungsfunktion, insbesondere eine Permutation sein. Bei einer bijektiven Abbildung wird jede Information, die in der Zufallszeichenkette enthalten ist, auf die Permutationszeichenkette abgebildet. Somit sind eine Verschlüsselung der Zufallszeichenkette sowie eine Entschlüsselung der Permutationszei- chenkette möglich. Vorzugsweise, aber nicht zwingend wird eine Permutation als Abbildung verwendet.Step e) may include determining if the verification code has been activated, and only activating a verification code if the verification code has been certified by at least one certification authority. The mapping function can be a bijective mapping function, in particular a permutation. In a bijective mapping, any information contained in the random string is mapped to the permutation string. Thus, an encryption of the random string and a decryption of the permutation string are possible. Preferably, but not necessarily, a permutation is used as a map.
Die Aufgabe wird ebenfalls durch eine Vorrichtung zur Verifikation der Echtheit von Gegenständen, umfassend:The object is also achieved by an apparatus for verifying the authenticity of objects, comprising:
eine Erzeugungseinrichtung zum Erzeugen einer Vielzahl von Verifikationscodes, insbesondere gemäß dem vorab beschriebenen Verfahren,a generating device for generating a multiplicity of verification codes, in particular according to the method described above,
eine Verifikationseinrichtung zur Verifikation mindestens eines Verifikationscodes, insbesondere gemäß dem vorab beschriebenen Verfahren,a verification device for verifying at least one verification code, in particular according to the method described above,
mindestens eine Datenbank zum Speichern von Zufallsteilzeichenketten und mindestens einer Abbildungsfunktion für die Verifikationscodes.at least one database for storing random substrings and at least one mapping function for the verification codes.
Des Weiteren wird die Aufgabe durch eine Vorrichtung zur Verifizierung der Echtheit von Gegenständen gelöst, wobei diese Vorrichtung umfasst:Furthermore, the object is achieved by a device for verifying the authenticity of objects, this device comprising:
eine Erzeugungseinrichtung zum Erzeugen einer Vielzahl von Verifikationscodes, insbesondere nach dem beschriebenen Verfahren,a generating device for generating a multiplicity of verification codes, in particular according to the method described,
eine Verifikationseinrichtung zur Verifikation mindestens eines Verifikationscodes, insbesondere gemäß dem beschriebenen Verfahren,a verification device for verifying at least one verification code, in particular according to the described method,
mindestens einer Datenbank zum Speichern von Zufallsteilzeichenketten, Abbil- dungsfunktionen und Identifikationsnummern für die Verifikationscodes.at least one database for storing random substrings, mapping functions and identification numbers for the verification codes.
Vorzugsweise umfasst diese Vorrichtung einen nicht deterministischen Zufallsgenerator, insbesondere einen Quantenzufallsgenerator zur Erzeugung von Zufallszahlen. Dies erhöht die Sicherheit des erzeugten Verifikationscodes.Preferably, this device comprises a non-deterministic random number generator, in particular a quantum random generator for generating random numbers. This increases the security of the generated verification code.
Die Vorrichtung kann mindestens eine Leseeinrichtung zur Erfassung einer Rastergrafik umfassen. Die Leseeinrichtung kann beispielsweise derart ausgebildet sein, dass sie ein bewusst über die Darstellung des Verifikationscodes gelegtes Rauschen herausfiltert. Die Leseeinrichtung kann des Weiteren die Aufgabe wahrnehmen, den Verifikationscode aus einer Rastergrafik auszulesen. Somit können die darunter liegenden Informationen wesentlich effizienter übertragen werden.The device may comprise at least one reading device for detecting a raster graphic. By way of example, the reading device can be designed such that it can deliberately filters out noise placed over the representation of the verification code. The reading device can also perform the task of reading the verification code from a raster graphic. Thus, the underlying information can be transmitted much more efficiently.
Die Vorrichtung kann eine Überwachungseinrichtung umfassen, die an die Verifikationseinrichtung gerichtete Anfragen überwacht und nach einer kritischen Anfrage mindestens einen Teil einer zu einem Verifikationscode gehörenden Zufallsteilzeichenkette und Abbildungsfunktion ändert, wobei bei der Änderung ein unter Verwendung der Abbildungsfunktion und der Zufallszeichen generierter Verifikationscode identisch bleibt. Es ist denkbar, die Vorrichtung mit einer Anfrageeinrichtung auszustatten, die entsprechende Verifikationsanfragen (Handelt es sich um einen zulässigen Verifikationscode oder nicht?) beantwortet. Um ein Ausspähen der Datenbank zu verhindern, ist es denkbar, die darin enthaltenen Daten derart zu ändern, dass die abgefragten Informationen nach jeder Anfrage nutzlos werden. Es ist möglich, Abbildungsfunktion und Zufallsteilzeichenketten in der Datenbank derart zu ändern, dass eine Anpassung des Verifikationscodes auf den Gegenständen nicht notwendig ist. Änderungen an der Zufallsteilzeichenkette werden also durch die Änderung der Abbildungsfunktion ausgeglichen.The apparatus may include a monitoring device that monitors requests directed to the verification device and, after a critical request, alters at least a portion of a random substring and mapping function associated with a verification code, wherein upon the change, a verification code generated using the mapping function and the random characters remains identical. It is conceivable to equip the device with a request device which answers corresponding verification requests (is this a permitted verification code or not?). In order to prevent a spying out of the database, it is conceivable to change the data contained therein so that the requested information becomes useless after each request. It is possible to change mapping function and random substrings in the database such that an adaptation of the verification code on the objects is not necessary. Changes to the random substring are thus compensated by the change of the mapping function.
Die Überwachungseinrichtung kann derart ausgebildet sein, dass sie eine Anfrage zufällig und/oder beim Erfüllen eines vorgegebenen Kriteriums als kritisch einstuft. Es ist also möglich, besagte Änderungen der Daten, die in der Datenbank gespeichert sind, entweder zufällig vorzunehmen oder Algorithmen vorzusehen, die die Daten zu einem notwendigen Zeitpunkt ändern.The monitoring device can be configured such that it randomly classifies a request as critical and / or when fulfilling a predetermined criterion. It is thus possible to either make random changes to the data stored in the database or to provide algorithms that change the data at a necessary time.
Die Überwachungseinrichtung kann derart ausgebildet sein, dass bei einer kritischen Anfrage eine Vielzahl von Abbildungsfunktionen und Zufallszeichen geändert wird. Es wäre also denkbar, die gesamte Datenbank oder nur einzelne Datensätze bei einer kritischen Anfrage zu verändern.The monitoring device can be designed in such a way that, in the case of a critical query, a multiplicity of mapping functions and random symbols are changed. It would therefore be conceivable to change the entire database or only individual records in a critical request.
Die Vorrichtung kann eine Aktivierungseinrichtung umfassen, die mit mindestens einer Zertifizierungsstelle kommuniziert, die mit dem Verifizierungscode bestückte Gegenstände erfasst, wobei die Aktivierungseinrichtung einen Verifikationscode erst dann aktiviert, wenn der zugehörige Gegenstand von der mindestens einen Zertifizierungsstelle erfasst wurde. Es ist somit möglich, die einzelnen Fertigungs- und/oder Qualitätsprüfungs- und/oder Vertriebs schritte eines Gegenstandes zu verfolgen. Nur wenn eine vorgegebene Reihenfolge eingehalten wird, wird der aufgedruckte Verifikationscode aktiviert und bestätigt die Authentizität des Gegenstandes.The device may include an activation device that communicates with at least one certification authority that collects items that are equipped with the verification code, wherein the activation device does not activate a verification code until the associated item has been detected by the at least one certification authority. It is thus possible to follow the individual manufacturing and / or quality inspection and / or sales steps of an object. Just if a given sequence is followed, the printed verification code is activated and confirms the authenticity of the item.
Weitere vorteilhafte Ausführungsformen der Erfindung ergeben sich aus den Unteran- Sprüchen.Further advantageous embodiments of the invention will become apparent from the subclaims.
Nachfolgend wird die Erfindung anhand von einigen Ausführungsbeispielen beschrieben, die mittels Abbildungen näher erläutert werden. Hierbei zeigen:The invention will be described with reference to some embodiments, which are explained in more detail by means of illustrations. Hereby show:
Fig. 1 : eine erfindungsgemäße Vorrichtung zur Verifizierung der Echtheit von Gegenständen;1 shows a device according to the invention for verifying the authenticity of objects;
Fig. 2: ein Produkt mit einem erfindungsgemäßen Verifikationscode;2 shows a product with a verification code according to the invention;
Fig. 3: mehrere Bildpunkte einer Darstellung des Verifikationscodes;3: a plurality of pixels of a representation of the verification code;
Fig. 4: die Generierung eines Verifikationscodes aus einer Zufallszahl; und4 shows the generation of a verification code from a random number; and
Fig. 5: einen schematischen Auszug aus einer Datenbank zur Verifizierung eines Verifikationscodes.5 shows a schematic extract from a database for verifying a verification code.
Wie in Figur 1 gezeigt, umfasst ein Ausführungsbeispiel der erfindungsgemäßen Vorrichtung zur Verifizierung der Echtheit von Gegenständen einen Server 20 und einen Client 40, die miteinander über ein Netzwerk, insbesondere ein WAN 1 (Wide Area Network) oder LAN (Local Area Network) kommunizieren. Der Server 20 umfasst eine Datenbank 30, die zur Speicherung von Informationen ausgelegt ist. Diese Informationen umfassen Informationen, die sich auf einen individuellen Verifikationscode beziehen. Der Client 40 hat ein Lesegerät 10, das es ermöglicht, eine Darstellung eines Verifikationscodes einzuscannen und zu verarbeiten. Erfindungsgemäß befindet sich der Verifikationscode auf einem Etikett 60, das an einem Produkt 50 (vgl. Figur 2) angebracht ist. Nach dem Erfassen des Verifikationscodes durch das Lesegerät 10 sendet der Client 40 eine Anfrage an den Server 20, um die Echtheit des Produkts 50 zu verifizieren. Der Server 20 verarbeitet die Anfrage und stellt mittels eines vorgegebenen Algorithmus, beispielsweise gemäß dem weiter unten beschriebnem Verfahren, fest, ob der Verifikationscode und somit das Produkt 50 mit dem Verifikationscode authentisch ist. Die Vorrichtung gemäß Figur 1 kann weitere Clients 40 umfassen, die ebenfalls über das WAN 1 mit dem Server kommunizieren. Beispielsweise kann einer dieser Clients 40 eine Druckereinrichtung umfassen und zur Herstellung entsprechender Etiketten 60 ausgelegt sein. Alternativ kann eine entsprechende Druckeinrichtung unmittelbar mit dem Server 20 verbunden sein.As shown in FIG. 1, an embodiment of the apparatus for verifying the authenticity of objects according to the invention comprises a server 20 and a client 40 which communicate with each other via a network, in particular a WAN 1 (Wide Area Network) or LAN (Local Area Network). The server 20 includes a database 30 configured to store information. This information includes information related to an individual verification code. The client 40 has a reader 10 that allows it to scan and process a representation of a verification code. According to the invention, the verification code is located on a label 60, which is attached to a product 50 (see FIG. After acquiring the verification code by the reader 10, the client 40 sends a request to the server 20 to verify the authenticity of the product 50. The server 20 processes the request and determines by means of a predetermined algorithm, for example according to the method described below, whether the verification code and thus the product 50 with the verification code is authentic. The device according to FIG. 1 can comprise further clients 40, which likewise communicate with the server via the WAN 1. For example, one of these clients 40 may comprise a printer device and be designed to produce corresponding labels 60. Alternatively, a corresponding printing device can be connected directly to the server 20.
Des Weiteren können auf dem WAN 1 Zertifizierungs stellen mit dem Server 20 kommunizieren, die ähnlich ausgestattet sind wie der gezeigte Client 40. Diese Zertifizierungsstellen sind geographisch verteilt an einzelnen Stationen aufgestellt, die das gekennzeichnete Produkt 50 durchläuft. Mittels der Zertifizierungsstellen wird protokolliert, dass das Produkt 50 eine bestimmte Station durchlaufen hat. Beispielsweise kann eine Zertifizierungsstelle die Herstellung des Produkts 50 dokumentieren. Eine weitere Zertifizierungs stelle erfasst die Verpackung des Produkts 50 und eine dritte die Verschiffung aus einem Herstellungsland. Der Server 20 kann die Informationen, die die einzelnen Zertifizierungsstellen bezüglich eines Produkts 50 an diesen weiterleiten, verarbeiten und speichern. Es ist möglich, die gesammelten Informationen bei einer späteren Verifizierung der Echtheit eines Produkts 50 zu verwenden. Beispielsweise können nur die Produkte 50 als echt angesehen werden, die vorgegebene Stationen durchlaufen haben. Somit wird die Herstellungs- und/oder Transport- und/oder Vertriebshistorie eines Produkts 50 erfasst und bei der Beurteilung der Echtheit verarbeitet. Dabei kann berücksichtigt werden, dass gefälschte Produkte meist eine andere Historie haben als ein Originalprodukt.Further, on the WAN 1, certification authorities can communicate with the server 20, which are similarly equipped as the client 40 shown. These certification authorities are geographically distributed at individual stations that pass through the designated product 50. By means of the certification authorities, it is logged that the product 50 has passed through a specific station. For example, a certification authority may document the manufacture of product 50. Another certification body covers the packaging of the product 50 and a third the shipment from a country of manufacture. The server 20 may process and store the information that the individual certification authorities forward to a product 50. It is possible to use the collected information in later verification of the authenticity of a product 50. For example, only the products 50 that have passed through predetermined stations can be considered genuine. Thus, the manufacturing and / or transportation and / or distribution history of a product 50 is detected and processed in the assessment of authenticity. It can be considered that fake products usually have a different history than an original product.
Gemäß einem Ausführungsbeispiel der Erfindung umfasst das Etikett 60 eine Darstellung des Verifikationscodes. Diese Darstellung unterteilt sich in drei Bereiche, nämlich einen Klartextbereich 62, einen Datenbereich 64 und einen Permutationsbereich 66.According to an embodiment of the invention, the label 60 comprises a representation of the verification code. This representation is subdivided into three areas, namely a plaintext area 62, a data area 64 and a permutation area 66.
Die Darstellung des Verifikationscodes gemäß dem Ausführungsbeispiel, das in Fig. 2 gezeigt ist, ist eine zweidimensionale Datenmatrix mit der Dimension 20 x 20 (20 Spalten auf 20 Zeilen). Es handelt sich um eine Rastergrafik. Die einzelnen Stellen derThe representation of the verification code according to the embodiment shown in FIG. 2 is a two-dimensional data matrix with the dimension 20 × 20 (20 columns by 20 lines). It is a raster graphic. The individual places of the
Datenmatrix bzw. die einzelnen Bildpunkte 61, 61' der Rastergrafik sind, wie in Fig. 3 gezeigt, weiße oder schwarze Quadrate. Sie codieren eine Binärmatrix, wobei die weißen Punkte einer 1 und die schwarzen Punkte einer 0 entsprechen. Diese Codierung von Zeichenketten ist rein beispielhaft. Dem Fachmann sollten zahlreiche andere Möglichkeiten bekannt sein, Informationen grafisch erfassbar zu codieren. Der Datenbereich 64 umfasst 10 x 10 Bildpunkte und wird dazu verwendet, eine Identifikationsnummer ID des Produkts 50 zu speichern. Des Weiteren kann dieser Bereich dazu verwendet werden, nötige offene Daten, wie beispielsweise die Firma, die Art des Produkts, die Serie oder ein Ablaufdatum bzw. Verfallsdatum zu speichern. Des Weiteren kann in diesem Bereich eine Nummer enthalten sein, die eine bestimmte Datenbank referenziert, die zur Verifikation der Echtheit des Produkts herangezogen wird.Data matrix or the individual pixels 61, 61 'of the raster graphics, as shown in Fig. 3, white or black squares. They encode a binary matrix, where the white dots are 1 and the black dots are 0. This encoding of strings is purely exemplary. The skilled person should be aware of numerous other ways to encode information graphically. The data area 64 comprises 10 × 10 pixels and is used to store an identification number ID of the product 50. Furthermore, this area can be used to store necessary open data, such as the company, the type of product, the series, or an expiration date. Furthermore, this area may contain a number that references a particular database used to verify the authenticity of the product.
Im vorliegenden Ausführungsbeispiel werden in der Datenbank gespeicherte Codes verwendet, um die Firmen, die Produkte, das Ablaufdatum, die Serie oder Charge einesIn the present embodiment, codes stored in the database are used to identify the companies, the products, the expiration date, the series or batch of a
Pharmazieprodukts zu codieren. Auf diese Art und Weise können ca. 104 Firmen mit ca.To encode pharmaceutical product. In this way, about 10 4 companies with approx.
104 Produkten codiert werden, wobei 4 Stellen für das Verfallsdatum und 18 Stellen für die Serie bzw. Charge und die Identifikationsnummer ID verbleiben. Die10 4 products, leaving 4 digits for the expiration date and 18 digits for the batch or identification number ID. The
Identifikationsnummer ID dient dazu, einen entsprechenden Datensatz 31 in der Datenbank 30 zu referenzieren. Die Identifikationsnummer ID stellt also einen Bezug zwischen einem bestimmten Datenbankeintrag und einem bestimmten Verifikationscode her.Identification number ID serves to reference a corresponding data record 31 in the database 30. The identification number ID thus establishes a relationship between a particular database entry and a particular verification code.
Der Datenbereich 64, Klartextbereich 62 und der Permutationsbereich 66 dienen zur Verifikation der Echtheit des Gegenstands. Erfindungsgemäß wird zur Erzeugung dieses Teils des Verifikationscodes auf nicht deterministische Art und Weise eine Zufallszahl ZZ erzeugt (vgl. hierzu Fig. 4). Diese Zufallszahl des vorliegenden Ausführungsbeispiels ist eine 200 Bit lange Zeichenkette, die erfindungsgemäß in eine erste Zufallsteilzeichenkette ZZl und eine zweite Zufallsteilzeichenkette ZZ2 aufteilbar ist. Durch die Anwendung einer Permutationsfunktion p auf die Zufallszeichenkette ZZ erhält man eine Permutationszeichenkette PZZ. Während die Permutationsfunktion p und die zweite Zufallsteilzeichenkette ZZ2 in einem Datensatz 31 in der Datenbank 30 zusammen mit der Identifikationsnummer ID gespeichert werden (vgl. Fig. 5), wird die erste Zufallsteilzeichenkette ZZl und die Permutationszeichenkette PZZ in dem Klartextbereich 62 bzw. Permutationsbereich 66 hinterlegt. D. h. der Klartextbereich 62 enthält eine grafische Darstellung der ersten Zufallsteilzeichenkette ZZl und der Permutationsbereich 66 eine Darstellung der Permutationszeichenkette PZZ. Somit sind für eine Überprüfung des Verifikationscodes Informationen aus der Datenbank 30 und von dem Produkt 50, genauer gesagt von dem Etikett 60 notwendig. Nur derjenige, der Zugriff auf diese getrennt aufbewahrten Information hat, kann die Echtheit desThe data area 64, plaintext area 62 and the permutation area 66 serve to verify the authenticity of the object. According to the invention, a random number ZZ is generated in a non-deterministic manner to generate this part of the verification code (compare FIG. 4). This random number of the present exemplary embodiment is a 200-bit long character string which, according to the invention, can be divided into a first random substring ZZ1 and a second random substring ZZ2. By applying a permutation function p to the random character string ZZ, a permutation character string PZZ is obtained. While the permutation function p and the second random substring ZZ2 are stored in a data record 31 in the database 30 together with the identification number ID (see Fig. 5), the first random substring ZZl and the permutation string PZZ are deposited in the plaintext area 62 and permutation area 66, respectively , Ie. the plaintext area 62 contains a graphic representation of the first random substring ZZ1, and the permutation area 66 contains a representation of the permutation string PZZ. Thus, verification of the verification code requires information from the database 30 and from the product 50, more specifically from the label 60. Only the one who has access to this separately stored information, the authenticity of the
Verifikationscodes und somit des Produkts feststellen. Demgemäß muss auch für die Herstellung eines gültigen Verifikationscodes ein Zugriff auf die Datenbank 30 erfolgen. Vorzugsweise handelt es sich bei der Permutationsfunktion p um eine zufällig für das bestimmte Produkt 50 ausgewählte Permutationsfunktion p aus einer Vielzahl von Permutationsfunktionen.Verify verification codes and thus the product. Accordingly, access to the database 30 must also be made for the production of a valid verification code. Preferably, the permutation function p is a permutation function p selected at random for the particular product 50 from a plurality of permutation functions.
Es gibt ungefähr 200 (!) Permutationen für die verwendete, 200 Bit lange Zufallszeichenkette ZZ. Das sind ungefähr 10200 mögliche Permutationen. Die korrekte Permutationszeichenkette PZZ für eine bestimmte Identifikationsnummer ID lässt sich daher auch bei einer teilweisen Kenntnis der aktuellen Zufallszeichenkette ZZ und der Permutationszeichenkette PZZ nicht in überschaubarer Zeit ermitteln. Soweit die verwendete Permutationsfunktion p variiert, ist die Rekonstruktion der Permutationsfunktion sowieso hinfälligThere are about 200 (!) Permutations for the used 200 bit long random string ZZ. That's about 10 200 possible permutations. The correct permutation character string PZZ for a specific identification number ID can therefore not be determined even in the case of a partial knowledge of the current random character string ZZ and of the permutation character string PZZ in a manageable time. As far as the used permutation function p varies, the reconstruction of the permutation function is obsolete anyway
Wie bereits dargestellt, benötigt man zur Verifikation des Verifikationscodes die gesamte Zufallszeichenkette ZZ, die sich aus der ersten Zufallsteilzeichenkette ZZl in demAs already stated, the entire random string ZZ, which consists of the first random substring ZZ1 in the
Klartextbereich 62 und der zweiten Zufallsteilzeichenkette ZZ2 aus der Datenbank 30 zusammensetzt. Des Weiteren benötigt man die spezifische Permutationsfunktion p, um die Permutationszeichenkette PZZ zu ermitteln. Zur Verifikation des Verifikationscodes wird die ermittelte Permutationszeichenkette PZZ mit der Permutationszeichenkette PZZ aus dem Permutationsbereich 66 verglichen. Der Server 20 bekommt also bei einer entsprechenden Anfrage von einem Client 40 die auf dem Etikett 60 dargestellte Permutationszeichenkette 66 und die erste Zufallsteilzeichenkette ZZl mitgeteilt. Er ermittelt anhand der ersten Zufallsteilzeichenkette ZZl, der gespeicherten zweiten Zufallsteilzeichenkette ZZ2 und der gespeicherten Permutationsfunktion p die entsprechende Permutationszeichenkette 66 und vergleicht diese mit der übermittelten Permutationszeichenkette. Nur wenn diese identisch sind, wird dem Client 40 bestätigt, dass es sich um einen authentischen Verifikationscode handelt.Plain text area 62 and the second random substring ZZ2 from the database 30 composed. Furthermore, one needs the specific permutation function p to determine the permutation string PZZ. For verification of the verification code, the determined permutation character string PZZ is compared with the permutation character string PZZ from the permutation domain 66. The server 20 is thus notified in a corresponding request from a client 40, the permutation string 66 shown on the label 60 and the first random substring ZZl. Based on the first random partial string ZZ1, the stored second random partial string ZZ2 and the stored permutation function p, it determines the corresponding permutation string 66 and compares this with the transmitted permutation string. Only if they are identical is the client 40 confirmed that it is an authentic verification code.
Es ist möglich, die gesamte Darstellung des Verifikationscodes, wie sie in Fig. 2 gezeigt ist, mit einer Rauschmatrix zu multiplizieren, die das Decodieren und Vervielfältigen der Darstellung erschwert.It is possible to multiply the entire representation of the verification code, as shown in FIG. 2, with a noise matrix which makes the decoding and duplication of the representation difficult.
Zusätzlich ist es vorgesehen, den Server 20 derart zu betreiben, dass bei jeder Verifikationsanfrage bezüglich eines Verifikationscodes die Datenbank 30 verändert wird. Auf diese Weise lässt sich der wohlbekannte Quanteneffekt simulieren. Nach derIn addition, it is provided to operate the server 20 in such a way that the database 30 is changed in each verification request with respect to a verification code. In this way, the well-known quantum effect can be simulated. After
Beantwortung einer Anfrage wird der zugehörige Datensatz, beispielsweise der Datensatz 31 der Fig. 5, modifiziert. D.h., die zweite Zufallsteilzeichenkette ZZ2 und die Permutationsfunktion p werden derart abgeändert, dass sich zwar die gleiche Permutationszeichenkette PZZ ergibt, jedoch die einzelnen Einträge in der Datenbank 30 verändert sind. Somit wird jede Erkenntnis, die man durch eine vorhergehende Abfrage über einen bestimmten Datensatz gewonnen hat, nutzlos.In response to a request, the associated data record, for example the data record 31 of FIG. 5, is modified. That is, the second random substring ZZ2 and the Permutation function p are modified such that, although the same permutation string PZZ results, but the individual entries in the database 30 are changed. Thus, any insight gained from a previous query over a particular record becomes useless.
Wie aus der Fig. 5 ersichtlich, umfasst ein Datensatz 31 der Datenbank 30 des Weiteren eine Spalte, die den Status eines bestimmten Verifikationscodes beschreibt. Somit kann ein Verifikationscode so lange als deaktiviert angesehen werden, bis ein bestimmter Status erreicht wird. Beispielsweise trägt eine Zertifizierungs stelle bei der Produktherstellung eine „1" ein, wenn das Produkt 50 erstellt wurde. Eine zweite Zertifizierungs stelle an einer Verpackungsstation fügt eine „2" hinzu, wenn das Produkt 50 verpackt wird. Eine dritte Zertifizierungs stelle ergänzt den Status um eine „3" bei der Auslieferung des Produkts 50. Erst nach der Eintragung des Codes „1, 2, 3" wird der entsprechende Verifikationscode als aktiv angesehen. Somit kann die Historie eines Produktes 50 überwacht werden. Da eine Veränderung des Status nur durch die einzelnenAs can be seen from FIG. 5, a data record 31 of the database 30 further includes a column describing the status of a particular verification code. Thus, a verification code may be considered disabled until a particular status is reached. For example, a certification authority enters a "1" in product manufacturing when the product 50 has been created, and a second certification authority at a packaging station adds a "2" when packaging the product 50. A third certification body completes the status by a "3" upon delivery of the product 50. Only after the entry of the code "1, 2, 3" the corresponding verification code is considered active. Thus, the history of a product 50 can be monitored. Because a change of status only by the individual
Zertifizierungsstellen möglich ist, kann sichergestellt werden, dass das Produkt 50 echt ist.Certification bodies is possible, it can be ensured that the product 50 is genuine.
In den vorab beschriebenen Ausführungsbeispielen enthält sowohl das Etikett 60 wie auch der zugehörige Datensatz 31 der Datenbank 30 jeweils eine Identifikationsnummer ID, die es ermöglicht, einem gegebenen Produkt 50 oder Etikett 60 einen entsprechenden Datensatz 31 eindeutig zuzuordnen. Es ist jedoch möglich, auf die Eindeutigkeit der Identifikationsnummer ID oder das Anordnen der Identifikationsnummer ID auf dem Produkt 50 und/oder dem Etikett 60 zu verzichten. Des weiteren benötigt der Datensatz 31 keine ID-Spalte zum Speichern der Identifikationsnummern ID, um ein Produkt 50 und/oder ein Etikett 60 dem Datensatz 31 zuzuordnen. Erfindungsgemäß ist es möglich, die Permutationsfunktion p und/oder die Zufallszeichenkette ZZ und/oder die Permutationszeichenkette PZZ so zu wählen, dass es für jede Zufallszeichenkette ZZ bei einer gegebenen Permutationsfunktion p nur eine passende Permutationszeichenkette PZZ gibt. Somit können auch die Zufallsteilzeichenketten ZZl, ZZ2 derart gestaltet werden, dass nur ein Paar von Zufallsteilzeichenketten ZZl, ZZ2 zu einer passenden Zufallszeichenkette ZZ führt.In the exemplary embodiments described above, both the label 60 and the associated data record 31 of the database 30 each contain an identification number ID which makes it possible to uniquely assign a corresponding data record 31 to a given product 50 or label 60. However, it is possible to dispense with the uniqueness of the identification number ID or the placing of the identification number ID on the product 50 and / or the label 60. Furthermore, the record 31 does not need an ID column for storing the identification numbers ID in order to associate a product 50 and / or a label 60 with the record 31. According to the invention, it is possible to select the permutation function p and / or the random character string ZZ and / or the permutation character string PZZ such that there is only one suitable permutation character string PZZ for each random character string ZZ for a given permutation function p. Thus, the random substrings ZZ1, ZZ2 can also be designed such that only one pair of random substrings ZZ1, ZZ2 leads to a suitable random string ZZ.
Es ist also möglich, dass das Etikett 60 nur die erste Zufallsteilzeichenkette ZZl und die Permutationszeichenkette PZZ enthält. Diese Daten werden in einer Verifikationsanfrage an den Server 20 übermittelt. Der Server 20 durchsucht sämtliche gespeicherte Datensätze 31 nach einem zu der gegebenen Permutationszeichenkette PZZ und der gegebenen ersten Zufallsteilzeichenkette ZZl passenden Datensatz 31.It is thus possible that the label 60 contains only the first random partial character string ZZ1 and the permutation character string PZZ. This data is transmitted to the server 20 in a verification request. The server 20 searches all stored ones Data records 31 according to a data set 31 matching the given permutation string PZZ and the given first random substring ZZl.
Beispielsweise kann der Server 20 einen ersten Datensatz 31 auswählen, die entsprechend zweite Zufallsteilzeichenkette ZZ2 und eine Permutationsfunktion p auslesen. Danach wird die gegebene bzw. an den Server 20 übermittelte erste Zufallsteilzeichenkette ZZl mit der ausgelesenen zweiten Zufallsteilzeichenkette ZZ2 verbunden, um eine Zufallszeichenkette ZZ zu erzeugen. Die Zufallszeichenkette ZZ wird wie bereits beschrieben mittels der ausgelesenen Permutationsfunktion p abgebildet und mit der übermittelten Permutationszeichenkette PZZ verglichen. Nur bei dem Vorliegen derFor example, the server 20 may select a first data set 31 that respectively reads out the second random substring ZZ2 and a permutation function p. Thereafter, the given first random substring ZZl transmitted to the server 20 is connected to the read-out second random substring ZZ2 to generate a random string ZZ. As already described, the random character string ZZ is mapped by means of the read-out permutation function p and compared with the transmitted permutation character string PZZ. Only in the presence of the
Identität überträgt der Server 20 eine Nachricht, die angibt, dass es sich um einen validen bzw. gültigen Verifikationscode handelt. Andernfalls wird der nächste Datensatz 31 ausgewählt und ausgelesen. Soweit es sich bei der Verifikations anfrage um einen „falschen" Verifikationscode handelt, müssen sämtliche Datensätze 31 abgearbeitet werden, bevor eine entsprechende Nachricht zurückgegeben werden kann.Identity, the server 20 transmits a message indicating that it is a valid verification code. Otherwise, the next record 31 is selected and read out. Insofar as the verification request is a "false" verification code, all data records 31 must be processed before a corresponding message can be returned.
Es sind zahlreiche Verfahren denkbar, die die Performance des Servers 20 verbessern. Insbesondere ist es möglich, die zu überprüfenden Datensätze 31 durch entsprechende Vorgaben zu beschränken. Für das Umsetzen des erfindungsgemäßen Verfahrens und die zugehörige Vorrichtung ist es, wie gesagt, nicht zwingend notwendig, entsprechende Identifikationsnummern ID bereitzustellen.Numerous methods are conceivable which improve the performance of the server 20. In particular, it is possible to limit the data records 31 to be checked by corresponding specifications. For the implementation of the method according to the invention and the associated device, as stated, it is not absolutely necessary to provide corresponding identification numbers ID.
Vorhergehend wurde eine Vielzahl von Maßnahmen beschrieben, die die Verifizierung der Echtheit mittels eines Verifikationscodes ermöglicht. Die einzelnen Maßnahmen lassen sich sowohl gemeinsam als auch getrennt voneinander einsetzen. Abhängig von den Anforderungen an die Sicherheit eines Verifikationscodes können einzelne oder alle Maßnahmen ausgewählt werden.Previously, a variety of measures were described that allow the verification of authenticity by means of a verification code. The individual measures can be used both together and separately. Depending on the requirements for the security of a verification code, individual or all measures can be selected.
Insbesondere ist es denkbar, auf einen Quantenzufallsgenerator bei der Erzeugung der Zufallszeichenkette ZZ zu verzichten. Des Weiteren kann entweder eine statische oder dynamische Permutationsfunktion p bzw. Permutationsabbildungsfunktion verwendet werden.In particular, it is conceivable to dispense with a quantum random generator when generating the random character string ZZ. Furthermore, either a static or dynamic permutation function p or permutation mapping function can be used.
Letztendlich ist es möglich, auf den in Fig. 5 gezeigten Statuseintrag zu verzichten oder weitere Status dem Datensatz 31 hinzuzufügen. Ebenso lässt sich die Darstellung des Verifikationscodes, wie in Fig. 2 gezeigt, beliebig abändern. Es ist möglich, eine Darstellung mit weniger Bildpunkten 61, 61 ' oder mehr Bildpunkten 61, 61' zu wählen. Die Rastergrafik muss nicht gleich viele Zeilen und Spalten haben. Je nach Anforderung kann die zugehörige Matrix variiert werden.Finally, it is possible to dispense with the status entry shown in FIG. 5 or to add further statuses to the data record 31. Likewise, the representation of the verification code, as shown in FIG. 2, can be changed as desired. It is possible to choose a representation with fewer pixels 61, 61 'or more pixels 61, 61'. The raster graphic does not have to have the same number of rows and columns. Depending on the requirement, the associated matrix can be varied.
In den vorab beschriebenen Ausführungsbeispielen wurden quadratische Bildpunkte 61, 61 ' verwendet, um einzelne Bits in einer Darstellung zu codieren. Es ist denkbar, anstelle der viereckigen Bildpunkte 61, 61 ' Kreise zu verwenden.In the embodiments described above, square pixels 61, 61 'were used to encode individual bits in a representation. It is conceivable to use circles instead of the square pixels 61, 61 '.
Die Erfindung sollte auch nicht auf eine Rastergrafik beschränkt sein. Denkbar ist es, den Verifikationscode beispielsweise in Form eines Strichcodes auf dem Produkt abzubilden. Es kann auch eine reine digitale Speicherung, beispielsweise auf einem RFID-Tag oder einem beliebigen anderen auslesbaren Speicher vorgenommen werden.Nor should the invention be limited to a raster graphics. It is conceivable, the verification code, for example, in the form of a bar code on the product. It is also possible to carry out purely digital storage, for example on an RFID tag or any other readable memory.
BezugszeichenlisteLIST OF REFERENCE NUMBERS
1 WAN1 WAN
10 Lesegerät10 reader
20 Server20 servers
30 Datenbank30 database
31 Datensatz31 record
40 Client40 client
50 Produkt50 product
60 Etikett60 label
61, 61' Bildpunkt61, 61 'pixel
62 Klartextbereich62 plain text area
64 Datenbereich64 data area
66 Permutationsbereich66 permutation area
ZZ ZufallszeichenketteCurrently random string
ZZl, ZZ2 ZufallsteilzeichenketteZZl, ZZ2 Random substring
P PermutationsfunktionP permutation function
PZZ PermutationszeichenkettePZZ permutation string
ID Identifikationsnummer ID identification number

Claims

Ansprüche claims
1. Verfahren zum Erzeugen eines Verifikationscodes für einen Gegenstand, umfassend die Schritte: a) Erzeugen einer Zufallszeichenkette (ZZ), die sich in eine erste Zufallsteilzeichenkette (ZZl) und eine zweite Zufallsteilzeichenkette (ZZ2) aufteilen lässt, b) Erzeugen einer Permutationszeichenkette (PZZ) durch ein Abbilden der Zufallszeichenkette (ZZ) gemäß einer Abbildungsfunktion (p), c) Speichern der zweiten Zufallsteilzeichenkette (ZZ2) und der Abbildungsfunktion (p) in einer Datenbank (30), d) Erzeugen einer Darstellung (60) der Permutationszeichenkette (PZZ) und der ersten Zufallsteilzeichenkette (ZZl) als Verifikationscode.A method of generating a verification code for an article, comprising the steps of: a) generating a random string (ZZ) that can be divided into a first random substring (ZZl) and a second random substring (ZZ2), b) generating a permutation string (PZZ c) storing the second random substring (ZZ2) and the mapping function (p) in a database (30), d) generating a representation (60) of the permutation string (PZZ ) and the first random substring (ZZl) as a verification code.
2. Verfahren zum Erzeugen eines Verifikationscodes für einen Gegenstand, umfassend die Schritte: a) Erzeugen einer Zufallszeichenkette (ZZ), die sich in eine erste Zufallsteilzeichenkette (ZZl) und eine zweite Zufallsteilzeichenkette (ZZ2) aufteilen lässt, b) Erzeugen einer Permutationszeichenkette (PZZ) durch ein Abbilden der Zufallszeichenkette (ZZ) gemäß einer Abbildungsfunktion (p), c) Speichern der zweiten Zufallsteilzeichenkette (ZZ2), der Abbildungsfunktion (p) und einer Identifikationsnummer (ID) in einer Datenbank (30), d) Erzeugen einer Darstellung (60) der Permutationszeichenkette (PZZ), der Identifikationsnummer (ID) und der ersten Zufallsteilzeichenkette (ZZl) als Verifikationscode.2. A method for generating a verification code for an article, comprising the steps of: a) generating a random character string (ZZ), which can be divided into a first random substring (ZZl) and a second random substring (ZZ2), b) generating a permutation string (PZZ by mapping the random character string (ZZ) according to a mapping function (p), c) storing the second random substring (ZZ2), the mapping function (p) and an identification number (ID) in a database (30), d) generating a representation (Z) 60) of the permutation string (PZZ), the Identification number (ID) and the first random substring (ZZl) as a verification code.
3. Verfahren nach Anspruch 1 oder 2, d adurch gekennz eichne t, dass die Zufallszeichenkette (ZZ) eine Binärzeichenkette ist.A method according to claim 1 or 2, characterized by that the random string (ZZ) is a binary string.
4. Verfahren nach einem der vorhergehenden Ansprüche, d adurch gekennz eichne t, dass der Schritt d) ein Abbilden der Permutationszeichenkette (PZZ) und/oder der Identifikationsnummer (ID) und/oder der ersten Zufallsteilzeichenkette (ZZl) auf eine Rastagrafik mit einer Vielzahl von Bildpunkten umfasst.4. Method according to one of the preceding claims, characterized in that the step d) comprises mapping the permutation character string (PZZ) and / or the identification number (ID) and / or the first random substring (ZZl) to a plotted graphics with a plurality of pixels.
5. Verfahren nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 3, d adurch gekennz eichne t, dass die Rastagrafik einen Datenbereich (64) zur Darstellung der5. The method according to any one of the preceding claims, in particular according to claim 3, d adurch gekennz eichne t that the Rastagrafik a data area (64) for displaying the
Identifikationsnummer (ID), einen Klartextbereich (62) zur Darstellung der ersten Zufallsteilzeichenkette (ZZl), einen Permutationsbereich (66) zur Darstellung der Permutationszeichenkette (PZZ) umfasst, wobei der Klartextbereich (62) n Bildpunkte und der Permutationsbereich (66) n*2 Bildpunkte hat.Identification number (ID), a plaintext area (62) for representing the first random substring (ZZl), a permutation area (66) for displaying the permutation string (PZZ), the plaintext area (62) having n pixels and the permutation area (66) n * 2 Has pixels.
6. Verfahren nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 5, d adurch gekennz eichne t, dass der Datenbereich (64), der Klartextbereich (62) und der Permutationsbereich (66) in Blöcken, insbesondere in zusammenhängenden Blöcken angeordnet sind.6. The method according to any one of the preceding claims, in particular according to claim 5, d adurch gekennz eichne t that the data area (64), the plaintext area (62) and the permutation area (66) are arranged in blocks, in particular in contiguous blocks.
7. Verfahren nach einem der vorhergehenden Ansprüche, insbesondere nach einem der Ansprüche 3 - 6, gekennz eichne t durch ein Verfälschen der Rastagrafik durch ein Multiplizieren mit einer Rauschmatrix, insbesondere aus Zufallszahlen.7. The method according to any one of the preceding claims, in particular according to one of claims 3 - 6, gekennz eichne t by distorting the Rastagrafik by multiplying with a noise matrix, in particular from random numbers.
8. Verfahren nach einem der vorhergehenden Ansprüche, d adurch gekennz eichne t, dass der Schritt a) die Erzeugung mindestens einer Zufallszahl mittels eines nichtdeterministischen Zufallszahlengenerator, insbesondere unter Verwendung eines Quanten-Zufallszahlengenerators umfasst.8. Method according to one of the preceding claims, characterized in that the step a) comprises the generation of at least one random number by means of a non-deterministic random number generator, in particular using a quantum random number generator.
9. Verfahren nach einem der vorhergehenden Ansprüche, d adurch gekennz eichne t, dass die Abbildungsfunktion (p) für einen Gegenstand aus einer Vielzahl von Abbildungsfunktionen, insbesondere zufällig ausgewählt wird.9. Method according to one of the preceding claims, characterized in that the imaging function (p) for an object is selected from a plurality of imaging functions, in particular randomly.
10. Verfahren nach einem der vorhergehenden Ansprüche, gekennz eichn et durch ein Speichern eines Aktivierungszustandes in der Datenbank (30), wobei der Verifikationscode nur dann aktiviert wird, wenn eine entsprechende Anfrage von mindestens einer Zertifizierungs stelle erfolgt.10. The method according to any one of the preceding claims, gekennz eichn et by storing an activation state in the database (30), wherein the verification code is activated only if a corresponding request from at least one certification body takes place.
11. Verfahren nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 10, d adurch gekennz ei chnet, dass zur Aktivierung des Verifikationscodes eine Vielzahl von Anfragen von einer Vielzahl von unterschiedlichen Zertifizierungsstellen, insbesondere in einer vorgegebenen Reihenfolge nötig ist.11. The method according to any one of the preceding claims, in particular according to claim 10, d adurch gekennz egg chnet that for activating the verification code a plurality of requests from a plurality of different certification bodies, in particular in a predetermined order is necessary.
12. Verifikationscode für einen Gegenstand, erzeugt nach einem Verfahren gemäß einem der vorhergehenden Ansprüche.12. A verification code for an article produced by a method according to one of the preceding claims.
13. Verfahren zum Verifizieren der Echtheit von Gegenständen, umfassend die Schritte: a) Auslesen eines am Gegenstand und/oder dessen Verpackung angebrachten Verifikationscodes, insbesondere eines Verifikationscodes, der nach Anspruch 12 erzeugt wurde, wobei der Verifikationscode eine erste Permutationszeichenkette (PZZ) und eine erste Zufallsteilzeichenkette (ZZl) umfasst; b) Auslesen mindestens eines Vergleichsdatensatz (31), der auf einem Server (20) gespeichert ist, wobei der Vergleichsdatensatzes (31) eine Abbildungsfunktion (p) und eine zweite Zufallsteilzeichenkette (ZZ2) umfasst; c) Generieren einer Ausgangszeichenkette durch ein Verarbeiten, insbesondere Verknüpfen der ersten und der zweiten Zufallsteilzeichenkette (ZZl, ZZ2); d) Generieren einer zweiten Permutationszeichenkette durch ein Abbilden der Ausgangszeichenkette gemäß der Abbildungsfunktion (p); e) Vergleichen der ersten Permutationszeichenkette (PZZ) mit der zweiten Permutationszeichenkette, um die Echtheit des Gegenstands festzustellen.13. A method of verifying the authenticity of articles, comprising the steps of: a) reading out a verification code attached to the article and / or its packaging, in particular a verification code generated according to claim 12, wherein the verification code comprises a first permutation string (PZZ) and a first random substring (ZZl); b) reading at least one comparison data record (31) stored on a server (20), the comparison data record (31) comprising a mapping function (p) and a second random substring (ZZ2); c) generating an output string by processing, in particular linking the first and the second random substring (ZZl, ZZ2); d) generating a second permutation string by mapping the output string according to the mapping function (p); e) comparing the first permutation string (PZZ) with the second permutation string to determine the authenticity of the item.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass die Schritte b), die Schritte c), die Schritte d) und Schritt e) mehrfach durchgeführt werden, um die Echtheit des Gegenstands festzustellen.14. The method according to claim 13, characterized in that the steps b), the steps c), the steps d) and step e) are performed several times to determine the authenticity of the object.
15. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass ein Gegenstand dann als nicht echt eingestuft wird, wenn der Schritt e) für eine vorbestimmte Menge von Vergleichsdatensätzen (31) durchgeführt wurde, ohne dass eine mit der ersten Permutationszeichenkette (PZZ) übereinstimmende zweite Permutationszeichenkette gefunden wurde.15. The method according to claim 13, characterized in that an object is classified as not genuine if the step e) was carried out for a predetermined set of comparison data sets (31), without that one with the first permutation string (PZZ) matching second permutation string was found.
16. Verfahren zum Verifizieren der Echtheit von Gegenständen, umfassend die Schritte: a) Auslesen eines am Gegenstand und/oder dessen Verpackung angebrachten Verifikationscodes, insbesondere eines Verifikationscodes der nach einem der vorhergehenden Ansprüche erzeugt wurde, wobei der Verifikationscode eine erste Permutationszeichenkette (PZZ), eine Identifikationsnummer (ID) und eine erste Zufallsteilzeichenkette (ZZl) umfasst; b) Auslesen mindestens eines korrespondierenden Datensatzes (31) der auf einem Server (20) gespeichert ist, wobei der Datensatz (31) anhand der Identifikationsnummer (ID) identifiziert wird, wobei der Datensatz (31) eine Abbildungsfunktion (p) und eine zweite Zufallsteilzeichenkette (ZZ2) umfasst; c) Generieren einer Ausgangszeichenkette durch das Verbinden der ersten und der zweiten Zufallsteilzeichenkette (ZZl, ZZ2); d) Generieren einer zweiten Permutationszeichenkette durch ein Abbilden der Ausgangszeichenkette gemäß der Abbildungsfunktion (p); e) Vergleichen der ersten Permutationszeichenkette (PZZ) mit der zweiten Permutationszeichenkette, um die Echtheit des Gegenstands festzustellen.16. A method of verifying the authenticity of articles, comprising the steps of: a) reading a verification code attached to the article and / or its packaging, in particular a verification code generated according to one of the preceding claims, wherein the verification code comprises a first permutation character string (PZZ), an identification number (ID) and a first random substring (ZZl); b) reading at least one corresponding record (31) stored on a server (20), the record (31) being identified by the identification number (ID), the record (31) having a mapping function (p) and a second random substring (ZZ2) comprises; c) generating an output string by combining the first and second random substrings (ZZ1, ZZ2); d) generating a second permutation string by mapping the output string according to the mapping function (p); e) comparing the first permutation string (PZZ) with the second Permutation string to determine the authenticity of the item.
17. Verfahren nach einem der Ansprüche 12 bis 16, d adurch gekennz eichne t, dass der Schritt e) ein Festellen umfasst, ob der Verifikationscode aktiviert wurde, wobei ein Verifikationscode nur dann aktiviert wird, wenn der Verifikationscode durch mindestens eine Zertifizierungsstelle zertifiziert wurde.17. The method of claim 12, wherein the step e) comprises determining whether the verification code has been activated, wherein a verification code is activated only if the verification code has been certified by at least one certification authority.
18. Verfahren nach einem der Ansprüche 12 bis 17, d adurch gekennz eichne t, dass der Verifikationscode eine Rastagrafik mit einer Vielzahl von Bildpunkten (61, 61') ist.18. The method according to any one of claims 12 to 17, d adurch gekennz eichne t that the verification code is a Rastagrafik with a plurality of pixels (61, 61 ').
19. Verfahren nach einem der Ansprüche 12 bis 18, d adurch gekennz eichnet, dass der Schritt a) ein Herausfiltern einer in der Rastagrafik eingebetteten Rauschmatrix umfasst.19. The method of claim 12, characterized in that step a) comprises filtering out a noise matrix embedded in the raster graphics.
20. Verfahren nach einem der vorhergehenden Ansprüche, d adurch gekennz eichne t, dass die Abbildungsfunktion (p) eine bijektive Abbildungsfunktion, insbesondere eine Permutation ist.20. Method according to one of the preceding claims, characterized in that the mapping function (p) is a bijective mapping function, in particular a permutation.
21. Vorrichtung zur Verifizierung der Echtheit von Gegenständen, umfassend: eine Erzeugungseinrichtung zum Erzeugen einer Vielzahl von Verifikationscodes, insbesondere gemäß dem Verfahren nach einem der Ansprüche 1 bis 11, eine Verifikationseinrichtung zur Verifikation mindestens eines Verifikationscodes, insbesondere gemäß dem Verfahren nach einem der Ansprüche 13 bis 20, mindestens eine Datenbank (30) zum Speichern von21. A device for verifying the authenticity of objects, comprising: generating means for generating a plurality of verification codes, in particular according to the method according to one of claims 1 to 11, a verification device for verifying at least one verification code, in particular according to the method according to one of claims 13 to 20, at least one database (30) for storing
Zufallsteilzeichenketten (ZZ2) und mindestens einer Abbildungsfunktion (p) für die Verifikationscodes.Random substrings (ZZ2) and at least one mapping function (p) for the verification codes.
22. Vorrichtung zur Verifizierung der Echtheit von Gegenständen, umfassend: eine Erzeugungseinrichtung zum Erzeugen einer Vielzahl von Verifikationscodes, insbesondere gemäß dem Verfahren nach einem der Ansprüche 1 bis 11, eine Verifikationseinrichtung zur Verifikation mindestens eines Verifikationscodes, insbesondere gemäß dem Verfahren nach einem der Ansprüche 13 bis 20, mindestens einer Datenbank (30) zum Speichern von22. A device for verifying the authenticity of objects, comprising: generating means for generating a plurality of Verification codes, in particular according to the method according to one of claims 1 to 11, a verification device for verifying at least one verification code, in particular according to the method according to one of claims 13 to 20, at least one database (30) for storing
Zufallsteilzeichenketten (ZZ2), mindestens einer Abbildungsfunktion (p) und Identifikationsnummern (ID) für die Verifikationscodes.Random substrings (ZZ2), at least one mapping function (p) and identification numbers (ID) for the verification codes.
23. Vorrichtung nach Anspruch 21 oder 22, gekennz eichne t durch einen nicht-deterministischen Zufallsgenerator, insbesondere einen Quanten- Zufallszahlengenerator zur Erzeugung von Zufallszahlen.23. The apparatus of claim 21 or 22, gekennz eichne t by a non-deterministic random number generator, in particular a quantum random number generator for generating random numbers.
24. Vorrichtung nach einem der Ansprüche 21 bis 23, gekennz eichne t durch mindestens eine Leseeinrichtung (10) zur Erfassung einer Rastagrafik.24. Device according to one of claims 21 to 23, gekennz eichne t by at least one reading device (10) for detecting a Rastagrafik.
25. Vorrichtung nach einem der Ansprüche 21 bis 24, gekennz eichne t durch eine Überwachungseinrichtung, die an die Verifikationseinrichtung gerichtete Anfragen überwacht und nach einer kritischen Anfrage mindestens einen Teil einer zu einem Verifikationscode gehörenden Zufallsteilzeichenkette (ZZ2) und Abbildungsfunktion (p) ändert, wobei die Änderungen derart sind, dass ein unter Verwendung der Abbildungsfunktion (p) und der Zufallsteilzeichenkette (ZZ2) generierter Verifikationscode unverändert bleibt.25. Device according to claim 21, characterized by a monitoring device that monitors requests directed to the verification device and, after a critical request, changes at least part of a random sub-string (ZZ2) and mapping function (p) belonging to a verification code, wherein the changes are such that a verification code generated using the mapping function (p) and the random substring (ZZ2) remains unchanged.
26. Vorrichtung nach Anspruch 25, d adurch gekennz eichne t, dass die Überwachungseinrichtung derart ausgebildet ist, dass eine Anfrage zufällig und/oder beim erfüllen eines vorgegebenen Kriteriums als kritisch eingestuft wird.26. Device according to claim 25, characterized in that the monitoring device is designed in such a way that a request is classified as critical at random and / or when fulfilling a predetermined criterion.
27. Vorrichtung nach Anspruch 25 oder 26, d adurch gekennz eichne t, dass die Überwachungseinrichtung derart ausgebildet ist, dass bei einer kritischen Anfrage eine Vielzahl von Abbildungsfunktionen (p) und Zufallsteilzeichen (ZZ2) geändert wird.27. Device according to claim 25 or 26, characterized in that the monitoring device is designed in such a way that, in the case of a critical request, a multiplicity of mapping functions (p) and random partial signs (ZZ2) will be changed.
28. Vorrichtung nach einem der Ansprüche 21 bis 27, g e k e n n z e i c h n e t durch eine Aktivierungseinrichtung, die mit mindestens einer Zertifizierungs stelle kommuniziert, die mit dem Verifikationscode bestückte Gegenstände erfasst, wobei die Aktivierungseinrichtung einen Verifikationscode erst dann aktiviert, wenn der zugehörige Gegenstand von der mindestens einen Zertifizierungsstelle erfasst wurde.28. The device according to one of claims 21 to 27, characterized by an activation device that communicates with at least one certification agency that detects the equipped with the verification code items, the activation device only activates a verification code when the associated item from the at least one certification authority was recorded.
29. Vorrichtung nach Anspruch 28, d a d u r c h g e k e n n z ei c h n e t, dass die Aktivierungseinrichtung derart ausgebildet ist, dass sie einen Verifikationscode nur dann aktiviert, wenn der zugehörige Gegenstand von einer Vielzahl von Zertifizierungs stellen erfasst wurde. 29. The device according to claim 28, wherein the activation device is designed such that it activates a verification code only when the associated object has been detected by a plurality of certification bodies.
PCT/EP2008/065924 2008-09-30 2008-11-20 Method for generating a verification code, verification code, method and device for verifying the authenticity of objects WO2010037429A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IBPCT/IB2008/002992 2008-09-30
IB2008002992 2008-09-30

Publications (1)

Publication Number Publication Date
WO2010037429A1 true WO2010037429A1 (en) 2010-04-08

Family

ID=41110986

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/065924 WO2010037429A1 (en) 2008-09-30 2008-11-20 Method for generating a verification code, verification code, method and device for verifying the authenticity of objects

Country Status (1)

Country Link
WO (1) WO2010037429A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017071541A1 (en) * 2015-10-28 2017-05-04 北京金山办公软件股份有限公司 Numerical verification code generation method and device
CN111144161A (en) * 2020-04-03 2020-05-12 支付宝(杭州)信息技术有限公司 Barcode identification method and device, commodity information determination method and payment method
CN111835505A (en) * 2019-04-16 2020-10-27 上海擎感智能科技有限公司 Activation code generation method and device and computer storage medium
CN112084511A (en) * 2020-08-27 2020-12-15 欧菲微电子技术有限公司 Encryption method and device of service life information, storage medium and electronic equipment
CN114584327A (en) * 2022-05-09 2022-06-03 山东捷瑞数字科技股份有限公司 Verification method and system for graphic verification code generated by client

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972475A (en) * 1987-02-10 1990-11-20 Veritec Inc. Authenticating pseudo-random code and apparatus
WO2004070682A2 (en) * 2003-02-04 2004-08-19 Dietrich Heinicke Product security system and method therefor
WO2007120247A2 (en) * 2005-12-29 2007-10-25 Chemimage Corporation Method and apparatus for counterfeiting protection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972475A (en) * 1987-02-10 1990-11-20 Veritec Inc. Authenticating pseudo-random code and apparatus
WO2004070682A2 (en) * 2003-02-04 2004-08-19 Dietrich Heinicke Product security system and method therefor
WO2007120247A2 (en) * 2005-12-29 2007-10-25 Chemimage Corporation Method and apparatus for counterfeiting protection

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017071541A1 (en) * 2015-10-28 2017-05-04 北京金山办公软件股份有限公司 Numerical verification code generation method and device
US10565366B2 (en) 2015-10-28 2020-02-18 Beijing Kingsoft Office Software, Inc. Numerical verification code generation method and device
CN111835505A (en) * 2019-04-16 2020-10-27 上海擎感智能科技有限公司 Activation code generation method and device and computer storage medium
CN111835505B (en) * 2019-04-16 2023-06-30 上海擎感智能科技有限公司 Activation code generation method and device and computer storage medium
CN111144161A (en) * 2020-04-03 2020-05-12 支付宝(杭州)信息技术有限公司 Barcode identification method and device, commodity information determination method and payment method
CN112084511A (en) * 2020-08-27 2020-12-15 欧菲微电子技术有限公司 Encryption method and device of service life information, storage medium and electronic equipment
CN114584327A (en) * 2022-05-09 2022-06-03 山东捷瑞数字科技股份有限公司 Verification method and system for graphic verification code generated by client

Similar Documents

Publication Publication Date Title
DE69824291T2 (en) CHECK THE GENUINITY OF GOODS USING RANDOM COUNTS
DE60221700T2 (en) SYSTEMS FOR SAFELY MARKING DATA
DE10328328B4 (en) Product protection portal and method for checking the authenticity of products
EP2465078B1 (en) Secure identification of a product
EP1944716B1 (en) Method and device for backing up a document with an inserted signature image and biometric information in a computer system
DE112007001726B4 (en) Anti-counterfeiting mark and method of detecting a counterfeit product
DE202004021547U1 (en) Label for application to a product or its packaging
EP2433239A1 (en) Unique identifier, method for providing said unique identifier and use of said unique identifier
EP2984814B1 (en) Generation and recognition of image information data that can be printed in a forgery-proof manner
WO2010037429A1 (en) Method for generating a verification code, verification code, method and device for verifying the authenticity of objects
EP3791367A1 (en) Method for producing security elements in an image which are not visible to the human eye and cannot be copied, and printed image
EP2283456B1 (en) Method and device for identifying objects
WO2017012602A1 (en) Method for checking the authenticity of the indication of origin and the shelf-life specifications of products
DE102007034527B4 (en) Method and system for identifying a product as original product of a commodity manufacturer
DE102018115348A1 (en) Anti-counterfeiting and dispensing control of consumer goods
WO2005010814A1 (en) Forgery-proof document and method for producing the same
DE10256260A1 (en) Product verification method, especially for high value products, e.g. pharmaceutical and medical products, whereby a production identification code, e.g. a barcode, includes a database address to connect to for verification
EP3658384B1 (en) Hand stamp
DE69928914T2 (en) Authenticating electronic identification system and method
DE10137695B4 (en) A method and apparatus for identifying an item within a plurality of items
CH700859A2 (en) Indicator for verifying the authenticity of a product and method thereof.
DE10328792A1 (en) Personal identification method for producing documents like identity cards incapable of being forged applies digitally signed features to a document
DE102018105509A1 (en) Marking a product
DE102020129263A1 (en) Procedures for verifying the authenticity of objects
WO2011116983A1 (en) Product protection system and product protection method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08875347

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08875347

Country of ref document: EP

Kind code of ref document: A1