KR20170059788A - Method and apparatus for controlling data transmission - Google Patents

Method and apparatus for controlling data transmission Download PDF

Info

Publication number
KR20170059788A
KR20170059788A KR1020150164206A KR20150164206A KR20170059788A KR 20170059788 A KR20170059788 A KR 20170059788A KR 1020150164206 A KR1020150164206 A KR 1020150164206A KR 20150164206 A KR20150164206 A KR 20150164206A KR 20170059788 A KR20170059788 A KR 20170059788A
Authority
KR
South Korea
Prior art keywords
terminal device
network
message
data
terminal
Prior art date
Application number
KR1020150164206A
Other languages
Korean (ko)
Other versions
KR102183958B1 (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 KR1020150164206A priority Critical patent/KR102183958B1/en
Publication of KR20170059788A publication Critical patent/KR20170059788A/en
Application granted granted Critical
Publication of KR102183958B1 publication Critical patent/KR102183958B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W60/00Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
    • H04W60/04Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration using triggered events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/182Network node acting on behalf of an other network entity, e.g. proxy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present invention relates to a method for controlling data transmission, and more specifically, to a method for controlling data transmission to perform a reactivation procedure regarding network connection in accordance with movement of a terminal or a security problem in an internet of things (IoT) system, to which a narrowband communication technology is applied, and an apparatus therefor. To this end, according to an embodiment of the present invention, the method for controlling data transmission comprises: a step of transmitting a re-activation message to a terminal device, which is transmitting data to a service server, in accordance with a preset condition after performing a joining procedure; and a step of re-performing the joining procedure regarding the terminal device by a join request message from the terminal device receiving the re-activation message.

Description

데이터 전송 제어 방법 및 이를 위한 장치{METHOD AND APPARATUS FOR CONTROLLING DATA TRANSMISSION}TECHNICAL FIELD [0001] The present invention relates to a data transfer control method,

본 발명은 데이터 전송 제어 방법에 관한 것으로서, 더욱 상세하게는 협대역(Narrowband) 통신 기술이 적용된 IoT(Internet of Things, 사물인터넷)시스템에 있어서, 단말의 이동 또는 보안 문제에 따라 네트워크 연결에 대한 재활성화 과정을 수행하기 위한 데이터 전송 제어 방법, 이를 위한 장치에 관한 것이다.The present invention relates to a data transmission control method, and more particularly, to an Internet of Things (IoT) system to which a Narrowband communication technology is applied, A data transmission control method for performing an activation process, and an apparatus therefor.

이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the present embodiment and do not constitute the prior art.

IoT(Internet of the Things) 서비스의 보편적 보급을 위해서는 다양한 센서와 제어 장비의 소량 데이터를 원거리에서 신뢰성 및 보안성을 확보하여 송수신할 수 있어야 하지만, 현재까지의 IoT에 적용되는 디바이스들의 인터페이스가 규격화되어 있지 않아 범용성이 낮은 상황이다. In order to popularize the Internet of the Things (IoT) service, it is necessary to transmit and receive a small amount of data of various sensors and control devices by securing reliability and security at a long distance. However, the interfaces of devices applied to the current IoT are standardized There is no universality.

이러한 문제점을 해결하기 위해 최근 LPWA(Low Power Wide Area) 네트워크 기술이 주목 받고 있다. LPWA 통신 기술은 저속 전송이 용인되고, 광역 커버리지를 필요로 하는 롱 배터리 라이프(Long Battery Life)를 지원하는 소량 데이터 전송에 특화된 IoT 기반 네트워크 기술을 통칭하는 용어로, 이러한 LPWA 네트워크 기술의 대표적인 예가 LoRa 기술이다. To solve these problems, LPWA (Low Power Wide Area) network technology has recently been attracting attention. LPWA communication technology is a term collectively referred to as IoT-based network technology that is specialized for small amount of data transmission that supports low battery life and long battery life requiring low-speed transmission. Typical examples of such LPWA network technology are LoRa Technology.

LoRa(Long Range Sub-Ghz Module)는 900MHz대 주파수를 사용하는 저전력 원거리 통신 프로토콜로, 많은 리피터 및 AP가 필요 없어 인프라 구축 비용이 감소되며, 셀룰러 네트워크에 비해 임베디드 애플리케이션을 위한 보다 높은 확장 가능성과 비용 효율성을 제공할 수 있는 통신 프로토콜을 의미한다. The LoRa (Long Range Sub-Ghz Module) is a low-power, long-distance communication protocol using 900MHz band frequency, which eliminates the need for many repeaters and APs to reduce the cost of infrastructure construction and provides greater scalability and cost for embedded applications Which means a communication protocol that can provide efficiency.

이러한 LoRa 기술이 적용된 IoT 시스템은 LoRa 디바이스, 네트워크 서버 및 어플리케이션 서버 등으로 구현될 수 있다. 이때 IoT 서비스에 적용되는 LoRa 디바이스는 네트워크 가입 절차 시 관련 키(Key) 값이 정해지고, 이 키 값을 이용해 데이터를 암호화/복호화한다.Such an IoT system using LoRa technology can be implemented as a LoRa device, a network server, and an application server. In this case, the LoRa device applied to the IoT service decides the related key value in the network joining procedure, and encrypts / decrypts the data using the key value.

이러한 암호화/복호화로 인해, 만약 일정 지역에 대한 독립망을 구축하는 경우에는, 독립망 내에서 가입 절차를 수행한 LoRa 디바이스는 외부망에서 동일한 서비스를 지속적으로 제공할 수 없게 된다. Due to such encryption / decryption, if an independent network is established for a certain area, the LoRa device that has performed the joining procedure in the independent network can not continuously provide the same service in the external network.

또한, 이러한 키 값을 네트워크 접근 승인이 되지 않은 누군가가 알게 되는 경우, 네트워크 접근 승인이 이루어진 단말로 위장하여 데이터를 조작하거나 통신망에서 송수신되는 정보를 도청할 수 있다.In addition, when the key value is not known to a network access authorized user, it is possible to manipulate the data by disguising the terminal to which the network access is granted, or to eavesdrop on the information transmitted and received in the communication network.

이에 따라, 필요한 경우 서비스를 제공하는 서버에서 LoRa 디바이스에 대해 재가입 절차를 수행하여, LoRa 디바이스의 로밍이나 승인되지 않은 제3자의 접근을 차단할 필요성이 발생하였다.Accordingly, it is necessary to perform a re-entry procedure for the LoRa device in the server providing the service, if necessary, to block the roaming of the LoRa device or the access of unauthorized third parties.

한국공개특허 제10-2015-0035971호 (명칭: 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 프로토콜, 2015.04.07)Korean Patent Laid-Open No. 10-2015-0035971 (Name: Communication protocol for secure data transmission between smart devices or smart sensors and network gateways on the Internet, 2015.04.07)

상술한 문제점을 해결하기 위하여 본 발명은, 단말 장치의 네트워크 간 이동 또는 다른 단말 장치로부터의 보안 위협이 있는 경우, 재활성화 메시지를 이용하여 네트워크 가입 절차를 재수행하기 위한 데이터 전송 제어 방법 및 이에 대한 장치를 제안한다.According to an aspect of the present invention, there is provided a data transmission control method for re-performing a network join procedure using a re-activation message when there is a movement of a terminal apparatus between networks or a security threat from another terminal apparatus, Device.

더하여, 본 발명은 단말 장치의 이동이나 보안 위협을 감지하기 위한 조건의 설정을 통해 네트워크 간 이동성을 고려하여 데이터 전송을 제어하고자 한다.In addition, the present invention intends to control data transmission in consideration of mobility between networks through setting of conditions for detecting movement or security threat of a terminal device.

그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.However, the object of the present invention is not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood from the following description.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 데이터 전송 제어 방법은 가입 절차를 수행 후 상기 서비스 서버로 데이터를 전송 중인 단말 장치에 대해서, 기 설정된 조건에 따라서 재활성화(Re-Activation) 메시지를 전송하는 단계; 및 상기 재활성화 메시지를 수신한 단말 장치로부터의 가입 요청(Join Request) 메시지에 의하여 상기 단말 장치에 대한 가입 절차를 재수행하는 단계; 를 포함하여 제공될 수 있다.According to another aspect of the present invention, there is provided a data transmission control method for a terminal device that is transmitting data to a service server after performing a subscription procedure, ) Message; And re-executing the joining procedure for the terminal apparatus according to a Join Request message from the terminal apparatus that has received the reactivation message; May be provided.

또한, 상술한 바와 같은 목적을 달성하기 위한 장치로 단말 장치와 가입 절차를 수행하고, 가입 절차를 수행한 단말 장치와 데이터를 송수신하는 네트워크 인터페이스 모듈; 상기 네트워크 인터페이스 모듈을 통해 가입 절차를 수행 후 상기 서비스 서버로 데이터를 전송 중인 단말 장치에 대해서, 기 설정된 조건에 따라서 재활성화(Re-Activation) 메시지를 전송하고, 상기 재활성화 메시지를 수신한 단말 장치로부터의 가입 요청(Join Request) 메시지에 의하여 상기 단말 장치에 대한 가입 절차를 재수행하고, 상기 단말 장치로부터 전송된 데이터에 대한 MIC(Message Integrity Code) 체크를 수행하고, MIC 체크에 실패한 경우, 상기 단말 장치로 재활성화 메시지를 전송하는 제어 모듈; 을 포함하는 것을 특징으로 하는 서비스 서버를 제공할 수 있다. The present invention also provides a network interface module for performing a subscription procedure with a terminal apparatus and transmitting / receiving data to / from a terminal apparatus that has performed the subscription procedure, After a subscription procedure is performed through the network interface module, a terminal transmitting the data to the service server transmits a Re-Activation message in accordance with predetermined conditions, And performs MIC (Message Integrity Code) check on the data transmitted from the terminal apparatus. If the MIC check fails, the terminal checks the MIC (Join Integrity Code) A control module for transmitting a reactivation message to the device; And a service server for providing the service to the service server.

추가로 본 발명은 상술한 바와 같은 데이터 전송 제어 방법을 실행시키는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체와 그 기록 매체에 저장된 프로그램을 제공할 수 있다.Further, the present invention can provide a computer-readable recording medium on which a program for executing the data transfer control method as described above is recorded, and a program stored in the recording medium.

본 발명에 따르면, 이미 가입 절차를 수행하고 서비스 서버와 데이터를 전송중인 단말 장치와의 통신에 있어서, 기 설정된 조건이 만족되는 경우 상기 단말 장치에 재활성화 메시지를 전송하여, 단말의 네트워크 이동 또는 타 단말의 보안 위협에 따른 문제를 해결할 수 있다.According to the present invention, in the communication between the service server and the terminal device that is transmitting data, when the pre-set condition is satisfied, the terminal device transmits a re-activation message to the terminal, It is possible to solve the problem caused by the security threat of the terminal.

아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.In addition, various effects other than the above-described effects can be directly or implicitly disclosed in the detailed description according to the embodiment of the present invention to be described later.

도 1은 본 발명의 실시 예에 따른 데이터 전송 제어 시스템의 주요 구성을 나타낸 도면이다.
도 2는 본 발명에 따른 서비스 서버에 포함된 네트워크 서버의 주요 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 데이터 전송 제어 시스템에서 단말이 이동하는 경우를 개략적으로 나타낸 도면이다.
도 4는 내지 도 6은 본 발명의 일 실시 예에 따른 데이터 전송 제어 방법을 설명하기 위한 데이터 흐름도이다.
도 7은 본 발명의 다른 실시 예에 따른 데이터 전송 제어 시스템에서 키 값의 탈취가 있는 경우를 개략적으로 나타낸 도면이다.
도 8 내지 도 10은 본 발명의 다른 실시 예에 따른 데이터 전송 제어 방법을 설명하기 위한 데이터 흐름도이다.
1 is a block diagram of a data transmission control system according to an embodiment of the present invention.
2 is a block diagram illustrating a main configuration of a network server included in a service server according to the present invention.
3 is a diagram schematically illustrating a case where a mobile station moves in a data transmission control system according to an embodiment of the present invention.
FIG. 4 through FIG. 6 are data flow charts for explaining a data transmission control method according to an embodiment of the present invention.
7 is a diagram schematically showing a case where a key value is deodorized in a data transmission control system according to another embodiment of the present invention.
8 to 10 are data flow charts for explaining a data transmission control method according to another embodiment of the present invention.

본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the nature and advantages of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings, in which:

다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.

이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the following description and drawings are not to be construed in an ordinary sense or a dictionary, and the inventor can properly define his or her invention as a concept of a term to be described in the best way It should be construed as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.Also, terms including ordinal numbers such as first, second, etc. are used to describe various elements, and are used only for the purpose of distinguishing one element from another, Not used. For example, without departing from the scope of the present invention, the second component may be referred to as a first component, and similarly, the first component may also be referred to as a second component.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when referring to an element as being "connected" or "connected" to another element, it means that it can be connected or connected logically or physically. In other words, it is to be understood that although an element may be directly connected or connected to another element, there may be other elements in between, or indirectly connected or connected.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Also, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. It is also to be understood that the terms such as " comprising "or" having ", as used herein, are intended to specify the presence of stated features, integers, It should be understood that the foregoing does not preclude the presence or addition of other features, numbers, steps, operations, elements, parts, or combinations thereof.

