WO2010124735A1 - System zum herstellen eines durch einen verifikationscode geschützten gegenstands, verfahren zur herstellung eines entsprechenden gegenstands, verfahren zum verifizieren der echtheit eines gegenstands - Google Patents

System zum herstellen eines durch einen verifikationscode geschützten gegenstands, verfahren zur herstellung eines entsprechenden gegenstands, verfahren zum verifizieren der echtheit eines gegenstands Download PDF

Info

Publication number
WO2010124735A1
WO2010124735A1 PCT/EP2009/055240 EP2009055240W WO2010124735A1 WO 2010124735 A1 WO2010124735 A1 WO 2010124735A1 EP 2009055240 W EP2009055240 W EP 2009055240W WO 2010124735 A1 WO2010124735 A1 WO 2010124735A1
Authority
WO
WIPO (PCT)
Prior art keywords
random
group
substring
verification code
code
Prior art date
Application number
PCT/EP2009/055240
Other languages
English (en)
French (fr)
Inventor
Carlo 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
Priority to PCT/EP2009/055240 priority Critical patent/WO2010124735A1/de
Publication of WO2010124735A1 publication Critical patent/WO2010124735A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management

Definitions

  • the invention relates to a system for producing an article protected by a verification code, to a method for producing a corresponding article and to a method for verifying the authenticity of an article.
  • Counterfeiting 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.
  • DE 698 24 291 T2 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 to a corresponding device which determines if this is a valid verification code. For this purpose, DE 698 24 291 T2 proposes forming a combination code from a random number and a non-random section, the non-random section providing information as to whether the object is genuine or counterfeit.
  • 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, otherwise the product will no longer be marketable.
  • the costs required for the equipment should amount to only a few euro cents.
  • the object is achieved by a system for producing a verification code protected article, the system comprising:
  • Reading device for reading in a verification code applied or to be applied to the article with a first random partial string; Random generator for generating a second random partial string; A computation unit for generating a hash code by mapping a random string comprising the first and second random substrings according to a hash function and selecting a candidate group for storing the second random substring and the hash code as a record associated with the candidate group in a database, the candidate group using the Verification codes, in particular the first random substring is determined.
  • a particular advantage of the verification code produced in the above-mentioned manner is that it is possible to dispense with an identification number, since a quick association between the product and the associated data record is possible without the use of an identification number. Furthermore, authentic verification codes can only be created if there is access to the first random substring, the second random substring, the hash code, and the hash function. Even with access to records from the database, it is not possible to guess or derive valid verification codes with corresponding first random substrings. Since the hash functions used here preferably have no inverse functions, it is virtually impossible to get from the hash code and the second random substring to a valid verification code.
  • the random number generator is adapted to generate a second random substring, wherein the cardinality of the second random substring is substantially equal to the cardinality of the first random substring.
  • the security of the security system is further increased. For example, 10-bit substrings can be used.
  • the arithmetic unit for determining the candidate group uses at least one group mapping function, in particular a hash function.
  • the arithmetic unit can be adapted to select the candidate group in an iterative method, wherein at least one subgroup is selected within a group until the candidate group is determined based on at least one group mapping function.
  • An iterative method can be used to initialize a hierarchically structured group structure, which guarantees a fast access time when querying the database.
  • the complexity of the group mapping function is less in a first iteration step than in a second one.
  • the second iteration step is performed directly or indirectly after the first one.
  • the complexity of the group mapping function increases with each iteration step. That is, the complexity or computational effort required to select a particular subgroup increases in each iteration step.
  • very fast and secure systems can be designed. In the search for the candidate group, many groups can be discarded at a very early stage. These steps can be performed very quickly with a low complexity of the group mapping function.
  • the group mapping function is preferably a cluster algorithm, in particular a topology-preserving cluster algorithm. That is, the individual records with the second random substring and the hash code are mapped into clusters. To determine if a particular verification code is authentic, a corresponding cluster is identified from the first random substring that should contain the associated record. This cluster can contain a large number of data records. It is possible to try all of these records to see if the provided verification code is authentic. As far as it is a topology preserving clusters, records with similar properties are in close proximity. It is conceivable to also process these adjacent data records in a next step in order to determine whether the provided verification code is authentic.
  • the cluster algorithm is preferably a one-dimensional and / or self-organizing map, in particular a Kohonen map.
  • the corresponding cluster can be built dynamically, while preserving the topology of the records.
  • the object mentioned at the outset is furthermore achieved by a method for producing an article provided with a verification code according to claim 9.
  • the object is achieved by a method for producing a device provided with a verification code, the method comprising the following steps:
  • a one-way function is used as a hash function.
  • This is a mathematical function that is "difficult" to reverse in terms of complexity theory, preferably a cryptographic hash function, ie a one-way function, the further quality requirements (low probability of collisions of the hash values for the input value range or a distribution of the hash values that is as uniform as possible) , high data reduction, a chaotic behavior of the hash function, surjectivity, efficiency).
  • the cardinality of the first random substring may be substantially equal to the cardinality of the second random substring.
  • a symmetrical distribution of the random string ensures high security of the associated verification code.
  • the object is achieved by a method for verifying according to claim 20.
  • the object is achieved by a method for verifying the authenticity of an object, the method comprising the following steps:
  • the number of data records within the candidate group is significantly smaller than that of all stored data records.
  • Steps c), d) and e) may be performed on a plurality of records from the candidate set of records to determine the genuineness of the item. It is thus possible to determine the authenticity of a verification code by processing all data records after identifying a candidate group with a plurality of data records possibly belonging to the verification code. That is, for every second random substring in conjunction with the first random substring, the first hash code is generated according to the given hash function and compared with the second hash code stored in the corresponding record. If a record can be identified in which the first hash code matches the second hash code, then the verification code is considered authentic. Otherwise, it must be assumed that the verification code, and therefore the associated product or article, is a forgery.
  • the candidate set of records can be determined in an iterative procedure. This means that several iteration steps are carried out in which a particular subgroup, which possibly contains the one or more associated data records, is determined on the basis of the first random substring within a group. Thus, in each iteration step of the iterative method, a subgroup can be selected from a group, wherein the subgroup can be determined by means of a group mapping function based on the verification code, in particular on the basis of the first random substring. Thus, groups that are not considered as a candidate group can be discarded quickly and efficiently.
  • the complexity for determining a subgroup from the group based on the verification code is preferably lower in a first iteration step than in a second one. That is, the computational effort increases in each iteration step. Thus, at the beginning of the iteration process, a plurality of groups may be discarded quickly and efficiently. Only the last groups to be considered are determined with very complex procedures.
  • FIG. 1 shows a system for the production and verification of verification codes
  • FIG. 2 shows a product marked with a verification code
  • FIG. 3 shows the organization of a cluster for storing verification of the
  • FIG. 4 is an illustration of a first random substring and a second one.
  • FIG. 5 shows a first data structure of a database
  • FIG. 6 shows a second data structure of a database.
  • the server 20 has a reading device 21, a random number generator 22, a computing unit 24 and a database 30.
  • the workstation 40 may have a further reading device, namely a scanner 41.
  • a central idea of the present invention is to provide a verification code that can only be verified in combination with a database entry.
  • the verification mechanism includes a first random substring S 1 and a second random partial string R 1 .
  • the first random substring S 1 forms the verification code in a first embodiment.
  • the verification code may include further data fields, for example an identification number i. According to the invention, these further data fields are optional.
  • An illustration of the verification code is attached to a product 50 in the form of a label 60 (FIG. 2).
  • the product may be a container for tablets.
  • the verification code secures the authenticity of the tablets in this case.
  • the representation may be applied directly to the product 50 to be assured.
  • the verification code may be part of the product 50.
  • the random substrings S 1 , R 1 differ from one another and form only as a pair a random character string S 1 R 1 , which can be mapped by means of a hash function H to a valid hash code h.
  • This hash code h i is stored with the second random substring R 1 in a central database, for example database 30.
  • a corresponding database table is shown in FIG.
  • This table which is stored in the database 30, comprises a plurality of entries, for example a first one Data record 31 and a second data record 31 'Each of these data records 31, 31' corresponds to a valid - ie genuine - verification code.
  • a corresponding verification code (cf., for example, FIG. 2) must therefore be related to the associated data record (cf., for example, data record 31).
  • this reference may be made by an identification number i stored in the database 30 (see Fig. 6) and displayed on the product 50.
  • a particular advantage of the present invention is that an identification number i, which must be stored on the product 50 and in the database 30, can be dispensed with.
  • the verification code on the product 50 consists only of a first random substring. It would be possible to process all the records 31, 31 'in the database 30 to determine if a record 31 exists that confirms the authenticity of such a designed verification code. It can easily be seen that, depending on the nature of the hash function H and the number of data records 31, 31 ', this process will take a very long time.
  • the present invention proposes to use the verification code, in particular the first random substring S 1 , to identify a selection of data sets 31, 31 'in the database 30, ie a candidate group 1, possibly belonging to a specific verification code ,
  • the verification code in particular the first random substring S 1
  • the database 30 is organized such that the records 31, 31 'are arranged either in a first lower interval or in a second upper interval.
  • the lower interval can be the interval [0; 511]
  • the upper interval is the interval [512; 1023].
  • a plurality of data records 31, 31 ' can thus be excluded by considering the correct interval.
  • a verification process can therefore proceed as follows:
  • step 3 Repeat step 3 with the further data records 31, 31 'from candidate group 1 until either a matching data record 31 has been identified or all data records 31, 31' from candidate group 1 have been processed.
  • the upper and lower intervals can be subdivided into further subintervals.
  • the lower interval may be the two intervals [0; 255] and [256; 511].
  • the intervals are organized in hierarchical groups, so that it is possible to iteratively identify a corresponding candidate group 1.
  • Each interval or group is such that in this or this, at least theoretically, a plurality of data sets 31, 31 'for a plurality of verification codes can be stored.
  • the above-described iteration method has the further advantage that only one bit of the first random substring S 1 has to be considered in each iteration step.
  • the first bit of the first random sub-string S 1 provides information as to whether the associated data record 31, 31 'in the interval [0; 511] or in the interval [512; 1023] can be found.
  • the second iteration step determines the second bit on an arrangement in the smaller intervals, z. For example, [0; 255] or [256; 511].
  • the nth Iteration step is considered the nth bit.
  • a maximum of k-1 iteration steps are performed or a maximum split into 2 k 1 intervals is generated.
  • significantly fewer intervals are used to organize the data sets 31, 31 '.
  • the data sets 31, 31 ' are stored in hierarchically organized clusters, which in turn contain candidate groups 1.
  • a reference vector points to a data group or a specific data record 31, 31 ', the entries of the reference vector being increasingly encrypted. That is, the smaller the group pointed to by a corresponding vector entry with corresponding reference values, the higher the encryption.
  • Such a cluster structure can be constructed as follows:
  • step 2 for each subcluster of step 2, using a group mapping function H2 of higher complexity;
  • FIG. 3 shows sections of a cluster structure generated by this method. At the top level are two clusters, Gl, G2. Data sets 31, 31 'for a particular first random substring S 1 can be classified either in the cluster G1 or in the cluster G2 on the basis of their similarity (relative to the specific first random substring S 1 ). The first random substrings S 1 , which have been assigned to the cluster G 1 , can be mapped to a first comparison value by means of a first group mapping function H 1 and subdivided into subclusters G 1, G 12, G 13 according to this comparison value.
  • the cluster G1 contains references to the subclusters GI1, G12, G13.
  • the first random sub-strings S 1 which were assigned to the cluster G 2, can be mapped onto the first comparison value by means of the first group mapping function H 1 and subdivided into further sub-clusters according to this comparison value.
  • the first random sub-strings S 1 from the sub-clusters GI 1 can in turn be mapped by means of a second group mapping function H2 to a second comparison value H2 (H1 (S 1 )), which in three further clusters or sub-clusters Gl I l, G112. G113 is organized.
  • the subclusters Gl H, Gl 12, Gl 13 may contain further subclusters or a plurality of data sets 31, 31 '. In the present case, it is assumed that these subclusters G1H, G112, G113 are clusters which contain the data records 31, 31 '.
  • a specific data record 31 for a specific verification code can be determined as follows. Determine the membership of the clusters Gl or G2 on the basis of the first random substring S 1 . In the present case, it is assumed that the first random substring S 1 to be considered belongs to the cluster Gl. Compute Hl (S 1 ) and compare the value with the cluster reference value of cluster Eq. In the present example one identifies as a candidate the subcluster GI l. Within the subcluster GI l, the value H2 (H1 (S 1 )) is calculated and compared with the associated reference vectors. In the example described, this value would be assigned to the subcluster Gl 12. The subcluster Gl 12 thus forms the candidate group 1, which should contain the associated data record 31 for the said verification code.
  • the random character string S 1 R 1 is thus formed and a hash code Ji 1 is calculated by means of the hash function H (compare FIG. 4).
  • a record 31 from the set of data records 31, 31 'from the sub-clusters Gl can be identified 12, wherein the calculated hash code Ji 1 with the data set 31, 31' matches the stored hash code Ji 1, can it be assumed that it the entered verification code is a real verification code. Otherwise, it must be assumed that this is a forgery.
  • the cascading of the group mapping functions Hl, H2 ensures sufficient anonymity with reasonable computational effort.
  • similar first random substrings S 1 in a cluster G 1 are distributed homogeneously to the subclusters G 1, G 12, G 3.
  • the individual clusters G1, G2 and subclusters G11, G12, G13, GH1, G112, G113 have static cluster reference values.
  • the cluster reference values change as a function of the data sets 31, 31 'assigned to them.
  • the cluster reference value of the cluster Gl 12 may be the average of all the first random substrings S 1 of data sets 31, 31 'contained therein.
  • the cluster reference value for the subcluster G112 is the mean of all second comparison values H2 (H1 (S 1 )) of the data sets 31, 31 'from this subcluster Gl12.
  • H1 (S 1 ) the cluster reference value for the cluster GH after inserting a new data set 31, 31 '. This may be the mean value of the values H 1 (S 1 ) of the data sets 31, 31 'contained in this subcluster GI 1.
  • the cluster reference value of the cluster G1 is recalculated.
  • any cluster structures for a set of data sets 31, 31 ' which are organized very efficiently and any data records 31, 31' can be stored with any verification codes or first random substrings S 1 .
  • the cluster reference values can change in such a way that a unique identification of a candidate group 1 for a particular first random substring S 1 is no longer possible.
  • several clusters G1, G2 or subclusters G1, G12, G13, G1, G1, G12, G13 may possibly have to be considered in order to determine with high probability whether a particular verification code is authentic is.
  • the candidate group 1 which has cluster reference values that are most similar to the first random sub-string S 1 is identified first.
  • the associated data set 31, 31 ' can not be identified in this candidate group 1
  • further candidate groups must be identified on the basis of the similarity of their Cluster reference values are identified and searched. It is possible to use statistical and deterministic methods to cancel the search at a specific time. In doing so, it is accepted that a certain number of false positive test results can occur.
  • the method is designed in such a way that the probability of rating a verification code as non-authentic - despite its authenticity - is negligibly small (eg less than 5% or 1% or 1% o).
  • Cluster organization and search can be further improved if the cluster algorithm used here is a topology-preserving cluster algorithm. That is, first random substrings S 1 that are similar (small pitch in an order defined thereon) are mapped in the same or close cluster.
  • a self-organizing map SOM: Seif Organizing Map
  • a one-dimensional self-organizing map is used which maps the individual maps onto a linear chain of clusters, with adjacent links of this chain having very similar reference vectors.
  • the aforementioned group mapping functions H1, H2 can be any functions that allow a uniform distribution of input values to a predetermined interval. These are preferably hash functions, in particular cryptographic hash functions.
  • the random substring S 1 R 1 is generated by the random number generator 22 and a corresponding hash code Ji 1 is generated. Thereafter, the random string S 1 R 1 divided into two substantially equal parts, namely the first random partial string S 1 and the second random partial string R 1 and processed separately from each other. That is, the first random partial string S 1 is applied to the product 50, while the second random partial string R 1 having the hash code h i is stored in a data set 31, 31 '.
  • certain products 50 may already have printed a code, such as a serial number provided by a manufacturer.
  • this serial number is used as the first random sub-string S 1 and to generate by means of the random number generator 22 an associated second random sub-string R 1 and store it together with a corresponding hash code h, in a data record 31, 31 '.
  • random or deterministic parts of the serial number are selected to be used as the first random substring S 1 .
  • the selection scheme used can be stored in the database 30.
  • the hash function H was used to calculate the hash code h.
  • This hash function H can be a secure hash algorithm (SHA: secure hash algorithm).
  • SHA secure hash algorithm
  • SHA is a set of standardized cryptographic hash functions used to compute a unique check value. That is, the hash functions used should preferably be collision-free or at least keep the probability of collision as low as possible.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Vorliegend soll ein System zur Herstellung eines durch einen Verifikationscode geschützten Gegenstands bereitgestellt werden. Der Verifikationscode soll den damit gekennzeichneten Gegenstand effizient gegen eine mögliche Fälschung absichern. Das zugehörige System muss eine hohe Performance und Flexibilität aufweisen. Diese Aufgabe wird durch ein System zum Herstellen eines durch einen Verifikationscode geschützten Gegenstands gelöst, wobei das System umfasst: Leseeinrichtung zum Einlesen eines an dem Gegenstand aufgebrachten oder aufzubringenden Verifikationscodes mit einer ersten Zufallsteilzeichenkette; Zufallsgenerator zum Erzeugen einer zweiten Zufallsteilzeichenkette, Recheneinheit zum Erzeugen eines Hashcodes durch ein Abbilden einer Zufallszeichenkette, umfassend die erste und die zweite Zufallsteilzeichenkette gemäß einer Hashfunktion und zur Auswahl einer Kandidatengruppe zum Speichern der zweiten Zufallbteilzeichenkette und des Hashcodes als einen der Kandidatengruppe zugehörigen Datensatz in einer Datenbank, wobei die Kandidatengruppe anhand des Verifikationscodes, insbesondere der ersten Zufallsteilzeichenkette, bestimmt wird.

