KR102107190B1 - Method and system for authenticatiing user and internet of things device using authentication beacon - Google Patents

Method and system for authenticatiing user and internet of things device using authentication beacon Download PDF

Info

Publication number
KR102107190B1
KR102107190B1 KR1020170110558A KR20170110558A KR102107190B1 KR 102107190 B1 KR102107190 B1 KR 102107190B1 KR 1020170110558 A KR1020170110558 A KR 1020170110558A KR 20170110558 A KR20170110558 A KR 20170110558A KR 102107190 B1 KR102107190 B1 KR 102107190B1
Authority
KR
South Korea
Prior art keywords
authentication
user
authentication information
value
information
Prior art date
Application number
KR1020170110558A
Other languages
Korean (ko)
Other versions
KR20190024030A (en
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 (주)이스톰
Priority to KR1020170110558A priority Critical patent/KR102107190B1/en
Priority to US15/801,518 priority patent/US10789591B2/en
Publication of KR20190024030A publication Critical patent/KR20190024030A/en
Application granted granted Critical
Publication of KR102107190B1 publication Critical patent/KR102107190B1/en
Priority to US17/006,267 priority patent/US20200394657A1/en

Links

Images

Classifications

    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

통신 모듈이 탑재되는 IoT(Internet of Things) 기기에 설치되고, 해당 IoT 기기의 인증을 위한 기기 인증 정보를 획득하는 기기 인증 에이전트; 사용자의 모바일 기기에 설치되고, 상기 사용자의 인증을 위한 사용자 인증 정보를 획득하며, 상기 기기 인증 에이전트로부터 수신된 기기 인증 정보와 상기 사용자 인증 정보를 포함하는 인증 요청 메시지를 생성하는 모바일 에이전트; 및 상기 모바일 에이전트로부터 상기 인증 요청 메시지가 수신되는 경우, 상기 인증 요청 메시지에 포함된 기기 인증 정보 및 사용자 인증 정보에 각각 대응되는 검증용 인증 정보를 생성하여 상호간의 일치 여부를 대조함으로써 상기 IoT 기기 및 상기 사용자의 진위 여부를 판별하는 인증 서버를 포함하는 인증 시스템이 제공된다.A device authentication agent installed on an Internet of Things (IoT) device on which a communication module is mounted, and obtaining device authentication information for authentication of the IoT device; A mobile agent installed on a user's mobile device, obtaining user authentication information for authentication of the user, and generating an authentication request message including device authentication information and the user authentication information received from the device authentication agent; And when the authentication request message is received from the mobile agent, the authentication device for verification corresponding to the device authentication information and the user authentication information included in the authentication request message is generated to check whether the IoT devices and An authentication system including an authentication server that determines whether the user is authentic is provided.

Figure R1020170110558
Figure R1020170110558

Description

인증 비콘을 이용하여 사용자 및 IoT 기기를 인증하는 방법 및 시스템{METHOD AND SYSTEM FOR AUTHENTICATIING USER AND INTERNET OF THINGS DEVICE USING AUTHENTICATION BEACON}METHOD AND SYSTEM FOR AUTHENTICATIING USER AND INTERNET OF THINGS DEVICE USING AUTHENTICATION BEACON}

본 발명은 인증 비콘을 이용하여 사용자 및 IoT(Internet of Things) 기기를 인증하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for authenticating a user and an Internet of Things (IoT) device using an authentication beacon.

최근, 상점에서 고객이 결제를 수행하는데 있어서 카드를 사용하지 않고 고객의 스마트폰과 상점 내 위치한 IoT 기기와 클라우드 서비스를 이용하여 사용자의 스마트폰에서 안전하고 편리하게 결제 서비스가 이루어 질 수 있도록 하는 기술이 각광을 받고 있다.Recently, a technology that enables a customer to securely and conveniently make payment services on a user's smartphone by using a customer's smartphone and an IoT device and cloud service located in the store without using a card to perform payment in the store. It is in the limelight.

기존의 카드 거래는 상점(카드 가맹점)에서 고객이 카드를 제시하면 카드리더기와 고객의 카드를 이용하여 거래데이터를 생성하고 그 거래데이터를 카드 발급사에 전송한 후, 카드정보나 거래 내용에 이상이 없을 시 거래를 승인해주는 방식으로 실행되었다. 이는 사용자가 올바른 카드 소지자라는 전제 하에서, 등록된 상점 카드리더기를 통해서 고객의 IC카드로 암호화된 카드거래 정보가 생성되었고, 안전한 폐쇄망을 통해서 카드사로 정보가 중계되는 폐쇄적인 거래승인 구조이다.When a customer presents a card at a store (card merchant), the existing card transaction generates transaction data using the card reader and the customer's card, sends the transaction data to the card issuer, and then the card information or transaction details are abnormal. In the absence of this, it was executed in a way to approve the transaction. This is a closed transaction approval structure in which the card transaction information encrypted with the customer's IC card is generated through the registered store card reader under the premise that the user is the correct card holder, and the information is relayed to the card company through a secure closed network.

또한 스마트폰 등과 같은 모바일 기기와 NFC(Near-Field Communication)와 같은 무선데이터 통신기술이 EMV가 제정한 EMV network Tokenization 스팩과 결합되면서 애플페이나 삼성페이와 같은 모바일 사업자가 모바일에서 임시로 발급된 카드번호를 실제 카드번호로 전환시켜 신용카드 없이도 모바일 기기를 통해서 결제를 수행할 수 있게 되었다. Also, as mobile devices such as smartphones and wireless data communication technologies such as NFC (Near-Field Communication) are combined with the EMV network Tokenization specification established by EMV, mobile operators such as Apple Pay and Samsung Pay are temporarily issued cards on mobile. By converting the number to an actual card number, it is possible to perform payment through a mobile device without a credit card.

그러나 위와 같은 카드 기반의 거래는 상점(가맹점)에 카드거래 수수료를 유발시키기 때문에 돈을 주어야 하는 사람과 받는 사람간에 낮은 비용으로 안전하게 결제를 대체할 수 있도록 하는 다양한 서비스들이 개발되고 있다.However, since the above card-based transaction induces a card transaction fee to a store (merchant), various services have been developed to securely replace payment at a low cost between a person who needs to give money and a recipient.

그럼에도 불구하고 종래의 대체 결제 기술들은 모바일 운영체제와 무관하게 모든 고객 스마트폰에서 사용될 수 있도록 스마트폰 화면을 기반으로 하는 QR 코드나 바코드 기반의 결제기술로서, 사용자가 거래를 위하여 바코드를 화면에 생성하면 상점의 POS(Point of Sales) 기기에서 해당 바코드 값을 읽게 하여 거래를 체결하는 방식이 주를 이루고 있다.Nevertheless, conventional alternative payment technologies are QR code or barcode based payment technology based on the smartphone screen so that they can be used on all customer smartphones regardless of the mobile operating system. The main method is to make a transaction by reading the corresponding barcode value from the point-of-sale (POS) device of the store.

하지만 바코드 기반 결제는 바코드 발급에 따른 고객과 상점 간의 번잡한 코드값 인식 과정이 필요하고, 모바일 기기에서 발급된 바코드가 해커에 의해서 화면을 캡쳐당하는 경우 그 바코드가 발급 유효 시간 내에서 다른 곳에서 도용 될 수 있는 보안상의 허점을 갖고 있다.However, barcode-based payment requires a complicated code value recognition process between the customer and the store according to the issuance of the barcode, and if the barcode issued from the mobile device is captured by a hacker, the barcode is stolen elsewhere within the effective time of issuance. It has potential security holes.

따라서 상점이 고객과의 거래에서 고객의 모바일 기기를 이용하여 편리하면서도 보안성을 갖춘 지불 서비스가 수행될 수 있도록 하는 결제 기술이 필요하다. 또한 최근에 채용되고 있는 기술로서 IoT 기기를 활용하는 거래 및 결제 시스템에 있어서, 사용자의 진위는 물론 IoT 기기의 진위를 인증할 수 있어, 보다 안전한 모바일 거래 및 결제가 가능하도록 하는 신규의 방법이 요구된다.Therefore, there is a need for a payment technology that enables a store to perform a convenient and secure payment service using a customer's mobile device in a transaction with a customer. In addition, in a transaction and payment system that utilizes IoT devices as a recently adopted technology, a new method is required that can authenticate the authenticity of the user as well as the authenticity of the IoT device, enabling more secure mobile transactions and payments. do.

