KR20170059788A - Method and apparatus for controlling data transmission - Google Patents
Method and apparatus for controlling data transmission Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W60/00—Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
- H04W60/04—Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration using triggered events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/18—Service support devices; Network management devices
- H04W88/182—Network 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
Description
본 발명은 데이터 전송 제어 방법에 관한 것으로서, 더욱 상세하게는 협대역(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.
상술한 문제점을 해결하기 위하여 본 발명은, 단말 장치의 네트워크 간 이동 또는 다른 단말 장치로부터의 보안 위협이 있는 경우, 재활성화 메시지를 이용하여 네트워크 가입 절차를 재수행하기 위한 데이터 전송 제어 방법 및 이에 대한 장치를 제안한다.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
또한, 상기 서비스 서버(500)는 네트워크 서버(300)와 어플리케이션 서버(400)로 구성될 수 있다.In addition, the
네트워크 서버(300)와 어플리케이션 서버(400)는 그 기능이 각각 분리되어 2개의 서버로서 구현될 수도 있지만, 하나의 서버로 합쳐져서 구현될 수도 있다.The functions of the
한편, 서비스 서버(500)가 네트워크 서버(300)와 어플리케이션 서버(400)로 구분되어 구현되는 경우, 본 발명에 따른 실시 예는 네트워크 서버(300)를 중심으로 구현된다.Meanwhile, when the
앞으로 본 발명의 실시 예에 따른 데이터 전송 제어 방법의 설명에서는 서비스 서버(500)를 네트워크 서버(300)와 어플리케이션 서버(400)로 구분하여 설명하도록 하겠다.In the description of the data transfer control method according to the embodiment of the present invention, the
하지만, 이러한 경우에도 설명되는 본 발명의 실시 예에 따른 데이터 전송 제어 방법에서 네트워크 서버(300)와 어플리케이션 서버(400)가 합쳐진 서비스 서버(500)에서 동작할 수 있음을 명심하여야 한다.In this case, however, it should be noted that the
먼저, 단말 장치(100)는 본 발명의 LoRa 기술이 적용된 LoRa 디바이스를 의미하는 것으로, 사물 통신이 가능한 다양한 사물 기기가 이에 해당될 수 있다. 예를 들어 각종 센서, 제어 장치, 휴대폰, 냉장고, 청소기, 세탁기, 공장 기기, 자동 판매기 등 다양한 사물(things)이 본 발명의 단말장치(100)로 동작 가능하다.First, the
이러한 단말 장치(100)는 LoRa 타입별로 데이터 전송 동작이 달라질 수 있다. 예를 들어, 단말 장치(100)의 하향링크 데이터 패킷 수신 여부에 따라 클래스가 구분될 수 있다.In this
단말 장치(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
단말 장치(100)의 클래스를 살펴보면, 클래스 A는 단말 장치(100)가 상향링크 데이터 패킷 전송 후 정해진 시간(예컨대, 1초) 간격으로 정해진 횟수만큼 하향링크 데이터 패킷을 수신할 수 있는 클래스 타입을 의미하며, 클래스 B는 단말 장치(100)가 정해진 주기(예컨대, 128초)마다 하향링크 데이터 패킷을 수신할 수 있는 클래스 타입을 의미하며, 클래스 C는 항상 하향링크 데이터 패킷을 수신할 수 있는 클래스 타입을 의미한다.The class A includes a class type in which the
그리고 이 외에 추가되는 클래스 타입으로서, 특정 그룹(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
또한, 본 발명의 게이트웨이(200)는 복수 개의 단말 장치(100)와 연결될 수 있는데, 할당되거나 일정 반경 내 위치하는 단말 장치(100)로부터 전달되는 정보를 네트워크 서버(300)로 전송하며, 이때 자신의 식별번호를 포함하여 전송할 수 있다. 이를 통해 네트워크 서버(300)는 단말장치(100)가 연결된 게이트웨이(200)를 확인할 수 있으며, 어플리케이션 서버(500)로부터 전달되는 데이터 패킷을 해당 게이트웨이(200)로 정확하게 전달하는 과정을 수행하게 된다.The
네트워크 서버(300)는 단말 장치(100)를 인증하고, 패킷의 송수신을 지원하는 교환기 역할을 하는 노드를 의미한다. 보다 구체적으로 설명하면 네트워크 서버(300)는 단말 장치(100)와 어플리케이션 서버(400) 간의 가입 절차를 중계할 수 있다. 즉, 단말 장치(100)로부터 어플리케이션 서버(400)에 연결하기 위한 가입 요청(Join Request) 메시지가 전달되면 상기 가입 요청 메시지에 포함된 어플리케이션 식별 정보를 이용하여 어플리케이션 서버(400)를 확인하고, 확인된 어플리케이션 서버(400)로 가입 요청(Join Request) 메시지를 전달한다. 그리고 어플리케이션 서버(400)로부터 가입 요청(Join Request) 메시지에 대한 확인 메시지가 전달되면 네트워크 아이디 및 단말장치 주소 정보를 확인하여 이를 어플리케이션 서버(400)로 전달하여, 어플리케이션 서버(400)에서의 암호화를 위한 세션 키 생성 과정을 지원할 수 있다. The
이러한 과정을 거쳐 가입 절차가 완료되면, 이후의 네트워크 서버(300)는 단말 장치(100) 및 어플리케이션 서버(500) 간의 송수신되는 데이터 패킷에 대한 무결성 검증(Message Intergrity Check, MIC)을 수행할 수 있으며, 이때 상기 세션 키를 이용하여 무결성 검증을 수행할 수 있게 된다. 앞서 설명한 것과 같이 상기 세션 키는 네트워크 세션 키와 어플리케이션 세션 키로 구분될 수 있다.When the subscription process is completed through this process, the
각 단말 장치(100)에 따른 그룹 설정과, 각 그룹에 따른 세션 키의 설정을 마치고 난 후, 단말 장치(100)로부터 가입 요청(Join Request) 메시지를 수신하면, 상기 가입 요청 메시지를 전송한 단말장치(100)가 속하는 그룹을 설정된 정보로부터 확인하여, 해당 그룹에 매핑되는 네트워크 세션 키와 어플리케이션 세션 키를 가입 승인(Join Accept) 메시지와 함께 단말장치(100) 에 전송할 수 있다.Upon receiving a Join Request message from the
어플리케이션 서버(400)는 네트워크 서버(300)와 연결되며, 네트워크 서버(300)로부터 전달되는 단말장치(100)가 전송한 각종 정보를 이용하여 어플리케이션 별로 고유 서비스를 관리, 제어하는 역할을 수행할 수 있다. 이러한 어플리케이션 서버(400)는 복수 개 존재할 수 있으며, 예를 들어, 온도 조절, 방사선 관리, 생활폐기물 관리, 선적관리, 주차관리, 대기오염관리, 화재관리, 수질오염 관리 등 다양한 어플리케이션 서비스를 제공할 수 있다. 즉, 본 발명의 어플리케이션 서버(400)는 단말장치(100)가 생성하는 각종 정보를 네트워크 서버(300)를 거쳐 수집하고, 이에 대응하는 제어 정보를 네트워크 서버(300)를 거쳐 단말장치(100)로 전송하게 된다. The
본 발명의 실시 예에 따른 데이터 전송을 위한 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
단말 장치(100)는 서비스 서버(500)에 접속하기 위해 먼저, 가입 요청(Join Request) 메시지를 게이트웨이(200)를 거쳐 네트워크 서버(300)로 전달하게 된다. 단말 장치(100)는 최초 전원 온(on)시 등 지정된 이벤트 발생 시 가입 요청 메시지를 게이트웨이(200)를 거쳐 네트워크 서버(300)로 전달할 수 있다. 단말 장치(100)가 네트워크 서버(300)로 전달하는 가입 요청(Join Request) 메시지는 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI) 및 단말 장치 랜덤값(DevNonce)을 포함하여 구성된다. The
어플리케이션 식별 정보는 어플리케이션 서버(400)에 의해 할당되며, 사전에 설정되어 있는 어플리케이션 구분자를 의미한다. 하나의 단말 장치(100)는 복수 개의 어플리케이션 서버(400)로 정보를 전송할 수 있다. 예를 들어, 단말 장치(100)가 온도를 측정하는 역할을 수행하는 경우, 건물 관리 서비스를 제공하는 어플리케이션 서버(400)로 측정된 온도 정보를 전송할 수 있으며, 온도 정보를 이용하여 상황인지 서비스를 제공하는 어플리케이션 서버로 측정된 온도 정보를 전송할 수도 있다. 이때, 각각의 어플리케이션 서비스 별로 어플리케이션 식별 정보가 서로 다르게 할당될 수 있으며, 단말 장치(100)는 전송하고자 하는 어플리케이션 서버(400)로 자신이 생성한 정보가 전달되도록 어플리케이션 식별 정보를 포함하는 가입 요청 메시지를 네트워크 서버(300)로 전송한다. The application identification information is allocated by the
반면, 단말 장치 식별정보는 단말 장치(100) 간의 구분을 위한 것으로 최초 설치 시 할당되는 정보가 될 수 있다. 이러한 단말 장치 식별정보는 네트워크 서버(300)에 의해 할당되거나, 단말 장치(100)를 생성한 사업자에 의해 할당될 수 있다. On the other hand, the terminal device identification information is for identifying the
단말 장치 랜덤값은 암호화를 위해 단말 장치(100)가 생성하는 값을 의미하며, 가입(join) 절차마다 변경될 수 있다. The terminal device random value means a value generated by the
이러한 가입 요청 메시지를 단말 장치(100)가 전송하면, 네트워크 서버(300)는 게이트웨이(200)를 거쳐 상기 가입 요청 메시지를 수신한다. 이때, 게이트웨이(200)를 거쳐 전달되는 메시지, 상기 예시에서 가입 요청 메시지는 게이트웨이 식별 정보를 포함하여 전달될 수 있으며, 네트워크 서버(300)는 게이트웨이 식별 정보를 상기 단말 장치 식별정보에 대응하여 저장한 후 추후 어플리케이션 서버(400)로부터 전달되는 정보가 해당 게이트웨이를 거쳐 단말 장치(100)로 정확히 전송되는 과정을 지원할 수 있다.When the subscription request message is transmitted by the
그리고 네트워크 서버(300)는 단말 장치(100)가 전송한 가입 요청 메시지의 어플리케이션 식별 정보를 이용하여 어플리케이션 서버(400)를 확인한다. Then, the
그리고 확인된 어플리케이션 서버(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
이후, 네트워크 서버(300)는 네트워크 ID(NetID) 및 단말 장치 주소정보(DevAddress)를 확인하고 이를 어플리케이션 서버(400)로 전송한다. Then, the
이를 수신한 어플리케이션 서버(400)는 어플리케이션 키(AppKey), 어플리케이션 랜덤값(AppNonce), 네트워크 ID(NetID), 단말 장치 랜덤값(DevNonce)을 이용하여 네트워크 세션 키(NW(network) Session Key)를 생성하고(S113), 어플리케이션 키(AppKey), 어플리케이션 랜덤값(AppNonce), 네트워크 아이디(NetID), 단말 장치 랜덤값(DevNonce)을 이용하여 어플리케이션 세션 키(Application Session Key)를 생성하고, 네트워크 세션 키(NW session key)를 네트워크 서버(300)로 전달한다. The
네트워크 서버(300)는 수신한 네트워크 세션 키를 저장한다. 여기서 네트워크 서버(300)는 수신한 네트워크 세션 키를 이용하여 메시지의 무결성을 체크하거나, 메시지 자체를 암호화 과정을 처리할 수 있다.The
이후에, 어플리케이션 서버(400)는 가입 승인(Join Accept) 메시지를 단말 장치(100)로 전송할 수 있다. 이때, 어플리케이션 서버(400)가 전달하는 메시지는 네트워크 서버(300) 및 게이트웨이(200)를 거쳐 단말 장치(100)로 전달될 수 있다.Thereafter, the
가입 승인 메시지는 어플리케이션 랜덤값(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
이후에, 단말 장치(100)는 어플리케이션 키(AppKey), 어플리케이션 랜덤값(AppNonce), 네트워크 아이디(NetID), 단말 장치 랜덤값(DevNonce)를 이용하여 네트워크 세션 키(NW Session Key)를 생성할 수 있으며, 어플리케이션 세션 키(Application Session Key)를 생성할 수 있다.Thereafter, the
이후에, 단말 장치(100)는 네트워크 세션 키 또는 어플리케이션 세션 키를 이용하여 전송하고자 하는 데이터 패킷을 암호화한 후, 데이터 패킷을 게이트웨이(200)를 거쳐 네트워크 서버(300)로 전송한다. After that, the
이를 수신한 네트워크 서버(300)는 저장한 네트워크 세션 키를 이용하여 무결성 체크(integrity check)를 수행하고, 문제가 없을 경우, 어플리케이션 서버(400)로 전송하며, 어플리케이션 서버(500)는 네트워크 세션 키 또는 어플리케이션 세션 키를 이용하여 전달된 데이터 패킷을 복호화할 수 있다. The
이 때, 네트워크 세션 키는 맥(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
이상으로, 본 발명의 일반적인 실시 예에 따른 데이터 전송 제어 시스템에서의 가입 절차에 대하여 설명하였다.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
도 2를 참조하면, 네트워크 서버(300)는 네트워크 인터페이스 모듈(310), 저장모듈(320), 제어모듈(330), 사용자 인터페이스 모듈(340)을 포함하여 구성될 수 있다.2, the
네트워크 인터페이스 모듈(310)은 어플리케이션 서버(400) 혹은 게이트웨이(200)로부터 데이터를 송수신하는 장치이다.The
네트워크 서버(300)는 이러한 네트워크 인터페이스 모듈(310)을 통해서 원격지에 위치한 장치와 정보를 송수신할 수 있다.The
네트워크 인터페이스 모듈(310)은, 예를 들면, 네트워크 인터페이스 카드 및 대응하는 네트워크 드라이버 인터페이스 사양(Network Driver Interface Specification: "NDIS") 스택과 같은 하나 이상의 소프트웨어 및/또는 하드웨어 모듈의 논리적 조합으로 나타낼 수 있다. The
특히, 본 발명에 있어서 네트워크 인터페이스 모듈(310)은, 단말장치(100)로부터 가입 요청 메시지가 수신되면 단말 장치(100)와의 가입 절차를 수행하고, 가입 절차를 수행한 단말 장치(100)와 데이터를 송수신할 수 있다. Particularly, in the present invention, when the subscription request message is received from the
저장모듈(320)는 네트워크 간 이동이 가능하도록 설정된 단말 장치(100)의 정보를 등록하고, 가입 절차를 수행한 단말 장치(100)의 프로파일 정보를 저장할 수 있다. The
특히, 네트워크 간 이동이 가능한 단말 장치(100)의 경우 어플리케이션 키(App Key), 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI) 중 하나 이상을 저장할 수 있다.In particular, in the case of the
또한, 단말 장치에 대한 프로파일 정보로는 단말 장치에 할당된 네트워크 세션 키(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
또한, 제어 모듈(330)은, 단말 장치(100)로부터 전송된 데이터에 대한 MIC(Message Integrity Code) 체크를 수행하고, MIC 체크에 실패한 경우, 단말 장치(100)가 기 등록된 단말 장치인지 확인하여, 단말 장치(100)로 재활성화 메시지를 전송할 수 있다.In addition, the
아울러, 제어 모듈(330)은, 단말 장치(100)로부터 전송된 데이터로부터 상기 단말 장치의 프로파일 정보를 추출하고, 추출한 프로파일 정보와 저장된 프로파일 정보를 비교하여, 추출한 프로파일 정보와 저장된 프로파일 정보가 일치하는 않는 경우 재활성화 메시지를 전송할 수 있다.In addition, the
제어 모듈(330)은, 기 설정된 시간 주기에 따라 상기 재활성화 메시지를 전송할 수도 있다.The
여기서 재활성화 메시지란, 단말 장치(100)의 데이터 송신에 대응하여, 기 설정된 조건에 따라 단말 장치(100)에 가입 요청 메시지를 다시 전송하도록 하는 메시지로, 단말 장치(100)가 재활성화 메시지를 수신하는 경우, 서비스 서버(500)에 가입 요청 메시지를 전송하여, 가입 절차를 처음부터 다시 진행하게 된다.Here, the reactivation message is a message for causing the
사용자 인터페이스 모듈(340)은 외부 소스로부터 데이터를 송수신하는 장치이다.The
또한, 사용자 인터페이스 모듈(340)은 모뎀(예를 들면, 표준 모뎀, 케이블 모뎀, 또는 디지털 가입자선(digital subscriber line: “DSL”) 모뎀)에 연결될 수 있으며, 이러한 모뎀을 통해 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송할 수 있다.The
이러한 본 발명의 실시 예에 따른 네트워크 서버(300)는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다. The
한편, 본 발명의 각 장치에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.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
이하, 본 발명의 일 실시 예에 따른 데이터 전송 제어 방법에 대해 도 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
도 3의 (a)는 단말 장치(100)가 제1 네트워크에 속한 환경을 나타내며, 도 3의 (b)는 단말 장치(100)가 제2 네트워크로 이동한 환경을 나타낸다.3 (a) shows an environment in which the
도 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
어플리케이션 서버의 경우는 제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
이러한 상황에서, 도 3의 (a)와 같이 단말 장치(100)가 제1 네트워크에 연결되어 있던 상태에서 제1 네트워크의 커버리지를 벗어나 제2 네트워크로 도 3의 (b)와 같이 이동할 수 있다.In this situation, as shown in FIG. 3A, when the
이러한 로밍이 발생하는 이유는, 동일한 서비스를 연속적으로 제공받기 위한 것으로, 제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
도 4를 참조하면, 단말 장치(100)는 제1 게이트웨이(200a)를 통해 제1 네트워크 서버(300a)로 가입 요청을 보내고(S400), 제1 네트워크 서버(300a)는 기 설명한 가입 절차를 수행하고 가입 승인 메시지를 전송한다(S402). 단말 장치(100)는 제1 네트워크에 연결되어 제1 네트워크 서버(300a)와 암/복호화된 IoT 데이터를 송수신한다(S404).4, the
이후, 단말 장치(100)가 제1 네트워크 커버리지를 벗어나 제2 네트워크 커버리지로 이동하는 경우가 발생할 수 있다(S406). 이러한 경우 단말 장치(100)는 제2 게이트웨이(200b)와 통신하여, 암호화된 데이터를 동일하게 제2 게이트웨이(200b)를 거쳐 제2 네트워크 서버(300b)에 전송한다(S408, S410). 이후 제2 네트워크 서버(300b)는 MIC 체크를 수행한다(S412).Thereafter, it may occur that the
여기서, 단말 장치(100)는 제1 네트워크의 네트워크 ID를 이용해 생성한 네트워크 세션 키를 가지고 있으므로, 이는 제2 네트워크에서는 이용될 수 없다. 따라서 MIC 체크에 실패하게 되고(S414), 호 처리(Call Processing)가 불완료되어 데이터 송수신을 할 수 없다(S416).Here, since the
만약, 제1 네트워크 서버(300a)에서 제2 네트워크 서버(300b)에 단말 장치(100)와 제1 네트워크 서버(300a)의 가입 절차를 통해 이용 가능한 네트워크 세션 키에 관한 정보를 통지한 경우에는, 제2 네트워크 서버(300b)가 단말 장치(100)와 정상적으로 호 처리를 수행할 수 있으며, 그 과정은 다음과 같다.If the
도 5는, 네트워크 세션 키 값이 제2 네트워크 서버(300b)에 있을 때 제1 네트워크에 연결되어 있던 단말 장치(100)가 이동에 의해 제2 네트워크에 연결을 시도하는 경우를 나타낸다.5 shows a case where the
도 5를 참조하면, 단말 장치(100)는 제1 게이트웨이(200a)를 통해 제1 네트워크 서버(300a)로 가입 요청을 보내고(S500), 제1 네트워크 서버(300a)는 기 설명한 가입 절차를 수행하고 가입 승인 메시지를 전송한다(S502). 단말 장치(100)는 제1 네트워크에 연결되어 제1 네트워크 서버(300a)와 암/복호화된 IoT 데이터를 송수신한다(S504).5, the
이후, 단말 장치(100)가 제1 네트워크 커버리지를 벗어나 제2 네트워크 커버리지로 이동하는 경우가 발생할 수 있다(S506). 이러한 경우 단말 장치(100)는 제2 게이트웨이(200b)와 통신하여, 암호화된 데이터를 동일하게 제2 게이트웨이(200b)를 거쳐 제2 네트워크 서버(300b)에 전송한다(S508, S510). 이후 제2 네트워크 서버(300b)는 MIC 체크를 수행한다(S512).Thereafter, it may occur that the
여기서, 단말 장치(100)는 제1 네트워크의 네트워크 ID를 이용해 생성한 네트워크 세션 키를 가지고 있으며, 제2 네트워크 서버(300b) 역시 제1 네트워크에서 생성된 세션 키를 가지고 있어 이를 이용하여 MIC 체크에 성공하게 되고(S514), 호 처리(Call Processing)가 정상적으로 처리되어 데이터 송수신을 진행할 수 있다(S516).Here, the
그러나 네트워크 세션 키 값을 공유할 것인지의 여부는 제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
또한, 단말 장치(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
여기서 만약 네트워크 세션 키 값을 제2 네트워크 서버(300b)가 가지고 있어 MIC 체크가 성공하면, 호 처리가 정상적으로 처리되어 데이터 송수신을 진행할 수 있다(S516).Here, if the
그러나 MIC 체크에 실패하면, 제2 네트워크 서버(300b)는 단말 장치(100)가 네트워크 간 로밍이 가능하도록 기 등록된 단말 장치인지 확인한다(S614).However, if the MIC check fails, the
여기서, 기 등록된 단말 장치인지 확인하는 방법은, 단말 장치에 대한, 어플리케이션 키(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
여기서 기 등록된 단말 장치가 아닌 경우는, 로밍이 허용되지 않은 단말 장치로 제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
단말 장치(100)가 재활성화 메시지를 수신하면, 이에 대응하여 가입 요청을 제2 네트워크 서버(300b)로 전송하고(S620), 이에 의하여 제2 네트워크 서버(300b)는 가입 절차를 재수행하여, 단말 장치(100)의 네트워크 가입을 승인하며(S622), 이후 단말 장치(100)는 새로운 네트워크 세션 키를 부여받아 제2 네트워크를 이용하여 서비스를 제공할 수 있다.When the
이상으로, 본 발명의 일 실시 예에 따른 데이터 전송 제어 방법을 설명하였다.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
이러한 네트워크 환경에서는, 가입 절차에서 네트워크 세션 키의 값이 정해지고, 이를 이용하여 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
여기서 제1 단말 장치(100a)는 정상적인 가입 절차를 수행하여 네트워크 세션 키 및 어플리케이션 키를 생성한 단말 장치이며, 제2 단말 장치(100b)는 이러한 네트워크 세션 키 및 어플리케이션 키를 비정상적인 방법으로 탈취하여 네트워크에 연결된 단말 장치를 나타낸다.Here, the first
도 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
도 8을 참조하면, 정상 단말 장치인 제1 단말 장치(100a)는 게이트웨이(200)를 통해 네트워크 서버(300)로 가입 요청을 보내고(S800), 네트워크 서버(300)는 기 설명한 가입 절차를 수행하고 가입 승인 메시지를 전송한다(S802). 앞서 가입 절차에 대해 설명한 바와 같이, 가입 요청 시 단말 장치(100)는 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI), 단말 장치 랜덤값(DevNonce)을 전송하며, 가입 승인 시 네트워크 서버는 어플리케이션 랜덤값(AppNonce), 단말 장치 주소 정보(DevAddress), 네트워크 ID(NetID)를 전송한다.Referring to FIG. 8, the first
이를 이용하여, 제1 단말 장치(100a)와 네트워크 서버(300)는 각각 동일한 네트워크 세션 키와 어플리케이션 키를 생성한다(S804a, S804b).Using this, the first
이러한 상황에서, 제2 단말 장치(100b)가, 비정상적인 방법, 예를 들어 해킹 등을 통해 제1 단말 장치(100a)와 네트워크 서버(300)가 생성한 네트워크 세션 키와 어플리케이션 키를 탈취하는 경우가 발생할 수 있다(S806).In this situation, the case where the second
이러한 경우, 네트워크 서버(300)는 제2 단말 장치(100b)를 제1 단말 장치(100a)인 것처럼 인식할 수 있으며, 이에 따라 다음의 두 가지 상황이 발생할 수 있다.In this case, the
먼저, 제2 단말 장치(100b)가 제1 단말 장치(100a)로 위장하여 조작된 데이터를 전송할 수 있다. 제2 단말 장치(100b)가 조작된 데이터를 게이트웨이(200)를 통하여 네트워크 서버(300)에 전송하는 경우(S808, S810), 네트워크 서버(300)는 제2 단말 장치(100b)가 전송한 잘못된 데이터를 기반으로 서비스를 제공(S812)하게 된다(사례 1).First, the second
예를 들어, 본 발명의 협대역 통신 방식에 의한 사물인터넷 서비스는 전기, 가스, 난방 등 각종 인프라에 관련된 서비스가 될 수 있다. 이 경우, 제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
또한, 제2 단말 장치(200b)가 조작된 데이터를 전송하는 것이 아닌, 제1 단말 장치(100a)가 게이트웨이(200)를 거쳐 네트워크 서버(300)와 송수신(S814, S816)하는 데이터를, 제2 단말 장치(100b)가 수신하여 상기 송수신하는 데이터를 확인, 즉 데이터를 도청하는 경우가 발생할 수 있다(S818)(사례 2).The first
예를 들어, 제1 단말 장치(100a)가 특정 지역의 기온을 측정하여 네트워크 서버(300)에 전송하는 서비스를 수행하는 단말 장치인 경우, 제2 단말 장치(100b)는 네트워크 관리자의 허락이나 비용 지불 없이 이러한 정보를 무단으로 수집 가능한 상황이 발생할 수 있다.For example, when the first
도 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
도 9를 참조하면, 먼저 제1 단말 장치(100a)는 게이트웨이(200)를 통해 네트워크 서버(300)로 가입 요청을 보내고(S900), 네트워크 서버(300)는 기 설명한 가입 절차를 수행하고 가입 승인 메시지를 전송한다(S902). 앞서 가입 절차에 대해 설명한 바와 같이, 가입 요청 시 단말 장치(100)는 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI), 단말 장치 랜덤값(DevNonce)을 전송하며, 가입 승인 시 네트워크 서버는 어플리케이션 랜덤값(AppNonce), 단말 장치 주소 정보(DevAddress), 네트워크 ID(NetID)를 전송한다.9, the first
이를 이용하여, 제1 단말 장치(100a)와 네트워크 서버(300)는 각각 동일한 네트워크 세션 키와 어플리케이션 키를 생성한다(S904a).Using this, the first
다만, 네트워크 서버(300)는 단순히 네트워크 세션 키와 어플리케이션 키를 생성하는 것이 아닌, 제1 단말 장치로부터 수신한 어플리케이션 식별 정보(AppEUI), 단말 장치 식별정보(DevEUI), 그리고 네트워크 서버(300)가 부여한 단말 장치 주소 정보(DevAddress) 중 하나 이상을 제1 단말 장치에 대한 프로파일 정보로 저장할 수 있다. 이러한 프로파일 정보는 각 단말 장치에 대한 각 정보의 매핑 테이블의 형태가 될 수 있다.However, the
이러한 상황에서, 제2 단말 장치(100b)가, 비정상적인 방법, 예를 들어 해킹 등을 통해 제1 단말 장치(100a)와 네트워크 서버(300)가 생성한 네트워크 세션 키와 어플리케이션 키를 탈취하는 경우가 발생할 수 있다(S908).In this situation, the case where the second
이후, 사례 1과 같이, 제2 단말 장치(100b)가 제1 단말 장치(100a)로 위장하여 조작된 데이터를 전송할 수 있다. 제2 단말 장치(100b)가 조작된 데이터를 게이트웨이(200)를 통하여 네트워크 서버(300)에 전송하며(S910, S912), 이 경우 네트워크 세션 키와 어플리케이션 키를 보유한 제2 단말 장치(100b)는 데이터를 제1 단말 장치(100a)의 데이터와 동일하게 암호화하며, MIC 체크에 성공하여 제1 단말 장치(100a)처럼 네트워크 서버(300)와 데이터를 송수신할 수 있다.Thereafter, as in the
이를 방지하기 위하여, 네트워크 서버(300)는 단말 장치로부터 수신한 데이터로부터 프로파일 정보를 추출하여, 기 저장된 프로파일 정보와 비교(S914)한다. 네트워크 세션 키가 탈취되더라도, 각 단말 장치는 서로 다른 단말 장치 식별정보(DevEUI)를 가지며, 단말 장치 주소 정보(DevAddress)는 네트워크 서버(300)가 각 단말 장치에 부여하는 것이므로, 단말 장치 별로 다른 값을 가질 수 있다.In order to prevent this, the
여기서 프로파일 정보의 저장은 단말 장치의 가입 절차의 수행 중에 송수신한 정보를 저장한 것일 수 있다.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
그러나, 네트워크 세션 키가 일치하고, 암호화가 제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
이에 따라, 네트워크 서버(300)는 게이트웨이(200)를 통해 재활성화 메시지를 제1 단말 장치(100a)로 전송한다(S922, S924).Accordingly, the
재활성화 메시지를 수신한 제1 단말 장치(100a)는 네트워크 서버로 가입 요청 메시지를 전송하고(S926), 이에 따라 네트워크 서버(300)에서는 단말 장치(100a)에 대한 가입 절차를 재수행하고 가입 승인 메시지를 단말 장치(100a)에 전송한다(S928).The first
이에 따라, 제1 단말 장치(100a)와 네트워크 서버(300)에서 네트워크 세션 키와 어플리케이션 키가 갱신되어, 제2 단말 장치(100b)는 기존에 탈취한 네트워크 세션 키를 통해 네트워크 서버(300)와 데이터를 송수신할 수 없게 된다(S930).Accordingly, the network session key and the application key are updated in the first
이상으로, 사례 1의 상황을 방지하기 위해 재활성화 메시지를 이용한 데이터 전송 제어 방법을 수행하는 과정을 설명하였다.Thus, the process of performing the data transmission control method using the reactivation message has been described to prevent the situation of
도 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
이를 이용하여, 제1 단말 장치(100a)와 네트워크 서버(300)는 각각 동일한 네트워크 세션 키와 어플리케이션 키를 생성한다(S1004).Using this, the first
여기서, 네트워크 서버(300)는 제1 단말 장치(100a)의 프로파일 정보를 저장할 수 있으나, 도 10의 실시 예에서는 반드시 프로파일 정보의 저장이 필요한 것은 아니다.Here, the
이러한 상황에서, 제2 단말 장치(100b)가, 비정상적인 방법, 예를 들어 해킹 등을 통해 제1 단말 장치(100a)와 네트워크 서버(300)가 생성한 네트워크 세션 키와 어플리케이션 키를 탈취하는 경우가 발생할 수 있다.In this situation, the case where the second
사례 1과는 다르게, 제2 단말 장치(100b)가 탈취한 네트워크 세션 키와 어플리케이션 키를 이용하여 조작된 데이터를 전송하는 것이 아닌, 제1 단말 장치(100a)가 게이트웨이(200)를 통하여 네트워크 서버(300)에 전송하는 데이터를 도청하는 경우가 있을 수 있다(S1010).Unlike
이 경우에는 사례 1과 같이 네트워크 서버(300)가 조작된 데이터 수신을 통해 탈취 발생을 발견할 수 없으므로, 제1 단말 장치(100a)에 재활성화를 요청할 다른 방법이 필요하게 된다.In this case, since the
이에 따라, 네트워크 서버(300)는 주기적으로 재활성화 요청이 발생하도록 설정될 수 있다(S1012).Accordingly, the
재활성화 요청이 발생하면, 네트워크 서버(300)는 게이트웨이(200)를 통해 재활성화 메시지를 제1 단말 장치(100a)로 전송한다(S1014, S1016).When the reactivation request is generated, the
재활성화 메시지를 수신한 단말 장치(100a)는 네트워크 서버로 가입 요청 메시지를 전송하고(S1018), 이에 따라 네트워크 서버(S928)에서는 단말 장치(100a)에 대한 가입 절차를 재수행하고 가입 승인 메시지를 단말 장치(100a)에 전송한다(S1020).Upon receiving the reactivation message, the
이러한 재활성화 요청 발생 주기는 관리자에 의해 설정될 수 있으며, 발생 주기(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
이상, 본 발명의 실시 예에 따른 데이터 전송 제어 방법에 대해 설명하였다.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.
상기 단말 장치로부터 전송된 데이터에 대한 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.
상기 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.
상기 기 등록된 단말 장치에 대한, 어플리케이션 키(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.
상기 가입 절차를 수행 후 상기 서비스 서버로 데이터를 전송 중인 단말 장치에 대한 프로파일 정보를 저장하는 단계;
상기 단말 장치로부터 전송된 데이터로부터 상기 단말 장치의 프로파일 정보를 추출하는 단계; 및
상기 추출한 프로파일 정보와 저장된 프로파일 정보를 비교하는 단계를 더 포함하고,
상기 재활성화 메시지를 전송하는 단계는, 상기 상기 추출한 프로파일 정보와 저장된 프로파일 정보가 일치하지 않는 경우, 상기 재활성화 메시지를 전송하는 것을 특징으로 하는 데이터 전송 제어 방법. 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.
해당 단말 장치에 할당된 네트워크 세션 키, 어플리케이션 키(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.
재활성화 메시지를 전송하는 단계는,
기 설정된 시간 주기에 따라 상기 재활성화 메시지를 전송하는 것을 특징으로 하는 데이터 전송 제어 방법.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.
상기 단말 장치와 상기 서비스 서버 간의 데이터 전송은,
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.
상기 네트워크 인터페이스 모듈을 통해 가입 절차를 수행 후 상기 서비스 서버로 데이터를 전송 중인 단말 장치에 대해서, 기 설정된 조건에 따라서 재활성화(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:
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)
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)
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 |
-
2015
- 2015-11-23 KR KR1020150164206A patent/KR102183958B1/en active IP Right Grant
Patent Citations (5)
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)
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 |