KR20170130904A - Method and apparatus for provisioning between terminals and a server - Google Patents
Method and apparatus for provisioning between terminals and a server Download PDFInfo
- Publication number
- KR20170130904A KR20170130904A KR1020160061827A KR20160061827A KR20170130904A KR 20170130904 A KR20170130904 A KR 20170130904A KR 1020160061827 A KR1020160061827 A KR 1020160061827A KR 20160061827 A KR20160061827 A KR 20160061827A KR 20170130904 A KR20170130904 A KR 20170130904A
- Authority
- KR
- South Korea
- Prior art keywords
- terminal device
- application key
- application
- key
- temporary
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
Abstract
Description
본 발명은 단말 장치와 서비스 서버 간의 연결 설정 방법 및 이를 위한 장치에 관한 것으로서, 더욱 상세하게는 협대역(Narrowband) 통신 기술이 적용된 IoT(Internet of Things, 사물인터넷) 시스템에 있어서, 단말과 서비스 서버 간 연결 절차를 수행할 때 보안 키가 유출되는 것을 방지하기 위한 연결 설정 방법, 이를 위한 장치에 관한 것이다.The present invention relates to a method for establishing a connection between a terminal and a service server, and more particularly, to an Internet of Things (IoT) system to which a narrowband communication technology is applied, To a connection establishment method for preventing a leakage of a security key when performing an inter-connection procedure, and a device 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 telecommunication protocol using 900MHz band frequency, which eliminates the need for many repeaters and APs to reduce the cost of infrastructure construction and allows for higher scalability and cost for embedded applications Which means a communication protocol that can provide efficiency.
이러한 LoRa 기술이 적용된 IoT 시스템은 LoRa 디바이스, 네트워크 서버 및 어플리케이션 서버 등으로 구현될 수 있다. 이때 IoT 서비스에 적용되는 LoRa 단말 장치는 네트워크 가입(개통) 절차 시 보안 키로서 어플리케이션 키를 이용하며, 어플리케이션 키를 이용해 통신을 위한 세션 키(Session Key)를 생성하고, 이를 통해 송수신하는 데이터를 암호화/복호화한다.Such an IoT system using LoRa technology can be implemented as a LoRa device, a network server, and an application server. At this time, the LoRa terminal device applied to the IoT service uses an application key as a security key in a network joining (opening) procedure, generates a session key for communication using an application key, encrypts data to be transmitted / / Decrypt.
LoRa 기술이 적용된 통신 시스템에서는, 단말 장치나 기지국 사이에서 데이터를 전송할 때 별도의 설정 없이 해당 주파수 대역에 데이터를 브로드캐스팅(Broadcasting)하므로, 만약 데이터 암호화에 이용되는 어플리케이션 키가 제3자에게 유출되는 경우, 제3자는 암호화된 데이터에 접근하여 데이터를 변경할 수 있게 된다.In a communication system employing the LoRa technology, when data is transmitted between a terminal device and a base station, data is broadcast in a corresponding frequency band without any setting, and if an application key used for data encryption is leaked to a third party , The third party can access the encrypted data and change the data.
그런데, 현재의 LoRa 통신 시스템에서는 서비스 서버의 관리자와 단말 장치의 제조사는 어플리케이션 키를 미리 알고 있는 상태에서 수동으로 어플리케이션 키 값을 입력하여 연결 절차를 진행하며, 이러한 과정은 필수적인 것으로, 관리자나 제조사가 어플리케이션 키 값을 관리하는 과정에서 어플리케이션 키가 유출될 위험성이 있다.However, in the current LoRa communication system, the administrator of the service server and the manufacturer of the terminal device manually enter the application key value in a state of knowing the application key in advance and proceed the connection procedure. There is a risk that the application key is leaked in the process of managing the application key value.
따라서, LoRa 통신 시스템에서 보다 안정한 통신 환경의 확보를 위해서, 보안성을 향상시킬 수 있는 방안이 요구된다.Therefore, in order to secure a more stable communication environment in the LoRa communication system, there is a need for a method for improving security.
상술한 문제점을 해결하기 위하여 본 발명은, 단말 장치와 서비스 서버 간 최초 연결을 위해 관리자와 제조사가 공유하는 어플리케이션 키(임시 어플리케이션 키, Pseudo Application Key)와, 1차적으로 단말 장치와 서비스 서버가 연결된 이후, 목적한 데이터를 주고받는 데에 사용하기 위해 관리자와 제조사가 인지하지 못한 상태에서 생성되는 어플리케이션 키(정규 어플리케이션 키, Real Application Key)를 각각 제공함으로써, 실제 송수신되는 데이터의 안정성을 향상시키고자 한다.According to an aspect of the present invention, there is provided an information processing apparatus including an application key (Pseudo Application Key) shared by an administrator and a manufacturer for initial connection between a terminal device and a service server, Thereafter, by providing an application key (a regular application key, Real Application Key) generated in a state in which the administrator and the manufacturer are not aware to use for exchanging the target data, it is possible to improve the stability of data actually transmitted and received do.
보다 구체적으로, 상기 두 어플리케이션 키를 이용하여 단말 장치와 서비스 서버의 연결 상태를 임시 보안 연결 상태와 정규 보안 연결 상태로 구분하여, 임시 보안 연결 상태에서는 정규 보안 연결 절차를 위한 메시지 외의 다른 데이터는 드랍(Drop)하도록 하여, 실제 데이터 통신에 적용되는 보안 키의 노출을 최소화하고, 이를 통해 송수신되는 데이터의 안정성을 향상시키는데 그 목적이 있다.More specifically, the connection state between the terminal device and the service server is divided into a temporary security connection state and a regular security connection state using the two application keys. In the temporary security connection state, the data other than the message for the normal security association procedure is dropped And to minimize the exposure of the security key applied to actual data communication, thereby improving the stability of data transmitted and received.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.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.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 연결 설정 방법은, 서비스 서버가 단말 장치와 임시 어플리케이션 키(Pseudo Application Key)를 공유하는 단계; 상기 단말 장치로부터의 제1 가입 요청 메시지에 대응하여, 상기 공유한 임시 어플리케이션 키를 기반으로 임시 보안 연결을 수행하는 단계; 상기 임시 보안 연결을 통해서 상기 단말 장치와 정규 어플리케이션 키(Real Application Key)를 공유하는 단계; 상기 단말 장치로부터의 제2 가입 요청 메시지에 대응하여, 상기 정규 어플리케이션 키를 기반으로 정규 보안 연결을 수행하는 단계; 를 포함하여 제공될 수 있다.According to an aspect of the present invention, there is provided a method of establishing a connection, the method comprising: sharing a pseudo application key with a terminal device; Performing a temporary security connection based on the shared temporary application key in response to a first subscription request message from the terminal device; Sharing a regular application key (Real Application Key) with the terminal device through the temporary secure connection; Performing a regular security connection based on the regular application key in response to a second subscription request message from the terminal device; May be provided.
더하여, 상기 서비스 서버는 상기 임시 보안 연결을 통해 송수신된 데이터 중, 상기 정규 어플리케이션 키 공유를 위해 지정된 메시지 이외의 데이터를 드랍(drop)하는 단계; 를 더 포함할 수 있고, 또는, 상기 정규 보안 연결을 통해 송수신되는 데이터 중, 상기 정규 어플리케이션 키 공유를 위해 지정된 메시지가 존재하면 해당 메시지를 드랍(drop)하는 단계; 를 더 포함할 수 있다.In addition, the service server may drop data other than the message designated for sharing the regular application key among the data transmitted and received through the temporary secure connection; And dropping the message if there is a message designated for sharing the regular application key among the data transmitted and received through the normal security association. As shown in FIG.
또한, 상술한 바와 같은 목적을 달성하기 위한 장치로 단말 장치와 보안 연결을 수행하고, 보안 연결을 수행한 단말 장치와 데이터를 송수신하는 네트워크 인터페이스 모듈; 및 상기 단말 장치와 서비스 서버 간 임시 어플리케이션 키(Pseudo Application Key)를 공유하고, 상기 네트워크 인터페이스 모듈을 통해 수신한 상기 단말 장치로부터의 제1 가입 요청(Join Request) 메시지에 대응하여, 상기 공유한 임시 어플리케이션 키를 기반으로 임시 보안 연결을 수행하고, 상기 임시 보안 연결을 통해서 상기 단말 장치와 정규 어플리케이션 키(Real Application Key)를 공유하고, 상기 단말 장치로부터의 제2 가입 요청 메시지에 대응하여, 상기 정규 어플리케이션 키를 기반으로 정규 보안 연결을 수행하는 제어 모듈; 을 포함하는 것을 특징으로 하는 서비스 서버를 제공할 수 있다. The present invention also provides a network interface module for establishing a secure connection with a terminal device and transmitting / receiving data to / from a terminal device that performs secure connection, And a server for sharing a Pseudo Application Key between the terminal device and the service server, and in response to a first Join Request message from the terminal device received via the network interface module, And a second application server for performing a temporary security connection based on the application key, sharing a real application key with the terminal device through the temporary secure connection, and in response to the second subscription request message from the terminal device, A control module for performing a regular security connection based on an application key; And a service server for providing the service to the service server.
본 발명에 따르면, 연결 설정 과정에서 세션 키 생성에 이용되는 어플리케이션 키의 노출을 방지함으로써, 제3자에 의해 IoT 단말 장치와 서비스 서버 사이에서 송수신되는 데이터에 제3자가 접근하여 각종 정보가 외부로 새어나가거나, 제3자가 데이터를 조작하여 부당한 이익을 발생시키는 등 IoT 사업에 악영향을 미치는 것을 방지할 수 있다.According to the present invention, by preventing the application key used for session key generation from being exposed during the connection establishment process, a third party accesses data transmitted and received between the IoT terminal device and the service server by a third party, It is possible to prevent the IoT business from being adversely affected, such as leaking out or causing unauthorized profit by manipulating data by a third party.
더하여, IoT를 이용하는 공공사업 등에 적용되어 보안을 강화함으로써, 악의의 제3자가 공공재에 접근 및 악용하는 것을 방지하여, 산업기반을 안정시킬 수 있다.In addition, by strengthening security by applying to public works projects using IoT, it is possible to stabilize the industrial base by preventing malicious third parties from accessing and abusing public goods.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.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은 본 발명의 실시 예에 따른 IoT 통신 시스템의 주요 구성을 나타낸 도면이다.
도 2는 본 발명에 따른 서비스 서버의 주요 구성을 도시한 블록도이다.
도 3은 LoRA 표준 기반의 단말 장치와 서비스 서버 간의 연결 설정 과정을 개략적으로 나타낸 데이터 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 연결 설정 방법을 설명하기 위한 데이터 흐름도이다.
도 5는 본 발명의 일 실시 예에 따른 연결 설정 방법에 있어서, 보안 연결 과정을 설명하기 위한 데이터 흐름도이다.
도 6은 본 발명의 일 실시 예에 따른 연결 설정 방법에 있어서, 정규 어플리케이션 키 공유 과정을 설명하기 위한 데이터 흐름도이다.1 is a diagram illustrating a main configuration of an IoT communication system according to an embodiment of the present invention.
2 is a block diagram showing a main configuration of a service server according to the present invention.
3 is a data flow diagram schematically illustrating a connection establishment process between a terminal device based on the LoRA standard and a service server.
4 is a data flow diagram illustrating a connection establishment method according to an embodiment of the present invention.
5 is a data flow diagram for explaining a security connection process in the connection establishment method according to an embodiment of the present invention.
FIG. 6 is a data flow chart for explaining a regular application key sharing process in the connection establishing method according to an 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.
이하의 설명 및 특허 청구 범위에서, "네트워크" 또는 "통신망"은 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다.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.
아울러, 본 발명에 따른 실시 예는 협대역(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.
그러면 이제, 도면을 참조하여 본 발명의 실시 예에 따른 연결 설정 방법을 실행하기 위한 데이터 전송 시스템의 주요 구성에 대해 설명하도록 한다.Now, the main configuration of the data transmission system for executing the connection establishment method according to the 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)를 포함한다.The
상기 네트워크 서버(300)와 어플리케이션 서버(400)는 그 기능이 각각 분리되어 별개의 서버로서 구현될 수도 있지만, 하나의 서버로 통합되어 구현될 수도 있다.The functions of the
본 발명의 실시 예에서는 네트워크 서버(300)와 어플리케이션 서버(400)가 하나의 서비스 서버(500) 내에 통합된 경우를 예로 들어 설명하나, 반드시 그에 제한되는 것은 아니다.In the embodiment of the present invention, the case where the
한편, 서비스 서버(500)가 네트워크 서버(300)와 어플리케이션 서버(400)로 구분되어 구현되는 경우, 본 발명에 따른 실시 예는 네트워크 서버(300)를 중심으로 구현될 수 있다.Meanwhile, when the
먼저, 단말 장치(100)는 사용자 측에 구비되어 협대역 통신 시스템에 연결되는 장치로서, LoRa 기술이 적용된 LoRa 디바이스가 될 수 있다. 이러한 단말 장치(100)는 IoT 시스템에 있어서, 사물 통신이 가능한 다양한 사물 기기가 이에 해당될 수 있다. 예를 들어 각종 센서, 제어 장치, 휴대폰, 냉장고, 청소기, 세탁기, 공장 기기, 자동 판매기 등 다양한 사물(things)이 본 발명의 단말 장치(100)로 동작 가능하다.First, the
이러한 단말 장치(100)는 LoRa 타입별로 데이터 전송 동작이 달라질 수 있다. 예를 들어, 단말 장치(100)의 하향링크 데이터 패킷 수신 여부에 따라 클래스가 구분될 수 있다. In this
단말 장치(100)에서 데이터 전송을 위한 MAC 레이어를 통하여 구분된 클래스를 변경하여 데이터를 전송할 수 있는데, 이러한 클래스를 변경하여 데이터를 전송하기 위한 MAC 레이어가 가지고 있는 정보는 단말 장치(100)뿐만 아니라, 게이트웨이(200), 서비스 서버(500)가 공유하고 있을 수 있다.The
이러한 클래스는 LoRa 기술에 정의되어 있으며, 본 발명은 클래스 별 데이터 전송 타입인 "Class A/B/C" 타입에서 동작할 수 있다.Such a class is defined in the LoRa technique, and the present invention can operate in the "Class A / B / C" type which is a class-specific data transmission type.
단말 장치(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. The present invention can also work with these additional class types.
게이트웨이(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) 메시지가 전달되면 상기 가입 요청 메시지에 포함된 어플리케이션 식별 정보(AppEUI)를 이용하여 어플리케이션 서버(400)를 확인하고, 확인된 어플리케이션 서버(400)로 가입 요청(Join Request) 메시지를 전달한다. 그리고 어플리케이션 서버(400)로부터 가입 요청(Join Request) 메시지에 대한 확인 메시지가 전달되면 네트워크 아이디 및 단말 장치 주소 정보를 확인하여 이를 어플리케이션 서버(400)로 전달하여, 어플리케이션 서버(400)에서의 암호화를 위한 세션 키 생성 과정을 지원할 수 있다. The
이러한 과정을 거쳐 보안 연결 절차가 완료되면, 이후의 네트워크 서버(300)는 단말 장치(100) 및 어플리케이션 서버(500) 간의 송수신되는 데이터 패킷에 대한 무결성 검증(Message Integrity Check, MIC)을 수행할 수 있으며, 이때 상기 세션 키를 이용하여 무결성 검증을 수행할 수 있게 된다. 앞서 설명한 것과 같이 상기 세션 키는 네트워크 계층에서 이용되는 네트워크 세션 키와 응용계층에서 이용되는 어플리케이션 세션 키로 구분될 수 있다.When the security connection procedure is completed through this process, the
각 단말 장치(100)에 따른 그룹 설정과, 각 그룹에 따른 세션 키의 설정을 마치고 난 후, 단말 장치(100)로부터 가입 요청(Join Request) 메시지를 수신하면, 상기 가입 요청 메시지를 전송한 단말 장치(100)가 속하는 그룹을 설정된 정보로부터 확인하여, 해당 그룹에 매핑(mapping)되는 네트워크 세션 키와 어플리케이션 세션 키를 가입 승인(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 connection establishment method according to an embodiment of the present invention has been described.
이하에서, 본 발명의 실시 예에 따른 장치에 대하여 설명한다.Hereinafter, an apparatus according to an embodiment of the present invention will be described.
도 2는 본 발명에 따른 서비스 서버(500)의 주요 구성을 도시한 블록도이다.2 is a block diagram showing a main configuration of a
도 2를 참조하면, 서비스 서버(500)는 네트워크 인터페이스 모듈(310), 저장모듈(320), 제어모듈(330), 사용자 인터페이스 모듈(340)을 포함하여 구성될 수 있다.Referring to FIG. 2, the
또는, 본 발명의 실시 예에 따라 네트워크 서버(300)와 어플리케이션 서버(400)가 하나의 서비스 서버(500) 내에서 동작할 수 있으므로, 도 2의 각 구성은 네트워크 서버(300)의 주요 구성으로도 이해할 수 있다.Alternatively, the
네트워크 인터페이스 모듈(310)은 어플리케이션 서버(400) 혹은 게이트웨이(200)를 통해 단말 장치(100)와 데이터를 송수신하는 장치이다.The
네트워크 서버(300)는 이러한 네트워크 인터페이스 모듈(310)을 통해서 원격지에 위치한 장치와 정보를 송수신할 수 있다.The
만약, 어플리케이션 서버(400)와 네트워크 서버(300)가 일체로 구성된 경우에는, 네트워크 인터페이스 모듈(310)은 게이트웨이(200)를 통한 단말 장치(100)와의 데이터 송수신을 위해 사용될 수 있다.If the
네트워크 인터페이스 모듈(310)은, 예를 들면, 네트워크 인터페이스 카드 및 대응하는 네트워크 드라이버 인터페이스 사양(Network Driver Interface Specification: "NDIS") 스택과 같은 하나 이상의 소프트웨어 및/또는 하드웨어 모듈의 논리적 조합으로 나타낼 수 있다. The
특히, 본 발명에 있어서 네트워크 인터페이스 모듈(310)은, 단말 장치(100)로부터 가입 요청 메시지가 수신되면 단말 장치(100)와의 보안 연결을 수행하고, 보안 연결된 단말 장치(100)와 데이터를 송수신할 수 있다. In particular, in the present invention, the
저장 모듈(320)은 보안 연결을 수행할, 또는 수행한 단말 장치(100)의 프로파일 정보를 저장할 수 있다. 이러한 단말 장치(100)의 프로파일 정보는, 단말 장치 식별 정보(DevEUI), 어플리케이션 식별 정보(AppEUI), 단말 장치 랜덤값(DevNonce) 중 하나 이상을 포함할 수 있다.The
또한, 저장 모듈(320)은 단말 장치(100)에 할당된 임시 어플리케이션 키(Pseudo Application Key), 정규 어플리케이션 키(Real Application Key), 네트워크 세션 키(Network Session Key), 어플리케이션 세션 키(Application Session key), 어플리케이션 식별 정보(AppEUI) 중 하나 이상을 저장할 수 있다.The
아울러, 저장 모듈(320) 특정 단말 장치가 네트워크 서버(300) 또는 서비스 서버(500)와 임시 보안 연결 상태인지, 또는 정규 보안 연결 상태인지를 리스트(List)화 하여 저장할 수 있다. 이러한 저장하는 방법의 일 예는, 특정 단말 장치가 임시 어플리케이션 키만을 공유받은 상태인지, 또는 정규 어플리케이션 키를 공유받은 상태인지를 저장하는 것이 될 수 있다.In addition, the
제어 모듈(330)은 상기 네트워크 인터페이스 모듈이 보안 연결 절차를 수행하기 위한 데이터를 송수신할 수 있도록 제어하기 위한 구성이다. 제어 모듈(330)은 네트워크 인터페이스 모듈(310)을 통해 수신한 단말 장치(100)로부터의 가입 요청에 대응하여 단말 장치(100)와 보안 연결을 수행하며, 이러한 보안 연결 수행을 위해 어플리케이션 키를 단말 장치(100)와 공유할 수 있다.The
또한, 제어 모듈(330)은, 상기 보안 연결을 수행하기 위하여, 네트워크 인터페이스 모듈(310)을 통해 단말 장치(100)로부터 프로파일 정보를 수신하고, 상기 프로파일 정보를 기반으로 임시 어플리케이션 키 또는 정규 어플리케이션 키를 추출할 수 있으며, 상기 임시 어플리케이션 키 또는 정규 어플리케이션 키를 기반으로 네트워크 세션 키와 어플리케이션 세션 키를 생성할 수 있다.The
또한, 제어 모듈(330)은, 정규 어플리케이션 키 생성을 위해, 네트워크 인터페이스 모듈(310)을 통해 단말 장치(100)로부터 수신한 요청에 응답하여, 어플리케이션 랜덤값(AppNonce)을 단말 장치(100)에 전송하도록 네트워크 인터페이스 모듈(310)을 제어할 수 있다. 또한, 단말 장치(100)로부터 상기 어플리케이션 랜덤값 수신을 완료했음을 보고하는 메시지를 수신하면, 이에 대응하여 단말 장치(100)에 메시지를 수신했음을 알리기 위한 응답 메시지를 네트워크 인터페이스 모듈(310)을 통해 송신할 수 있다.The
더하여, 제어 모듈(330)은 상기 네크워크 세션 키 및 상기 어플리케이션 세션 키를 생성하기 위해 네트워크 인터페이스 모듈(310)을 통해 송수신되는 정보들, 예를 들어, 이전 단락에 기재된 어플리케이션 랜덤값 또는 응답 메시지를 임시 어플리케이션 키 또는 정규 어플리케이션 키를 이용하여 암호화할 수 있다.In addition, the
제어 모듈(330)은, 서비스 서버(500) 또는 네트워크 서버(400)가 단말 장치(100)와 임시 보안 연결만이 수행된 경우에는, 단말 장치(100)로부터 정규 어플리케이션 키 공유를 위해 지정된 메시지 이외의 데이터를 수신하는 경우 이러한 데이터를 드랍(Drop)하도록 서비스 서버(500) 또는 네트워크 서버(400)를 설정할 수 있다. 또한, 서비스 서버(500) 또는 네트워크 서버(400) 자체에서 상기 지정된 메시지 이외의 데이터가 송신될 때에도 동일하게 적용될 수 있다.When the
제어 모듈(330)은, 서비스 서버(500) 또는 네트워크 서버(400)가 단말 장치(100)와 정규 보안 연결이 수행된 경우에는, 단말 장치(100)로부터 정규 어플리케이션 키 공유를 위해 지정된 메시지가 수신되는 경우 해당 메시지를 드랍할 수 있다.When the
여기서 정규 어플리케이션 키 공유를 위해 지정된 메시지는, 정규 어플리케이션 키 생성을 위해 송수신되는, 어플리케이션 랜덤값을 요청하는 메시지, 어플리케이션 랜덤값을 포함하는 메시지, 어플리케이션 랜덤값 수신 완료 메시지 및 상기 수신 완료 메시지에 대한 응답 메시지 중 하나 이상을 포함한다.Here, the message designated for normal application key sharing includes a message for requesting an application random value, a message including an application random value, an application random value reception completion message, and a response to the reception complete message, Message. ≪ / RTI >
사용자 인터페이스 모듈(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) 또는 네트워크 서버(300)를 포함하는 서비스 서버(500)의 주요 구성에 대해 설명하였다.The main configuration of the
이하, 본 발명의 일 실시 예에 따른 연결 설정 방법에 대해 도 3 내지 도 6을 통해 설명하도록 한다.Hereinafter, a connection establishing method according to an embodiment of the present invention will be described with reference to FIG. 3 to FIG.
먼저, 기존 방식에 따른 단말 장치(100)가 서비스 서버(500)에 접속하는 과정, 즉 단말 장치(100)와 서비스 서버(500)의 개통(보안 연결) 절차를 설명한다.First, a process of connecting the
도 3은 LoRA 표준 기반의 단말 장치와 서비스 서버 간의 연결 설정 과정을 개략적으로 나타낸 데이터 흐름도이다.3 is a data flow diagram schematically illustrating a connection establishment process between a terminal device based on the LoRA standard and a service server.
도 3을 참조하면, 먼저, 단말 장치(100)와 서비스 서버(500)는 상호 연결을 위한 정보를 기 설정한다(S300a, S300b). 설정되는 정보에는 단말 장치 식별 정보(DevEUI), 어플리케이션 식별 정보(AppEUI), 어플리케이션 키(Application Key, AppKey) 값이 있을 수 있다.Referring to FIG. 3, first, the
다음으로, 단말 장치(100)는 서비스 서버(500)에 접속하기 위해, 가입 요청(Join Request) 메시지를 게이트웨이(200)를 거쳐 서비스 서버(500) 또는 서비스 서버(500) 내의 네트워크 서버(300)로 전달하게 된다(S302). 단말 장치(100)는 최초 전원 온(on)시 등 지정된 이벤트 발생 시 가입 요청 메시지를 게이트웨이(200)를 거쳐 네트워크 서버(300)로 전달할 수 있다. 단말 장치(100)가 네트워크 서버(300)로 전달하는 가입 요청(Join Request) 메시지는 어플리케이션 식별 정보(AppEUI), 단말 장치 식별 정보(DevEUI) 및 단말 장치 랜덤값(DevNonce)을 포함하여 구성된다. The
어플리케이션 식별 정보는 서비스 서버(500) 또는 서비스 서버(500) 내의 어플리케이션 서버(400)에 의해 할당되며, 사전에 설정되어 있는 어플리케이션 구분자를 의미한다. 하나의 단말 장치(100)는 복수 개의 어플리케이션 서버(400)로 정보를 전송할 수 있다. 예를 들어, 단말 장치(100)가 온도를 측정하는 역할을 수행하는 경우, 건물 관리 서비스를 제공하는 어플리케이션 서버(400)로 측정된 온도 정보를 전송할 수 있으며, 온도 정보를 이용하여 상황인지 서비스를 제공하는 어플리케이션 서버로 측정된 온도 정보를 전송할 수도 있다. 이때, 각각의 어플리케이션 서비스 별로 어플리케이션 식별 정보가 서로 다르게 할당될 수 있으며, 단말 장치(100)는 전송하고자 하는 어플리케이션 서버(400)로 자신이 생성한 정보가 전달되도록 어플리케이션 식별 정보를 포함하는 가입 요청 메시지를 네트워크 서버(300)로 전송한다. The application identification information is allocated by the
반면, 단말 장치 식별 정보는 단말 장치(100) 간의 구분을 위한 것으로 최초 설치 시 할당되는 정보가 될 수 있다. 이러한 단말 장치 식별 정보는 네트워크 서버(300)에 의해 할당되거나, 단말 장치(100)를 생성한 사업자에 의해 할당될 수 있다. 이러한 단말 장치 식별 정보는 IEEE-SA의 규정에 의해 정해질 수도 있다.On the other hand, the terminal device identification information is for identifying the
단말 장치 랜덤값은 암호화를 위해 단말 장치(100)가 생성하는 값을 의미하며, 각 단말 장치 별 연결 설정 절차마다 달라질 수 있다. The terminal device random value is 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) 메시지 확인 메시지를 전송한다.Then, the
이후에, 어플리케이션 서버(400)는 가입 승인(Join Accept) 메시지를 단말 장치(100)로 전송할 수 있다(S304). 이때, 어플리케이션 서버(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, the Join Accept message transmitted from the
이후, 네트워크 서버(300)는 네트워크 ID(NetID) 및 단말 장치 주소정보(DevAddress)를 확인하고 이를 어플리케이션 서버(400)로 전송한다. Then, the
이를 수신한 어플리케이션 서버(400)는 어플리케이션 키(AppKey), 어플리케이션 랜덤값(AppNonce), 네트워크 ID(NetID), 단말 장치 랜덤값(DevNonce)을 이용하여 네트워크 세션 키(NW(network) Session Key)를 생성하고(S306a), 어플리케이션 키(AppKey), 어플리케이션 랜덤값(AppNonce), 네트워크 아이디(NetID), 단말 장치 랜덤값(DevNonce)을 이용하여 어플리케이션 세션 키(Application Session Key)를 생성하고(S306a), 네트워크 세션 키(NW session key)를 네트워크 서버(300)로 전달한다. The
네트워크 서버(300)는 수신한 네트워크 세션 키를 저장한다. 여기서 네트워크 서버(300)는 수신한 네트워크 세션 키를 이용하여 메시지의 무결성을 체크하거나, 메시지 자체를 암호화 과정을 처리할 수 있다.The
이후에, 단말 장치(100)는 어플리케이션 키(AppKey), 어플리케이션 랜덤값(AppNonce), 네트워크 아이디(NetID), 단말 장치 랜덤값(DevNonce)를 이용하여 네트워크 세션 키(NW Session Key)를 생성할 수 있으며, 어플리케이션 세션 키(Application Session Key)를 생성할 수 있다(S306b).Thereafter, the
이러한 과정이 완료되면, 단말 장치(100)와 서비스 서버(500) 간의 최초 연결 설정(개통 또는 보안 연결 절차)가 완료된 것으로(S308), 이후에, 단말 장치(100)는 네트워크 세션 키 또는 어플리케이션 세션 키를 이용하여 전송하고자 하는 데이터 패킷을 암호화한 후, 데이터 패킷을 게이트웨이(200)를 거쳐 네트워크 서버(300)로 전송할 수 있다. When this process is completed, the initial connection setup (open or secure connection procedure) between 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, connection establishment (security connection procedure) in the authority setting system according to the general embodiment of the present invention has been described.
상기한 과정 이전에, 서비스 서버(500)의 관리자와 단말 장치(100)의 제조사는 어플리케이션 식별 정보 및 어플리케이션 키를 생성하기 위해 연결을 수행할 단말 장치(100)의 수, 단말 장치 식별 정보(DevEUI), 단말 장치(100) 제조사의 ID, 단말 장치(100)의 타입, 단말 장치(100)를 통해 제공할 서비스의 분류 등 어플리케이션 키를 생성하기 위한 정보들을 사전에 주고받을 수 있다.The administrator of the
사전에 주고받은 정보를 통해 어플리케이션 식별 정보와 어플리케이션 키를 생성하면, 서비스 서버(500)의 관리자는 이를 단말 장치(100)의 제조사에 전달하고, 단말 장치(100)에도 상기 어플리케이션 식별 정보와 어플리케이션 키를 설정하게 된다.The manager of the
그런데, 아직 단말 장치(100)와 서비스 장치(500)가 연결 설정을 수행하기 전이므로, 어플리케이션 식별 정보와 어플리케이션 키를 전달 시 도 1에 도시된 네트워크가 아닌 별개의 루트를 통하게 되며, 이 과정에서 어플리케이션 키 값이 유출될 위험성이 있다.However, since the
이하에서, 이러한 문제점을 극복하기 위한 본 발명의 실시 예에 따른 단말의 보안 연결 절차에 대하여 설명하도록 한다.Hereinafter, a secure connection procedure of a terminal according to an embodiment of the present invention to overcome such a problem will be described.
도 4는 본 발명의 일 실시 예에 따른 연결 설정 방법을 설명하기 위한 데이터 흐름도이다.4 is a data flow diagram illustrating a connection establishment method according to an embodiment of the present invention.
도 4를 참조하면, 먼저, 단말 장치(100)와 서비스 서버(500)는 임시 어플리케이션 키(Pseudo Application Key)를 공유한다(S400).Referring to FIG. 4, the terminal 100 and the
임시 어플리케이션 키는, 본 발명의 실시 예에 따라 2단계로 구분되는 보안 연결 절차(연결 설정)에서 첫 번째 단계인 임시 보안 연결에만 쓰이도록 설정된 어플리케이션 키이며, 이러한 임시 어플리케이션 키로 단말 장치(100)와 서비스 서버(500)가 연결되더라도 단말 장치(100)가 본래 목적하는 서비스와 관련된 데이터는 송수신할 수 없게 된다. 상기 임시 어플리케이션 키는 임의의 값으로 생성될 수 있다.The temporary application key is an application key set to be used only for the temporary security connection, which is the first step in the security connection procedure (connection setting) divided into two stages according to the embodiment of the present invention. Even if the
임시 어플리케이션 키의 공유 후, 단말 장치(100)가 최초 구동하여 제1 가입 요청 메시지를 서비스 서버(500)로 전송하면(S402), 서비스 서버(500)는 임시 어플리케이션 키를 기반으로 단말 장치(100)와 임시 보안 연결을 수행한다(S404). 보안 연결을 수행하기 위한 각 장치 내의 알고리즘은 도 2에서 설명한 연결 설정과 같으며, 본 발명의 실시 예에 따라 종래의 연결 설정과 차이가 있는 부분을 도 5를 참조하여 설명한다.After the temporary application key is shared, the
도 5는 본 발명의 일 실시 예에 따른 연결 설정 방법에 있어서, 보안 연결 절차를 설명하기 위한 데이터 흐름도로서, 도 4의 S404 단계 및 S410 단계에 적용될 수 있다. 참고로, S404 단계에 적용될 경우, 도 5에 기재된 어플리케이션 키는, 임시 어플리케이션 키가 되며, S410 단계에 적용될 경우, 도 5에 기재된 어플리케이션 키는 정규 어플리케이션 키가 된다.FIG. 5 is a data flow diagram for explaining a secure connection procedure in the connection establishment method according to an embodiment of the present invention, and may be applied to steps S404 and S410 of FIG. When applied to step S404, the application key shown in FIG. 5 becomes a temporary application key, and when applied to step S410, the application key shown in FIG. 5 becomes a regular application key.
도 5를 참조하여 상기 S404 단계를 더 구체적으로 설명하면, 단말 장치(100)는 어플리케이션 키, 더 구체적으로, 임시 어플리케이션 키를 생성하기 위해 연결을 수행할, 단말 장치 식별 정보(DevEUI), 어플리케이션 식별 정보(AppEUI), 단말 장치 랜덤값(DevNonce) 중 하나 이상을 포함하는 프로파일 정보를 제1 가입 요청 메시지에 포함시켜 서비스 서버(500)로 전송한다(S500).5, the
서비스 서버(500)는 수신한 프로파일 정보를 통해 해당 단말 장치(100)에 적용되는 임시 어플리케이션 키를 추출한다(S502).The
이후, 서비스 서버(500)는 임시 어플리케이션 키를 이용해 세션 키 생성에 필요한 정보를 암호화하여 단말 장치(100)로 전송한다(S504). 단말 장치(100)가 수신한 세션 키 생성에 필요한 정보에는 어플리케이션 랜덤값(AppNonce), 단말 장치 주소 정보(DevAddr)가 포함될 수 있다.Thereafter, the
단말 장치(100)는 수신한 정보를 임시 어플리케이션 키를 이용하여 복호화한다.The
세션 키 생성에 필요한 정보가 송수신 및 복호화되면, 단말 장치(100)와 서비스 서버(500)는 각각 복호화된 정보 및 임시 어플리케이션 키를 이용하여 세션 키를 생성한다(S506a, S506b). 세션 키에는 어플리케이션 세션 키와 네트워크 세션 키가 포함될 수 있다.When information necessary for session key generation is transmitted / received and decrypted, the
세션 키가 생성되면 보안 연결 절차(연결 설정)가 완료되고 양 장치(100, 500)가 연결된 것으로(S508), 기존 연결 설정에서는 이제 서비스 데이터를 송수신할 수 있다. 그러나 본 발명의 실시 예에 따르면, 임시 어플리케이션 키를 이용하여 생성된 세션 키는 임시 세션 키이며, 임시 보안 연결 절차만을 수행한 단말 장치(100)에 관한 리스트가 서비스 서버(500)에 의해 관리된다.When the session key is generated, the secure connection procedure (connection setup) is completed and both
이러한 임시 보안 연결 절차만을 수행한 단말 장치(100)는, 정규 보안 연결 수행을 위해 지정된 메시지만을 서비스 서버(500)와 송수신할 수 있다. 만약 단말 장치(100)가 목적하는 서비스에 관한 데이터(예를 들어, 온도 측정을 위해 설치된 단말 장치(100)가 측정한 온도에 관한 데이터)가 서비스 서버(500)에 수신되는 경우에는, 서비스 서버(500)는 수신한 데이터를 일절 활용하지 않고 버리게 된다. 혹은, 서비스 서버(500) 자체에서 목적하는 서비스에 관한 데이터를 단말 장치(100)로 전송하도록 하는 요청이 발생하는 경우, 이를 무시하고 데이터를 단말 장치(100)에 송신하지 않는다. 본 명세서에서는 이를 데이터를 드랍(Drop)한다고 표현한다.The
다시 도 4를 참조하면, 이와 같이 임시 보안 연결을 완료한 후(S404), 단말 장치(100)와 서비스 서버(500)는 임시 보안 연결을 통해 정규 어플리케이션 키(Real Application Key)를 공유한다(S406).Referring again to FIG. 4, after the temporary security connection is completed (S404), the terminal 100 and the
이러한 정규 어플리케이션 키의 공유 방법은 도 6에 보다 상세하게 나타낸다.This method of sharing the regular application key is shown in more detail in FIG.
도 6은 본 발명의 일 실시 예에 따른 연결 설정 방법에 있어서, 정규 어플리케이션 키 공유 과정을 설명하기 위한 데이터 흐름도이다.FIG. 6 is a data flow chart for explaining a regular application key sharing process in the connection establishing method according to an embodiment of the present invention.
도 6을 참조하면, 정규 어플리케이션 키의 공유를 위해, 단말 장치(100)는 서비스 서버(500)에 어플리케이션 랜덤값(AppNonce)을 요청하는 메시지를 전송한다(S600).Referring to FIG. 6, in order to share a regular application key, the
서비스 서버(500)는 단말 장치(100)로부터 수신한 요청 메시지에 대응하여, 어플리케이션 랜덤값을 단말 장치(100)에 전송한다(S602).In response to the request message received from the
단말 장치(100)는 서비스 서버(500)로부터 어플리케이션 랜덤값을 수신했는지 확인하여, 어플리케이션 랜덤값의 수신이 확인되지 않는 경우, 어플리케이션 랜덤값을 요청하는 메시지를 서비스 서버(500)에 전송하는 S600 단계를 재수행하게 된다.The
단말 장치(100)는, 서비스 서버(500)로부터 어플리케이션 랜덤값을 수신한 이후, 어플리케이션 랜덤값을 수신했음을 알리는 수신 완료 메시지를 서비스 서버(500)에 전송한다(S604).After receiving the application random value from the
서비스 서버(500)는, 단말 장치(100)로부터 어플리케이션 랜덤값 수신 완료 메시지를 수신한 이후, 상기 수신 완료 메시지를 수신했음을 알리기 위한 응답 메시지를 단말 장치(100)에 전송한다(S606).After receiving the application random value reception completion message from the
단말 장치(100)는 서비스 서버(500)로부터 수신 완료 메시지에 대한 응답 메시지를 수신하였는지를 확인하여, 응답 메시지 수신이 확인되지 않는 경우, 수신 완료 메시지를 서비스 서버(500)에 전송하는 S604 단계를 재수행하게 된다.The
이와 같이 정규 어플리케이션 키 공유를 위해 4단계에 거쳐 메시지가 송수신되며, 정규 어플리케이션 키를 생성하기 위한 4단계의 송수신 메시지 중 하나에 전송 오류가 발생하는 경우, 단말 장치(100)에서 해당 단계에 맞는 메시지를 재전송하도록 함으로써, 안정적으로 정규 어플리케이션 키를 공유하기 위한 절차를 수행할 수 있다.When a transmission error occurs in one of four transmission / reception messages for generating a regular application key, the
이러한 정규 어플리케이션 키 생성을 위해 설정된 메시지는 임시 어플리케이션 키를 통해 생성된 임시 세션 키를 이용해 암호화 및 복호화될 수 있다.The message set for generating the regular application key can be encrypted and decrypted using the temporary session key generated through the temporary application key.
또한, 이러한 메시지는 임시 어플리케이션 키와 달리 도 1에 기재된 네트워크를 이용해 송수신되며, 단말 장치(100)의 제조사나 서비스 서버(500)의 관리자가 상기 메시지에 포함된 정보를 열람할 수 없어, 보안성을 보다 강화할 수 있다.Unlike the temporary application key, this message is transmitted and received using the network shown in FIG. 1, and the manufacturer of the
단말 장치(100)와 서비스 서버(500)는 송수신된 메시지에 포함된 어플리케이션 랜덤값을 이용하여 정규 어플리케이션 키를 생성한다(S608a, S608b).The
상기한 정규 어플리케이션 키를 공유하는 과정이 종료되면, 도 4와 같이 단말 장치(100)는 서비스 서버(500)에 제2 가입 요청 메시지를 전송하며(S408), 단말 장치(100)와 서비스 장치(500)는 정규 어플리케이션 키를 기반으로 정규 보안 연결을 수행한다(S410).4, the
정규 보안 연결을 수행하는 구체적인 방법은 임시 보안 연결을 수행하는 절차와 유사하며, 임시 보안 연결과 마찬가지로 도 5를 참조하여 설명한다.A specific method of performing a regular security connection is similar to the procedure for performing a temporary security connection, and is described with reference to FIG. 5, as with a temporary security connection.
정규 어플리케이션 키가 단말 장치(100) 및 서비스 서버(500)에 설정되면, 단말 장치(100)는 서비스 서버(100)가 세션 키를 생성하기 위해 필요한 프로파일 정보를 전송하게 된다(S500). 서비스 서버가(500) 수신하는 세션 키 생성에 필요한 프로파일 정보에는 단말 장치 식별 정보, 어플리케이션 식별 정보, 단말 장치 랜덤값이 포함될 수 있다.When the regular application key is set in the
단말 장치 식별 정보, 어플리케이션 식별 정보 및 단말 장치 랜덤값은 임시 보안 연결 절차에서 기 송수신된 정보이므로 정규 보안 연결 절차에서는 단말 장치 식별 정보, 어플리케이션 식별 정보, 단말 장치 랜덤값을 포함하지 않은 가입 요청 메시지만이 송신될 수도 있으나, 보안을 강화하기 위해, 단말 장치 랜덤값은 임시 보안 연결 절차에서 생성된 값과는 별도로 다시 생성하여 전송하는 것이 보다 바람직하다.Since the terminal device identification information, the application identification information, and the terminal device random value are information transmitted and received in the temporary security connection procedure, only the subscription request message that does not include the terminal device identification information, the application identification information, May be transmitted. However, in order to enhance security, it is more preferable that the random value of the terminal apparatus is generated separately from the value generated in the temporary secure connection procedure and transmitted again.
서비스 서버(500)는 수신한 프로파일 정보를 기반으로 해당 단말 장치(100)의 정규 어플리케이션 키를 추출하고(S502), 정규 어플리케이션 키를 이용해 단말 장치(100)가 세션 키를 생성하기 위해 필요한 정보를 암호화하여 전송한다(S504). 단말 장치(100)가 수신하는 세션 키 생성에 필요한 정보에는 어플리케이션 랜덤값, 단말 장치 주소 정보가 포함될 수 있다.The
이때, 어플리케이션 랜덤값 및 단말 장치 주소 정보를 포함하지 않은 가입 승인 메시지만이 서비스 장치(500)에 의해 단말 장치(100)로 송신되는 것도 가능하나, 보안 강화를 위해 어플리케이션 랜덤값은 임시 보안 연결 절차에서 생성된 값과는 별도로 다시 생성하여 전송하는 것이 보다 바람직하다.At this time, only the subscription grant message that does not include the application random value and the terminal device address information may be transmitted to the
단말 장치(100)는 수신한 정보를 정규 어플리케이션 키를 이용하여 복호화한다.The
세션 키 생성에 필요한 정보가 송수신 및 복호화되면, 단말 장치(100)와 서비스 서버(500)는 각각 복호화된 정보 및 정규 어플리케이션 키를 이용하여 세션 키를 생성한다(S506a, S506b). 세션 키에는 어플리케이션 세션 키와 네트워크 세션 키가 포함될 수 있다. When information necessary for session key generation is transmitted / received and decrypted, the
이러한 정규 보안 연결이 종료된 단말 장치(100)는 서비스 서버(500)에 의해 리스트로 관리되며, 서비스 서버(500)와 본래 목적한 데이터를 송수신할 수 있게 된다(S508).The
정규 보안 연결 절차 수행에 따라 생성된 세션 키는 정규 세션 키로, 단말 장치(100)가 본래 목적한 데이터를 암호화하여 송수신하는 데에 이용될 수 있다.The session key generated according to the execution of the normal security association procedure is a regular session key, and the
만약, 정규 보안 연결 절차가 완료된 이후 단말 장치(100)에서 정규 보안 연결을 위한 메시지, 예를 들어 어플리케이션 랜덤값 요청이 서비스 장치(500)에 수신되는 경우, 서비스 장치(500)는 이러한 요청을 드랍한다. 서비스 서버(500) 자체에서 단말 장치(100)로 어플리케이션 랜덤값 전송 요청이 발생하는 경우에도 어플리케이션 랜덤값을 전송하지 않고 요청을 드랍한다.If a message for a normal security connection, for example, an application random value request, is received by the
이와 같이 정규 보안 연결 절차는 1회만이 수행되며, 정규 보안 연결 절차가 완료된 이후에는 다시 절차를 수행할 수 없도록 설정된다.In this manner, the normal security association procedure is performed only once, and after the normal security association procedure is completed, the procedure can not be performed again.
이상, 본 발명의 실시 예에 따른 연결 설정 방법에 대해 설명하였다.The connection establishment method according to the embodiment of the present invention has been described above.
본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다.Although the present specification and drawings illustrate exemplary device configurations, implementations of the functional operations and the subject matter described herein may be embodied in other types of digital electronic circuitry or include structures and their structural equivalents disclosed herein Firmware, or hardware, or a combination of one or more of the foregoing.
따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이 속하는 분야의 통상의 기술자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.Thus, although the present invention has been described in detail with reference to the above examples, those skilled in the art will appreciate that various modifications, changes, and modifications can be made thereto without departing from the scope of the present invention.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 청구범위에 의해 정하여져야 한다.Therefore, the scope of the present invention should not be limited by the described embodiments but should be defined by the claims.
본 발명은 단말 장치와 서비스 서버 간 연결 설정 방법에 관한 것으로서, 더욱 상세하게는 협대역(Narrowband) 통신 기술이 적용된 IoT(Internet of Things, 사물인터넷)시스템, 특히, LoRa(Long Range Sub-Ghz Module) 기술이 적용된 IoT 시스템에 있어서, 단말 장치와 서비스 서버 사이에서 송수신되는 데이터를 암호화하기 위한 세션 키를 생성하기 위해 최초 연결 절차에서 사용되는 어플리케이션 키의 유출을 방지하기 위한 연결 설정 방법 및 이를 위한 장치에 관한 것이다.[0001] The present invention relates to a method for establishing a connection between a terminal device and a service server, and more particularly, to a method for establishing a connection between a terminal device and a service server, and more particularly to an Internet of Things (IoT) system, A connection establishment method for preventing a leakage of an application key used in an initial connection procedure to generate a session key for encrypting data transmitted and received between a terminal and a service server, .
본 발명에 따르면, 어플리케이션 키를 임시 어플리케이션 키(Pseudo Application Key)와 정규 어플리케이션(Real Application Key)로 구분하여, 2단계의 연결 절차를 수행함으로써, 앞서 공유된 임시 어플리케이션 키가 담당자(제조사 또는 관리자)의 실책으로 유출되더라도, 담당자가 접근할 수 없는 정규 어플리케이션 키를 이용한 보안 연결을 수행하여 송수신 데이터를 암호화할 수 있게 된다.According to the present invention, by dividing an application key into a pseudo application key and a real application key and performing a two-step connection procedure, the shared temporary application key is transferred to a contact person (manufacturer or manager) It is possible to encrypt the transmission / reception data by performing a security connection using a regular application key that can not be accessed by a person in charge.
따라서, 상기의 연결 설정 방법을 통해 IoT 서비스 산업 발전에 이바지 할 수 있고, 더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.Therefore, it is possible to contribute to the development of the IoT service industry through the connection establishment method described above. Moreover, since the present invention is not only possible to be marketed or operated, but can be practically and practically carried out, it is industrially applicable.
100: 단말 장치
200: 게이트웨이
300: 네트워크 서버
400: 어플리케이션 서버
500: 서비스 서버100: terminal device
200: Gateway
300: Network server
400: Application server
500: service server
Claims (8)
상기 서비스 서버와 단말 장치 간에 임시 어플리케이션 키(Pseudo Application Key)를 공유하는 단계;
상기 단말 장치로부터의 제1 가입 요청 메시지에 대응하여, 상기 공유한 임시 어플리케이션 키를 기반으로 임시 보안 연결을 수행하는 단계;
상기 임시 보안 연결을 통해서 상기 단말 장치와 정규 어플리케이션 키(Real Application Key)를 공유하는 단계;
상기 단말 장치로부터의 제2 가입 요청 메시지에 대응하여, 상기 정규 어플리케이션 키를 기반으로 정규 보안 연결을 수행하는 단계;
를 포함하는 연결 설정 방법.A method for establishing a connection between one or more terminal devices and a service server by a service server,
Sharing a Pseudo Application Key between the service server and the terminal device;
Performing a temporary security connection based on the shared temporary application key in response to a first subscription request message from the terminal device;
Sharing a regular application key (Real Application Key) with the terminal device through the temporary secure connection;
Performing a regular security connection based on the regular application key in response to a second subscription request message from the terminal device;
The method comprising:
상기 임시 보안 연결을 수행하는 단계 또는 상기 정규 보안 연결을 수행하는 단계는,
상기 단말 장치로부터 프로파일 정보를 수신하는 단계;
상기 단말 장치로부터 수신한 프로파일 정보를 기반으로 대응하는 임시 어플리케이션 키 또는 정규 어플리케이션 키를 추출하는 단계;
상기 임시 어플리케이션 키 또는 정규 어플리케이션 키를 이용하여 세션 키를 생성하는 단계; 및
상기 세션 키를 생성하는데 필요한 정보를 상기 임시 어플리케이션 키 또는 정규 어플리케이션 키로 암호화하여 상기 단말 장치로 전송하는 단계를 포함하며,
상기 단말 장치가 임시 어플리케이션 키 또는 정규 어플리케이션 키로 복호화하여 상기 정보를 추출하고, 추출한 정보를 기반으로 상기 세션 키를 생성하도록 하는 것을 특징으로 하는 연결 설정 방법. The method according to claim 1,
Wherein the step of performing the temporary security connection or the step of performing the normal security connection comprises:
Receiving profile information from the terminal device;
Extracting a corresponding temporary application key or a regular application key based on the profile information received from the terminal device;
Generating a session key using the temporary application key or the regular application key; And
Encrypting the information necessary for generating the session key with the temporary application key or the regular application key and transmitting the encrypted information to the terminal device,
Wherein the terminal device decrypts the session key with a temporary application key or a regular application key, extracts the information, and generates the session key based on the extracted information.
상기 정규 어플리케이션 키를 공유하는 단계는,
상기 단말 장치로부터의 어플리케이션 랜덤값 요청을 수신하여 상기 어플리케이션 랜덤값을 상기 단말 장치로 송신하는 단계;
상기 단말 장치로부터 어플리케이션 랜덤값 수신 완료 메시지를 수신하고 상기 수신 완료 메시지에 대응하여 응답 메시지를 송신하는 단계;
상기 어플리케이션 랜덤값을 이용하여 상기 정규 어플리케이션 키를 생성하는 단계를 포함하는
것을 특징으로 하는 연결 설정 방법.The method according to claim 1,
Wherein the step of sharing the regular application key comprises:
Receiving an application random value request from the terminal device and transmitting the application random value to the terminal device;
Receiving an application random value reception completion message from the terminal device and transmitting a response message in response to the reception completion message;
And generating the regular application key using the application random value
The connection setting method comprising:
상기 임시 보안 연결을 통해 송수신되는 데이터 중,
상기 정규 어플리케이션 키 공유를 위해 지정된 메시지 이외의 데이터를 드랍(drop)하는 단계;
를 더 포함하는 것을 특징으로 하는 연결 설정 방법.The method according to claim 1,
Wherein, among data transmitted and received through the temporary secure connection,
Dropping data other than a message designated for the regular application key sharing;
Further comprising the step of:
상기 정규 보안 연결을 통해 송수신되는 데이터 중, 상기 정규 어플리케이션 키 공유를 위해 지정된 메시지가 존재하면 해당 메시지를 드랍(drop)하는 단계;
를 더 포함하는 것을 특징으로 하는 연결 설정 방법.The method according to claim 1,
Dropping the message if there is a message designated for sharing the regular application key among the data transmitted and received through the normal security association;
Further comprising the step of:
상기 단말 장치와 상기 서비스 서버 간의 데이터 전송은,
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 가입 요청 메시지를 전송하여, 상기 임시 어플리케이션 키(Pseudo Application Key)를 기반으로 임시 보안 연결을 수행하는 단계;
상기 임시 보안 연결을 통해서 상기 서비스 서버와 정규 어플리케이션 키(Real Application Key)를 공유하는 단계; 및
상기 서비스 서버로 제2 가입 요청 메시지를 전송하여, 상기 정규 어플리케이션 키를 기반으로 정규 보안 연결을 수행하는 단계;
를 포함하고,
상기 임시 보안 연결 상태에서, 상기 단말 장치는 상기 정규 어플리케이션 키(Real Application Key)를 공유를 위해 기 설정된 메시지만을 송수신하되, 응답을 수신하지 못한 트랜잭션에 대해 반복 재시도 하는 것을 특징으로 하는 연결 설정 방법.A method for establishing a connection with a service server by a terminal apparatus,
Sharing a temporary application key between the service server and the terminal device;
Transmitting a first subscription request message to the service server to perform a temporary security connection based on the pseudo application key;
Sharing a real application key with the service server through the temporary secure connection; And
Transmitting a second subscription request message to the service server to perform a regular security association based on the regular application key;
Lt; / RTI >
Wherein, in the temporary security connection state, the terminal device repeatedly retries a transaction that transmits and receives only a predetermined message for sharing the real application key but does not receive a response. .
상기 단말 장치와 서비스 서버 간 임시 어플리케이션 키(Pseudo Application Key)를 공유하고,
상기 네트워크 인터페이스 모듈을 통해 수신한 상기 단말 장치로부터의 제1 가입 요청(Join Request) 메시지에 대응하여, 상기 공유한 임시 어플리케이션 키를 기반으로 임시 보안 연결을 수행하고,
상기 임시 보안 연결을 통해서 상기 단말 장치와 정규 어플리케이션 키(Real Application Key)를 공유하고,
상기 단말 장치로부터의 제2 가입 요청 메시지에 대응하여, 상기 정규 어플리케이션 키를 기반으로 정규 보안 연결을 수행하는 제어 모듈;
을 포함하는 것을 특징으로 하는 서비스 서버.A network interface module for performing a secure connection with a terminal device and transmitting / receiving data to / from a terminal device that has performed secure connection; And
Sharing a temporary application key (Pseudo Application Key) between the terminal device and the service server,
Performing a temporary security connection based on the shared temporary application key in response to a first join request message received from the terminal device via the network interface module,
Sharing a regular application key (Real Application Key) with the terminal device through the temporary security connection,
A control module for performing a regular security connection based on the regular application key in response to a second subscription request message from the terminal device;
The service server comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160061827A KR101827926B1 (en) | 2016-05-20 | 2016-05-20 | Method and apparatus for provisioning between terminals and a server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160061827A KR101827926B1 (en) | 2016-05-20 | 2016-05-20 | Method and apparatus for provisioning between terminals and a server |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170130904A true KR20170130904A (en) | 2017-11-29 |
KR101827926B1 KR101827926B1 (en) | 2018-02-09 |
Family
ID=60811547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160061827A KR101827926B1 (en) | 2016-05-20 | 2016-05-20 | Method and apparatus for provisioning between terminals and a server |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101827926B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019221419A1 (en) * | 2018-05-16 | 2019-11-21 | 주식회사 시옷 | Hardware security module |
WO2020149548A1 (en) * | 2019-01-17 | 2020-07-23 | Samsung Electronics Co., Ltd. | Electronic apparatus, system and method for providing service based on internet of things |
WO2021104448A1 (en) * | 2019-11-30 | 2021-06-03 | 华为技术有限公司 | Method for synchronizing key information, system and device |
KR20230106025A (en) * | 2022-01-05 | 2023-07-12 | (주)성진지오텍 | On-site safety management method and system using the Internet of Things |
-
2016
- 2016-05-20 KR KR1020160061827A patent/KR101827926B1/en active IP Right Grant
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019221419A1 (en) * | 2018-05-16 | 2019-11-21 | 주식회사 시옷 | Hardware security module |
KR20190134924A (en) * | 2018-05-16 | 2019-12-05 | 주식회사 시옷 | Hardware secure module |
WO2020149548A1 (en) * | 2019-01-17 | 2020-07-23 | Samsung Electronics Co., Ltd. | Electronic apparatus, system and method for providing service based on internet of things |
WO2021104448A1 (en) * | 2019-11-30 | 2021-06-03 | 华为技术有限公司 | Method for synchronizing key information, system and device |
KR20230106025A (en) * | 2022-01-05 | 2023-07-12 | (주)성진지오텍 | On-site safety management method and system using the Internet of Things |
Also Published As
Publication number | Publication date |
---|---|
KR101827926B1 (en) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102427484B (en) | Determine whether equipment is in the method and apparatus of network internal based on DNS | |
JP6022041B2 (en) | Method and system for establishing IPSec tunnel | |
US9246763B2 (en) | Device management | |
US9699270B2 (en) | Method for commissioning and joining of a field device to a network | |
KR101827926B1 (en) | Method and apparatus for provisioning between terminals and a server | |
US20100034386A1 (en) | Device manager repository | |
US10009760B2 (en) | Providing network credentials | |
JP2013527668A (en) | Machine-to-machine communication method | |
EP2244496B1 (en) | Wireless access system, wireless access method, and access point device | |
CN103095861A (en) | Determining whether a device is inside a network | |
KR101767889B1 (en) | Method of identifying terminal and apparatus thereof | |
WO2011116598A1 (en) | Method and system for achieving management of gateway | |
CN108476224B (en) | Method for authenticating communication connection, data communication device, and storage medium | |
KR20170042947A (en) | Method for transmitting and receiving of data, and apparatus thereof | |
CN107124312A (en) | The method and apparatus of equipment in network configuration | |
KR102183958B1 (en) | Method and apparatus for controlling data transmission | |
KR102209718B1 (en) | Method and Apparatus for Transmitting and Receiving of Data | |
US8707435B2 (en) | Method and system for identifying compromised nodes | |
KR101643334B1 (en) | Gateway apparatus for interlocking of Machine to Machine local network and Machine to Machine network and system for it | |
US11778036B2 (en) | Management of communication between a terminal and a network server | |
Heins | NB-IoT Use Cases and Devices | |
KR20170025550A (en) | Gateway and control method thereof | |
KR102500080B1 (en) | System for processing a security of an application in apartment complexes | |
KR100846536B1 (en) | Virtual Private Network Using DHCP and Method of Security on the Same | |
US20230396492A1 (en) | A method of, a provisioner and a system for provisioning a plurality of operatively interconnected node devices in a network |
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 |