Description

System zum Herstellen eines durch einen Verifikationscode geschützten Gegenstands,
Verfahren zur Herstellung eines entsprechenden Gegenstands, Verfahren zum
Verifizieren der Echtheit eines Gegenstands
Beschreibung
Die Erfindung betrifft ein System zum Herstellen eines durch einen Verifikationscode geschützten Gegenstands, ein Verfahren zum Herstellen eines entsprechenden Gegenstands und ein Verfahren zum Verifizieren der Echtheit eines Gegenstands.
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.
Auf Grund der Fälschung werden Endabnehmer und Zwischenhändler im Bezug auf die Herkunft und die Güte der Produkte getäuscht. Insbesondere bei Arzneimitteln kann dies zu schwerwiegenden Folgen führen.
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 weiter zu geben, 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.
Allgemein müssen Verfahren, die eine Verifikation der Echtheit von Gegenständen ermöglichen, häufig zahlreiche Anforderungen erfüllen:
a) Die Verifikationscodes müssen Teile des Produkts sein oder sich leicht an diesem 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 das Produkt sonst nicht mehr marktfähig ist. Vorzugsweise sollten die für die Ausstattung nötigen Kosten sich nur auf wenige Eurocents belaufen.
b) Die Verwaltung und Aufbewahrung der Verifikationscodes muss sehr einfach gestaltet sein, da jährlich eine Vielzahl von Produkten erstellt und gekennzeichnet werden sollen.
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.
Es ist bekannt (vgl. EP 1 593 088 Bl), Produkte mit einer Identifizierungsnummer und einem deterministisch bestimmten Verifikationscode zu versehen, wobei sich die Authentizität des Verifikationscodes anhand eines Datenbankeintrags in einer zentralen Datenbank nachprüfen lässt. Hierbei wird ein entsprechender Datenbankeintrag einem Produkt über die Identifizierungsnummer zugeordnet. Häufig ist es nicht gewünscht, beispielsweise neben einer bereits vorhandenen Seriennummer weitere Nummern oder Codes auf ein Produkt aufbringen zu müssen. Der Platz für das Aufbringen derartiger Nummern ist häufig aufgrund der Beschaffenheit des Produkts begrenzt. Daher sollten Verifikationscodes so kompakt als möglich sein. Hierbei muss stets ein schneller Zugriff auf einen entsprechenden Datensatz gewährleistet sein. Aufgrund der deterministischen Erzeugung des Verifikationscodes muss hier eine zentrale Erzeugung des Codes erfolgen. Ein dezentrales Verfahren ist weder angedacht noch möglich.
Ausgehend von diesem Stand der Technik ist es Aufgabe der vorliegenden Erfindung, einen schnellen und sicheren Sicherungsmechanismus für Gegenstände bereit zu stellen. Des Weiteren soll ein System zur Herstellung eines durch einen entsprechenden Verifikationscode geschützten Gegenstands angegeben werden.
Die Aufgabe wird erfindungsgemäß durch das System gemäß Anspruch 1 gelöst.
Insbesondere wird die Aufgabe durch ein System zum Herstellen eines durch einen Verifikationscode geschützten Gegenstands gelöst, wobei das System umfasst:
Leseeinrichtung zum Einlesen eines an dem Gegenstand aufgebrachten oder aufzubringenden Verifikationscodes mit einer ersten Zufallsteilzeichenkette; Zufallsgenerator zum Erzeugen einer zweiten Zufallsteilzeichenkette; Recheneinheit zum Erzeugen eines Hashcodes durch ein Abbilden einer Zufallszeichenkette, umfassend die erste und die zweite Zufallsteilzeichenkette, gemäß einer Hashfunktion und zur Auswahl einer Kandidatengruppe zum Speichern der zweiten Zufallsteilzeichenkette und des Hashcodes als einen der Kandidatengruppe zugehörigen Datensatz in einer Datenbank, wobei die Kandidatengruppe anhand des Verifikationscodes, insbesondere der ersten Zufallsteilzeichenkette, bestimmt wird.
Ein besonderer Vorteil des auf die oben genannte Weise hergestellten Verifikationscodes besteht darin, dass es möglich ist, auf eine Identifikationsnummer zu verzichten, da eine schnelle Zuordnung zwischen dem Produkt und dem zugehörigen Datensatz ohne das Verwenden einer Identifikationsnummer möglich ist. Des Weiteren lassen sich authentische Verifikationscodes nur dann herstellen, wenn Zugriff auf die erste Zufallsteilzeichenkette, die zweite Zufallsteilzeichenkette, den Hashcode und die Hashfunktion besteht. Selbst bei einem Zugriff auf Datensätze aus der Datenbank ist es nicht möglich, gültige Verifikationscodes mit entsprechenden ersten Zufallsteilzeichenketten zu erraten oder abzuleiten. Da die hier verwendeten Hashfunktionen vorzugsweise keine Umkehrfunktionen haben, ist es quasi unmöglich, aus dem Hashcode und der zweiten Zufallsteilzeichenkette zu einem gültigen Verifikationscode zu gelangen. Vorzugsweise ist der Zufallsgenerator zur Erzeugung einer zweiten Zufallsteilzeichenkette angepasst, wobei die Kardinalität der zweiten Zufallsteilzeichenkette im Wesentlichen gleich der Kardinalität der ersten Zufallsteilzeichenkette ist. Durch eine im Wesentlichen symmetrische Verteilung der zugehörigen Teilzeichenketten wird die Sicherheit des Sicherungssystems weiter erhöht. Beispielsweise können 10-Bit lange Teilzeichenketten verwendet werden.
Vorzugsweise verwendet die Recheneinheit zur Bestimmung der Kandidatengruppe mindestens eine Gruppenabbildungsfunktion, insbesondere eine Hashfunktion.
In einem Ausführungsbeispiel kann die Recheneinheit zur Auswahl der Kandidatengruppe in einem iterativen Verfahren angepasst sein, wobei innerhalb einer Gruppe bis zur Bestimmung der Kandidatengruppe anhand mindestens einer Gruppenabbildungsfunktion jeweils mindestens eine Untergruppe ausgewählt wird. Durch ein iteratives Verfahren kann eine hierarchisch aufgebaute Gruppenstruktur initialisiert werden, die eine schnelle Zugriffszeit beim Abfragen der Datenbank gewährleistet.
Vorzugsweise ist die Komplexität der Gruppenabbildungsfunktion in einem ersten Iterationsschritt geringer als in einem zweiten. Vorzugsweise wird der zweite Iterationsschritt unmittelbar oder mittelbar nach dem ersten ausgeführt. In einem Ausführungsbeispiel nimmt die Komplexität der Gruppenabbildungsfunktion mit jedem Iterationsschritt zu. Das heißt, die Komplexität bzw. der Rechenaufwand der zur Auswahl einer bestimmten Untergruppe notwendig ist, nimmt in jedem Iterationsschritt zu. Somit können sehr schnelle und sichere Systeme gestaltet werden. Bei der Suche nach der Kandidatengruppe können zahlreiche Gruppen in einem sehr frühen Stadium verworfen werden. Diese Schritte lassen sich bei einer geringen Komplexität der Gruppenabbildungsfunktion sehr schnell durchführen.
Vorzugsweise ist die Gruppenabbildungsfunktion ein Clusteralgorithmus, insbesondere ein topologieerhaltender Clusteralgorithmus. Das heißt, die einzelnen Datensätze mit der zweiten Zufallsteilzeichenkette und dem Hashcode werden in Cluster abgebildet. Um festzustellen, ob ein bestimmter Verifikationscode authentisch ist, wird anhand der ersten Zufallsteilzeichenkette ein entsprechender Cluster identifiziert, der den zugehörigen Datensatz enthalten sollte. Dieser Cluster kann eine Vielzahl von Datensätzen enthalten. Es ist möglich, sämtliche dieser Datensätze durchzuprobieren, um festzustellen, ob der bereitgestellte Verifikationscode authentisch ist. Soweit es sich um einen topologie- erhaltenden Cluster handelt, befinden sich Datensätze mit ähnlichen Eigenschaften in unmittelbarer Nachbarschaft. Es ist denkbar, in einem nächsten Schritt ebenfalls diese benachbarten Datensätze abzuarbeiten, um festzustellen, ob der bereitgestellte Verifikationscode authentisch ist.
Vorzugsweise handelt es sich bei dem Clusteralgorithmus um eine eindimensionale und/oder selbstorganisierende Karte, insbesondere um eine Kohonenkarte. Somit kann der entsprechende Cluster dynamisch aufgebaut werden, wobei die Topologie der Datensätze erhalten bleibt.
Die eingangs genannte Aufgabe wird des Weiteren durch ein Verfahren zur Herstellung eines mit einem Verifikationscode versehenen Gegenstands gemäß Anspruch 9 gelöst.
Insbesondere wird die Aufgabe durch ein Verfahren zur Herstellung eines mit einem Verifikationscode versehenen Gegenstands gelöst, wobei das Verfahren die folgenden Schritte umfasst:
a) Erzeugen einer Zufallszeichenkette, die sich in eine erste Zufallsteilzeichenkette und eine zweite Zufalls teilzeichenketteaufteilen lässt,
b) Erzeugen eines Hashcodes durch ein Abbilden der Zufallszeichenkette gemäß einer Hashfunktion,
c) Auswählen einer Kandidatengruppe zum Speichern der zweiten Zufallsteilzeichenkette und des Hashcodes als einen der Kandidatengruppe zugehörigen Datensatz, wobei die Kandidatengruppe anhand der ersten Zufallsteilzeichenkette bestimmt wird; und
d) ein Speichern der zweiten Zufallsteilzeichenkette und des Hashcodes als einen der Gruppe zugehörigen Datensatz;
e) Erzeugen einer Darstellung der ersten Zufallsteilzeichenkette als Verifikationscode.
Das beschriebene Verfahren zeichnet sich ebenfalls dadurch aus, dass es besonders sicher und effizient ist. Das heißt, ein entsprechender Verifikationscode kann schnell hergestellt und kontrolliert werden. Hierzu trägt die Strukturierung in Gruppen bei. Vorzugsweise wird eine Einwegfunktion als Hashfunktion verwendet. D.h. eine mathematische Funktion, die im Sinne der Komplexitätstheorie „schwer" umzukehren ist. Vorzugsweise handelt es sich um eine kryptografische Hashfunktion, also eine Einwegfunktion, die weitere Qualitätsanforderungen (geringe Wahrscheinlichkeit von Kollisionen der Hashwerte für den Eingabewertebereich bzw. eine möglichst gleichmäßige Verteilung der Hashwerte, hohe Datenreduktion, ein chaotisches Verhalten der Hashfunktion, Surjektivität, Effizienz) erfüllt.
Auch bei diesem Verfahren kann die Kardinalität der ersten Zufallsteilzeichenkette im Wesentlichen gleich der Kardinalität der zweiten Zufallsteilzeichenkette sein. Eine symmetrische Aufteilung der Zufallszeichenkette gewährleistet eine hohe Sicherheit des zugehörigen Verifikationscodes.
Des Weiteren wird die Aufgabe durch ein Verfahren zum Verifizieren gemäß dem Anspruch 20 gelöst.
Insbesondere wird die Aufgabe durch ein Verfahren zum Verifizieren der Echtheit eines Gegenstands gelöst, wobei das Verfahren die folgenden Schritte umfasst:
a) Auslesen eines am Gegenstand und/oder dessen Verpackung angebrachten Verifikationscodes mit einer ersten Zufallsteilzeichenkette, insbesondere eines Verifikationscodes wie vorab beschrieben;
b) Bestimmen einer Kandidatengruppe von Datensätzen anhand des Verifikationscodes, wobei der Datensatz jeweils eine zweite Zufallsteilzeichenkette und einen Hashcode umfasst und auf einem Server gespeichert ist;
c) Generieren mindestens einer Zufallszeichenkette unter Verwendung der ersten Zufallsteilzeichenkette und mindestens einer der zweiten Zufallsteilzeichenkette, die in einem Datensatz aus der Kandidatengruppe gespeichert ist;
d) Generieren eines ersten Hashcodes durch ein Abbilden der Zufallszeichenkette gemäß einer Hashfunktion, e) Vergleichen des ersten Hashcodes mit einem zweiten, in dem Datensatz gespeicherten Hashcode, um die Echtheit des Gegenstands festzustellen.
Vorzugsweise ist die Anzahl der Datensätze innerhalb der Kandidatengruppe deutlich kleiner als die aller gespeicherten Datensätze.
Aufgrund der hierarchischen Strukturierung der Datenbank lassen sich zu einem bestimmten Verifikationscode gehörende Datensätze oder Kandidaten hierfür schnell und effizient ermitteln. Die Aufteilung in eine erste Zufallsteilzeichenkette und eine zweite Zufallsteilzeichenkette erhöht die Sicherheit des Verfahrens. Weder ein Zugriff auf eine Vielzahl von mit einem entsprechenden Verifikationscode gekennzeichneten Gegenständen noch ein Zugriff auf die Datenbank ermöglicht es, den zu Grunde liegenden Sicherheitsmechanismus zu entschlüsseln.
Die Schritte c), d) und e) können für mehrere Datensätze aus der Kandidatengruppe von Datensätzen durchgeführt werden, um die Echtheit des Gegenstands festzustellen. Es ist also möglich, die Authentizität eines Verifikationscodes dadurch zu bestimmen, dass nach der Identifikation einer Kandidatengruppe mit einer Mehrzahl von Datensätzen, die möglicherweise zu dem Verifikationscode gehören, sämtliche Datensätze abgearbeitet werden. Das heißt, für jede zweite Zufallsteilzeichenkette in Verbindung mit der ersten Zufallsteilzeichenkette wird gemäß der gegebenen Hashfunktion der erste Hashcode generiert und mit dem in dem entsprechenden Datensatz gespeicherten zweiten Hashcode verglichen. Kann ein Datensatz identifiziert werden, bei dem der erste Hashcode mit dem zweiten Hashcode übereinstimmt, so wird der Verifikationscode als authentisch eingestuft. Andernfalls muss davon ausgegangen werden, dass es sich bei dem Verifikationscode und somit bei dem zugehörigen Produkt oder Gegenstand um eine Fälschung handelt.
Die Kandidatengruppe von Datensätzen kann in einem iterativen Verfahren bestimmt werden. Das heißt, es werden mehrere Iterations schritte durchgeführt, bei denen jeweils anhand der ersten Zufallsteilzeichenkette innerhalb einer Gruppe eine bestimmte Untergruppe bestimmt wird, die möglicherweise den oder die zugehörigen Datensätze enthält. So kann in jedem Iterationsschritt des iterativen Verfahrens aus einer Gruppe eine Untergruppe ausgewählt werden, wobei die Untergruppe mittels einer Gruppenabbildungsfunktion anhand des Verifikationscodes, insbesondere anhand der ersten Zufallsteilzeichenkette, bestimmbar ist. Somit können schnell und effizient Gruppen, die nicht als Kandidatengruppe in Frage kommen, verworfen werden.
Vorzugsweise ist die Komplexität zur Bestimmung einer Untergruppe aus der Gruppe anhand des Verifikationscodes in einem ersten Iterationsschritt geringer als in einem zweiten. Das heißt, der Rechenaufwand nimmt in jedem Iterations schritt zu. Somit können am Anfang des Iterationsverfahrens eine Vielzahl von Gruppen schnell und effizient verworfen werden. Nur die letzten zu betrachtenden Gruppen werden mit sehr komplexen Verfahren ermittelt.
Weitere vorteilhafte Aus führungs formen ergeben sich anhand der Unteransprüche.
Nachfolgend wird die Erfindung anhand von einigen Ausführungsbeispielen beschrieben, die mittels Abbildungen näher erläutert werden. Hierbei zeigen:
- Fig. 1 ein System zur Herstellung und zur Verifikation von Verifikationscodes;
- Fig. 2 ein mit einem Verifikationscode gekennzeichnetes Produkt;
- Fig. 3 die Organisation eines Clusters zur Speicherung von zur Verifikation des
Verifikationscodes nötigen Daten;
- Fig. 4 eine Abbildung einer ersten Zufallsteilzeichenkette und einer zweiten
Zufallsteilzeichenkette auf einen Hashcode;
- Fig. 5 eine erste Datenstruktur einer Datenbank; und
- Fig. 6 eine zweite Datenstruktur einer Datenbank.
In der nachfolgenden Beschreibung werden für gleiche und gleich wirkende Teile dieselben Bezugsziffern verwendet.
Wie in Fig. 1 gezeigt, kann ein erfindungsgemäßes System zum Herstellen eines durch einen Verifikationscode geschützten Gegenstands und zur Überprüfung der Echtheit dieses Verifikationscodes einen Server 20 und eine Workstation 40 umfassen, die über ein Netzwerk 5 miteinander kommunizieren. Der Server 20 hat eine Leseeinrichtung 21 , einen Zufallsgenerator 22, eine Recheneinheit 24 und eine Datenbank 30. Die Workstation 40 kann über eine weitere Leseeinrichtung, nämlich einen Scanner 41 verfügen.
Ein zentraler Gedanke der vorliegenden Erfindung besteht darin, einen Verifikationscode zu schaffen, der nur in Kombination mit einem Datenbankeintrag verifiziert werden kann. Der Verifikationsmechanismus umfasst beispielsweise, wie in Fig. 4 gezeigt, eine erste Zufallsteilzeichenkette S1 und eine zweite Zufallsteilzeichenkette R1. Die erste Zufallsteilzeichenkette S1 bildet in einem ersten Ausführungsbeispiel den Verifikationscode. Der Verifikationscode kann weitere Datenfelder, beispielsweise eine Identifikationsnummer i umfassen. Erfindungsgemäß sind diese weiteren Datenfelder optional. Eine Darstellung des Verifikationscode ist in Form eines Labels 60 (Fig. 2) an einem Produkt 50 befestigt. Bei dem Produkt kann es sich beispielsweise um einen Behälter für Tabletten handeln. Der Verifikationscode sichert in diesem Fall die Echtheit der Tabletten ab. In einem anderen Ausführungsbeispiel kann die Darstellung unmittelbar auf dem zusichernden Produkt 50 angebracht sein. Alternativ kann der Verifikationscode ein Teil des Produkts 50 sein.
Es ist wesentlich, dass die Gültigkeit eines Verifikationscodes nur dann festgestellt werden kann, wenn beide Teile also die erste Zufallsteilzeichenkette S1 und die zweite Zufallsteilzeichenkette R1 vorliegen. Die Zufallsteilzeichenketten S1, R1 unterscheiden sich voneinander und bilden nur als Paar eine Zufallszeichenkette S1R1, die sich mittels einer Hashfunktion H auf einen gültigen Hashcode h, abbilden lässt. Dieser Hashcode h, wird mit der zweiten Zufallsteilzeichenkette R1 in einer zentralen Datenbank, beispielsweise der Datenbank 30 gespeichert. Eine entsprechende Datenbanktabelle ist in der Fig. 5 gezeigt. Sie umfasst eine Spalte für die zweiten Zufallsteilzeichenketten R1, eine für die Hashcodes h, und eine weitere für Statusinformationen mit der Bezeichnung „Status" (optional). Diese Tabelle, die in der Datenbank 30 gespeichert ist, umfasst mehrere Einträge, beispielsweise einen ersten Datensatz 31 und einen zweiten Datensatz 31 '. Jeder dieser Datensätze 31, 31 ' korrespondiert mit einem zulässigen — also echten — Verifikationscode.
Um die Authentizität eines Produkts 50 feststellen zu können, muss also ein entsprechender Verifikationscode (vgl. beispielsweise Fig. 2) mit dem zugehörigen Datensatz (vgl. beispielsweise Datensatz 31) in Bezug gesetzt werden. In einer ersten Aus führungs form kann dieser Bezug durch eine Identifikationsnummer i hergestellt werden, die in der Datenbank 30 gespeichert (vgl. Fig. 6) und auf dem Produkt 50 abgebildet ist.
Ein besonderer Vorteil der vorliegenden Erfindung besteht jedoch darin, dass auf eine Identifikationsnummer i, die auf dem Produkt 50 und in der Datenbank 30 hinterlegt werden muss, verzichtet werden kann. So besteht beispielsweise in einem weiteren Ausführungsbeispiel der Verifikationscode auf dem Produkt 50 nur aus einer ersten Zufallsteilzeichenkette. Es wäre möglich, sämtliche Datensätze 31 , 31 ' in der Datenbank 30 abzuarbeiten, um festzustellen, ob ein Datensatz 31 existiert, der die Authentizität eines derartig gestalteten Verifikationscodes bestätigt. Es lässt sich leicht einsehen, dass je nach Beschaffenheit der Hashfunktion H und Anzahl der Datensätze 31, 31 ' dieser Vorgang sehr lange dauern wird. Daher schlägt die vorliegende Erfindung vor, den Verifikationscode, insbesondere die erste Zufallsteilzeichenkette S1, dazu zu verwenden, um eine Auswahl von Datensätzen 31, 31 ' in der Datenbank 30 — also eine Kandidatengruppe 1 - zu identifizieren, die möglicherweise zu einem bestimmten Verifikationscode gehören. Somit müssen nur wenige Datensätze 31, 31 ', vorzugsweise nur ein Datensatz 31 abgearbeitet werden, um festzustellen, ob es sich um einen zulässigen Verifikationscode handelt.
In einem Ausführungsbeispiel ist die Datenbank 30 so organisiert, dass die Datensätze 31 , 31 ' entweder in ein erstes unteres Intervall oder in ein zweites oberes Intervall eingeordnet sind. Verwendet man beispielsweise erste Zufallsteilzeichenketten S1 aus dem Intervall [0; 1023], also z.B. 10-Bit lange erste Zufallsteilzeichenketten S1, so kann das untere Intervall das Intervall [0; 511] , das obere Intervall das Intervall [512; 1023] sein. Bei der Suche nach dem zugehörigen ersten Datensatz 31 kann also durch die Betrachtung des richtigen Intervalls eine Vielzahl von Datensätzen 31, 31 ' ausgeschlossen werden.
Ein Verifikationsvorgang kann also wie folgt ablaufen:
1. Einlesen eines Verifikationscodes, umfassend eine erste Zufallszeichenkette S1, mittels der Leseeinrichtung 21 ; 2. Bestimmen eines Intervalls, das eine Kandidatengruppe 1 von Datensätzen 31, 31 ' enthält, anhand der ersten Zufallsteilzeichenkette S1 durch die Recheneinheit 24;
3. Einlesen eines ersten Datensatzes 31 aus der Kandidatengruppe 1, um festzustellen, ob sich die erste Zufallsteilzeichenkette S1 in Verbindung mit der zweiten Zufallsteilzeichenkette R1 des ersten Datensatzes 31 mittels der Hashfunktion H auf den Hashcode h, des ersten Datensatzes 31 abbilden lässt;
4. Wiederholen des Schritts 3 mit den weiteren Datensätzen 31, 31 ' aus der Kandidatengruppe 1 bis entweder ein passender Datensatz 31 identifiziert wurde oder sämtliche Datensätze 31, 31 ' aus der Kandidatengruppe 1 abgearbeitet wurden.
5. Erzeugen einer Ausgabe, die angibt, ob es sich bei dem eingegebenen Verifikationscode um einen zulässigen Verifikationscode handelt (Es konnte ein passender Datensatz 31 identifiziert werden.).
Um die Leistungsfähigkeit des Systems weiter zu verbessern, kann das obere und das untere Intervall in weitere Teilintervalle untergliedert werden. Beispielsweise kann das untere Intervall die beiden Intervalle [0; 255] und [256; 511] aufweisen. Vorzugsweise sind die Intervalle in hierarchischen Gruppen organisiert, so dass es möglich ist, eine entsprechende Kandidatengruppe 1 iterativ zu identifizieren. Um die Anonymität des Verifikationscodes sicherzustellen, ist es wesentlich, dass es keine eindeutige Umkehrfunktion gibt, die es ermöglichen würde, einem bestimmten Intervall genau eine erste Zufallsteilzeichenkette S1 zuzuordnen. Es ist also nicht möglich, anhand der Einträge in der Datenbank 30 vorhandene Verifikationscodes zu rekonstruieren. Jedes Intervall bzw. jede Gruppe ist derart beschaffen, dass in diesem bzw. dieser, zumindest theoretisch, mehrere Datensätze 31 , 31 ' für mehrere Verifikationscodes abgelegt werden können.
Das vorab beschriebene Iterationsverfahren hat den weiteren Vorteil, dass in jedem Iterationsschritt nur ein Bit der ersten Zufallsteilzeichenkette S1 betrachtet werden muss. So gibt im ersten Iterationsschritt das erste Bit der ersten Zufallsteilzeichenkette S1 Aufschluss darüber, ob der zugehörige Datensatz 31 , 31 ' im Intervalle [0; 511] oder im Intervall [512; 1023] zu finden ist. Im zweiten Iterations schritt bestimmt das zweite Bit über eine Einordnung in die kleineren Intervalle, z. B. [0; 255] oder [256; 511] . Im n-ten Iterations schritt wird das n-te Bit betrachtet. Um die Anonymität der ersten Zufallsteilzeichenkette S1 zu wahren, werden bei einer Bitlänge der ersten Zufallsteilzeichenkette S1 von k Bits maximal k-1 Iterationsschritte durchgeführt oder eine maximale Aufteilung in 2k 1 Intervalle erzeugt. Vorzugsweise werden deutlich weniger Intervalle verwendet, um die Datensätze 31, 31 ' zu organisieren. Obwohl vorab ein sehr systematisches Verfahren zur Organisation der Datensätze 31 , 31 ' in Gruppen beschrieben wurde, ist es möglich, beliebige Gruppenabbildungsfunktionen Hl , H2 zu Verwenden, um die Datensätze 31, 31 ' in Gruppen, insbesondere in hierarchisch organisierte Gruppen einzuordnen und eine Kandidatengruppe 1 von Datensätzen 31, 31 ' mittels der ersten Zufallsteilzeichenkette S1 zu identifizieren.
In einem weiteren Ausführungsbeispiel werden die Datensätze 31 , 31 ' in hierarchisch organisierten Cluster, die wiederum Kandidatengruppen 1 enthalten, abgelegt. Der Grundgedanke hierbei besteht darin, dass ein Referenzvektor auf eine Datengruppe oder einen bestimmten Datensatz 31, 31 ' zeigt, wobei die Einträge des Referenzvektors zunehmend stärker verschlüsselt sind. Das heißt, je kleiner die Gruppe ist, auf die ein entsprechender Vektoreintrag mit entsprechenden Referenzwerten zeigt, umso höher ist die Verschlüsselung. Eine derartige Clusterstruktur kann wie folgt aufgebaut werden:
1. Betrachte die Menge aller möglichen ersten Zufallsteilzeichenketten S1 und organisiere diese gemäß ihrer Ähnlichkeit mit einem Clusteralgorithmus. Hierbei sollten nur einige wenige relativ große Cluster erzeugt werden.
2. Bilde jede erste Zufallsteilzeichenkette S1 aus jedem der oben genannten Cluster mittels einer Gruppenabbildungsfunktion Hl ab und verwende die Resultatwerte, um innerhalb einer Gruppe weitere Untercluster oder Subcluster zur Organisation der Datensätze 31, 31 ' anhand der ersten Zufallsteilzeichenketten S1 zu erzeugen;
3. Wiederhole Schritt 2 für jeden Subcluster aus Schritt 2, wobei eine Gruppenabbildungsfunktion H2 mit einer höheren Komplexität verwendet wird;
4. Wiederhole das genannte Verfahren so lange, wie gewünscht, wobei die Komplexität der verwendeten Gruppenabbildungsfunktionen Hl , H2 jedesmal erhöht wird. Die Fig. 3 zeigt Ausschnitte einer nach diesem Verfahren erzeugten Clusterstruktur. Auf der obersten Ebene befinden sich zwei Cluster, Gl, G2. Datensätze 31, 31 ' für eine bestimmte erste Zufallsteilzeichenkette S1 lassen sich aufgrund ihrer Ähnlichkeit (bezogen auf die bestimmte erste Zufallsteilzeichenkette S1) entweder in dem Cluster Gl oder in dem Cluster G2 einordnen. Die ersten Zufallsteilzeichenketten S1, die dem Cluster Gl zugeordnet wurden, lassen sich mittels einer ersten Gruppenabbildungsfunktion Hl auf einen ersten Vergleichswert abbilden und gemäß diesem Vergleichswert in Subcluster GI l, G12, G13 einteilen. Der Cluster Gl enthält Referenzen auf die Subcluster GI l, G12, G13. Analog lassen sich die ersten Zufallsteilzeichenketten S1, die dem Cluster G2 zugeordnet wurden, mittels der ersten Gruppenabbildungsfunktion Hl auf den ersten Vergleichswert abbilden und gemäß diesem Vergleichswert in weitere Subcluster einteilen.
Die ersten Zufallsteilzeichenketten S1 aus den Subcluster GI l lassen sich wiederum mittels einer zweiten Gruppenabbildungsfunktion H2 auf einen zweiten Vergleichswert H2(H1 (S1)) abgbilden, der in drei weiteren Clustern bzw. Subclustern Gl I l , G112. G113 organisiert ist. Die Subcluster Gl H, Gl 12, Gl 13 können weitere Subcluster oder eine Vielzahl von Datensätzen 31, 31 ' enthalten. Vorliegend wird davon ausgegangen, dass diese Subcluster Gl H, G112, G113 Cluster sind, die die Datensätze 31, 31 ' enthalten.
In dieser Datenstruktur lässt sich also ein bestimmter Datensatz 31 zu einem bestimmten Verifikationscode wie folgt bestimmen. Bestimme anhand der ersten Zufallsteilzeichenkette S1 die Zugehörigkeit zu den Cluster Gl oder G2. Vorliegend wird unterstellt, dass die zu betrachtende erste Zufallsteilzeichenkette S1 dem Cluster Gl angehört. Berechne Hl (S1) und vergleiche den Wert mit dem Clusterreferenzwerten des Clusters Gl . Im vorliegenden Beispiel identifiziert man als Kandidat den Subcluster GI l . Innerhalb des Subclusters GI l wird der Wert H2(H1 (S1)) berechnet und mit den zugehörigen Referenzvektoren verglichen. In dem beschriebenen Beispiel wäre dieser Wert dem Subcluster Gl 12 zuzuordnen. Der Subcluster Gl 12 bildet also die Kandidatengruppe 1 , die den zugehörigen Datensatz 31 für den besagten Verifikationscode enthalten sollte.
Für jeden der enthaltenen Datensätze 31, 31 ' wird also die Zufallszeichenkette S1R1 gebildet und mittels der Hashfunktion H ein Hashcode Ji1 berechnet (vgl. Fig. 4). Soweit sich ein Datensatz 31 aus der Menge von Datensätzen 31 , 31 ' aus dem Subcluster Gl 12 identifizieren lässt, bei dem der berechnete Hashcode Ji1 mit dem im Datensatz 31, 31 ' gespeicherten Hashcode Ji1 übereinstimmt, kann davon ausgegangen werden, dass es sich bei dem eingegebenen Verifikationscode um einen echten Verifikationscode handelt. Andernfalls muss unterstellt werden, dass es sich hierbei um eine Fälschung handelt. Das Kaskadieren der Gruppenabbildungsfunktionen Hl, H2 stellt eine ausreichende Anonymität bei vertretbarem Rechenaufwand sicher. Des Weiteren werden ähnliche erste Zufallsteilzeichenketten S1 in einem Cluster Gl homogen auf die Subcluster GI l , G12, Gl 3 verteilt.
Vorab wurde ein Ausführungsbeispiel beschrieben, bei dem die einzelnen Cluster Gl , G2 und Subcluster GI l , G12, G13, GH l , G112, G113 statische Clusterreferenzwerte haben. Hierbei ist es möglich, eine Kandidatengruppe 1 deterministisch zu bestimmen, die einen entsprechenden Datensatz 31, 31 ' enthalten muss. In einem weiteren Ausführungsbeispiel ist es möglich, dass oben genannte Verfahren auf eine dynamische Clusterstruktur anzuwenden. Hierbei ändern sich die Clusterreferenzwerte in Abhängigkeit von den ihnen zugeordneten Datensätzen 31, 31 '. Beispielsweise kann der Clusterreferenzwert des Clusters Gl 12 der Mittelwert aller ersten Zufallsteilzeichenketten S1 von darin enthaltenen Datensätzen 31, 31 ' sein. Verwendet man, wie oben beschrieben, Gruppenabbildungsfunktionen Hl , H2, so ist der Clusterreferenzwert für den Subcluster G112 der Mittelwert aller zweiten Vergleichswerte H2(H1 (S1)) der Datensätze 31 , 31 ' aus diesem Subcluster Gl 12. In einem rekursiven Verfahren lässt sich nach dem Einfügen eines neuen Datensatz 31, 31 ' ein neuer Clusterreferenzwert für den Cluster GH berechnen. Hierbei kann es sich um den Mittelwert der Werte Hl (S1) der in diesem Subcluster GI l enthaltenen Datensätze 31, 31 ' handeln. In einem letzten Rekursionsschritt wird der Clusterreferenzwert des Clusters Gl neu berechnet. Mit diesem Verfahren ist es möglich, beliebige Clusterstrukturen für eine Menge von Datensätzen 31 , 31 ' aufzubauen, wobei diese sehr effizient organisiert sind und beliebige Datensätze 31 , 31 ' mit beliebigen Verifikationscodes oder ersten Zufallsteilzeichenketten S1 gespeichert werden können. Es ist leicht ersichtlich, dass sich in derartig dynamischen Strukturen die Clusterreferenzwerte derart ändern können, dass eine eindeutige Identifikation einer Kandidatengruppe 1 für eine bestimmte erste Zufallsteilzeichenkette S1 nicht mehr möglich ist. Bei der Suche nach einem zugehörigen Datensatz 31, 31 ' müssen möglicherweise mehrere Cluster Gl , G2 oder Subcluster GI l, G12, G13, Gl I l, Gl 12, Gl 13 berücksichtigt werden, um mit hoher Wahrscheinlichkeit festzustellen, ob ein bestimmter Verifikationscode authentisch ist. Bei der Suche nach entsprechenden Kandidatengruppen 1 wird also als erstes die Kandidatengruppe 1 identifiziert, die Clusterreferenzwerte hat, die der ersten Zufallsteilzeichenkette S1 am ähnlichsten sind. Soweit der zugehörige Datensatz 31, 31 ' in dieser Kandidatengruppe 1 nicht identifiziert werden kann, müssen weitere Kandidatengruppen anhand der Ähnlichkeit ihrer Clusterreferenzwerte identifiziert und durchsucht werden. Es ist möglich, statistische und deterministische Verfahren zu verwenden, um die Suche zu einem bestimmten Zeitpunkt abzubrechen. Hierbei nimmt man in Kauf, dass eine bestimmte Anzahl von falschpositiven Testergebnissen auftreten kann. Das Verfahren wird jedoch derart gestaltet, dass die Wahrscheinlichkeit für das Einstufen eines Verifikationscodes als nicht authentisch - trotz dessen Authentizität - vernachlässigbar gering ist (z.B. kleiner als 5 % oder 1 % oder 1 %o).
Die Organisation der Cluster und die Suche darin lassen sich weiter verbessern, wenn der hier verwendete Clusteralgorithmus ein topologieerhaltender Clusteralgorithmus ist. Das heißt, erste Zufallsteilzeichenketten S1, die sich ähnlich sind (geringer Abstand in einer hierauf definierten Ordnung) werden in demselben oder nahe beieinander liegenden Cluster abgebildet. Beispielsweise kann eine selbstorganisierende Karte (SOM: Seif Organizing Map) verwendet werden. Vorzugsweise wird eine eindimensionale selbstorganisierende Karte verwendet, die die einzelnen Karten auf eine lineare Kette von Cluster abbildet, wobei zueinander benachbarte Glieder dieser Kette sehr ähnliche Referenzvektoren haben. Somit können bei der Suche eines zugehörigen Datensatzes 31 mehrere Cluster mit ähnlichen Referenzvektoren berücksichtigt werden, wobei es nicht notwendig ist, neue Referenzwerte zu berechnen und zu vergleichen. Nach der Identifikation einer Kandidatengruppe 1 können benachbarte Cluster in dieser Kette berücksichtigt werden.
Vorhergehend wurde ein Ausführungsbeispiel beschrieben, bei dem die Datenbank 3 in einem bestimmten Clusterschema organisiert wurde. Es ist leicht einsehbar, dass die Verwendung von Cluster eine hohe Anonymität der einzelnen Datensätze 31, 31 ' sicherstellt und somit das Rekonstruieren des zugehörigen Verifikationscodes unmöglich macht. Somit sind auch andere Clusterschema geeignet, um die erfindungsgemäße Lehre zu verwirklichen.
Die vorab genannten Gruppenabbildungsfunktionen Hl, H2 können beliebige Funktionen sein, die eine gleichmäßige Verteilung von Eingabewerten auf ein vorgegebenes Intervall ermöglichen. Vorzugsweise handelt es sich hierbei um Hashfunktionen, insbesondere kryptografische Hashfunktionen.
Vorzugsweise wird die Zufallsteilzeichenkette S1R1 durch den Zufallsgenerator 22 erzeugt und ein entsprechender Hashcode Ji1 generiert. Danach wird die Zufallszeichenkette S1R1 in zwei im Wesentlichen gleich große Bestandteile, nämlich die erste Zufallsteilzeichenkette S1 und die zweite Zufallsteilzeichenkette R1 aufgeteilt und getrennt voneinander weiter verarbeitet. Das heißt, die erste Zufallsteilzeichenkette S1 wird auf das Produkt 50 aufgebracht, während die zweite Zufallsteilzeichenkette R1 mit dem Hashcode h, in einem Datensatz 31, 31' gespeichert wird. Alternativ können bestimmte Produkte 50 bereits einen Code aufgedruckt haben, beispielsweise eine Seriennummer, die von einem Hersteller bereitgestellt wurde. Es ist möglich, diese Seriennummer als erste Zufallsteilzeichenkette S1 zu verwenden und mittels des Zufallsgenerators 22 eine zugehörige zweite Zufallsteilzeichenkette R1 zu erzeugen und zusammen mit einem entsprechenden Hashcode h, in einem Datensatz 31, 31' abzuspeichern. Vorzugsweise werden in einer derartigen Konstellation zufällig oder deterministisch Teile der Seriennummer ausgewählt, um als erste Zufallsteilzeichenkette S1 verwendet zu werden. Das verwendete Auswahlschema kann in der Datenbank 30 abgespeichert werden.
Vorab wurde die Hashfunktion H verwendet, um den Hashcode h, zu berechnen. Bei dieser Hashfunktion H kann es sich um einen sicheren Hash-Algorithmus (SHA: Secure Hash Algorithm) handeln. SHA bezeichnet eine Gruppe von standardisierten kryptografischen Hashfunktionen, die zur Berechnung eines eindeutigen Prüfwerts dienen. Das heißt, die verwendeten Hashfunktionen sollten vorzugsweise kollisionsfrei sein oder zumindest die Wahrscheinlichkeit für eine Kollision so gering als möglich halten.
In den vorab beschriebenen Beispielen wurden die Verifikation eines Verifikationscodes und dessen Erstellung beschrieben, wobei der Server 20 die hierfür nötigen Schritte durchgeführt hat. Es ist möglich, einzelne Schritte der beschriebenen Verfahren durch die Workstation 40 und den zugehörigen Scanner 41 durchführen zu lassen. Des Weiteren sind auch Netzwerke 5 denkbar, an denen eine Vielzahl von Workstations 50 angeschlossen sind, die entsprechende Aufgabe erfüllen können. Ein einziger Server 20 kann also mit einer Vielzahl von Workstations 40 zusammenarbeiten, um Verifikationscodes zu erzeugen oder deren Echtheit zu überprüfen. Bezugszeichenliste
1 Kandidatengruppe
5 Netzwerk
20 Server
21 Leseeinrichtung
22 Zufallsgenerator
24 Recheneinheit
30 Datenbank
31, 31' Datensatz
40 Workstation
41 Scanner
50 Produkt
60 Label
S1R1 Zufallszeichenkette
S1 erste Zufallsteilzeichenkette
R1 zweite Zufallsteilzeichenkette
Hashcode
Hl, H2 Gruppenabbildungsfunktion
H Hashfunktion i Identifikationsnummer
Gl, G2,
G11.G12,
G13, Gl I l,
G112, G113 Cluster