또한 최근에는 모바일 결제 이외에도 IoT 기기와 관련된 다양한 서비스(예를 들어, 출입문 통제, 출결 확인 등)에서 사용자 인증 및 해당 IoT 기기의 인증이 필요한 상황이 존재하는데, 이러한 다양한 서비스들에도 범용적으로 사용 가능한 신규의 인증 방법 및 시스템이 요구된다.In addition, recently, in addition to mobile payment, there are situations in which various services related to IoT devices (for example, door control, attendance confirmation, etc.) require user authentication and authentication of the corresponding IoT device. New authentication methods and systems are required.

본 발명은 인증 비콘을 이용하여 IoT 기기의 진위 여부 및 사용자의 진위 여부를 판별하기 위해 다양한 응용 서비스 분야에서 범용적으로 적용할 수 있는 인증 방법 및 시스템을 제공하기 위한 것이다.The present invention is to provide an authentication method and system that can be universally applied in various application service fields to determine whether an IoT device is authentic and whether a user is authentic using an authentication beacon.

본 발명의 일 측면에 따르면, 통신 모듈이 탑재되는 IoT(Internet of Things) 기기에 설치되고, 해당 IoT 기기의 인증을 위한 기기 인증 정보를 획득하는 기기 인증 에이전트; 사용자의 모바일 기기에 설치되고, 상기 사용자의 인증을 위한 사용자 인증 정보를 획득하며, 상기 기기 인증 에이전트로부터 수신된 기기 인증 정보와 상기 사용자 인증 정보를 포함하는 인증 요청 메시지를 생성하는 모바일 에이전트; 및 상기 모바일 에이전트로부터 상기 인증 요청 메시지가 수신되는 경우, 상기 인증 요청 메시지에 포함된 기기 인증 정보 및 사용자 인증 정보에 각각 대응되는 검증용 인증 정보를 생성하여 상호간의 일치 여부를 대조함으로써 상기 IoT 기기 및 상기 사용자의 진위 여부를 판별하는 인증 서버를 포함하는 인증 시스템이 제공된다.According to an aspect of the present invention, a device authentication agent installed on an Internet of Things (IoT) device on which a communication module is mounted, and obtaining device authentication information for authentication of the IoT device; A mobile agent installed on a user's mobile device, obtaining user authentication information for authenticating the user, and generating an authentication request message including device authentication information and the user authentication information received from the device authentication agent; And when the authentication request message is received from the mobile agent, the authentication device for verification corresponding to the device authentication information and the user authentication information included in the authentication request message is generated to check whether the IoT devices and An authentication system including an authentication server that determines whether the user is authentic is provided.

일 실시예에서, 상기 통신 모듈은 비콘 통신 모듈이고,In one embodiment, the communication module is a beacon communication module,

상기 기기 인증 에이전트는, 해당 IoT 기기의 식별에 사용 가능한 기기 식별 정보 및 상기 기기 인증 정보를 비콘 메시지에 삽입하여 무선 브로드캐스팅(wireless broadcasting)할 수 있다.The device authentication agent may wirelessly broadcast device identification information available for identification of the corresponding IoT device and the device authentication information in a beacon message.

일 실시예에서, 상기 기기 인증 정보는, 상기 비콘 메시지에서 비콘 고유값인 UUID가 삽입되는 데이터 필드 영역에 뒤따르는 메이저(Major) 필드 및 마이너(Minor) 필드 중 적어도 하나에 삽입될 수 있다.In one embodiment, the device authentication information may be inserted in at least one of a major field and a minor field followed by a data field area in which a UUID, a beacon unique value, is inserted in the beacon message.

이때, 상기 기기 인증 정보가 상기 삽입될 필드 영역의 사이즈를 초과하는 경우, 상기 기기 인증 정보는 상기 삽입될 필드 영역의 사이즈를 초과하지 않는 값으로 변환 처리되어 상기 비콘 메시지에 삽입될 수 있다.At this time, when the device authentication information exceeds the size of the field area to be inserted, the device authentication information may be converted into a value that does not exceed the size of the field area to be inserted and inserted into the beacon message.

일 실시예에서, 상기 모바일 에이전트는,In one embodiment, the mobile agent,

특정 애플리케이션 서비스를 실행하는 앱의 구동에 따라 앱 사용자에 관한 인증을 수행하고, 상기 비콘 메시지를 통해서 상기 기기 식별 정보 및 상기 기기 인증 정보가 수신되는 경우, 상기 인증 요청 메시지에 적어도 상기 기기 인증 정보를 포함하되 상기 사용자 인증 정보, 상기 사용자 식별 정보, 상기 기기 식별 정보 중 적어도 하나를 더 포함하여 상기 인증 서버로 전송할 수 있다.When an app user is authenticated according to the driving of an app running a specific application service, and the device identification information and the device authentication information are received through the beacon message, at least the device authentication information is displayed in the authentication request message. It includes but may further include at least one of the user authentication information, the user identification information, the device identification information to be transmitted to the authentication server.

일 실시예에서, 상기 모바일 에이전트는,In one embodiment, the mobile agent,

상기 비콘 메시지의 수신 세기 또는 감도에 기초하여, 상기 IoT 기기와 상기 모바일 기기 간의 거리가 사전 지정된 거리 이내에 있는 것으로 판별되는 경우에 한하여 상기 인증 요청 메시지를 상기 인증 서버로 전송할 수 있다.The authentication request message may be transmitted to the authentication server only when it is determined that the distance between the IoT device and the mobile device is within a predetermined distance based on the reception strength or sensitivity of the beacon message.

일 실시예에서, 상기 모바일 에이전트는,In one embodiment, the mobile agent,

상기 앱 사용자 인증이 완료됨에 따라 획득되는 사용자 토큰을 상기 사용자 인증 정보로서 대체하여 사용하거나, 상기 기기 인증 정보의 수신에 따라 신규로 생성한 사용자 인증값을 상기 사용자 인증 정보로서 사용할 수 있다.The user token obtained when the app user authentication is completed may be used as the user authentication information, or a newly generated user authentication value may be used as the user authentication information upon receipt of the device authentication information.

일 실시예에서, 상기 모바일 에이전트는,In one embodiment, the mobile agent,

상기 앱을 통해 실행되는 애플리케이션 서비스와 관련하여 상기 앱 사용자에 의해 선택된 실행 명령을 상기 인증 요청 메시지에 포함시켜 상기 인증 서버로 전송할 수 있다.An execution command selected by the app user in relation to an application service executed through the app may be included in the authentication request message and transmitted to the authentication server.

일 실시예에서, 상기 인증 서버는,In one embodiment, the authentication server,

상기 인증 요청 메시지가 수신된 경우, 상기 기기 인증 정보 및 상기 사용자 인증 정보에 각각 대응하는 상기 검증용 인증 정보를 생성하고, 상기 검증용 인증 정보와 상기 기기 인증 정보 및 상기 사용자 인증 정보가 모두 일치하는 경우 상기 인증 요청 메시지에 포함된 상기 실행 명령이 실행될 수 있도록 처리하기 위한 명령 메시지를 생성할 수 있다.When the authentication request message is received, the authentication information for verification corresponding to the device authentication information and the user authentication information is generated, and both the authentication information for verification and the device authentication information and the user authentication information match. In this case, a command message for processing to execute the execution command included in the authentication request message may be generated.

일 실시예에서, 상기 인증 서버는,In one embodiment, the authentication server,

상기 검증용 인증 정보를 통한 사용자 인증이 완료된 경우, 인증된 해당 사용자에게 상기 실행 명령에 상응하는 권한이 부여되어 있는지 여부를 확인하고, 권한 확인 결과에 따라 상기 명령 메시지의 생성 여부를 결정할 수 있다.When the user authentication through the authentication information for verification is completed, it is possible to determine whether an authority corresponding to the execution command is granted to the corresponding authenticated user, and determine whether to generate the command message according to the authority verification result.

본 발명의 실시예에 의하면, 인증 비콘을 이용하여 IoT 기기의 진위 여부 및 사용자의 진위 여부를 판별하기 위해 다양한 응용 서비스 분야에서 범용적으로 적용할 수 있는 인증 방법 및 시스템을 제공할 수 있다.According to an embodiment of the present invention, it is possible to provide an authentication method and a system that can be universally applied in various application service fields to determine whether an IoT device is authentic and whether a user is authentic using an authentication beacon.

도 1은 비콘 메시지 송출 기능을 갖는 IoT 기기와 모바일 기기에 설치된 모바일 애플리케이션을 이용하여 사용자 및 IoT 기기에 관한 동시 인증이 가능한 인증 방법 및 시스템을 설명하기 위한 일 실시예의 도면.1 is a diagram of one embodiment for explaining an authentication method and system capable of simultaneously authenticating a user and an IoT device using an IoT device having a beacon message transmission function and a mobile application installed on the mobile device.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The present invention can be applied to various transformations and can have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all conversions, equivalents, and substitutes included in the spirit and scope of the present invention.

본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the present invention, when it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, the numbers (for example, first, second, etc.) used in the description process of the present specification are only identification symbols for distinguishing one component from other components.

또한, 명세서 전체에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Further, in the specification, when one component is referred to as "connected" or "connected" with another component, the one component may be directly connected to the other component, or may be directly connected, but in particular, It should be understood that, as long as there is no objection to the contrary, it may or may be connected via another component in the middle.

또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하나 이상의 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있음을 의미한다. 또한 통상 모바일 앱 개발자들이 표현하는 Push ID는 Push Token을 의미하며, 푸쉬 메시지 서비스는 구글이나 애플사 등과 같은 모바일 운영체제에서 앱 별로 제공하는 메시지 서비스를 의미한다.In addition, throughout the specification, when a part “includes” a certain component, it means that the component may further include other components, not to exclude other components, unless otherwise stated. In addition, terms such as “part” and “module” described in the specification mean a unit that processes at least one function or operation, which means that it can be implemented by one or more hardware or software or a combination of hardware and software. . In addition, Push ID, which is usually expressed by mobile app developers, means Push Token, and push message service means a message service provided for each app in a mobile operating system such as Google or Apple.

본 명세서에서는 모바일 결제 또는 모바일 상거래 케이스를 중심으로 본 발명의 각 실시예를 설명하지만, 이하 각 도면을 통해 설명할 인증 방법 및 시스템은 모바일 기기 및 인증 서버를 이용하여 사용자 및 각종 IoT 기기의 진위 여부를 판별하기 위해 다양한 응용 서비스 분야에서 범용적으로 적용할 수 있는 것임을 먼저 명확히 한다. In the present specification, each embodiment of the present invention will be mainly described with reference to a mobile payment or a mobile commerce case. In order to discriminate, it is first clarified that it can be applied universally in various application service fields.

일 예로, 본 발명이 모바일 결제 또는 상거래 케이스에 적용되는 경우를 가정한다면, 본 명세서 및 도면에서, 'IoT 기기(100)'는 상점 내에 설치되며, 고객의 모바일 기기(예를 들어, 스마트폰)와의 통신을 통해서 모바일 결제 또는 거래와 관련된 다양한 동작(operation)(예를 들어, 거래 승인 요청 등)을 수행하는 디바이스일 수 있다. 여기서, IoT 기기(100)는 상점 내 POS(Point of Sales) 단말기와 통신 연동되는 별도의 독립적 기기일 수도 있고, POS 단말기를 대체하거나 POS 단말기와 통합화된 기기로 구현될 수도 있다. 또한 여기서, IoT 기기(100)는 비콘(Beacon) 기능이 구현될 수 있도록 하는 하드웨어 또는/및 소프트웨어가 설치될 수 있다. 위와 같은 관점에서, 본 발명이 모바일 결제 또는 상거래 케이스에 적용되는 경우를 가정한다면, 본 명세서 및 각 도면에서 '모바일 앱(200)'은 고객 소지의 스마트폰 등과 같은 모바일 기기에 설치되어, 후술할 일련의 동작들을 수행하는 애플리케이션 프로그램(즉, 본 발명에서는 이를 모바일 에이전트라 명명함)을 지시할 수 있다. 또한, 본 명세서에서는 설명의 편의상 IoT 기기(100) 자체가 도면에서 부여된 역할을 수행하는 것으로 설명하겠지만, 실제로는 해당 역할을 수행하는 소프트웨어 프로그램 또는 하드웨어 모듈(본 발명에서는 이를 기기 인증 에이전트라 명명함)이 IoT 기기에 설치 또는 탑재되어, 본 발명의 각 실시예에 따른 역할을 수행할 수도 있음은 물론이다.For example, assuming that the present invention is applied to a mobile payment or commerce case, in this specification and drawings, the 'IoT device 100' is installed in a store, and a customer's mobile device (for example, a smart phone) It may be a device that performs various operations (eg, transaction approval request, etc.) related to mobile payment or transaction through communication with. Here, the IoT device 100 may be a separate independent device that communicates with a point-of-sale (POS) terminal in the store, or may be implemented as a device that replaces the POS terminal or is integrated with the POS terminal. In addition, the IoT device 100 may be installed with hardware or / and software that enables a beacon function to be implemented. From the above point of view, assuming that the present invention is applied to a mobile payment or commerce case, the 'mobile app 200' in each specification and each drawing is installed on a mobile device, such as a customer's smartphone, to be described later. An application program that performs a series of operations (ie, in the present invention, it is referred to as a mobile agent) can be indicated. In addition, in this specification, for convenience of description, the IoT device 100 itself will be described as performing a role given in the drawing, but in reality, a software program or hardware module that performs a corresponding role (in the present invention, this is referred to as a device authentication agent) ) Is installed or mounted on an IoT device, and it is of course possible to perform a role according to each embodiment of the present invention.

다른 예로, 본 발명이 출입문 통제 케이스에 적용되는 경우를 가정한다면, 본 명세서 및 도면에서, 'IoT 기기(100)'는 출입문에 설치되며, 고객의 모바일 기기와의 통신을 통해서 출입문 개폐(또는 출입 기록)와 관련된 다양한 동작(operation)을 수행하는 디바이스일 수 있다. 이때, IoT 기기(100)는 출입 통제 단말기 그 자체일 수도 있지만, 출입 통제 단말기와는 별도의 독립적 기기일 수도 있고, 출입 통제 단말기를 대체하거나 출입 통제 단말기와 통합화된 기기로 구현될 수도 있다.As another example, if it is assumed that the present invention is applied to a door control case, in this specification and drawings, the 'IoT device 100' is installed in the door, and the door is opened and closed (or accessed through communication with a customer's mobile device). It may be a device that performs various operations related to (recording). At this time, the IoT device 100 may be the access control terminal itself, but it may be a separate independent device from the access control terminal, or may be implemented as a device that replaces the access control terminal or is integrated with the access control terminal.

본 명세서에서 IoT 기기의 인증이란, IoT 기기 자체의 진위 여부에 관한 인증은 물론, 해당 IoT 기기로부터 수신된 것으로 판별되는 메시지가 해커 등에 의해서 기기 ID 등이 도용됨으로써 위변조된 메시지인지 여부를 검증하는 경우까지를 포괄하는 개념임을 먼저 명확히 해둔다. 본 명세서에서 사용자 인증의 개념도 위와 다르지 않다.In the present specification, the authentication of the IoT device is not only the authentication of the authenticity of the IoT device itself, but also verifying whether the message determined to be received from the IoT device is a forged message by stealing the device ID or the like by a hacker or the like. It is first clarified that the concept encompasses far. In this specification, the concept of user authentication is not different from the above.

또한 이하 설명할 도 1의 흐름도에서의 각 단계에 관한 식별번호(즉, S100, S102, S104 등)는 각 단계를 구분 설명하기 위한 것일 뿐, 절차적 순서를 정의한 것은 아님을 명확히 해둔다. 논리적으로 어느 한 단계가 실행된 이후에야 다른 단계가 실행될 수 있는 경우가 아닌 이상, 각 단계는 그 식별번호의 선후와 상관없이 병렬적으로 또는 동시에 실행될 수도 있음은 물론이다. 경우에 따라서는 그 식별번호의 선후와 다른 순서로 각 단계가 실행될 수도 있음도 자명하다. 본 발명의 핵심적 기술 특징이 충분히 반영될 수 있는 한도에서, 각 단계의 순서 또한 다양한 변형이 가능할 것이기 때문이다. 다만, 이하에서는 설명의 집중 및 편의 상, 도면에 도시된 순서에 따라 각 단계를 설명하기로 한다.In addition, it is clear that the identification numbers (that is, S100, S102, S104, etc.) for each step in the flowchart of FIG. 1 to be described below are only for separately explaining each step, and do not define a procedural order. It goes without saying that each step may be executed in parallel or concurrently regardless of the precedence of the identification number, unless the other step can be executed logically after one step is executed. It is obvious that in some cases, each step may be performed in a different order from the sequencing of the identification number. This is because various modifications may also be made to the order of each step to the extent that the core technical features of the present invention can be sufficiently reflected. However, hereinafter, for the concentration and convenience of description, each step will be described in the order shown in the drawings.

이하, 첨부된 도면들을 참조하여 본 발명의 각각의 실시예들을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 비콘 메시지 송출 기능을 갖는 IoT 기기와 모바일 기기에 설치된 모바일 애플리케이션을 이용하여 사용자 및 IoT 기기에 관한 동시 인증이 가능한 인증 방법 및 시스템을 설명하기 위한 일 실시예의 도면이다.1 is a diagram of an embodiment for describing an authentication method and system capable of simultaneously authenticating a user and an IoT device using an IoT device having a beacon message transmission function and a mobile application installed on the mobile device.

도 1을 참조하면, IoT 기기(100), 사용자가 소지한 모바일 기기에 설치되는 모바일 앱(200), 인증 서버(300)를 포함하는 시스템이 개시된다. 이때, IoT 기기(100)와 모바일 앱(200) 간, 모바일 앱(200)과 인증 서버(300) 간은 무선 통신을 통해서 연결되고, IoT 기기(100)와 인증 서버(300) 간은 유선 또는 무선 통신을 통해서 연결될 수 있다. 이때, IoT 기기(100)는 기본적으로 비콘 메시지 송출 기능을 갖는 것으로 가정한다. 이하, 도 1의 인증 흐름도를 설명한다.Referring to FIG. 1, a system including an IoT device 100, a mobile app 200 installed on a mobile device possessed by a user, and an authentication server 300 is disclosed. At this time, between the IoT device 100 and the mobile app 200, the mobile app 200 and the authentication server 300 is connected through wireless communication, the IoT device 100 and the authentication server 300 is wired or It can be connected via wireless communication. In this case, it is assumed that the IoT device 100 basically has a beacon message transmission function. Hereinafter, the authentication flowchart of FIG. 1 will be described.

본 발명의 실시예에서, IoT 기기(100)는 비콘 메시지를 통해서 기기 식별값, 서비스 식별값, 기기 인증값을 비콘 메시지에 실어 외부로 송출한다[도 1의 S100 참조]. 여기서, 서비스 식별값은 해당 IoT 기기(100)에 의해 서비스될 수 있는 특정 애플리케이션 서비스를 식별할 수 있도록 하는 고유값이고, 기기 식별값은 해당 서비스를 실제 제공하는 IoT 기기(100)를 식별할 수 있도록 하는 고유값이며, 기기 인증값은 해당 서비스를 제공하는 IoT 기기(100)가 위변조되지 않은 진정한 서비스 기기임을 확인할 수 있도록 하는 값을 의미한다.In an embodiment of the present invention, the IoT device 100 transmits the device identification value, the service identification value, and the device authentication value to the beacon message through the beacon message (see S100 in FIG. 1). Here, the service identification value is a unique value that enables identification of a specific application service that can be serviced by the IoT device 100, and the device identification value can identify the IoT device 100 that actually provides the service. It is a unique value to enable, and the device authentication value refers to a value that enables the IoT device 100 providing a corresponding service to be a true service device that has not been forged.

본 발명의 실시예에 있어서, 비콘 메시지에 기기 식별값 및 기기 인증값을 삽입하는 방식으로는 다음과 같은 방식이 이용될 수 있다.In an embodiment of the present invention, the following method may be used as a method of inserting a device identification value and a device authentication value in a beacon message.

통상적으로 비콘은 작동 방식에 따라서, 비콘의 UUID 값과 일치하는 UUID 값이 비콘 메시지에 실린 경우에만 해당 UUID의 비콘의 메이저(Major) 필드와 마이너(Minor) 필드 값을 읽어 들일 수 있도록 작동되거나(iOS의 경우), 비콘 주파수로 들어오는 모든 비콘 UUID 중 자신의 UUID만 필터하여 사용하는 방식으로 작동된다(안드로이드 OS의 경우). 또한 통상적으로 비콘은 해당 비콘에 따라 제공하는 서비스를 식별하기 위한 고유의 UUID 값 하나 이상을 선택하여 서비스 고유값으로 사용하고, 메이저/마이너 필드를 건물명 또는 지정 위치로 사용해왔다. 그러나 이렇게 사용하는 경우, 비콘 스캐너로 비콘값을 읽어들이고, 현장에 있는 것처럼 동일 비콘값을 발생시키는 비콘을 생성하여 이를 모바일 앱을 통해서 읽어들이면, 해당 비콘 위치에 방문하지 않은 사용자라 하더라도 해당 위치에 방문한 것처럼 조작할 수 있는 문제점이 있다. 왜냐하면, 비콘은 공개된 주파수를 이용하기 때문에 일반적인 모바일 기기에서 이를 스캔하면 값을 불러들일 수 있기 때문이다. 따라서 비콘을 금융거래나 방문 위치 검증 또는 방문한 장비(차량, 로봇 등) 확인과 같이 좀 더 정교한 영역에 사용하기 위해서는 비콘 주파수가 2차 제공자에 의해서 조작되지 않았음을 입증할 수 있어야 한다.Normally, depending on how the beacon is operated, the beacon's major and minor field values can be read only when a UUID value matching the beacon's UUID value is carried in the beacon message ( For iOS), it works by filtering and using only its own UUID among all beacon UUIDs coming into the beacon frequency (for Android OS). Also, beacons typically use one or more unique UUID values to identify services provided according to the beacon and use them as service specific values, and major / minor fields have been used as building names or designated locations. However, if you use it like this, if you read the beacon value with the beacon scanner and create a beacon that generates the same beacon value as if you are in the field and read it through the mobile app, even if the user has not visited the beacon location, it will be in that location. There is a problem that can be manipulated like a visit. This is because the beacon uses the published frequency, so if you scan it on a typical mobile device, you can retrieve the value. Therefore, in order to use beacons in more sophisticated areas, such as financial transactions, verifying the location of visits, or checking visited equipment (vehicles, robots, etc.), it must be possible to prove that the beacon frequency has not been manipulated by a secondary provider.

이를 위해, 본 발명의 실시예에서는, 동일 서비스의 비콘 UUID 값을 하나 또는 20개 이하로 사용하도록 권장되는 경우에 있어서, 예를 들어, UUID를 서비스 고유 식별값으로 사용하되, 메이저 필드를 기기 식별값(즉, Beacon ID), 마이너 필드를 인증값(예를 들어, 기기 인증 OTP 등)으로 구성하여 사용할 수 있다.To this end, in an embodiment of the present invention, when it is recommended to use one or 20 beacon UUID values of the same service, for example, UUID is used as a service-specific identification value, but a major field is used for device identification. The value (i.e., Beacon ID) and the minor field may be configured and used as authentication values (e.g., device authentication OTP, etc.).

이때, 비콘 메시지는 비콘 방식(예를 들어, iBeacon, Eddystone 등) 마다 사용 가능한 데이터필드의 길이가 각기 다르지만, 일반적으로는 NFC와는 달리 전달할 수 있는 정보가 제한적이므로, 기기 인증값을 비콘 메시지에 삽입하는 방식으로는 아래와 같은 방식이 이용될 수 있다. 아래의 설명에서는 비콘 메시지 상에 메이저 필드 2 Byte와 마이너 필드 2 Byte로 구성되는 경우를 가정하여 설명하기로 한다.At this time, the beacon message has different lengths of data fields available for each beacon method (eg, iBeacon, Eddystone, etc.), but in general, unlike NFC, information that can be transmitted is limited, so device authentication values are inserted into the beacon message. The following method may be used as a method. In the following description, it is assumed that a major field is composed of 2 bytes and a minor field is 2 bytes on the beacon message.

시스템 구성에 따라서 하나의 서비스에 장비가 1대라면 하나의 UUID 뒤의 메이저(Major) 및 마이너(Minor)의 4 Byte 전체를 기기 인증값으로 사용할 수도 있을 것이지만, 동일 서비스에 여러 장비가 인증되어야 한다면 하나의 서비스 UUID 뒤에 메이저 필드 2 Byte를 장비 식별값으로 사용하고 마이너 필드 2 Byte를 기기 인증값으로 사용할 수 있다.Depending on the system configuration, if there is one device for one service, all of the major and minor 4 bytes after one UUID may be used as the device authentication value, but if multiple devices must be authenticated for the same service After one service UUID, a major field 2 bytes can be used as a device identification value and a minor field 2 bytes can be used as a device authentication value.

이 경우, 4 Byte 전체를 핵사 스트링(Hexa string)으로 구성하면 65,536으로 기기 인증값을 표현할 수 도 있고, 마이너 필드의 2 Byte만을 기기 인증값 삽입에 이용하는 경우라면 그 2 Byte를 Bit로 표현하였을 때의 2의 16승인 65,536으로 기기 인증값을 표현할 수 있다. 또한 경우에 따라서, 생성된 기기 인증값이 65,536을 초과하는 경우에는 기기 인증값이 65,536를 초과하지 않는 값으로 변환하거나, 또는 기기 인증값을 생성할 때 65,536 이하의 인증값으로 생성되도록 처리할 수도 있다. 이때, 서비스 구성에 따라 사용되는 비콘이 65,000개가 넘는 경우 최대 20개까지 UUID 값을 추가로 설정하여 비콘의 갯수를 늘려갈 수 있음도 물론이다.In this case, if all 4 bytes are composed of Hexa string, the device authentication value can be expressed as 65,536. If only 2 bytes of the minor field are used to insert the device authentication value, when the 2 bytes are expressed as Bit The device authentication value can be expressed by 2, 16 approval 65,536. In some cases, when the generated device authentication value exceeds 65,536, the device authentication value may be converted to a value not exceeding 65,536, or may be processed to generate an authentication value of 65,536 or less when generating the device authentication value. have. In this case, it is of course also possible to increase the number of beacons by additionally setting the UUID value up to 20 when there are more than 65,000 beacons used depending on the service configuration.

또한 본 발명의 실시예에 있어서, 기기 인증값은 해당 기기의 인증을 위한 암호화된 고정값(예를 들어, 고정키)일 수도 있지만, 시간 또는 특정 조건에 따라 변화하는 가변값(예를 들어, OTP(one time password) 등)으로 생성될 수도 있다.In addition, in the embodiment of the present invention, the device authentication value may be an encrypted fixed value (eg, a fixed key) for authentication of the device, but a variable value (for example, change according to time or a specific condition) OTP (one time password, etc.) may be generated.

기기 인증값으로서 가변값 중에서 OTP를 활용하는 경우, 인증 서버(300)와 IoT 기기(100)는 사전에 공통된 기기 인증 OTP의 생성 조건, 생성 방식 또는 알고리즘을 공유할 수 있다. 일반적으로 OTP 생성 방식에는 타임 OTP 방식과 챌린지 앤드 리스폰스(Challenge & Response) 방식이 존재한다. 여기서, 타임 OTP 방식은 연산 조건으로서 생성 시간을 이용하여 OTP를 생성하는 방식이다. 이에 의할 때, OTP는 결정된 특정 OTP 생성키에 연산 조건인 생성 시간을 곱한 값을 특정 해시 함수에 따라 암호화한 값으로 생성될 수 있다. 그리고 챌린지 앤드 리스폰스 방식은 연산 조건으로서 시도 횟수를 이용하여 OTP를 생성하는 방식이다. 이에 의할 때, OTP는 결정된 특정 OTP 생성키에 연산 조건인 시도 횟수를 곱한 값을 특정 해시 함수(hash function)에 따라 암호화한 값으로 생성될 수 있다. 따라서, 타임 OTP 방식에 의할 때, 해당 OTP 값의 유효시간(예를 들어, 60초)이 경과할 때마다 새로운 OTP 값이 생성되게 된다. 반면, 챌린지 앤드 리스폰스 방식에 의할 때, 시도 횟수가 동일하다면 시간과는 무관하게 동일한 OTP 값이 유지되게 될 것이다. 본 명세서에 첨부된 도면에서는 기기 인증값으로서 타임 OTP(도 1의 T_OTP 참조)가 사용되는 경우를 도시하고 있다.When using OTP among variable values as the device authentication value, the authentication server 300 and the IoT device 100 may share a common device authentication OTP generation condition, generation method, or algorithm. In general, the OTP generation method includes a time OTP method and a challenge & response method. Here, the time OTP method is a method of generating an OTP using a generation time as a calculation condition. Accordingly, the OTP may be generated as a value obtained by multiplying the determined specific OTP generation key by the generation time, which is an operation condition, according to a specific hash function. In addition, the challenge and response method is a method of generating an OTP using the number of attempts as an operation condition. Accordingly, the OTP may be generated as a value obtained by multiplying the determined specific OTP generation key multiplied by the number of attempts, which is an operation condition, according to a specific hash function. Therefore, according to the time OTP method, a new OTP value is generated whenever the valid time (for example, 60 seconds) of the corresponding OTP value has elapsed. On the other hand, according to the challenge and response method, if the number of attempts is the same, the same OTP value will be maintained regardless of time. The accompanying drawings in this specification show a case where time OTP (see T_OTP in FIG. 1) is used as the device authentication value.

또한 이때, 인증 서버(300)와 IoT 기기(100)는 기기 인증 OTP 생성을 위한 키 값 중 일부 또는 시드(Seed)값를 상호 간 미리 공유할 수도 있다. 예를 들어, 기기 인증 OTP를 생성할 때, 해당 IoT 기기의 ID(즉, 도 1의 Things_ID 참조)에 상응하여 특정 키(key) 값, 또는 시드값을 상호 간 미리 공유해둘 수 있다. 상술한 바와 같은 이유로, 도 1의 S112에 따라 인증 서버(300)에서 생성되는 기기 인증값(본 명세서에는 이를 검증용 기기 인증값이라 명명함)은 IoT 기기(100)에서 생성한 기기 인증값과 서로 동일한 값이 될 것이다.In addition, at this time, the authentication server 300 and the IoT device 100 may pre-share some of the key values or seed values for generating the device authentication OTP with each other. For example, when generating a device authentication OTP, a specific key value or a seed value may be previously shared with each other corresponding to the ID of the IoT device (ie, Things_ID of FIG. 1). For the above-described reasons, the device authentication value generated by the authentication server 300 according to S112 of FIG. 1 (hereinafter referred to as a device authentication value for verification) is the device authentication value generated by the IoT device 100. It will be the same value.

또한 본 발명의 실시예에 있어서, IoT 기기(100)에 의해 송출되는 비콘 메시지는 소정의 송출 세기로 제한되어 송출될 수 있다. 이에 따라, 해당 IoT 기기(100)와 모바일 앱(200)이 설치된 모바일 기기 간의 거리가 특정 거리 이내(예를 들어, 반경 1M 등)로 근접하였을 때에만 모바일 기기에서 비콘 메시지를 수신할 수 있도록 하는 거리 제한(이하, 이를 수신 거리 제한이라 명명함)이 적용될 수 있다. 또한, 본 발명의 경우, IoT 기기와 모바일 기기 간이 상호간 비콘 주파수 영역 내에 있어야 해당 인증 동작이 작동할 수 있도록 하는 동작 거리 제한(예를 들어, 상호 간 3cm 이내로 근접한 경우에 인증 동작이 작동하도록 하는 거리 제한)을 둘 수 있다. 이러한 인증 동작에 관한 거리 제한은 실제 구현 구조에서 다음과 같이 구현될 수 있다. 예를 들어, IoT 기기와 모바일 기기 간의 거리가 3cm 이내로 근접하였음은 모바일 기기에서 수신되는 비콘 메시지의 수신 세기 또는 감도의 측정을 통해서 확인될 수 있다. 이에 따라, 본 발명의 실시예에 의할 때, 모바일 기기에서 수신되는 비콘 메시지의 수신 세기 또는 감도가 사전 지정된 레인지 내로 들어왔을 때(혹은 수신 세기 및 감도가 소정의 기준에 부합할만큼 최대화되었을 때)에야 비로소 도 1의 S110에 따른 인증 요청 메시지의 인증 서버(300)로의 전달이 이루어지도록 할 수 있다.In addition, in the embodiment of the present invention, the beacon message transmitted by the IoT device 100 may be transmitted while being limited to a predetermined transmission strength. Accordingly, the beacon message can be received from the mobile device only when the distance between the IoT device 100 and the mobile device on which the mobile app 200 is installed is within a certain distance (for example, a radius of 1M). Distance restrictions (hereinafter referred to as receiving distance restrictions) may be applied. In addition, in the case of the present invention, the distance between the IoT device and the mobile device must be within the mutual beacon frequency range to allow the corresponding authentication operation to operate. Limit). The distance limitation on the authentication operation may be implemented as follows in an actual implementation structure. For example, the proximity of the distance between the IoT device and the mobile device within 3 cm may be confirmed by measuring the reception strength or sensitivity of the beacon message received from the mobile device. Accordingly, according to an embodiment of the present invention, when the reception strength or sensitivity of a beacon message received from a mobile device comes into a predetermined range (or when the reception strength and sensitivity are maximized to meet a predetermined criterion) Only finally can the delivery of the authentication request message according to S110 of FIG. 1 to the authentication server 300 be made.

상술한 바에 따라, 사용자가 자신이 소지한 모바일 기기에 설치된 모바일 앱(200)을 구동하게 되면[도 1의 S102 참조], IoT 기기(100)가 해당 시점에 송출한 비콘 메시지를 수신할 수 있다. 도 1에서는 고객이 직접 앱을 구동하는 경우를 예시하였지만, 소정 거리 범위 내(이때, 소정 거리 범위는 상술한 수신 거리 제한에 상응하는 거리일 수 있음)에 진입하여 비콘 메시지를 수신함에 따라 앱이 자동으로 구동되도록 구현될 수도 있음은 물론이다.As described above, when the user drives the mobile app 200 installed on the mobile device owned by the user (see S102 in FIG. 1), the IoT device 100 may receive the beacon message sent at that time. . In FIG. 1, a case in which the customer directly drives the app is illustrated, but the app enters within a predetermined distance range (in this case, the predetermined distance range may be a distance corresponding to the above-described reception distance limit) and the app receives the beacon message. Of course, it may be implemented to be automatically driven.

본 발명의 실시예에 의할 때, 모바일 앱(200)이 구동되면, 모바일 앱(200)은 해당 앱의 사용자에 관한 사용자 인증을 수행할 수 있다[도 1의 S104 참조]. 모바일 앱(200)의 사용자 인증이 완료되면, 그 인증된 사용자는 해당 IoT 기기(100)와의 관계에서 서비스 이용 가능한 애플리케이션 화면을 통해서 다양한 명령 또는/및 옵션을 선택할 수 있다[도 1의 S106 참조]. 예를 들어, 해당 서비스가 모바일 결제와 관련된 것이라면 결제하려는 상품의 선택(상기 옵션에 해당함) 및 결제 요청(상기 명령에 해당함)이 될 수 있고, 해당 서비스가 출입문 개폐와 관련된 것이라면 출입 요청(상기 명령에 해당함)이 될 수 있다. 다만, 서비스에 따라서 사용자에 의한 별도의 명령 또는 옵션의 선택이 불필요한 경우도 존재할 수 있을 것임은 물론이다. 다만, 애플리케이션의 종류 또는/및 서비스 속성에 따라 명령 및 옵션은 사용자의 선택 여부와 관계없이 모바일 앱(200)에 의해 제공되는 서비스 속성에 따라 자동으로 선택될 수도 있고, 명령 및 옵션 중 적어도 하나가 불필요할 수도 있다.According to an embodiment of the present invention, when the mobile app 200 is driven, the mobile app 200 may perform user authentication for a user of the app (see S104 in FIG. 1). When the user authentication of the mobile app 200 is completed, the authenticated user can select various commands or / and options through an application screen available for service in a relationship with the IoT device 100 (see S106 in FIG. 1). . For example, if the service is related to mobile payment, it may be a selection of a product to be paid (corresponding to the above option) and a payment request (corresponding to the above command). (Corresponds to). However, of course, there may be cases in which a separate command or option selection by a user is unnecessary depending on a service. However, commands and options may be automatically selected according to service properties provided by the mobile app 200 regardless of whether the user selects the command or option depending on the type of application and / or service properties, and at least one of the commands and options It may be unnecessary.

상술한 바와 같이, IoT 기기(100)로부터 비콘 메시지가 수신되면(즉, 기기 식별값 및 기기 인증값이 수신되면), 모바일 앱(200)은 앱 사용자의 식별을 위한 식별값, 사용자 인증값, 수신된 기기 식별값, 수신된 기기 인증값, 상기 명령 또는/및 옵션 정보를 인증 서버(300)로 전송한다[도 1의 S108 및 S110 참조].As described above, when the beacon message is received from the IoT device 100 (that is, when the device identification value and the device authentication value are received), the mobile app 200 identifies the identification value for the app user, the user authentication value, The received device identification value, the received device authentication value, and the command or / and option information are transmitted to the authentication server 300 (see S108 and S110 in FIG. 1).

도 1의 경우 앱 사용자 식별값으로 사용자 ID(도 1의 User_ID 참조)가 예시되고 있으며, 사용자 인증값으로는 사용자 토큰(도 1의 User_Token 참조) 또는 사용자 OTP(도 1의 User_OTP 참조)가 예시되고 있다. 다만, 사용자 식별값 및 사용자 인증값은 이외에도 다양한 값들이 사용될 수 있다. 일 예로, 사용자 식별값으로는 본 예에서의 사용자 ID 이외에도 모바일 기기 식별값, 모바일 기기 전화번호, USIM 값, 앱 ID 등도 이용될 수 있음은 물론이다. 또한, 도 1에 예시된 사용자 토큰이 사용자 식별값 및 사용자 인증값을 모두 커버하는 용도로 활용될 수 있으며, 이러한 경우에는 도 1의 S110 단계의 인증 요청 메시지 내에 사용자 토큰 값만이 포함될 수도 있다. 다만, 본 명세서에서는 설명의 편의 및 집중을 위해, 도 1에 도시된 바와 같이, 도 1의 S104 단계에 따른 앱 사용자 인증 과정에서 획득되는 사용자 토큰이 사용자 인증값의 용도로 대체 활용되되, 사용자 식별값도 별도로 인증 요청 메시지 내에 포함되어 인증 서버(300)로 전달되는 케이스를 중심으로 설명하기로 한다.In the case of FIG. 1, a user ID (see User_ID in FIG. 1) is illustrated as an app user identification value, and a user token (see User_Token in FIG. 1) or a user OTP (see User_OTP in FIG. 1) is illustrated as a user authentication value. have. However, various values other than the user identification value and the user authentication value may be used. As an example, as a user identification value, a mobile device identification value, a mobile device phone number, a USIM value, an app ID, etc. can be used in addition to the user ID in this example. In addition, the user token illustrated in FIG. 1 may be used to cover both the user identification value and the user authentication value, and in this case, only the user token value may be included in the authentication request message in step S110 of FIG. 1. However, in this specification, for convenience and concentration of description, as shown in FIG. 1, the user token obtained in the process of authenticating an app according to step S104 of FIG. 1 is used as a user authentication value, but user identification The value is also included separately in the authentication request message, and the description will be mainly focused on the case transmitted to the authentication server 300.

상술한 바에 따라 인증 요청 메시지가 인증 서버(300)로 전달되면, 인증 서버(300)는 인증 요청 메시지에 삽입된 기기 식별값 및 사용자 식별값에 근거하여 각각의 식별값에 상응하는 검증용 인증값(즉, 검증용 기기 인증값 및 검증용 사용자 인증값)을 생성한다. 인증 서버(300)는 생성된 검증용 인증값과 수신된 기기 인증값 및 사용자 인증값 간의 일치 여부를 대조함으로써 인증값 검증을 수행할 수 있고[도 1의 S112 참조], 이에 따라 IoT 기기 및 사용자의 진위 여부를 판별할 수 있다.When the authentication request message is delivered to the authentication server 300 as described above, the authentication server 300 verifies the authentication value corresponding to each identification value based on the device identification value and the user identification value inserted in the authentication request message. (In other words, a device authentication value for verification and a user authentication value for verification) are generated. The authentication server 300 may perform authentication value verification by checking whether the generated verification value matches the received device authentication value and the user authentication value (refer to S112 in FIG. 1), and accordingly, the IoT device and the user You can determine the authenticity of the.

상술한 진위 여부의 판별 결과, IoT 기기 및 사용자가 위변조되지 않은 진정한 주체들로 판별되는 경우, 인증 서버(300)는 인증 요청 메시지에 함께 삽입되어 실려온 실행 명령 또는/및 옵션을 포함하는 명령 메시지를 해당 서비스의 이행 주체 또는 제어 주체에게 전달함으로써[도 1의 S116 및 S118 참조], 해당 명령이 이행될 수 있도록 한다[도 1의 S120 참조].As a result of determining the authenticity as described above, when it is determined that the IoT device and the user are true subjects that have not been tampered with, the authentication server 300 inserts a command message including an execution command or / and an option inserted into the authentication request message. By passing it to the fulfilling subject or control subject of the service (see S116 and S118 in FIG. 1), the corresponding command can be fulfilled (see S120 in FIG. 1).

도 1의 S120의 경우, 해당 명령의 이행 주체가 IoT 기기(100) 자체인 경우를 예시하고 있지만, 해당 명령의 이행 주체는 경우에 따라 이와 다를 수도 있음은 물론이다. 예를 들어, 출입문 개폐 서비스에서 실제 이행 주체는 출입문 개폐 단말기(미도시)와 IoT 기기가 서로 분리 설치된 경우도 존재할 수 있는 바, 이와 같은 경우 인증 서버(300)는 해당 명령 메시지를 IoT 기기가 아니라 출입문 개폐 단말기로 전달할 수 있다. 또한 경우에 따라서는 출입문 개폐 단말기를 통제하는 관리 서버(미도시) 측으로 명령 메시지를 전달할 수도 있을 것이다. 이와 유사하게, 모바일 앱(200)을 통해 사용자로부터 요청된 명령이 상품 판매자에게 상품 구입 금액의 돈을 결제하는 것인 경우, 인증 서버(300)는 전자 결제 서버(미도시)에게 사용자의 계좌에서 판매자의 계좌로 상품 구입금을 이체하도록 명령 메시지를 전달할 수도 있을 것이다.In the case of S120 of FIG. 1, the case in which the execution entity of the corresponding command is the IoT device 100 itself is illustrated, but the execution entity of the corresponding command may be different depending on the case. For example, in the door opening / closing service, the actual implementation subject may exist even when the door opening / closing terminal (not shown) and the IoT device are separately installed. In this case, the authentication server 300 transmits the corresponding command message instead of the IoT device. Can be delivered to the door opening and closing terminal. Also, in some cases, a command message may be transmitted to a management server (not shown) that controls the door opening / closing terminal. Similarly, when the command requested from the user through the mobile app 200 is to pay for the product purchase amount to the product seller, the authentication server 300 sends an electronic payment server (not shown) from the user's account. You may be able to send a command message to transfer product purchases to the seller's account.

이때, 명령을 수신한 주체는 명령 메시지를 보낸 측이 정당한 인증 서버인지를 확인하기 위하여 인증 서버의 인증을 위한 인증값을 명령과 함께 수신할 수 있고, 이를 검증한 후 명령을 이행할 수도 있다.At this time, the subject who has received the command may receive the authentication value for authentication of the authentication server together with the command to confirm whether the sender of the command message is a valid authentication server, and may execute the command after verifying it.

또한 본 발명의 실시예에 의할 때, 상기 검증용 인증 정보를 통한 사용자 인증이 완료된 경우, 인증된 해당 사용자에게 상기 실행 명령에 상응하는 권한이 부여되어 있는지 여부를 먼저 확인한 후에, 그 권한 확인 결과에 따라 상기 명령 메시지의 생성 여부를 결정할 수도 있다[도 1의 S114 참조].In addition, according to an embodiment of the present invention, when user authentication is completed through the authentication information for verification, after first checking whether an authority corresponding to the execution command is granted to the authenticated user, the authority verification result Depending on whether or not to generate the command message may be determined (see S114 in FIG. 1).

상술한 본 발명의 실시예에 따른 인증 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다. The authentication method according to the above-described embodiment of the present invention can be implemented as a computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes any kind of recording medium storing data that can be read by a computer system. For example, there may be a read only memory (ROM), a random access memory (RAM), a magnetic tape, a magnetic disk, a flash memory, and an optical data storage device. In addition, the computer-readable recording medium may be distributed over computer systems connected by a computer communication network, and stored and executed as code readable in a distributed manner.

이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.Although described above with reference to embodiments of the present invention, those skilled in the art variously modify the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. And it can be easily understood.

Claims (10)

인증 시스템으로서,
통신 모듈이 탑재되는 IoT(Internet of Things) 기기에 설치되고, 해당 IoT 기기의 인증을 위한 기기 인증 정보를 획득하는 기기 인증 에이전트;
사용자의 모바일 기기에 설치되고, 상기 사용자의 인증을 위한 사용자 인증 정보를 획득하며, 상기 기기 인증 에이전트로부터 수신된 기기 인증 정보와 상기 사용자 인증 정보를 포함하는 인증 요청 메시지를 생성하는 모바일 에이전트; 및
상기 모바일 에이전트로부터 상기 인증 요청 메시지가 수신되는 경우, 상기 인증 요청 메시지에 포함된 기기 인증 정보 및 사용자 인증 정보에 각각 대응되는 검증용 인증 정보를 생성하여 상호간의 일치 여부를 대조함으로써 상기 IoT 기기 및 상기 사용자의 진위 여부를 판별하는 인증 서버;를 포함하고,
상기 인증 서버와 상기 IoT 기기는 상기 기기 인증 정보의 생성을 위한 키 값 중 일부 또는 시드(Seed) 값을 상호간에 미리 공유하여, 상기 인증 서버에서 생성되는 기기 인증값은 IoT 기기에서 생성한 기기 인증값과 서로 동일하게 구성되고,
상기 통신 모듈은 비콘 통신 모듈이고,
상기 기기 인증 에이전트는, 해당 IoT 기기의 식별에 사용 가능한 기기 식별 정보 및 상기 기기 인증 정보를 비콘 메시지에 삽입하여 무선 브로드캐스팅(wireless broadcasting)하고,
상기 기기 인증 정보는, 상기 비콘 메시지에서 비콘 고유값인 UUID가 삽입되는 데이터 필드 영역에 뒤따르는 메이저(Major) 필드 및 마이너(Minor) 필드에 삽입되고,
상기 메이저 필드는 장비 식별값으로 사용되고, 상기 마이너 필드는 기기 인증값으로 사용되는 인증 시스템.
As an authentication system,
A device authentication agent installed on an Internet of Things (IoT) device on which a communication module is mounted, and obtaining device authentication information for authentication of the IoT device;
A mobile agent installed on a user's mobile device, obtaining user authentication information for authentication of the user, and generating an authentication request message including device authentication information and the user authentication information received from the device authentication agent; And
When the authentication request message is received from the mobile agent, the authentication information for verification corresponding to the device authentication information and the user authentication information included in the authentication request message is generated, and the IoT devices and the Includes; authentication server to determine whether the user is authentic,
The authentication server and the IoT device share a part of a key value or a seed value for generating the device authentication information in advance with each other, so that the device authentication value generated by the authentication server is device authentication generated by the IoT device Configured equal to the value,
The communication module is a beacon communication module,
The device authentication agent wirelessly broadcasts device identification information usable for identification of the IoT device and the device authentication information by inserting it into a beacon message,
The device authentication information is inserted into a major field and a minor field following a data field area in which a UUID, a beacon unique value, is inserted in the beacon message,
The major field is used as an equipment identification value, and the minor field is an authentication system used as a device authentication value.
삭제delete 삭제delete 제1항에 있어서,
상기 기기 인증 정보가 상기 삽입될 필드 영역의 사이즈를 초과하는 경우, 상기 기기 인증 정보는 상기 삽입될 필드 영역의 사이즈를 초과하지 않는 값으로 변환 처리되어 상기 비콘 메시지에 삽입되는, 인증 시스템.
According to claim 1,
When the device authentication information exceeds the size of the field area to be inserted, the device authentication information is converted into a value that does not exceed the size of the field area to be inserted and inserted into the beacon message.
제1항에 있어서,
상기 모바일 에이전트는,
특정 애플리케이션 서비스를 실행하는 앱의 구동에 따라 앱 사용자에 관한 인증을 수행하고,
상기 비콘 메시지를 통해서 상기 기기 식별 정보 및 상기 기기 인증 정보가 수신되는 경우, 상기 인증 요청 메시지에 적어도 상기 기기 인증 정보를 포함하되 상기 사용자 인증 정보, 상기 기기 식별 정보 중 적어도 하나를 더 포함하여 상기 인증 서버로 전송하는, 인증 시스템.
According to claim 1,
The mobile agent,
Depending on the driving of the app running a specific application service, authentication is performed for the user of the app,
When the device identification information and the device authentication information are received through the beacon message, the authentication request message includes at least the device authentication information, but further includes at least one of the user authentication information and the device identification information to perform the authentication. Authentication system, which is sent to the server.
제5항에 있어서,
상기 모바일 에이전트는,
상기 비콘 메시지의 수신 세기 또는 감도에 기초하여, 상기 IoT 기기와 상기 모바일 기기 간의 거리가 사전 지정된 거리 이내에 있는 것으로 판별되는 경우에 한하여 상기 인증 요청 메시지를 상기 인증 서버로 전송하는, 인증 시스템.
The method of claim 5,
The mobile agent,
An authentication system that transmits the authentication request message to the authentication server only when it is determined that the distance between the IoT device and the mobile device is within a predetermined distance based on the reception strength or sensitivity of the beacon message.
제5항에 있어서,
상기 모바일 에이전트는,
상기 앱 사용자 인증이 완료됨에 따라 획득되는 사용자 토큰을 상기 사용자 인증 정보로서 대체하여 사용하거나, 상기 기기 인증 정보의 수신에 따라 신규로 생성한 사용자 인증값을 상기 사용자 인증 정보로서 사용하는, 인증 시스템.
The method of claim 5,
The mobile agent,
An authentication system that uses a user token obtained when the app user authentication is completed as the user authentication information, or uses a newly generated user authentication value as the user authentication information upon receipt of the device authentication information.
제5항에 있어서,
상기 모바일 에이전트는,
상기 앱을 통해 실행되는 애플리케이션 서비스와 관련하여 상기 앱 사용자에 의해 선택된 실행 명령을 상기 인증 요청 메시지에 포함시켜 상기 인증 서버로 전송하는, 인증 시스템.
The method of claim 5,
The mobile agent,
An authentication system that includes, in the authentication request message, an execution command selected by the app user in connection with an application service executed through the app and transmits it to the authentication server.
제8항에 있어서,
상기 인증 서버는,
상기 인증 요청 메시지가 수신된 경우, 상기 기기 인증 정보 및 상기 사용자 인증 정보에 각각 대응하는 상기 검증용 인증 정보를 생성하고, 상기 검증용 인증 정보와 상기 기기 인증 정보 및 상기 사용자 인증 정보가 모두 일치하는 경우 상기 인증 요청 메시지에 포함된 상기 실행 명령이 실행될 수 있도록 처리하기 위한 명령 메시지를 생성하는, 인증 시스템.
The method of claim 8,
The authentication server,
When the authentication request message is received, the authentication information for verification corresponding to the device authentication information and the user authentication information is generated, and both the authentication information for verification and the device authentication information and the user authentication information match. And generating a command message for processing so that the execution command included in the authentication request message can be executed.
제9항에 있어서,
상기 인증 서버는,
상기 검증용 인증 정보를 통한 사용자 인증이 완료된 경우, 인증된 해당 사용자에게 상기 실행 명령에 상응하는 권한이 부여되어 있는지 여부를 확인하고, 권한 확인 결과에 따라 상기 명령 메시지의 생성 여부를 결정하는, 인증 시스템.
The method of claim 9,
The authentication server,
When the user authentication through the authentication information for verification is completed, an authentication is performed to determine whether an authorized user is authorized to the execution command and to determine whether to generate the command message according to the result of the authorization check. system.
KR1020170110558A 2016-04-06 2017-08-31 Method and system for authenticatiing user and internet of things device using authentication beacon KR102107190B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170110558A KR102107190B1 (en) 2017-08-31 2017-08-31 Method and system for authenticatiing user and internet of things device using authentication beacon
US15/801,518 US10789591B2 (en) 2016-04-06 2017-11-02 Method and system for authenticating IoT device using mobile device
US17/006,267 US20200394657A1 (en) 2016-04-06 2020-08-28 Method and system for authenticating iot device using mobile device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170110558A KR102107190B1 (en) 2017-08-31 2017-08-31 Method and system for authenticatiing user and internet of things device using authentication beacon

Publications (2)

Publication Number Publication Date
KR20190024030A KR20190024030A (en) 2019-03-08
KR102107190B1 true KR102107190B1 (en) 2020-05-06

Family

ID=65800883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170110558A KR102107190B1 (en) 2016-04-06 2017-08-31 Method and system for authenticatiing user and internet of things device using authentication beacon

Country Status (1)

Country Link
KR (1) KR102107190B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110099065A (en) * 2019-05-10 2019-08-06 北京百度网讯科技有限公司 Internet of things equipment and authentication method, Cloud Server, processing equipment, readable medium
WO2021137482A1 (en) * 2020-01-03 2021-07-08 (주)이스톰 Method for authentication and information processing between terminals, using proximate sensing
KR102525654B1 (en) * 2020-02-04 2023-04-25 (주)이스톰 Crossover service authentication method and platform therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101692161B1 (en) * 2015-08-07 2017-01-18 성균관대학교산학협력단 System and method for authorization using beacon transmitter and one-time password
JP2017147507A (en) * 2016-02-15 2017-08-24 スター精密株式会社 Identification information transfer system and identification information decryption method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101718789B1 (en) * 2015-05-12 2017-04-04 김종각 Mobile payment system with contactless mobile payment device using Bluetooth communication,and Payment data processing method using thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101692161B1 (en) * 2015-08-07 2017-01-18 성균관대학교산학협력단 System and method for authorization using beacon transmitter and one-time password
JP2017147507A (en) * 2016-02-15 2017-08-24 スター精密株式会社 Identification information transfer system and identification information decryption method

Also Published As

Publication number Publication date
KR20190024030A (en) 2019-03-08

Similar Documents

Publication Publication Date Title
US20200394657A1 (en) Method and system for authenticating iot device using mobile device
EP3271885B1 (en) Multi-device transaction verification
US10922675B2 (en) Remote transaction system, method and point of sale terminal
CN109196834B (en) Sub-token management system for connected devices
KR101801323B1 (en) Method and system for authenticatiing internet of things device using mobile device
KR102574524B1 (en) Remote transaction system, method and point of sale terminal
EP2779069A1 (en) Method and system for managing a transaction
US20180204214A1 (en) Systems and methods for transaction authentication using dynamic wireless beacon devices
US20240078304A1 (en) Mobile user authentication system and method
KR102107190B1 (en) Method and system for authenticatiing user and internet of things device using authentication beacon
US11010482B2 (en) System and method for secure device connection
US20220291979A1 (en) Mobile application integration
US20230388104A1 (en) System and method for using dynamic tag content
KR102347417B1 (en) Method and system for a safe mobile payment with a merchant authenticator
JP7318042B2 (en) Terminal type identification in interaction processing
US20230052901A1 (en) Method and system for point of sale payment using a mobile device
CN114981810B (en) Universal non-contact kernel system and method
KR20210011040A (en) Method and system for a safe mobile payment with a merchant authenticator

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant