KR102418959B1 - 바코드 판독기를 클라이언트 컴퓨팅 디바이스에 연결하기 위한 인증 - Google Patents

바코드 판독기를 클라이언트 컴퓨팅 디바이스에 연결하기 위한 인증 Download PDF

Info

Publication number
KR102418959B1
KR102418959B1 KR1020217018232A KR20217018232A KR102418959B1 KR 102418959 B1 KR102418959 B1 KR 102418959B1 KR 1020217018232 A KR1020217018232 A KR 1020217018232A KR 20217018232 A KR20217018232 A KR 20217018232A KR 102418959 B1 KR102418959 B1 KR 102418959B1
Authority
KR
South Korea
Prior art keywords
communication
transceiver
communication transceiver
memory
controller
Prior art date
Application number
KR1020217018232A
Other languages
English (en)
Other versions
KR20210091267A (ko
Inventor
케네스 에스 벨라
마리야 라이트
Original Assignee
제브라 테크놀로지스 코포레이션
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 제브라 테크놀로지스 코포레이션 filed Critical 제브라 테크놀로지스 코포레이션
Publication of KR20210091267A publication Critical patent/KR20210091267A/ko
Application granted granted Critical
Publication of KR102418959B1 publication Critical patent/KR102418959B1/ko

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/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
    • 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
    • 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/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
    • 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

이미지 스캐닝 장치로의 다운로드를 위한 피처를 인증하기 위한 장치 및 시스템은 인증 데이터를 인코딩하는 심볼의 이미지를 생성하는 클라이언트 컴퓨팅 디바이스를 갖는다. 클라이언트 컴퓨팅 디바이스는 그것의 트랜시버의 통신 파라미터를 해싱하고, 공개-개인 키 쌍으로부터의 개인 키로 해시 값을 디지털 방식으로 서명하고, 해시 값, 디지털 서명 및 암호화되지 않은 통신 파라미터를 심볼 내로 인코딩한다. 이미지 스캐닝 장치는 심볼의 이미지를 캡처하고, 심볼을 디코딩하고, 암호화되지 않은 통신 파라미터가 통신 파라미터의 해시에 대응하는지, 및 바코드 판독기의 메모리 내에 저장된 공개 키가 해시 값에 서명하는 데 사용된 개인 키에 대응하는지를 검증한다. 통신 파라미터가 해시 값에 대응하고 서명이 공개 키에 대응하는 경우, 바코드 판독기는 그것의 트랜시버가 클라이언트 컴퓨팅 디바이스로부터 피처를 다운로드할 수 있게 한다.

Description

바코드 판독기를 클라이언트 컴퓨팅 디바이스에 연결하기 위한 인증
종래의 바코드 판독기는 스마트 폰, 태블릿, 컴퓨터 등과 같은 클라이언트 컴퓨팅 디바이스 상의 바코드를 스캔함으로써 애플리케이션 또는 다른 피처들로 업데이트되거나 구성될 수 있다. 그러나, 호스트 운영 체제를 위한 소프트웨어 개발 키트(SDK; software development kits)를 이용 가능함으로 인하여, 악성 애플리케이션을 포함하여, 사실상 누구나 바코드 스캐너로의 업로드를 위한 애플리케이션을 개발할 수 있다. 이러한 문제는 병원과 같은 민감한 정보를 다루는 환경 내의 바코드 판독기에 있어서 특히 심각하다. 보안 패스워드 또는 개인 식별 번호(PIN; Private Identification Number)와 같은 다른 방법이 인증에 이용 가능하지만, 많은 바코드 판독기는 키패드나 디스플레이를 가지고 있지 않다. 또한, 비록 바코드 판독기에 애플리케이션을 제공하도록 인가되는 모든 클라이언트 컴퓨팅 디바이스의 매체 액세스 제어(MAC; media access control) 주소가 바코드 판독기에 제공되는 것이 가능할지라도, 이는 수백 개의 바코드 스캐너일 수 있는 시스템 내의 모든 바코드 스캐너가, 새로운 클라이언트 컴퓨팅 디바이스가 도입되거나 제거됨에 따라 업데이트되고, 그렇게 함으로써 MAC 주소의 목록을 변경하는 것을 필요로 한다.
따라서, 쉽게 연결을 설정하고 보안을 유지해야 하는 필요 모두를 만족시키는 바코드 판독기를 클라이언트 컴퓨팅 디바이스에 연결하기 위한 개선된 인증 방법이 필요하다.
일부 실시예에서, 본 개시는, 이미지 스캐닝 장치로서, 윈도우를 갖는 하우징; 하우징 내에 위치된 이미징 어셈블리 - 이미징 어셈블리는 이미지 센서, 및 윈도우를 통해 연장되는 시야(FOV; field-of-view)를 갖고, 이미지 센서는 심볼로부터 반사된 광 및 심볼로부터 방출된 광 중 적어도 하나를 캡처하도록 적응됨 -; 하우징 내에 위치된 제1 통신 트랜시버 - 제1 통신 트랜시버는 통신 프로토콜을 통해 전자 통신을 유지하도록 동작할 수 있음 -; 및 이미징 어셈블리에 동작 가능하게 결합된 컨트롤러 - 컨트롤러는 프로세서 및 메모리를 가짐 - 를 포함하고, 컨트롤러는: 이미지 센서에 의해 캡처된 이미지 내에 캡처된 심볼을 디코딩하고 - 심볼은 (i) 클라이언트 컴퓨팅 디바이스 상의 제2 통신 트랜시버와 관련된 암호화되지 않은 제1 통신 파라미터 및 (ii) 제2 통신 파라미터의 해시를 포함하는 인코딩된 데이터를 포함하고, (i) 제2 통신 파라미터의 해시는 개인 암호화 키로 서명되고, (ii) 심볼은 클라이언트 컴퓨팅 디바이스의 디스플레이 상에 렌더링되고, (iii) 제2 통신 파라미터는 인가된 통신 트랜시버를 고유하게 식별하는 식별 데이터를 포함함 -, 제1 통신 파라미터가 제2 통신 파라미터의 해시에 대응하는지 여부, 및 서명이 메모리 내에 저장된 공개 키에 대응하는지 여부를 검증하고, 제1 통신 파라미터가 제2 통신 파라미터의 해시에 대응하고, 서명이 메모리 내에 저장된 공개 키에 대응하는 것에 응답하여, 제1 통신 트랜시버가 통신 프로토콜을 통해 제2 통신 트랜시버와 전자 통신을 설정할 수 있게 하고, 제1 통신 트랜시버가 전자 통신을 설정할 수 있게 하는 것에 응답하여 통신 프로토콜을 통해 클라이언트 컴퓨팅 디바이스로부터 메모리 내로 피처를 다운로드하도록 적응되는, 이미지 스캐닝 장치를 설명한다.
추가적으로, 일부 실시예에서, 본 개시는, 클라이언트 컴퓨팅 디바이스로서, 하우징; 하우징 내에 위치된 디스플레이; 하우징 내에 위치된 제1 통신 트랜시버 - 제1 통신 트랜시버는 통신 프로토콜을 통해 전자 통신을 유지하도록 동작할 수 있음 -; 제1 통신 트랜시버 및 디스플레이에 동작 가능하게 결합된 컨트롤러 - 컨트롤러는 프로세서 및 메모리를 가짐 - 를 포함하고, 컨트롤러는: 제1 통신 트랜시버와 관련된 통신 파라미터를 해싱하고 - 통신 파라미터는 제1 통신 트랜시버를 고유하게 식별하는 식별 데이터를 포함함 -; 개인 암호화 키를 사용하여, 해싱된 통신 파라미터에 디지털 방식으로 서명하고; 디스플레이 상에 심볼의 이미지를 생성하도록 - 심볼은 (i) 해싱되지 않은 통신 파라미터, (ii) 해싱된 통신 파라미터, 및 (iii) 해싱된 통신 파라미터의 디지털 서명을 포함하는 인코딩된 데이터를 포함함 - 적응되며, 제1 통신 트랜시버는 (i) 제1 통신 트랜시버를 고유하게 식별하는 식별 데이터 및 (ii) 제1 통신 트랜시버와의 통신 링크를 설정하라는 요청을 포함하는 신호를 능동적으로 청취하고; 제1 통신 트랜시버가 신호를 수신하는 것에 응답하여, 제1 통신 트랜시버 및 제2 통신 트랜시버는 통신 링크를 설정하고, 통신 링크는 통신 프로토콜을 통해 발생하는, 클라이언트 컴퓨팅 디바이스를 설명한다.
추가적으로, 일부 실시예에서, 본 개시는, 시스템으로서, 클라이언트 컴퓨팅 디바이스; 및 심볼 판독기를 포함하고, 클라이언트 컴퓨팅 디바이스는: 클라이언트 컴퓨팅 디바이스 하우징; 클라이언트 컴퓨팅 디바이스 하우징 내에 위치된 디스플레이; 클라이언트 컴퓨팅 디바이스 하우징 내에 위치된 제1 통신 트랜시버 - 제1 통신 트랜시버는 통신 프로토콜을 통해 전자 통신을 유지하도록 동작 가능함 -; 제1 통신 트랜시버 및 디스플레이에 동작 가능하게 결합된 제1 컨트롤러 - 제1 컨트롤러는 제1 통신 트랜시버를 고유하게 식별하는 매체 액세스 제어(MAC) 주소를 해싱하고; 개인 암호화 키를 사용하여, 해싱된 MAC 주소에 디지털 방식으로 서명하고; 해싱되지 않은 MAC 주소, 해싱된 MAC 주소, 및 해싱된 MAC 주소의 디지털 서명을 인코딩하는 심볼의 이미지를 디스플레이 상에 생성하도록 적응됨 - 를 갖고, 심볼 판독기는: 심볼 판독기 하우징; 적어도 부분적으로 심볼 판독기 하우징 내에 위치되는 이미징 어셈블리 - 이미징 어셈블리는 시야(FOV)를 갖고, 이미징 어셈블리는 심볼 코드와 관련된 이미지 데이터를 캡처하도록 구성됨 -; 심볼 판독기 하우징 내에 위치되는 제2 통신 트랜시버 - 제2 통신 트랜시버는 통신 프로토콜을 통해 전자 통신을 유지하도록 동작 가능함 -; 및 제2 통신 트랜시버에 통신 가능하게 결합된 제2 컨트롤러 - 제2 컨트롤러는 메모리 및 프로세서를 가짐 - 를 갖고, 이미징 어셈블리가 심볼의 이미지를 캡처하는 것에 응답하여: 제2 컨트롤러는 메모리에 개인 키에 대응하는 공개 키에 대해 질의하고; 공개 키가 메모리 내에 저장되어 있지 않은 것에 응답하여, 제2 컨트롤러는 제2 통신 트랜시버가 제1 통신 트랜시버와 전자 통신을 설정할 수 있게 하고; 제1 통신 트랜시버와 전자 통신을 설정하는 것에 응답하여, 제1 컨트롤러는 제1 통신 트랜시버가 제2 트랜시버에 개인 키에 대응하는 공개 키를 전송할 수 있게 하고; 공개 키가 메모리 내에 저장되어 있는 것에 응답하여, 제2 컨트롤러는 해싱되지 않은 MAC 주소가 MAC 주소의 해시에 대응하는지 여부, 및 서명이 메모리 내에 저장된 공개 키에 대응하는지 여부를 검증하고; 해싱되지 않은 MAC 주소가 MAC 주소의 해시에 대응하고 서명이 메모리 내에 저장된 공개 키에 대응하는 것에 응답하여, 제2 컨트롤러는 제2 통신 트랜시버에게, 통신 프로토콜을 통해, (i) 제1 통신 트랜시버를 고유하게 식별하는 MAC 주소 및 (ii) 제1 통신 트랜시버와의 통신 링크를 설정하라는 요청의 신호를 전송하도록 지시하고; 제1 통신 트랜시버는 (i) 제1 통신 트랜시버를 고유하게 식별하는 MAC 주소 및 (ii) 제1 통신 트랜시버와의 통신 링크를 설정하라는 요청을 포함하는 신호를 능동적으로 청취하고; 제1 통신 트랜시버가 신호를 수신하는 것에 응답하여, 제1 통신 트랜시버 및 제2 통신 트랜시버는 통신 링크를 설정하고, 통신 링크는 통신 프로토콜을 통해 발생하고; 통신 링크를 설정하는 것에 응답하여, 제2 통신 트랜시버는 통신 프로토콜을 통해 클라이언트 컴퓨팅 디바이스로부터 메모리 내로 피처를 다운로드하는, 시스템을 설명한다.
별개의 도시 전체에 걸쳐 유사한 참조 번호가 동일하거나 기능적으로 유사한 구성요소를 지칭하는 첨부된 도면은, 아래의 상세한 설명과 함께, 명세서에 통합되고 그 일부를 형성하며, 청구된 발명을 포함하는 개념의 실시예를 추가로 예시하고, 이들 실시예의 다양한 원리 및 이점을 설명하는 역할을 한다.
도 1은 본 발명의 실시예에 따른 컴포넌트들 간의 통신 시스템을 도시한다.
도 2는 본 발명의 실시예에 따른 도 1의 바코드 판독기의 사시도를 도시한다.
도 3은 본 발명의 실시예에 따른 도 1의 바코드 판독기의 일부 컴포넌트의 블록 개략도를 도시한다.
도 4는 일부 실시예에 따라 도 1의 스마트 폰에 의해 실행되는 바코드 판독기에 피처를 업데이트하기 위한 인증 방법의 순서도이다.
도 5는 일부 실시예에 따라 도 1의 바코드 판독기에 의해 실행되는 바코드 판독기에 피처를 업데이트하기 위한 인증 방법의 순서도이다.
통상의 기술자는 도면 내의 구성요소가 단순성과 명료성을 위해 예시되었으며 반드시 실제 비율에 따라 그려진 것은 아님을 이해할 것이다. 예를 들어, 도면 내의 일부 구성요소의 치수는 본 발명의 실시예의 이해를 향상시키는 것을 돕기 위해 다른 구성요소에 비해 과장될 수 있다.
장치 및 방법 구성요소는 적절한 경우 도면에서 종래의 기호로 표현되었으며, 본 명세서에서의 설명의 이점을 갖는 기술분야의 통상의 기술자에게 용이하게 명백할 세부 사항으로 개시 내용을 모호하게 하지 않도록 본 발명의 실시예를 이해하는 것과 관련된 특정 세부 사항만을 도시한다.
이제 도면을 참조하면, 도 1은, 소프트웨어 애플리케이션, 소프트웨어 피처, 구성 설정, 펌웨어 업데이트 등을 포함하지만 이에 제한되지 않는, 바코드 판독기에 피처를 업로드하기 위한 시스템(100)을 구현하는 예시적인 아키텍처의 다양한 양상을 도시한다. 피처의 보다 구체적인 예는 상이한 심볼로지들을 디코딩하기 위한 소프트웨어(예를 들어, 고유 디바이스 식별), 광학 문자 인식을 위한 소프트웨어, 운전 면허증 상의 정보를 파싱하기 위한 소프트웨어, 및 단일 표면 상의 복수의 바코드를 판독하기 위한 소프트웨어를 포함하지만 이에 제한되지 않는다. 고수준 아키텍처는 하드웨어 및 소프트웨어 애플리케이션은 물론, 다양한 하드웨어 및 소프트웨어 컴포넌트 간에 데이터를 전달하기 위한 다양한 데이터 통신 채널을 포함한다. 바코드 판독기에 피처를 업로드하기 위한 시스템(100)은 다양한 소프트웨어 및 하드웨어 컴포넌트 또는 모듈을 포함할 수 있다.
바코드 판독기에 피처를 업로드하기 위한 시스템(100)은 하나 이상의 바코드 판독기(102, 103) 및 클라이언트 컴퓨팅 디바이스(104)를 포함하는 프런트 엔드 컴포넌트를 포함한다. 클라이언트 컴퓨팅 디바이스(104)는 개인용 컴퓨터, 스마트 폰, 태블릿 컴퓨터, 스마트 워치, 헤드 마운트 디스플레이, 웨어러블 컴퓨터 또는 다른 적합한 클라이언트 컴퓨팅 디바이스를 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는, 모두가 주소/데이터 버스(도시되지 않음)를 통해 상호 연결되는, 마이크로컨트롤러 또는 프로세서(106)를 포함하는 컨트롤러, 프로그램 메모리(108), 디스플레이(110), 및 이미지 센서를 갖는 카메라와 같은 이미징 어셈블리(112)를 포함하는, 서로 동작 가능하게 결합되는 다양한 컴포넌트를 포함한다. 클라이언트 컴퓨팅 디바이스(104)의 프로세서(106)는 1) 디스플레이(110) 상에 이미지를 생성하고 2) 이미징 어셈블리(112)를 통해 이미지를 캡처하기 위해 메모리(108) 내에 저장된 명령어를 실행한다. 비록 도 1이 단지 하나의 프로세서(106)를 도시하고 있을지라도, 컨트롤러는 복수의 프로세서(106)를 포함할 수 있음이 이해되어야 한다. 유사하게, 컨트롤러의 메모리(108)는, 컨트롤러의 특정 구성에 따라, 하나 이상의 대응하는 서버 애플리케이션 모듈을 저장하는 복수의 RAM 및 복수의 프로그램 메모리를 포함할 수 있다. 메모리(108)는, 예를 들어 반도체 메모리, 자기적으로 판독 가능한 메모리, 및/또는 광학적으로 판독 가능한 메모리를 포함하지만 이에 제한되지 않는 컴퓨터 저장 매체의 공지된 형태로 구현될 수 있지만, 반송파와 같은 일시적 매체는 포함하지 않는다.
도 1 및 수반되는 설명으로부터 단일 클라이언트 컴퓨팅 디바이스(104)가 복수의 바코드 판독기에 피처를 업로드하는 데 사용될 수 있음이 이해되어야 한다. 그 결과, 비록 두 개의 바코드 판독기(102, 103)만이 도시되어 있을지라도, 클라이언트 컴퓨팅 디바이스(104)는 임의의 수의 바코드 판독기에 피처를 업로드하는 데 사용될 수 있음이 이해될 것이다. 또한, 비록 단지 하나의 클라이언트 컴퓨팅 디바이스만이 도시되어 있을지라도, 복수의 클라이언트 컴퓨팅 디바이스가 시스템(100) 내에서 사용될 수 있고 백 엔드 컴포넌트와 통신할 수 있으며, 각각의 클라이언트 컴퓨팅 디바이스는 바코드 판독기 중 특정의 것에 할당되거나 각각의 클라이언트 컴퓨팅 디바이스는 복수의 바코드 판독기 중 임의의 것에 피처를 업로드할 수 있음이 이해될 것이다.
클라이언트 컴퓨팅 디바이스(104)는 또한, 바코드 판독기(102, 103)와 같은 다른 프런트 엔드 컴포넌트와 통신하기 위하여, 범용 직렬 버스(USB; Universal Serial Bus)와 같은 하드와이어 통신 포트(114), 및/또는 블루투스® 트랜시버와 같은 무선 근거리 트랜시버(116)를 포함하는 다양한 통신 컴포넌트를 포함한다. 또한, 클라이언트 컴퓨팅 디바이스(104)는, 공용 컴퓨터 네트워크(124)를 통해 백 엔드 컴포넌트(122)와 통신하기 위하여, 셀룰러 네트워크 트랜시버(118) 및/또는 IEEE(Institute of Electrical and Electronics Engineers) 802.11 표준 기반 WiFi 트랜시버와 같은 로컬 네트워크 트랜시버(120)를 포함한다. 실시예에서, 클라이언트 컴퓨팅 디바이스(104)의 프로세서(106)는, 바코드 판독기(102)에 업로드될 피처 자체에 대한 데이터와 같은 백 엔드 컴포넌트(122)로부터의 데이터를 컴퓨터 네트워크(124)를 통해 관리하고 수신하기 위해 명령어를 실행한다.
컴퓨터 네트워크(124)는 인터넷 또는 다른 유형의 적합한 네트워크(예를 들어, 근거리 통신망(LAN; local area network), 대도시 통신망(MAN; metropolitan area network), 광역 통신망(WAN; wide area network), 모바일, 유선 또는 무선 네트워크 등)와 같은 네트워크일 수 있다. 컴퓨터 네트워크(124)는 또한 코드 분할 다중 액세스(CDMA; code division multiple access) 네트워크, GSM(Global System for Mobile Communications) 네트워크, WiMAX(Worldwide Interoperability for Microwave Access) 네트워크, 롱 텀 에볼루션(LTE) 네트워크 등과 같은 하나 이상의 셀룰러 네트워크일 수 있다. 클라이언트 컴퓨팅 디바이스(104)의 프로세서(106)는 또한 위에서 논의된 작업을 수행하기 위해 하나 이상의 애플리케이션을 실행할 수 있다.
백 엔드 컴포넌트들(122)은 데이터 서버(128) 및 계정 데이터베이스(131)를 포함할 수 있다. 백 엔드 컴포넌트들(122)은 근거리 통신망 또는 다른 유형의 적합한 네트워크(예를 들어, 인터넷, 대도시 통신망(MAN), 광역 통신망(WAN), 모바일, 유선 또는 무선 네트워크, 사설 네트워크, 가상 사설 네트워크 등)와 같은 통신 네트워크(138)를 통해 서로 통신할 수 있다.
일반적으로 바코드 판독기(102, 103), 그리고 특히 데이터 서버(128)에 피처를 업로드하기 위한 시스템은 컴퓨터 실행 가능 명령어(130)를 포함한다. 실시예에서, 데이터 서버(128)의 프로세서는 액세스 툴(132), 검색(retrieval) 툴(134) 및 분석 툴(136)을 인스턴스화하기 위해 명령어(130)를 실행한다. 액세스 툴(132)은 클라이언트 컴퓨팅 디바이스(104)로부터 데이터를 수신하고 데이터를 계정 데이터베이스(131)와 같은 하나 이상의 데이터베이스에 저장한다. 검색 툴(134)은 계정 데이터베이스(131)로부터의 데이터를 검색하거나, 고객에 의해 소유되거나 임대된 바코드 판독기에 대한 라이센스 및 각각의 바코드 판독기에 대한 라이센싱된 피처와 관련된 계정 데이터베이스(131)로부터의 고객 계정 정보에 액세스하기 위해 계정 식별자를 사용한다. 계정 데이터베이스(131)는 랜덤 액세스 메모리(RAM), 하드 디스크 드라이브(HDD), 플래시 메모리, 솔리드 스테이트 드라이브(SSD)와 같은 플래시 메모리 등과 같은 데이터 저장 디바이스일 수 있다. 분석 툴(136)은 바코드 판독기(102) 상의 피처를 활성화하기 위해 활성화 데이터를 제공하기 전에 고객 계정 데이터 및/또는 클라이언트 컴퓨팅 디바이스(104)로부터의 요청에 대한 하나 이상의 분석을 수행할 수 있다.
도 2는 핸들(204)로도 지칭되는 핸들부(204)를 갖는 하우징(202) 및 스캐닝 헤드(206)로도 지칭되는 헤드부(206)를 갖는 예시적인 바코드 판독기(102)를 도시한다. 헤드부(206)는 윈도우(208)를 포함하고, 핸들부(204)의 상부에 위치되도록 구성된다. 핸들부(204)는 판독기 사용자(도시되지 않음)에 의해 파지되도록 구성되고 사용자에 의한 활성화를 위한 트리거(210)를 포함한다. 실시예에는 또한 헤드부(206)의 반대편으로 핸들부(204)에 부착된 베이스(212)가 포함된다. 베이스(212)는 표면에 서서 일반적으로 똑바로 선 상태로 하우징(202)을 지지하도록 구성된다. 바코드 판독기(102)는 카운터 톱에 배치될 때 고정 워크스테이션으로서 핸즈프리 모드로 사용될 수 있다. 바코드 판독기(102)는 또한 카운터 톱에서 수거되어 조작자의 손에 쥐어질 때 핸드헬드 모드로 사용될 수 있다. 핸즈프리 모드에서, 제품은 윈도우(208)로 슬라이드되거나, 스쳐 지나가거나, 제시될 수 있다. 핸드헬드 모드에서, 바코드 판독기(102)는 제품 상의 바코드를 향하여 이동될 수 있고, 트리거(210)는 바코드의 이미징을 개시하기 위하여 수동으로 눌러질 수 있다. 일부 구현에서, 베이스(212)는 생략될 수 있고, 하우징(202)은 또한 다른 핸드헬드 형상일 수 있다. 다른 구현은 단지 핸드헬드 또는 단지 핸즈프리 구성만을 제공할 수 있다.
도 3은 일부 실시예에 따른 바코드 판독기(102)의 일부의 블록 개략도를 도시한다. 도 3은 실제 비율에 따라 그려지지 않았음이 이해되어야 한다. 도 3을 참조하면, 이미징 어셈블리는 판독기(102) 내의 인쇄 회로 기판(PCB; Printed Circuit Board)(216)에 동작 가능하게 결합되거나 그 위에 탑재된 광 검출 센서 또는 이미지 센서(211)를 포함한다. 실시예에서, 이미지 센서(211)는, 예를 들어 CCD 또는 CMOS 이미저와 같은, 단일 행으로 배열된 주소 지정 가능 이미지 센서 또는 픽셀의 일차원 어레이 또는 서로 직교하는 행과 열로 배열된 주소 지정 가능 이미지 센서 또는 픽셀의 이차원 어레이를 갖고, 윈도우(208)를 통해 이미징 축(217)을 따라 시야(field of view)에 걸쳐 이미징 렌즈 어셈블리(215)에 의해 캡처된 귀환광을 검출하도록 동작하는, 솔리드 스테이트 디바이스이다. 귀환광은 시야에 걸쳐 타겟(213)으로부터 산란 및/또는 반사된다. 이미징 렌즈 어셈블리(215)는 타겟(213)이 판독될 수 있도록 이미지 센서의 어레이에 귀환광을 포커싱하도록 동작한다. 타겟(213)은 가까운 작동 거리(WD1)와 먼 작동 거리(WD2) 사이의 작동 거리 범위 내의 어느 곳에나 위치될 수 있다. 바람직한 실시예에서, WD1은 윈도우(208)로부터 약 1/2 인치이고, WD2는 윈도우(208)로부터 약 30 인치이다.
이미징 판독기(102)에는 또한 조명 광 어셈블리가 탑재된다. 조명 광 어셈블리는, 적어도 하나의 발광 다이오드(LED)(219)와 같은 조명 광원 및 적어도 하나의 조명 렌즈(221), 그리고 바람직하게는 이미지 캡처에 의해 판독될 타겟(213) 상에 그리고 이를 따라 조명 광의 실질적으로 균일한 분산된 조명 패턴을 생성하도록 구성된 복수의 조명 LED 및 조명 렌즈를 포함한다. 산란 및/또는 반사된 귀환광의 적어도 일부는 타겟(213) 상의 그리고 이를 따른 광의 조명 패턴으로부터 파생된다.
조준 광 어셈블리가 또한 이미징 판독기(102)에 탑재되고 바람직하게는 조준 광원(223)(예를 들어, 하나 이상의 조준 LED) 및 가시 조준 광 빔을 판독기(102)로부터 떨어져 심볼(213) 상에 생성하고 지향시키기 위한 조준 렌즈(225)를 포함한다. 조준 광 빔은 조작자가 이미지 캡처 전에 시야 내에서 심볼(213)을 시각적으로 찾는 것을 돕기 위해, 패턴을 갖는 단면, 예를 들어, 심볼(213)의 중심에의 배치를 위한 일반적으로 원형의 점 또는 십자선, 또는 심볼(213)을 가로지르는 배치를 위한 라인, 또는 시야의 경계를 이루기 위한 테두리 선의 세트를 갖는다. 클라이언트 컴퓨팅 디바이스(104)는 또한 클라이언트 컴퓨팅 디바이스(104)와 통신하기 위하여, 블루투스® 트랜시버와 같은 무선 근거리 트랜시버(230), 및/또는 범용 직렬 버스(USB)와 같은 하드와이어 통신 포트(231)를 포함하는 다양한 통신 컴포넌트를 포함한다.
도 3에도 도시된 바와 같이, 이미지 센서(211), 조명 LED(219), 조준 LED(223), 근거리 트랜시버(230) 및 통신 포트(231)는 이들 컴포넌트의 동작을 제어하도록 동작하는 컨트롤러 또는 프로그래밍된 마이크로프로세서(227)에 동작 가능하게 연결된다. 메모리(229)는 컨트롤러(227)에 연결되고 액세스 가능하다. 바람직하게는, 마이크로프로세서(227)는 타겟(213)과 관련된 데이터를 획득하기 위해 조명된 타겟(213)으로부터의 캡처된 귀환광을 처리하는 데 사용되는 것과 동일하다. 보다 구체적으로, 마이크로프로세서(227)는 타겟(213)과 관련된 데이터를 획득하기 위해 클라이언트 컴퓨팅 디바이스의 디스플레이 스크린 상에 디스플레이된 조명된 타겟(213)으로부터 캡처된 귀환 또는 방출된 광을 처리하는 것은 물론, 근거리 트랜시버(230) 및/또는 통신 포트(231)를 통해 클라이언트 컴퓨팅 디바이스(104)의 하나 이상의 대응하는 트랜시버와 통신하는 것을 포함하여, 클라이언트 컴퓨팅 디바이스(104)와 통신하는 데 사용되는 것과 동일하다. 도 2 및 3에서의 바코드 판독기(102)의 개시 내용은 도 1의 바코드 판독기(103), 그리고 시스템(100) 내의 임의의 다른 바코드 판독기에 동일하게 적용될 수 있다.
도 4는 본 명세서에서 설명된 실시예에서의 바코드 판독기(102, 103)와의 통신 링크를 설정하고 바코드 판독기(102, 103)에 피처를 업로드하기 전의 인증을 위한 클라이언트 컴퓨팅 디바이스(104)의 제어의 순서도이다. 다음의 개시는 바코드 판독기(102)만을 참조하지만, 이러한 개시는 바코드 판독기(103) 또는 시스템(100) 내의 임의의 다른 바코드 판독기에 동일하게 적용될 수 있음이 이해될 것이다. 일반적으로 말하면, 클라이언트 컴퓨팅 디바이스(104)는 클라이언트 컴퓨팅 디바이스(104)가 애플리케이션, 업데이트 등과 같은 피처를 그로부터 다운로드하도록 인가된 디바이스임을 검증하기 위해 바코드 판독기(102)에 의해 판독되는 페어링 바코드를 생성한다. 페어링 바코드가 검증되고 클라이언트 컴퓨팅 디바이스(104)가 인가된 디바이스로서 검증되면, 바코드 판독기(102) 및 클라이언트 컴퓨팅 디바이스(104)는, 근거리 트랜시버(116, 230) 또는 통신 포트(114, 231)(및 대응하는 트랜시버)와 연관된 통신 프로토콜과 같은, 클라이언트 컴퓨팅 디바이스(104)로부터 피처를 다운로드하기에 적합한 통신 프로토콜을 통해 통신 링크를 설정한다.
이제 도 4의 순서도로 돌아가면, 피처가 바코드 판독기(102)에 업로드될 때, 바코드 판독기(102)에 피처를 업로드하도록 인가된 클라이언트 컴퓨팅 디바이스(104)는 그 이미지가 바코드 판독기(102)에 의한 스캐닝을 위해 디스플레이(110) 상에 생성되는 페어링 바코드를 생성한다. 블록(302)에서 시작하면, 애플리케이션 또는 다른 피처가 바코드 판독기(102)에 업로드될 준비가 되면, 클라이언트 컴퓨팅 디바이스(104)는 피처를 업로드하는 데 사용될 트랜시버에 대해 고유한 통신 파라미터로부터 해시 값을 생성하기 위해 해시 함수를 이용한다. 예를 들어, 피처가 블루투스®와 같은 근거리 통신을 사용하여 업로드되는 경우, 클라이언트 컴퓨팅 디바이스(104)는 근거리 트랜시버(116)를 고유하게 식별하는 매체 액세스 제어(MAC) 주소로부터 해시 값을 생성하기 위해 해시 함수를 사용한다. 바코드가 디스플레이(110) 상에 생성될 때, 바코드는 바코드를 디스플레이하는 클라이언트 컴퓨팅 디바이스(104)의 트랜시버에 대해 고유한 암호화되지 않은 통신 파라미터(예를 들어, 평문 MAC 주소)뿐만 아니라 해시 값을 인코딩할 것이다. 따라서, 바코드 판독기(102)는 바코드로부터 암호화되지 않은 통신 파라미터를 판독하고 그것의 해시 값을 바코드에 인코딩된 해시 값과 비교함으로써 그것이 변조되었는지 여부를 결정할 수 있을 것이다. 통신 파라미터의 작은 일부라도 해시 값을 생성하는 데 사용된 것과 상이한 경우, 통신 파라미터는 유효하지 않은 것으로 간주된다. 예를 들어, 바코드 판독기(102)는 각각이 그것의 MAC 주소에 의해 식별되는 인가된 클라이언트 컴퓨팅 디바이스로부터의 업로드만을 수락할 수 있다. 인가되지 않은 클라이언트 컴퓨팅 디바이스가 인가된 클라이언트 컴퓨팅 디바이스의 MAC 주소를 "스푸핑(spoof) "하려고 시도하는 경우, (바코드 판독기(102)에 의해 알려진) 인가된 클라이언트 컴퓨팅 디바이스의 MAC 주소의 해시 값은 스푸핑된 MAC 주소의 해시 값에 대응하지 않을 것이다. 또다른 예로서, 바코드 판독기(102)는 MAC 주소가 변조되지 않았음을 검증하기 위해 바코드에 인코딩된 평문 MAC 주소를 바코드에 인코딩된 해시 값과 비교한다.
클라이언트 컴퓨팅 디바이스의 트랜시버에 대해 고유한 통신 파라미터로부터 해시 값을 생성하는 것 외에도, 클라이언트 컴퓨팅 디바이스는 블록(304)에서 해시 값에 디지털 방식으로 서명하기 위해 서명 알고리즘을 사용한다. 특히, 인가된 클라이언트 컴퓨팅 디바이스는, 인가된 클라이언트 컴퓨팅 디바이스가 공개 키를 바코드 판독기에 배포하고, 대응하는 개인 키를 보유하는, 개인-공개 키 쌍을 사용하는 비대칭 암호화를 이용한다. 따라서 바코드 판독기는 클라이언트 컴퓨팅 디바이스 상에 디스플레이된 바코드의 진위를 그것의 대응하는 공개 키를 사용하여 수락하거나 거부할 수 있다. 실시예에서, 개인 키는 해시 값뿐만 아니라 암호화되지 않은 통신 파라미터(예를 들어, 평문 MAC 주소)에 디지털 방식으로 서명하는 데에도 사용된다.
블록(306)에서, 클라이언트 컴퓨팅 디바이스는 디지털 방식으로 서명된 해시 값 및 암호화되지 않은 통신 파라미터(디지털 방식으로 서명되었거나 서명되지 않았는지 여부에 관계 없이)를 바코드 심볼 내로 인코딩한다. 실시예에서, 바코드 심볼은 이차원 또는 삼차원 바코드 심볼이며, 이는 일차원 바코드가 허용하는 것보다 더 많은 정보가 인코딩될 수 있도록 허용한다. 디지털 서명은 다소 큰 경향이 있음을 고려하면, 이차원 또는 삼차원 바코드 심볼이 이용되는 것이 바람직하다. 바코드 심볼의 그래픽 또는 이미지가 그 다음에 바코드 판독기(102)에 의한 스캐닝을 위해 블록(308)에서 클라이언트 컴퓨팅 디바이스에 의해 디스플레이(110) 상에 생성된다. 실시예에서, 바코드 심볼의 이미지는 바코드 판독기(102)에 피처를 업로드할 준비가 되었을 때 클라이언트 컴퓨팅 디바이스의 사용자에 의한 프롬프트에 의해서만 생성될 수 있다.
그 후, 클라이언트 컴퓨팅 디바이스, 그리고 보다 구체적으로, 피처를 업로드하기 위한 단거리 통신 트랜시버(예를 들어, 통신 포트(114)를 위한 트랜시버 또는 근거리 트랜시버(116))는 블록(310)에서 클라이언트 컴퓨팅 디바이스(104)의 디스플레이(110) 상에 생성된 바코드 심볼을 스캔한 바코드 판독기로부터의 신호를 능동적으로 청취한다. 실시예에서, 신호는 클라이언트 컴퓨팅 디바이스의 트랜시버와 바코드 판독기(102)의 대응하는 트랜시버 사이에 통신 링크를 설정하라는 요청과 함께, 바코드 심볼로부터의 클라이언트 컴퓨팅 디바이스의 통신 파라미터(예를 들어, MAC 주소)를 포함한다. 신호를 수신하는 것에 응답하여, 클라이언트 컴퓨팅 디바이스의 단거리 통신 트랜시버와 바코드 판독기의 단거리 트랜시버는 트랜시버의 단거리 통신 프로토콜(예를 들어, 블루투스®)을 사용하여 통신 링크(예를 들어, 양방향 통신 링크)를 설정한다. 신호가 클라이언트 컴퓨팅 디바이스에 의해 수신되면, 클라이언트 컴퓨팅 디바이스는 블록(312)에서 바코드 판독기와의 통신 링크를 설정하고, 블록(314)에서 바코드 판독기에 피처를 업로드한다.
일부 예에서는, 바코드 판독기가 시스템(100) 내에서 처음 활성화될 때와 같이, 바코드 판독기에 아직 공개 키가 제공되어 있지 않다. 이러한 경우에, 아래에서 더 설명될 바와 같이, 클라이언트 컴퓨팅 디바이스는 블록(316)에서 공개 키에 대한 바코드 판독기로부터의 요청을 수신할 수 있다. 개인 키가 이미 생성되었고 클라이언트 컴퓨팅 디바이스에 (대응하는 공개 키와 함께) 존재한다면, 클라이언트 컴퓨팅 디바이스는 블록(318)에서 공개 키를 바코드 판독기에 전송하고, 이는 클라이언트 컴퓨팅 디바이스로부터의 피처의 임의의 추가 다운로드와 연관된 바코드의 개인 키 서명을 인증하는 데 사용될 것이다.
도 5는 본 명세서에서 설명된 실시예에서의 바코드 판독기(102)에 피처를 다운로드하기 위한 바코드 판독기(102)의 제어의 순서도이다. 이제 도 5의 순서도로 넘어가면, 클라이언트 컴퓨팅 디바이스(104)가 통신 파라미터, 통신 파라미터의 해시 값 및 개인 키 서명을 포함하는 인증 데이터를 인코딩하는 심볼의 이미지를 디스플레이(110) 상에 생성할 때, 바코드 판독기(102)의 이미지 센서(211)는 블록(402)에서 심볼의 이미지를 캡처한다. 이 경우 바코드 판독기(102)에 대한 타겟(213)은 클라이언트 컴퓨팅 디바이스(104) 상에 디스플레이된 심볼이다. 조준 LED(223)는 바코드 판독기(102)가 타겟(213)에 조준될 수 있도록 활성화되고, 조명 LED(219)는 타겟(213)을 조명하기 위해 활성화된다. 그 다음에 이미지 센서(211)는 타겟(213)의 이미지를 캡처한다.
블록(404)에서, 컨트롤러(227)는 이미지 센서(211)에 의해 캡처된 심볼의 이미지를 디코딩하기 위해 클라이언트 컴퓨팅 디바이스(104) 상에 디스플레이된 심볼의 심볼로지 유형에 대응하는 메모리(229) 내에 저장된 디코딩 알고리즘을 이용한다. 특히, 심볼 내에 인코딩된 인증 데이터를 디코딩하기 위해 심볼의 이미지가 디코딩된다. 위에서 언급한 바와 같이, 인증 데이터는 디코딩되면, 피처를 다운로드하기 위한 클라이언트 컴퓨팅 디바이스의 트랜시버를 고유하게 식별하는 통신 파라미터(예를 들어, 블루투스® 트랜시버의 MAC 주소), 통신 파라미터를 해싱한 것으로부터의 해시 값, 및 개인 키로 생성된 서명을 포함한다.
초기의 문제로서, 컨트롤러(227)는 블록(406)에서 서명의 진위를 확인하기 위한 공개 키가 바코드 판독기(102)에 제공되었는지 여부를 살피기 위해 그것의 메모리(229)를 확인한다. 공개 키가 메모리(229) 내에 저장되어 있는 경우, 컨트롤러(227)는 블록(408)에서 심볼 내에 인코딩된 인증 데이터를 인증하도록 진행한다. 반면에, 공개 키가 메모리(229) 내에 존재하지 않는 경우, 컨트롤러(227)는 블록(414)에서 인증 프로세스를 우회하고 클라이언트 컴퓨팅 디바이스(104)와의 통신 링크를 설정할 수 있으며, 이 때 그것은 심볼에 제공된 암호화되지 않은 통신 파라미터를 사용하여 근거리 트랜시버(116) 또는 통신 포트(114)를 통해 클라이언트 컴퓨팅 디바이스(104)에 표시를 생성하고 전송할 수 있다. 이러한 경우는 바코드 판독기(102)가 시스템(100) 내로의 도입을 위해 고객에 의해 처음 권한을 받을 때 발생할 수 있다. 표시는 공개/개인 키 쌍을 생성하기 위해 및/또는 그 개인 키에 대응하는 공개 키를 바코드 판독기(102)에 전송하기 위해 클라이언트 통신 디바이스(104)에 대한 프롬프트로서 제공된다. 실시예에서, 클라이언트 통신 디바이스(104)는 그것의 메모리(108) 내에 저장되고 무작위 개인 키 및 대응하는 공개 키를 생성하기 위해 그것의 프로세서(106)에 의해 실행되는 키 생성 알고리즘을 갖는다. 바코드 판독기(102)에 공개 키가 제공되면, 클라이언트 컴퓨팅 디바이스로부터의 향후의 다운로드가, 바코드 판독기(102)의 공장 세팅으로의 리셋 후에도, 공개 키를 사용하여 인증되도록, 바코드 판독기(102)는 공개 키를 (메모리(229), 메모리(229)의 파티션 또는 별도의 메모리일 수 있는) 영구적 메모리에 저장한다.
블록(408)을 다시 참조하면, 컨트롤러(227)는 심볼 내에 인코딩된 클라이언트 컴퓨팅 디바이스(104)의 트랜시버에 대해 고유한 통신 파라미터가 심볼 내에 인코딩된 해시 값에 대응함을 검증한다. 예를 들어, 바코드 판독기(102)는 암호화되지 않은 통신 파라미터를 그것의 해시 값에 매핑하고, 매핑된 해시 값이 심볼 내에 인코딩된 것과 동일한지 여부를 결정한다. 위에서 언급한 바와 같이, MAC 주소와 같은 통신 파라미터가 손상되면 심볼에 제공된 것과 상이한 해시 값의 결과를 낳는다. 따라서, 바코드 판독기(102)는 클라이언트 컴퓨팅 디바이스가 그로부터 피처를 다운로드하도록 인가된 클라이언트 컴퓨팅 디바이스임을, 그리고 피처가 바코드 판독기(102)에 다운로드되도록 인가된 것임을 검증한다.
블록(410)에서, 컨트롤러(227)는 인증 데이터의 디지털 서명이 메모리(229) 내에 저장된 공개 키에 대응하는 개인 키로 이루어졌음을 검증한다. 예를 들어, 컨트롤러(227)는, 인증 데이터, 공개 키 및 서명이 주어지면, 인증 데이터의 진위를 수락하거나 거부하는 서명 검증 알고리즘을 실행할 수 있다. 블록(408, 410)에서의 인증 단계 중 어느 하나가 실패하면, 컨트롤러(227)는 블록(412)에서 에러를 출력할 수 있으며, 이는 심볼이 인증되지 않았다는 시각 또는 오디오 신호에 대응할 수 있다. 블록(412)에서의 에러는 컨트롤러(102)가 근거리 트랜시버(230) 및/또는 통신 포트(231)가 클라이언트 컴퓨팅 디바이스(104)의 대응하는 트랜시버와의 통신 링크를 설정하는 것을 막도록 하는 결과를 낳는다. 반면에, 블록(408, 410)에서의 인증 프로세스가 성공적인 경우, 컨트롤러(227)는 심볼 내에 인코딩된 암호화되지 않은 통신 파라미터의 트랜시버에 대응하는 트랜시버를 활성화하고, 바코드 판독기(102)는 근거리 트랜시버(230)를 통해, 또는 하드와이어 통신(예를 들어, USB 케이블)을 통해 연결된 경우 통신 포트(231)를 통해 클라이언트 컴퓨팅 디바이스(104)로부터 피처를 다운로드한다. 피처가 바코드 판독기(102)에 다운로드되면, 컨트롤러(227)는 메모리(229)에 피처를 설치하고 활성화한다. 그 후, 바코드 판독기(102)는 피처를 이용할 수 있다.
전술한 명세서에서, 특정 실시예가 설명되었다. 그러나, 본 기술분야의 통상의 기술자는 아래의 청구범위에 기재된 바와 같은 발명의 범위를 벗어나지 않고 다양한 수정 및 변경이 이루어질 수 있음을 이해한다. 따라서, 명세서 및 도면은 제한적인 의미보다는 예시적인 것으로 간주되어야 하며, 이러한 모든 수정은 본 교시의 범위 내에 포함되도록 의도된다.
이점, 장점, 문제에 대한 해결책, 그리고 임의의 이점, 장점 또는 해결책이 발생하거나 더 현저해지도록 야기할 수 있는 임의의 구성요소(들)는 임의의 또는 모든 청구항의 중요한, 필수의 또는 본질적인 특징 또는 구성요소로 해석되어서는 안된다. 본 발명은 본 출원의 계류 동안 이루어지는 임의의 보정 및 발행된 청구범위의 모든 등가물을 포함하여 첨부된 청구범위에 의해서만 정의된다.
더욱이 본 문서에서, 제1 및 제2, 상부 및 하부 등의 상관적인 용어는, 하나의 엔티티 또는 동작을 또다른 엔티티 또는 동작과 구별하기 위해서만, 그러한 엔티티 또는 동작 간의 임의의 실질적인 그러한 관계 또는 순서를 반드시 요구하거나 암시하는 것 없이, 사용될 수 있다. 용어 "구성되다(comprises)", "구성되는(comprising)", "갖다(has)", "갖는(having)", "포함하다(includes)", "포함하는(including)", "함유하다(contains)", "함유하는(containing)" 또는 이들의 임의의 다른 변형은, 비배타적 포괄을 다루도록 의도되어, 구성요소의 목록으로 구성되고, 이를 갖고, 포함하고, 함유하는 프로세스, 방법, 물건 또는 장치는 그러한 구성요소만을 포함하는 것이 아니라 명시적으로 나열되지 않거나 그러한 프로세스, 방법, 물건 또는 장치에 대해 고유한 다른 구성요소를 포함할 수 있다. "...로 구성되다", "...을 갖다", "...을 포함하다", "...을 함유하다"로 이어지는 구성요소는, 더 이상의 제약 없이도, 구성요소로 구성되고, 이를 갖고, 포함하고, 함유하는 프로세스, 방법, 물건 또는 장치 내 추가적인 동일한 구성요소의 존재를 배제하지 않는다. 단수 표현 용어("a" 및 "an")는 본 명세서에서 명시적으로 달리 언급되지 않는 한 하나 이상으로 정의된다. 용어 "실질적으로(substantially)", "본질적으로(essentially)", "대략적으로(approximately)", "약(about)" 또는 이의 임의의 다른 버전은 본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이 가까운 것으로 정의되고, 하나의 비제한적인 실시예에서 용어는 10% 이내, 또다른 실시예에서는 5% 이내, 또다른 실시예에서는 1% 이내 그리고 또다른 실시예에서는 0.5% 이내인 것으로 정의된다. 본 명세서에서 사용된 용어 "결합된(coupled)"은, 비록 반드시 직접적으로 그리고 반드시 기계적으로가 아닐지라도, 연결된(connected) 것으로 정의된다. 특정 방식으로 "구성된(configured)" 디바이스 또는 구조는 적어도 그러한 방식으로 구성되지만, 나열되지 않은 방식으로 구성될 수도 있다.
일부 실시예는 마이크로프로세서, 디지털 신호 프로세서, 맞춤형 프로세서 및 필드 프로그램 가능 게이트 어레이(FPGA; field programmable gate array)와 같은 하나 이상의 일반 또는 특수 프로세서(또는 "프로세싱 디바이스")와, 하나 이상의 프로세서가, 특정 비프로세서 회로와 함께, 본 명세서에서 설명된 방법 및/또는 장치의 기능의 일부, 대부분 또는 전부를 구현하도록 제어하는 고유한 저장된 프로그램 명령어(소프트웨어 및 펌웨어 모두를 포함)로 구성될 수 있음이 이해될 것이다. 대안적으로, 기능의 일부 또는 전부는 저장된 프로그램 명령어가 없는 상태 머신에 의해, 또는 하나 이상의 애플리케이션 특정 집적 회로(ASIC; application specific integrated circuit)로 구현될 수 있으며, 여기서 각각의 기능 또는 특정 기능의 일부 조합은 사용자 정의 로직(custom logic)으로서 구현된다. 물론, 두 접근 방식의 조합이 사용될 수 있다.
더욱이, 실시예는 본 명세서에서 설명되고 청구된 방법을 수행하기 위해 컴퓨터(예를 들어, 프로세서를 포함함)를 프로그래밍하기 위한 컴퓨터 판독 가능 코드가 저장된 컴퓨터 판독 가능 저장 매체로서 구현될 수 있다. 이러한 컴퓨터 판독 가능 저장 매체의 예는 하드 디스크, CD-ROM, 광학 저장 디바이스, 자기 저장 디바이스, ROM(Read Only Memory), PROM(Programmable Read Only Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read Only Memory) 및 플래시 메모리를 포함하지만 이에 제한되지 않는다. 또한, 예를 들어 가용 시간, 현재의 기술 및 경제적 고려 사항에 의해 동기가 부여된 아마도 상당한 노력과 많은 설계 선택에도 불구하고, 본 명세서에 개시된 개념 및 원리에 의해 안내되는 경우 통상의 기술자는 최소한의 실험으로 그러한 소프트웨어 명령어 및 프로그램 및 IC를 용이하게 생성할 수 있을 것으로 예상된다.
본 개시의 요약은 독자가 기술적 개시의 본질을 빠르게 확인할 수 있도록 제공된다. 그것은 그것이 청구범위의 범위 또는 의미를 해석하거나 제한하는 데 사용되지 않을 것이라는 이해와 함께 제출된다. 또한, 전술한 상세한 설명에서, 개시를 간소화하기 위한 목적으로 다양한 실시예에서 다양한 특징이 함께 그룹화됨을 알 수 있다. 이러한 개시 방법은 청구된 실시예가 각각의 청구항에서 명시적으로 인용된 것보다 더 많은 특징을 필요로 한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 다음의 청구범위가 반영하는 바와 같이, 발명의 주제는 하나의 개시된 실시예의 모든 특징보다 적은 것에 있다. 따라서 다음의 청구범위는 이로써 상세한 설명에 통합되며, 각각의 청구항은 별도로 청구된 주제로서 그 자체로 존재한다.