Claims

System zum Herstellen eines durch einen Verifikationscode geschützten Gegenstands, Verfahren zur Herstellung eines entsprechenden Gegenstands, Verfahren zum Verifizieren der Echtheit eines GegenstandsAnsprüche
1. System zum Herstellen eines durch einen Verifikationscode geschützten Gegenstands, umfassend:
Leseeinrichtung (21, 41) zum Einlesen eines an dem Gegenstand (50) aufgebrachten oder aufzubringenden Verifikationscodes mit einer ersten Zufallsteil- zeichenkette (S1);
Zufallsgenerator (22) zum Erzeugen einer zweiten Zufallsteilzeichenkette (R1);
Recheneinheit (24) zum Erzeugen eines Hashcodes (h_) durch ein Abbilden einer Zufallszeichenkette (S1R1), umfassend die erste und die zweite Zufallsteil- zeichenkette (S1, R1), gemäß einer Hashfunktion (H) und zur Auswahl einer Kandidatengruppe (1) zum Speichern der zweiten Zufallsteilzeichenkette (R1) und des Hashcodes (h,) als einen der Kandidatengruppe (1) zugehörigen Datensatz (31, 31 ') in einer Datenbank (30), wobei die Kandidatengruppe (1) anhand des Verifikationscodes, insbesondere der ersten Zufallsteilzeichenkette (S1), bestimmt wird.
2. System nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t, dass der Zufallsgcncrator (22) zur Erzeugung einer zweiten Zufallsteilzeichenkette (R1) angepasst ist, wobei die Kardinahtdt der zweiten Zufallsteilzeichenkette (R1) im Wesentlichen gleich der Kardinalität der ersten Zufallsteilzeichenkette (S1) ist.
3. System nach Anspruch 1 oder 2, d a d u i c h g e k e n n z e i c hn e t, dass die Recheneinheit (24) zur Bestimmung der Kandidatengruppe (1) mindestens eine Gruppenabbildungsfunktion (Hl, H2), insbesondere eine Hashfunktion, verwendet.
4. System nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n z e ic h n e t, dass die Recheneinheit (24) zur Auswahl der Kandidatengruppe (1) in einem iterativen Verfahren angepasst ist, wobei innerhalb einer Gruppe (Gl) bis zur Bestimmung der Kandidatengruppe (1) anhand einer Gϊuppcnabbildungsfunktion (Hl, H2) jeweils mindestens eine Untergruppe (GIl, Gl 2, Gl 3) ausgewählt wird.
5. System nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch
4, d a d u r c h g e k e n n z e i c hn e t, dass die Komplexität der Gruppenabbildungsfunktion (Hl, H2) in einem ersten Iterati¬ onsschritt geringer ist als in einem zweiten.
6. System nach einem der vorhergehenden Ansprüche, insbesondere nach einem der Ansprüche 3 bis 5, d a du r c h g e k e n n z e i c h n e t, dass die Gruppenabbildungsfunktion (Hl1 H2) ein Clusteralgorithmus, insbesondere ein topologieerhaltender Clusteralgorithmus ist.
7. System nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch
6, d a d u r c h g e k e n n z e i c h n e t, dass der Clusteralgorithmus eine eindimensionale und/oder selbstorganisierende Karte, insbesondere eine Kohonenkarte ist.
8. System nach einem der vorhergehenden Ansprüche, d a d ur c h g e k e n n z ei c h n e t, dass die Hashfunktion (H) eine kryptographische Hashfunktion ist.
9. Verfahren zur Herstellung eines mit einem Verifikationscode versehenen Gegenstands (50), umfassend die Schritte:
a) Erzeugen einer Zufallszeichenkette (S1R1), die sich in eine erste Zufallsteilzeichenkette (S,) und eine zweite Zufallsteilzeichenkette (R1) aufteilen lässt,
b) Erzeugen eines Hashcodes (h,) durch ein Abbilden der Zufallszeichenkette (S1R1) gemäß einer Hashfunktion (H),
c) Auswählen einer Kandidatengruppc (1) zum Speichern der zweiten Zufallsteilzeichenkette (R1) und des Hashcodes (hs) als einen der Kandidatengruppe (1) zugehörigen Datensatz (31, 31'), wobei die Kandidatengruppe (1) anhand der ersten Zufallsteilzeichenkette (S1) bestimmt wird;
d) ein Speichern der zweiten Zufallsteilzeichenkette (R1) und des Hashcodes (Ji1) als einen der Kandidatengruppe (I) zugehörigen Datensatz (31, 3T);
e) Erzeugen einer Darstellung (60) der ersten Zufallsteilzeichenkette (S,) als Verifikationscode.
10. Verfahren nach Anspruch 9, da dur ch geken nz eichne t, dass die Kardinalität der ersten Zufallsteilzeichenkette (S1) im Wesentlichen gleich der Kaϊdinalität der zweiten Zufallsteilzeichenkette (R1) ist.
11. Verfahren nach Anspruch 9 oder 10, gekennz eichn e t durc h das Auswählen der Kandidatengruppe (i) in einem iterativen Verfahren, wobei innerhalb einer Gruppe (Gl) bis zur Bestimmung der Kandidatengruppe (1) anhand einer Gruppenabbildungsfunktion (Hl, H2) jeweils eine Untergruppe (Gl 1, G 12, G 13) ausgewählt wird.
12. Verfahren nach einem der Ansprüche 9 bis 11, insbesondere nach Anspruch 11, dadurch gekennz eichne t, dass die Komplexität der Gruppenabbildungsfunktion (Hl, H2) in einem ersten Iterationsschritt geringer ist als in einem zweiten.
13. Verfahren nach einem der Ansprüche 9 bis 12, insbesondere nach Anspruch 11 oder 12, da d urch geke nnz eichn e t, dass die Gruppen (Gl, G2) und/oder Untergruppen als Cluster, insbesondere als topo- logieerhaltende Cluster organisiert sind und Clusterreferenzwerte umfassen, wobei nach Schritt d) mindestens ein Cmsterreferenzwert mindestens einer Gruppe (Gl, G2) und/oder Untergruppe (GH, G12) in Abhängigkeit von der ersten Zu- failsteilzeichenkette (S1) angepasst wird.
14. Verfahren nach einem der Ansprüche 9 bis 13, insbesondere nach Anspruch 13, dadurch gekennzeichnet, dass der Cluster eine eindimensionale und/oder selbstorganisierende Karte, insbesondere eine Kohonenkarte ist.
15. Verfahren nach einem der Ansprüche 9 bis 14, da durch geke nnzeichne t, dass die Hashfunktion (H) eine kryptographische Hashfunktion ist.
16. Verfahren nach einem der Ansprüche 9 bis 15, da durch geke n n z e ichne t, dass zur Bestimmung der Kandidatengruppe (1) mindestens eine Gruppenabbildungsfunktion (Hl, H2), insbesondere eine Haslifunktion verwandt wird.
17. Verfahren nach einem der Ansprüche 9 bis 16, gekenn z eic hne t durc h ein Erzeugen einer Identifikationsnummer (i), die in Verbindung mit der zweiten Zufallsteilzeichenkette (R1) und dem Hashcode (h;) in der Datenbank (30) gespeichert wird und ein Aufbringen einer Darstellung der Identifikationsnummer (i) auf den Gegenstand.
18. Verfahren nach einem der Ansprüche 9 bis 17, da dur ch gekennz ei chne t, dass die erste Zufallsteilzeichenkette (S;) eine auf dem Gegenstand aufgebrachte Seriennummer oder ein Teil dieser ist.
19. λ7erfahren nach einem der Ansprüche 9 bis 18, da du r c h ge k e n n z e i c h n e t, dass das Erzeugen der zweiten Zufallsteilzeichenkette (R1) mittels eines nichtdeterministischen Zufallszahlengenerators, insbesondere unter Verwendung eines Quanten-Zufallszahlengenerators erfolgt.
20. Verfahren zum Verifizieren der Echtheit eines Gegenstands (50), umfassend die Schritte:
a) Auslesen eines am Gegenstand (50) und/oder dessen Verpackung angebrachten Verifikationscodes mit einer ersten Zufallsteilzeichenkette (S-), insbesondere eines Verifikationscodes, der gemäß einem Verfahren nach einem der Ansprüche 9 bis 19 erzeugt wurde;
b) Bestimmen einer Kandidatengruppe (1) von Datensätzen (31) anhand des Verifikationscodes, wobei die Datensätze (31) jeweils eine zweite Zufallsteilzeichenkette (R;) umfassen und auf einem Server (20) gespeichert sind;
c) Generieren mindestens einer Zufallszeichenkette (SjRj) unter λ^erwendung der ersten Zufallsteilzeichenkette (S1) und mindestens einer der zweiten Zufallsteilzeichenkette (Rj), die in einem Datensatz (31, 31') aus der Kandidaten- gruppe gespeichert ist;
d) Generieren eines ersten Hashcodes (h) durch ein Abbilden der Zufallszeichenkette (SJR1) gemäß einer Hashfunktion (H);
e) Vergleichen des ersten Hashcodes (h:) mit einem zweiten, in dem Datensatz (31, 31') gespeicherten Hashcode Qi)- , um die Echtheit des Gegenstands (50) festzustellen.
21. Verfahren nach Anspruch 20, d a d u r c h g e k e n n z e i c h n e t, dass die Schritte c), d) und e) für mehrere Datensätze (31, 31') aus der Kandidatengruppe (1) von Datensätzen (31, 31') durchgeführt werden, um die Echtheit des Gegenstands (50) festzustellen.
22. Verfahren nach einem der Ansprüche 20 oder 21, da durc h gekennz eichn e t, dass die mindestens eine Kandidatengruppe (1) von Datensätzen (31, 31 J) in einem iterativen Verfahren bestimmt wird.
23. Ver fahren nach einem der Ansprüche 20 bis 22, insbesondere nach Anspruch 22, da durc h geken nz eichn e t, dass in mindestens einem Iterationsschritt des iterativen Verfahrens aus einer Gruppe (Gl) eine Untergruppe (GIl, G 12, G 13) ausgewählt wird, wobei die Untergruppe (GH, G12, G13) mittels einer Gruppenabbildungsfunktion (Hl, H2) anhand des Verifikation s code s, insbesondere anhand der ersten Zufallsteilzeichenkette (S1), bestimmbar ist.
24. Verfahren nach einem der Ansprüche 20 bis 23, insbesondere nach Anspruch 22 oder 23, da d urc h gekennz eichne t, dass die Komplexität der Gruppenabbildungsfunktion (Hl, H2) zur Bestimmung einer Untergruppe (Gl 1, G12, G13) aus der Gruppe (Gl) anhand des Verifikationscodes in einem ersten Iterationsschritt geringer ist als in einem zweiten.
25. Verfahren nach einem der Ansprüche 20 bis 24, insbesondere nach einem der Ansprüche 23 oder 24, geken nz ei ch n e t d urc h ein Vergleichen des Verifikationscodes und/oder eines anhand der Gruppenabbildungsfunktion (Hl, H2) errechneten Wertes mit mindestens einem Clusterrefe- renzwert der Untergruppe (GIl, G 12, G 13) der Gruppe (Gl), wobei die Untergruppe (GIl, Gl 2, Gl 3) ausgewählt wird, deren Clusterreferenzwert die größte Ähnlichkeit hat.
26. Verfahren nach einem der Ansprüche 20 bis 25, insbesondere nach Anspruch 25, dadur ch gekennz eichne t, dass vor einem Einstufen des Gegenstandes als unecht eine Vielzahl von Datensätzen (31, 31') aus einer Vielzahl von Kandidatengruppen (1), insbesondere mit ähnlichen Clusterreferenzwerten, gemäß dem Schritt e) verglichen werden.
27. Verfahren nach einem der Ansprüche 20 bis 26, insbesondere nach Anspruch 26, da d ur ch gekenn zeichne t, dass anhand der Ähnlichkeit der Cmsteϊreferenzwerte eine Vielzahl von Kandidaten- I gruppen (i) so bestimmt ist, dass nach einem Durchführen der Schrittes e) für jeden der enthaltenen Datensätze die Wahrscheinlichkeit für ein falsch negatives Testergebnis gering, insbesondere kleiner als 10%, insbesondere kleiner als 5%, ist.
28. Verfahren nach einem der Ansprüche 20 bis 27, dadurch gekennzeichne t, dass mindestens eine Gruppenabbildungsfunktion (Hl, H2) eine Hashfunktion ist.
PCT/EP2009/055240 2009-04-29 2009-04-29 System zum herstellen eines durch einen verifikationscode geschützten gegenstands, verfahren zur herstellung eines entsprechenden gegenstands, verfahren zum verifizieren der echtheit eines gegenstands WO2010124735A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2009/055240 WO2010124735A1 (de) 2009-04-29 2009-04-29 System zum herstellen eines durch einen verifikationscode geschützten gegenstands, verfahren zur herstellung eines entsprechenden gegenstands, verfahren zum verifizieren der echtheit eines gegenstands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2009/055240 WO2010124735A1 (de) 2009-04-29 2009-04-29 System zum herstellen eines durch einen verifikationscode geschützten gegenstands, verfahren zur herstellung eines entsprechenden gegenstands, verfahren zum verifizieren der echtheit eines gegenstands

Publications (1)

Publication Number Publication Date
WO2010124735A1 true WO2010124735A1 (de) 2010-11-04

Family

ID=41347831

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/055240 WO2010124735A1 (de) 2009-04-29 2009-04-29 System zum herstellen eines durch einen verifikationscode geschützten gegenstands, verfahren zur herstellung eines entsprechenden gegenstands, verfahren zum verifizieren der echtheit eines gegenstands

Country Status (1)

Country Link
WO (1) WO2010124735A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334682A (zh) * 2019-07-12 2019-10-15 武汉中交交通工程有限责任公司 基于迭代搜索优化哈希算法的自动驾驶系统域自适应方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848404A (en) * 1997-03-24 1998-12-08 International Business Machines Corporation Fast query search in large dimension database
WO2004070682A2 (de) * 2003-02-04 2004-08-19 Dietrich Heinicke Produktsicherungssystem und verfahren hierfür

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848404A (en) * 1997-03-24 1998-12-08 International Business Machines Corporation Fast query search in large dimension database
WO2004070682A2 (de) * 2003-02-04 2004-08-19 Dietrich Heinicke Produktsicherungssystem und verfahren hierfür

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CHEN M-S ET AL: "DATA MINING: AN OVERVIEW FROM A DATABASE PERSPECTIVE", IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 8, no. 6, 1 December 1996 (1996-12-01), pages 866 - 883, XP002950926, ISSN: 1041-4347 *
DIMITRIOU T: "A Lightweight RFID Protocol to protect against Traceability and Cloning attacks", SECURITY AND PRIVACY FOR EMERGING AREAS IN COMMUNICATIONS NETWORKS, 20 05. SECURECOMM 2005. FIRST INTERNATIONAL CONFERENCE ON ATHENS, GREECE 05-09 SEPT. 2005, PISCATAWAY, NJ, USA,IEEE, 5 September 2005 (2005-09-05), pages 59 - 66, XP010902872, ISBN: 978-0-7695-2369-9 *
HAIYING SHEN ET AL: "An Efficient Similarity Searching Scheme in Massive Databases", DIGITAL TELECOMMUNICATIONS, 2008. ICDT '08. THE THIRD INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 29 June 2008 (2008-06-29), pages 47 - 52, XP031284213, ISBN: 978-0-7695-3188-5 *
KOHONEN T: "Exploration of very large databases by self-organizing maps", NEURAL NETWORKS,1997., INTERNATIONAL CONFERENCE ON HOUSTON, TX, USA 9-12 JUNE 1997, NEW YORK, NY, USA,IEEE, US, vol. 1, 9 June 1997 (1997-06-09), pages PL1 - PL6, XP010238780, ISBN: 978-0-7803-4122-7 *
STEPHENA WEIS ET AL: "Security and Privacy Aspects of Low-Cost Radio Frequency Identification Systems", 27 January 2004, ISBN: 9783540208877, pages: 201 - 212, XP019002198 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334682A (zh) * 2019-07-12 2019-10-15 武汉中交交通工程有限责任公司 基于迭代搜索优化哈希算法的自动驾驶系统域自适应方法
CN110334682B (zh) * 2019-07-12 2023-06-27 武汉中交交通工程有限责任公司 基于迭代搜索优化哈希算法的自动驾驶系统域自适应方法

Similar Documents

Publication Publication Date Title
DE60121231T2 (de) Datenverarbeitungsverfahren
DE112016001796T5 (de) Feinkörnige bildklassifizierung durch erforschen von etiketten von einem bipartiten graphen
EP2940620B1 (de) Ableiten eines gerätespezifischen wertes mit hilfe einer unklonbaren funktion
DE10134229A1 (de) Verfahren und System zum Ermitteln von Abweichungen in Datentabellen
DE2934344C2 (de)
EP3707854B1 (de) Verfahren zum verknuepfen eines ersten datenblocks mit einem zweiten datenblock, verfahren zum ueberpruefen der integritaet einer blockchain-struktur, vorrichtung und computerprogrammprodukt
DE102008027605A1 (de) System und Verfahren zur rechnerbasierten Analyse großer Datenmengen
DE112013003205T5 (de) Verfahren und Vorrichtung zum Verarbeiten von Datenbankdaten in einem verteilten Datenbanksystem
DE102014208212A1 (de) Ableiten eines gerätespezifischen Wertes
DE102012214196A1 (de) Erkennen nicht eindeutiger Namen in einer Gruppe von Namen
EP3889806A1 (de) Bitsequenzbasiertes datenklassifikationssystem
DE102008054354A1 (de) Sichere Codierung von Spannungsdaten vieler Zellen bei Hybridfahrzeugen
DE102018206110A1 (de) Trainingsverfahren
WO2010124735A1 (de) System zum herstellen eines durch einen verifikationscode geschützten gegenstands, verfahren zur herstellung eines entsprechenden gegenstands, verfahren zum verifizieren der echtheit eines gegenstands
EP0856176A1 (de) Datenbankmanagementsystem sowie datenübertragungsverfahren
WO2010037429A1 (de) Verfahren zum erzeugen eines verifikationscodes, verifikationscode, verfahren und vorrichtung zum verifizieren der echtheit von gegenständen
DE102012025349A1 (de) Bestimmung eines Ähnlichkeitsmaßes und Verarbeitung von Dokumenten
WO2012017056A1 (de) Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format
WO2008071733A1 (de) Verfahren zum auslesen von daten aus einem speichermedium
EP1564649A2 (de) Erzeugung von Primzahlen mittels probabilistischer Tests
DE102008058016A1 (de) System und Verfahren zur rechnerbasierten Analyse großer Datenmengen
EP3901713A1 (de) Verfahren und system zum betrieb einer technischen anlage mit einem optimalen modell
WO2021190715A1 (de) Computerimplementiertes verfahren und verteiltes speichersystem zum bereitstellen vertrauenswürdiger datenobjekte
EP2423830A1 (de) Verfahren zum Suchen in einer Vielzahl von Datensätzen und Suchmaschine
DE102017011782A1 (de) Produkt- und Qualitäts-Verfolgbarkeit für die Additive Fertigung und Dokumentation zur Absicherung des Geistigen Eigentums

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: 09779388

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: 09779388

Country of ref document: EP

Kind code of ref document: A1