KR102199594B1 - IoT device controlling method regardless of communication - Google Patents

IoT device controlling method regardless of communication Download PDF

Info

Publication number
KR102199594B1
KR102199594B1 KR1020190030977A KR20190030977A KR102199594B1 KR 102199594 B1 KR102199594 B1 KR 102199594B1 KR 1020190030977 A KR1020190030977 A KR 1020190030977A KR 20190030977 A KR20190030977 A KR 20190030977A KR 102199594 B1 KR102199594 B1 KR 102199594B1
Authority
KR
South Korea
Prior art keywords
server
iot
user terminal
public key
iot device
Prior art date
Application number
KR1020190030977A
Other languages
Korean (ko)
Other versions
KR20200120968A (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 KR1020190030977A priority Critical patent/KR102199594B1/en
Publication of KR20200120968A publication Critical patent/KR20200120968A/en
Application granted granted Critical
Publication of KR102199594B1 publication Critical patent/KR102199594B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명의 일 측면에 따르면, IoT 장치와 사용자 단말은 단거리 무선 통신으로 데이터를 교환하며 사용자 단말과 IoT 서버는 고속 데이터 통신을 통해 데이터를 송수신하는 네트워크에 적용된 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법이 제공된다. 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법은, IoT 장치 등록 요청을 수신하면, IoT 서버가 서버 공개키 및 서버 보안키를 생성하고 상기 서버 공개키를 사용자 단말에 전송하는 단계, 상기 서버 공개키를 수신하면, 상기 사용자 단말이 상기 서버 공개키를 IoT 장치로 분할 전송하는 단계, 분할 전송된 서버 공개키를 수신하면, 상기 IoT 장치가 장치 공개키 및 장치 보안키를 생성하고, 상기 서버 공개키와 상기 장치 보안키로 IoT 장치 대칭키를 생성하여 저장하며, 상기 장치 공개키를 상기 사용자 단말로 분할 전송하는 단계, 분할 전송된 장치 공개키를 수신하면, 상기 사용자 단말이 상기 장치 공개키를 상기 IoT 서버로 전송하는 단계, 및 상기 장치 공개키를 수신하면, 상기 IoT 서버가 상기 장치 공개키와 상기 서버 보안키로 IoT 서버 대칭키를 생성하는 단계를 포함하되, 상기 IoT 장치와 상기 사용자 단말간 분할 전송은, 상기 단거리 무선 통신에 의해 1회 전송 가능한 데이터 크기 단위로 분할하여 전송할 수 있다.According to an aspect of the present invention, the IoT device and the user terminal exchange data through short-range wireless communication, and the user terminal and the IoT server control an IoT device that is not affected by a communication state applied to a network transmitting and receiving data through high-speed data communication. A method is provided. An IoT device control method that is not affected by a communication state includes the steps of, when receiving an IoT device registration request, generating a server public key and a server security key by an IoT server and transmitting the server public key to a user terminal, the server public key. Upon receiving, the user terminal divides and transmits the server public key to the IoT device, upon receiving the dividedly transmitted server public key, the IoT device generates a device public key and a device security key, and the server public key And generating and storing an IoT device symmetric key using the device security key, and transmitting the device public key to the user terminal. When receiving the dividedly transmitted device public key, the user terminal sends the device public key to the IoT Transmitting to a server, and upon receiving the device public key, the IoT server generating an IoT server symmetric key using the device public key and the server security key, wherein divided transmission between the IoT device and the user terminal May be divided and transmitted in units of a data size that can be transmitted once through the short-range wireless communication.

Description

통신 상태에 영향을 받지 않는 IoT 장치 제어 방법{IoT device controlling method regardless of communication}IoT device controlling method regardless of communication

본 발명은 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법에 관한 것이다.The present invention relates to a method for controlling an IoT device that is not affected by a communication state.

IoT 장치는 네트워크에 연결될 수 있으며, 연결된 네트워크를 통해 데이터를 송수신할 수 있는 장치이다. IoT 장치는, 다양한 통신 방식, 예를 들어, 이동 통신, 유무선 인터넷, 이더넷과 같은 고속 데이터 통신뿐 아니라 NFC, 블루투스, Zigbee, RFID와 같은 단거리 무선 통신을 통해서 데이터를 송수신할 수 있다. 한편, IoT 장치를 관리하는 IoT 서버 사이에는, 서로 다른 통신 프로토콜을 따르는 둘 이상의 네트워크가 존재할 수 있다. 예를 들어, IoT 장치와 사용자 단말은 NFC를 통해 데이터를 송수신하며, 사용자 단말과 IoT 서버는 무선 인터넷을 통해 데이터를 송수신할 수 있다. IoT 장치에 특정 동작 또는 처리를 지시하기 위해서는, IoT 장치, 사용자 단말 및 IoT 서버간 데이터 송수신이 가능하여야 한다. 그러나 사용자 단말과 IoT 서버간 통신이 끊어진 경우에, IoT 서버가 IoT 장치를 제어하는 명령을 승인할 수 없게 된다. 한편, IoT 장치 및/또는 사용자 단말의 통신 성능에 따라 데이터의 송신 또는 수신만 가능할 수도 있다. IoT devices are devices that can be connected to a network and transmit and receive data through the connected network. IoT devices can transmit and receive data through various communication methods, for example, high-speed data communication such as mobile communication, wired/wireless Internet, and Ethernet, as well as short-range wireless communication such as NFC, Bluetooth, Zigbee, and RFID. On the other hand, between IoT servers that manage IoT devices, two or more networks that follow different communication protocols may exist. For example, the IoT device and the user terminal may transmit and receive data through NFC, and the user terminal and the IoT server may transmit and receive data through the wireless Internet. In order to instruct an IoT device to perform a specific operation or processing, data transmission/reception between the IoT device, the user terminal and the IoT server must be possible. However, when communication between the user terminal and the IoT server is disconnected, the IoT server cannot approve commands to control the IoT device. Meanwhile, only data transmission or reception may be possible depending on the communication performance of the IoT device and/or the user terminal.

본 발명은, 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법을 제시하고자 한다.An object of the present invention is to provide a method for controlling an IoT device that is not affected by a communication state.

본 발명의 일 측면에 따르면, IoT 장치와 사용자 단말은 단거리 무선 통신으로 데이터를 교환하며 사용자 단말과 IoT 서버는 고속 데이터 통신을 통해 데이터를 송수신하는 네트워크에 적용된 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법이 제공된다. 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법은, IoT 장치 등록 요청을 수신하면, IoT 서버가 서버 공개키 및 서버 보안키를 생성하고 상기 서버 공개키를 사용자 단말에 전송하는 단계, 상기 서버 공개키를 수신하면, 상기 사용자 단말이 상기 서버 공개키를 IoT 장치로 분할 전송하는 단계, 분할 전송된 서버 공개키를 수신하면, 상기 IoT 장치가 장치 공개키 및 장치 보안키를 생성하고, 상기 서버 공개키와 상기 장치 보안키로 IoT 장치 대칭키를 생성하여 저장하며, 상기 장치 공개키를 상기 사용자 단말로 분할 전송하는 단계, 분할 전송된 장치 공개키를 수신하면, 상기 사용자 단말이 상기 장치 공개키를 상기 IoT 서버로 전송하는 단계, 및 상기 장치 공개키를 수신하면, 상기 IoT 서버가 상기 장치 공개키와 상기 서버 보안키로 IoT 서버 대칭키를 생성하는 단계를 포함하되, 상기 IoT 장치와 상기 사용자 단말간 분할 전송은, 상기 단거리 무선 통신에 의해 1회 전송 가능한 데이터 크기 단위로 분할하여 전송할 수 있다.According to an aspect of the present invention, the IoT device and the user terminal exchange data through short-range wireless communication, and the user terminal and the IoT server control an IoT device that is not affected by a communication state applied to a network transmitting and receiving data through high-speed data communication. A method is provided. An IoT device control method that is not affected by a communication state includes the steps of, when receiving an IoT device registration request, generating a server public key and a server security key by an IoT server and transmitting the server public key to a user terminal, the server public key. Upon receiving, the user terminal divides and transmits the server public key to the IoT device, upon receiving the dividedly transmitted server public key, the IoT device generates a device public key and a device security key, and the server public key And generating and storing an IoT device symmetric key using the device security key, and transmitting the device public key to the user terminal. When receiving the dividedly transmitted device public key, the user terminal sends the device public key to the IoT Transmitting to a server, and upon receiving the device public key, the IoT server generating an IoT server symmetric key using the device public key and the server security key, wherein divided transmission between the IoT device and the user terminal May be divided and transmitted in units of a data size that can be transmitted once through the short-range wireless communication.

상기 IoT 장치 대칭키와 상기 IoT 서버 대칭키는 동일하며, 상기 IoT 장치와 상기 IoT 서버간 통신은 상기 IoT 장치 대칭키와 상기 IoT 서버 대칭키에 의해 암호화될 수 있다.The IoT device symmetric key and the IoT server symmetric key are the same, and communication between the IoT device and the IoT server may be encrypted by the IoT device symmetric key and the IoT server symmetric key.

통신 상태에 영향을 받지 않는 IoT 장치 제어 방법은, 식별 정보 요청 메시지를 수신하면, 상기 IoT 장치가 상기 IoT 장치 대칭키로 제1 식별자를 암호화하여 상기 사용자 단말로 분할 전송하는 단계-여기서, 상기 제1 식별자는, 상기 IoT 장치에 할당된 식별자임, 분할 전송된 제1 식별자를 수신하면, 상기 사용자 단말이 요청 코드, 암호화된 제1 식별자, 및 제2 식별자를 포함하는 승인 요청 메시지를 상기 IoT 서버로 전송하는 단계-여기서, 상기 요청 코드는 상기 IoT 장치에 요청할 동작 또는 처리를 나타내며, 상기 제2 식별자는 사용자 또는 상기 사용자 단말을 식별하기 위한 정보임, 상기 승인 요청 메시지를 수신하면, 상기 IoT 서버가 상기 IoT 서버 대칭키로 상기 암호화된 제1 식별자를 해독하고, 상기 제2 식별자에 기초하여 상기 요청 코드를 승인하는 단계, 상기 IoT 서버가 승인된 요청 코드에 상응하는 명령 코드를 생성하고 상기 IoT 서버 대칭키로 암호화하여 상기 사용자 단말을 통해 상기 IoT 장치로 전송하는 단계 및 암호화된 명령 코드를 수신하면, 상기 IoT 장치가 상기 IoT 장치 대칭키로 해독하여 상기 명령 코드에 따른 동작 또는 처리를 실행하는 단계를 더 포함할 수 있다.In the IoT device control method that is not affected by a communication state, when receiving an identification information request message, the IoT device encrypts a first identifier with the IoT device symmetric key and transmits the encrypted first identifier to the user terminal-Here, the first The identifier is an identifier assigned to the IoT device, and upon receiving the dividedly transmitted first identifier, the user terminal sends an authorization request message including a request code, an encrypted first identifier, and a second identifier to the IoT server. Transmitting step-Here, the request code represents an operation or processing to be requested from the IoT device, and the second identifier is information for identifying a user or the user terminal. Upon receiving the authorization request message, the IoT server Decrypting the encrypted first identifier with the IoT server symmetric key and approving the request code based on the second identifier, the IoT server generating a command code corresponding to the approved request code, and symmetric the IoT server Encrypting with a key and transmitting to the IoT device through the user terminal, and upon receiving the encrypted command code, the IoT device decrypts with the IoT device symmetric key to execute an operation or processing according to the command code can do.

통신 상태에 영향을 받지 않는 IoT 장치 제어 방법은, 미리 설정된 조건에 따라 상기 사용자 단말이 임시 승인 요청 메시지를 생성하여 상기 IoT 서버에 전송하는 단계, 상기 IoT 서버가 상기 미리 설정된 조건에 부합하는지 판단하여 명령 코드를 생성하고 상기 IoT 서버 대칭키로 암호화된 명령 코드를 포함하는 임시 승인 메시지를 상기 사용자 단말에 전송하는 단계 및 상기 IoT 서버와의 통신이 불가능한 상태가 감지되면, 상기 사용자 단말이 상기 임시 승인 메시지에 포함된 상기 암호화된 명령 코드를 상기 IoT 장치로 분할 전송하는 단계를 더 포함할 수 있다.The method of controlling an IoT device that is not affected by a communication state includes the steps of generating a temporary approval request message by the user terminal according to a preset condition and transmitting it to the IoT server, determining whether the IoT server meets the preset condition Generating a command code and transmitting a temporary approval message including a command code encrypted with the IoT server symmetric key to the user terminal, and when a state in which communication with the IoT server is impossible is detected, the user terminal sends the temporary approval message It may further include the step of transmitting the encrypted command code included in the divided to the IoT device.

통신 상태에 영향을 받지 않는 IoT 장치 제어 방법은, 상기 암호화된 명령 코드를 분할 전송하는 단계 이전에, 상기 IoT 장치에 현재 시각을 설정하는 단계를 더 포함할 수 있다.The method of controlling an IoT device that is not affected by a communication state may further include setting a current time to the IoT device before the step of transmitting the encrypted command code in division.

상기 임시 승인 메시지에 포함된 상기 암호화된 명령 코드는 시간 종속적일 수 있다.The encrypted command code included in the temporary approval message may be time dependent.

통신 상태에 영향을 받지 않는 IoT 장치 제어 방법은, 상기 사용자 단말이 상기 IoT 장치 대칭키로 암호화된 제1 식별자, 제2 식별자 및 요청 코드를 포함하는 승인 요청 메시지를 상기 IoT 서버로 전송하는 단계, 상기 승인 요청 메시지를 수신하면, 상기 IoT 서버가 상기 IoT 서버 대칭키로 상기 암호화된 제1 식별자를 해독하고, 상기 제2 식별자에 기초하여 상기 요청 코드를 승인하는 단계, 상기 IoT 서버가 서버 생성 OTP를 상기 사용자 단말로 전송하는 단계, 상기 사용자 단말은 상기 서버 생성 OTP를 표시하는 단계 및 상기 서버 생성 OTP가 입력되면, 상기 IoT 장치가 상기 OTP를 입력하기 시작한 시점을 기준으로 이전에 생성된 하나 이상의 장치 생성 OTP와 상기 서버 생성 OTP를 비교하는 단계를 더 포함할 수 있다.The method for controlling an IoT device that is not affected by a communication state includes the steps of, by the user terminal, transmitting an authorization request message including a first identifier, a second identifier, and a request code encrypted with the IoT device symmetric key to the IoT server, the Upon receiving the authorization request message, the IoT server decrypting the encrypted first identifier with the IoT server symmetric key and approving the request code based on the second identifier, the IoT server generating a server-generated OTP. Transmitting to a user terminal, the user terminal displaying the server-generated OTP, and when the server-generated OTP is input, one or more devices previously generated based on a time point when the IoT device starts to input the OTP It may further include comparing the OTP and the server-generated OTP.

본 발명에 의한 실시예로 개시된 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법은, IoT 장치, 사용자 단말, 및 IoT 서버간 통신이 원활하지 않은 상태에서도 서비스 제공을 가능하게 할 수 있다. The method for controlling an IoT device that is not affected by a communication state disclosed in an embodiment according to the present invention may enable service provision even when communication between the IoT device, a user terminal, and an IoT server is not smooth.

이하에서, 본 발명은 첨부된 도면에 도시된 실시예를 참조하여 설명된다. 이해를 돕기 위해, 첨부된 전체 도면에 걸쳐, 동일한 구성 요소에는 동일한 도면 부호가 할당되었다. 첨부된 도면에 도시된 구성은 본 발명을 설명하기 위해 예시적으로 구현된 실시예에 불과하며, 본 발명의 범위를 이에 한정하기 위한 것은 아니다.
도 1은 IoT 네트워크에서 발생할 수 있는 통신 장애 상황을 예시적으로 설명하기 위한 도면이다.
도 2는 통신 상태가 정상일 때 IoT 장치의 등록 과정을 예시적으로 설명하기 위한 흐름도이다.
도 3은 통신 상태가 정상일 때 IoT 장치가 특정 동작을 수행하도록 제어하는 과정을 예시적으로 설명하기 위한 도면이다.
도 4는 사용자 단말과 IoT 서버간 통신 장애 상태일 때 IoT 장치가 특정 동작을 수행하도록 제어하는 과정을 예시적으로 설명하기 위한 도면이다.
도 5는 IoT 장치와 사용자 단말간 양방향 데이터 통신이 지원되지 않을 때 IoT 장치가 특정 동작을 수행하도록 제어하는 과정을 예시적으로 설명하기 위한 도면이다.
도 6은 도 2 내지 5에 예시된 IoT 장치 제어 방법이 적용된 네트워크 구성을 예시적으로 설명하기 위한 도면이다.
도 7은 도 6에 예시된 네트워크 구성이 적용된 포인트 적립 및 사용 시스템을 예시적으로 설명하기 위한 도면이다.
In the following, the present invention is explained with reference to the embodiments shown in the accompanying drawings. For ease of understanding, throughout the accompanying drawings, like reference numerals are assigned to like elements. The configurations shown in the accompanying drawings are merely exemplary embodiments to describe the present invention, and are not intended to limit the scope of the present invention.
1 is a diagram for illustratively illustrating a communication failure situation that may occur in an IoT network.
2 is a flowchart illustrating a process of registering an IoT device when a communication state is normal.
3 is a diagram illustrating a process of controlling an IoT device to perform a specific operation when a communication state is normal.
4 is a diagram illustrating a process of controlling an IoT device to perform a specific operation in a communication failure state between a user terminal and an IoT server.
5 is a diagram illustrating a process of controlling an IoT device to perform a specific operation when bidirectional data communication between an IoT device and a user terminal is not supported.
6 is a diagram illustrating a network configuration to which the IoT device control method illustrated in FIGS. 2 to 5 is applied.
FIG. 7 is a diagram illustrating an exemplary point accumulation and use system to which the network configuration illustrated in FIG. 6 is applied.

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

이하, 본 발명의 실시예에 대해 관련 도면들을 참조하여 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the related drawings.

도 1은 IoT 네트워크에서 발생할 수 있는 통신 장애 상황을 예시적으로 설명하기 위한 도면이다.1 is a diagram for illustratively illustrating a communication failure situation that may occur in an IoT network.

하나 이상의 IoT 장치는 IoT 서버에 등록된다. IoT 장치는 IoT 서버에 의해 직접 또는 간접적으로 제어될 수 있다. IoT 장치는, 독립적으로 또는 IoT 서버에 의해 특정 동작 또는 처리(예를 들어, 온도 센싱)를 수행할 수 있다. 네트워크를 통한 통신에서, 정보 보안은 매우 중요하며 이는 IoT 장치와 IoT 서버간 통신에서도 마찬가지이다. IoT 서버가 IoT 장치를 관리하며 IoT 장치는 자신이 등록된 IoT 서버에 의해서만 제어되어야 한다. 따라서 IoT 장치의 등록(100)은 IoT 장치와 IoT 서버간 통신이 정상적인 경우에만 수행되어야 한다. IoT 장치 등록(100)은, 등록 이후 IoT 장치-서버간 모든 통신을 암호화할 때 사용하는 대칭키를 교환하는 과정이며, 도 2를 참조하여 상세히 설명한다. 일부 IoT 장치는, 전력, 크기 등과 같은 제약으로 인해서, 사용자 단말, 예를 들어, 스마트 폰을 통해 IoT 서버와 통신할 수 있다. 예를 들어, IoT 장치와 스마트 폰은 NFC나 블루투스로 연결되며, 스마트 폰과 IoT 서버는 무선 인터넷을 통해 연결될 수 있다. One or more IoT devices are registered on the IoT server. The IoT device can be controlled directly or indirectly by the IoT server. The IoT device may perform a specific operation or processing (eg, temperature sensing) independently or by an IoT server. In communication over a network, information security is very important, and this is also the case for communication between IoT devices and IoT servers. The IoT server manages the IoT device, and the IoT device must be controlled only by the IoT server to which it is registered. Therefore, the registration 100 of the IoT device should be performed only when communication between the IoT device and the IoT server is normal. The IoT device registration 100 is a process of exchanging a symmetric key used to encrypt all communication between the IoT device and the server after registration, and will be described in detail with reference to FIG. 2. Some IoT devices may communicate with an IoT server through a user terminal, for example, a smart phone, due to constraints such as power and size. For example, an IoT device and a smart phone can be connected via NFC or Bluetooth, and a smart phone and an IoT server can be connected via wireless Internet.

IoT 장치 등록(100)과 IoT 장치 제어(110)는 통신 상태가 정상일 때만 이루어질 수 있다. 통신 상태가 정상일 때 IoT 장치를 제어하는 과정은 도 3을 참조하여 상세히 설명한다. 그러나 상술한 바와 같이, IoT 장치-사용자 단말간 통신에 장애(120)가 있거나, 통신 중계를 담당하는 사용자 단말과 IoT 서버간 통신에 장애(130)가 있는 상황에서도, IoT 장치를 제어해야 할 필요가 있을 수 있다. The IoT device registration 100 and the IoT device control 110 can be performed only when the communication state is normal. A process of controlling the IoT device when the communication state is normal will be described in detail with reference to FIG. 3. However, as described above, even in a situation where there is a failure 120 in communication between the IoT device and the user terminal, or in a situation where there is a failure 130 in communication between the user terminal in charge of communication relay and the IoT server, it is necessary to control the IoT device. There may be.

IoT 장치-사용자 단말간 통신 장애(120)는, IoT 장치 및/또는 사용자 단말간 통신이 양방향으로 이루어질 수 없는 경우에 발생할 수 있다. 일방향 통신은, IoT 장치 및 사용자 단말 중 어느 하나 또는 모두의 통신 능력 제약에 의해서 발생할 수 있다. IoT 장치가 데이터를 외부로 전송할 수는 있지만 수신할 수 없거나(예를 들어, IoT 장치가 무선 통신 기능이 없는 경우), 사용자 단말이 IoT 장치로부터 데이터를 읽어올 수는 있지만, IoT 장치에 데이터를 쓸 수 없을 수 있다(예를 들어, 사용자 단말의 NFC 모듈이 리더 모드로만 동작하는 경우). IoT 장치-사용자 단말간 통신 장애(120) 발생시 명령 코드를 IoT 장치에 전달하는 과정은 도 5를 참조하여 상세히 설명한다.The communication failure 120 between the IoT device and the user terminal may occur when communication between the IoT device and/or the user terminal cannot be made in both directions. One-way communication may occur due to communication capability constraints of either or both of the IoT device and the user terminal. The IoT device can transmit data to the outside, but cannot receive it (for example, if the IoT device does not have a wireless communication function), or the user terminal can read data from the IoT device, but send the data to the IoT device. It may not be possible to write (for example, when the NFC module of the user terminal operates in reader mode only). The process of transmitting the command code to the IoT device when the communication failure 120 between the IoT device and the user terminal occurs will be described in detail with reference to FIG. 5.

사용자 단말과 IoT 서버간 통신에 장애(130)는, 다양한 원인에 의해 발생할 수 있으며, 그로 인해 IoT 서버가 IoT 장치로 명령 코드를 전송할 수 없는 상황이다. 사용자 단말과 IoT 서버간 통신 장애(130) 발생시 명령 코드를 IoT 장치에 전달하는 과정은 도 4를 참조하여 상세히 설명한다.A failure 130 in communication between the user terminal and the IoT server may be caused by various causes, and thus, the IoT server cannot transmit a command code to the IoT device. A process of transmitting the command code to the IoT device when a communication failure 130 between the user terminal and the IoT server occurs will be described in detail with reference to FIG. 4.

도 2는 통신 상태가 정상일 때 IoT 장치의 등록 과정을 예시적으로 설명하기 위한 흐름도로서, IoT 장치의 등록 과정(200 내지 240) 및 비밀번호 설정 과정(245 내지 265)으로 구분될 수 있다. 여기서, 비밀번호 설정 과정은 선택적인 과정이다. FIG. 2 is a flowchart for explaining a process of registering an IoT device when the communication state is normal, and may be divided into a process of registering an IoT device 200 to 240 and a process of setting a password 245 to 265. Here, the password setting process is an optional process.

IoT 장치의 등록 과정(200 내지 240)은 비대칭 암호화를 이용하여 대칭키를 분배하는 과정이다. 비대칭 암호화는, IoT 서버가 서버 공개키 및 서버 보안키를 생성하고 서버 공개키를 IoT 장치에 전달하며, IoT 장치가 장치 공개키 및 장치 보안키를 생성하고 장치 공개키를 IoT 서버에 전달함으로써 완료될 수 있다. 대칭키는, 비대칭 암호화 과정에 의해, IoT 장치와 IoT 서버에 각각 생성되며, IoT 장치 대칭키와 IoT 서버 대칭키는 동일하다.The registration process 200 to 240 of the IoT device is a process of distributing a symmetric key using asymmetric encryption. Asymmetric encryption is completed by the IoT server generating the server public key and server security key, passing the server public key to the IoT device, the IoT device generating the device public key and device security key, and passing the device public key to the IoT server. Can be. The symmetric key is generated in each of the IoT device and the IoT server by an asymmetric encryption process, and the IoT device symmetric key and the IoT server symmetric key are the same.

200에서, 사용자 단말은 위치 식별자를 포함한 등록 요청 메시지를 IoT 서버로 보낸다. 여기서, 위치 식별자는, IoT 장치가 설치된 위치를 식별하기 위한 정보로서, 예를 들어, IoT 장치가 도어락인 경우, 도어락이 설치된 방의 호수일 수 있다.In 200, the user terminal sends a registration request message including the location identifier to the IoT server. Here, the location identifier is information for identifying the location where the IoT device is installed. For example, when the IoT device is a door lock, it may be the number of a room in which the door lock is installed.

205에서, IoT 서버는 비대칭 암호화 과정을 위해 서버 공개키와 서버 보안키를 생성한다. 추가적으로, IoT 서버는, 전송 과정 중 해킹 등에 의해 메시지가 위변조되는 것을 탐지하기 위해, 임의의 서버 랜덤값을 생성할 수 있다. 한편, IoT 서버는, 이후 진행될 대칭키 교환을 위해, 위치 식별자를 데이터베이스에 저장한다. 서버 공개키 및 서버 보안키는 위치 식별자에 연관되어 데이터베이스에 저장된다. 추가적으로, 서버 랜덤값이 위치 식별자에 연관되어 데이터베이스에 저장될 수 있다.At 205, the IoT server generates a server public key and a server security key for an asymmetric encryption process. Additionally, the IoT server may generate a random server random value in order to detect that a message is forged or altered by hacking or the like during a transmission process. Meanwhile, the IoT server stores the location identifier in the database for symmetric key exchange to be performed later. The server public key and server security key are associated with the location identifier and stored in the database. Additionally, the server random value may be associated with the location identifier and stored in the database.

210에서, IoT 서버는 서버 메시지를 생성하여 사용자 단말로 전송한다. 서버 메시지는 서버 공개키를 포함하며, 추가적으로 서버 랜덤값을 더 포함할 수 있다. 한편, IoT 장치와 IoT 서버가 동일한 초기 대칭키를 알고 있으면, 서버 공개키 및/또는 서버 랜덤값은 초기 대칭키를 이용하여 암호화될 수 있다. 여기서, 초기 대칭키는, 공장 초기화시 IoT 장치에 저장된 대칭키이며, 비대칭 암호화에 의해 대칭키가 분배된 이후에는 더 이상 사용되지 않을 수 있다.At 210, the IoT server generates a server message and transmits it to the user terminal. The server message includes the server public key, and may further include a server random value. Meanwhile, if the IoT device and the IoT server know the same initial symmetric key, the server public key and/or the server random value may be encrypted using the initial symmetric key. Here, the initial symmetric key is a symmetric key stored in the IoT device upon factory initialization, and may no longer be used after the symmetric key is distributed by asymmetric encryption.

215에서, 사용자 단말은 서버 메시지를 IoT 장치로 분할 전송한다. 사용자 단말과 IoT 서버간 통신 회선과 비교할 때, IoT 장치와 사용자 단말간 통신 회선의 데이터 전송 능력은 상대적으로 낮다. IoT 장치와 사용자 단말간 데이터 통신은, 사용자의 행위, 예를 들어, 사용자 단말을 IoT 장치에 접근시키는 동작에 의해 개시되며 수 초 이내에 완료되는 것이 바람직하다. 이와 같은 요건을 충족시킬 수 있는 통신 방식은, 예를 들어, RFID나 NFC이다. 이러한 단거리 무선 통신은 한 번에 전송할 수 있는 데이터의 크기가 제한적이다. 사용자 단말은, IoT 장치와의 초기 연결시 단거리 무선 통신의 최대 전송 가능한 데이터 크기를 확인하여, 1회 전송 가능한 데이터 크기를 설정한다. 암호화된 서버 메시지가 1회 전송 가능한 데이터 크기 이상이면, 사용자 단말은 서버 메시지를 1회 전송 가능한 데이터 크기 단위로 분할하여, IoT 장치로 전송한다. 예를 들어, 1회 전송 가능한 데이터 크기 단위는 64비트일 수 있다. 분할 전송된 메시지는, 헤더, 분할된 메시지의 수, 및 분할된 서버 메시지를 포함할 수 있다.At 215, the user terminal divides and transmits the server message to the IoT device. Compared with the communication line between the user terminal and the IoT server, the data transmission capability of the communication line between the IoT device and the user terminal is relatively low. Data communication between the IoT device and the user terminal is initiated by an action of the user, for example, an operation of bringing the user terminal to the IoT device, and is preferably completed within a few seconds. Communication methods capable of satisfying such requirements are, for example, RFID or NFC. In such short-range wireless communication, the size of data that can be transmitted at one time is limited. The user terminal checks the maximum transferable data size of short-range wireless communication upon initial connection with the IoT device, and sets the data size that can be transferred once. If the encrypted server message is larger than the data size that can be transmitted once, the user terminal divides the server message into units of the data size that can be transmitted once and transmits it to the IoT device. For example, a data size unit that can be transmitted once may be 64 bits. The divided transmitted message may include a header, the number of divided messages, and divided server messages.

220에서, 분할 전송된 메시지로부터 완성된 서버 메시지를 이용하여 IoT 장치 대칭키가 생성된다. IoT 장치는, 장치 공개키 및 장치 보안키를 생성한다. IoT 장치 대칭키는, 서버 메시지에 포함된 서버 공개키 및 IoT 장치가 생성한 장치 보안키에 의해 생성된다. 생성된 IoT 장치 대칭키는 IoT 장치에 저장된다.In 220, an IoT device symmetric key is generated using a server message completed from the dividedly transmitted message. The IoT device generates a device public key and a device security key. The IoT device symmetric key is generated by the server public key included in the server message and the device security key generated by the IoT device. The generated IoT device symmetric key is stored in the IoT device.

225에서, IoT 장치는, 장치 메시지를 생성하여 사용자 단말로 분할 전송한다. 장치 메시지는, 장치 공개키 및 제1 식별자를 서버 공개키를 이용하여 암호화하여 생성될 수 있다. 여기서, 제1 식별자는, IoT 장치에 할당된 식별자로서, 예를 들어, 고유 일련 번호 등일 수 있다. 단계 215와 동일하게, IoT 장치는, 장치 메시지를 1회 전송 가능한 데이터 크기 단위로 분할하여 사용자 단말로 전송한다.In 225, the IoT device generates a device message and transmits it to the user terminal. The device message may be generated by encrypting the device public key and the first identifier using the server public key. Here, the first identifier is an identifier assigned to the IoT device, and may be, for example, a unique serial number. In the same manner as in step 215, the IoT device divides the device message into units of a data size that can be transmitted once and transmits it to the user terminal.

230에서, 사용자 단말은 등록 메시지를 생성하여 IoT 서버로 전송한다. 사용자 단말은, 분할 전송된 메시지로부터 완성된 장치 메시지를 그대로 IoT 서버로 전송할 수 있다. 추가적으로, 사용자 단말은, 사용자 또는 사용자 단말을 식별할 수 있는 제2 식별자를 등록 메시지에 포함시킬 수 있다. At 230, the user terminal generates a registration message and transmits it to the IoT server. The user terminal may transmit the device message completed from the dividedly transmitted message to the IoT server as it is. Additionally, the user terminal may include a second identifier capable of identifying the user or the user terminal in the registration message.

235에서, 등록 메시지를 수신하면, IoT 서버는 IoT 장치를 등록한다. IoT 서버는, 서버 랜덤값, 서버 보안키 및 등록 메시지를 이용하여, IoT 서버 대칭키 및 제1 식별자를 생성한다. IoT 서버는, 등록 메시지에 포함된 장치 메시지를, 서버 보안키에 의해 해독하여 장치 공개키를 획득한다. IoT 서버 대칭키는, 장치 공개키 및 서버 보안키를 이용하여 생성되며, IoT 장치 대칭키와 동일하다. 등록 메시지로부터 추출된 서버 랜덤값은, 데이터베이스에 저장된 서버 랜덤값과 비교된다. 양 서버 랜덤값이 일치하면, IoT 서버는, IoT 서버 대칭키, 제1 식별자, 및 제2 식별자를 위치 식별자에 연관하여 데이터베이스에 저장한다. At 235, upon receiving the registration message, the IoT server registers the IoT device. The IoT server generates an IoT server symmetric key and a first identifier using a server random value, a server security key, and a registration message. The IoT server obtains a device public key by decrypting the device message included in the registration message using the server security key. The IoT server symmetric key is generated using the device public key and the server security key, and is the same as the IoT device symmetric key. The server random value extracted from the registration message is compared with the server random value stored in the database. If the random values of both servers match, the IoT server stores the IoT server symmetric key, the first identifier, and the second identifier in the database in association with the location identifier.

240에서, IoT 서버는 등록 확인 메시지를 생성하여 사용자 단말로 전송한다. IoT 장치의 등록이 성공적으로 완료되면, 등록 확인 메시지를 수신한 사용자 단말 및/또는 IoT 장치는, 이후 과정, 예를 들어, 패스워드 설정 과정을 수행할 수 있다. 단계 200 내지 240을 통해, IoT 장치는 IoT 장치 대칭키를, IoT 서버는 IoT 서버 대칭키를 각각 보유하게 되며, 이후 IoT 장치와 IoT 서버간 통신은 각 대칭키를 이용하여 암호화될 수 있다.At 240, the IoT server generates a registration confirmation message and transmits it to the user terminal. When the registration of the IoT device is successfully completed, the user terminal and/or the IoT device receiving the registration confirmation message may perform a subsequent process, for example, a password setting process. Through steps 200 to 240, the IoT device holds the IoT device symmetric key, and the IoT server holds the IoT server symmetric key, respectively, and then communication between the IoT device and the IoT server may be encrypted using each symmetric key.

245에서, 사용자 단말은, 사용자 인증키 설정 메시지를 생성하여 IoT 장치로 분할 전송한다. 사용자 인증키 설정 메시지는, 사용자 단말을 통해 입력된 인증키로 IoT 장치를 설정하는 명령을 포함한다. 여기서, 사용자 인증키는, 사용자가 IoT 장치에 특정 동작 또는 처리를 요청할 때, 해당 사용자가 정당한 사용자인지를 확인하는데 필요한 정보로서, 예를 들어, PIN(Personal Identification Number) 또는 패스워드 등일 수 있다. 단계 215와 동일하게, 사용자 단말은, 사용자 인증키 설정 메시지를 1회 전송 가능한 데이터 크기 단위로 분할하여 IoT 장치로 전송한다.At 245, the user terminal generates a user authentication key setting message and transmits the divided transmission to the IoT device. The user authentication key setting message includes a command for setting the IoT device with the authentication key input through the user terminal. Here, the user authentication key is information necessary to confirm whether the user is a legitimate user when a user requests a specific operation or processing from the IoT device, and may be, for example, a personal identification number (PIN) or a password. In the same manner as in step 215, the user terminal divides the user authentication key setting message into units of a data size that can be transmitted once and transmits it to the IoT device.

250에서, 분할 전송된 메시지로부터 완성된 사용자 인증키 설정 메시지를 이용하여 IoT 장치는 사용자 인증키를 저장한다. IoT 장치는, 장치 공개키 및 장치 보안키를 생성한다. IoT 장치 대칭키는, 서버 메시지에 포함된 서버 공개키 및 IoT 장치가 생성한 장치 보안키에 의해 생성된다. 생성된 IoT 장치 대칭키는 IoT 장치에 저장된다. 저장된 사용자 인증키는, 사용자 또는 사용자 단말로부터 특정 동작 또는 처리 요청시 제공된 사용자 인증키와 비교하여, 요청을 승인하는데 이용된다.At 250, the IoT device stores the user authentication key by using the user authentication key setting message completed from the dividedly transmitted message. The IoT device generates a device public key and a device security key. The IoT device symmetric key is generated by the server public key included in the server message and the device security key generated by the IoT device. The generated IoT device symmetric key is stored in the IoT device. The stored user authentication key is compared with a user authentication key provided at the time of a specific operation or processing request from the user or the user terminal, and is used to approve the request.

255에서, IoT 장치는, 설정 확인 메시지를 생성하여 사용자 단말로 분할 전송한다. 260에서, 사용자 단말은 설정 확인 메시지로부터 사용자 인증키 설정 결과를 추출하여 설정 완료 메시지를 생성하고 설정 완료 메시지를 IoT 서버로 전송한다. 265에서, IoT 서버는 IoT 장치에 사용자 인증키가 설정되었음을 확인한다.At 255, the IoT device generates a configuration confirmation message and transmits the divided transmission to the user terminal. At 260, the user terminal extracts the user authentication key setting result from the setting confirmation message, generates a setting completion message, and transmits the setting completion message to the IoT server. At 265, the IoT server verifies that a user authentication key has been set in the IoT device.

도 3은 통신 상태가 정상일 때 IoT 장치가 특정 동작을 수행하도록 제어하는 과정을 예시적으로 설명하기 위한 도면으로, IoT 장치-사용자 단말-IoT 서버간 통신이 정상적으로 이루어질 수 있는 경우를 나타낸다.FIG. 3 is a diagram for illustratively illustrating a process of controlling an IoT device to perform a specific operation when a communication state is normal, and illustrates a case in which communication between an IoT device and a user terminal and an IoT server can be performed normally.

300에서, 사용자 단말은 식별 정보 요청 메시지를 IoT 장치에 요청한다. 사용자가, 단거리 무선 통신, 예를 들어, NFC 통신이 활성화된 상태의 사용자 단말을 IoT 장치에 근접시키면, 사용자 단말은 식별 정보 요청 메시지를 생성하여 IoT 장치로 전송한다. 식별 정보 요청 메시지는 IoT 장치의 제1 식별자의 전송을 지시하는 명령을 포함한다. 식별 정보 요청 메시지는, IoT 장치로 분할 전송될 수 있다.In 300, the user terminal requests an identification information request message from the IoT device. When a user approaches a user terminal in a state in which short-range wireless communication, for example, NFC communication is activated, to the IoT device, the user terminal generates an identification information request message and transmits it to the IoT device. The identification information request message includes a command for instructing transmission of the first identifier of the IoT device. The identification information request message may be dividedly transmitted to the IoT device.

305에서, 식별 정보 요청 메시지를 수신하면, IoT 장치는 암호화된 제1 식별자를 생성한다. 제1 식별자는 IoT 장치 대칭키로 암호화된다. 추가적으로, IoT 장치는 장치 랜덤값을 생성할 수 있다. 생성된 장치 랜덤값은, 이후 IoT 서버와의 통신이 위변조되었는지를 검증하는데 이용될 수 있다.At 305, upon receiving the identification information request message, the IoT device generates an encrypted first identifier. The first identifier is encrypted with the IoT device symmetric key. Additionally, the IoT device may generate a device random value. The generated device random value may then be used to verify whether communication with the IoT server has been forged or altered.

310에서, IoT 장치는 식별 정보 메시지를 사용자 단말로 분할 전송한다. 식별 정보 메시지는, 암호화된 제1 식별자를 포함하며, 추가적으로 장치 랜덤값을 더 포함할 수 있다. In 310, the IoT device divides and transmits the identification information message to the user terminal. The identification information message includes an encrypted first identifier, and may further include a device random value.

315에서, 사용자 단말은, 승인 요청 메시지를 IoT 서버로 전송한다. 승인 요청 메시지는, 사용자가 IoT 장치에 요청할 동작 또는 처리를 나타내는 요청 코드, 암호화된 제1 식별자, 및 제2 식별자를 포함한다.In 315, the user terminal transmits an authorization request message to the IoT server. The authorization request message includes a request code indicating an operation or processing requested by the user to the IoT device, an encrypted first identifier, and a second identifier.

320에서, IoT 서버는 승인 요청 메시지에 따라 사용자 단말이 요청한 요청 코드의 실행을 승인한다. IoT 서버는, 승인 요청 메시지에서 암호화된 제1 식별자, 장치 랜덤값, 및 제2 식별자를 추출하며, 암호화된 제1 식별자는 IoT 장치 대칭키를 이용하여 해독한다. 제1 식별자가 이미 등록되었으며 제2 식별자에 의해 정당한 사용자로부터의 승인 요청 메시지임이 확인되면, IoT 서버는 사용자 단말이 요청한 요청 코드를 승인한다.At 320, the IoT server approves execution of the request code requested by the user terminal according to the approval request message. The IoT server extracts the encrypted first identifier, the device random value, and the second identifier from the authorization request message, and decrypts the encrypted first identifier using the IoT device symmetric key. When the first identifier has already been registered and it is confirmed by the second identifier that it is an authorization request message from a legitimate user, the IoT server approves the request code requested by the user terminal.

325에서, IoT 서버는 승인 메시지를 생성하여 사용자 단말로 전송한다. 승인 메시지는, 승인된 요청 코드에 따라 IoT 장치가 특정 동작 또는 처리를 실행하도록 하는 명령 코드, 및 장치 랜덤값을 포함하며, 명령 코드와 장치 랜덤값은 IoT 서버 대칭키로 암호화된다. At 325, the IoT server generates an approval message and transmits it to the user terminal. The authorization message includes a command code for causing the IoT device to execute a specific operation or processing according to the approved request code, and a device random value, and the command code and the device random value are encrypted with an IoT server symmetric key.

330에서, 사용자 단말은 제어 메시지를 생성하여 IoT 장치로 분할 전송한다. 제어 메시지는, 암호화된 명령 코드 및 장치 랜덤값을 포함한다.At 330, the user terminal generates a control message and transmits it dividedly to the IoT device. The control message includes an encrypted command code and a device random value.

335에서, IoT 장치는 승인 결과를 확인하고 명령 코드에 따라 특정 동작 또는 처리를 실행한다. 일 실시예로, IoT 장치는, IoT 장치 대칭키를 이용하여 암호화된 명령 코드를 해독하여 명령 코드 및 수신한 장치 랜덤값을 획득한다. IoT 장치는, 명령 코드에 따른 동작 또는 처리를 실행한다. 다른 실시예로, IoT 장치는, IoT 장치 대칭키 및 저장된 장치 랜덤값을 이용하여 명령 코드 및 수신한 장치 랜덤값을 획득할 수 있다. 수신한 장치 랜덤값과 저장된 장치 랜덤값이 일치하면, IoT 장치는, 명령 코드에 따른 동작 또는 처리를 실행할 수 있다.At 335, the IoT device checks the approval result and executes a specific operation or process according to the command code. In one embodiment, the IoT device obtains the command code and the received device random value by decrypting the encrypted command code using the IoT device symmetric key. The IoT device executes an operation or processing according to an instruction code. In another embodiment, the IoT device may obtain a command code and a received device random value using the IoT device symmetric key and the stored device random value. When the received device random value and the stored device random value match, the IoT device may perform an operation or processing according to the command code.

340에서, IoT 장치는, 실행 결과 메시지를 생성하여 사용자 단말로 분할 전송한다. 실행 결과 메시지는, 수신한 명령 코드에 따라 정상적으로 동작 또는 처리를 실행하였는지를 나타내는 실행 결과를 포함한다. In 340, the IoT device generates an execution result message and transmits it to the user terminal. The execution result message includes an execution result indicating whether the operation or processing has been normally executed according to the received instruction code.

345에서, 사용자 단말은, 실행 결과를 IoT 서버에 제공하며, 350에서, IoT 서버는 명령 코드가 정확하게 실행되었는지를 확인한다.At 345, the user terminal provides the execution result to the IoT server, and at 350, the IoT server verifies whether the command code has been correctly executed.

도 4는 사용자 단말과 IoT 서버간 통신 장애 상태일 때 IoT 장치가 특정 동작을 수행하도록 제어하는 과정을 예시적으로 설명하기 위한 도면이다.4 is a diagram illustrating a process of controlling an IoT device to perform a specific operation in a communication failure state between a user terminal and an IoT server.

400에서, 사용자 단말은, 임시 승인 요청 메시지를 IoT 서버에 전송한다. 사용자 단말은, 미리 설정된 조건에 따라 임시 승인 요청 메시지를 생성하여 IoT 서버로 전송한다. 일 실시예로, 사용자에게 요구된 사전 행위가 성공적으로 완료되면, 사용자 단말이 임시 승인 요청 메시지를 생성하여 IoT 서버로 전송하거나, IoT 서버가 임시 승인 메시지를 생성하여 사용자 단말에 제공할 수 있다. 예를 들어, 사용자에게 요구된 사전 행위는, 예약, 예약 및 지불, 상품 구매, 동일 매장에서 상품 구매, 상품 구매 후 미리 지정된 기간 내의 새로운 구매 등일 수 있다. 다른 실시예로, 일정 주기로 또는 이벤트 발생시, 사용자 단말은 임시 승인 요청 메시지를 생성하여 IoT 서버로 전송하거나 IoT 서버는 임시 승인 메시지를 생성하여 사용자 단말에 제공할 수 있다. 예를 들어, 이벤트는, 사용자 단말이 IoT 서버와 통신이 가능한 상태가 된 경우, 사용자 단말이 미리 지정된 위치에 진입한 경우, 사용자 단말과 IoT 서버간 통신이 설정된 한계 시간 이상으로 불가능한 경우, 사용자 단말과 IoT 서버간 통신이 설정된 주기 이상으로 빈번하게 불가능한 경우 등일 수 있다. In 400, the user terminal transmits a temporary approval request message to the IoT server. The user terminal generates a temporary approval request message according to a preset condition and transmits it to the IoT server. In an embodiment, when the pre-action requested by the user is successfully completed, the user terminal may generate a temporary approval request message and transmit it to the IoT server, or the IoT server may generate a temporary approval message and provide it to the user terminal. For example, the pre-action requested from the user may be a reservation, a reservation and payment, a product purchase, a product purchase at the same store, a new purchase within a predetermined period after product purchase, and the like. In another embodiment, at a certain period or when an event occurs, the user terminal may generate a temporary approval request message and transmit it to the IoT server, or the IoT server may generate a temporary approval message and provide it to the user terminal. For example, the event is when the user terminal is in a state where communication with the IoT server is possible, when the user terminal enters a predetermined location, when communication between the user terminal and the IoT server is not possible beyond a set time limit, the user terminal This may be a case where communication between the IoT server and the IoT server is frequently impossible beyond a set period.

405에서, IoT 서버는 임시 승인 요청 메시지가 미리 설정된 조건에 부합하는지 판단한다. In 405, the IoT server determines whether the temporary approval request message satisfies a preset condition.

410에서, 미리 설정된 조건에 부합하면, IoT 서버는 임시 승인 메시지를 생성하여 사용자 단말로 전송한다. 임시 승인 메시지는, IoT 장치가 특정 동작 또는 처리를 실행하도록 하는 명령 코드, 및 장치 랜덤값을 포함하며, 명령 코드와 장치 랜덤값은 IoT 서버 대칭키로 암호화된다. 추가적으로, 임시 승인 메시지는, IoT 장치의 시간을 설정하는 시간 설정 명령을 더 포함할 수 있다. In 410, if the preset condition is met, the IoT server generates a temporary approval message and transmits it to the user terminal. The temporary acknowledgment message includes a command code for causing the IoT device to perform a specific operation or processing, and a device random value, and the command code and the device random value are encrypted with an IoT server symmetric key. Additionally, the temporary approval message may further include a time setting command for setting the time of the IoT device.

임시 승인 메시지에 포함된 명령 코드는, 유효 조건이 부여될 수 있다. 일 실시예로, 명령 코드는, 시간 종속적일 수 있다. 예를 들어, 명령 코드는, 일정 시구간 내에서만 유효하거나 특정 시각에만 유효할 수 있다. 다른 실시예로, 명령 코드는 위치 종속적일 수 있다. 예를 들어, 명령 코드는, 설정된 위치에서만 유효할 수 있다. The command code included in the temporary approval message may be given a valid condition. In an embodiment, the command code may be time dependent. For example, the command code may be valid only within a certain period of time or may be valid only at a specific time. In another embodiment, the instruction code may be position dependent. For example, the command code may be valid only at a set position.

415에서, 사용자 단말은, 암호화된 명령 코드를 저장한다.At 415, the user terminal stores the encrypted command code.

사용자 단말은, IoT 서버와의 통신이 가능한지 확인한다. 확인 시점은, 다양하게 결정될 수 있으나, 여기에서는, NFC가 활성화되면, 사용자 단말이 통신 가능 여부를 확인하는 것으로 가정한다. IoT 서버와의 통신이 가능하면, 사용자 단말은 도 3을 참조하여 설명한 방식으로 IoT 장치를 제어한다. 즉, 단계 400 내지 415를 통해 사용자 단말에 저장된 암호화된 명령 코드는 사용되지 않는다. 한편, IoT 서버와의 통신이 가능하지 않으면, 사용자 단말은 단계 420 내지 445에 따른 방식으로 IoT 장치를 제어할 수 있다.The user terminal checks whether communication with the IoT server is possible. The check point may be determined in various ways, but it is assumed here that when NFC is activated, the user terminal checks whether communication is possible. If communication with the IoT server is possible, the user terminal controls the IoT device in the manner described with reference to FIG. 3. That is, the encrypted command code stored in the user terminal through steps 400 to 415 is not used. Meanwhile, if communication with the IoT server is not possible, the user terminal may control the IoT device in a manner according to steps 420 to 445.

420에서, 사용자가 단거리 무선 통신이 활성화된 상태의 사용자 단말을 IoT 장치에 근접시키면, 사용자 단말은, 시간 동기화 명령을 IoT 장치로 분할 전송할 수 있다. IoT 장치와 통신을 개시할 때, 사용자 단말은, IoT 장치가 현재 시간을 알고 있는지 확인한다. IoT 장치가 리얼 타임 클럭을 이용하지 않아서 현재 시간을 알 수 없는 경우, 사용자 단말은 현재 시간을 IoT 장치에 제공한다. 시간 동기화 명령은, 리얼 타임 클럭을 이용하지 않는 IoT 장치가 현재 시각을 설정하도록 하는 명령 코드다. 425에서, IoT 장치는 현재 시각으로 설정된다. IoT 장치가 리얼 타임 클럭을 이용하는 경우, 단계 420 및 425는 생략될 수 있다. At 420, when the user approaches the user terminal in a state in which short-range wireless communication is activated to the IoT device, the user terminal may divide and transmit a time synchronization command to the IoT device. When initiating communication with the IoT device, the user terminal checks whether the IoT device knows the current time. When the current time cannot be known because the IoT device does not use a real-time clock, the user terminal provides the current time to the IoT device. The time synchronization command is a command code that causes an IoT device that does not use a real time clock to set the current time. At 425, the IoT device is set to the current time. When the IoT device uses a real time clock, steps 420 and 425 may be omitted.

430에서, 사용자 단말은 제어 메시지를 생성하여 IoT 장치로 분할 전송한다. 제어 메시지는, 암호화된 명령 코드를 포함한다.At 430, the user terminal generates a control message and transmits it dividedly to the IoT device. The control message includes an encrypted command code.

435에서, IoT 장치는 암호화된 명령 코드에 따라 특정 동작 또는 처리를 실행한다. 일 실시예로, IoT 장치는, IoT 장치 대칭키를 이용하여 암호화된 명령 코드를 해독하여 명령 코드를 획득한다. IoT 장치는 명령 코드에 따른 동작 또는 처리를 실행한다. 다른 실시예로, IoT 장치는, 명령 코드에 연관된 유효 조건에 따라 명령 코드의 유효성을 더 판단할 수 있다. 명령 코드는, IoT 장치의 개입 없이 생성되었으므로, 명령 코드에 연관된 장치 랜덤값은 존재하지 않는다. IoT 장치는, 장치 랜덤값이 없는 경우, 명령 코드가 유효 조건을 충족하는지를 더 판단할 수 있다. 유효 조건을 만족하면, IoT 장치는, 명령 코드에 따른 동작 또는 처리를 실행한다. At 435, the IoT device executes a specific operation or process according to the encrypted command code. In one embodiment, the IoT device obtains the command code by decrypting the encrypted command code using the IoT device symmetric key. The IoT device executes an operation or processing according to the command code. In another embodiment, the IoT device may further determine the validity of the command code according to a valid condition associated with the command code. Since the command code was generated without the intervention of the IoT device, there is no device random value associated with the command code. If there is no device random value, the IoT device may further determine whether the command code satisfies the valid condition. When the valid condition is satisfied, the IoT device executes an operation or processing according to the command code.

440에서, IoT 장치는, 실행 결과 메시지를 생성하여 사용자 단말로 분할 전송한다. 실행 결과 메시지는, 수신한 명령 코드에 따라 정상적으로 동작 또는 처리를 실행하였는지를 나타내는 실행 결과를 포함한다.At 440, the IoT device generates an execution result message and transmits it to the user terminal. The execution result message includes an execution result indicating whether the operation or processing has been normally executed according to the received instruction code.

한편, IoT 장치가 특정 동작 또는 처리를 실행하기 위해, 단계 445 이후에 사용자 단말과 IoT 장치간 통신이 추가될 수 있다. 예를 들어, 사용자가 IoT 장치에 이미 설정된 사용자 인증키를 변경하려는 경우, IoT 장치는, 사용자 인증키를 변경할 수 있는 모드로 전환하며, 이후 사용자 단말에 입력된 새로운 사용자 인증키를 수신하여 저장하는 단계를 더 실행할 수 있다.Meanwhile, in order for the IoT device to perform a specific operation or process, communication between the user terminal and the IoT device may be added after step 445. For example, when the user wants to change the user authentication key already set in the IoT device, the IoT device switches to a mode in which the user authentication key can be changed, and then receives and stores the new user authentication key input to the user terminal. You can run more steps.

도 5는 IoT 장치와 사용자 단말간 양방향 데이터 통신이 지원되지 않을 때 IoT 장치가 특정 동작을 수행하도록 제어하는 과정을 예시적으로 설명하기 위한 도면이다. 도 5에서, IoT 장치는, 사용자로부터 사용자 인증키를 입력받을 수 있는 입력 수단, 예를 들어, 숫자키패드를 구비한다. 도 5에 예시된 과정은, IoT 장치 및 사용자 단말 중 어느 하나에 의해 양방향 무선 통신이 가능하지 않은 경우에 적용될 수 있다.5 is a diagram illustrating a process of controlling an IoT device to perform a specific operation when bidirectional data communication between an IoT device and a user terminal is not supported. In FIG. 5, the IoT device includes an input means, for example, a numeric keypad for receiving a user authentication key from a user. The process illustrated in FIG. 5 may be applied when bidirectional wireless communication is not possible by any one of an IoT device and a user terminal.

500에서, 사용자 단말은 IoT 장치 대칭키로 암호화된 제1 식별자를 포함하는 식별 정보 메시지를 획득한다. 일 실시예로, IoT 장치로부터 식별 정보 메시지를 읽어올 수 있다. 다른 실시예로, IoT 장치는, 식별 정보 메시지를 일정 주기로 브로드캐스팅하며 사용자 단말은 이를 수신할 수 있다.At 500, the user terminal acquires an identification information message including a first identifier encrypted with an IoT device symmetric key. In an embodiment, the identification information message may be read from the IoT device. In another embodiment, the IoT device broadcasts the identification information message at a predetermined period, and the user terminal may receive it.

한편, IoT 장치와 IoT 서버는 일정 주기로 OTP를 생성하며, 장치 생성 OTP와 서버 생성 OTP는 동일하다. OTP는 한 자리 이상의 숫자로 구성되며, 특정 시점에서 생성된 OTP의 유효 기간은 임의적으로 지정될 수 있다. IoT 장치는, 예를 들어, 식별 정보 메시지를 전송한 시점, 사용자가 사용자 인증키를 입력하기 시작한 시점 등에 OTP를 생성할 수 있다.On the other hand, the IoT device and the IoT server generate OTP at regular intervals, and the device-generated OTP and the server-generated OTP are the same. OTP consists of one or more digits, and the validity period of the OTP generated at a specific time can be arbitrarily specified. The IoT device may generate an OTP, for example, when an identification information message is transmitted, when a user starts to input a user authentication key, or the like.

505에서, 사용자 단말은, 승인 요청 메시지를 IoT 서버로 전송한다. 승인 요청 메시지는, 요청 코드, 암호화된 제1 식별자, 및 제2 식별자를 포함한다.In 505, the user terminal transmits an authorization request message to the IoT server. The authorization request message includes a request code, an encrypted first identifier, and a second identifier.

510에서, IoT 서버는 승인 요청 메시지에 따라 요청 코드를 승인한다. IoT 서버는, 승인 요청 메시지에서 암호화된 제1 식별자 및 제2 식별자를 추출하며, 암호화된 제1 식별자는 IoT 장치 대칭키를 이용하여 해독한다. 제1 식별자가 이미 등록되었으며 제2 식별자에 의해 정당한 사용자로부터의 승인 요청 메시지임이 확인되면, IoT 서버는 사용자 단말이 전송한 요청 코드를 승인한다.At 510, the IoT server approves the request code according to the approval request message. The IoT server extracts the encrypted first identifier and the second identifier from the authorization request message, and decrypts the encrypted first identifier using the IoT device symmetric key. When the first identifier has already been registered and it is confirmed by the second identifier that it is an authorization request message from a legitimate user, the IoT server approves the request code transmitted by the user terminal.

515에서, IoT 서버는 승인 메시지를 생성하여 사용자 단말로 전송한다. 승인 메시지는, 서버 생성 OTP를 포함한다. 520에서, 승인 메시지를 수신하면, 사용자 단말은 서버 생성 OTP를 표시한다. 표시된 서버 생성 OTP는 사용자 인증키로 이용되며, 사용자는 IoT 장치의 키패드를 통해 서버 생성 OTP를 입력한다.At 515, the IoT server generates an approval message and transmits it to the user terminal. The acknowledgment message includes a server-generated OTP. At 520, upon receiving the approval message, the user terminal displays a server-generated OTP. The displayed server-generated OTP is used as a user authentication key, and the user inputs the server-generated OTP through the keypad of the IoT device.

525에서, IoT 장치는 승인 결과를 확인하고 명령 코드에 따라 특정 동작 또는 처리를 실행한다. 승인 결과는, 사용자가 입력한 서버 생성 OTP와 장치 생성 OTP가 일치하는지 여부에 의해 확인될 수 있다. 여기서, 사용자 단말이 서버 생성 OTP를 표시하고 이후 사용자가 서버 생성 OTP를 입력할 때까지는 적어도 수 초가 걸릴 수 있다. IoT 장치는, 사용자가 서버 생성 OTP를 입력하기 시작한 시점을 기준으로 이전에 생성된 하나 이상의 장치 생성 OTP와, 사용자가 입력한 서버 생성 OTP를 비교할 수 있다. 예를 들어, OTP 생성 주기가 2초이고, 사용자가 서버 생성 OTP를 수신한 시점부터 입력을 시작하는 시점까지 소요되는 평균 시간이 5초라고 가정하면, IoT 장치는 사용자가 서버 생성 OTP를 입력하기 시작한 시점 T, T-2, T-4, 및 T-6 초에 생성된 4개의 장치 생성 OTP와 사용자가 입력한 서버 생성 OTP를 비교한다. 4개의 장치 생성 OTP 중 어느 하나와 사용자가 입력한 서버 생성 OTP가 일치하면, IoT 장치는, 명령 코드에 따른 동작 또는 처리를 실행할 수 있다.At 525, the IoT device checks the approval result and executes a specific operation or process according to the command code. The approval result may be confirmed by whether the server-generated OTP input by the user and the device-generated OTP match. Here, it may take at least several seconds for the user terminal to display the server-generated OTP and then for the user to input the server-generated OTP. The IoT device may compare one or more device-generated OTPs previously generated based on a time when the user starts to input the server-generated OTP with the server-generated OTP input by the user. For example, assuming that the OTP generation cycle is 2 seconds, and the average time it takes from the time when the user receives the server-generated OTP to the time the input starts is 5 seconds, the IoT device allows the user to input the server-generated OTP. The four device-generated OTPs generated at the start time T, T-2, T-4, and T-6 seconds are compared with the server-generated OTP entered by the user. When any one of the four device-generated OTPs and the server-generated OTP input by the user match, the IoT device may execute an operation or processing according to the command code.

530에서, IoT 장치는, 실행 결과 메시지를 생성하여 사용자 단말로 분할 전송한다. 실행 결과 메시지는, 수신한 명령 코드에 따라 정상적으로 동작 또는 처리를 실행하였는지를 나타내는 실행 결과를 포함한다. In 530, the IoT device generates an execution result message and transmits it to the user terminal. The execution result message includes an execution result indicating whether the operation or processing has been normally executed according to the received instruction code.

535에서, 사용자 단말은, 실행 결과를 IoT 서버에 제공하며, 540에서, IoT 서버는 명령 코드가 정확하게 실행되었는지를 확인한다.At 535, the user terminal provides the execution result to the IoT server, and at 540, the IoT server checks whether the command code has been correctly executed.

도 6은 도 2 내지 5에 예시된 IoT 장치 제어 방법이 적용된 네트워크 구성을 예시적으로 설명하기 위한 도면이다.6 is a diagram illustrating a network configuration to which the IoT device control method illustrated in FIGS. 2 to 5 is applied.

IoT 장치(600, 610, 625, 640)와 IoT 서버(630)를 포함하는 네트워크는, 상호간의 통신 방식에 따라 다양하게 구성될 수 있다. 도 6의 (a)는 사용자 단말, 예를 들어, 단거리 무선 통신 및 고속 데이터 통신을 통해 데이터 송수신이 가능한 스마트폰(620)이 IoT 장치(600, 610)와 IoT 서버(630)간 통신을 중계하는 네트워크이며, (b)에서는 단거리 무선 통신 및 고속 데이터 통신을 통해 데이터 송수신이 가능한 키오스크(605)가 IoT 장치(625, 640)와 IoT 서버(630)간 통신을 중계하는 사용자 단말이다. (a)에서, IoT 장치는, 예를 들어, 키오스크(600), 도어락(620) 등이며, (b)에서 IoT 장치는 스마트 폰(625), 스마트 카드 또는 전자 지갑(640) 등일 수 있다.A network including the IoT devices 600, 610, 625, and 640 and the IoT server 630 may be configured in various ways according to a communication method between them. 6A shows a user terminal, for example, a smartphone 620 capable of transmitting and receiving data through short-range wireless communication and high-speed data communication, relaying communication between the IoT devices 600 and 610 and the IoT server 630 In (b), a kiosk 605 capable of transmitting and receiving data through short-range wireless communication and high-speed data communication is a user terminal that relays communication between the IoT devices 625 and 640 and the IoT server 630. In (a), the IoT device is, for example, a kiosk 600, a door lock 620, and the like, and in (b), the IoT device may be a smart phone 625, a smart card, or an electronic wallet 640.

도 1 내지 5에 예시된 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법은, 다양한 응용 분야에 적용될 수 있다. (a)에 도시된 네트워크에서, 일 실시예로, 키오스크(600)를 통해 상품을 구매하거나 마일리지를 적립하는 과정은, 대칭키 암호화로 보호되며, 특히, 키오스크(600)-사용자 단말(620)-IoT 서버(630)간 통신 상태에 영향을 받지 않게 된다. IoT 서버(630)는, 구매에 따른 결제 과정을 처리하는 결제 서버이거나 마일리지를 관리하는 응용 서버일 수 있다. 결제 또는 마일리지 적립에 적용된 경우, 명령 코드는, 예를 들어, 보안이 필요한 정보의 전송, 갱신 등일 수 있다. 다른 실시예로, 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법은, 사용자 단말(620)을 이용한 도어락(610) 개방에도 적용될 수 있다. 도어락 개방에 적용된 경우, 명령 코드는, 비밀번호 설정/변경, 도어락 개방 등일 수 있다. 유사하게, 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법은 (b)에 도시된 네트워크에 적용되어 상품 구매 또는 마일리지 적립 과정을 안전하게 보호할 수 있다. The IoT device control method that is not affected by the communication state illustrated in FIGS. 1 to 5 can be applied to various application fields. In the network shown in (a), in one embodiment, the process of purchasing products or accumulating mileage through the kiosk 600 is protected by symmetric key encryption, in particular, the kiosk 600-the user terminal 620 -It is not affected by the communication state between IoT servers 630. The IoT server 630 may be a payment server that processes a payment process according to a purchase or an application server that manages mileage. When applied to payment or mileage accumulation, the command code may be, for example, transmission or update of information requiring security. In another embodiment, a method of controlling an IoT device that is not affected by a communication state may be applied to opening the door lock 610 using the user terminal 620. When applied to the door lock opening, the command code may be a password setting/change, door lock opening, or the like. Similarly, the IoT device control method that is not affected by the communication state can be applied to the network shown in (b) to securely protect a product purchase or mileage accrual process.

도 7은 도 6에 예시된 네트워크 구성이 적용된 포인트 적립 및 사용 시스템을 예시적으로 설명하기 위한 도면이다.FIG. 7 is a diagram illustrating an exemplary point accumulation and use system to which the network configuration illustrated in FIG. 6 is applied.

도 7을 참조하면, 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법이 적용된 포인트 적립 및 사용 시스템은, 사용자의 상품 구매/서비스 이용에 대한 보상으로 전자 코인을 사용자에게 지급할 수 있다. 전자 코인은, 범용적으로 거래 가능한 전자 코인, 예를 들어, 비트코인, 이더리움 뿐 아니라, 거래가 허용된 특정 서버나 서비스에만 사용할 수 있는 전자 코인일 수 있다. 포인트 적립 및 사용 시스템은, 전자 코인 관리 서버(700), 키오스크/POS(710), 사용자 단말(720), 및 전자 코인 사용 서버(730)를 포함할 수 있다.Referring to FIG. 7, a point accumulation and use system to which a method for controlling an IoT device that is not affected by a communication state is applied may pay an electronic coin to a user as a reward for the user's product purchase/service use. The electronic coin may be an electronic coin that can be transacted universally, for example, Bitcoin and Ethereum, as well as an electronic coin that can be used only for a specific server or service for which transactions are permitted. The point accumulation and use system may include an electronic coin management server 700, a kiosk/POS 710, a user terminal 720, and an electronic coin use server 730.

전자 코인 관리 서버(700)는, 사용자별 전자 코인 계정을 관리한다. 예를 들어, 전자 코인 관리 서버(700)는, 전자 코인을 계정간 이체하거나, 전자 코인의 매매를 중개할 수 있다. 키오스크/POS(720)는, 사용자 단말(720)로의 전자 코인 이체를 요청할 수 있다. 키오스크 또는 POS는, 개인이 소유한 매장 또는 프랜차이즈 매장에 설치되며, 전자 코인 관리 서버(700)와 고속 데이터 통신을 통해 직접 데이터를 송수신하거나, 사용자 단말(720)과 단거리 무선 통신으로 연결되어 전자 코인 관리 서버(700)와 데이터를 송수신할 수 있다. 사용자 단말(720)은, 전자 코인을 보유 또는 관리하는 앱을 포함한다. 앱은, 키오스크/POS(710)와 연동하여 사용자의 전자 코인 계정에 전자 코인을 적립할 수 있으며, 전자 코인 사용 서버(730)와 연동하여 사용자의 전자 코인 계정으로부터 전자 코인 사용 서버(730)의 전자 코인 계정으로 전자 코인을 이체할 수 있다. 전자 코인 사용 서버(730)는, 사용자가 전자 코인을 사용할 수 있는 서비스를 제공한다. 전자 코인 사용 서버(730)는, 예를 들어, 음악이나 동영상을 다운로드하는 컨텐츠 서버, 사용자가 기부한 전자 코인을 제3자에게 지급하는 기부 서비스 서버, 사용자가 지정한 제3자 또는 기업에 투자하는 투자 서비스 서버 등일 수 있다.The electronic coin management server 700 manages electronic coin accounts for each user. For example, the electronic coin management server 700 may transfer electronic coins between accounts or mediate the trading of electronic coins. The kiosk/POS 720 may request an electronic coin transfer to the user terminal 720. The kiosk or POS is installed in an individual-owned store or franchise store, and directly transmits and receives data through high-speed data communication with the electronic coin management server 700, or is connected to the user terminal 720 through short-range wireless communication to provide an electronic coin. Data can be transmitted and received with the management server 700. The user terminal 720 includes an app that holds or manages electronic coins. The app can store electronic coins in the user's electronic coin account by interlocking with the kiosk/POS 710, and the electronic coin use server 730 from the user's electronic coin account by interlocking with the electronic coin use server 730 Electronic coins can be transferred to an electronic coin account. The electronic coin use server 730 provides a service that allows a user to use an electronic coin. The electronic coin use server 730 is, for example, a content server that downloads music or video, a donation service server that pays an electronic coin donated by a user to a third party, and invests in a third party or company designated by the user. It may be an investment service server or the like.

상술한 시스템에서 실행되는 포인트 적립 및 사용 방법은 다음과 같다. The method of accumulating and using points executed in the above-described system is as follows.

S1에서, 전자 코인 관리 서버(700)는 키오스크/POS(710)에 연관된 전자 코인 계정으로 전자 코인을 이체한다. 매장주 또는 프랜차이즈 회사가 전자 코인을 구매하면, 전자 코인 관리 서버(700)는 키오스크/POS별로 전자 코인 계정을 생성하여 구매한 전자 코인을 이체할 수 있다.In S1, the electronic coin management server 700 transfers the electronic coin to the electronic coin account associated with the kiosk/POS 710. When a store owner or a franchise company purchases an electronic coin, the electronic coin management server 700 may transfer the purchased electronic coin by creating an electronic coin account for each kiosk/POS.

S2에서, 사용자가 상품을 구매하면, S3/S3'에서, 키오스크/POS(710)는 사용자의 전자 코인 계정으로 전자 코인을 이체한다. 계정간 전자 코인의 이체를 수행하기 이전에, 사용자 인증 과정이 필요하다. 이를 위해, 사용자 또는 사용자 단말을 식별할 수 있는 정보(예를 들어, 제2 식별자) 등이 전자 코인 관리 서버(700)-키오스크/POS(710)-사용자 단말(720)간에 교환되어야 한다. 사용자 인증 과정은, 도 2 내지 도 5를 참조하여 설명한 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법이 적용된다.In S2, when the user purchases a product, in S3/S3', the kiosk/POS 710 transfers the electronic coin to the user's electronic coin account. Before transferring electronic coins between accounts, a user authentication process is required. To this end, information (eg, a second identifier) capable of identifying a user or a user terminal must be exchanged between the electronic coin management server 700-kiosk/POS 710-user terminal 720. In the user authentication process, the IoT device control method that is not affected by the communication state described with reference to FIGS. 2 to 5 is applied.

S4에서, 사용자는 전자 코인 사용 서버(730)에서 전자 코인을 사용할 수 있다. 사용자가 사용자 단말(720)을 통해 전자 코인을 이체하면, 전자 코인 사용 서버(730)는 사용자가 원하는 서비스, 예를 들어, 컨텐츠 제공, 전자 코인 기부, 투자 등을 제공하며, S5에서, 그 결과를 사용자 단말(720)에 통지한다.In S4, the user can use the electronic coin in the electronic coin use server 730. When the user transfers the electronic coin through the user terminal 720, the electronic coin use server 730 provides the service desired by the user, for example, content provision, electronic coin donation, investment, etc., and in S5, the result Is notified to the user terminal 720.

S6에서, 전자 코인 사용 서버(730)는 전자 코인 관리 서버(700)와 정산 과정을 수행할 수 있다. 정산은, 전자 코인을 판매하여 실물 화폐로 전환하거나, 계정간 전자 코인 이체를 승인하는 과정이다.In S6, the electronic coin use server 730 may perform a settlement process with the electronic coin management server 700. Settlement is a process of selling electronic coins and converting them into real money or authorizing electronic coin transfer between accounts.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative and non-limiting in all respects.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. .

Claims (7)

IoT 장치와 사용자 단말은 단거리 무선 통신으로 데이터를 교환하며 사용자 단말과 IoT 서버는 고속 데이터 통신을 통해 데이터를 송수신하는 네트워크에 적용된 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법에 있어서,
IoT 장치 등록 요청을 수신하면, IoT 서버가 서버 공개키 및 서버 보안키를 생성하고 상기 서버 공개키를 사용자 단말에 전송하는 단계;
상기 서버 공개키를 수신하면, 상기 사용자 단말이 상기 서버 공개키를 IoT 장치로 분할 전송하는 단계;
분할 전송된 서버 공개키를 수신하면, 상기 IoT 장치가 장치 공개키 및 장치 보안키를 생성하고, 상기 서버 공개키와 상기 장치 보안키로 IoT 장치 대칭키를 생성하여 저장하며, 상기 장치 공개키를 상기 사용자 단말로 분할 전송하는 단계;
분할 전송된 장치 공개키를 수신하면, 상기 사용자 단말이 상기 장치 공개키를 상기 IoT 서버로 전송하는 단계;
상기 장치 공개키를 수신하면, 상기 IoT 서버가 상기 장치 공개키와 상기 서버 보안키로 IoT 서버 대칭키를 생성하는 단계;
식별 정보 요청 메시지를 수신하면, 상기 IoT 장치가 상기 IoT 장치 대칭키로 제1 식별자를 암호화하여 상기 사용자 단말로 분할 전송하는 단계-여기서, 상기 제1 식별자는, 상기 IoT 장치에 할당된 식별자임;
분할 전송된 제1 식별자를 수신하면, 상기 사용자 단말이 요청 코드, 암호화된 제1 식별자, 및 제2 식별자를 포함하는 승인 요청 메시지를 상기 IoT 서버로 전송하는 단계-여기서, 상기 요청 코드는 상기 IoT 장치에 요청할 동작 또는 처리를 나타내며, 상기 제2 식별자는 사용자 또는 상기 사용자 단말을 식별하기 위한 정보임;
상기 승인 요청 메시지를 수신하면, 상기 IoT 서버가 상기 IoT 장치 대칭키로 상기 암호화된 제1 식별자를 해독하고, 상기 제2 식별자에 기초하여 상기 요청 코드를 승인하는 단계;
상기 IoT 서버가 승인된 요청 코드에 상응하는 명령 코드를 생성하고 상기 IoT 서버 대칭키로 암호화하여 상기 사용자 단말을 통해 상기 IoT 장치로 전송하는 단계; 및
암호화된 명령 코드를 수신하면, 상기 IoT 장치가 상기 IoT 장치 대칭키로 해독하여 상기 명령 코드에 따른 동작 또는 처리를 실행하는 단계를 포함하되,
상기 IoT 장치와 상기 사용자 단말간 분할 전송은, 상기 단거리 무선 통신에 의해 1회 전송 가능한 데이터 크기 단위로 분할하여 전송하는, 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법.
In the IoT device control method that is not affected by a communication state applied to a network in which an IoT device and a user terminal exchange data through short-range wireless communication, and a user terminal and an IoT server transmit and receive data through high-speed data communication,
Upon receiving an IoT device registration request, the IoT server generating a server public key and a server security key and transmitting the server public key to a user terminal;
Upon receiving the server public key, the user terminal divides and transmits the server public key to an IoT device;
Upon receiving the dividedly transmitted server public key, the IoT device generates a device public key and a device security key, generates and stores an IoT device symmetric key using the server public key and the device security key, and stores the device public key. Splitting and transmitting to a user terminal;
Upon receiving the dividedly transmitted device public key, transmitting, by the user terminal, the device public key to the IoT server;
Upon receiving the device public key, generating, by the IoT server, an IoT server symmetric key using the device public key and the server security key;
Upon receiving the identification information request message, the IoT device encrypting a first identifier with the IoT device symmetric key and transmitting the encrypted first identifier to the user terminal, wherein the first identifier is an identifier assigned to the IoT device;
Upon receiving the dividedly transmitted first identifier, transmitting, by the user terminal, an authorization request message including a request code, an encrypted first identifier, and a second identifier to the IoT server-wherein the request code is the IoT Indicates an operation or processing to be requested from the device, and the second identifier is information for identifying a user or the user terminal;
Upon receiving the authorization request message, the IoT server decrypting the encrypted first identifier with the IoT device symmetric key and approving the request code based on the second identifier;
Generating, by the IoT server, a command code corresponding to the approved request code, encrypting it with the IoT server symmetric key, and transmitting it to the IoT device through the user terminal; And
Upon receiving the encrypted command code, the IoT device decrypts it with the IoT device symmetric key to execute an operation or processing according to the command code,
The divided transmission between the IoT device and the user terminal is divided and transmitted in units of a data size that can be transmitted once by the short-range wireless communication, and is not affected by a communication state.
청구항 1에 있어서, 상기 IoT 장치 대칭키와 상기 IoT 서버 대칭키는 동일하며, 상기 IoT 장치와 상기 IoT 서버간 통신은 상기 IoT 장치 대칭키와 상기 IoT 서버 대칭키에 의해 암호화되는, 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법.The method according to claim 1, wherein the IoT device symmetric key and the IoT server symmetric key are the same, and the communication between the IoT device and the IoT server is encrypted by the IoT device symmetric key and the IoT server symmetric key. How to control IoT devices that do not receive. 삭제delete IoT 장치와 사용자 단말은 단거리 무선 통신으로 데이터를 교환하며 사용자 단말과 IoT 서버는 고속 데이터 통신을 통해 데이터를 송수신하는 네트워크에 적용된 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법에 있어서,
IoT 장치 등록 요청을 수신하면, IoT 서버가 서버 공개키 및 서버 보안키를 생성하고 상기 서버 공개키를 사용자 단말에 전송하는 단계;
상기 서버 공개키를 수신하면, 상기 사용자 단말이 상기 서버 공개키를 IoT 장치로 분할 전송하는 단계;
분할 전송된 서버 공개키를 수신하면, 상기 IoT 장치가 장치 공개키 및 장치 보안키를 생성하고, 상기 서버 공개키와 상기 장치 보안키로 IoT 장치 대칭키를 생성하여 저장하며, 상기 장치 공개키를 상기 사용자 단말로 분할 전송하는 단계;
분할 전송된 장치 공개키를 수신하면, 상기 사용자 단말이 상기 장치 공개키를 상기 IoT 서버로 전송하는 단계;
상기 장치 공개키를 수신하면, 상기 IoT 서버가 상기 장치 공개키와 상기 서버 보안키로 IoT 서버 대칭키를 생성하는 단계;
미리 설정된 조건에 따라 상기 사용자 단말이 임시 승인 요청 메시지를 생성하여 상기 IoT 서버에 전송하는 단계;
상기 IoT 서버가 상기 미리 설정된 조건에 부합하는지 판단하여 명령 코드를 생성하고 상기 IoT 서버 대칭키로 암호화된 명령 코드를 포함하는 임시 승인 메시지를 상기 사용자 단말에 전송하는 단계; 및
상기 IoT 서버와의 통신이 불가능한 상태가 감지되면, 상기 사용자 단말이 상기 임시 승인 메시지에 포함된 상기 암호화된 명령 코드를 상기 IoT 장치로 분할 전송하는 단계를 더 포함하되,
상기 IoT 장치와 상기 사용자 단말간 분할 전송은, 상기 단거리 무선 통신에 의해 1회 전송 가능한 데이터 크기 단위로 분할하여 전송하는, 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법.
In the IoT device control method that is not affected by a communication state applied to a network in which an IoT device and a user terminal exchange data through short-range wireless communication, and a user terminal and an IoT server transmit and receive data through high-speed data communication,
Upon receiving an IoT device registration request, the IoT server generating a server public key and a server security key and transmitting the server public key to a user terminal;
Upon receiving the server public key, the user terminal divides and transmits the server public key to an IoT device;
Upon receiving the dividedly transmitted server public key, the IoT device generates a device public key and a device security key, generates and stores an IoT device symmetric key using the server public key and the device security key, and stores the device public key. Splitting and transmitting to a user terminal;
Upon receiving the dividedly transmitted device public key, transmitting, by the user terminal, the device public key to the IoT server;
Upon receiving the device public key, generating, by the IoT server, an IoT server symmetric key using the device public key and the server security key;
Generating, by the user terminal, a temporary approval request message according to a preset condition and transmitting it to the IoT server;
Determining whether the IoT server meets the preset condition, generating a command code, and transmitting a temporary approval message including a command code encrypted with the IoT server symmetric key to the user terminal; And
When a state in which communication with the IoT server is impossible is detected, the user terminal further comprises the step of transmitting the encrypted command code included in the temporary approval message to the IoT device,
The divided transmission between the IoT device and the user terminal is divided and transmitted in units of a data size that can be transmitted once by the short-range wireless communication, and is not affected by a communication state.
청구항 4에 있어서,
상기 암호화된 명령 코드를 분할 전송하는 단계 이전에, 상기 IoT 장치에 현재 시각을 설정하는 단계를 더 포함하는, 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법.
The method of claim 4,
The method of controlling an IoT device that is not affected by a communication state, further comprising setting a current time to the IoT device prior to the divided transmission of the encrypted command code.
청구항 4에 있어서, 상기 임시 승인 메시지에 포함된 상기 암호화된 명령 코드는 시간 종속적인, 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법.The method of claim 4, wherein the encrypted command code included in the temporary approval message is time dependent and is not affected by a communication state. IoT 장치와 사용자 단말은 단거리 무선 통신으로 데이터를 교환하며 사용자 단말과 IoT 서버는 고속 데이터 통신을 통해 데이터를 송수신하는 네트워크에 적용된 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법에 있어서,
IoT 장치 등록 요청을 수신하면, IoT 서버가 서버 공개키 및 서버 보안키를 생성하고 상기 서버 공개키를 사용자 단말에 전송하는 단계;
상기 서버 공개키를 수신하면, 상기 사용자 단말이 상기 서버 공개키를 IoT 장치로 분할 전송하는 단계;
분할 전송된 서버 공개키를 수신하면, 상기 IoT 장치가 장치 공개키 및 장치 보안키를 생성하고, 상기 서버 공개키와 상기 장치 보안키로 IoT 장치 대칭키를 생성하여 저장하며, 상기 장치 공개키를 상기 사용자 단말로 분할 전송하는 단계;
분할 전송된 장치 공개키를 수신하면, 상기 사용자 단말이 상기 장치 공개키를 상기 IoT 서버로 전송하는 단계;
상기 장치 공개키를 수신하면, 상기 IoT 서버가 상기 장치 공개키와 상기 서버 보안키로 IoT 서버 대칭키를 생성하는 단계;
상기 사용자 단말이 상기 IoT 장치 대칭키로 암호화된 제1 식별자, 제2 식별자 및 요청 코드를 포함하는 승인 요청 메시지를 상기 IoT 서버로 전송하는 단계;
상기 승인 요청 메시지를 수신하면, 상기 IoT 서버가 상기 IoT 서버 대칭키로 상기 암호화된 제1 식별자를 해독하고, 상기 제2 식별자에 기초하여 상기 요청 코드를 승인하는 단계;
상기 IoT 서버가 서버 생성 OTP를 상기 사용자 단말로 전송하는 단계;
상기 사용자 단말은 상기 서버 생성 OTP를 표시하는 단계; 및
상기 서버 생성 OTP가 입력되면, 상기 IoT 장치가 상기 OTP를 입력하기 시작한 시점을 기준으로 이전에 생성된 하나 이상의 장치 생성 OTP와 상기 서버 생성 OTP를 비교하는 단계를 더 포함하되,
상기 IoT 장치와 상기 사용자 단말간 분할 전송은, 상기 단거리 무선 통신에 의해 1회 전송 가능한 데이터 크기 단위로 분할하여 전송하는, 통신 상태에 영향을 받지 않는 IoT 장치 제어 방법.
In the IoT device control method that is not affected by a communication state applied to a network in which an IoT device and a user terminal exchange data through short-range wireless communication, and a user terminal and an IoT server transmit and receive data through high-speed data communication,
Upon receiving an IoT device registration request, the IoT server generating a server public key and a server security key and transmitting the server public key to a user terminal;
Upon receiving the server public key, the user terminal divides and transmits the server public key to an IoT device;
Upon receiving the dividedly transmitted server public key, the IoT device generates a device public key and a device security key, generates and stores an IoT device symmetric key using the server public key and the device security key, and stores the device public key. Splitting and transmitting to a user terminal;
Upon receiving the dividedly transmitted device public key, transmitting, by the user terminal, the device public key to the IoT server;
Upon receiving the device public key, generating, by the IoT server, an IoT server symmetric key using the device public key and the server security key;
Transmitting, by the user terminal, an authorization request message including a first identifier, a second identifier, and a request code encrypted with the IoT device symmetric key to the IoT server;
Upon receiving the authorization request message, the IoT server decrypting the encrypted first identifier with the IoT server symmetric key and approving the request code based on the second identifier;
Transmitting, by the IoT server, a server-generated OTP to the user terminal;
Displaying the server generated OTP by the user terminal; And
When the server-generated OTP is input, comparing the server-generated OTP with one or more device-generated OTPs previously generated based on a point in time when the IoT device starts to input the OTP,
The divided transmission between the IoT device and the user terminal is divided and transmitted in units of a data size that can be transmitted once by the short-range wireless communication, and is not affected by a communication state.
KR1020190030977A 2019-03-19 2019-03-19 IoT device controlling method regardless of communication KR102199594B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190030977A KR102199594B1 (en) 2019-03-19 2019-03-19 IoT device controlling method regardless of communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190030977A KR102199594B1 (en) 2019-03-19 2019-03-19 IoT device controlling method regardless of communication

Publications (2)

Publication Number Publication Date
KR20200120968A KR20200120968A (en) 2020-10-23
KR102199594B1 true KR102199594B1 (en) 2021-01-07

Family

ID=73039241

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190030977A KR102199594B1 (en) 2019-03-19 2019-03-19 IoT device controlling method regardless of communication

Country Status (1)

Country Link
KR (1) KR102199594B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019503140A (en) 2016-01-11 2019-01-31 センチュリーリンク インテレクチュアル プロパティー エルエルシー System and method for implementing secure communications for Internet of Things (IOT) devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100034461A (en) * 2008-09-24 2010-04-01 삼성전자주식회사 A method for authentication in a communication network and a system thereof
KR101839267B1 (en) * 2017-04-14 2018-03-15 주식회사 엘지유플러스 Settop terminal, application for settop terminal, and operation method of server
KR101952278B1 (en) * 2018-05-11 2019-02-26 주식회사 아이비테크 Remote management system for tunnel

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019503140A (en) 2016-01-11 2019-01-31 センチュリーリンク インテレクチュアル プロパティー エルエルシー System and method for implementing secure communications for Internet of Things (IOT) devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. Menezes 외 2명, Handbook of Applied Cryptography, CRC Press (1996.)*

Also Published As

Publication number Publication date
KR20200120968A (en) 2020-10-23

Similar Documents

Publication Publication Date Title
US11276051B2 (en) Systems and methods for convenient and secure mobile transactions
US20220366413A1 (en) Payment system
US10667310B2 (en) Midrange contactless transactions
CN113630750B (en) Sub-token management system for connected devices
CN101164086B (en) Methods, system and mobile device capable of enabling credit card personalization using a wireless network
CA2969153C (en) Securing contactless payment performed by a mobile device
CN105339963A (en) Systems and methods for linking devices to user accounts
JP7483688B2 (en) System and method for cryptographic authentication of contactless cards - Patents.com
JP2016537887A (en) System and method for securing communication between a card reader device and a remote server
CN113168631A (en) System and method for password authentication of contactless cards
AU2021215207B2 (en) Mid-range reader interactions
EP2779069A1 (en) Method and system for managing a transaction
KR102107190B1 (en) Method and system for authenticatiing user and internet of things device using authentication beacon
KR101449425B1 (en) Method and device for providing payment service
KR102199594B1 (en) IoT device controlling method regardless of communication
KR101886807B1 (en) Payment System for HCE Mobile Advance Payment Type Traffic Card using minimum balance and Payment Method thereof
KR20190083077A (en) Method for Providing Asynchronous Reverse Direction Payment based on Application Interlocking by using Radio Signal Device and Cryptocurrency
KR101875161B1 (en) Payment System for HCE Mobile Deferred Payment Type Traffic Card using Minimum payment amount and Payment Method thereof
KR20190083282A (en) Method for Providing Asynchronous Reverse Direction Payment based on Application Interlocking by using Radio Signal Device and Cryptocurrency
KR20190083278A (en) Method for Providing Asynchronous Reverse Direction Payment based on Application Interlocking by using Radio Signal Device and Cryptocurrency
KR20190083277A (en) Method for Providing Asynchronous Reverse Direction Payment based on Application Interlocking by using Radio Signal Device and Cryptocurrency
KR20190083276A (en) Method for Providing Asynchronous Reverse Direction Payment based on Application Interlocking by using Radio Signal Device and Cryptocurrency
KR20190083281A (en) Method for Providing Asynchronous Reverse Direction Payment based on Application Interlocking by using Radio Signal Device and Cryptocurrency
KR20190083279A (en) Method for Providing Asynchronous Reverse Direction Payment based on Application Interlocking by using Radio Signal Device and Cryptocurrency
KR20190083175A (en) Method for Providing Asynchronous Reverse Direction Payment by using Radio Signal Device and Cryptocurrency

Legal Events

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