아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.In addition, embodiments within the scope of the present invention include computer readable media having or carrying computer executable instructions or data structures stored in computer readable media. Such computer-readable media can be any available media that is accessible by a general purpose or special purpose computer system. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or in the form of computer- But is not limited to, a physical storage medium such as any other medium that can be used to store or communicate certain program code means of the general purpose or special purpose computer system, .

이하의 설명 및 특허 청구 범위에서, "네트워크" 또는 "통신망"은 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.In the following description and claims, "network" or "communication network" is defined as one or more data links that allow electronic data to be transmitted between computer systems and / or modules. When the information is transmitted or provided to a computer system via a network or other (wired, wireless, or a combination of wired or wireless) communication connection, the connection may be understood as a computer-readable medium. Computer readable instructions include, for example, instructions and data that cause a general purpose computer system or special purpose computer system to perform a particular function or group of functions. The computer executable instructions may be binary, intermediate format instructions, such as, for example, assembly language, or even source code.

특히, 본 발명의 실시 예에서 의미하는 하나의 네트워크는, 동일한 네트워크 서버 하에서 관리되는 게이트웨이와 단말 장치를 의미하는 것으로, 서로 다른 네트워크 서버에서 관리되는 게이트웨이와 단말 장치는 각각 다른 네트워크에 속하는 것으로 한다.Particularly, in the embodiment of the present invention, one network means a gateway and a terminal device managed under the same network server, and a gateway and a terminal device managed by different network servers belong to different networks, respectively.

아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 실시될 수 있다. In addition, the invention may be practiced with other computer systems, including personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, a pager, and the like. < RTI ID = 0.0 > [0040] < / RTI >

본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.The invention may also be practiced in distributed systems environments where both local and remote computer systems linked by a combination of wired data links, wireless data links, or wired and wireless data links over a network perform tasks. In a distributed system environment, program modules may be located in local and remote memory storage devices.

아울러, 본 발명에 따른 실시 예는 협대역(Narrowband) 시스템이라면 어디에든 적용가능 하며, 구체적으로 LoRa 기술에 적용될 수 있다.In addition, the embodiment of the present invention can be applied to any narrowband system, and can be applied to LoRa technology in detail.

따라서, 앞으로 서술할 본 발명에 따른 명세서에는 LoRa 기술을 기반으로 설명을 한다. 다만, 이러한 실시 예가 LoRa 기술에 한정되는 것은 아니며, LTN, Weightless, RPMA 등의 협대역(Narrowband) 통신 네트워크 시스템이 적용가능한 곳이라면 어느 곳에나 적용이 가능하다.Therefore, the description according to the present invention will be described based on LoRa technology. However, this embodiment is not limited to the LoRa technology, and can be applied to any place where a Narrowband communication network system such as LTN, Weightless, and RPMA can be applied.

본 발명은 LoRa 기술에 정의된 데이터 전송 타입인 "Class A/B/C" 타입에도 동작할 수 있다.The present invention can also operate on the "Class A / B / C" type of data transfer type defined in the LoRa technology.

그러면 이제, 도면을 참조하여 본 발명의 실시 예에 따른 데이터 전송 제어 방법을 실행하기 위한 데이터 전송 시스템의 주요 구성에 대해 설명하도록 한다.Now, a main configuration of a data transmission system for executing a data transmission control method according to an embodiment of the present invention will be described with reference to the drawings.

도 1을 참조하면, 본 발명에 따른 데이터 전송 시스템은 하나 이상의 단말장치(100), 하나 이상의 게이트웨이(200), 서비스 서버(500)를 포함하여 구성될 수 있다.Referring to FIG. 1, a data transmission system according to the present invention may include one or more terminal devices 100, one or more gateways 200, and a service server 500.

또한, 상기 서비스 서버(500)는 네트워크 서버(300)와 어플리케이션 서버(400)로 구성될 수 있다.In addition, the service server 500 may include a network server 300 and an application server 400.

네트워크 서버(300)와 어플리케이션 서버(400)는 그 기능이 각각 분리되어 2개의 서버로서 구현될 수도 있지만, 하나의 서버로 합쳐져서 구현될 수도 있다.The functions of the network server 300 and the application server 400 may be separately implemented as two servers, but they may be combined into one server.

한편, 서비스 서버(500)가 네트워크 서버(300)와 어플리케이션 서버(400)로 구분되어 구현되는 경우, 본 발명에 따른 실시 예는 네트워크 서버(300)를 중심으로 구현된다.Meanwhile, when the service server 500 is divided into the network server 300 and the application server 400, the embodiment of the present invention is implemented mainly on the network server 300.

