DE112019006235T5 - Authentifizierung zum verbinden eines strichcodelesers mit einer client-rechenvorrichtung - Google Patents

Authentifizierung zum verbinden eines strichcodelesers mit einer client-rechenvorrichtung Download PDF

Info

Publication number
DE112019006235T5
DE112019006235T5 DE112019006235.2T DE112019006235T DE112019006235T5 DE 112019006235 T5 DE112019006235 T5 DE 112019006235T5 DE 112019006235 T DE112019006235 T DE 112019006235T DE 112019006235 T5 DE112019006235 T5 DE 112019006235T5
Authority
DE
Germany
Prior art keywords
communication
transceiver
communication transceiver
memory
client computing
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
DE112019006235.2T
Other languages
English (en)
Inventor
Kenneth S. Bhella
Mariya Wright
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zebra Technologies Corp
Original Assignee
Zebra Technologies Corp
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 Zebra Technologies Corp filed Critical Zebra Technologies Corp
Publication of DE112019006235T5 publication Critical patent/DE112019006235T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/77Graphical identity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Abstract

Eine Vorrichtung und ein System zur Authentifizierung von Merkmalen zum Herunterladen auf eine Bildscanvorrichtung lässt eine Client-Rechenvorrichtung ein Bild eines Symbols erzeugen, das Authentifizierungsdaten kodiert. Die Client-Rechenvorrichtung hasht einen Kommunikationsparameter ihres Sendeempfängers, signiert den Hash-Wert digital mit einem privaten Schlüssel aus einem öffentlich-privaten Schlüsselpaar und kodiert den Hash-Wert, die digitale Signatur und den unverschlüsselten Kommunikationsparameter in das Symbol. Die Bildscanvorrichtung erfasst ein Bild des Symbols, dekodiert das Symbol, prüft, ob der unverschlüsselte Kommunikationsparameter mit dem Hash des Kommunikationsparameters korrespondiert und ein im Speicher des Strichcodelesers gespeicherter öffentlicher Schlüssel mit dem zum Signieren des Hash-Wertes verwendeten privaten Schlüssel korrespondiert. Wenn der Kommunikationsparameter mit dem Hash-Wert korrespondiert und die Signatur mit dem öffentlichen Schlüssel korrespondiert, aktiviert der Strichcodeleser seinen Sendeempfänger, um das Merkmal von Client-Rechenvorrichtung herunterzuladen.

Description

  • HINTERGRUND DER ERFINDUNG
  • Herkömmliche Strichcodeleser können durch das Scannen eines Strichcodes auf einer Client-Rechenvorrichtung, wie z. B. einem Smartphone, Tablet, Computer usw., aktualisiert oder mit Anwendungen oder anderen Funktionen konfiguriert werden. Mit der Verfügbarkeit von Softwareentwicklungs-Kits (Software Development Kits - SDK) für Host-Betriebssysteme kann jedoch praktisch jeder eine Anwendung zum Hochladen auf einen Strichcodescanner entwickeln, einschließlich schädlicher Anwendungen. Dieses Problem ist besonders akut bei Strichcodelesern in Umgebungen, die mit sensiblen Informationen umgehen, wie z. B. in Krankenhäusern. Während andere Verfahren zur Authentifizierung zur Verfügung stehen, wie z. B. ein Sicherheitspasswort oder eine private Identifikationsnummer (PIN), verfügen viele Strichcodeleser weder über eine Tastatur noch über ein Display. Darüber hinaus ist es zwar möglich, dass ein Strichcodeleser mit der MAC (Media Access Control) -Adresse aller Client-Rechenvorrichtungen versehen wird, die berechtigt sind, Anwendungen für den Strichcodeleser bereitzustellen, dies erfordert jedoch, dass alle Strichcodescanner in einem System, das aus Hunderten von Strichcodescannern bestehen kann, aktualisiert werden, wenn neue Client-Rechenvorrichtungen eingeführt oder entfernt werden, wodurch sich die Liste der MAC-Adressen ändert.
  • Dementsprechend besteht ein Bedarf an einem verbesserten Authentifizierungsverfahren zum Verbinden eines Strichcodelesers mit einer Client-Rechenvorrichtung, das sowohl die Notwendigkeit eines einfachen Verbindungsaufbaus als auch die Aufrechterhaltung der Sicherheit erfüllt.
  • BESCHREIBUNG
  • In einigen Ausführungsformen beschreibt die vorliegende Offenbarung eine Bildscanvorrichtung, die umfasst: ein Gehäuse mit einem Fenster; eine Bildgebungsbaugruppe, die innerhalb des Gehäuses positioniert ist, wobei die Bildgebungsbaugruppe einen Bildsensor und ein Sichtfeld (FOV) aufweist, das sich durch das Fenster erstreckt, wobei der Bildsensor so angepasst ist, dass er mindestens eines erfasst von: Licht, das von einem Symbol reflektiert wird, und Licht, das von dem Symbol emittiert wird; einen ersten Kommunikationssendeempfänger, der innerhalb des Gehäuses positioniert ist, wobei der erste Kommunikationssendeempfänger betreibbar ist, um eine elektronische Kommunikation über ein Kommunikationsprotokoll aufrechtzuerhalten; eine Steuerung, die betriebsfähig mit der Bildgebungsbaugruppe gekoppelt ist, wobei die Steuerung einen Prozessor und einen Speicher aufweist, wobei die Steuerung angepasst ist, um: ein Symbol zu dekodieren, das in einem von dem Bildsensor erfassten Bild erfasst wird, wobei das Symbol kodierte Daten umfasst, die (i) einen unverschlüsselten ersten Kommunikationsparameter, der sich auf einen zweiten Kommunikationssendeempfänger auf einer Client-Rechenvorrichtung bezieht, und (ii) einen Hash eines zweiten Kommunikationsparameters umfassen, wobei (i) der Hash des zweiten Kommunikationsparameters mit einem privaten Verschlüsselungsschlüssel signiert ist, (ii) das Symbol auf einem Display der Client-Rechenvorrichtung wiedergegeben wird, und (iii) der zweite Kommunikationsparameter Identifikationsdaten umfasst, die einen autorisierten Kommunikationssendeempfänger eindeutig identifizieren, zu validieren, ob der erste Kommunikationsparameter mit dem Hash des zweiten Kommunikationsparameters korrespondiert und ob die Signatur mit einem öffentlichen Schlüssel korrespondiert, der in dem Speicher gespeichert ist, den ersten Kommunikationssendeempfänger zu aktivieren, um eine elektronische Kommunikation mit dem zweiten Kommunikationssendeempfänger über das Kommunikationsprotokoll herzustellen, als Reaktion darauf, dass der erste Kommunikationsparameter mit dem Hash des zweiten Kommunikationsparameters korrespondiert und die Signatur mit dem öffentlichen Schlüssel korrespondiert, der in dem Speicher gespeichert ist, und ein Merkmal von der Client-Rechenvorrichtung über das Kommunikationsprotokoll in den Speicher herunterzuladen, als Reaktion auf die Aktivierung des ersten Kommunikationssendeempfängers.
  • Darüber hinaus beschreibt die vorliegende Offenbarung in einigen Ausführungsformen eine Client-Rechenvorrichtung, die umfasst: ein Gehäuse; ein in dem Gehäuse positioniertes Display; einen in dem Gehäuse positionierten ersten Kommunikationssendeempfänger, wobei der erste Kommunikationssendeempfänger betreibbar ist, um eine elektronische Kommunikation über ein Kommunikationsprotokoll aufrechtzuerhalten; eine Steuerung, die betriebsfähig mit dem ersten Kommunikationssendeempfänger und dem Display gekoppelt ist, wobei die Steuerung einen Prozessor und einen Speicher aufweist, wobei die Steuerung angepasst ist, um: einen Kommunikationsparameter zu hashen, der sich auf den ersten Kommunikationssendeempfänger bezieht, wobei der Kommunikationsparameter Identifikationsdaten enthält, die den ersten Kommunikationssendeempfänger eindeutig identifizieren; den gehashten Kommunikationsparameter unter Verwendung eines privaten Verschlüsselungsschlüssels digital zu signieren, und ein Bild eines Symbols auf dem Display zu erzeugen, wobei das Symbol kodierte Daten umfasst, die (i) den Kommunikationsparameter ohne Hashing, (ii) den gehashten Kommunikationsparameter und (iii) die digitale Signatur des gehashten Kommunikationsparameters enthalten; wobei: der erste Kommunikationssendeempfänger aktiv auf ein Signal hört, das (i) Identifikationsdaten, die den ersten Kommunikationssendeempfänger eindeutig identifizieren, und (ii) eine Anforderung zum Herstellen einer Kommunikationsverbindung mit dem ersten Kommunikationssendeempfänger enthält; und als Reaktion darauf, dass der erste Kommunikationssendeempfänger das Signal empfängt, der erste Kommunikationssendeempfänger und ein zweiter Kommunikationssendeempfänger die Kommunikationsverbindung herstellen, wobei die Kommunikationsverbindung über das Kommunikationsprotokoll erfolgt.
  • Darüber hinaus beschreibt die vorliegende Offenbarung in einigen Ausführungsformen ein System, das umfasst: eine Client-Rechenvorrichtung umfassend: ein Client-Rechenvorrichtungsgehäuse; ein Display, das innerhalb des Client-Rechenvorrichtungsgehäuses positioniert ist; einen ersten Kommunikationssendeempfänger, der innerhalb des Client-Rechenvorrichtungsgehäuses positioniert ist, wobei der erste Kommunikationssendeempfänger betriebsfähig ist, eine elektronische Kommunikation über ein Kommunikationsprotokoll aufrechtzuerhalten; eine erste Steuerung, die betriebsfähig mit dem ersten Kommunikationssendeempfänger und dem Display gekoppelt ist, wobei die erste Steuerung angepasst ist, um eine Media Access Control (MAC) -Adresse, die den ersten Kommunikationssendeempfänger eindeutig identifiziert, zu hashen; die gehashte MAC-Adresse unter Verwendung eines privaten Verschlüsselungsschlüssels digital zu signieren und ein Bild eines Symbols auf dem Display zu erzeugen, das die MAC-Adresse ohne Hashing, die gehashte MAC-Adresse und die digitale Signatur der gehashten MAC-Adresse kodiert; und einen Symbolleser umfassend: ein Symbollesergehäuse; eine Bildgebungsbaugruppe, die zumindest teilweise innerhalb des Symbollesergehäuses positioniert ist, wobei die Bildgebungsbaugruppe ein Sichtfeld (FOV) aufweist, wobei die Bildgebungsbaugruppe konfiguriert ist, um Bilddaten zu erfassen, die sich auf einen Symbolcode beziehen; einen zweiten Kommunikationssendeempfänger, der innerhalb des Symbollesergehäuses positioniert ist, wobei der zweite Kommunikationssendeempfänger betreibbar ist, um eine elektronische Kommunikation über das Kommunikationsprotokoll aufrechtzuerhalten; und eine zweite Steuerung, die kommunikativ mit dem zweiten Kommunikationssendeempfänger gekoppelt ist, wobei die zweite Steuerung einen Speicher und einen Prozessor aufweist, wobei als Reaktion darauf, dass die Bildgebungsbaugruppe ein Bild des Symbols erfasst: die zweite Steuerung den Speicher nach einem öffentlichen Schlüssel abfragt, der mit dem privaten Schlüssel korrespondiert; als Reaktion darauf, dass der öffentliche Schlüssel nicht in dem Speicher gespeichert ist, die zweite Steuerung den zweiten Kommunikationssendeempfänger aktiviert, um eine elektronische Kommunikation mit dem ersten Kommunikationssendeempfänger herzustellen; als Reaktion auf das Herstellen einer elektronischen Kommunikation mit dem ersten Kommunikationssendeempfänger die erste Steuerung den ersten Kommunikationssendeempfänger aktiviert, um den öffentlichen Schlüssel, der mit dem privaten Schlüssel korrespondiert, an den zweiten Sendeempfänger zu übertragen, als Reaktion darauf, dass der öffentliche Schlüssel im Speicher gespeichert ist, die zweite Steuerung validiert, ob die MAC-Adresse ohne Hashing mit dem Hash der MAC-Adresse korrespondiert und ob die Signatur mit dem im Speicher gespeicherten öffentlichen Schlüssel korrespondiert, als Reaktion darauf, dass die MAC-Adresse ohne Hashing mit dem Hash der MAC-Adresse korrespondiert und die Signatur mit dem im Speicher gespeicherten öffentlichen Schlüssel korrespondiert, die zweite Steuerung den zweiten Kommunikationssendeempfänger anweist, über das Kommunikationsprotokoll ein Signal zu übertragen, das (i) die MAC-Adresse, die den ersten Kommunikationssendeempfänger eindeutig identifiziert, und (ii) eine Anforderung zum Herstellen einer Kommunikationsverbindung mit dem ersten Kommunikationssendeempfänger umfasst; wobei der erste Kommunikationssendeempfänger aktiv auf das Signal hört, das (i) die MAC-Adresse, die den ersten Kommunikationssendeempfänger eindeutig identifiziert, und (ii) die Anforderung zum Herstellen der Kommunikationsverbindung mit dem ersten Kommunikationssendeempfänger, umfasst; und als Reaktion darauf, dass der erste Kommunikationssendeempfänger das Signal empfängt, der erste Kommunikationssendeempfänger und der zweite Kommunikationssendeempfänger die Kommunikationsverbindung herstellen, wobei die Kommunikationsverbindung über das Kommunikationsprotokoll auftritt; und als Reaktion auf das Herstellen der Kommunikationsverbindung der zweite Kommunikationssendeempfänger ein Merkmal von der Client-Rechenvorrichtung über das Kommunikationsprotokoll in den Speicher herunterlädt.
  • Figurenliste
  • Die beigefügten Figuren, in denen gleiche Bezugszeichen identische oder funktional ähnliche Elemente in den einzelnen Ansichten bezeichnen, sind zusammen mit der nachfolgenden detaillierten Beschreibung in die Offenbarung inkorporiert und bilden einen Bestandteil der Offenbarung und dienen dazu, hierin beschriebene Ausführungsformen von Konzepten, die die beanspruchte Erfindung umfassen, weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
    • 1 zeigt ein Kommunikationssystem zwischen Komponenten gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 2 zeigt eine perspektivische Ansicht eines Strichcodelesers aus 1 gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 3 zeigt ein Blockdiagramm einiger der Komponenten des Strichcodelesers von 1 gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 4 ist ein Flussdiagramm eines Authentifizierungsverfahrens zum Aktualisieren von Merkmalen auf dem Strichcodeleser, wie es von dem Smartphone aus 1 ausgeführt wird, gemäß einigen Ausführungsformen.
    • 5 ist ein Flussdiagramm eines Authentifizierungsverfahrens zum Aktualisieren von Merkmalen auf dem Strichcodeleser, wie es vom Strichcodeleser aus 1 ausgeführt wird, gemäß einigen Ausführungsformen.
  • Fachleute werden erkennen, dass Elemente in den Figuren der Einfachheit und Klarheit halber dargestellt sind und nicht notwendigerweise maßstabsgetreu gezeichnet wurden. Zum Beispiel können die Dimensionen einiger der Elemente in den Figuren relativ zu anderen Elementen übertrieben sein, um das Verständnis von Ausführungsformen der vorliegenden Erfindung zu verbessern.
  • Die Vorrichtungs- und Verfahrenskomponenten wurden, wo es angemessen ist, durch herkömmliche Symbole in den Zeichnungen dargestellt, die nur jene spezifischen Details zeigen, die zum Verständnis der Ausführungsformen der vorliegenden Erfindung relevant sind, um somit die Offenbarung nicht mit Einzelheiten zu verdecken, die für die Fachleute auf dem Gebiet, die auf die vorliegende Beschreibung zurückgreifen, ohne weiteres ersichtlich sind.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Unter Bezugnahme auf die Zeichnungen zeigt 1 verschiedene Aspekte einer beispielhaften Architektur, die ein System 100 zum Hochladen von Funktionen auf einen Strichcodeleser implementiert, einschließlich, aber nicht beschränkt auf Softwareanwendungen, Softwarefunktionen, Konfigurationseinstellungen, Firmware-Updates usw. Spezifischere Beispiele für die Funktionen umfassen, sind aber nicht beschränkt auf, Software zum Dekodieren verschiedener Symbologien (z. B. eindeutige Geräteidentifikation), Software zur optischen Zeichenerkennung, Software zum Parsen von Informationen auf einem Führerschein und Software zum Lesen mehrerer Strichcodes auf einer einzigen Oberfläche. Die High-Level-Architektur umfasst sowohl Hardware- und Software-Anwendungen als auch verschiedene Datenkommunikationskanäle zur Kommunikation von Daten zwischen den verschiedenen Hardware- und Software-Komponenten. Das System 100 zum Hochladen von Merkmalen auf einen Strichcodeleser kann verschiedene Software- und Hardware-Komponenten oder -Module enthalten.
  • Das System 100 zum Hochladen von Merkmalen auf einen Strichcodeleser umfasst Front-End-Komponenten, einschließlich eines oder mehrerer Strichcodeleser 102, 103 und einer Client-Rechenvorrichtung 104. Die Client-Rechenvorrichtung 104 kann ein Personal Computer, ein Smartphone, ein Tablet-Computer, eine Smartwatch, ein kopfbefestigtes Display, ein tragbarer Computer oder eine andere geeignete Client-Rechenvorrichtung sein. Die Client-Rechenvorrichtung 104 umfasst verschiedene Komponenten, die operativ miteinander gekoppelt sind, einschließlich einer Steuerung, die einen Mikrocontroller oder einen Prozessor 106, einen Programmspeicher 108, ein Display 110 und eine Bildgebungsbaugruppe 112, wie eine Kamera, mit einem Bildsensor umfasst, die alle über einen Adress-/Datenbus (nicht dargestellt) miteinander verbunden sind. Der Prozessor 106 der Client-Rechenvorrichtung 104 führt im Speicher 108 gespeicherte Anweisungen aus, um: 1) Bilder auf dem Display 110 zu erzeugen und 2) Bilder über die Bildgebungsbaugruppe 112 zu erfassen. Obwohl in 1 nur ein Prozessor 106 dargestellt ist, kann die Steuerung mehrere Prozessoren 106 enthalten. In ähnlicher Weise kann der Speicher 108 der Steuerung mehrere RAMs und mehrere Programmspeicher enthalten, die ein oder mehrere entsprechende Server-Anwendungsmodule speichern, je nach der besonderen Konfiguration der Steuerung. Der Speicher 108 kann in einer bekannten Form von Computerspeichermedien implementiert sein, einschließlich, aber nicht beschränkt auf, beispielsweise Halbleiterspeicher, magnetisch lesbare Speicher und/oder optisch lesbare Speicher, was aber nicht transitorische Medien wie Trägerwellen umfasst.
  • Aus 1 und der beiliegenden Beschreibung sollte ersichtlich sein, dass eine einzige Client-Rechenvorrichtung 104 zum Hochladen von Merkmalen auf mehrere Strichcodeleser verwendet werden kann. Obwohl nur zwei Strichcodeleser 102, 103 dargestellt sind, kann die Client-Rechenvorrichtung 104 zum Hochladen von Merkmalen auf eine beliebige Anzahl von Strichcodelesern verwendet werden. Obwohl nur eine Client-Rechenvorrichtung dargestellt ist, können mehrere Client-Rechenvorrichtungen im System 100 verwendet werden und mit den Backend-Komponenten kommunizieren, wobei jede Client-Rechenvorrichtung bestimmten Strichcodelesern zugewiesen ist oder jede Client-Rechenvorrichtung in der Lage ist, Merkmale auf einen beliebigen der mehreren Strichcodeleser hochzuladen.
  • Die Client-Rechenvorrichtung 104 enthält auch verschiedene Kommunikationskomponenten, einschließlich eines drahtgebundenen Kommunikationsanschlusses 114, z. B. eines Universal Serial Bus (USB), und/oder eines drahtlosen Nahfeld-Sendeempfängers 116, z. B. eines Bluetooth® -Sendeempfängers, zur Kommunikation mit anderen Front-End-Komponenten wie den Strichcodelesern 102, 103. Des Weiteren enthält die Client-Rechenvorrichtung 104 einen Mobilfunk-Sendeempfänger 118 und/oder einen lokalen Netzwerk-Sendeempfänger 120, wie z. B. einen WiFi-Sendeempfänger, der auf IEEE (Institute of Electrical and Electronics Engineers) 802.11-Standards basiert, zur Kommunikation mit Backend-Komponenten 122 über ein öffentliches Computernetzwerk 124. In einer Ausführungsform führt der Prozessor 106 der Client-Rechenvorrichtung 104 Anweisungen aus, um Daten von den Backend-Komponenten 122 über das Computernetzwerk 124 zu verwalten und zu empfangen, wie z. B. Daten für das Merkmal selbst, die auf den Strichcodeleser 102 hochgeladen werden sollen.
  • Das Computernetzwerk 124 kann ein Netzwerk wie das Internet oder eine andere Art von geeignetem Netzwerk sein (z. B. ein lokales Netzwerk (LAN), ein Metropolitan Area Network (MAN), ein Wide Area Network (WAN), ein mobiles, ein drahtgebundenes oder drahtloses Netzwerk usw.). Das Computernetzwerk 124 kann auch ein oder mehrere Mobilfunknetzwerke sein, wie z. B. ein CDMA (Code Division Multiple Access) -Netzwerk, ein GSM (Global System for Mobile Communications) -Netzwerk, ein WiMAX (Worldwide Interoperability for Microwave Access) -Netzwerk, ein LTE (Long Term Evolution) -Netzwerk, usw. Der Prozessor 106 der Client-Rechenvorrichtung 104 kann auch eine oder mehrere Anwendungen ausführen, um die oben beschriebenen Aufgaben zu erfüllen.
  • Die Backend-Komponenten 122 können einen Datenserver 128 und eine Kontodatenbank 131 umfassen. Die Backend-Komponenten 122 können über ein Kommunikationsnetzwerk 138 miteinander kommunizieren, wie z. B. ein lokales Netzwerk oder eine andere Art von geeignetem Netzwerk (z. B. das Internet, ein Metropolitan Area Network (MAN), ein Wide Area Network (WAN), ein mobiles, ein drahtgebundenes oder drahtloses Netzwerk, ein privates Netzwerk, ein virtuelles privates Netzwerk usw.).
  • Das System zum Hochladen von Merkmalen auf einen Strichcodeleser 102, 103 im Allgemeinen und den Datenserver 128 im Besonderen umfasst computerausführbare Anweisungen 130. In einer Ausführungsform führt ein Prozessor des Datenservers 128 die Anweisungen 130 aus, um ein Zugriffswerkzeug 132, ein Abrufwerkzeug 134 und ein Analysewerkzeug 136 zu instanziieren. Das Zugriffswerkzeug 132 empfängt Daten von der Client-Rechenvorrichtung 104 und speichert die Daten in einer oder mehreren Datenbanken, z. B. in der Kontodatenbank 131. Das Abrufwerkzeug 134 ruft Daten aus der Kontodatenbank 131 ab oder verwendet eine Kontokennung, um auf Kundenkontoinformationen aus der Kontodatenbank 131 zuzugreifen, die sich auf Lizenzen für Strichcodeleser beziehen, die dem Kunden gehören oder von ihm geleast wurden, sowie auf lizenzierte Funktionen für jeden der Strichcodeleser. Bei der Kontodatenbank 131 kann es sich um eine Datenspeichervorrichtung handeln, z. B. einen Arbeitsspeicher (RAM), ein Festplattenlaufwerk (HDD), einen Flash-Speicher, einen Flash-Speicher wie ein Solid-State-Laufwerk (SSD) usw. Das Analysewerkzeug 136 kann eine oder mehrere Analysen der Kundenkontodaten und/oder Anfragen von der Client-Rechenvorrichtung 104 durchführen, bevor es Aktivierungsdaten bereitstellt, um eine Funktion auf dem Strichcodeleser 102 zu aktivieren.
  • 2 zeigt einen beispielhaften Strichcodeleser 102 mit einem Gehäuse 202 mit einem Griffteil 204, der auch als Griff 204 bezeichnet wird, und einem Kopfteil 206, der auch als Scankopf 206 bezeichnet wird. Der Kopfteil 206 umfasst ein Fenster 208 und ist so konfiguriert, dass er auf der Oberseite des Griffteils 204 positioniert werden kann. Der Griffteil 204 ist so konfiguriert, dass er von einem Benutzer des Lesers (nicht dargestellt) gegriffen werden kann, und umfasst einen Auslöser 210 zur Aktivierung durch den Benutzer. In der Ausführungsform ist auch eine Basis 212 enthalten, die an dem Griffteil 204 gegenüber dem Kopfteil 206 angebracht ist. Die Basis 212 ist so konfiguriert, dass sie auf einer Oberfläche steht und das Gehäuse 202 in einer allgemein aufrechten Position hält. Der Strichcodeleser 102 kann in einem Freihandmodus als stationärer Arbeitsplatz verwendet werden, wenn er auf der Arbeitsplatte steht. Der Strichcodeleser 102 kann auch in einem handgehaltenen Modus verwendet werden, wenn er von der Arbeitsplatte genommen und in der Hand eines Bedieners gehalten wird. Im Freihandmodus können Produkte an das Fenster 208 geschoben, vorbei gestrichen oder präsentiert werden. Im handgehaltenen Modus kann der Strichcodeleser 102 in Richtung eines Strichcodes auf einem Produkt bewegt werden, und der Auslöser 210 kann manuell gedrückt werden, um die Erfassung des Strichcodes zu starten. In einigen Implementierungen kann die Basis 212 weggelassen werden, und das Gehäuse 202 kann auch in anderen handgehaltenen Formen ausgeführt werden. Andere Implementierungen können nur handgehaltene oder nur Freihandkonfigurationen vorsehen.
  • 3 zeigt ein schematisches Blockdiagramm eines Teils eines Strichcodelesers 102 gemäß einigen Ausführungsformen. Es sollte verstanden werden, dass 3 nicht maßstabsgetreu gezeichnet ist. Bezugnehmend auf 3 umfasst eine Bildgebungsbaugruppe einen lichterfassenden Sensor oder Bildsensor 211, der mit einer gedruckten Leiterplatte (PCB) 216 im Leser 102 operativ gekoppelt oder darauf montiert ist. In einer Ausführungsform ist der Bildsensor 211 eine Festkörpervorrichtung, z. B. ein CCD- oder ein CMOS-Bildsensor, mit einer eindimensionalen Anordnung von adressierbaren Bildsensoren oder Pixeln, die in einer einzigen Zeile angeordnet sind, oder einer zweidimensionalen Anordnung von adressierbaren Bildsensoren oder Pixeln, die in zueinander orthogonalen Zeilen und Spalten angeordnet sind, und die zum Erfassen von zurückkehrendem Licht dient, das von einer Bildgebungslinsenbaugruppe 215 über ein Sichtfeld entlang einer Bildgebungsachse 217 durch das Fenster 208 erfasst wird. Das zurückkehrende Licht wird von dem Ziel 213 über das Sichtfeld gestreut und/oder reflektiert. Die Bildgebungslinsenbaugruppe 215 dient zur Fokussierung des zurückkehrenden Lichts auf das Array von Bildsensoren, damit das Ziel 213 gelesen werden kann. Das Ziel 213 kann sich in einem beliebigen Arbeitsbereich von Abständen zwischen einem Naharbeitsabstand (WD1) und einem Fernarbeitsabstand (WD2) befinden. In einer bevorzugten Ausführungsform ist WD1 etwa einen halben Zoll vom Fenster 208 entfernt, und WD2 ist etwa dreißig Zoll vom Fenster 208 entfernt.
  • Im Bildgebungsleser 102 ist auch eine Beleuchtungslichtbaugruppe montiert. Die Beleuchtungslichtbaugruppe umfasst eine Beleuchtungslichtquelle, wie z. B. mindestens eine Leuchtdiode (LED) 219 und mindestens eine Beleuchtungslinse 221, und vorzugsweise eine Vielzahl von Beleuchtungs-LEDs und Beleuchtungslinsen, die so konfiguriert sind, dass sie ein im Wesentlichen gleichmäßig verteiltes Beleuchtungsmuster von Beleuchtungslicht auf und entlang des Ziels 213 erzeugen, das durch Bilderfassung gelesen werden soll. Zumindest ein Teil des gestreuten und/oder reflektierten zurückkehrenden Lichts wird aus dem Beleuchtungsmuster des Lichts auf und entlang des Ziels 213 abgeleitet.
  • Eine Ziellichtbaugruppe ist ebenfalls im Bildgebungsleser 102 montiert und umfasst vorzugsweise eine Ziellichtquelle 223 (z. B. eine oder mehrere Ziel-LEDs) und eine Ziellinse 225 zum Erzeugen und Richten eines sichtbaren Ziellichtstrahls vom Leser 102 weg auf das Symbol 213. Der Ziellichtstrahl hat einen Querschnitt mit einem Muster, z. B. einen allgemein kreisförmigen Punkt oder ein Fadenkreuz zur Platzierung in der Mitte des Symbols 213 oder eine Linie zur Platzierung quer über das Symbol 213 oder einen Satz von Rahmenlinien zur Begrenzung des Sichtfeldes, um einen Bediener bei der visuellen Lokalisierung des Symbols 213 innerhalb des Sichtfeldes vor der Bilderfassung zu unterstützen. Die Client-Rechenvorrichtung 104 umfasst auch verschiedene Kommunikationskomponenten, einschließlich eines drahtlosen Nahfeld-Sendeempfängers 230, wie z. B. eines Bluetooth® -Sendeempfängers, und/oder eines drahtgebundenen Kommunikationsanschlusses 231, wie z. B. eines Universal Serial Bus (USB), zur Kommunikation mit der Client-Rechenvorrichtung 104.
  • Wie ebenfalls in 3 gezeigt, sind der Bildsensor 211, die Beleuchtungs-LED 219, die Ziel-LED 223, der Nahfeld-Sendeempfänger 230 und der Kommunikationsanschluss 231 operativ mit einer Steuerung oder einem programmierten Mikroprozessor 227 verbunden, die/der den Betrieb dieser Komponenten steuert. Ein Speicher 229 ist mit der Steuerung 227 verbunden und zugänglich. Vorzugsweise ist der Mikroprozessor 227 derselbe, der für die Verarbeitung des eingefangenen zurückkehrenden Lichts vom beleuchteten Ziel 213 verwendet wird, um Daten in Bezug auf das Ziel 213 zu erhalten. Insbesondere ist der Mikroprozessor 227 derselbe, der für die Kommunikation mit der Client-Rechenvorrichtung 104 verwendet wird, einschließlich der Verarbeitung des eingefangenen zurückkehrenden oder emittierten Lichts von einem beleuchteten Ziel 213, das auf dem Bildschirm der Client-Rechenvorrichtung angezeigt wird, um Daten in Bezug auf das Ziel 213 zu erhalten, sowie der Kommunikation mit einem oder mehreren entsprechenden Sendeempfängern der Client-Rechenvorrichtung 104 über den Nahfeld-Sendeempfänger 230 und/oder den Kommunikationsanschluss 231. Die Offenbarung des Strichcodelesers 102 in den 2 und 3 gilt gleichermaßen für den Strichcodeleser 103 aus 1 und für jeden anderen Strichcodeleser innerhalb des Systems 100.
  • 4 ist ein Flussdiagramm der Steuerung der Client-Rechenvorrichtung 104 zur Authentifizierung vor dem Herstellen einer Kommunikationsverbindung mit dem Strichcodeleser 102, 103 und dem Hochladen von Merkmalen auf den Strichcodeleser 102, 103 in den hier beschriebenen Ausführungsformen. Die folgende Offenbarung bezieht sich nur auf den Strichcodeleser 102, obwohl es sich versteht, dass diese Offenbarung gleichermaßen auf den Strichcodeleser 103 oder jeden anderen Strichcodeleser im System 100 anwendbar ist. Im Allgemeinen erzeugt die Client-Rechenvorrichtung 104 einen Paarungsstrichcode, der vom Strichcodeleser 102 gelesen wird, um zu überprüfen, ob die Client-Rechenvorrichtung 104 eine autorisierte Vorrichtung ist, von der Funktionen wie Anwendungen, Updates usw. heruntergeladen werden können. Sobald der Paarungsstrichcode validiert und die Client-Rechenvorrichtung 104 als autorisierte Vorrichtung validiert wurde, stellen der Strichcodeleser 102 und die Client-Rechenvorrichtung 104 eine Kommunikationsverbindung über ein Kommunikationsprotokoll her, das geeignet ist, die Funktion von der Client-Rechenvorrichtung 104 herunterzuladen, wie z. B. Kommunikationsprotokolle, die mit den Nahfeld-Sendeempfängern 116, 230 oder den Kommunikationsanschlüssen 114, 231 (und entsprechenden Sendeempfängern) verbunden sind.
  • Mit Bezug auf das Flussdiagramm von 3, wenn ein Merkmal auf den Strichcodeleser 102 hochgeladen werden soll, erzeugt eine Client-Rechenvorrichtung 104, die zum Hochladen von Merkmalen auf den Strichcodeleser 102 autorisiert ist, einen Paarungsstrichcode, von dem ein Bild auf dem Display 110 zum Scannen durch den Strichcodeleser 102 erzeugt wird. Ab Block 302, wenn eine Anwendung oder ein anderes Merkmal zum Hochladen auf den Strichcodeleser 102 bereit ist, verwendet die Client-Rechenvorrichtung 104 eine Hash-Funktion, um einen Hash-Wert aus einem für den Sendeempfänger eindeutigen Kommunikationsparameter zu erzeugen, der zum Hochladen des Merkmals verwendet wird. Wenn das Merkmal beispielsweise über Nahfeldkommunikation wie Bluetooth® hochgeladen werden soll, verwendet die Client-Rechenvorrichtung 104 die Hash-Funktion, um einen Hash-Wert aus der MAC (Media Access Control) -Adresse zu erzeugen, die den Nahfeld-Sendeempfänger 116 eindeutig identifiziert. Wenn der Strichcode auf dem Display 110 erzeugt wird, kodiert der Strichcode den Hash-Wert sowie den unverschlüsselten Kommunikationsparameter (z. B. die Klartext-MAC-Adresse), der für den Sendeempfänger der Client-Rechenvorrichtung 104, die den Strichcode anzeigt, eindeutig ist. Auf diese Weise kann ein Strichcodeleser 102 den unverschlüsselten Kommunikationsparameter aus dem Strichcode auslesen und bestimmen, ob er manipuliert wurde oder nicht, indem er seinen Hash-Wert mit dem im Strichcode kodierten Hash-Wert vergleicht. Wenn sich auch nur ein kleiner Teil des Kommunikationsparameters von dem unterscheidet, der zur Erstellung des Hash-Werts verwendet wurde, wird der Kommunikationsparameter als ungültig betrachtet. Beispielsweise kann der Strichcodeleser 102 nur Hochladevorgänge von autorisierten Client-Rechenvorrichtung akzeptieren, von denen jede durch ihre MAC-Adresse identifiziert wird. Wenn eine nicht autorisierte Client-Rechenvorrichtung versucht, eine MAC-Adresse einer autorisierten Client-Rechenvorrichtung zu „fälschen“, wird der Hash-Wert der MAC-Adresse einer autorisierten Client-Rechenvorrichtung (die dem Strichcodeleser 102 bekannt ist) nicht mit dem Hash-Wert der gefälschten MAC-Adresse korrespondieren. Als weiteres Beispiel vergleicht der Strichcodeleser 102 die im Strichcode kodierte Klartext-MAC-Adresse mit dem im Strichcode kodierten Hash-Wert, um zu überprüfen, dass die MAC-Adresse nicht manipuliert wurde.
  • Zusätzlich zur Erzeugung des Hash-Werts aus dem Kommunikationsparameter, der für den Sendeempfänger der Client-Rechenvorrichtung eindeutig ist, verwendet die Client-Rechenvorrichtung einen Signieralgorithmus, um den Hash-Wert in Block 304 digital zu signieren. Insbesondere verwendet eine autorisierte Client-Rechenvorrichtung eine asymmetrische Verschlüsselung unter Verwendung von Paaren aus privaten und öffentlichen Schlüsseln, wobei eine autorisierte Client-Rechenvorrichtung den öffentlichen Schlüssel an die Strichcodeleser verteilt und den entsprechenden privaten Schlüssel verwaltet. Ein Strichcodeleser ist somit in der Lage, die Authentizität des auf einer Client-Rechenvorrichtung angezeigten Strichcodes unter Verwendung ihres entsprechenden öffentlichen Schlüssels zu akzeptieren oder abzulehnen. In einer Ausführungsform wird der private Schlüssel verwendet, um nicht nur den Hash-Wert, sondern auch den unverschlüsselten Kommunikationsparameter (z. B. die Klartext-MAC-Adresse) digital zu signieren.
  • In Block 306 kodiert die Client-Rechenvorrichtung den digital signierten Hash-Wert und den unverschlüsselten Kommunikationsparameter (ob digital signiert oder unsigniert) in ein Strichcodesymbol. In einer Ausführungsform ist das Strichcodesymbol ein zwei- oder dreidimensionales Strichcodesymbol, mit dem mehr Informationen kodiert werden können als mit einem eindimensionalen Strichcode. Da eine digitale Signatur in der Regel recht groß ist, wird vorzugsweise ein zwei- oder dreidimensionales Strichcodesymbol verwendet. Eine Grafik oder ein Bild des Strichcodesymbols wird dann von der Client-Rechenvorrichtung auf dem Display 110 im Block 308 zum Scannen durch den Strichcodeleser 102 erzeugt. In einer Ausführungsform kann das Bild des Strichcodesymbols nur auf Aufforderung eines Benutzers der Client-Rechenvorrichtung erzeugt werden, wenn sie bereit ist, das Merkmal in den Strichcodeleser 102 hochzuladen.
  • Danach hört die Client-Rechenvorrichtung und insbesondere der Kurzstrecken-Kommunikationssendeempfänger zum Hochladen des Merkmals (z. B. der Sendeempfänger für den Kommunikationsanschluss 114 oder der Nahfeld-Sendeempfänger 116) aktiv auf ein Signal von einem Strichcodeleser, der das auf dem Display 110 der Client-Rechenvorrichtung 104 erzeugte Strichcodesymbol gescannt hat, im Block 310. In einer Ausführungsform enthält das Signal den Kommunikationsparameter (z. B. die MAC-Adresse) der Client-Rechenvorrichtung aus dem Strichcodesymbol zusammen mit einer Aufforderung, eine Kommunikationsverbindung zwischen dem Sendeempfänger der Client-Rechenvorrichtung und einem entsprechenden Sendeempfänger des Strichcodelesers 102 herzustellen. Als Reaktion auf das Empfangen des Signals bauen der Kurzstrecken-Kommunikationssendeempfänger der Client-Rechenvorrichtung und der Kurzstrecken-Sendeempfänger des Strichcodelesers eine Kommunikationsverbindung (z. B. eine bidirektionale Kommunikationsverbindung) unter Verwendung des Kurzstrecken-Kommunikationsprotokolls der Sendeempfänger (z. B. Bluetooth®) auf. Sobald das Signal von der Client-Rechenvorrichtung empfangen wird, stellt die Client-Rechenvorrichtung die Kommunikationsverbindung mit dem Strichcodeleser in Block 312 her und lädt in Block 314 das Merkmal auf den Strichcodeleser hoch.
  • In einigen Fällen wurde dem Strichcodeleser noch kein öffentlicher Schlüssel zur Verfügung gestellt, z. B. wenn der Strichcodeleser zum ersten Mal innerhalb des Systems 100 aktiviert wird. In solchen Fällen kann die Client-Rechenvorrichtung, wie weiter unten beschrieben, in Block 316 eine Anforderung des Strichcodelesers für einen öffentlichen Schlüssel empfangen. Vorausgesetzt, dass ein privater Schlüssel bereits erzeugt wurde und sich auf der Client-Rechenvorrichtung befindet (zusammen mit den entsprechenden öffentlichen Schlüsseln), überträgt die Client-Rechenvorrichtung den öffentlichen Schlüssel an den Strichcodeleser in Block 318, der verwendet wird, um die Signatur des privaten Schlüssels von Strichcodes zu authentifizieren, die weiteren Herunterladevorgängen von Funktionen von einer Client-Rechenvorrichtung zugeordnet sind.
  • 5 ist ein Flussdiagramm der Steuerung des Strichcodelesers 102 zum Herunterladen von Merkmalen auf den Strichcodeleser 102 in den hier beschriebenen Ausführungsformen. Wenn die Client-Rechenvorrichtung 104 ein Bild des Symbols erzeugt, das die Authentifizierungsdaten einschließlich des Kommunikationsparameters, des Hash-Werts des Kommunikationsparameters und der Signatur des privaten Schlüssels auf dem Display 110 kodiert, erfasst der Bildsensor 211 des Strichcodelesers 102 ein Bild des Symbols in Block 402. Das Ziel 213 für den Strichcodeleser 102 ist in diesem Fall das auf der Client-Rechenvorrichtung 104 angezeigte Symbol. Die Ziel-LED 223 wird aktiviert, so dass der Strichcodeleser 102 auf das Ziel 213 gerichtet werden kann, und die Beleuchtungs-LED 219 wird aktiviert, um das Ziel 213 zu beleuchten. Der Bildsensor 211 erfasst dann ein Bild des Ziels 213.
  • In Block 404 verwendet die Steuerung 227 einen im Speicher 229 gespeicherten Dekodieralgorithmus, der mit dem Symboltyp des auf der Client-Rechenvorrichtung 104 angezeigten Symbols korrespondiert, um das Bild des Symbols zu dekodieren, das vom Bildsensor 211 erfasst wurde. Insbesondere wird das Bild des Symbols dekodiert, um die im Symbol kodierten Authentifizierungsdaten zu dekodieren. Wie oben erwähnt, enthalten die Authentifizierungsdaten nach der Dekodierung den Kommunikationsparameter, der den Sendeempfänger der Client-Rechenvorrichtung für das Herunterladen der Funktion eindeutig identifiziert (z. B. die MAC-Adresse des Bluetooth®-Sendeempfängers), den Hash-Wert aus dem Hashen des Kommunikationsparameters und die mit dem privaten Schlüssel erzeugte Signatur.
  • Zunächst prüft die Steuerung 227 in ihrem Speicher 229, ob dem Strichcodeleser 102 ein öffentlicher Schlüssel zur Verfügung gestellt wurde, mit dem die Authentizität der Signatur in Block 406 geprüft werden kann. Wenn der öffentliche Schlüssel im Speicher 229 gespeichert ist, fährt die Steuerung 227 mit der Authentifizierung der in dem Symbol kodierten Authentifizierungsdaten in Block 408 fort. Andererseits, wenn der öffentliche Schlüssel nicht im Speicher 229 gespeichert ist, kann die Steuerung 227 den Authentifizierungsprozess umgehen und eine Kommunikationsverbindung mit der Client-Rechenvorrichtung 104 in Block 414 herstellen, wobei sie an diesem Punkt eine Anzeige generieren und an die Client-Rechenvorrichtung 104 über den Nahfeld-Sendeempfänger 116 oder den Kommunikationsanschluss 114 unter Verwendung des unverschlüsselten Kommunikationsparameters, wie im Symbol vorgesehen, übertragen kann. Ein solcher Fall kann eintreten, wenn der Strichcodeleser 102 zum ersten Mal von einem Kunden zur Einführung in das System 100 in Betrieb genommen wird. Der Hinweis wird als Aufforderung für die Client-Kommunikationsvorrichtung 104 bereitgestellt, um das Paar aus öffentlichem und privatem Schlüssel zu erzeugen und/oder den öffentlichen Schlüssel, der mit seinem privaten Schlüssel korrespondiert, an den Strichcodeleser 102 zu übertragen. In einer Ausführungsform verfügt die Client-Kommunikationsvorrichtung 104 über einen Schlüsselerzeugungsalgorithmus, der in ihrem Speicher 108 gespeichert ist und von ihrem Prozessor 106 ausgeführt wird, um einen zufälligen privaten Schlüssel und einen korrespondierenden öffentlichen Schlüssel zu erzeugen. Sobald der Strichcodeleser 102 mit dem öffentlichen Schlüssel versehen wurde, speichert der Strichcodeleser 102 den öffentlichen Schlüssel in einem persistenten Speicher (welcher der Speicher 229, eine Partition des Speichers 229 oder ein separater Speicher sein kann), so dass zukünftige Downloads von einer Client-Rechenvorrichtung unter Verwendung des öffentlichen Schlüssels authentifiziert werden, selbst nach einem Zurücksetzen des Strichcodelesers 102 auf Werkseinstellungen.
  • Zurück zu Block 408 prüft die Steuerung 227, ob der für den Sendeempfänger der Client-Rechenvorrichtung 104 eindeutige Kommunikationsparameter, wie er im Symbol kodiert ist, mit dem im Symbol kodierten Hash-Wert korrespondiert. Beispielsweise ordnet der Strichcodeleser 102 den unverschlüsselten Kommunikationsparameter seinem Hash-Wert zu und bestimmt, ob der zugeordnete Hash-Wert mit dem im Symbol kodierten übereinstimmt. Wie bereits erwähnt, führt ein beeinträchtigter Kommunikationsparameter, wie z. B. eine MAC-Adresse, zu einem anderen Hash-Wert als dem im Symbol bereitgestellten. Auf diese Weise verifiziert der Strichcodeleser 102, dass die Client-Rechenvorrichtung eine autorisierte Client-Rechenvorrichtung ist, von der ein Merkmal heruntergeladen werden soll, und dass das Merkmal autorisiert ist, auf den Strichcodeleser 102 heruntergeladen zu werden.
  • In Block 410 verifiziert die Steuerung 227, dass die digitale Signatur der Authentifizierungsdaten mit einem privaten Schlüssel erstellt wurde, der mit dem im Speicher 229 gespeicherten öffentlichen Schlüssel korrespondiert. Beispielsweise kann die Steuerung 227 einen Algorithmus zur Überprüfung der Signatur ausführen, der angesichts der Authentifizierungsdaten, des öffentlichen Schlüssels und der Signatur die Authentizität der Authentifizierungsdaten entweder akzeptiert oder ablehnt. Wenn einer der Authentifizierungsschritte in den Blöcken 408, 410 fehlschlägt, kann die Steuerung 227 in Block 412 einen Fehler ausgeben, der mit einem visuellen oder akustischen Signal korrespondieren kann, dass das Symbol nicht authentifiziert wurde. Der Fehler in Block 412 führt dazu, dass die Steuerung 102 den Nahfeld-Sendeempfänger 230 und/oder den Kommunikationsanschluss 231 daran hindert, eine Kommunikationsverbindung mit dem korrespondierenden Sendeempfänger der Client-Rechenvorrichtung 104 herzustellen. Wenn andererseits der Authentifizierungsprozess in den Blöcken 408, 410 erfolgreich ist, aktiviert die Steuerung 227 den Sendeempfänger, der mit dem Sendeempfänger des unverschlüsselten Kommunikationsparameters korrespondiert, der in dem Symbol kodiert ist, und der Strichcodeleser 102 lädt das Merkmal von der Client-Rechenvorrichtung 104 über den Nahfeld-Sendeempfänger 230 oder den Kommunikationsanschluss 231 herunter, wenn er über eine drahtgebundene Kommunikation (z. B. ein USB-Kabel) angeschlossen ist. Sobald das Merkmal auf den Strichcodeleser 102 heruntergeladen wurde, installiert und aktiviert die Steuerung 227 das Merkmal im Speicher 229. Danach kann der Strichcodeleser 102 die Funktion nutzen.
  • In der vorstehenden Beschreibung wurden spezifische Ausführungsformen beschrieben. Ein Durchschnittsfachmann erkennt jedoch, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne den Schutzumfang der Erfindung, wie sie in den untenstehenden Ansprüchen definiert ist, abzuweichen. Dementsprechend sind die Beschreibung und die Figuren vielmehr in einem illustrativen als in einem einschränkenden Sinne zu betrachten, und alle derartigen Modifikationen sollen im Umfang der vorliegenden Lehren eingeschlossen sein.
  • Die Nutzen, Vorteile, Lösungen für Probleme und alle Elemente, die zum Auftreten oder einer Verstärkung eines Nutzens, eines Vorteils, oder einer Lösung führen können, sind nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente in einigen oder sämtlichen Ansprüchen zu verstehen. Die Erfindung ist lediglich durch die angehängten Ansprüche definiert, einschließlich jeglicher Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden und aller Äquivalente der erteilten Ansprüche.
  • Darüber hinaus können in diesem Dokument relationale Begriffe wie erster und zweiter, oberer und unterer und dergleichen lediglich verwendet sein, um eine Entität oder Aktion von einer anderen Entität oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Entitäten oder Aktionen zu erfordern oder zu implizieren. Die Ausdrücke „umfasst“, „umfassend“, „hat“, „haben“, „aufweist“, „aufweisend“, „enthält“, „enthaltend“ oder jede andere Variation davon sollen eine nicht-ausschließliche Einbeziehung abdecken, derart, dass ein Prozess, Verfahren, Produkt oder Vorrichtung, das eine Liste von Elementen umfasst, hat, aufweist, enthält, nicht nur diese Elemente aufweist, sondern auch andere Elemente aufweisen kann, die nicht ausdrücklich aufgelistet sind oder einem solchen Prozess, Verfahren, Produkt oder Vorrichtung inhärent sind. Ein Element, dem „umfasst ... ein“, „hat ... ein“, „aufweist ... ein“ oder „enthält ...ein“ vorausgeht, schließt ohne weitere Einschränkungen die Existenz zusätzlicher identischer Elemente in dem Prozess, dem Verfahren, dem Produkt oder der Vorrichtung, die das Element umfasst, hat, aufweist oder enthält, nicht aus. Die Begriffe „ein“ und „eine“ sind als eine oder mehrere definiert, sofern es hierin nicht ausdrücklich anders angegeben wird. Die Begriffe „im Wesentlichen“, „im Allgemeinen“, „ungefähr“, „etwa“ oder jede andere Version davon sind so definiert, dass sie von einem Fachmann auf diesem Gebiet nahekommend verstanden werden, und in einer nicht-einschränkenden Ausführungsform ist der Ausdruck definiert als innerhalb von 10%, in einer weiteren Ausführungsform als innerhalb von 5%, in einer weiteren Ausführungsform als innerhalb von 1% und in einer weiteren Ausführungsform als innerhalb von 0,5%. Der Ausdruck „gekoppelt“, wie er hierin verwendet wird, ist als verbunden definiert, jedoch nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder eine Struktur, die auf eine bestimmte Art „konfiguriert“ ist, ist zumindest auch so konfiguriert, kann aber auch auf Arten konfiguriert sein, die nicht aufgeführt sind.
  • Es versteht sich, dass einige Ausführungsformen von einem oder mehreren generischen oder spezialisierten Prozessoren (oder „Verarbeitungsgeräten“) wie Mikroprozessoren, digitale Signalprozessoren, kundenspezifische Prozessoren und Field-Programmable-Gate-Arrays (FPGAs) und einmalig gespeicherten Programmanweisungen (einschließlich sowohl Software als auch Firmware) umfasst sein können, die den einen oder die mehreren Prozessoren steuern, um in Verbindung mit bestimmten Nicht-Prozessorschaltungen einige, die meisten oder alle der hierin beschriebenen Funktionen des Verfahrens und/oder der Vorrichtung zu implementieren. Alternativ können einige oder alle Funktionen durch eine Zustandsmaschine implementiert sein, die keine gespeicherten Programmanweisungen aufweist, oder in einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs), in denen jede Funktion oder einige Kombinationen von bestimmten Funktionen als benutzerdefinierte Logik implementiert sind. Natürlich kann eine Kombination der beiden Ansätze verwendet werden.
  • Darüber hinaus kann eine Ausführungsform als ein computerlesbares Speichermedium implementiert sein, auf dem computerlesbarer Code gespeichert ist, um einen Computer (der zum Beispiel einen Prozessor umfasst) zu programmieren, um ein Verfahren auszuführen, wie es hierin beschrieben und beansprucht ist. Beispiele solcher computerlesbaren Speichermedien weisen eine Festplatte, eine CD-ROM, eine optische Speichervorrichtung, eine magnetische Speichervorrichtung, einen ROM (Nur-Lese-Speicher), einen PROM (programmierbarer Nur-Lese-Speicher), einen EPROM (löschbarer programmierbarer Nur-Lese-Speicher), einen EEPROM (elektrisch löschbarer programmierbarer Nur-Lese-Speicher) und einen Flash-Speicher auf, sind aber nicht hierauf beschränkt auf. Ferner wird davon ausgegangen, dass ein Durchschnittsfachmann, ungeachtet möglicher signifikanter Anstrengungen und vieler Designwahlen, die zum Beispiel durch verfügbare Zeit, aktuelle Technologie und wirtschaftliche Überlegungen motiviert sind, ohne Weiteres in der Lage ist, solche Softwareanweisungen und - programme und ICs mit minimalem Experimentieren zu generieren, wenn er durch die hierin offenbarten Konzepte und Prinzipien angeleitet wird.
  • Die Zusammenfassung der Offenbarung wird bereitgestellt, um es dem Leser zu ermöglichen, schnell das Wesen der technischen Offenbarung zu ermitteln. Sie wird mit dem Verständnis bereitgestellt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Ferner kann der vorangehenden detaillierten Beschreibung entnommen werden, dass verschiedene Merkmale in verschiedenen Ausführungsformen zum Zwecke der Verschlankung der Offenbarung zusammengefasst sind. Diese Art der Offenbarung ist nicht so auszulegen, dass sie die Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben sind. Vielmehr ist es so, wie die folgenden Ansprüche zeigen, dass der erfinderische Gegenstand in weniger als allen Merkmalen einer einzigen offenbarten Ausführungsform liegt. Somit werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung inkorporiert, wobei jeder Anspruch für sich als ein separat beanspruchter Gegenstand steht.

Claims (18)

  1. Bildscanvorrichtung umfassend: ein Gehäuse mit einem Fenster; eine Bildgebungsbaugruppe, die innerhalb des Gehäuses positioniert ist, wobei die Bildgebungsbaugruppe einen Bildsensor und ein Sichtfeld (FOV) aufweist, das sich durch das Fenster erstreckt, wobei der Bildsensor angepasst ist, um mindestens eines zu erfassen von: Licht, das von einem Symbol reflektiert wird, und Licht, das von dem Symbol emittiert wird; einen ersten Kommunikationssendeempfänger, der innerhalb des Gehäuses positioniert ist, wobei der erste Kommunikationssendeempfänger betreibbar ist, um eine elektronische Kommunikation über ein Kommunikationsprotokoll aufrechtzuerhalten; eine Steuerung, die operativ mit der Bildgebungsbaugruppe gekoppelt ist, wobei die Steuerung einen Prozessor und einen Speicher aufweist, wobei die Steuerung angepasst ist zum: Dekodieren eines Symbols, das in einem von dem Bildsensor erfassten Bild erfasst wird, wobei das Symbol kodierte Daten umfasst, die (i) einen unverschlüsselten ersten Kommunikationsparameter, der sich auf einen zweiten Kommunikationssendeempfänger auf einer Client-Rechenvorrichtung bezieht, und (ii) einen Hash eines zweiten Kommunikationsparameters umfassen, wobei (i) der Hash des zweiten Kommunikationsparameters mit einem privaten Verschlüsselungsschlüssel signiert ist, (ii) das Symbol auf einem Display der Client-Rechenvorrichtung wiedergegeben wird und (iii) der zweite Kommunikationsparameter Identifikationsdaten umfasst, die einen autorisierten Kommunikationssendeempfänger eindeutig identifizieren, Validieren, ob der erste Kommunikationsparameter mit dem Hash des zweiten Kommunikationsparameters korrespondiert, und ob die Signatur mit einem im Speicher gespeicherten öffentlichen Schlüssel korrespondiert, Aktivieren des ersten Kommunikationssendeempfängers, um eine elektronische Kommunikation mit dem zweiten Kommunikationssendeempfänger über das Kommunikationsprotokoll herzustellen, als Reaktion darauf, dass der erste Kommunikationsparameter mit dem Hash des zweiten Kommunikationsparameters korrespondiert und die Signatur mit dem im Speicher gespeicherten öffentlichen Schlüssel korrespondiert, und Herunterladen eines Merkmals von der Client-Rechenvorrichtung in den Speicher über das Kommunikationsprotokoll als Reaktion auf das Aktivieren des ersten Kommunikationssendeempfängers.
  2. Bildscanvorrichtung nach Anspruch 1, wobei als Reaktion darauf, dass der erste Kommunikationsparameter mit dem Hash des zweiten Kommunikationsparameters korrespondiert, und die Signatur mit dem im Speicher gespeicherten öffentlichen Schlüssel korrespondiert, die Steuerung den ersten Kommunikationssendeempfänger anweist, über das Kommunikationsprotokoll ein Signal zu übertragen, das (i) Identifikationsdaten, die den ersten Sendeempfänger eindeutig identifizieren, und (ii) eine Anforderung zum Herstellen einer Kommunikationsverbindung mit dem zweiten Kommunikationssendeempfänger umfasst.
  3. Bildscanvorrichtung nach Anspruch 1, wobei der erste und der zweite Kommunikationssendeempfänger jeweils einen drahtlosen Kurzstrecken-Kommunikationssendeempfänger umfassen, und wobei das Kommunikationsprotokoll ein drahtloses Kurzstrecken-Kommunikationsprotokoll umfasst.
  4. Bildscanvorrichtung nach Anspruch 1, wobei das Symbol mindestens eines umfasst von: (i) einem zweidimensionalen Strichcode und (ii) einem dreidimensionalen Strichcode.
  5. Bildscanvorrichtung nach Anspruch 1, wobei die Steuerung ferner angepasst ist zum: Abfragen des Speichers nach dem öffentlichen Schlüssel; Aktivieren des ersten Kommunikationssendeempfängers, um eine elektronische Kommunikation mit dem zweiten Kommunikationssendeempfänger über das Kommunikationsprotokoll aufzubauen, als Reaktion darauf, dass der öffentliche Schlüssel nicht in dem Speicher gespeichert ist; und Validieren, ob der erste Kommunikationsparameter mit dem Hash des zweiten Kommunikationsparameters korrespondiert und ob die Signatur mit einem im Speicher gespeicherten öffentlichen Schlüssel korrespondiert, als Reaktion darauf, dass der öffentliche Schlüssel im Speicher gespeichert ist.
  6. Bildscanvorrichtung nach Anspruch 5, wobei der Speicher einen persistenten Speicher umfasst, und wobei die Steuerung ferner dazu angepasst ist, den öffentlichen Schlüssel von der Client-Rechenvorrichtung über das Kommunikationsprotokoll in den persistenten Speicher herunterzuladen, als Reaktion darauf, dass der öffentliche Schlüssel nicht im persistenten Speicher gespeichert ist.
  7. Bildscanvorrichtung nach Anspruch 1, wobei der erste Kommunikationsparameter eine MAC (Media Access Control) -Adresse umfasst, die den zweiten Kommunikationssendeempfänger eindeutig identifiziert, und der zweite Kommunikationsparameter eine MAC-Adresse umfasst, die einen autorisierten Kommunikationssendeempfänger eindeutig identifiziert.
  8. Client-Rechenvorrichtung, umfassend: ein Gehäuse; ein im Gehäuse positioniertes Display; einen ersten Kommunikationssendeempfänger, der innerhalb des Gehäuses positioniert ist, wobei der erste Kommunikationssendeempfänger betreibbar ist, um eine elektronische Kommunikation über ein Kommunikationsprotokoll aufrechtzuerhalten; eine Steuerung, die operativ mit dem ersten Kommunikationssendeempfänger und dem Display gekoppelt ist, wobei die Steuerung einen Prozessor und einen Speicher aufweist, wobei die Steuerung angepasst ist zum: Hashen eines Kommunikationsparameters, der sich auf den ersten Kommunikationssendeempfänger bezieht, wobei der Kommunikationsparameter Identifikationsdaten enthält, die den ersten Kommunikationssendeempfänger eindeutig identifizieren; digitalen Signieren des gehashten Kommunikationsparameters unter Verwendung eines privaten Verschlüsselungsschlüssels, und Erzeugen eines Bildes eines Symbols auf dem Display, wobei das Symbol kodierte Daten umfasst, die (i) den Kommunikationsparameter ohne Hashing, (ii) den gehashten Kommunikationsparameter und (iii) die digitale Signatur des gehashten Kommunikationsparameters umfassen; wobei: der erste Kommunikationssendeempfänger aktiv auf ein Signal hört, das (i) Identifikationsdaten, die den ersten Kommunikationssendeempfänger eindeutig identifizieren, und (ii) eine Anforderung zum Herstellen einer Kommunikationsverbindung mit dem ersten Kommunikationssendeempfänger umfasst; und als Reaktion darauf, dass der erste Kommunikationssendeempfänger das Signal empfängt, der erste Kommunikationssendeempfänger und ein zweiter Kommunikationssendeempfänger die Kommunikationsverbindung herstellen, wobei die Kommunikationsverbindung über das Kommunikationsprotokoll erfolgt.
  9. Client-Rechenvorrichtung nach Anspruch 8, wobei die Steuerung ferner dazu angepasst ist, als Reaktion auf das Herstellen der Kommunikationsverbindung mit dem zweiten Kommunikationssendeempfänger ein Merkmal aus dem Speicher über das Kommunikationsprotokoll in den zweiten Kommunikationssendeempfänger hochzuladen.
  10. Client-Rechenvorrichtung nach Anspruch 8, wobei die Steuerung ferner angepasst ist, um einen öffentlichen Schlüssel, der mit dem privaten Schlüssel korrespondiert, über das Kommunikationsprotokoll in den zweiten Kommunikationssendeempfänger hochzuladen, als Reaktion auf das Herstellen der Kommunikationsverbindung mit dem zweiten Kommunikationssendeempfänger.
  11. Client-Rechenvorrichtung nach Anspruch 8, wobei der erste und der zweite Kommunikationssendeempfänger jeweils einen drahtlosen Kurzstrecken-Kommunikationssendeempfänger umfassen, und wobei das Kommunikationsprotokoll ein drahtloses Kurzstrecken-Kommunikationsprotokoll umfasst.
  12. Client-Rechenvorrichtung nach Anspruch 8, wobei das Symbol mindestens eines umfasst von: (i) einem zweidimensionalen Strichcode und (ii) einem dreidimensionalen Strichcode.
  13. Client-Rechenvorrichtung nach Anspruch 8, wobei der Kommunikationsparameter die MAC-Adresse des ersten Kommunikationssendeempfängers umfasst.
  14. System, umfassend: eine Client-Rechenvorrichtung umfassend: ein Client-Rechenvorrichtungsgehäuse; ein Display, das im Client-Rechenvorrichtungsgehäuse positioniert ist; einen ersten Kommunikationssendeempfänger, der innerhalb des Client-Rechenvorrichtungsgehäuses positioniert ist, wobei der erste Kommunikationssendeempfänger betreibbar ist, um eine elektronische Kommunikation über ein Kommunikationsprotokoll aufrechtzuerhalten; eine erste Steuerung, die operativ mit dem ersten Kommunikationssendeempfänger und dem Display gekoppelt ist, wobei die erste Steuerung angepasst ist, um eine MAC (Media Access Control) -Adresse, die den ersten Kommunikationssendeempfänger eindeutig identifiziert, zu hashen; die gehashte MAC-Adresse unter Verwendung eines privaten Verschlüsselungsschlüssels digital zu signieren und ein Bild eines Symbols auf dem Display zu erzeugen, das die MAC-Adresse ohne Hashing, die gehashte MAC-Adresse und die digitale Signatur der gehashten MAC-Adresse kodiert; und einen Symbolleser umfassend: ein Symbollesergehäuse; eine Bildgebungsbaugruppe, die zumindest teilweise innerhalb des Symbollesergehäuses positioniert ist, wobei die Bildgebungsbaugruppe ein Sichtfeld (FOV) hat, wobei die Bildgebungsbaugruppe konfiguriert ist, um Bilddaten zu erfassen, die sich auf einen Symbolcode beziehen; einen zweiten Kommunikationssendeempfänger, der innerhalb des Symbollesergehäuses positioniert ist, wobei der zweite Kommunikationssendeempfänger betreibbar ist, um eine elektronische Kommunikation über das Kommunikationsprotokoll aufrechtzuerhalten; und eine zweite Steuerung, die kommunikativ mit dem zweiten Kommunikationssendeempfänger gekoppelt ist, wobei die zweite Steuerung einen Speicher und einen Prozessor aufweist, wobei als Reaktion darauf, dass die Bildgebungsbaugruppe ein Bild des Symbols erfasst: die zweite Steuerung den Speicher nach einem öffentlichen Schlüssel abfragt, der mit dem privaten Schlüssel korrespondiert; als Reaktion darauf, dass der öffentliche Schlüssel nicht im Speicher gespeichert ist, die zweite Steuerung den zweiten Kommunikationssendeempfänger aktiviert, um eine elektronische Kommunikation mit dem ersten Kommunikationssendeempfänger herzustellen; als Reaktion auf das Herstellen der elektronischen Kommunikation mit dem ersten Kommunikationssendeempfänger die erste Steuerung den ersten Kommunikationssendeempfänger aktiviert, um den öffentlichen Schlüssel, der mit dem privaten Schlüssel korrespondiert, an den zweiten Sendeempfänger zu übertragen; als Reaktion darauf, dass der öffentliche Schlüssel im Speicher gespeichert ist, die zweite Steuerung validiert, ob die MAC-Adresse ohne Hashing mit dem Hash der MAC-Adresse korrespondiert, und ob die Signatur mit dem im Speicher gespeicherten öffentlichen Schlüssel korrespondiert, als Reaktion darauf, dass die MAC-Adresse ohne Hashing mit dem Hash der MAC-Adresse korrespondiert und die Signatur mit dem im Speicher gespeicherten öffentlichen Schlüssel korrespondiert, die zweite Steuerung den zweiten Kommunikationssendeempfänger anweist, über das Kommunikationsprotokoll ein Signal zu übertragen, das (i) die MAC-Adresse, die den ersten Kommunikationssendeempfänger eindeutig identifiziert, und (ii) eine Anforderung zum Herstellen einer Kommunikationsverbindung mit dem ersten Kommunikationssendeempfänger umfasst; der erste Kommunikationssendeempfänger aktiv auf das Signal hört, das (i) die MAC-Adresse, die den ersten Kommunikationssendeempfänger eindeutig identifiziert, und (ii) die Anforderung zum Herstellen der Kommunikationsverbindung mit dem ersten Kommunikationssendeempfänger umfasst; und als Reaktion darauf, dass der erste Kommunikationssendeempfänger das Signal empfängt, der erste Kommunikationssendeempfänger und der zweite Kommunikationssendeempfänger die Kommunikationsverbindung herstellen, wobei die Kommunikationsverbindung über das Kommunikationsprotokoll erfolgt; und als Reaktion auf das Herstellen der Kommunikationsverbindung, der zweite Kommunikationssendeempfänger ein Merkmal von der Client-Rechenvorrichtung über das Kommunikationsprotokoll in den Speicher herunterlädt.
  15. System nach Anspruch 14, wobei der Symbolleser einen ersten Symbolleser umfasst, wobei das System ferner einen zweiten Symbolleser umfasst, wobei der zweite Symbolleser aufweist: ein zweites Symbollesergehäuse; eine zweite Bildgebungsbaugruppe, die zumindest teilweise innerhalb des zweiten Symbollesergehäuses positioniert ist, wobei die zweite Bildgebungsbaugruppe ein Sichtfeld (FOV) aufweist, wobei die zweite Bildgebungsbaugruppe konfiguriert ist, um Bilddaten zu erfassen, die sich auf einen Symbolcode beziehen; einen dritten Kommunikationssendeempfänger, der innerhalb des zweiten Symbollesergehäuses positioniert ist, wobei der dritte Kommunikationssendeempfänger betreibbar ist, um eine elektronische Kommunikation über das Kommunikationsprotokoll aufrechtzuerhalten; und eine dritte Steuerung, die kommunikativ mit dem zweiten Kommunikationssendeempfänger gekoppelt ist, wobei die dritte Steuerung einen zweiten Speicher und einen zweiten Prozessor aufweist, wobei als Reaktion darauf, dass die zweite Bildgebungsbaugruppe ein Bild des Symbols erfasst: die dritte Steuerung den zweiten Speicher nach dem öffentlichen Schlüssel, der mit dem privaten Schlüssel korrespondiert, abfragt; als Reaktion darauf, dass der öffentliche Schlüssel nicht im zweiten Speicher gespeichert ist, die dritte Steuerung den dritten Kommunikationssendeempfänger aktiviert, um eine elektronische Kommunikation mit dem ersten Kommunikationssendeempfänger herzustellen; als Reaktion auf das Herstellen der elektronischen Kommunikation mit dem ersten Kommunikationssendeempfänger die erste Steuerung den ersten Kommunikationssendeempfänger aktiviert, um den öffentlichen Schlüssel, der mit dem privaten Schlüssel korrespondiert, an den dritten Kommunikationssendeempfänger zu übertragen, als Reaktion darauf, dass der öffentliche Schlüssel im zweiten Speicher gespeichert ist, die dritte Steuerung validiert, ob die MAC-Adresse ohne Hashing mit dem Hash der MAC-Adresse korrespondiert und ob die Signatur mit dem im zweiten Speicher gespeicherten öffentlichen Schlüssel korrespondiert, als Reaktion darauf, dass die MAC-Adresse ohne Hashing mit dem Hash der MAC-Adresse korrespondiert und die Signatur mit dem im zweiten Speicher gespeicherten öffentlichen Schlüssel korrespondiert, die dritte Steuerung den dritten Kommunikationssendeempfänger anweist, über das Kommunikationsprotokoll ein Signal zu übertragen, das (i) die MAC-Adresse, die den ersten Kommunikationssendeempfänger eindeutig identifiziert, und (ii) eine Anforderung zum Herstellen einer Kommunikationsverbindung mit dem ersten Kommunikationssendeempfänger umfasst; der erste Kommunikationssendeempfänger aktiv auf das Signal hört, das (i) die MAC-Adresse, die den ersten Kommunikationssendeempfänger eindeutig identifiziert, und (ii) die Anforderung zum Herstellen der Kommunikationsverbindung mit dem ersten Kommunikationssendeempfänger umfasst; und als Reaktion darauf, dass der erste Kommunikationssendeempfänger das Signals empfängt, der erste Kommunikationssendeempfänger und der dritte Kommunikationssendeempfänger die Kommunikationsverbindung herstellen, wobei die Kommunikationsverbindung über das Kommunikationsprotokoll erfolgt; und als Reaktion auf das Herstellen der zweiten Kommunikationsverbindung der dritte Kommunikationssendeempfänger ein Merkmal von der Client-Rechenvorrichtung über das Kommunikationsprotokoll in den zweiten Speicher herunterlädt.
  16. System nach Anspruch 15, wobei der erste und der zweite Kommunikationssendeempfänger jeweils einen drahtlosen Kurzstrecken-Kommunikationssendeempfänger umfassen, und wobei das Kommunikationsprotokoll ein drahtloses Kurzstrecken-Kommunikationsprotokoll umfasst.
  17. System nach Anspruch 15, wobei das Symbol mindestens eines umfasst von: (i) einem zweidimensionalen Strichcode und (ii) einem dreidimensionalen Strichcode.
  18. System nach Anspruch 15, wobei der Speicher einen persistenten Speicher umfasst, und wobei die zweite Steuerung ferner dazu angepasst ist, den öffentlichen Schlüssel von der Client-Rechenvorrichtung über das Kommunikationsprotokoll in den persistenten Speicher herunterzuladen, als Reaktion darauf, dass der öffentliche Schlüssel nicht in dem persistenten Speicher gespeichert ist.
DE112019006235.2T 2018-12-17 2019-10-18 Authentifizierung zum verbinden eines strichcodelesers mit einer client-rechenvorrichtung Pending DE112019006235T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/221,753 2018-12-17
US16/221,753 US10938558B2 (en) 2018-12-17 2018-12-17 Authentication for connecting a barcode reader to a client computing device
PCT/US2019/057041 WO2020131207A1 (en) 2018-12-17 2019-10-18 Authentication for connecting a barcode reader to a client computing device

Publications (1)

Publication Number Publication Date
DE112019006235T5 true DE112019006235T5 (de) 2021-09-09

Family

ID=69844308

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019006235.2T Pending DE112019006235T5 (de) 2018-12-17 2019-10-18 Authentifizierung zum verbinden eines strichcodelesers mit einer client-rechenvorrichtung

Country Status (9)

Country Link
US (1) US10938558B2 (de)
KR (1) KR102418959B1 (de)
CN (1) CN113228031B (de)
AU (1) AU2019406116B2 (de)
BE (1) BE1026830B1 (de)
CA (1) CA3128008C (de)
DE (1) DE112019006235T5 (de)
GB (2) GB2605083B (de)
WO (1) WO2020131207A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113746631A (zh) * 2021-07-12 2021-12-03 浙江众合科技股份有限公司 基于安全编码的安全通信方法
US20230354035A1 (en) * 2022-04-28 2023-11-02 Zebra Technologies Corporation Systems and Methods for Secure Provisioning of Detector Units

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6582138B1 (en) * 2000-08-21 2003-06-24 Xerox Corporation Authenticated sheet material
JP4655345B2 (ja) * 2000-08-31 2011-03-23 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム提供媒体
JP3935879B2 (ja) * 2001-11-06 2007-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション データ供給のためのシステム
US7941855B2 (en) * 2003-04-14 2011-05-10 New Mexico Technical Research Foundation Computationally intelligent agents for distributed intrusion detection system and method of practicing same
US7841533B2 (en) 2003-11-13 2010-11-30 Metrologic Instruments, Inc. Method of capturing and processing digital images of an object within the field of view (FOV) of a hand-supportable digitial image capture and processing system
WO2005057863A1 (ja) * 2003-12-12 2005-06-23 Fujitsu Limited データ伝送装置
EP2433246A4 (de) * 2009-05-18 2013-07-03 Mikoh Corp Biometrische identifikationsverfahren
US8879994B2 (en) 2009-10-02 2014-11-04 Blackberry Limited Methods and devices for facilitating Bluetooth pairing using a camera as a barcode scanner
EP2388730A1 (de) * 2010-05-17 2011-11-23 Nagravision S.A. Verfahren zur Erzeugung eines Softwarecodes
US8904189B1 (en) * 2010-07-15 2014-12-02 The Research Foundation For The State University Of New York System and method for validating program execution at run-time using control flow signatures
US8998076B2 (en) * 2011-06-03 2015-04-07 Arthur Chang Establishing connections among electronic devices
US8989376B2 (en) * 2012-03-29 2015-03-24 Alcatel Lucent Method and apparatus for authenticating video content
US9223554B1 (en) * 2012-04-12 2015-12-29 SourceDNA, Inc. Recovering source code structure from program binaries
CN109190427A (zh) 2012-08-31 2019-01-11 手持产品公司 通过rfid对无线扫描器进行配对的方法
US9276736B2 (en) * 2013-03-14 2016-03-01 General Motors Llc Connection key distribution
US9332040B2 (en) * 2013-10-07 2016-05-03 Google Inc. Hazard detection unit facilitating convenient setup of plural instances thereof in the smart home
US9756074B2 (en) * 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US10284619B2 (en) * 2014-01-22 2019-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Method for scalable distributed network traffic analytics in telco
US9226147B2 (en) 2014-06-02 2015-12-29 Blackberry Limited System and method of securing instant messaging sessions
WO2016097368A1 (en) * 2014-12-19 2016-06-23 Koninklijke Philips N.V. Caregiver connected wearable
US9606854B2 (en) * 2015-08-13 2017-03-28 At&T Intellectual Property I, L.P. Insider attack resistant system and method for cloud services integrity checking
US9832024B2 (en) * 2015-11-13 2017-11-28 Visa International Service Association Methods and systems for PKI-based authentication
JP6746427B2 (ja) * 2016-08-10 2020-08-26 キヤノン株式会社 通信装置、通信方法、及びプログラム
KR102334821B1 (ko) * 2016-09-26 2021-12-07 스냅 인코포레이티드 광학 코드들에 의한 디바이스 페어링
US20180338244A1 (en) 2017-05-16 2018-11-22 Qualcomm Incorporated Regulatory domain security techniques for wireless devices
EP3502994A1 (de) * 2017-12-22 2019-06-26 Mastercard International Incorporated Verfahren und system für vertraute benachrichtigungen
US11423717B2 (en) * 2018-08-01 2022-08-23 The Chamberlain Group Llc Movable barrier operator and transmitter pairing over a network

Also Published As

Publication number Publication date
GB202108246D0 (en) 2021-07-21
CN113228031A (zh) 2021-08-06
GB2605083A (en) 2022-09-21
WO2020131207A1 (en) 2020-06-25
BE1026830A1 (nl) 2020-06-30
CA3128008C (en) 2022-04-05
GB2594391A (en) 2021-10-27
GB2605083B (en) 2022-12-21
KR102418959B1 (ko) 2022-07-07
GB202208406D0 (en) 2022-07-20
US20200195424A1 (en) 2020-06-18
KR20210091267A (ko) 2021-07-21
US10938558B2 (en) 2021-03-02
CN113228031B (zh) 2022-05-03
AU2019406116B2 (en) 2021-06-17
CA3128008A1 (en) 2020-06-25
GB2594391B (en) 2022-11-23
AU2019406116A1 (en) 2021-05-27
BE1026830B1 (nl) 2021-02-22

Similar Documents

Publication Publication Date Title
CN107210007A (zh) 防止基于面部的认证假冒
DE112021003033T5 (de) Strichcodeleser mit 3d-kamera(s)
CN102663459B (zh) 综合信息采集处理系统
DE112019006235T5 (de) Authentifizierung zum verbinden eines strichcodelesers mit einer client-rechenvorrichtung
US20150002915A1 (en) Method for Scanning and Processing Documents
DE112019004221T5 (de) Vorrichtung und Verfahren zum Aktualisieren von Strichcodelesern
CN105741404A (zh) 票据的鉴别方法、装置和系统
DE112022001743T5 (de) Systeme und verfahren zur optimierung der bildgebungseinstellungen und der bilderfassung für einen bildverarbeitungsauftrag
DE112019003593T5 (de) Verfahren und vorrichtung zur kalibrierung einer client-rechenvorrichtung zur dekodierung von symbolen
DE69535212T2 (de) Verfahren und systeme zur erzeugung und authentifizierung unveränderbarer selbstüberprüfender artikel
DE102014116692A1 (de) Codieren/Decodieren von Informationen aus einer graphischen Informationseinheit
DE112020005390T5 (de) Systeme und verfahren zur benutzerauswahl eines strichcode-scanbereichs
CN103854349B (zh) 基于文字识别与无线通信技术的移动式智能来访登记系统
DE112019006125T5 (de) Verfahren und vorrichtung zur dekodierung von räumlich in beziehung stehenden zeichen
EP3314585B1 (de) Verfahren und system zur authentifizierung eines dokumentes sowie verfahren zur herstellung und/oder personalisierung eines dokumentes
DE102015108180A1 (de) System und Verfahren zum intelligenten Koppeln und Anbinden mobiler Endgeräte an ein Koordinatenmessgerät
DE202008015857U1 (de) Vorrichtung zur automatischen Digitalisierung und Authentifizierung von Dokumenten
JP6161182B2 (ja) 電子機器を操作するために使用者を認証する方法及びシステム
EP3338254B1 (de) Dokumentenprüfgerät zum überprüfen der echtheit eines dokumentes
DE102008007731A1 (de) Verfahren und Vorrichtung zur Identifizierung und Authentifizierung von Objekten
EP1921566A1 (de) Anordnung zum Verarbeiten von Kontrastbildern
DE102016119465A1 (de) Verfahren und anordnung zum lesen von zweidimensionalen symbolen durch übersetzen von kodierten symbolzeichen von einem lokalen auf einen globalen zeichensatz
EP3429866B1 (de) Authentifikationsdokument
DE102022112799A1 (de) Verfahren zum Kommissionieren eines elektrischen Geräts, elektrisches Gerät, mobiles Kommissionierungsgerät, Kommissionierungsvorrichtung und Kommissionierungssystem
DE102021119128A1 (de) Systeme und verfahren zur optimierung von bildgebungseinstellungen für einen bildverarbeitungsauftrag

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)