Claims (18)

  1. 이미지 스캐닝 장치로서,
    윈도우를 갖는 하우징;
    상기 하우징 내에 위치된 이미징 어셈블리 - 상기 이미징 어셈블리는 이미지 센서, 및 상기 윈도우를 통해 연장되는 시야(FOV; field-of-view)를 갖고, 상기 이미지 센서는 심볼로부터 반사된 광 및 상기 심볼로부터 방출된 광 중 적어도 하나를 캡처하도록 적응됨 -;
    상기 하우징 내에 위치된 제1 통신 트랜시버 - 상기 제1 통신 트랜시버는 통신 프로토콜을 통해 전자 통신을 유지하도록 동작할 수 있음 -; 및
    상기 이미징 어셈블리에 동작 가능하게 결합된 컨트롤러 - 상기 컨트롤러는 프로세서 및 메모리를 가짐 -
    를 포함하고, 상기 컨트롤러는:
    상기 이미지 센서에 의해 캡처된 이미지 내에 캡처된 심볼을 디코딩하고 - 상기 심볼은 (i) 클라이언트 컴퓨팅 디바이스 상의 제2 통신 트랜시버와 관련된 암호화되지 않은 제1 통신 파라미터 및 (ii) 제2 통신 파라미터의 해시를 포함하는 인코딩된 데이터를 포함하고, (i) 상기 제2 통신 파라미터의 상기 해시는 개인 암호화 키로 서명되고, (ii) 상기 심볼은 상기 클라이언트 컴퓨팅 디바이스의 디스플레이 상에 렌더링되고, (iii) 상기 제2 통신 파라미터는 인가된 통신 트랜시버를 고유하게 식별하는 식별 데이터를 포함함 -,
    상기 제1 통신 파라미터가 상기 제2 통신 파라미터의 상기 해시에 대응하는지 여부, 및 상기 서명이 상기 메모리 내에 저장된 공개 키에 대응하는지 여부를 검증하고,
    상기 제1 통신 파라미터가 상기 제2 통신 파라미터의 상기 해시에 대응하고, 상기 서명이 상기 메모리 내에 저장된 상기 공개 키에 대응하는 것에 응답하여, 상기 제1 통신 트랜시버가 상기 통신 프로토콜을 통해 상기 제2 통신 트랜시버와 전자 통신을 설정할 수 있게 하고,
    상기 제1 통신 트랜시버가 상기 전자 통신을 설정할 수 있게 하는 것에 응답하여 상기 통신 프로토콜을 통해 상기 클라이언트 컴퓨팅 디바이스로부터 상기 메모리 내로 피처를 다운로드하도록
    적응되는, 이미지 스캐닝 장치.
  2. 제1항에 있어서,
    상기 제1 통신 파라미터가 상기 제2 통신 파라미터의 상기 해시에 대응하고, 상기 서명이 상기 메모리 내에 저장된 상기 공개 키에 대응하는 것에 응답하여, 상기 컨트롤러는 상기 제1 통신 트랜시버에게, 상기 통신 프로토콜을 통해, (i) 상기 제1 통신 트랜시버를 고유하게 식별하는 식별 데이터 및 (ii) 상기 제2 통신 트랜시버와의 통신 링크를 설정하라는 요청을 포함하는 신호를 전송하도록 지시하는, 이미징 스캐닝 장치.
  3. 제1항에 있어서,
    상기 제1 및 제2 통신 트랜시버 각각은 단거리 무선 통신 트랜시버를 포함하고, 상기 통신 프로토콜은 단거리 무선 통신 프로토콜을 포함하는, 이미징 스캐닝 장치.
  4. 제1항에 있어서,
    상기 심볼은 (i) 이차원 바코드 및 (ii) 삼차원 바코드 중 적어도 하나를 포함하는, 이미징 스캐닝 장치.
  5. 제1항에 있어서,
    상기 컨트롤러는 또한:
    상기 메모리에 상기 공개 키에 대해 질의(query)하고;
    상기 공개 키가 상기 메모리 내에 저장되어 있지 않은 것에 응답하여 상기 제1 통신 트랜시버가 상기 통신 프로토콜을 통해 상기 제2 통신 트랜시버와 전자 통신을 설정할 수 있게 하고;
    상기 공개 키가 메모리 내에 저장되어 있는 것에 응답하여 상기 제1 통신 파라미터가 상기 제2 통신 파라미터의 상기 해시에 대응하는지 여부, 및 상기 서명이 상기 메모리 내에 저장된 공개 키에 대응하는지 여부를 검증하도록
    적응되는, 이미지 스캐닝 장치.
  6. 제5항에 있어서,
    상기 메모리는 영구적 메모리를 포함하고, 상기 컨트롤러는 또한 상기 공개 키가 상기 영구적 메모리 내에 저장되어 있지 않은 것에 응답하여 상기 통신 프로토콜을 통해 상기 클라이언트 컴퓨팅 디바이스로부터 상기 영구적 메모리 내로 상기 공개 키를 다운로드하도록 적응되는, 이미지 스캐닝 장치.
  7. 제1항에 있어서,
    상기 제1 통신 파라미터는 상기 제2 통신 트랜시버를 고유하게 식별하는 매체 액세스 제어(MAC) 주소를 포함하고, 상기 제2 통신 파라미터는 인가된 통신 트랜시버를 고유하게 식별하는 MAC 주소를 포함하는, 이미지 스캐닝 장치.
  8. 클라이언트 컴퓨팅 디바이스로서,
    하우징;
    상기 하우징 내에 위치된 디스플레이;
    상기 하우징 내에 위치된 제1 통신 트랜시버 - 상기 제1 통신 트랜시버는 통신 프로토콜을 통해 전자 통신을 유지하도록 동작할 수 있음 -;
    상기 제1 통신 트랜시버 및 상기 디스플레이에 동작 가능하게 결합된 컨트롤러 - 상기 컨트롤러는 프로세서 및 메모리를 가짐 -
    를 포함하고, 상기 컨트롤러는:
    상기 제1 통신 트랜시버와 관련된 통신 파라미터를 해싱하고 - 상기 통신 파라미터는 상기 제1 통신 트랜시버를 고유하게 식별하는 식별 데이터를 포함함 -;
    개인 암호화 키를 사용하여, 해싱된 상기 통신 파라미터에 디지털 방식으로 서명하고;
    상기 디스플레이 상에 심볼의 이미지를 생성하도록 - 상기 심볼은 (i) 해싱되지 않은 상기 통신 파라미터, (ii) 해싱된 상기 통신 파라미터, 및 (iii) 해싱된 상기 통신 파라미터의 상기 디지털 서명을 포함하는 인코딩된 데이터를 포함함 - 적응되며,
    상기 제1 통신 트랜시버는 (i) 상기 제1 통신 트랜시버를 고유하게 식별하는 식별 데이터 및 (ii) 상기 제1 통신 트랜시버와의 통신 링크를 설정하라는 요청을 포함하는 신호를 능동적으로 청취하고;
    상기 제1 통신 트랜시버가 상기 신호를 수신하는 것에 응답하여, 상기 제1 통신 트랜시버 및 제2 통신 트랜시버는 상기 통신 링크를 설정하고, 상기 통신 링크는 상기 통신 프로토콜을 통해 발생하는, 클라이언트 컴퓨팅 디바이스.
  9. 제8항에 있어서,
    상기 컨트롤러는 또한 상기 제2 통신 트랜시버와의 상기 통신 링크를 설정하는 것에 응답하여 상기 통신 프로토콜을 통해 상기 메모리로부터 상기 제2 통신 트랜시버에 피처를 업로드하도록 적응되는, 클라이언트 컴퓨팅 디바이스.
  10. 제8항에 있어서,
    상기 컨트롤러는 또한 상기 제2 통신 트랜시버와의 상기 통신 링크를 설정하는 것에 응답하여 상기 통신 프로토콜을 통해 상기 개인 암호화 키에 대응하는 공개 키를 상기 제2 통신 트랜시버에 업로드하도록 적응되는, 클라이언트 컴퓨팅 디바이스.
  11. 제8항에 있어서,
    상기 제1 및 제2 통신 트랜시버 각각은 단거리 무선 통신 트랜시버를 포함하고, 상기 통신 프로토콜은 단거리 무선 통신 프로토콜을 포함하는, 클라이언트 컴퓨팅 디바이스.
  12. 제8항에 있어서,
    상기 심볼은 (i) 이차원 바코드 및 (ii) 삼차원 바코드 중 적어도 하나를 포함하는, 클라이언트 컴퓨팅 디바이스.
  13. 제8항에 있어서,
    상기 통신 파라미터는 상기 제1 통신 트랜시버의 MAC 주소를 포함하는, 클라이언트 컴퓨팅 디바이스.
  14. 시스템으로서,
    클라이언트 컴퓨팅 디바이스; 및
    심볼 판독기
    를 포함하고,
    상기 클라이언트 컴퓨팅 디바이스는:
    클라이언트 컴퓨팅 디바이스 하우징;
    상기 클라이언트 컴퓨팅 디바이스 하우징 내에 위치된 디스플레이;
    상기 클라이언트 컴퓨팅 디바이스 하우징 내에 위치된 제1 통신 트랜시버 - 상기 제1 통신 트랜시버는 통신 프로토콜을 통해 전자 통신을 유지하도록 동작 가능함 -;
    상기 제1 통신 트랜시버 및 상기 디스플레이에 동작 가능하게 결합된 제1 컨트롤러 - 상기 제1 컨트롤러는 상기 제1 통신 트랜시버를 고유하게 식별하는 매체 액세스 제어(MAC) 주소를 해싱하고; 개인 암호화 키를 사용하여, 해싱된 상기 MAC 주소에 디지털 방식으로 서명하고; 해싱되지 않은 상기 MAC 주소, 해싱된 상기 MAC 주소, 및 해싱된 상기 MAC 주소의 상기 디지털 서명을 인코딩하는 심볼의 이미지를 상기 디스플레이 상에 생성하도록 적응됨 -
    를 갖고,
    상기 심볼 판독기는:
    심볼 판독기 하우징;
    적어도 부분적으로 상기 심볼 판독기 하우징 내에 위치되는 이미징 어셈블리 - 상기 이미징 어셈블리는 시야(FOV)를 갖고, 상기 이미징 어셈블리는 심볼 코드와 관련된 이미지 데이터를 캡처하도록 구성됨 -;
    상기 심볼 판독기 하우징 내에 위치되는 제2 통신 트랜시버 - 상기 제2 통신 트랜시버는 상기 통신 프로토콜을 통해 전자 통신을 유지하도록 동작 가능함 -; 및
    상기 제2 통신 트랜시버에 통신 가능하게 결합된 제2 컨트롤러 - 상기 제2 컨트롤러는 메모리 및 프로세서를 가짐 -
    를 갖고,
    상기 이미징 어셈블리가 상기 심볼의 이미지를 캡처하는 것에 응답하여:
    상기 제2 컨트롤러는 상기 메모리에 상기 개인 암호화 키에 대응하는 공개 키에 대해 질의하고;
    상기 공개 키가 상기 메모리 내에 저장되어 있지 않은 것에 응답하여, 상기 제2 컨트롤러는 상기 제2 통신 트랜시버가 상기 제1 통신 트랜시버와 전자 통신을 설정할 수 있게 하고;
    상기 제1 통신 트랜시버와 전자 통신을 설정하는 것에 응답하여, 상기 제1 컨트롤러는 상기 제1 통신 트랜시버가 상기 제2 통신 트랜시버에 상기 개인 암호화 키에 대응하는 상기 공개 키를 전송할 수 있게 하고;
    상기 공개 키가 상기 메모리 내에 저장되어 있는 것에 응답하여, 상기 제2 컨트롤러는 해싱되지 않은 상기 MAC 주소가 상기 MAC 주소의 상기 해시에 대응하는지 여부, 및 상기 서명이 상기 메모리 내에 저장된 상기 공개 키에 대응하는지 여부를 검증하고;
    해싱되지 않은 상기 MAC 주소가 상기 MAC 주소의 상기 해시에 대응하고 상기 서명이 상기 메모리 내에 저장된 상기 공개 키에 대응하는 것에 응답하여, 상기 제2 컨트롤러는 상기 제2 통신 트랜시버에게, 상기 통신 프로토콜을 통해, (i) 상기 제1 통신 트랜시버를 고유하게 식별하는 상기 MAC 주소 및 (ii) 상기 제1 통신 트랜시버와의 통신 링크를 설정하라는 요청의 신호를 전송하도록 지시하고;
    상기 제1 통신 트랜시버는 (i) 상기 제1 통신 트랜시버를 고유하게 식별하는 상기 MAC 주소 및 (ii) 상기 제1 통신 트랜시버와의 상기 통신 링크를 설정하라는 상기 요청을 포함하는 상기 신호를 능동적으로 청취하고;
    상기 제1 통신 트랜시버가 상기 신호를 수신하는 것에 응답하여, 상기 제1 통신 트랜시버 및 상기 제2 통신 트랜시버는 상기 통신 링크를 설정하고, 상기 통신 링크는 상기 통신 프로토콜을 통해 발생하고;
    상기 통신 링크를 설정하는 것에 응답하여, 상기 제2 통신 트랜시버는 상기 통신 프로토콜을 통해 상기 클라이언트 컴퓨팅 디바이스로부터 상기 메모리 내로 피처를 다운로드하는, 시스템.
  15. 제14항에 있어서,
    상기 심볼 판독기는 제1 심볼 판독기를 포함하고, 상기 시스템은 제2 심볼 판독기를 더 포함하고, 상기 제2 심볼 판독기는:
    제2 심볼 판독기 하우징;
    적어도 부분적으로 상기 제2 심볼 판독기 하우징 내에 위치되는 제2 이미징 어셈블리 - 상기 제2 이미징 어셈블리는 시야(FOV)를 갖고, 상기 제2 이미징 어셈블리는 심볼 코드와 관련된 이미지 데이터를 캡처하도록 구성됨 -;
    상기 제2 심볼 판독기 하우징 내에 위치된 제3 통신 트랜시버 - 상기 제3 통신 트랜시버는 상기 통신 프로토콜을 통해 전자 통신을 유지하도록 동작할 수 있음 -; 및
    상기 제2 통신 트랜시버에 통신 가능하게 결합된 제3 컨트롤러 - 상기 제3 컨트롤러는 제2 메모리 및 제2 프로세서를 가짐 -
    를 갖고,
    상기 제2 이미징 어셈블리가 상기 심볼의 이미지를 캡처하는 것에 응답하여:
    상기 제3 컨트롤러는 상기 제2 메모리에 상기 개인 암호화 키에 대응하는 상기 공개 키에 대해 질의하고;
    상기 공개 키가 상기 제2 메모리 내에 저장되어 있지 않은 것에 응답하여, 상기 제3 컨트롤러는 상기 제3 통신 트랜시버가 상기 제1 통신 트랜시버와 전자 통신을 설정할 수 있게 하고;
    상기 제1 통신 트랜시버와 전자 통신을 설정하는 것에 응답하여, 상기 제1 컨트롤러는 상기 제1 통신 트랜시버가 상기 제3 통신 트랜시버에 상기 개인 암호화 키에 대응하는 상기 공개 키를 전송할 수 있게 하고;
    상기 공개 키가 상기 제2 메모리 내에 저장되어 있는 것에 응답하여, 상기 제3 컨트롤러는 해싱되지 않은 상기 MAC 주소가 상기 MAC 주소의 상기 해시에 대응하는지 여부, 및 상기 서명이 상기 제2 메모리 내에 저장된 상기 공개 키에 대응하는지 여부를 검증하고;
    해싱되지 않은 상기 MAC 주소가 상기 MAC 주소의 상기 해시에 대응하고 상기 서명이 상기 제2 메모리 내에 저장된 상기 공개 키에 대응하는 것에 응답하여, 상기 제3 컨트롤러는 상기 제3 통신 트랜시버에게, 상기 통신 프로토콜을 통해, (i) 상기 제1 통신 트랜시버를 고유하게 식별하는 상기 MAC 주소 및 (ii) 상기 제1 통신 트랜시버와의 통신 링크를 설정하라는 요청의 신호를 전송하도록 지시하고;
    상기 제1 통신 트랜시버는 (i) 상기 제1 통신 트랜시버를 고유하게 식별하는 상기 MAC 주소 및 (ii) 상기 제1 통신 트랜시버와의 상기 통신 링크를 설정하라는 상기 요청을 포함하는 상기 신호를 능동적으로 청취하고;
    상기 제1 통신 트랜시버가 상기 신호를 수신하는 것에 응답하여, 상기 제1 통신 트랜시버 및 상기 제3 통신 트랜시버는 상기 통신 링크를 설정하고, 상기 통신 링크는 상기 통신 프로토콜을 통해 발생하고;
    상기 통신 링크를 설정하는 것에 응답하여, 상기 제3 통신 트랜시버는 상기 통신 프로토콜을 통해 상기 클라이언트 컴퓨팅 디바이스로부터 상기 제2 메모리 내로 피처를 다운로드하는, 시스템.
  16. 제15항에 있어서,
    상기 제1 및 제2 통신 트랜시버 각각은 단거리 무선 통신 트랜시버를 포함하고, 상기 통신 프로토콜은 단거리 무선 통신 프로토콜을 포함하는, 시스템.
  17. 제15항에 있어서,
    상기 심볼은 (i) 이차원 바코드 및 (ii) 삼차원 바코드 중 적어도 하나를 포함하는, 시스템.
  18. 제15항에 있어서,
    상기 메모리는 영구적 메모리를 포함하고, 상기 제2 컨트롤러는 또한 상기 공개 키가 상기 영구적 메모리 내에 저장되어 있지 않은 것에 응답하여 상기 통신 프로토콜을 통해 상기 클라이언트 컴퓨팅 디바이스로부터 상기 영구적 메모리 내로 상기 공개 키를 다운로드하도록 적응된, 시스템.
KR1020217018232A 2018-12-17 2019-10-18 바코드 판독기를 클라이언트 컴퓨팅 디바이스에 연결하기 위한 인증 KR102418959B1 (ko)

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 (2)

Publication Number Publication Date
KR20210091267A KR20210091267A (ko) 2021-07-21
KR102418959B1 true KR102418959B1 (ko) 2022-07-07

Family

ID=69844308

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217018232A KR102418959B1 (ko) 2018-12-17 2019-10-18 바코드 판독기를 클라이언트 컴퓨팅 디바이스에 연결하기 위한 인증

Country Status (9)

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

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080296384A1 (en) 2003-11-13 2008-12-04 Anatoly Kotlarsky Hand-supportable digital image capture and processing system having a printed circuit board with a light transmission aperture, through which the field of view (FOV) of the image detection array and visible targeting illumination beam are projected using a FOV-folding mirror
US20110081860A1 (en) 2009-10-02 2011-04-07 Research In Motion Limited Methods and devices for facilitating bluetooth pairing using a camera as a barcode scanner
US20140061306A1 (en) 2012-08-31 2014-03-06 Hand Held Products, Inc. Pairing method for wireless scanner via rfid
US20150350895A1 (en) 2014-06-02 2015-12-03 Blackberry Limited System and method of securing instant messaging sessions

Family Cites Families (23)

* 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
WO2005057863A1 (ja) * 2003-12-12 2005-06-23 Fujitsu Limited データ伝送装置
EP2433246A4 (en) * 2009-05-18 2013-07-03 Mikoh Corp BIOMETRIC IDENTIFICATION PROCEDURES
EP2388730A1 (en) * 2010-05-17 2011-11-23 Nagravision S.A. Method for generating software code
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
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
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 (en) * 2017-12-22 2019-06-26 Mastercard International Incorporated Method and system for trusted notifications
US11423717B2 (en) * 2018-08-01 2022-08-23 The Chamberlain Group Llc Movable barrier operator and transmitter pairing over a network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080296384A1 (en) 2003-11-13 2008-12-04 Anatoly Kotlarsky Hand-supportable digital image capture and processing system having a printed circuit board with a light transmission aperture, through which the field of view (FOV) of the image detection array and visible targeting illumination beam are projected using a FOV-folding mirror
US20110081860A1 (en) 2009-10-02 2011-04-07 Research In Motion Limited Methods and devices for facilitating bluetooth pairing using a camera as a barcode scanner
US20140061306A1 (en) 2012-08-31 2014-03-06 Hand Held Products, Inc. Pairing method for wireless scanner via rfid
US20150350895A1 (en) 2014-06-02 2015-12-03 Blackberry Limited System and method of securing instant messaging sessions

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
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
DE112019006235T5 (de) 2021-09-09
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
US10185859B2 (en) Cluster computing of bar code data
US9443123B2 (en) System and method for indicia verification
KR102418959B1 (ko) 바코드 판독기를 클라이언트 컴퓨팅 디바이스에 연결하기 위한 인증
US20160253127A1 (en) Print Data Retrieval System using Graphical Codes
US10810412B2 (en) Method, system and apparatus for gesture-based configuration of paired scanner
JP2019532389A5 (ko)
US20130100266A1 (en) Method and apparatus for determination of object topology
US20150109643A1 (en) Point-of-sale scanner
EP3171296B1 (en) A method and a scanner for verifying an authenticity of an identity document
US11328145B2 (en) Apparatus and method for updating barcode readers
CN108537078B (zh) 读取装置以及便携式终端
JP6161182B2 (ja) 電子機器を操作するために使用者を認証する方法及びシステム
JP2017188022A (ja) 画像処理装置、画像処理方法及びプログラム
CN113569711A (zh) 认证方法和系统以及计算系统
JP2014235438A (ja) 個人認証方法及び個人認証システム
WO2013020244A1 (en) A system for preventing mistaken delivery destination

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant