-
HINTERGRUND
-
Die vorliegende Erfindung betrifft allgemein die Authentifizierung von verpackten Produkten.
-
Die Einführung betrügerischer Produkte ist in Produktverteilungssystemen üblich. Gefälschte oder falsch dargestellte Waren können an verschiedenen Stellen in eine Versorgungskette eingebracht werden, und es ist für Benutzer schwierig, betrügerische Produkte zu erkennen. Ein entsprechendes Beispiel ist die pharmazeutische Versorgungskette, wo ein Einbringen von betrügerischen Produkten der Weltgesundheitsorganisation zunehmend Sorge bereitet. Zu Techniken gehören ein Nachahmen von echten Produktverpackungen für gefälschte Produkte, ein Ändern von kritischen Produktinformationen wie zum Beispiel Verfallsdaten auf der Verpackung und ein Austauschen von Produkten von einer echten Verpackung in eine andere. Als veranschaulichendes Beispiel sind medizinische Testeinheiten häufige Ziele für Betrügereien dieser Art. Im Allgemeinen motivieren steigende Gewinnspannen weiterhin zu Betrug und Fälschung, insbesondere bei Produkten, die einfach herzustellen sind und/oder häufig verwendet werden.
-
Zu den derzeitigen Mechanismen zur Authentifizierung von verpackten Produkten gehören gedruckte Informationen (z.B. Text, Logos usw.) oder Sicherheitsmerkmale wie zum Beispiel Hologramme oder QR-Codes auf Produktetiketten oder Verpackungen. Es wurden auch verschiedene Arten von fälschungssicheren oder schwer zu vervielfältigenden Etiketten oder ähnliche Sicherheitsmerkmale vorgeschlagen. Einige Sicherheitsmechanismen nutzen Computer zur Authentifizierung. Zum Beispiel können QR-Codes gescannt werden, um einem Benutzer Authentifizierungsinformationen darzustellen, oder ein Produktcode, der durch Zerkratzen eines Etiketts gezeigt wird, kann zur Authentifizierung an einen Server gesendet werden. Die Verwendung von RFID-Etiketten (englisch: radio frequency identification, „Identifizierung mit Hilfe elektromagnetischer Wellen“) auf Produkten ist ebenfalls bekannt. Derartige Etiketten können mit eindeutigen Kennungen (UIDs, unique identifiers) programmiert werden, die digital signiert werden können, und die Signaturen können durch RFID-Lesegeräte überprüft werden.
-
Bestehende Sicherheitsmechanismen leiden unter einem Nachteil oder einer Kombination von verschiedenen Nachteilen. Zum Beispiel können bekannte Mechanismen anfällig für Abänderungen oder Vervielfältigungen sein, um Produkte falsch darzustellen, sie können unpraktisch oder ungeeignet für bestimmte Produkte/Benutzerszenarien sein, oder sie können nachteilige Auswirkungen auf die Komplexität oder die Kosten haben und die Produkte trotzdem nach wie vor anfällig für verschiedene Arten von Betrug machen.
-
Verbesserungen der Mechanismen zur Authentifizierung von verpackten Produkten wären höchst wünschenswert.
-
KURZDARSTELLUNG
-
Gemäß mindestens einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren zum Herstellen eines authentifizierten verpackten Produkts bereitgestellt. Das Verfahren umfasst ein Bereitstellen eines Sicherheitscodes auf dem Produkt, der Sicherheitsdaten für das Produkt codiert, ein Verpacken des Produkts in einer Verpackung und ein Bereitstellen eines Etiketts, das verschlüsselte Produktdaten enthält, auf der Verpackung. Die Produktdaten umfassen die Sicherheitsdaten für das Produkt. Das Verfahren umfasst darüber hinaus ein Speichern eines Entschlüsselungsschlüssels für die verschlüsselten Produktdaten auf einem Netzwerkserver und ein Bereitstellen von Zugriffsdaten auf der Verpackung zum Zugreifen auf den Entschlüsselungsschlüssel auf dem Netzwerkserver.
-
Verfahren, welche die Erfindung verkörpern, binden ein Produkt an dessen Verpackung, und zwar mittels der Sicherheitsdaten, die in dem Sicherheitscode auf dem Produkt codiert und auch in den auf dem Etikett auf der Verpackung enthaltenen Produktdaten verschlüsselt sind. Eine Prüfeinrichtung kann das Produkt und dessen Verpackung authentifizieren, indem sie prüft, ob die Sicherheitsdaten auf dem Produkt mit denen auf dem Etikett übereinstimmen. Die Authentifizierung beruht somit auf der korrekten Zugehörigkeit von Produkt und Verpackung, wodurch Versuche vereitelt werden, echte Produkte in betrügerischer Weise umzupacken oder echte Verpackungen für betrügerische Produkte zu kopieren. Außerdem ist die Beteiligung eines Servers erforderlich, wodurch die Grundlage für nachfolgend beschriebene zusätzliche Sicherheitsmerkmale gebildet wird, wobei aber der Arbeitsschritt der Überprüfung lokal an der Prüfeinrichtung durchgeführt wird. Insbesondere ist es nicht erforderlich, die Sicherheitsdaten an den Server zu senden. Der Server stellt einfach den Entschlüsselungsschlüssel bereit und benötigt keine Kenntnis der Sicherheitsdaten, auf denen die Authentifizierung beruht. Verfahren, welche die Erfindung verkörpern, bieten somit elegant einfache, praktische und effiziente Techniken zur sicheren Authentifizierung von verpackten Produkten.
-
Die Verpackung kann mehr als eine Schicht oder Ebene von Verpackungen umfassen. Zum Beispiel können Hersteller mehrere einzeln verpackte Produkte in einer Schachtel oder einem anderen Behälter für den Versand an einen Einzelhändler oder anderen Endbenutzer verpacken. In derartigen Ausführungsformen kann die Gesamtverpackung eine Produktverpackung und einen Behälter umfassen, und das Authentifizierungsverfahren kann ein Verpacken des Produkts in der Produktverpackung und ein Bereitstellen des Etiketts auf der Produktverpackung sowie ein Verpacken des Produkts in dem Behälter mit einer Mehrzahl von anderen Produkten umfassen, von denen jedes einen entsprechenden Sicherheitscode darauf aufweist und jedes in einer entsprechenden Produktverpackung verpackt ist, die darauf ein entsprechendes Etikett aufweist, das verschlüsselte Produktdaten enthält, die unter Verwendung desselben Entschlüsselungsschlüssels entschlüsselbar sind. Die Zugriffsdaten enthalten hier eine Behälterkennung für den Behälter, und die Produktdaten enthalten eine Passphrase, die den Produktdaten aller Produkte in dem Behälter gemein ist. Das Authentifizierungsverfahren umfasst darüber hinaus ein Speichern eines Hashwerts der Passphrase mit dem Entschlüsselungsschlüssel auf dem Netzwerkserver für die Behälterkennung. In diesen Ausführungsformen sind alle Produkte in dem Behälter zusätzlich über die Passphrase, die an der Prüfeinrichtung lokal authentifiziert werden kann, an diesen spezifischen Behälter gebunden. Außerdem kann die Prüfeinrichtung die Daten zur Authentifizierung aller Produkte in dem Behälter über einen einzelnen Datenaustausch mit dem Server erhalten. Die empfangenen Daten können dann lokal an der Prüfeinrichtung zur Authentifizierung einzelner Produkte gespeichert werden.
-
Ausführungsformen der Erfindung umfassen ein Speichern von beschreibenden Daten, die sich auf das Produkt beziehen, mit dem Entschlüsselungsschlüssel auf dem Netzwerkserver. Neben einer Produktbeschreibung können die beschreibenden Daten alle nützlichen Daten in Bezug auf ein Produkt enthalten, wie zum Beispiel Verfallsdaten, Gebrauchsanweisungen, Verkaufsregion usw. Dies ermöglicht es der Prüfeinrichtung, echte beschreibende Daten in Bezug auf das Produkt zu erhalten, selbst wenn die Originalverpackung verändert wurde, z.B. um Verfallsdaten zu ändern, und ermöglicht auch eine Verwendung von einfachen, kostengünstigen Etiketten, z.B. gedruckten Etiketten wie zum Beispiel QR-Codes, die möglicherweise nur eine begrenzte Speicherkapazität für Informationen aufweisen. Selbst wenn ein derartiges Etikett auf einer gefälschten Verpackung für ein echtes Produkt praktikabel dupliziert werden könnte (z.B., wenn ein Betrüger einen Typ einer medizinischen Testeinheit austauscht und in eine Verpackung für einen anderen Test legt), kann dies von der Prüfeinrichtung erkannt werden.
-
In Ausführungsformen der Erfindung wird der Sicherheitscode in das Produkt so eingebettet, dass eine Anwendung des Sicherheitscodes in die Herstellung des Produkts integriert ist. Zum Beispiel kann der Sicherheitscode auf einem inneren Teil des Produkts bereitgestellt sein, z.B. einem Teststreifen in einer medizinischen Testeinheit, oder er kann in eine Oberfläche des Produkts eingebettet oder anderweitig in das Produkt selbst integriert sein. Der Sicherheitscode kann praktischerweise ein Muster aus Punkten enthalten, wie nachstehend näher erörtert wird.
-
Die Produktdaten können auch eine eindeutige Produktkennung für das Produkt enthalten. Dies ermöglicht eine eindeutige Identifizierung eines bestimmten Produkts, selbst in Umsetzungen, in denen die Sicherheitsdaten selbst möglicherweise nicht eindeutig sind, z.B. aufgrund von Beschränkungen des Codes und/oder des Platzes für die Bereitstellung des Codes. Dies stellt auch eine Grundlage für zusätzliche Sicherheitsarbeitsschritte bereit, an denen die Prüfeinrichtung/der Server beteiligt ist, wie nachstehend erläutert wird.
-
Der Einfachheit halber können die Zugriffsdaten zusätzlich zu den verschlüsselten Produktdaten auf dem Etikett enthalten sein. In Ausführungsformen der Erfindung enthalten die Zugriffsdaten eine Internetadresse (URL, Uniform Resource Locator), die es einer Prüfeinrichtung ermöglicht, auf die auf dem Server gespeicherten Daten einfach unter Verwendung eines Web-Browsers zuzugreifen.
-
Mindestens eine weitere Ausführungsform der Erfindung stellt ein Verfahren zum Überprüfen der Echtheit eines verpackten Produkts bereit, das nach einem wie oben beschriebenen Verfahren hergestellt wurde. Das Verfahren wird an einem Überprüfungscomputer durchgeführt, der eine Lesevorrichtung aufweist, die diesem funktionsmäßig zugehörig ist. Das Überprüfungsverfahren umfasst ein Auslesen der verschlüsselten Produktdaten aus dem Etikett mittels der Lesevorrichtung und ein Empfangen des Sicherheitscodes von dem Produkt und ein Entschlüsseln des Sicherheitscodes, um die Sicherheitsdaten für das Produkt zu erhalten. Das Verfahren umfasst darüber hinaus ein Empfangen der Zugriffsdaten und ein Austauschen von Daten mit dem Netzwerkserver, um den Entschlüsselungsschlüssel zu erhalten, ein Entschlüsseln der verschlüsselten Produktdaten unter Verwendung des Entschlüsselungsschlüssels, um entschlüsselte Sicherheitsdaten zu erhalten, und ein Überprüfen, ob die entschlüsselten Sicherheitsdaten mit den Sicherheitsdaten für das Produkt übereinstimmen.
-
Wenn das Produkt in einem Behälter mit anderen Produkten verpackt ist und durch ein Verfahren unter Verwendung einer Passphrase wie oben beschrieben authentifiziert wird, können Überprüfungsverfahren, welche die Erfindung verkörpern, an dem Überprüfungscomputer Folgendes umfassen: Empfangen der Zugriffsdaten und Austauschen von Daten mit dem Netzwerkserver, um den Entschlüsselungsschlüssel und den Hashwert der Passphrase für die Behälterkennung zu erhalten; Auslesen der verschlüsselten Produktdaten aus dem Etikett über die Lesevorrichtung; und Entschlüsseln der verschlüsselten Produktdaten unter Verwendung des Entschlüsselungsschlüssels, um eine entschlüsselte Passphrase und entschlüsselte Sicherheitsdaten zu erhalten. Das Verfahren umfasst darüber hinaus: ein Berechnen eines Hashwerts der entschlüsselten Passphrase und ein Überprüfen, ob der berechnete Hashwert mit dem von dem Server erhaltenen Hashwert übereinstimmt; ein Empfangen des Sicherheitscodes von dem Produkt und ein Entschlüsseln des Sicherheitscodes, um die Sicherheitsdaten für das Produkt zu erhalten; und ein Überprüfen, ob die entschlüsselten Sicherheitsdaten mit den Sicherheitsdaten für das Produkt übereinstimmen. Das Verfahren kann auch ein Speichern des Entschlüsselungsschlüssels und des von dem Server erhaltenen Hashwerts zum Überprüfen der Echtheit anderer Produkte in dem Behälter umfassen.
-
Wenn die Produktdaten eine eindeutige Produktkennung für das Produkt enthalten, kann das Überprüfungsverfahren nach dem Entschlüsseln der verschlüsselten Produktdaten, um eine entschlüsselte Produktkennung zu erhalten, ein Berechnen eines Hashwerts der entschlüsselten Produktkennung und ein Senden des Hashwerts an den Netzwerkserver zur Speicherung von Verwendungsdaten, einschließlich des Hashwerts, mit dem Entschlüsselungsschlüssel auf dem Server umfassen. Dies ermöglicht ein Verfolgen von Produkten und gestattet auch das Durchführen von Prüfungen für Produkte vor deren Verwendung. Überprüfungsverfahren können insbesondere ein Empfangen sämtlicher mit diesem Schlüssel gespeicherter Verwendungsdaten von dem Server mit dem Entschlüsselungsschlüssel und ein Prüfen umfassen, ob der Hashwert der entschlüsselten Produktkennung mit einem Hashwert in den Verwendungsdaten übereinstimmt. Dies stellt ein zusätzliches Kennzeichen für Betrug bereit, wie weiter unten erörtert wird.
-
Mindestens eine zusätzliche Ausführungsform der Erfindung stellt ein System zum Überprüfen der Echtheit eines verpackten Produkts bereit, das nach einem wie oben beschriebenen Verfahren hergestellt wurde. Das System umfasst einen Server, der den Entschlüsselungsschlüssel speichert, und einen Überprüfungscomputer, der eine Lesevorrichtung aufweist, die diesem funktionsmäßig zugehörig ist, und der in der Lage ist, mit dem Server über ein Netzwerk Daten auszutauschen. Der Überprüfungscomputer ist so gestaltet, dass er über die Lesevorrichtung die verschlüsselten Produktdaten aus dem Etikett ausliest, den Sicherheitscode von dem Produkt empfängt und den Sicherheitscode entschlüsselt, um die Sicherheitsdaten für das Produkt zu erhalten, die Zugriffsdaten empfängt und die Zugriffsdaten verwendet, um über das Netzwerk eine Zugriffsanforderung für den Entschlüsselungsschlüssel an den Server zu senden. Der Server ist so gestaltet, dass er als Reaktion auf die Zugriffsanforderung den Entschlüsselungsschlüssel über das Netzwerk an den Überprüfungscomputer sendet. Der Überprüfungscomputer ist darüber hinaus so gestaltet, dass er die verschlüsselten Produktdaten unter Verwendung des Entschlüsselungsschlüssels entschlüsselt, um entschlüsselte Sicherheitsdaten zu erhalten, und überprüft, ob die entschlüsselten Sicherheitsdaten mit den Sicherheitsdaten für das Produkt übereinstimmen.
-
Noch weitere Ausführungsformen der Erfindung stellen ein verpacktes Produkt bereit, das Folgendes aufweist: einen Sicherheitscode auf dem Produkt, wobei der Sicherheitscode Sicherheitsdaten für das Produkt codiert; ein Etikett auf der Verpackung, das verschlüsselte Produktdaten enthält, wobei die Produktdaten die Sicherheitsdaten enthalten; und Zugriffsdaten auf der Verpackung zum Zugreifen auf einen Entschlüsselungsschlüssel für die verschlüsselten Produktdaten auf einem Netzwerkserver, der den Entschlüsselungsschlüssel speichert.
-
Im Allgemeinen können, wenn hierin Merkmale unter Bezugnahme auf ein Authentifizierungsverfahren beschrieben werden, das die Erfindung verkörpert, entsprechende Merkmale in einem Überprüfungsverfahren/-system oder einem verpackten Produkt, das die Erfindung verkörpert, bereitgestellt werden und umgekehrt.
-
Ausführungsformen der Erfindung werden im Folgenden anhand eines veranschaulichenden und nicht einschränkenden Beispiels unter Bezugnahme auf die beigefügten Zeichnungen ausführlicher beschrieben.
-
Figurenliste
-
- 1 zeigt Schritte eines Verfahrens zum Herstellen eines authentifizierten verpackten Produkts, das die Erfindung verkörpert;
- 2 ist eine schematische Darstellung eines Überprüfungssystems, das die Erfindung verkörpert;
- 3 ist ein verallgemeinertes Schaubild eines Computers in dem System von 2;
- 4 zeigt Schritte eines Überprüfungsverfahrens, das durch das System von 2 durchgeführt wird;
- 5 ist eine schematische Darstellung einer medizinischen Testeinheit, welche die Erfindung verkörpert;
- 6 veranschaulicht eine Verpackung von authentifizierten medizinischen Testeinheiten gemäß Ausführungsformen der Erfindung;
- 7 zeigt Schritte eines Verfahrens zum Herstellen der authentifizierten Einheiten aus 6 gemäß Ausführungsformen der Erfindung; und
- 8 zeigt Schritte eines Überprüfungsverfahrens, das mit dem System von 2 gemäß Ausführungsformen der Erfindung durchgeführt wird.
-
AUSFÜHRLICHE BESCHREIBUNG
-
1 zeigt grundlegende Schritte eines Verfahrens zum Herstellen eines authentifizierten verpackten Produkts, das die Erfindung verkörpert. Schritte dieses Verfahrens können von einem Produkthersteller während der Herstellung des Produkts/der Verpackung durchgeführt werden. In Schritt 1 stellt der Hersteller einen Sicherheitscode auf dem Produkt bereit. Dieser Sicherheitscode codiert Sicherheitsdaten für das Produkt, die hier mit Dsec bezeichnet und weiter unten beschrieben werden. In Schritt 2 verschlüsselt der Hersteller die Produktdaten, hier mit Dprod bezeichnet, über einen Verschlüsselungsalgorithmus Enc, um verschlüsselte Produktdaten Enc (Dprod) zu erhalten. Die Produktdaten Dprod enthalten die Sicherheitsdaten Dsec für das Produkt und können verschiedene zusätzliche Daten enthalten, wie nachstehend erörtert wird. Die Verschlüsselung wird unter Verwendung eines Verschlüsselungsschlüssels ek eines Schlüsselpaares (ek, dk) eines Verschlüsselungsschemas durchgeführt. Derartige Verschlüsselungsschemata sind nach dem Stand der Technik gut bekannt und definieren einen Verschlüsselungsalgorithmus Enc und einen Entschlüsselungsalgorithmus Dec, so dass Daten, die mit dem Schlüssel ek über den Verschlüsselungsalgorithmus Enc verschlüsselt wurden, unter Verwendung des entsprechenden Entschlüsselungsschlüssels dk und des Entschlüsselungsalgorithmus Dec entschlüsselt werden können. Der Verschlüsselungsschlüssel ek ist hier ein Herstellergeheimnis. In Schritt 3 stellt der Hersteller ein Etikett, das die verschlüsselten Produktdaten Enc (Dprod) enthält, auf einer Verpackung für das Produkt bereit, und in Schritt 4 wird das Produkt in die Verpackung verpackt. In Schritt 5 speichert der Hersteller den Entschlüsselungsschlüssel dk auf einem Netzwerkserver. Prüfeinrichtungen, die anschließend die Echtheit des Produkts überprüfen müssen, können auf diesen Server über ein Netzwerk zugreifen. In Schritt 6 stellt der Hersteller Zugriffsdaten zum Zugreifen auf den Entschlüsselungsschlüssel auf dem Netzwerkserver auf der Verpackung bereit. Die Zugriffsdaten, die als Dacc bezeichnet sind, können zwar verschiedene Formen annehmen, wie nachstehend erörtert wird, erlauben aber ein Abrufen des richtigen Entschlüsselungsschlüssels dk durch den Server zur Bereitstellung an eine Prüfeinrichtung. Der Authentifizierungsprozess ist dann abgeschlossen, und das Produkt kann über ein Verteilungssystem an einen Empfänger gesendet werden.
-
Die Schritte der 1 können in beliebiger Reihenfolge durchgeführt werden, und bestimmte Schritte können gegebenenfalls kombiniert werden. Bestimmte Schritte, z.B. die Schritte 2 und 5, können von einem (Universal- oder Spezial-) Computer des Herstellers als Teil eines automatisierten Produktionsprozesses durchgeführt werden.
-
Die Sicherheitsdaten Dsec können einen Wert, eine Werte-Zeichenfolge, eine alphanumerische Zeichenfolge oder andere Daten enthalten, die dem bestimmten Produkt zugeordnet und ihm somit zugehörig sind. Die Sicherheitsdaten sind daher für verschiedene Produkte unterschiedlich und können für ein Produkt eindeutig sein, z.B. gegebenenfalls eine eindeutige Produktseriennummer. Der Sicherheitscode kann die Sicherheitsdaten auf jede beliebige, zweckdienliche Weise codieren und auf verschiedene Weise auf dem Produkt bereitgestellt werden. In einigen Ausführungsformen kann der Sicherheitscode eine für Menschen lesbare Zeichenfolge von Zahlen und/oder Buchstaben umfassen. Praktischerweise wird der Sicherheitscode als Codemuster bereitgestellt, wie zum Beispiel ein Muster aus Punkten (die als Punkte, Linien und/oder andere Formen/Symbole geformt sein können), deren Anordnung, Form, Größe, Farbe oder sonstige Darstellung die Sicherheitsdaten codiert. In Ausführungsformen der Erfindung ist der Sicherheitscode zur zusätzlichen Sicherheit in das Produkt eingebettet, und derartige Codemuster können ohne Weiteres in die Produktherstellung integriert werden, z.B. durch Drucken, Stempeln, Ätzen, Gravieren, Prägen, Gießen oder Lithographie oder durch anderweitiges Strukturieren einer Oberfläche oder eines Teils des Produkts mit dem Code. Im Allgemeinen kann der Sicherheitscode jedoch auf jede beliebige geeignete Art und Weise dargestellt werden, z.B. in einem fälschungssicheren Aufkleber, Strichcode, Magnetstreifen oder einem anderen Speichermechanismus, wie es für ein bestimmtes Produkt geeignet ist. Das Etikett auf der Verpackung kann gleichermaßen eine Vielfalt von Formen annehmen und die verschlüsselten Produktdaten auf verschiedene Weise enthalten. Zu Beispielen gehören gedruckte Etiketten, die Codemuster wie zum Beispiel QR-Codes, Strichcodes oder andere optisch oder anderweitig maschinenlesbare gedruckte Codes aufweisen, optische Einheiten wie zum Beispiel Hologramme und Magnetstreifen oder andere praktische Datenspeichermedien. Speichereinheiten wie zum Beispiel RFID- oder NFC- (Near Field Communication-) Etiketten könnten ebenfalls verwendet werden. Allerdings können hierin beschriebene Ausführungsformen ohne Verwendung derartiger sicherer Speichereinheiten eine hohe Sicherheit in dem Authentifizierungssystem bieten. Ausführungsformen der Erfindung können einfache gedruckte Etiketten wie zum Beispiel QR-Codes nutzen.
-
Die Verpackung kann im Allgemeinen eine oder mehrere Verpackungsebenen oder -schichten umfassen. Eine Verpackungsschicht kann eine Umhüllung, einen Beutel, eine Schachtel, eine Hülle, eine Verpackung, eine Kiste oder einen anderen Behälter für ein Produkt umfassen und kann auch Aufkleber, Etiketten, Beipackzettel usw. umfassen.
-
Die Produktdaten Dprod, die in dem Etikett verschlüsselt sind, können verschiedene zusätzliche Datenelemente enthalten. Wenn zum Beispiel die Sicherheitsdaten für ein Produkt nicht eindeutig sind, z.B. aufgrund von Codierungsbeschränkungen und/oder begrenztem Platz auf dem Produkt für den Code, enthalten die Produktdaten idealerweise eine eindeutige Produktkennung prodlD. Dies ermöglicht eine eindeutige Identifizierung des Produkts und kann in zusätzlichen, nachstehend näher beschriebenen Sicherheitsarbeitsschritten verwendet werden.
-
Die Zugriffsdaten Dacc können auf der Verpackung getrennt von dem Etikett bereitgestellt werden, sind aber praktischerweise zusätzlich zu den verschlüsselten Produktdaten auf dem Etikett enthalten. Die Zugriffsdaten enthalten üblicherweise eine Art Kennung, um es zu ermöglichen, den korrekten Entschlüsselungsschlüssel dk in dem Speicher auf dem Server zu identifizieren, und können die Netzwerkadresse des Servers angeben. In Ausführungsformen der Erfindung enthalten die Zugriffsdaten eine URL, über die der Entschlüsselungsschlüssel abgerufen werden kann. Die URL stellt somit auf praktische Weise die Netzwerkadresse zum Zugreifen auf den Server dar und kann eine Kennung (z.B. eine Produktkennung oder eine Behälterkennung, wie weiter unten erörtert wird) in dem Pfad der URL enthalten, um den bestimmten Entschlüsselungsschlüssel für das Produkt zu identifizieren. Eine derartige Kennung sowie zusätzliche Daten, die weiter unten erörtert werden, können dem Server in Schritt 5 von 1 bereitgestellt werden.
-
2 ist ein schematisches Blockschaubild eines Überprüfungssystems zum Überprüfen der Echtheit von verpackten Produkten, das nach dem Verfahren von 1 hergestellt wurde. Das Überprüfungssystem wird von Empfängern von Produkten verwendet, die von einem Hersteller gemäß 1 authentifiziert und über ein Verteilungssystem zu den Empfängern transportiert werden. Das Überprüfungssystem 10 umfasst einen Überprüfungscomputer 11, der in der Lage ist, über ein Netzwerk 12 mit einem Server 13 Daten auszutauschen, auf dem die Entschlüsselungsschlüssel dk von dem Produkthersteller wie oben beschrieben gespeichert werden. Der Satz von Entschlüsselungsschlüsseln {dk} für Produkte wird in dem Speicher aufbewahrt, hier dargestellt durch eine Datenbank 14, der funktionsmäßig dem Server 13 zugehörig ist. Jeder Schlüssel dk wird in Verbindung mit einer Kennung für diesen Schlüssel gespeichert, z.B. einer Kennung für den Speicherort des Schlüssels, der wie oben beschrieben in einem URL-Pfad bereitgestellt wird. Dem Überprüfungscomputer ist funktionsmäßig eine Lesevorrichtung 15 zugehörig. Die Lesevorrichtung 15 ist zum Auslesen von Daten aus einem verpackten Produkt geeignet, das ein Produkt 16 und eine Verpackung 17 umfasst und das nach dem Verfahren von 1 hergestellt wurde. Insbesondere ist die Lesevorrichtung dieser Ausführungsform in der Lage, den Sicherheitscode 18 (einschließlich der Sicherheitsdaten Dsec) aus dem Produkt 16 auszulesen und auch das Etikett 19, das die verschlüsselten Produktdaten Enc (Dprod) enthält, aus der Verpackung 17 auszulesen. (In anderen Ausführungsformen kann der Sicherheitscode in für Menschen lesbarer Form bereitgestellt werden, wodurch der Code von einem Benutzer gelesen und über eine Benutzerschnittstelle des Überprüfungscomputers in den Überprüfungscomputer 11 eingegeben werden kann). Wenn die Zugriffsdaten Dacc auf der Verpackung 17 getrennt von dem Etikett bereitgestellt werden, kann die Lesevorrichtung 15 darüber hinaus in der Lage sein, Dacc aus der Verpackung 17 auszulesen.
-
Der Überprüfungscomputer 11 kann durch einen Universal- oder Spezialcomputer umgesetzt sein, der von einer Partei betrieben wird, die das Produkt 16 authentifizieren möchte. Zum Beispiel kann der Überprüfungscomputer durch einen Universal-Benutzercomputer umgesetzt werden, wie zum Beispiel durch ein Mobiltelefon, einen Tablet-Computer, einen Desktop-Computer, einen Laptop-Computer, ein Notebook, einen Palmtop, einen elektronischen Assistenten (PDA, personal digital assistant) oder eine andere Benutzercomputereinheit. Alternativ kann der Überprüfungscomputer 11 in einigen Szenarien durch eine zweckbestimmte Handheld-Einheit umgesetzt sein. Die Lesevorrichtung 15 kann in den Überprüfungscomputer 11 integriert sein (z.B. eine integrierte Kamera eines Mobiltelefons oder eines Tablet-Computers) oder kann auf jede beliebige, praktische Weise mit dem Überprüfungscomputer 11 (über eine drahtgebundene oder drahtlose Verbindung) verbunden sein. Die Lesevorrichtung 15 kann im Allgemeinen eine oder mehrere Lese-Einheiten umfassen, und je nach der bestimmten Art und Weise, in der Daten auf dem verpackten Produkt bereitgestellt werden, sind verschiedene Umsetzungen denkbar. Zum Beispiel kann die Lesevorrichtung 15 eine Kamera, einen Scanner, einen Magnetstreifenleser, einen RFID- oder NFC-Leser, einen Strichcodeleser und/oder einen anderen Sensor (oder eine Kombination aus diesen) umfassen, der geeignet ist, ein Bild zu erfassen, den Sicherheitscode 18 und das Etikett 19 zu scannen, zu erfassen oder anderweitig zu „lesen“, so dass dadurch dargestellte Daten dem Überprüfungscomputer 11 bereitgestellt werden. Die Lesevorrichtung 15 und/oder der Überprüfungscomputer 11 können eine Logik enthalten, die eine Funktionalität zum Decodieren des Sicherheitscodes 18 bereitstellt, z.B. aus einem von einer Kamera aufgenommenen Bild davon, um die Sicherheitsdaten entsprechend der bestimmten Art der Darstellung zu extrahieren. Bei Etiketten, die Code-Muster wie zum Beispiel QR-Codes usw. verkörpern, können die Lesevorrichtung und/oder der Überprüfungscomputer gleichermaßen eine Logik enthalten, die eine Funktionalität zum Extrahieren der dadurch dargestellten Daten bietet. Der Überprüfungscomputer 11 enthält darüber hinaus eine Logik, die eine Funktionalität zum Umsetzen von unten näher aufgeführten Schritten des Überprüfungsprozesses bereitstellt.
-
Im Allgemeinen kann das Netzwerk 12 ein oder mehrere Komponenten-Netzwerke und/oder Inter-Netzwerke, einschließlich des Internets, umfassen, und sowohl der Überprüfungscomputer 11 als auch der Server 13 können durch einen Computer umgesetzt werden, der eine oder mehrere (reale oder virtuelle) Maschinen umfasst, die eine Funktionalität zum Umsetzen der beschriebenen Arbeitsschritte bereitstellen. Eine bestimmte Funktionalität dieser Computer kann durch in Hardware oder Software umgesetzte Logik oder eine Kombination davon bereitgestellt werden. Die Logik kann in dem allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen beschrieben werden, wie zum Beispiel Programmmodule, die durch eine Datenverarbeitungsvorrichtung ausgeführt werden. Allgemein können zu Programmmodulen Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter gehören, die bestimmte Aufgaben durchführen bzw. bestimmte abstrakte Datentypen umsetzen. Die Datenverarbeitungsvorrichtung kann auch in verteilten Cloud-Computing-Umgebungen ausgeführt werden, in denen Aufgaben durch entfernt angeordnete Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Daten und Programmmodule sowohl in lokalen als auch in entfernt angeordneten Computersystem-Speichermedien befinden, darunter Ha uptspeicherei nheiten.
-
3 ist ein Blockschaubild einer beispielhaften Datenverarbeitungsvorrichtung zum Umsetzen eines Computers des vorstehenden Systems. Die Datenverarbeitungsvorrichtung ist in Form eines Universalcomputers 20 gezeigt. Die Komponenten des Computers 20 können eine Verarbeitungsvorrichtung wie zum Beispiel eine oder mehrere durch die Verarbeitungseinheit 21 dargestellte Prozessoren, einen Systemspeicher 22 und einen Bus 23 aufweisen, der verschiedene Systemkomponenten, darunter den Systemspeicher 22, mit der Verarbeitungseinheit 21 verbindet.
-
Der Bus 23 stellt eine oder mehrere einer beliebigen von mehreren Arten von Busstrukturen dar, darunter ein Speicherbus oder eine Speichersteuereinheit, ein Peripheriebus, ein beschleunigter Grafikanschluss und ein Prozessor- oder lokaler Bus, die eine beliebige aus einer Vielfalt von Busarchitekturen verwenden. Zu derartigen Architekturen gehören als Beispiel und nicht als Einschränkung ein ISA-Bus (Industry Standard Architecture), ein MCA-Bus (Micro Channel Architecture), ein EISA-Bus (Enhanced ISA), ein VESA-Lokalbus (Video Electronics Standards Association) sowie ein PCI-Bus (Peripheral Component Interconnect).
-
Der Computer 20 umfasst üblicherweise eine Vielfalt von durch einen Computer lesbaren Medien. Bei derartigen Medien kann es sich um jedes beliebige verfügbare Medium handeln, auf das der Computer 20 zugreifen kann, darunter flüchtige und nichtflüchtige Medien sowie austauschbare und nicht austauschbare Medien. Zum Beispiel kann der Systemspeicher 22 durch einen Computer lesbare Medien in Form eines flüchtigen Speichers wie zum Beispiel einen Direktzugriffsspeicher (RAM) 24 und/oder einen Cache 25 enthalten. Der Computer 20 kann darüber hinaus andere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Computersystem-Speichermedien enthalten. Lediglich als Beispiel kann das Speichersystem 26 zum Lesen von und zum Schreiben auf ein nicht austauschbares, nichtflüchtiges magnetisches Medium bereitgestellt werden (allgemein als „Festplattenlaufwerk“ bezeichnet). Es können auch ein Magnetplattenlaufwerk zum Lesen von und zum Schreiben auf eine austauschbare, nichtflüchtige Magnetplatte (z.B. eine „Floppy-Diskette“) und ein optisches Plattenlaufwerk zum Lesen von oder zum Schreiben auf eine austauschbare, nichtflüchtige optische Platte wie zum Beispiel eine CD-ROM, DVD-ROM oder ein anderes optisches Medium bereitgestellt werden, auch wenn diese nicht gezeigt sind. In derartigen Fällen können sie jeweils über eine oder mehrere Datenmedienschnittstellen mit dem Bus 23 verbunden sein.
-
Der Speicher 22 kann mindestens ein Programmprodukt enthalten, das ein oder mehrere Programmmodule aufweist, die so konfiguriert sind, dass sie Funktionen von Ausführungsformen der Erfindung ausführen. Als Beispiel können ein Programm/Dienstprogramm 27 mit (mindestens) einem Satz von Programmmodulen 28 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten in dem Speicher 22 gespeichert sein. Das Betriebssystem, das eine oder die mehreren Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine beliebige Kombination daraus können jeweils eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 28 führen allgemein die hierin beschriebenen Funktionen und/oder Methodiken von Ausführungsformen der Erfindung aus.
-
Der Computer 20 kann auch Daten austauschen mit: einer oder mehreren externen Einheiten 29 wie zum Beispiel einer Tastatur, einer Zeigeeinheit, einer Anzeige 30 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computer 20 zu interagieren; und/oder beliebigen Einheiten (z.B. Netzwerkkarten, Modems usw.), die es dem Computer 20 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über Eingabe/Ausgabe- (E/A-) Schnittstellen 31 erfolgen. Auch kann der Computer 20 über einen Netzwerkadapter 32 mit einem oder mehreren Netzwerken Daten austauschen, wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet). Wie abgebildet ist, tauscht der Netzwerkadapter 32 mit den anderen Komponenten des Computers 20 über den Bus 23 Daten aus. Es sollte klar sein, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computer 20 verwendet werden könnten, auch wenn diese nicht gezeigt sind. Zu Beispielen gehören folgende, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
-
4 zeigt grundlegende Schritte des Überprüfungsverfahrens, das durch das System 10 durchgeführt wird. (Die Schritte dieser Figur können in beliebiger Reihenfolge durchgeführt werden, und Schritte können gegebenenfalls kombiniert werden). In Schritt 40 liest der Überprüfungscomputer 11 mittels der Lesevorrichtung 15 die verschlüsselten Produktdaten Enc (Dprod) aus dem Etikett 19 aus. In Schritt 41 empfängt der Überprüfungscomputer 11 die Zugriffsdaten Dacc. (Diese Daten können durch Auslesen des Etiketts in Schritt 41 erhalten oder separat von der Verpackung mittels einer Lesevorrichtung 15 ausgelesen oder von einem Benutzer ausgelesen und dem Computer 11 mittels einer Benutzereingabe bereitgestellt werden, je nachdem, wie die Zugriffsdaten auf der Verpackung bereitgestellt sind). In Schritt 42 empfängt der Überprüfungscomputer 11 den Sicherheitscode 18 von dem Produkt 16, z.B. mittels der Lesevorrichtung 15, und entschlüsselt den Sicherheitscode, um die Sicherheitsdaten Dsec zu erhalten. In Schritt 43 verwendet der Überprüfungscomputer 11 die Zugriffsdaten Dacc, um eine Zugriffsanforderung für den Entschlüsselungsschlüssel dk über das Netzwerk 12 an den Server 13 zu senden. Dieser Schritt kann auf verschiedene Arten umgesetzt werden. Zum Beispiel kann der Überprüfungscomputer mit einer speziell dafür vorgesehenen Anwendung zum Austauschen von Daten mit dem Server 13 an einer vorher festgelegten Netzwerkadresse programmiert werden, und die Zugriffsdaten können einfach eine Kennung zum Abrufen des richtigen Schlüssels von dem Server enthalten. In Ausführungsformen der Erfindung enthalten die Zugriffsdaten jedoch eine URL, die einen Pfad zu dem Schlüssel enthält, wodurch der Überprüfungscomputer 11 durch Zugreifen auf die URL den richtigen Schlüssel von dem Server erhalten kann. In Schritt 44 sendet der Server 13 als Reaktion auf die Zugriffsanforderung den Entschlüsselungsschlüssel dk über das Netzwerk 12 an den Überprüfungscomputer 11, z.B. über eine Webseite, auf die mittels der URL zugegriffen wird. Der Überprüfungscomputer 11 erhält somit den richtigen Entschlüsselungsschlüssel dk und verwendet diesen Schlüssel in Schritt 45 zum Entschlüsseln der verschlüsselten Produktdaten Enc (Dprod), um die entschlüsselten Sicherheitsdaten in den Produktdaten Dprod zu erhalten. In Schritt 46 vergleicht der Überprüfungscomputer 11 diese entschlüsselten Sicherheitsdaten mit den in Schritt 42 erhaltenen Sicherheitsdaten Dsec. Wenn die entschlüsselten Sicherheitsdaten mit Dsec für das Produkt übereinstimmen (wie durch die Entscheidung „Ja“ (J) in Entscheidungsblock 47 angezeigt), betrachtet der Überprüfungscomputer das Produkt in Schritt 48 als echt und kann dem Benutzer eine entsprechende Meldung anzeigen. Wenn die Sicherheitsdaten Dsec nicht verifiziert werden („Nein“ (N) bei Entscheidung 47), geht der Überprüfungscomputer 11 in Schritt 49 davon aus, dass das Produkt nicht echt ist, und dem Benutzer wird eine Warnmeldung angezeigt.
-
Die vorstehend beschriebenen Techniken ermöglichen es einem Benutzer, ein verpacktes Produkt auf der Grundlage der Sicherheitsdaten, über die das Produkt beim Hersteller an seine Verpackung gebunden ist, zu authentifizieren. Die Sicherheitsdaten werden auf dem Produkt codiert und zur Sicherheit in dem Etikett verschlüsselt und bleiben für den Arbeitsschritt der Überprüfung lokal bei der Prüfeinrichtung. Der Server empfängt die Sicherheitsdaten selbst nicht und hat keine Kenntnis von diesen, wodurch Versuche vereitelt werden, den Authentifizierungsprozess durch Ausspionierungsattacken auf den Datenaustausch mit dem Server oder durch Hacken/Abrufen von auf dem Server gespeicherten Daten zu untergraben.
-
Ausführungsformen des Authentifizierungssystems werden nachstehend für ein Szenario detailliert beschrieben, in dem es sich bei dem Produkt 16 um eine medizinische Testeinheit handelt. 5 zeigt eine beispielhafte Ausführungsform einer im Gesundheitswesen gebräuchlichen medizinischen Testeinheit 50 eines Typs, der durch Aufbringen einer Flüssigkeitsprobe (z.B. Blut oder Urin) auf die Testeinheit bedienbar ist. Derartige diagnostische Tests werden häufig zum Testen auf eine große Vielfalt von Gesundheitszuständen verwendet. In dem gezeigten Beispiel weist die Testeinheit 50 ein Gehäuse 51 mit einem Testfenster 52 und einem Anzeigefenster 53 darin auf. Das Testfenster 52 enthält eine Verdünnungsmittelvertiefung, in welche die Testflüssigkeit im Gebrauch aufgetragen wird. Die Verdünnungsmittelvertiefung enthält üblicherweise eine oder mehrere Chemikalien, die sich in der Testflüssigkeit auflösen und von der Flüssigkeit (z.B. über einen absorbierenden Teststreifen oder Mikrokanäle in der Einheit, schematisch bei 54 angegeben) zu dem Anzeigefenster 53 hin befördert werden. Eine oder mehrere weitere Chemikalien können in dem Anzeigefenster 53 enthalten sein, um bei positivem Testergebnis eine chemische Reaktion bereitzustellen, die zu einer visuellen Anzeige des Testergebnisses führt, wie schematisch bei 55 angegeben ist. Das Anzeigefenster enthält auch einen Bereich zum Anzeigen des Sicherheitscodes 56 für das Produkt. Der Sicherheitscode 56 kann auf dem Test in einer Form angegeben werden, die (zumindest teilweise) verborgen ist, bis der Test verwendet wird. Insbesondere wird die Testflüssigkeit entlang der Testeinheit befördert und reagiert mit einer oder mehreren Chemikalien, um den Sicherheitscode 56 zu enthüllen (oder vollständig zu enthüllen). Der Sicherheitscode 56 ist in die Testeinheit als Muster aus Punkten eingebettet, hier chemische Punkte, die während der Herstellung auf den Teststreifen gedruckt werden können, so dass das Punktemuster beim Verwenden des Tests gezeigt wird. Wie in der Vergrößerung angedeutet, enthält der Sicherheitscode hier Punkte, die in einem 4-mal-8-Raster angeordnet sind. Jeder Punkt steht für ein Bit des Codes, wobei die Punkteanordnung einen 32-Bit-Code definiert.
-
Derartige Testeinheiten 50 werden üblicherweise in Sammelpackungen verpackt und verkauft, die eine Mehrzahl von einzeln verpackten Tests enthalten. 6 ist eine schematische Darstellung der Verpackung in dieser Ausführungsform. Jeder Test 50, mit dem entsprechenden eingebetteten Sicherheitscode 56, ist in einer einzelnen Produktverpackung 60 verpackt. Auf der Produktverpackung 60 befindet sich ein gedrucktes Etikett 61, hier ein QR-Code. Die verpackten Tests 50 werden dann in einen Behälter, hier eine Schachtel 62, gepackt, die eine eindeutige, von dem Hersteller zugeordnete Schachtelkennung BoxID aufweist.
-
Der QR-Code 61 auf jedem verpackten Test enthält Zugriffsdaten Dacc, einschließlich einer URL der Form http(s)://[Adresse des Netzwerkservers 13]/[BoxID]. Zusätzlich enthält jedes Etikett 61 die verschlüsselten Produktdaten Enc (Dprod) für den entsprechenden Test. Die Produktdaten Dprod enthalten: eine eindeutige Produktkennung ProdID für diesen Test; die Sicherheitsdaten Dsec, die in dem Sicherheitscode 56 dieses Tests codiert sind, und eine Passphrase Pass, die den Produktdaten aller Tests in der Schachtel 62 mit der Kennung BoxID gemein ist. Die Passphrase Pass kann im Allgemeinen ein einzelnes Passwort oder eine Folge von Passwörtern enthalten.
-
7 zeigt Schritte des Authentifizierungsverfahrens, die der Hersteller in dieser Ausführungsform durchführt. In Schritt 70 druckt der Hersteller den Sicherheitscode 56, der die Sicherheitsdaten Dsec codiert, auf eine Testeinheit 50. In Schritt 71 wird die Einheit in der Produktverpackung 60 verpackt. In Schritt 72 wählt der Hersteller die eindeutige Produktkennung ProdID für den Test aus. In Schritt 73 verwendet der Hersteller einen Verschlüsselungsschlüssel ek zum Verschlüsseln der Produktdaten Dprod, einschließlich ProdID, Dsec und der Passphrase Pass für die Schachtel BoxID, in die der Test verpackt werden soll, um die verschlüsselten Produktdaten Enc(Dprod) zu erhalten. In Schritt 74 druckt der Hersteller einen QR-Code 61, der Enc (Dprod) und die Zugriffsdaten Dacc = http(s)://[Adresse des Netzwerkservers 13]/[BoxID] enthält, auf die Testverpackung 60. Die Schritte 70 bis 74 werden für alle Produkte durchgeführt, die in der Schachtel BoxID verpackt werden sollen, und derselbe Verschlüsselungsschlüssel ek wird in Schritt 73 für jedes dieser Produkte verwendet. Die Produkte werden in Schritt 75 in der Schachtel 62 verpackt. In Schritt 76 berechnet der Hersteller einen Hashwert Hash1 = H(Pass), indem er einen Hash-Algorithmus H auf die Passphrase Pass für die Schachtel anwendet. In Schritt 77 sendet der Hersteller den Entschlüsselungsschlüssel dk, der ek entspricht, an den Netzwerkserver 13 zusammen mit der BoxID, der gehashten Passphrase Hash1 und beschreibenden Daten Ddesc, die sich auf die Produkte in der Schachtel beziehen. Die beschreibenden Daten Ddesc enthalten eine Produktbeschreibung und ein Verfallsdatum für die Einheiten 50 und können eine Gebrauchsanweisung, die Verkaufsregion und alle anderen nützlichen Daten in Bezug auf ein Produkt enthalten, die möglicherweise nicht in die verschlüsselten Produktdaten auf dem Etikett aufgenommen werden können. Der Datenaustausch mit dem Server kann über einen sicheren Kanal erfolgen, z.B. unter Verwendung von Standard-Sicherheitsprotokollen wie SSL/TLS (Secure Sockets Layer/Transport Security Layer), und für Hersteller kann ein Sonderzugriff erforderlich sein, z.B. unter Verwendung von Standard-Identitätsverwaltungsmechanismen auf dem Server 13. In Schritt 78 speichert der Server 13 dann den Schlüssel dk zusammen mit Hash1 und den beschreibenden Daten Ddesc an einem Speicherort, auf den über die URL http(s)://[Adresse des Netzwerkservers 13]/[BoxID] zugegriffen werden kann. Damit ist der Authentifizierungsprozess für den Hersteller abgeschlossen.
-
8 zeigt die von dem Überprüfungssystem 10 in dieser Ausführungsform durchgeführten Schritte. Der Überprüfungscomputer 11 ist praktischerweise durch ein Mobiltelefon oder einen Tablet-Computer umgesetzt, der von einer Partei bedient wird, die ein Testgerät 50 verwenden möchte, das in einer Schachtel 62 mit derartigen Tests empfangen wird. In Schritt 80 scannt der Benutzer den QR-Code 61 auf einer ausgewählten Testverpackung, wobei der Überprüfungscomputer 11 die verschlüsselten Produktdaten Enc (Dprod) und die URL aus dem QR-Code ausliest. In Schritt 81 greift der Benutzer auf die URL http(s)://[Adresse des Netzwerkservers 13]/[BoxID] zu, wodurch der Überprüfungscomputer 11 den Entschlüsselungsschlüssel dk mit der gehashten Passphrase Hash1 und den beschreibenden Daten Ddesc für Testeinheiten erhält. Der Überprüfungscomputer kann auch alle mit Duse bezeichneten Verwendungsdaten empfangen, die von dem Server 13 für Produkte in der Schachtel gemäß unten beschriebenen Schritten gespeichert werden. Derartige Verwendungsdaten können einen oder mehrere Hash-Werte Hash2 = H(ProdlD) enthalten, die zuvor validierten Produkten entsprechen, wie nachstehend detailliert beschrieben ist. Der Datenaustauschschritt 81 kann über einen sicheren Kanal durchgeführt werden, der mit dem Server 13 unter Verwendung von SSL/TLS eingerichtet wurde.
-
In Schritt 82 speichert der Überprüfungscomputer die empfangenen Daten in dem lokalen Speicher, um die Echtheit aller Produkte in der Schachtel zu überprüfen. In Schritt 83 zeigt der Überprüfungscomputer dem Benutzer die beschreibenden Daten Ddesc an, um sie mit den empfangenen Produkten abzugleichen. Als nächstes verwendet der Überprüfungscomputer in Schritt 84 den Schlüssel dk, um die verschlüsselten Produktdaten Enc(Dprod) zu entschlüsseln, die in Schritt 80 für den ausgewählten Test erhalten wurden, um die entschlüsselten Produktdaten Dprod zu erhalten, die ProdID, Dsec und die Passphrase Pass enthalten. In Schritt 85 berechnet der Überprüfungscomputer 11 einen Hashwert Hash1 = H(Pass) aus der entschlüsselten Passphrase Pass. In Schritt 86 vergleicht der Überprüfungscomputer den sich ergebenden Hashwert mit der in Schritt 81 von dem Server empfangenen gehashten Passphrase. Wenn die Hashwerte der Passphrase nicht übereinstimmen („Nein“ bei Entscheidung 87), erachtet der Überprüfungscomputer das Etikett in Schritt 88 als ungültig. Dem Benutzer kann dann eine Warnmeldung angezeigt werden, und in Schritt 100 kann der Überprüfungscomputer den Server 13 darüber benachrichtigen, dass die Authentifizierung aufgrund einer ungültigen Etiketten-Passphrase in der Schachtel BoxID fehlgeschlagen ist. Wenn die Hashwerte der Passphrase übereinstimmen („Ja“ bei Entscheidung 87), fährt der Vorgang mit Schritt 89 fort.
-
In Schritt 89 berechnet der Überprüfungscomputer 11 einen Hashwert Hash2 = H(ProdlD) aus der entschlüsselten Produktkennung ProdID. In Schritt 90 vergleicht der Überprüfungscomputer den sich ergebenden Hashwert Hash2 mit sämtlichen in Schritt 81 empfangenen Verwendungsdaten Duse. Wenn ein übereinstimmender Hashwert gefunden wird („Ja“ bei Entscheidung 91), stimmt ProdID mit einer Produktkennung in den Verwendungsdaten überein, die einem zuvor authentifizierten Produkt entspricht. In diesem Fall hält der Überprüfungscomputer das Etikett in Schritt 92 für ungültig und zeigt dem Benutzer eine Warnmeldung an. Der Überprüfungscomputer kann dann den Server in Schritt 100 dahingehend warnen, dass die Authentifizierung aufgrund einer zuvor authentifizierten ProdID in einem Etikett für die Schachtel BoxID fehlgeschlagen ist. Angenommen, es wird kein passender Hash2-Wert gefunden („Nein“ bei Entscheidung 91), sendet der Überprüfungscomputer in Schritt 93 den Hashwert Hash2 zusammen mit der Schachtelkennung BoxID an den Server 13. In diesem Schritt empfangene Hashwerte können zum Zwecke der Produktverfolgung auf dem Server 13 verwendet werden, wobei die Produktkennung ProdID geschützt wird. In Schritt 94 speichert der Server dann den Hashwert Hash2 in den Verwendungsdaten Duse für die Schachtel BoxID. Ein dupliziertes Etikett wird somit in Schritt 91 einer nachfolgenden Vorgehensweise zur Überprüfung entdeckt.
-
Nach Validieren des QR-Codes steht es dem Benutzer dann frei, die Testeinheit zu öffnen und zu verwenden. Als nächstes fotografiert der Benutzer in Schritt 95 den Sicherheitscode 56 auf dem Test, und der Überprüfungscomputer 11 liest den Sicherheitscode und decodiert die Sicherheitsdaten Dsec aus dem Bild. In Schritt 96 vergleicht der Überprüfungscomputer die sich ergebenden Sicherheitsdaten Dsec mit den in Schritt 84 erhaltenen entschlüsselten Sicherheitsdaten. Wenn diese Daten bei Entscheidung 97 nicht übereinstimmen, wird der Test für nicht echt befunden, und in Schritt 98 kann eine Warnmeldung angezeigt werden. Der Überprüfungscomputer kann dem Server in Schritt 100 auch mitteilen, dass die Authentifizierung aufgrund ungültiger Sicherheitsdaten fehlgeschlagen ist. Angenommen, die Sicherheitsdaten sind gültig, wird der Test bei Schritt 99 für echt befunden und es wird eine entsprechende Meldung angezeigt. In Schritt 100 kann der Überprüfungscomputer dann den Server 13 darüber benachrichtigen, dass der Test nach der Verwendung für vollständig echt befunden wurde und der Überprüfungsprozess abgeschlossen ist.
-
Die vorstehenden Vorgehensweisen bieten ein sicheres, praktisches und kostengünstiges Authentifizierungssystem für Produkte wie zum Beispiel medizinische Testeinheiten. Produkte sind über die Passphrase an die Schachtel gebunden, und jedes Produkt ist über die Sicherheitsdaten an seine Verpackung gebunden. Einfache Sicherheitscodes können auf Produkten verwendet werden, und zusätzliche Daten können durch das Etikett/den Server zur Produktvalidierung gespeichert werden. Der Benutzer kann alle Produkte in der Schachtel authentifizieren, und zwar auf der Grundlage von den Informationen, die von dem Server in Schritt 81 für das erste Produkt zurückgemeldet wurden. Dies verringert den Bedarf an Netzwerkverbindungsmöglichkeiten und ist besonders nützlich in Situationen, z.B. für medizinische Dienste an entfernten Orten, wo nur zeitweise Verbindungsmöglichkeiten bestehen. Eine Produktvalidierung kann über einen Web-Browser unter Verwendung eines Telefons oder einer ähnlichen Datenverarbeitungseinheit durchgeführt werden. Außerdem werden die Testeinheiten erst nach dem Validieren der Etiketten verwendet, wodurch eine Verschwendung von Testproben bei betrügerischen Tests verhindert wird. Die in Schritt 94 gespeicherten Verwendungsdaten ermöglichen eine Produktverfolgung und eine Erkennung von duplizierten Etiketten. Benachrichtigungen über Authentifizierungsfehler, die dem Server 13 in Schritt 100 aus 8 bereitgestellt werden, ergänzen die dem Server über die Produktvalidierung bereitgestellten Informationen und können dazu verwendet werden, Warnungen über einen möglichen Betrug für die Schachtel BoxID insgesamt zu speichern. Derartige Betrugswarnungen können einer Prüfeinrichtung bereitgestellt werden, die versucht, jedes Produkt in der Schachtel BoxID zu überprüfen, wodurch Betrugswarnungen auf Behälterebene ausgegeben werden. Diese Informationen können auch dazu beitragen, verschiedene Arten von Betrug zu unterscheiden, wie zum Beispiel Produkte, die nach der Verwendung dupliziert werden, oder Etiketten, die (z.B. auf gefälschten Verpackungen) für ansonsten echte Produkte dupliziert werden.
-
Natürlich können an den beschriebenen beispielhaften Ausführungsformen viele Änderungen und Abänderungen vorgenommen werden. Wenn zum Beispiel keine Netzwerkverbindungsmöglichkeiten für die Schritte 93 oder 100 der 8 verfügbar sind, können diese Schritte bei der nächsten Wiederherstellung der Verbindungsmöglichkeiten durchgeführt werden. Der Server 13 kann in einigen Szenarien über ein lokales Netzwerk einen Sonderzugriff für Prüfeinrichtungen bereitstellen. Der Server 13 könnte auch verwendet werden, um Verfolgungsinformationen zu speichern, die von anderen Entitäten wie zum Beispiel Distributoren, Frachtunternehmen usw. in einem Verteilungssystem bereitgestellt werden. Derartige Entitäten können ein Produktetikett scannen oder die Zugriffsdaten Dacc lesen, die anderweitig auf einer Schachtel bereitgestellt werden, und den Server über den Verteilungsstatus einer Schachtel BoxID informieren.
-
Die beschriebenen Grundtechniken sind vielseitig und skalierbar und können auf zahlreiche Produkte angewandt werden, nicht nur auf andere pharmazeutische/diagnostische/medizinische Produkte, sondern auch auf Produkte wie zum Beispiel Kleidung oder aus der Automobil-, Luftfahrtbranche oder andere technische Teile in anderen Branchen, die Ziel von Betrug sind.
-
Zahlreiche weitere Beispiele für Sicherheitscodes und Techniken zur Codierung von Sicherheitsdaten sind denkbar. Zum Beispiel können optische Codes auf einer Farbcodierung beruhen, z.B. auf relativen Anteilen verschiedenfarbiger Farbstoffe in einem Code-Bereich eines Produkts, wie zum Beispiel einem Kleidungsetikett. Ein derartiger Code kann decodiert werden, indem das Farbspektrum in einem Bild analysiert wird, das zum Beispiel von einer Kamera aufgenommen wurde. Andere optische Codes können auf Materialien mit anderen optischen Eigenschaften als Farbe, z.B. Fluoreszenz, beruhen. Codes können auch auf anderen Materialeigenschaften beruhen, z.B. auf Tinten oder anderen Chemikalien mit anderen elektrischen oder magnetischen Eigenschaften, die durch elektromagnetische Analyse, z.B. durch ein Analysieren von Resonanzfrequenzen, in einem Code-Leser erkannt werden können. Im Allgemeinen können Code-Muster ein oder mehrere Materialien mit verschiedenen Eigenschaften umfassen, die für das Lesen des Codes erkannt werden können, und es können Codierungstechniken je nach Eignung für ein bestimmtes Produkt ausgewählt werden.
-
Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung aufgeführt, sollen jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die offenbarten Ausführungsformen. Für Fachleute werden viele Abänderungen und Abwandlungen ersichtlich sein, ohne von dem Umfang und dem Sinngehalt der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt vorgefundenen Technologien bestmöglich zu erläutern oder um es anderen Fachleuten zu ermöglichen, die hierin dargelegten Ausführungsformen zu verstehen.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailebene der Integration handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbare Programmanweisung ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung aufgeführt, sollen jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die offenbarten Ausführungsformen. Für Fachleute werden viele Abänderungen und Abwandlungen ersichtlich sein, ohne von dem Umfang und dem Sinngehalt der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt vorgefundenen Technologien bestmöglich zu erläutern oder um es anderen Fachleuten zu ermöglichen, die hierin beschriebenen Ausführungsformen zu verstehen.