앞으로 본 발명의 실시 예에 따른 데이터 전송 제어 방법의 설명에서는 서비스 서버(500)를 네트워크 서버(300)와 어플리케이션 서버(400)로 구분하여 설명하도록 하겠다.In the description of the data transfer control method according to the embodiment of the present invention, the service server 500 will be described as a network server 300 and an application server 400. [

하지만, 이러한 경우에도 설명되는 본 발명의 실시 예에 따른 데이터 전송 제어 방법에서 네트워크 서버(300)와 어플리케이션 서버(400)가 합쳐진 서비스 서버(500)에서 동작할 수 있음을 명심하여야 한다.In this case, however, it should be noted that the network server 300 and the application server 400 can operate in the combined service server 500 in the data transfer control method according to the embodiment of the present invention.

먼저, 단말 장치(100)는 본 발명의 LoRa 기술이 적용된 LoRa 디바이스를 의미하는 것으로, 사물 통신이 가능한 다양한 사물 기기가 이에 해당될 수 있다. 예를 들어 각종 센서, 제어 장치, 휴대폰, 냉장고, 청소기, 세탁기, 공장 기기, 자동 판매기 등 다양한 사물(things)이 본 발명의 단말장치(100)로 동작 가능하다.First, the terminal device 100 refers to a LoRa device to which the LoRa technology of the present invention is applied, and may correspond to various object devices capable of object communication. Various kinds of things such as various sensors, control devices, mobile phones, refrigerators, vacuum cleaners, washing machines, factory machines, vending machines, etc. can be operated by the terminal device 100 of the present invention.

이러한 단말 장치(100)는 LoRa 타입별로 데이터 전송 동작이 달라질 수 있다. 예를 들어, 단말 장치(100)의 하향링크 데이터 패킷 수신 여부에 따라 클래스가 구분될 수 있다.In this terminal device 100, data transfer operations may be different for each LoRa type. For example, the class may be classified according to whether the downlink data packet of the terminal device 100 is received or not.

단말 장치(100)에서 데이터 전송을 위한 MAC 레이어를 통하여 구분된 클래스를 변경하여 데이터를 전송할 수 있는데, 이러한 클래스를 변경하여 데이터를 전송하기 위한 MAC 레이어가 가지고 있는 정보는 단말 장치(100)뿐만 아니라, 게이트웨이(200), 서비스 서버(500)가 공유하고 있을 수 있다.The terminal 100 may transmit data by changing a class that is classified through a MAC layer for data transmission. Information that the MAC layer for changing data and transmitting data has in the terminal device 100 The gateway 200, and the service server 500, respectively.

단말 장치(100)의 클래스를 살펴보면, 클래스 A는 단말 장치(100)가 상향링크 데이터 패킷 전송 후 정해진 시간(예컨대, 1초) 간격으로 정해진 횟수만큼 하향링크 데이터 패킷을 수신할 수 있는 클래스 타입을 의미하며, 클래스 B는 단말 장치(100)가 정해진 주기(예컨대, 128초)마다 하향링크 데이터 패킷을 수신할 수 있는 클래스 타입을 의미하며, 클래스 C는 항상 하향링크 데이터 패킷을 수신할 수 있는 클래스 타입을 의미한다.The class A includes a class type in which the terminal device 100 can receive a downlink data packet a predetermined number of times (for example, one second) after the transmission of the uplink data packet Class B means a class type in which the terminal apparatus 100 can receive a downlink data packet every fixed period (for example, 128 seconds), and class C means a class capable of always receiving a downlink data packet Type.

그리고 이 외에 추가되는 클래스 타입으로서, 특정 그룹(Group)에 속하는 IoT 단말장치들이 동시에 동일한 데이터를 수신하는 경우, 동일한 데이터를 브로드캐스팅(Broadcasting)하여 상기 특정 그룹에 속하는 IoT 단말 장치들이 동시에 브로드캐스팅한 데이터 패킷을 수신할 수 있는 클래스 타입이 있을 수 있다.When the IoT terminal devices belonging to a specific group receive the same data at the same time, the same data is broadcast to the IoT terminal devices belonging to the specific group, There may be a class type that can receive data packets.

게이트웨이(200)는 단말 장치(100)에 연결되며 단말 장치(100)로부터 전달되는 정보를 네트워크 서버(300)로 전달하고, 네트워크 서버(300)로부터 전달되는 정보를 단말 장치(100)로 전달하는 역할을 수행한다. 특히 본 발명의 게이트웨이(200)는 LoRa 기술이 적용된 기지국이 될 수 있으며, 동시 송신이 가능한 확산 스펙트럼 CDMA(Code Division Multiple Access) 방식으로 패킷을 송수신할 수 있다.The gateway 200 is connected to the terminal device 100 and transfers the information transmitted from the terminal device 100 to the network server 300 and the information transmitted from the network server 300 to the terminal device 100 Role. In particular, the gateway 200 of the present invention can be a base station to which the LoRa technology is applied, and can transmit and receive packets in a spread spectrum CDMA (Code Division Multiple Access) scheme capable of simultaneous transmission.

또한, 본 발명의 게이트웨이(200)는 복수 개의 단말 장치(100)와 연결될 수 있는데, 할당되거나 일정 반경 내 위치하는 단말 장치(100)로부터 전달되는 정보를 네트워크 서버(300)로 전송하며, 이때 자신의 식별번호를 포함하여 전송할 수 있다. 이를 통해 네트워크 서버(300)는 단말장치(100)가 연결된 게이트웨이(200)를 확인할 수 있으며, 어플리케이션 서버(500)로부터 전달되는 데이터 패킷을 해당 게이트웨이(200)로 정확하게 전달하는 과정을 수행하게 된다.The gateway 200 of the present invention may be connected to a plurality of terminal devices 100 and may transmit information transmitted from the terminal device 100 allocated or located within a certain radius to the network server 300, Including the identification number of < / RTI > The network server 300 can confirm the gateway 200 to which the terminal device 100 is connected and performs a process of correctly transmitting the data packet transmitted from the application server 500 to the gateway 200. [

네트워크 서버(300)는 단말 장치(100)를 인증하고, 패킷의 송수신을 지원하는 교환기 역할을 하는 노드를 의미한다. 보다 구체적으로 설명하면 네트워크 서버(300)는 단말 장치(100)와 어플리케이션 서버(400) 간의 가입 절차를 중계할 수 있다. 즉, 단말 장치(100)로부터 어플리케이션 서버(400)에 연결하기 위한 가입 요청(Join Request) 메시지가 전달되면 상기 가입 요청 메시지에 포함된 어플리케이션 식별 정보를 이용하여 어플리케이션 서버(400)를 확인하고, 확인된 어플리케이션 서버(400)로 가입 요청(Join Request) 메시지를 전달한다. 그리고 어플리케이션 서버(400)로부터 가입 요청(Join Request) 메시지에 대한 확인 메시지가 전달되면 네트워크 아이디 및 단말장치 주소 정보를 확인하여 이를 어플리케이션 서버(400)로 전달하여, 어플리케이션 서버(400)에서의 암호화를 위한 세션 키 생성 과정을 지원할 수 있다. The network server 300 refers to a node that serves as an exchange for authenticating the terminal device 100 and supporting transmission and reception of packets. More specifically, the network server 300 can relay the subscription procedure between the terminal device 100 and the application server 400. That is, when a join request message for connection to the application server 400 is transmitted from the terminal device 100, the application server 400 is checked using the application identification information included in the registration request message, And transmits a join request message to the application server 400. When a confirmation message for a join request message is received from the application server 400, the network ID and the terminal device address information are checked and transmitted to the application server 400 to perform encryption in the application server 400 And a session key generation process for the session key.

이러한 과정을 거쳐 가입 절차가 완료되면, 이후의 네트워크 서버(300)는 단말 장치(100) 및 어플리케이션 서버(500) 간의 송수신되는 데이터 패킷에 대한 무결성 검증(Message Intergrity Check, MIC)을 수행할 수 있으며, 이때 상기 세션 키를 이용하여 무결성 검증을 수행할 수 있게 된다. 앞서 설명한 것과 같이 상기 세션 키는 네트워크 세션 키와 어플리케이션 세션 키로 구분될 수 있다.When the subscription process is completed through this process, the network server 300 can perform a message intergrity check (MIC) on data packets transmitted and received between the terminal device 100 and the application server 500 At this time, integrity verification can be performed using the session key. As described above, the session key may be divided into a network session key and an application session key.

각 단말 장치(100)에 따른 그룹 설정과, 각 그룹에 따른 세션 키의 설정을 마치고 난 후, 단말 장치(100)로부터 가입 요청(Join Request) 메시지를 수신하면, 상기 가입 요청 메시지를 전송한 단말장치(100)가 속하는 그룹을 설정된 정보로부터 확인하여, 해당 그룹에 매핑되는 네트워크 세션 키와 어플리케이션 세션 키를 가입 승인(Join Accept) 메시지와 함께 단말장치(100) 에 전송할 수 있다.Upon receiving a Join Request message from the terminal device 100 after completing the group setting according to each terminal device 100 and the setting of the session key according to each group, The group to which the apparatus 100 belongs can be confirmed from the set information and the network session key and the application session key mapped to the group can be transmitted to the terminal device 100 together with a Join Accept message.

어플리케이션 서버(400)는 네트워크 서버(300)와 연결되며, 네트워크 서버(300)로부터 전달되는 단말장치(100)가 전송한 각종 정보를 이용하여 어플리케이션 별로 고유 서비스를 관리, 제어하는 역할을 수행할 수 있다. 이러한 어플리케이션 서버(400)는 복수 개 존재할 수 있으며, 예를 들어, 온도 조절, 방사선 관리, 생활폐기물 관리, 선적관리, 주차관리, 대기오염관리, 화재관리, 수질오염 관리 등 다양한 어플리케이션 서비스를 제공할 수 있다. 즉, 본 발명의 어플리케이션 서버(400)는 단말장치(100)가 생성하는 각종 정보를 네트워크 서버(300)를 거쳐 수집하고, 이에 대응하는 제어 정보를 네트워크 서버(300)를 거쳐 단말장치(100)로 전송하게 된다. The application server 400 is connected to the network server 300 and can manage and control a unique service for each application using various information transmitted from the terminal device 100 transmitted from the network server 300 have. A plurality of such application servers 400 may exist and provide various application services such as temperature control, radiation management, municipal waste management, shipping management, parking management, air pollution management, fire management, . That is, the application server 400 of the present invention collects various kinds of information generated by the terminal device 100 via the network server 300 and transmits the corresponding control information to the terminal device 100 via the network server 300. [ .

본 발명의 실시 예에 따른 데이터 전송을 위한 IoT 시스템을 구성하는 각 장치에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.A processor mounted in each device constituting the IoT system for data transmission according to an embodiment of the present invention can process a program command for executing the method according to the present invention. In one implementation, the processor may be a single-threaded processor, and in other embodiments, the processor may be a multithreaded processor. Further, the processor is capable of processing instructions stored on a memory or storage device.

이상으로 본 발명의 실시 예에 따른 데이터 전송 제어 방법을 구현하기 위한 시스템에 대해서 살펴보았다.Thus, a system for implementing a data transmission control method according to an embodiment of the present invention has been described.

이하, 일반적인 실시 예에 따른 단말 장치(100)가 서비스 서버(500)에 접속하는 과정을 설명한다.Hereinafter, a process in which the terminal device 100 according to the general embodiment connects to the service server 500 will be described.

단말 장치(100)는 서비스 서버(500)에 접속하기 위해 먼저, 가입 요청(Join Request) 메시지를 게이트웨이(200)를 거쳐 네트워크 서버(300)로 전달하게 된다. 단말 장치(100)는 최초 전원 온(on)시 등 지정된 이벤트 발생 시 가입 요청 메시지를 게이트웨이(200)를 거쳐 네트워크 서버(300)로 전달할 수 있다. 단말 장치(100)가 네트워크 서버(300)로 전달하는 가입 요청(Join Request) 메시지는 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI) 및 단말 장치 랜덤값(DevNonce)을 포함하여 구성된다. The terminal device 100 first transmits a join request message to the network server 300 via the gateway 200 in order to access the service server 500. [ The terminal device 100 can transmit a join request message to the network server 300 via the gateway 200 when an event such as the first power-on is generated. A Join Request message transmitted from the terminal device 100 to the network server 300 includes application identification information AppEUI, terminal device identification information DevEUI and terminal device random value DevNonce.

어플리케이션 식별 정보는 어플리케이션 서버(400)에 의해 할당되며, 사전에 설정되어 있는 어플리케이션 구분자를 의미한다. 하나의 단말 장치(100)는 복수 개의 어플리케이션 서버(400)로 정보를 전송할 수 있다. 예를 들어, 단말 장치(100)가 온도를 측정하는 역할을 수행하는 경우, 건물 관리 서비스를 제공하는 어플리케이션 서버(400)로 측정된 온도 정보를 전송할 수 있으며, 온도 정보를 이용하여 상황인지 서비스를 제공하는 어플리케이션 서버로 측정된 온도 정보를 전송할 수도 있다. 이때, 각각의 어플리케이션 서비스 별로 어플리케이션 식별 정보가 서로 다르게 할당될 수 있으며, 단말 장치(100)는 전송하고자 하는 어플리케이션 서버(400)로 자신이 생성한 정보가 전달되도록 어플리케이션 식별 정보를 포함하는 가입 요청 메시지를 네트워크 서버(300)로 전송한다. The application identification information is allocated by the application server 400 and indicates a previously set application identifier. One terminal device 100 can transmit information to a plurality of application servers 400. [ For example, when the terminal device 100 plays a role of measuring the temperature, it can transmit the temperature information measured by the application server 400 providing the building management service, And transmit the measured temperature information to the providing application server. At this time, the application identification information may be assigned to each application service differently, and the terminal device 100 transmits a subscription request message including application identification information to the application server 400, To the network server (300).

반면, 단말 장치 식별정보는 단말 장치(100) 간의 구분을 위한 것으로 최초 설치 시 할당되는 정보가 될 수 있다. 이러한 단말 장치 식별정보는 네트워크 서버(300)에 의해 할당되거나, 단말 장치(100)를 생성한 사업자에 의해 할당될 수 있다. On the other hand, the terminal device identification information is for identifying the terminal devices 100 and may be information allocated at the time of initial installation. Such terminal device identification information may be allocated by the network server 300 or by a provider who has created the terminal device 100. [

단말 장치 랜덤값은 암호화를 위해 단말 장치(100)가 생성하는 값을 의미하며, 가입(join) 절차마다 변경될 수 있다. The terminal device random value means a value generated by the terminal device 100 for encryption and may be changed in each join procedure.

이러한 가입 요청 메시지를 단말 장치(100)가 전송하면, 네트워크 서버(300)는 게이트웨이(200)를 거쳐 상기 가입 요청 메시지를 수신한다. 이때, 게이트웨이(200)를 거쳐 전달되는 메시지, 상기 예시에서 가입 요청 메시지는 게이트웨이 식별 정보를 포함하여 전달될 수 있으며, 네트워크 서버(300)는 게이트웨이 식별 정보를 상기 단말 장치 식별정보에 대응하여 저장한 후 추후 어플리케이션 서버(400)로부터 전달되는 정보가 해당 게이트웨이를 거쳐 단말 장치(100)로 정확히 전송되는 과정을 지원할 수 있다.When the subscription request message is transmitted by the terminal device 100, the network server 300 receives the subscription request message via the gateway 200. [ In this case, the message transmitted through the gateway 200, in this example, the subscription request message may be transmitted including the gateway identification information, and the network server 300 stores the gateway identification information corresponding to the terminal identification information The information transmitted from the application server 400 may be transmitted to the terminal device 100 through the corresponding gateway.

그리고 네트워크 서버(300)는 단말 장치(100)가 전송한 가입 요청 메시지의 어플리케이션 식별 정보를 이용하여 어플리케이션 서버(400)를 확인한다. Then, the network server 300 confirms the application server 400 using the application identification information of the subscription request message transmitted by the terminal device 100.

그리고 확인된 어플리케이션 서버(400)로 가입 요청(Join Request) 메시지를 전송하며, 어플리케이션 서버(400)는 어플리케이션 키(App Key)를 이용하여 MIC(Message Integrity Code) 체크를 수행한다. 즉, 단말 장치(100)가 게이트웨이(200) 및 네트워크 서버(300)를 거쳐 전달한 가입 요청 메시지가 정상적인 메시지인지 무결성을 확인하게 된다. 그리고 정상적인 메시지로 판단되면, 어플리케이션 서버(400)는 네트워크 서버(300)로 가입 요청(Join Request) 메시지 확인 메시지를 전송한다(Confirmed that Join Request is valid).Then, the application server 400 transmits a join request message to the identified application server 400, and the application server 400 performs MIC (Message Integrity Code) check using the application key. That is, the subscriber station 100 confirms whether the subscription request message transmitted through the gateway 200 and the network server 300 is a normal message or integrity. If it is determined that the message is a normal message, the application server 400 transmits a Join Request message confirmation message to the network server 300.

이후, 네트워크 서버(300)는 네트워크 ID(NetID) 및 단말 장치 주소정보(DevAddress)를 확인하고 이를 어플리케이션 서버(400)로 전송한다. Then, the network server 300 confirms the network ID (NetID) and the terminal device address information (DevAddress) and transmits it to the application server 400.

이를 수신한 어플리케이션 서버(400)는 어플리케이션 키(AppKey), 어플리케이션 랜덤값(AppNonce), 네트워크 ID(NetID), 단말 장치 랜덤값(DevNonce)을 이용하여 네트워크 세션 키(NW(network) Session Key)를 생성하고(S113), 어플리케이션 키(AppKey), 어플리케이션 랜덤값(AppNonce), 네트워크 아이디(NetID), 단말 장치 랜덤값(DevNonce)을 이용하여 어플리케이션 세션 키(Application Session Key)를 생성하고, 네트워크 세션 키(NW session key)를 네트워크 서버(300)로 전달한다. The application server 400 receives the network session key (NW) by using an application key (AppKey), an application random value (AppNonce), a network ID (NetID), and a terminal device random value (DevNonce) (S113), generates an application session key (Application Session Key) using an application key (AppKey), an application random value (AppNonce), a network ID (NetID) and a terminal device random value (DevNonce) (NW session key) to the network server 300.

네트워크 서버(300)는 수신한 네트워크 세션 키를 저장한다. 여기서 네트워크 서버(300)는 수신한 네트워크 세션 키를 이용하여 메시지의 무결성을 체크하거나, 메시지 자체를 암호화 과정을 처리할 수 있다.The network server 300 stores the received network session key. Here, the network server 300 can check the integrity of the message using the received network session key, or process the message itself.

이후에, 어플리케이션 서버(400)는 가입 승인(Join Accept) 메시지를 단말 장치(100)로 전송할 수 있다. 이때, 어플리케이션 서버(400)가 전달하는 메시지는 네트워크 서버(300) 및 게이트웨이(200)를 거쳐 단말 장치(100)로 전달될 수 있다.Thereafter, the application server 400 may transmit a Join Accept message to the terminal device 100. At this time, a message delivered by the application server 400 may be delivered to the terminal device 100 via the network server 300 and the gateway 200. [

가입 승인 메시지는 어플리케이션 랜덤값(AppNonce), 네트워크 ID(NetID), 단말 장치 주소정보(DevAddress)를 포함할 수 있다.The subscription grant message may include an application random value (AppNonce), a network ID (NetID), and a terminal device address information (DevAddress).

이 때, 어플리케이션 서버(400)가 네트워크 서버(300) 및 게이트웨이(200)를 거쳐 전달하는 가입 승인(Join Accept) 메시지는 어플리케이션 키(AppKey)로 암호화되어 전송되며, 단말 장치(100)는 어플리케이션 키(AppKey)로 가입 승인 메시지를 복호화할 수 있다. At this time, a Join Accept message transmitted from the application server 400 through the network server 300 and the gateway 200 is transmitted by being encrypted with an application key (AppKey), and the terminal device 100 transmits the application key (AppKey). ≪ / RTI >

이후에, 단말 장치(100)는 어플리케이션 키(AppKey), 어플리케이션 랜덤값(AppNonce), 네트워크 아이디(NetID), 단말 장치 랜덤값(DevNonce)를 이용하여 네트워크 세션 키(NW Session Key)를 생성할 수 있으며, 어플리케이션 세션 키(Application Session Key)를 생성할 수 있다.Thereafter, the terminal device 100 can generate a network session key (NW Session Key) using an application key (AppKey), an application random value (AppNonce), a network ID (NetID), and a terminal device random value (DevNonce) And can generate an application session key (Application Session Key).

이후에, 단말 장치(100)는 네트워크 세션 키 또는 어플리케이션 세션 키를 이용하여 전송하고자 하는 데이터 패킷을 암호화한 후, 데이터 패킷을 게이트웨이(200)를 거쳐 네트워크 서버(300)로 전송한다. After that, the terminal device 100 encrypts the data packet to be transmitted using the network session key or the application session key, and then transmits the data packet to the network server 300 via the gateway 200. [

이를 수신한 네트워크 서버(300)는 저장한 네트워크 세션 키를 이용하여 무결성 체크(integrity check)를 수행하고, 문제가 없을 경우, 어플리케이션 서버(400)로 전송하며, 어플리케이션 서버(500)는 네트워크 세션 키 또는 어플리케이션 세션 키를 이용하여 전달된 데이터 패킷을 복호화할 수 있다. The network server 300 receives the network session key and performs integrity check using the stored network session key and transmits the integrity check to the application server 400 when there is no problem. Or decrypt the data packet delivered using the application session key.

이 때, 네트워크 세션 키는 맥(MAC) 전용 데이터, 즉, 클래스 타입 변경 요청 및 이에 대응하는 응답 메시지 등 네트워크 서버(300)와 단말장치(100) 간의 요청, 응답 등의 시그널링(Signaling) 신호를 암/복호화 하기 위한 세션 키이며, 어플리케이션 세션 키는 단말 장치(100)가 어플리케이션 서버(400) 혹은 네트워크 서버(300)로부터 수신하는 구체적인 어플리케이션 데이터 메시지를 암/복호화 하기 위한 세션 키를 의미할 수 있다.At this time, the network session key transmits a signaling signal such as request, response, etc. between the network server 300 and the terminal device 100, such as MAC dedicated data, that is, a class type change request and a corresponding response message And the application session key may be a session key for encrypting / decrypting a specific application data message received from the application server 400 or the network server 300 by the terminal device 100 .

이상으로, 본 발명의 일반적인 실시 예에 따른 데이터 전송 제어 시스템에서의 가입 절차에 대하여 설명하였다.Thus, the subscription procedure in the data transmission control system according to the general embodiment of the present invention has been described.

이하에서, 본 발명의 실시 예에 다른 장치에 대하여 설명한다.Hereinafter, an apparatus according to an embodiment of the present invention will be described.

도 2는 본 발명에 따른 네트워크 서버(300)의 주요 구성을 도시한 블록도이다.2 is a block diagram showing a main configuration of the network server 300 according to the present invention.

도 2를 참조하면, 네트워크 서버(300)는 네트워크 인터페이스 모듈(310), 저장모듈(320), 제어모듈(330), 사용자 인터페이스 모듈(340)을 포함하여 구성될 수 있다.2, the network server 300 may include a network interface module 310, a storage module 320, a control module 330, and a user interface module 340.

네트워크 인터페이스 모듈(310)은 어플리케이션 서버(400) 혹은 게이트웨이(200)로부터 데이터를 송수신하는 장치이다.The network interface module 310 is a device that transmits and receives data from the application server 400 or the gateway 200.

네트워크 서버(300)는 이러한 네트워크 인터페이스 모듈(310)을 통해서 원격지에 위치한 장치와 정보를 송수신할 수 있다.The network server 300 can transmit and receive information to and from a remote device through the network interface module 310.

네트워크 인터페이스 모듈(310)은, 예를 들면, 네트워크 인터페이스 카드 및 대응하는 네트워크 드라이버 인터페이스 사양(Network Driver Interface Specification: "NDIS") 스택과 같은 하나 이상의 소프트웨어 및/또는 하드웨어 모듈의 논리적 조합으로 나타낼 수 있다. The network interface module 310 may be represented by a logical combination of one or more software and / or hardware modules, for example, a network interface card and a corresponding Network Driver Interface Specification ("NDIS") stack .

특히, 본 발명에 있어서 네트워크 인터페이스 모듈(310)은, 단말장치(100)로부터 가입 요청 메시지가 수신되면 단말 장치(100)와의 가입 절차를 수행하고, 가입 절차를 수행한 단말 장치(100)와 데이터를 송수신할 수 있다. Particularly, in the present invention, when the subscription request message is received from the terminal device 100, the network interface module 310 performs the subscription procedure with the terminal device 100, Lt; / RTI >

저장모듈(320)는 네트워크 간 이동이 가능하도록 설정된 단말 장치(100)의 정보를 등록하고, 가입 절차를 수행한 단말 장치(100)의 프로파일 정보를 저장할 수 있다. The storage module 320 may register the information of the terminal device 100 set to be able to move between the networks and store the profile information of the terminal device 100 that has performed the registration procedure.

특히, 네트워크 간 이동이 가능한 단말 장치(100)의 경우 어플리케이션 키(App Key), 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI) 중 하나 이상을 저장할 수 있다.In particular, in the case of the terminal device 100 capable of inter-network movement, at least one of an application key (App Key), application identification information (AppEUI), and terminal device identification information (DevEUI) can be stored.

또한, 단말 장치에 대한 프로파일 정보로는 단말 장치에 할당된 네트워크 세션 키(Network Session Key), 어플리케이션 키(App key), 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI), 단말 장치 주소정보(Device Adress) 중 하나 이상을 저장할 수 있다.The profile information for the terminal device includes a network session key, an application key, an application identification information (AppEUI), a terminal device identification information (DevEUI), a terminal device address information (Device Address).

제어 모듈(330)은 상기 네트워크 인터페이스 모듈을 통해 가입 절차를 수행 후 상기 서비스 서버로 데이터를 전송 중인 단말 장치(100)에 대해서, 기 설정된 조건에 따라서 재활성화(Re-Activation) 메시지를 전송하고, 상기 재활성화 메시지를 수신한 단말 장치(100)로부터의 가입 요청(Join Request) 메시지에 의하여 상기 단말 장치(100)에 대한 가입 절차를 재수행하기 위한 구성이다.The control module 330 transmits a Re-Activation message to the terminal device 100, which is transmitting data to the service server 100, according to predetermined conditions after performing the subscription procedure through the network interface module, And performs a join procedure for the terminal device 100 again according to a Join Request message from the terminal device 100 receiving the reactivation message.

또한, 제어 모듈(330)은, 단말 장치(100)로부터 전송된 데이터에 대한 MIC(Message Integrity Code) 체크를 수행하고, MIC 체크에 실패한 경우, 단말 장치(100)가 기 등록된 단말 장치인지 확인하여, 단말 장치(100)로 재활성화 메시지를 전송할 수 있다.In addition, the control module 330 performs MIC (Message Integrity Code) check on the data transmitted from the terminal device 100. If the MIC check fails, the control module 330 determines whether the terminal device 100 is a pre- And transmit the reactivation message to the terminal device 100. [

아울러, 제어 모듈(330)은, 단말 장치(100)로부터 전송된 데이터로부터 상기 단말 장치의 프로파일 정보를 추출하고, 추출한 프로파일 정보와 저장된 프로파일 정보를 비교하여, 추출한 프로파일 정보와 저장된 프로파일 정보가 일치하는 않는 경우 재활성화 메시지를 전송할 수 있다.In addition, the control module 330 extracts the profile information of the terminal device from the data transmitted from the terminal device 100, compares the extracted profile information with the stored profile information, and determines whether the extracted profile information matches the stored profile information If not, a reactivation message can be sent.

제어 모듈(330)은, 기 설정된 시간 주기에 따라 상기 재활성화 메시지를 전송할 수도 있다.The control module 330 may transmit the reactivation message according to a predetermined time period.

여기서 재활성화 메시지란, 단말 장치(100)의 데이터 송신에 대응하여, 기 설정된 조건에 따라 단말 장치(100)에 가입 요청 메시지를 다시 전송하도록 하는 메시지로, 단말 장치(100)가 재활성화 메시지를 수신하는 경우, 서비스 서버(500)에 가입 요청 메시지를 전송하여, 가입 절차를 처음부터 다시 진행하게 된다.Here, the reactivation message is a message for causing the terminal device 100 to transmit a subscription request message again according to a predetermined condition in response to data transmission of the terminal device 100, and the terminal device 100 transmits a reactivation message In the case of receiving, the subscription request message is transmitted to the service server 500, and the subscription procedure is resumed from the beginning.

사용자 인터페이스 모듈(340)은 외부 소스로부터 데이터를 송수신하는 장치이다.The user interface module 340 is a device that transmits and receives data from an external source.

또한, 사용자 인터페이스 모듈(340)은 모뎀(예를 들면, 표준 모뎀, 케이블 모뎀, 또는 디지털 가입자선(digital subscriber line: “DSL”) 모뎀)에 연결될 수 있으며, 이러한 모뎀을 통해 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송할 수 있다.The user interface module 340 may also be coupled to a modem (e.g., a standard modem, a cable modem, or a digital subscriber line (" DSL ") modem) Receive and / or transmit data to an external source.

이러한 본 발명의 실시 예에 따른 네트워크 서버(300)는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다. The network server 300 according to the embodiment of the present invention has the same hardware configuration as that of a typical Web server or a network server. However, the software includes a program module implemented through a language such as C, C ++, Java, Visual Basic, Visual C, or the like.

한편, 본 발명의 각 장치에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.On the other hand, the memory mounted on each device of the present invention stores information in the device. In one implementation, the memory is a computer-readable medium. In one implementation, the memory may be a volatile memory unit, and in other embodiments, the memory may be a non-volatile memory unit. In one implementation, the storage device is a computer-readable medium. In various different implementations, the storage device may comprise, for example, a hard disk device, an optical disk device, or any other mass storage device.

비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.Although the present specification and drawings describe exemplary device configurations, the functional operations and subject matter implementations described herein may be embodied in other types of digital electronic circuitry, or alternatively, of the structures disclosed herein and their structural equivalents May be embodied in computer software, firmware, or hardware, including, or in combination with, one or more of the foregoing. Implementations of the subject matter described herein may be embodied in one or more computer program products, i. E. One for computer program instructions encoded on a program storage medium of the type for < RTI ID = 0.0 & And can be implemented as a module as described above. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects the machine readable propagation type signal, or a combination of one or more of the foregoing.

이상, 본 발명의 실시 예에 따른 네트워크 서버(300)의 주요 구성 및 동작 방법에 대해 설명하였다.The main configuration and operation method of the network server 300 according to the embodiment of the present invention have been described above.

이하, 본 발명의 일 실시 예에 따른 데이터 전송 제어 방법에 대해 도 3 내지 도 6을 통해 설명하도록 한다.Hereinafter, a data transmission control method according to an embodiment of the present invention will be described with reference to FIG. 3 to FIG.

도 3은 본 발명의 일 실시 예에 따른 데이터 전송 제어 시스템에서 단말 장치(100)가 이동하는 경우를 개략적으로 나타낸 도면이다.3 is a diagram schematically illustrating a case where a terminal device 100 moves in a data transmission control system according to an embodiment of the present invention.

도 3의 (a)는 단말 장치(100)가 제1 네트워크에 속한 환경을 나타내며, 도 3의 (b)는 단말 장치(100)가 제2 네트워크로 이동한 환경을 나타낸다.3 (a) shows an environment in which the terminal device 100 belongs to the first network, and FIG. 3 (b) shows an environment in which the terminal device 100 has moved to the second network.

도 3의 (a)에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 데이터 전송 제어 환경은 하나 이상의 단말 장치(100)와 제1 게이트웨이(200a) 및 제1 서비스 서버(500a), 제2 게이트웨이(200b) 및 제2 서비스 서버(500b) 사이에서 형성될 수 있다. 도 3에서는 서비스 서버로 표현하였으나, 반드시 서비스 서버 전체가 나누어질 필요는 없으며, 네트워크 서버가 복수로 존재하는 경우 각 네트워크를 형성할 수 있다. 네트워크 서버의 수에 따라 네트워크의 수가 정해질 수 있으나 도 3의 설명에서는 제1 네트워크와 제2 네트워크를 형성한 경우에 대해 설명하도록 한다.3, a data transmission control environment according to an exemplary embodiment of the present invention includes at least one terminal device 100, a first gateway 200a and a first service server 500a, And may be formed between the gateway 200b and the second service server 500b. In FIG. 3, the service server is represented as a service server. However, the service server does not necessarily have to be divided, and each network can be formed when a plurality of network servers exist. The number of networks can be determined according to the number of network servers, but in the description of FIG. 3, the case where the first network and the second network are formed will be described.

어플리케이션 서버의 경우는 제1 네트워크와 제2 네트워크에 분리되어 존재할 수도, 제1 네트워크 서버와 제2 네트워크 서버 양쪽에 연결되어 하나로 존재할 수도 있다.The application server may exist separately in the first network and the second network, or may be connected to both the first network server and the second network server, and may exist as one.

도 3을 참조하면, 제1 게이트웨이(200a)는 제1 서비스 서버(500a)와 연결되어 있고, 제2 게이트웨이(200b)는 제2 서비스 서버(500b)와 연결되어 있다. 제1 네트워크와 제2 네트워크는 상호 독립적으로, 서로 별개의 네트워크 ID를 가지며, 네트워크 ID가 다르므로 네트워크 세션 키와 어플리케이션 세션 키의 값도 다르게 된다.Referring to FIG. 3, the first gateway 200a is connected to the first service server 500a, and the second gateway 200b is connected to the second service server 500b. Since the first network and the second network have mutually independent network IDs and have different network IDs, the values of the network session key and the application session key are different.

이러한 상황에서, 도 3의 (a)와 같이 단말 장치(100)가 제1 네트워크에 연결되어 있던 상태에서 제1 네트워크의 커버리지를 벗어나 제2 네트워크로 도 3의 (b)와 같이 이동할 수 있다.In this situation, as shown in FIG. 3A, when the terminal device 100 is connected to the first network, it can move out of coverage of the first network and move to the second network as shown in FIG. 3B.

이러한 로밍이 발생하는 이유는, 동일한 서비스를 연속적으로 제공받기 위한 것으로, 제1 네트워크에서 서비스를 받던 고객이 제1 네트워크의 커버리지 이외에서도 연속적으로 서비스를 제공받게 하기 위한 것이다.The roaming occurs in order to continuously provide the same service, and to allow a customer who has been served in the first network to continuously receive service in addition to the coverage of the first network.

도 4는, 기존의 방식에 따라 제1 네트워크에 연결되어 있던 단말 장치(100)가 이동에 의해 제2 네트워크에 연결을 시도하는 경우를 나타낸다. 이하에서는, 각 제1 네트워크와 제2 네트워크가 각 네트워크 서버를 기준으로 형성된 것을 가정하여 설명한다. 여기서 각 네트워크 서버는 어플리케이션 서버의 기능을 포함하거나, 혹은 어플리케이션 서버와 별도로 구성될 수 있다.FIG. 4 shows a case where the terminal device 100 connected to the first network attempts to connect to the second network by moving according to an existing method. Hereinafter, it is assumed that each of the first network and the second network is formed on the basis of each network server. Here, each network server may include the function of the application server, or may be configured separately from the application server.

도 4를 참조하면, 단말 장치(100)는 제1 게이트웨이(200a)를 통해 제1 네트워크 서버(300a)로 가입 요청을 보내고(S400), 제1 네트워크 서버(300a)는 기 설명한 가입 절차를 수행하고 가입 승인 메시지를 전송한다(S402). 단말 장치(100)는 제1 네트워크에 연결되어 제1 네트워크 서버(300a)와 암/복호화된 IoT 데이터를 송수신한다(S404).4, the terminal device 100 sends a subscription request to the first network server 300a through the first gateway 200a (S400), and the first network server 300a performs the subscription procedure And transmits a join approval message (S402). The terminal device 100 is connected to the first network and transmits / receives the I / O data to / from the first network server 300a (S404).

이후, 단말 장치(100)가 제1 네트워크 커버리지를 벗어나 제2 네트워크 커버리지로 이동하는 경우가 발생할 수 있다(S406). 이러한 경우 단말 장치(100)는 제2 게이트웨이(200b)와 통신하여, 암호화된 데이터를 동일하게 제2 게이트웨이(200b)를 거쳐 제2 네트워크 서버(300b)에 전송한다(S408, S410). 이후 제2 네트워크 서버(300b)는 MIC 체크를 수행한다(S412).Thereafter, it may occur that the terminal apparatus 100 moves out of the first network coverage to the second network coverage (S406). In this case, the terminal device 100 communicates with the second gateway 200b and transmits the encrypted data to the second network server 300b via the second gateway 200b (S408 and S410). Thereafter, the second network server 300b performs an MIC check (S412).

여기서, 단말 장치(100)는 제1 네트워크의 네트워크 ID를 이용해 생성한 네트워크 세션 키를 가지고 있으므로, 이는 제2 네트워크에서는 이용될 수 없다. 따라서 MIC 체크에 실패하게 되고(S414), 호 처리(Call Processing)가 불완료되어 데이터 송수신을 할 수 없다(S416).Here, since the terminal device 100 has a network session key generated using the network ID of the first network, it can not be used in the second network. Therefore, the MIC check fails (S414), the call processing is not completed and data transmission / reception can not be performed (S416).

만약, 제1 네트워크 서버(300a)에서 제2 네트워크 서버(300b)에 단말 장치(100)와 제1 네트워크 서버(300a)의 가입 절차를 통해 이용 가능한 네트워크 세션 키에 관한 정보를 통지한 경우에는, 제2 네트워크 서버(300b)가 단말 장치(100)와 정상적으로 호 처리를 수행할 수 있으며, 그 과정은 다음과 같다.If the first network server 300a notifies the second network server 300b of the information on the available network session key through the subscription procedure of the terminal device 100 and the first network server 300a, The second network server 300b can normally perform call processing with the terminal device 100, and the process is as follows.

도 5는, 네트워크 세션 키 값이 제2 네트워크 서버(300b)에 있을 때 제1 네트워크에 연결되어 있던 단말 장치(100)가 이동에 의해 제2 네트워크에 연결을 시도하는 경우를 나타낸다.5 shows a case where the terminal device 100 connected to the first network tries to connect to the second network by movement when the network session key value is in the second network server 300b.

도 5를 참조하면, 단말 장치(100)는 제1 게이트웨이(200a)를 통해 제1 네트워크 서버(300a)로 가입 요청을 보내고(S500), 제1 네트워크 서버(300a)는 기 설명한 가입 절차를 수행하고 가입 승인 메시지를 전송한다(S502). 단말 장치(100)는 제1 네트워크에 연결되어 제1 네트워크 서버(300a)와 암/복호화된 IoT 데이터를 송수신한다(S504).5, the terminal device 100 sends a subscription request to the first network server 300a through the first gateway 200a (S500), and the first network server 300a performs the subscription procedure described above And transmits a join approval message (S502). The terminal device 100 is connected to the first network and transmits / receives the I / O data to / from the first network server 300a (S504).

이후, 단말 장치(100)가 제1 네트워크 커버리지를 벗어나 제2 네트워크 커버리지로 이동하는 경우가 발생할 수 있다(S506). 이러한 경우 단말 장치(100)는 제2 게이트웨이(200b)와 통신하여, 암호화된 데이터를 동일하게 제2 게이트웨이(200b)를 거쳐 제2 네트워크 서버(300b)에 전송한다(S508, S510). 이후 제2 네트워크 서버(300b)는 MIC 체크를 수행한다(S512).Thereafter, it may occur that the terminal apparatus 100 moves out of the first network coverage to the second network coverage (S506). In this case, the terminal device 100 communicates with the second gateway 200b and transmits the encrypted data to the second network server 300b via the second gateway 200b (S508 and S510). Thereafter, the second network server 300b performs an MIC check (S512).

여기서, 단말 장치(100)는 제1 네트워크의 네트워크 ID를 이용해 생성한 네트워크 세션 키를 가지고 있으며, 제2 네트워크 서버(300b) 역시 제1 네트워크에서 생성된 세션 키를 가지고 있어 이를 이용하여 MIC 체크에 성공하게 되고(S514), 호 처리(Call Processing)가 정상적으로 처리되어 데이터 송수신을 진행할 수 있다(S516).Here, the terminal device 100 has a network session key generated using the network ID of the first network, and the second network server 300b also has a session key generated in the first network, and uses the generated session key to check the MIC (S514), the call processing is normally processed and data transmission / reception can proceed (S516).

그러나 네트워크 세션 키 값을 공유할 것인지의 여부는 제1 네트워크의 관리자의 의사에 의해 정해질 수밖에 없으며, 네트워크 세션 키 값을 주고받는 거나 기록하는 데에 따른 보안 문제도 발생할 수밖에 없어, 본 발명의 일 실시 예에 따른 재활성화 메시지를 전송하는 단계를 통할 필요성이 발생한다.However, whether or not to share the network session key value must be determined by the intention of the administrator of the first network, and there arises a security problem caused by exchanging or recording the network session key value. There is a need to pass through the step of transmitting the reactivation message according to the embodiment.

도 6은, 본 발명의 일 실시 예에 따른 데이터 전송 제어 방법을 나타낸 데이터 흐름도이다.6 is a data flow diagram illustrating a data transfer control method according to an embodiment of the present invention.

도 6을 참조하면, 단말 장치(100)는 제1 게이트웨이(200a)를 통해 제1 네트워크 서버(300a)로 가입 요청을 보내고(S600), 제1 네트워크 서버(300a)는 기 설명한 가입 절차를 수행하고 가입 승인 메시지를 전송한다(S602). 단말 장치(100)는 제1 네트워크에 연결되어 제1 네트워크 서버(300a)와 암/복호화된 IoT 데이터를 송수신하는 과정이(S604) 기존과 유사하게 이루어진다.6, the terminal device 100 sends a subscription request to the first network server 300a through the first gateway 200a (S600), and the first network server 300a performs the subscription procedure described above And transmits a join approval message (S602). The terminal device 100 is connected to the first network and transmits / receives the I / O data to / from the first network server 300a in step S604.

또한, 단말 장치(100)가 제1 네트워크 커버리지를 벗어나 제2 네트워크 커버리지로 이동하는 경우가 발생할 수 있다(S606). 기존의 경우와 마찬가지로, 이러한 경우 단말 장치(100)는 제2 게이트웨이(200b)와 통신하여, 암호화된 데이터를 동일하게 제2 게이트웨이(200b)를 거쳐 제2 네트워크 서버(300b)에 전송한다(S608, S610). 이후 제2 네트워크 서버(300b)는 MIC 체크를 수행한다(S612).In addition, a case may occur in which the terminal device 100 moves out of the first network coverage to the second network coverage (S606). The terminal device 100 communicates with the second gateway 200b and transmits the encrypted data to the second network server 300b via the second gateway 200b in the same manner as in the conventional case (S608 , S610). Thereafter, the second network server 300b performs an MIC check (S612).

여기서 만약 네트워크 세션 키 값을 제2 네트워크 서버(300b)가 가지고 있어 MIC 체크가 성공하면, 호 처리가 정상적으로 처리되어 데이터 송수신을 진행할 수 있다(S516).Here, if the second network server 300b has the network session key value and the MIC check is successful, the call processing is normally performed and the data transmission / reception can proceed (S516).

그러나 MIC 체크에 실패하면, 제2 네트워크 서버(300b)는 단말 장치(100)가 네트워크 간 로밍이 가능하도록 기 등록된 단말 장치인지 확인한다(S614).However, if the MIC check fails, the second network server 300b determines whether the terminal device 100 is a pre-registered terminal device capable of roaming between networks (S614).

여기서, 기 등록된 단말 장치인지 확인하는 방법은, 단말 장치에 대한, 어플리케이션 키(App Key), 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI) 중 하나 이상을 저장 모듈(320)에 저장하고, 상기 MIC 체크에 실패한 단말 장치(100)의 어플리케이션 키(App Key), 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI) 중 하나 이상을 기 등록된 단말 장치의 그것과 비교하는 방식으로 이루어질 수 있다.Here, the method of verifying whether the terminal device is a pre-registered terminal device is to store at least one of an application key (App Key), application identification information (AppEUI), and terminal device identification information (DevEUI) And compares at least one of an application key (App Key), application identification information (AppEUI), and terminal device identification information (DevEUI) of the terminal device 100 that failed the MIC check with that of the previously registered terminal device Lt; / RTI >

여기서 기 등록된 단말 장치가 아닌 경우는, 로밍이 허용되지 않은 단말 장치로 제2 네트워크에 연결될 수 없으므로, 호 처리(Call Processing)가 불완료되어 데이터 송수신을 할 수 없다(S416).If the terminal device is not the registered terminal device, it can not be connected to the second network with the terminal device not allowed to roam, so that the call processing is incomplete and the data transmission / reception can not be performed (S416).

반면 기 등록된 단말 장치인 경우에는, 서비스의 연속적 제공을 위해 제2 네트워크에 연결될 수 있고, 이를 위하여 제2 네트워크 서버(300b)는 재활성화 메시지를 전송하고(S616, Re Act Req), 이는 제2 게이트웨이(200b)를 거쳐 단말 장치에 전송된다(S618).On the other hand, in the case of a terminal device previously registered, the second network server 300b may transmit a re-activation message (S616, Re Act Req) to the second network for continuous provision of services, 2 gateway 200b to the terminal device (S618).

단말 장치(100)가 재활성화 메시지를 수신하면, 이에 대응하여 가입 요청을 제2 네트워크 서버(300b)로 전송하고(S620), 이에 의하여 제2 네트워크 서버(300b)는 가입 절차를 재수행하여, 단말 장치(100)의 네트워크 가입을 승인하며(S622), 이후 단말 장치(100)는 새로운 네트워크 세션 키를 부여받아 제2 네트워크를 이용하여 서비스를 제공할 수 있다.When the terminal device 100 receives the reactivation message, the terminal device 100 transmits a subscription request to the second network server 300b in step S620. In response thereto, the second network server 300b re- The terminal 100 approves the network subscription of the device 100 (S622), and the terminal 100 can then receive the new network session key and provide the service using the second network.

이상으로, 본 발명의 일 실시 예에 따른 데이터 전송 제어 방법을 설명하였다.The data transmission control method according to an embodiment of the present invention has been described above.

이하에서, 도 7 내지 도 10을 참조하여, 본 발명의 다른 실시 예에 따른 데이터 전송 제어 방법을 설명한다. Hereinafter, a data transmission control method according to another embodiment of the present invention will be described with reference to FIGS. 7 to 10. FIG.

도 7은 본 발명의 다른 실시 예에 따른 데이터 전송 제어 시스템에서 키 값의 탈취가 있는 경우를 개략적으로 나타낸 도면이다. 7 is a diagram schematically showing a case where a key value is deodorized in a data transmission control system according to another embodiment of the present invention.

도 7에 도시된 바와 같이, 본 발명의 또 다른 실시 예에 따른 데이터 전송 제어 환경은 복수의 단말 장치(100a, 100b)와 게이트웨이(200), 서비스 서버(500) 사이에서 형성될 수 있다.7, a data transmission control environment according to another embodiment of the present invention may be formed between a plurality of terminal devices 100a and 100b, a gateway 200, and a service server 500. [

이러한 네트워크 환경에서는, 가입 절차에서 네트워크 세션 키의 값이 정해지고, 이를 이용하여 IoT 데이터의 암/복호화를 수행한다. 즉, 네트워크 세션 키와 어플리케이션 키 값을 알게 되면, 다른 단말 장치로 위장하여 데이터를 조작하거나, 도청하는 것이 가능하다. In this network environment, the value of the network session key is determined in the subscription procedure, and the I / O data is encrypted / decrypted using the value of the network session key. That is, when the network session key and the application key value are known, data can be manipulated or eavesdropped by other terminal devices.

도 7에서는, 제1 단말 장치(100a)가 게이트웨이(200)와 서비스 서버(500) 사이에서 데이터를 송수신하는 도중, 제2 단말 장치(100b)가 네트워크 세션 키와 어플리케이션 키를 탈취하여 게이트웨이(200)와 서비스 서버(500)에 제1 단말 장치(100a)인 것처럼 연결된 환경을 나타낸다.7, when the first terminal device 100a transmits and receives data between the gateway 200 and the service server 500, the second terminal device 100b takes the network session key and the application key, And the service server 500 as if it were the first terminal device 100a.

여기서 제1 단말 장치(100a)는 정상적인 가입 절차를 수행하여 네트워크 세션 키 및 어플리케이션 키를 생성한 단말 장치이며, 제2 단말 장치(100b)는 이러한 네트워크 세션 키 및 어플리케이션 키를 비정상적인 방법으로 탈취하여 네트워크에 연결된 단말 장치를 나타낸다.Here, the first terminal device 100a is a terminal device that generates a network session key and an application key by performing a normal subscription procedure, and the second terminal device 100b seizes the network session key and the application key in an abnormal manner, To the terminal device.

도 8은 이러한 네트워크 세션 키와 어플리케이션 키의 탈취 상황에서 발생할 수 있는 사례를 나타낸 흐름도이다.FIG. 8 is a flowchart illustrating an example of a case where the network session key and the application key may be stolen.

네트워크 서버(300)는 어플리케이션 서버(400)의 기능을 포함하는 서비스 서버(500)로 대체될 수 있으며, 혹은 어플리케이션 서버(400)와 별도로 구성될 수 있다.The network server 300 may be replaced with a service server 500 including the function of the application server 400 or may be configured separately from the application server 400.

도 8을 참조하면, 정상 단말 장치인 제1 단말 장치(100a)는 게이트웨이(200)를 통해 네트워크 서버(300)로 가입 요청을 보내고(S800), 네트워크 서버(300)는 기 설명한 가입 절차를 수행하고 가입 승인 메시지를 전송한다(S802). 앞서 가입 절차에 대해 설명한 바와 같이, 가입 요청 시 단말 장치(100)는 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI), 단말 장치 랜덤값(DevNonce)을 전송하며, 가입 승인 시 네트워크 서버는 어플리케이션 랜덤값(AppNonce), 단말 장치 주소 정보(DevAddress), 네트워크 ID(NetID)를 전송한다.Referring to FIG. 8, the first terminal device 100a serving as a normal terminal device sends a join request to the network server 300 through the gateway 200 (S800), and the network server 300 performs the above- And transmits a join approval message (S802). The terminal device 100 transmits application identification information (AppEUI), terminal device identification information (DevEUI), and terminal device random value (DevNonce) at the time of the subscription request, and the network server Application random number (AppNonce), terminal device address information (DevAddress), and network ID (NetID).

이를 이용하여, 제1 단말 장치(100a)와 네트워크 서버(300)는 각각 동일한 네트워크 세션 키와 어플리케이션 키를 생성한다(S804a, S804b).Using this, the first terminal device 100a and the network server 300 generate the same network session key and application key, respectively (S804a and S804b).

이러한 상황에서, 제2 단말 장치(100b)가, 비정상적인 방법, 예를 들어 해킹 등을 통해 제1 단말 장치(100a)와 네트워크 서버(300)가 생성한 네트워크 세션 키와 어플리케이션 키를 탈취하는 경우가 발생할 수 있다(S806).In this situation, the case where the second terminal device 100b takes out the network session key and the application key generated by the first terminal device 100a and the network server 300 through an abnormal method, for example, hacking (S806).

이러한 경우, 네트워크 서버(300)는 제2 단말 장치(100b)를 제1 단말 장치(100a)인 것처럼 인식할 수 있으며, 이에 따라 다음의 두 가지 상황이 발생할 수 있다.In this case, the network server 300 can recognize that the second terminal device 100b is the first terminal device 100a, and the following two situations may occur.

먼저, 제2 단말 장치(100b)가 제1 단말 장치(100a)로 위장하여 조작된 데이터를 전송할 수 있다. 제2 단말 장치(100b)가 조작된 데이터를 게이트웨이(200)를 통하여 네트워크 서버(300)에 전송하는 경우(S808, S810), 네트워크 서버(300)는 제2 단말 장치(100b)가 전송한 잘못된 데이터를 기반으로 서비스를 제공(S812)하게 된다(사례 1).First, the second terminal device 100b can transmit the manipulated data in spite of the first terminal device 100a. When the second terminal device 100b transmits the manipulated data to the network server 300 through the gateway 200 in steps S808 and S810, the network server 300 determines that the wrong data transmitted from the second terminal device 100b The service is provided based on the data (S812) (Case 1).

예를 들어, 본 발명의 협대역 통신 방식에 의한 사물인터넷 서비스는 전기, 가스, 난방 등 각종 인프라에 관련된 서비스가 될 수 있다. 이 경우, 제1 단말 장치(100a)가 해당 인프라에 관한 사용량을 측정할 수 있을 때, 제2 단말 장치(100b)의 개입으로 사용량을 조작하여 결과적으로 해당 인프라에 대한 사용 요금이 비정상적으로 부과되는 상황이 발생할 수 있다. For example, the object Internet service by the narrowband communication method of the present invention can be a service related to various infrastructures such as electricity, gas, and heating. In this case, when the first terminal device 100a can measure the usage amount of the infrastructure, the usage amount is manipulated by intervention of the second terminal device 100b, and as a result, the usage fee for the infrastructure is abnormally charged Situations can arise.

또한, 제2 단말 장치(200b)가 조작된 데이터를 전송하는 것이 아닌, 제1 단말 장치(100a)가 게이트웨이(200)를 거쳐 네트워크 서버(300)와 송수신(S814, S816)하는 데이터를, 제2 단말 장치(100b)가 수신하여 상기 송수신하는 데이터를 확인, 즉 데이터를 도청하는 경우가 발생할 수 있다(S818)(사례 2).The first terminal device 100a transmits the data transmitted and received (S814, S816) to and from the network server 300 via the gateway 200, instead of transmitting the manipulated data to the second terminal device 200b. 2 terminal device 100b to check the data to be transmitted and received, that is, to tap the data (S818) (Case 2).

예를 들어, 제1 단말 장치(100a)가 특정 지역의 기온을 측정하여 네트워크 서버(300)에 전송하는 서비스를 수행하는 단말 장치인 경우, 제2 단말 장치(100b)는 네트워크 관리자의 허락이나 비용 지불 없이 이러한 정보를 무단으로 수집 가능한 상황이 발생할 수 있다.For example, when the first terminal device 100a measures a temperature of a specific area and transmits the measured temperature to the network server 300, the second terminal device 100b may allow the network administrator There may be situations where such information can be collected without payment without permission.

도 9와 도 10은 이러한 상황을 방지하기 위하여 재활성화 메시지를 이용한 데이터 전송 제어 방법을 수행하는 과정을 나타낸 메시지 흐름도이다.9 and 10 are a message flow diagram illustrating a process of performing a data transmission control method using a reactivation message in order to prevent such a situation.

도 9는 사례 1의 상황을 방지하기 위해 재활성화 메시지를 이용한 데이터 전송 제어 방법을 수행하는 과정을 나타낸 메시지 흐름도이다.9 is a message flow diagram illustrating a process of performing a data transmission control method using a reactivation message to prevent the situation of Case 1.

도 9를 참조하면, 먼저 제1 단말 장치(100a)는 게이트웨이(200)를 통해 네트워크 서버(300)로 가입 요청을 보내고(S900), 네트워크 서버(300)는 기 설명한 가입 절차를 수행하고 가입 승인 메시지를 전송한다(S902). 앞서 가입 절차에 대해 설명한 바와 같이, 가입 요청 시 단말 장치(100)는 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI), 단말 장치 랜덤값(DevNonce)을 전송하며, 가입 승인 시 네트워크 서버는 어플리케이션 랜덤값(AppNonce), 단말 장치 주소 정보(DevAddress), 네트워크 ID(NetID)를 전송한다.9, the first terminal device 100a firstly sends a subscription request to the network server 300 through the gateway 200 (S900), and the network server 300 performs the subscription procedure described above, Message (S902). The terminal device 100 transmits application identification information (AppEUI), terminal device identification information (DevEUI), and terminal device random value (DevNonce) at the time of the subscription request, and the network server Application random number (AppNonce), terminal device address information (DevAddress), and network ID (NetID).

이를 이용하여, 제1 단말 장치(100a)와 네트워크 서버(300)는 각각 동일한 네트워크 세션 키와 어플리케이션 키를 생성한다(S904a).Using this, the first terminal device 100a and the network server 300 generate the same network session key and application key, respectively (S904a).

다만, 네트워크 서버(300)는 단순히 네트워크 세션 키와 어플리케이션 키를 생성하는 것이 아닌, 제1 단말 장치로부터 수신한 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI), 그리고 네트워크 서버(300)가 부여한 단말 장치 주소 정보(DevAddress) 중 하나 이상을 제1 단말 장치에 대한 프로파일 정보로 저장할 수 있다. 이러한 프로파일 정보는 각 단말 장치에 대한 각 정보의 매핑 테이블의 형태가 될 수 있다.However, the network server 300 does not merely generate the network session key and the application key, but the application identification information (AppEUI), the terminal device identification information (DevEUI) received from the first terminal device, And at least one of the assigned terminal device address information (DevAddress) as profile information for the first terminal device. Such profile information may be in the form of a mapping table of each information for each terminal device.

이러한 상황에서, 제2 단말 장치(100b)가, 비정상적인 방법, 예를 들어 해킹 등을 통해 제1 단말 장치(100a)와 네트워크 서버(300)가 생성한 네트워크 세션 키와 어플리케이션 키를 탈취하는 경우가 발생할 수 있다(S908).In this situation, the case where the second terminal device 100b takes out the network session key and the application key generated by the first terminal device 100a and the network server 300 through an abnormal method, for example, hacking (S908).

이후, 사례 1과 같이, 제2 단말 장치(100b)가 제1 단말 장치(100a)로 위장하여 조작된 데이터를 전송할 수 있다. 제2 단말 장치(100b)가 조작된 데이터를 게이트웨이(200)를 통하여 네트워크 서버(300)에 전송하며(S910, S912), 이 경우 네트워크 세션 키와 어플리케이션 키를 보유한 제2 단말 장치(100b)는 데이터를 제1 단말 장치(100a)의 데이터와 동일하게 암호화하며, MIC 체크에 성공하여 제1 단말 장치(100a)처럼 네트워크 서버(300)와 데이터를 송수신할 수 있다.Thereafter, as in the case 1, the second terminal device 100b can transmit the manipulated data in spite of the first terminal device 100a. The second terminal device 100b transmits the operated data to the network server 300 through the gateway 200 in steps S910 and S912. In this case, the second terminal device 100b holding the network session key and the application key The data is encrypted in the same way as the data of the first terminal device 100a and the MIC check is succeeded so that the first terminal device 100a can transmit and receive data to and from the network server 300. [

이를 방지하기 위하여, 네트워크 서버(300)는 단말 장치로부터 수신한 데이터로부터 프로파일 정보를 추출하여, 기 저장된 프로파일 정보와 비교(S914)한다. 네트워크 세션 키가 탈취되더라도, 각 단말 장치는 서로 다른 단말 장치 식별정보(DevEUI)를 가지며, 단말 장치 주소 정보(DevAddress)는 네트워크 서버(300)가 각 단말 장치에 부여하는 것이므로, 단말 장치 별로 다른 값을 가질 수 있다.In order to prevent this, the network server 300 extracts the profile information from the data received from the terminal device, and compares the profile information with the previously stored profile information (S914). Each terminal device has different terminal device identification information (DevEUI) and the terminal device address information (DevAddress) is given to each terminal device by the network server (300), even if the network session key is stolen. Lt; / RTI >

여기서 프로파일 정보의 저장은 단말 장치의 가입 절차의 수행 중에 송수신한 정보를 저장한 것일 수 있다.Here, the profile information may be stored by storing information transmitted / received during the subscription procedure of the terminal apparatus.

만약 단말 장치로부터 수신한 데이터로부터 추출한 프로파일 정보와 가입 절차 시 기 저장한 프로파일 정보가 일치하는 경우는, 정상 단말인 제1 단말 장치(100a)인 것으로 판단하여 정상적으로 서비스를 제공한다(S916).If the profile information extracted from the data received from the terminal device matches the profile information stored in the registration procedure, it is determined that the first terminal device 100a is the normal terminal and the service is normally provided (S916).

그러나, 네트워크 세션 키가 일치하고, 암호화가 제1 단말 장치(100a)와 동일하게 이루어졌음에도, 단말 장치로부터 수신한 데이터로부터 추출한 프로파일 정보와 가입 절차 시 기 저장한 프로파일 정보가 일치하지 않는 경우에는, 네트워크 세션 키를 탈취한 다른 장치인 제2 단말 장치(100b)로 판단한다. 네트워크 서버(300)는, 상기 수신한 데이터는 조작된 데이터일 가능성이 높으므로 드롭(drop)하고(S918), 네트워크 세션 키와 어플리케이션 키가 유출된 상황이므로, 재활성화 절차를 수행하도록 요청한다(S920).However, if the profile information extracted from the data received from the terminal device and the profile information stored in the registration procedure do not match even though the network session key is identical and the encryption is made the same as that of the first terminal device 100a , And determines that the second terminal device 100b is another apparatus that has taken out the network session key. The network server 300 drops the received data because it is highly likely to be manipulated data (S918). Since the network session key and the application key are leaked, the network server 300 requests to perform the reactivation procedure ( S920).

이에 따라, 네트워크 서버(300)는 게이트웨이(200)를 통해 재활성화 메시지를 제1 단말 장치(100a)로 전송한다(S922, S924).Accordingly, the network server 300 transmits the reactivation message to the first terminal device 100a through the gateway 200 (S922, S924).

재활성화 메시지를 수신한 제1 단말 장치(100a)는 네트워크 서버로 가입 요청 메시지를 전송하고(S926), 이에 따라 네트워크 서버(300)에서는 단말 장치(100a)에 대한 가입 절차를 재수행하고 가입 승인 메시지를 단말 장치(100a)에 전송한다(S928).The first terminal device 100a receiving the re-activation message transmits the subscription request message to the network server (S926), and the network server 300 re-executes the subscription procedure for the terminal device 100a, To the terminal device 100a (S928).

이에 따라, 제1 단말 장치(100a)와 네트워크 서버(300)에서 네트워크 세션 키와 어플리케이션 키가 갱신되어, 제2 단말 장치(100b)는 기존에 탈취한 네트워크 세션 키를 통해 네트워크 서버(300)와 데이터를 송수신할 수 없게 된다(S930).Accordingly, the network session key and the application key are updated in the first terminal device 100a and the network server 300, and the second terminal device 100b receives the network session key from the network server 300 Data can not be transmitted or received (S930).

이상으로, 사례 1의 상황을 방지하기 위해 재활성화 메시지를 이용한 데이터 전송 제어 방법을 수행하는 과정을 설명하였다.Thus, the process of performing the data transmission control method using the reactivation message has been described to prevent the situation of Case 1.

도 10은 사례 2의 상황을 방지하기 위해 재활성화 메시지를 이용한 데이터 전송 제어 방법을 수행하는 과정을 나타낸 메시지 흐름도이다.10 is a message flow diagram illustrating a process of performing a data transmission control method using a reactivation message in order to prevent the situation of Case 2.

도 10을 참조하면, 사례 1과 동일하게, 먼저 제1 단말 장치(100a)는 게이트웨이(200)를 통해 네트워크 서버(300)로 가입 요청을 보내고(S1000), 네트워크 서버(300)는 기 설명한 가입 절차를 수행하고 가입 승인 메시지를 전송한다(S1002). 앞서 가입 절차에 대해 설명한 바와 같이, 가입 요청 시 단말 장치(100)는 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI), 단말 장치 랜덤값(DevNonce)을 전송하며, 가입 승인 시 네트워크 서버는 어플리케이션 랜덤값(AppNonce), 단말 장치 주소 정보(DevAddress), 네트워크 ID(NetID)를 전송한다.10, the first terminal device 100a first sends a subscription request to the network server 300 through the gateway 200 (S1000), and the network server 300 transmits the subscription request And transmits a registration approval message (S1002). The terminal device 100 transmits application identification information (AppEUI), terminal device identification information (DevEUI), and terminal device random value (DevNonce) at the time of the subscription request, and the network server Application random number (AppNonce), terminal device address information (DevAddress), and network ID (NetID).

이를 이용하여, 제1 단말 장치(100a)와 네트워크 서버(300)는 각각 동일한 네트워크 세션 키와 어플리케이션 키를 생성한다(S1004).Using this, the first terminal device 100a and the network server 300 generate the same network session key and application key, respectively (S1004).

여기서, 네트워크 서버(300)는 제1 단말 장치(100a)의 프로파일 정보를 저장할 수 있으나, 도 10의 실시 예에서는 반드시 프로파일 정보의 저장이 필요한 것은 아니다.Here, the network server 300 may store the profile information of the first terminal device 100a, but the profile information is not necessarily stored in the embodiment of FIG.

이러한 상황에서, 제2 단말 장치(100b)가, 비정상적인 방법, 예를 들어 해킹 등을 통해 제1 단말 장치(100a)와 네트워크 서버(300)가 생성한 네트워크 세션 키와 어플리케이션 키를 탈취하는 경우가 발생할 수 있다.In this situation, the case where the second terminal device 100b takes out the network session key and the application key generated by the first terminal device 100a and the network server 300 through an abnormal method, for example, hacking Lt; / RTI >

사례 1과는 다르게, 제2 단말 장치(100b)가 탈취한 네트워크 세션 키와 어플리케이션 키를 이용하여 조작된 데이터를 전송하는 것이 아닌, 제1 단말 장치(100a)가 게이트웨이(200)를 통하여 네트워크 서버(300)에 전송하는 데이터를 도청하는 경우가 있을 수 있다(S1010).Unlike Case 1, the first terminal device 100a transmits data manipulated by using the network session key and the application key captured by the second terminal device 100b, There may be a case where data to be transmitted to the mobile terminal 300 is eavesdropped (S1010).

이 경우에는 사례 1과 같이 네트워크 서버(300)가 조작된 데이터 수신을 통해 탈취 발생을 발견할 수 없으므로, 제1 단말 장치(100a)에 재활성화를 요청할 다른 방법이 필요하게 된다.In this case, since the network server 300 can not detect the occurrence of deodorization through receiving the manipulated data as in the case 1, another method of requesting the first terminal device 100a to reactivate is required.

이에 따라, 네트워크 서버(300)는 주기적으로 재활성화 요청이 발생하도록 설정될 수 있다(S1012).Accordingly, the network server 300 may be periodically set to generate a reactivation request (S1012).

재활성화 요청이 발생하면, 네트워크 서버(300)는 게이트웨이(200)를 통해 재활성화 메시지를 제1 단말 장치(100a)로 전송한다(S1014, S1016).When the reactivation request is generated, the network server 300 transmits a reactivation message to the first terminal device 100a through the gateway 200 (S1014, S1016).

재활성화 메시지를 수신한 단말 장치(100a)는 네트워크 서버로 가입 요청 메시지를 전송하고(S1018), 이에 따라 네트워크 서버(S928)에서는 단말 장치(100a)에 대한 가입 절차를 재수행하고 가입 승인 메시지를 단말 장치(100a)에 전송한다(S1020).Upon receiving the reactivation message, the terminal device 100a transmits a subscription request message to the network server (S1018), and the network server S928 re-executes the subscription procedure for the terminal device 100a, To the device 100a (S1020).

이러한 재활성화 요청 발생 주기는 관리자에 의해 설정될 수 있으며, 발생 주기(JoinPeriod)의 값 x마다 재활성화 요청이 발생하고, S1014 내지 S1020의 단계를 반복한다.The reactivation request occurrence period may be set by the administrator, and a reactivation request is generated for each value x of the occurrence period (JoinPeriod), and steps S1014 to S1020 are repeated.

이에 따라, 네트워크 세션 키와 어플리케이션 키가 갱신되어, 제2 단말 장치(100b)는 기존에 탈취한 네트워크 세션 키를 통해 송수신 중인 데이터를 복호화하여 데이터 도청을 할 수 없게 된다.Accordingly, the network session key and the application key are updated, and the second terminal device 100b can not decrypt the data being transmitted / received through the network session key that has been hijacked so that data can not be intercepted.

이상, 본 발명의 실시 예에 따른 데이터 전송 제어 방법에 대해 설명하였다.The data transmission control method according to the embodiment of the present invention has been described above.

상술한 바와 같은 본 발명의 데이터 전송 제어 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 이때, 기록매체에 기록된 프로그램은 컴퓨터에서 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다. The data transfer control method of the present invention as described above may be provided in the form of a computer readable medium suitable for storing computer program instructions and data. At this time, the program recorded on the recording medium can be read and installed in the computer and executed, thereby executing the above-described functions.

여기서, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. In order to allow a computer to read a program recorded on a recording medium and to execute functions implemented by the program, the above-mentioned program may be stored in a computer-readable medium such as C, C ++, JAVA, machine language, and the like.

이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. 또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. 또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.The code may include a function code related to a function or the like that defines the functions described above and may include an execution procedure related control code necessary for the processor of the computer to execute the functions described above according to a predetermined procedure. In addition, such code may further include memory reference related code as to what additional information or media needed to cause the processor of the computer to execute the aforementioned functions should be referenced at any location (address) of the internal or external memory of the computer . In addition, when a processor of a computer needs to communicate with any other computer or server that is remote to execute the above-described functions, the code may be stored in a memory of the computer using a communication module of the computer, It may further include a communication-related code such as how to communicate with another computer or a server, and what information or media should be transmitted or received during communication.

이러한, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. Such computer-readable media suitable for storing computer program instructions and data include, for example, magnetic media such as hard disks, floppy disks and magnetic tape, compact disk read only memory (CD-ROM) Optical media such as a DVD (Digital Video Disk), a magneto-optical medium such as a floppy disk, and a ROM (Read Only Memory), a RAM , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), and EEPROM (Electrically Erasable Programmable ROM). The processor and memory may be supplemented by, or incorporated in, special purpose logic circuits.

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. The functional program for implementing the present invention and the related code and code segment may be implemented by programmers in the technical field of the present invention in consideration of the system environment of the computer that reads the recording medium and executes the program, Or may be easily modified or modified by the user.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While the specification contains a number of specific implementation details, it should be understood that they are not to be construed as limitations on the scope of any invention or claim, but rather on the description of features that may be specific to a particular embodiment of a particular invention Should be understood. Certain features described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Further, although the features may operate in a particular combination and may be initially described as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, Or a variant of a subcombination.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a particular order, it should be understood that such operations must be performed in that particular order or sequential order shown to achieve the desired result, or that all illustrated operations should be performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged into multiple software products It should be understood.

본 발명은 데이터 전송 제어 방법에 관한 것으로서, 더욱 상세하게는 협대역(Narrowband) 통신 기술이 적용된 IoT(Internet of Things, 사물인터넷)시스템, 특히, LoRa(Long Range Sub-Ghz Module) 기술이 적용된 IoT 시스템에 있어서, 단말의 이동 또는 해킹에 의한 문제를 제어하기 위한 데이터 전송 제어 방법, 이를 위한 장치에 관한 것이다.The present invention relates to a data transmission control method, and more particularly, to an Internet of Things (IoT) system to which a Narrowband communication technology is applied, in particular to an IoT The present invention relates to a data transmission control method for controlling a problem caused by movement or hacking of a terminal, and an apparatus therefor.

본 발명에 따르면, 기 설정된 조건에 따라 재활성화 요청을 발생시키고, 가입 절차를 재수행하여, 연결을 원하는 단말 장치와 연결을 방지하고자 하는 단말 장치의 네트워크 접속을 제어할 수 있다.According to the present invention, a re-activation request is generated according to a preset condition, and the connection procedure is re-executed to control a network connection of a terminal device to be connected with a terminal device to be connected.

따라서, 상기의 데이터 전송 제어 방법을 통해 IoT 서비스 산업 발전에 이바지 할 수 있고, 더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.Therefore, it is possible to contribute to the development of the IoT service industry through the above-mentioned data transfer control method. In addition, the present invention is industrially applicable because the present invention is not only possible to be marketed or operated, but also practically possible.

100, 100a, 100b: 단말장치
200, 200a, 200b: 게이트웨이
300, 300a, 300b: 네트워크 서버
400: 어플리케이션 서버
500, 500a, 500b: 서비스 서버
100, 100a, 100b: terminal device
200, 200a, 200b: gateway
300, 300a, 300b: Network server
400: Application server
500, 500a, 500b: service server

Claims (11)

하나 이상의 단말 장치와 서비스 서버 간의 데이터 전송 제어 방법에 있어서,
가입 절차를 수행 후 상기 서비스 서버로 데이터를 전송 중인 단말 장치에 대해서, 기 설정된 조건에 따라서 재활성화(Re-Activation) 메시지를 전송하는 단계; 및
상기 재활성화 메시지를 수신한 단말 장치로부터의 가입 요청(Join Request) 메시지에 의하여 상기 단말 장치에 대한 가입 절차를 재수행하는 단계;
를 포함하는 데이터 전송 제어 방법.
A method of controlling data transmission between one or more terminal devices and a service server,
Transmitting a Re-Activation message to a terminal device that is transmitting data to the service server according to a predetermined condition after performing an association procedure; And
Re-executing the joining procedure for the terminal apparatus by a Join Request message from the terminal apparatus having received the reactivation message;
And the data transfer control method.
제1항에 있어서,
상기 단말 장치로부터 전송된 데이터에 대한 MIC(Message Integrity Code) 체크를 수행하는 단계를 더 포함하고,
상기 재활성화 메시지를 전송하는 단계는, MIC 체크에 실패한 경우, 상기 단말 장치로 재활성화 메시지를 전송하는 것을 특징으로 하는 데이터 전송 제어 방법.
The method according to claim 1,
Further comprising the step of performing a MIC (Message Integrity Code) check on the data transmitted from the terminal,
Wherein the step of transmitting the reactivation message comprises transmitting a reactivation message to the terminal device when the MIC check fails.
제2항에 있어서,
상기 MIC 체크에 실패한 경우, 상기 단말 장치가 기 등록된 단말 장치인지 확인하는 단계를 더 포함하고,
상기 재활성화 메시지를 전송하는 단계는, MIC 체크에 실패한 단말 장치 중 기 등록된 단말 장치에 대해서 상기 재활성화 메시지를 전송하는 것을 특징으로 하는 데이터 전송 제어 방법.
3. The method of claim 2,
Further comprising checking if the terminal device is a pre-registered terminal device if the MIC check fails,
Wherein the step of transmitting the reactivation message comprises transmitting the reactivation message to the pre-registered terminal device of the terminal device that failed the MIC check.
제3항에 있어서, 상기 기 등록된 단말 장치인지 확인하는 단계는,
상기 기 등록된 단말 장치에 대한, 어플리케이션 키(App Key), 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI) 중 하나 이상을 저장하고, 상기 MIC 체크에 실패한 단말 장치의 어플리케이션 키(App Key), 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI) 중 하나 이상을 상기 기 등록된 단말 장치와 비교하는 것을 것을 특징으로 하는 데이터 전송 제어 방법.
4. The method of claim 3, wherein the step of verifying whether the terminal device is pre-
(AppKey) of the terminal device that has failed the MIC check by storing at least one of an application key (App Key), application identification information (AppEUI) and terminal device identification information (DevEUI) ), Application identification information (AppEUI), and terminal device identification information (DevEUI) with the pre-registered terminal device.
제1항에 있어서,
상기 가입 절차를 수행 후 상기 서비스 서버로 데이터를 전송 중인 단말 장치에 대한 프로파일 정보를 저장하는 단계;
상기 단말 장치로부터 전송된 데이터로부터 상기 단말 장치의 프로파일 정보를 추출하는 단계; 및
상기 추출한 프로파일 정보와 저장된 프로파일 정보를 비교하는 단계를 더 포함하고,
상기 재활성화 메시지를 전송하는 단계는, 상기 상기 추출한 프로파일 정보와 저장된 프로파일 정보가 일치하지 않는 경우, 상기 재활성화 메시지를 전송하는 것을 특징으로 하는 데이터 전송 제어 방법.
The method according to claim 1,
Storing profile information about a terminal device that is transmitting data to the service server after performing the subscription procedure;
Extracting profile information of the terminal apparatus from data transmitted from the terminal apparatus; And
Further comprising the step of comparing the extracted profile information with stored profile information,
Wherein the step of transmitting the reactivation message comprises transmitting the reactivation message if the extracted profile information does not match the stored profile information.
제5항에 있어서, 상기 프로파일 정보는
해당 단말 장치에 할당된 네트워크 세션 키, 어플리케이션 키(App key), 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI), 단말 장치 주소정보(Device Adress) 중 하나 이상을 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
6. The method of claim 5,
(AppEUI), terminal device identification information (DevEUI), and terminal device address information (Device Address) assigned to the terminal device A method for controlling data transmission.
제1항에 있어서,
재활성화 메시지를 전송하는 단계는,
기 설정된 시간 주기에 따라 상기 재활성화 메시지를 전송하는 것을 특징으로 하는 데이터 전송 제어 방법.
The method according to claim 1,
The step of transmitting the reactivation message comprises:
And transmitting the re-activation message according to a predetermined time period.
제1항에 있어서,
상기 단말 장치와 상기 서비스 서버 간의 데이터 전송은,
LoRa(Long Range Sub-Ghz Module) 통신 프로토콜을 따르는 것을 특징으로 하는 데이터 전송 제어 방법.
The method according to claim 1,
The data transfer between the terminal device and the service server is performed by,
And a LoRa (Long Range Sub-Ghz Module) communication protocol.
제1항 내지 제8항 중 어느 하나의 항에 기재된 방법을 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium storing a program for executing the method according to any one of claims 1 to 8. 제1항 내지 제8항 중 어느 하나의 항에 기재된 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.9. A computer program embodied on a computer readable recording medium which is embodied to perform the method recited in any one of claims 1 to 8. 단말 장치와 가입 절차를 수행하고, 가입 절차를 수행한 단말 장치와 데이터를 송수신하는 네트워크 인터페이스 모듈; 및
상기 네트워크 인터페이스 모듈을 통해 가입 절차를 수행 후 상기 서비스 서버로 데이터를 전송 중인 단말 장치에 대해서, 기 설정된 조건에 따라서 재활성화(Re-Activation) 메시지를 전송하고, 상기 재활성화 메시지를 수신한 단말 장치로부터의 가입 요청(Join Request) 메시지에 의하여 상기 단말 장치에 대한 가입 절차를 재수행하고,
상기 단말 장치로부터 전송된 데이터에 대한 MIC(Message Integrity Code) 체크를 수행하고, MIC 체크에 실패한 경우, 상기 단말 장치로 재활성화 메시지를 전송하는 제어 모듈;
을 포함하는 것을 특징으로 하는 서비스 서버.
A network interface module for transmitting and receiving data to and from the terminal device performing the registration procedure with the terminal device; And
After a subscription procedure is performed through the network interface module, a terminal transmitting the data to the service server transmits a Re-Activation message in accordance with predetermined conditions, The mobile station apparatus re-executes the join procedure for the terminal apparatus according to a Join Request message from the terminal apparatus,
A control module for performing a MIC (Message Integrity Code) check on data transmitted from the terminal and transmitting a reactivation message to the terminal if the MIC check fails;
The service server comprising:
KR1020150164206A 2015-11-23 2015-11-23 Method and apparatus for controlling data transmission KR102183958B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150164206A KR102183958B1 (en) 2015-11-23 2015-11-23 Method and apparatus for controlling data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150164206A KR102183958B1 (en) 2015-11-23 2015-11-23 Method and apparatus for controlling data transmission

Publications (2)

Publication Number Publication Date
KR20170059788A true KR20170059788A (en) 2017-05-31
KR102183958B1 KR102183958B1 (en) 2020-11-27

Family

ID=59052689

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150164206A KR102183958B1 (en) 2015-11-23 2015-11-23 Method and apparatus for controlling data transmission

Country Status (1)

Country Link
KR (1) KR102183958B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020242107A1 (en) * 2019-05-29 2020-12-03 (주)이더블유비엠 Automatic key update-type joining method, device and program
CN113453340A (en) * 2020-03-24 2021-09-28 阿里巴巴集团控股有限公司 Service method, server cluster and LoRaWAN network system
KR102362415B1 (en) * 2020-10-22 2022-02-15 (주)나연테크 Roaming system and method for sleepcare IoT devices in transit between networks

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110002076A (en) * 2008-05-07 2011-01-06 알카텔-루센트 유에스에이 인코포레이티드 Traffic encryption key generation in a wireless communication network
KR20110019694A (en) * 2009-08-20 2011-02-28 삼성전자주식회사 Method and apparatus for reducing overhead for integrity check of data in wireless communication system
KR20120090456A (en) * 2011-02-08 2012-08-17 삼성전자주식회사 System and method for providing profile of terminal in communication system
KR20150035971A (en) 2015-03-18 2015-04-07 문종섭 A secure Data Communication protocol between IoT smart devices or sensors and a Network gateway under Internet of Thing environment
KR101513451B1 (en) * 2013-10-30 2015-04-20 에스케이텔레콤 주식회사 Apparatus for inducing re-registration in wireless communication systems and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110002076A (en) * 2008-05-07 2011-01-06 알카텔-루센트 유에스에이 인코포레이티드 Traffic encryption key generation in a wireless communication network
KR20110019694A (en) * 2009-08-20 2011-02-28 삼성전자주식회사 Method and apparatus for reducing overhead for integrity check of data in wireless communication system
KR20120090456A (en) * 2011-02-08 2012-08-17 삼성전자주식회사 System and method for providing profile of terminal in communication system
KR101513451B1 (en) * 2013-10-30 2015-04-20 에스케이텔레콤 주식회사 Apparatus for inducing re-registration in wireless communication systems and method thereof
KR20150035971A (en) 2015-03-18 2015-04-07 문종섭 A secure Data Communication protocol between IoT smart devices or sensors and a Network gateway under Internet of Thing environment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020242107A1 (en) * 2019-05-29 2020-12-03 (주)이더블유비엠 Automatic key update-type joining method, device and program
KR20200137327A (en) * 2019-05-29 2020-12-09 (주)이더블유비엠 Joining method, device and program with automatic key update
CN113453340A (en) * 2020-03-24 2021-09-28 阿里巴巴集团控股有限公司 Service method, server cluster and LoRaWAN network system
KR102362415B1 (en) * 2020-10-22 2022-02-15 (주)나연테크 Roaming system and method for sleepcare IoT devices in transit between networks

Also Published As

Publication number Publication date
KR102183958B1 (en) 2020-11-27

Similar Documents

Publication Publication Date Title
JP6320501B2 (en) Establishing a device-to-device communication session
CN1714560B (en) Methods and apparatus for dynamic session key generation and rekeying in mobile IP
US11991527B2 (en) Communication method and communication device
US10009760B2 (en) Providing network credentials
KR101438343B1 (en) Method of assigning a user key in a convergence network
KR20110000334A (en) Method and apparatus for authenticating sensor node in sensor network
KR102255468B1 (en) Apparatus for issuing cryptographic key of internet of things device using 2-step authentication and method thereof
US20160328714A1 (en) Method and apparatus for authenticating payment related information in mobile communication system
KR101767889B1 (en) Method of identifying terminal and apparatus thereof
WO2011131093A1 (en) Encryption communication method, apparatus and system
EP2661915A1 (en) Methods and apparatus for enhanced system access control for peer-to-peer wireless communication networks
KR101835640B1 (en) Method for authentication of communication connecting, gateway apparatus thereof, and communication system thereof
KR102120770B1 (en) Method for transmitting and receiving of data, and apparatus thereof
KR102183958B1 (en) Method and apparatus for controlling data transmission
KR101827926B1 (en) Method and apparatus for provisioning between terminals and a server
US20220369103A1 (en) Method and apparatus for performing uwb secure ranging
CN110166230B (en) Key management method and device
WO2021139552A1 (en) Method and apparatus for checking relay user equipment
CN108476224A (en) The certification of data transmission device
KR20130051636A (en) Method for mutual authentication and security in m2m environment
KR20110058067A (en) System and method for authenticating sink using mobile network
CN108400967B (en) Authentication method and authentication system
JP6659462B2 (en) Data transmission / reception method and sensing system
CN113452515B (en) Communication method, key configuration method and device
KR20050033255A (en) Method and system of certifying mobile internet user

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