KR101808537B1 - Networlk device and control method thereof - Google Patents
Networlk device and control method thereof Download PDFInfo
- Publication number
- KR101808537B1 KR101808537B1 KR1020160126822A KR20160126822A KR101808537B1 KR 101808537 B1 KR101808537 B1 KR 101808537B1 KR 1020160126822 A KR1020160126822 A KR 1020160126822A KR 20160126822 A KR20160126822 A KR 20160126822A KR 101808537 B1 KR101808537 B1 KR 101808537B1
- Authority
- KR
- South Korea
- Prior art keywords
- session key
- terminal
- new
- network device
- iot
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
본 발명은, 사물인터넷(IoT) 기술과 관련된 것으로, 더욱 상세하게는 IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을, 탐지 및 차단할 수 있는 기술에 관한 것이다.The present invention relates to Internet (IoT) technology, and more particularly, to a technique capable of detecting and blocking a malicious attack that causes a session key mismatch between an IoT terminal and a network device.
헬스케어, 원격검침, 스마트홈, 스마트카, 스마트팜 등 다양한 분야에서 생활 속의 사물을 유무선 네트워크로 연결해 정보를 공유하는 사물인터넷(Internet of Things, IoT) 기술이 등장하여 주목 받고 있다.Internet of Things (IoT) technology, which connects information of living things through wired / wireless networks in various fields such as healthcare, remote meter reading, smart home, smart car and smart farm, is attracting attention.
이러한 사물인터넷(IoT) 기술을 기반으로 사물인터넷(IoT) 서비스를 제공하기 위한 IoT 네트워크 구조를 간단히 설명하면, 다음과 같다.The following is a brief description of the IoT network structure for providing the Internet (IoT) service based on the Internet (IoT) technology.
IoT 네트워크는, 원격지의 사물인터넷단말(이하, IoT 단말)과, 원격지의 IoT 단말의 데이터를 확인하고 IoT 단말을 제어하기 위한 사물인터넷용 어플리케이션(이하 IoT앱이라 함)이 설치된 고객단말과, IoT 단말 및 고객단말(IoT앱) 간을 유무선 네트워크를 통해 연결해 주는 네트워크장치(또는, IoT앱 서버), IoT 단말 및 네트워크장치 사이에서 패킷 송수신을 수행하는 게이트웨이(예: 기지국)로 구성된다.The IoT network includes a customer terminal equipped with a stuff Internet terminal (hereinafter, referred to as IoT terminal) at a remote place, an application for object Internet (hereinafter referred to as IoT app) for checking data of a remote IoT terminal and controlling the IoT terminal, (Eg, a base station) that performs packet transmission and reception between a network device (or an IoT app server) that connects a terminal and a customer terminal (IoT app) through a wired / wireless network, an IoT terminal, and a network device.
이러한, IoT 네트워크 구조에서, IoT 단말은 데이터(업링크패킷)를 주기적으로 네트워크장치에 전송하는 방식으로 사물인터넷(IoT) 서비스를 수행하고 있으며, 사물인터넷(IoT) 서비스 수행 과정에서의 IoT 단말 및 네트워크장치(100) 간 데이터(업링크패킷) 인증을 위해, 세션키를 공유하게 된다.In the IoT network structure, the IoT terminal performs an Internet Internet service (IoT) service by periodically transmitting data (uplink packet) to a network device, and the IoT terminal in the process of performing the Internet Internet service (IoT) The session key is shared for data (uplink packet) authentication between
구체적으로 설명하면, IoT 단말이 네트워크장치에 최초 등록될 때 Join 절차를 수행하여 IoT 단말 및 네트워크장치 간에 세션키를 생성하고, 이후 보안 요구사항에 의해 세션키 갱신이 필요할 때 Join 절차를 재 수행하여 IoT 단말 및 네트워크장치 간에 세션키를 갱신하는 방식으로, IoT 단말 및 네트워크장치가 서로 동일한 세션키를 공유하게 된다.Specifically, when the IoT terminal is registered in the network device for the first time, a join procedure is performed to generate a session key between the IoT terminal and the network device, and when the session key is required to be updated due to the security requirement, The IoT terminal and the network device share the same session key by updating the session key between the IoT terminal and the network device.
이때, Join 절차 (재) 수행 시 IoT 단말 및 네트워크장치 간에 송수신되는 메시지(패킷)은, IoT 단말 및 네트워크장치 간에 사전에 심어진 보안키(AppKey)를 기반으로 인증되기 때문에, 메시지(패킷)을 악의적인 의도로 위/변조하는 공격으로부터는 안전하다고 볼 수 있고, 메시지(패킷)가 정상적으로 수신만 된다면 IoT 단말 및 네트워크장치 간 세션키는 서로 동일하게 공유될 수 있다.At this time, since the message (packet) transmitted and received between the IoT terminal and the network device is authenticated based on a security key (AppKey) previously planted between the IoT terminal and the network device, the message (packet) If the message (packet) is received normally, the session key between the IoT terminal and the network device can be shared equally with each other.
한편, IoT 단말은, 업링크패킷을 송신하는 시점(업링크 송신 시점)을 기준으로 다운링크패킷을 수신할 수 있는 시간구간(다운링크 수신 시간구간)이 제한되는 특징을 갖는다. 이는, IoT 네트워크에서는, IoT 단말에 소형배터리를 지원하고자 하며, 이로 인해 IoT 단말 소모 전력을 최소화하기 위한 것이다.On the other hand, the IoT terminal is characterized in that a time interval (downlink reception time interval) in which a downlink packet can be received is limited based on a time point of transmission of an uplink packet (uplink transmission time point). In the IoT network, it is intended to support a small battery in the IoT terminal, thereby minimizing the consumed power of the IoT terminal.
이러한 IoT 단말의 다운링크 수신 시간구간 제한을 노리고, 정당하지 않은 Join 절차 재 수행을 유도하되 이때의 메시지(패킷)가 IoT 단말에 정상적으로 수신되지 못하도록 하여, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 공격이 시도될 수 있다. In order to limit the downlink reception time interval of the IoT terminal and induce an unauthorized join procedure re-execution, the message (packet) at this time can not be normally received by the IoT terminal, causing the session key inconsistency between the IoT terminal and the network device An attack may be attempted.
하지만, 현재 사물인터넷(IoT) 기술에서는, Join 절차 재 수행 시의 메시지(패킷)가 IoT 단말에 정상적으로 수신되지 못하도록 하여, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 공격에 대처하기 위한 대처 방안을 제시하고 있지 않은 실정이다.However, in the current Internet (IoT) technology, a message (packet) at the time of re-executing Join procedure is prevented from being normally received by the IoT terminal, and an action to cope with an attack causing a session key mismatch between the IoT terminal and the network device In the past.
이에, 본 발명에서는, 전술과 같이 IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 방식의 악의적 공격을 탐지 및 차단하기 위한 새로운 방안을 제안하고자 한다.Accordingly, the present invention proposes a new method for detecting and blocking a malicious attack that causes a session key discrepancy between the IoT terminal and the network device as described above.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단함으로써, 사물인터넷(IoT) 서비스의 안정성을 향상시키는데 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a method and system for detecting a malicious attack that causes a session key mismatch between an IoT terminal and a network device, .
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 네트워크장치는, 단말에 대한 세션키 갱신이 요청되면 상기 단말과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지하는 세션키생성부; 상기 신규 세션키와 상기 기존 세션키 중에서, 상기 신규 세션키 생성 이후 최초 수신되는 상기 단말의 특정 업링크패킷이 이용하는 세션키를 확인하는 세션키확인부; 및 상기 기존 세션키를 이용하는 것으로 확인되면, 상기 세션키 갱신 요청을 비정상 요청으로 판단하고 상기 신규 세션키를 폐기하는 갱신제어부를 포함한다.According to a first aspect of the present invention, there is provided a network device for performing a new session key generation procedure with a terminal when a session key update is requested for the terminal, A session key generation unit; A session key verifying unit for verifying a session key used by a specific uplink packet of the terminal, which is received first after the generation of the new session key, from the new session key and the existing session key; And an update control unit for determining that the session key update request is an abnormal request and discarding the new session key if it is confirmed that the existing session key is used.
바람직하게는, 상기 갱신제어부는, 상기 신규 세션키를 이용하는 것으로 확인되면, 상기 세션키 갱신 요청을 상기 단말로부터 송신된 정상 요청으로 판단하고 상기 단말과의 세션키를 상기 신규 세션키로 갱신할 수 있다.The update control unit may determine that the session key update request is a normal request transmitted from the terminal and update the session key with the terminal with the new session key if it is confirmed that the new session key is used .
바람직하게는, 상기 신규 세션키 생성 절차는, 신규 난수값을 생성하여 상기 신규 난수값이 포함되는 세션키 갱신 응답을 회신하고, 상기 세션키 갱신 요청 시 수신된 신규 단말난수값 및 상기 신규 난수값을 이용하여 상기 단말에 대한 신규 세션키를 생성할 수 있다.Preferably, the new session key generation procedure comprises: generating a new random number value, returning a session key update response including the new random number value, generating a new random number value received when the session key update request is received, To generate a new session key for the terminal.
바람직하게는, 상기 세션키 갱신 응답은, 상기 세션키 갱신 요청이 상기 단말로부터 송신된 경우에만, 상기 단말의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간 내에 상기 단말로 수신될 수 있다.Preferably, the session key update response may be received by the terminal within a downlink reception time interval limited based on the uplink transmission time of the terminal only when the session key update request is transmitted from the terminal .
바람직하게는, 상기 단말의 특정 업링크패킷은, 상기 단말이 상기 세션키 갱신 응답을 수신하여 상기 신규 난수값을 획득하고, 상기 신규 난수값 및 상기 신규 단말난수값 기반으로 상기 네트워크장치와의 세션키를 상기 신규 세션키로 갱신한 경우에만, 상기 신규 세션키를 이용하여 송신될 수 있다.Preferably, the specific uplink packet of the terminal is received by the terminal in response to the session key update response to obtain the new random number value, and the session with the network device based on the new random number value and the new terminal random number value The new session key can be transmitted using the new session key only when the key is updated with the new session key.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 네트워크장치의 동작 방법은, 단말에 대한 세션키 갱신이 요청되면 상기 단말과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지하는 세션키생성단계; 상기 신규 세션키와 상기 기존 세션키 중에서, 상기 신규 세션키 생성 이후 최초 수신되는 상기 단말의 특정 업링크패킷이 이용하는 세션키를 확인하는 세션키확인단계; 및 상기 확인 결과, 상기 기존 세션키를 이용하는 것으로 확인되면 상기 세션키 갱신 요청을 비정상 요청으로 판단하고 상기 신규 세션키를 폐기하는 폐기단계를 포함한다.According to a second aspect of the present invention, there is provided a method for operating a network device, the method comprising the steps of: when a session key update is requested to the terminal, performing a new session key generation procedure with the terminal, A session key generation step of maintaining the session key as a session key; A session key checking step of checking, among the new session key and the existing session key, a session key used by a specific uplink packet of the terminal, which is received first after the generation of the new session key; And discarding the session key update request as an abnormal request and discarding the new session key if it is confirmed that the existing session key is used.
바람직하게는, 상기 확인 결과, 상기 신규 세션키를 이용하는 것으로 확인되면 상기 세션키 갱신 요청을 상기 단말로부터 송신된 정상 요청으로 판단하고 상기 단말과의 세션키를 상기 신규 세션키로 갱신하는 갱신단계를 더 포함할 수 있다.Preferably, if it is confirmed that the new session key is used as the result of the checking, it is determined that the session key update request is a normal request transmitted from the terminal and an update step of updating the session key with the new session key .
이에, 본 발명의 네트워크장치 및 네트워크장치의 동작 방법에 따르면, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단함으로써, 사물인터넷(IoT) 서비스의 안정성을 향상시키는 효과를 도출한다.Thus, according to the network device and the operation method of the network device of the present invention, the effect of improving the stability of the Internet service (IoT) by detecting and blocking a malicious attack that causes a session key discrepancy between the IoT terminal and the network device do.
도 1은 본 발명이 적용되는 사물인터넷(IoT) 네트워크 구조를 보여주는 예시도이다.
도 2는 본 발명의 바람직한 실시예에 따른 네트워크장치의 구성을 보여주는 블록도이다.
도 3은 본 발명에 따라 사물인터넷(IoT) 네트워크 구조에서 악의적 공격을 탐지 및 차단하는 상황을 보여주는 예시도이다.
도 4는 본 발명의 바람직한 실시예에 따른 네트워크장치의 동작 방법을 보여주는 동작 흐름도이다.FIG. 1 is an exemplary diagram illustrating a structure of an Internet (IoT) network to which the present invention is applied.
2 is a block diagram illustrating a configuration of a network device according to a preferred embodiment of the present invention.
FIG. 3 is an exemplary diagram illustrating a situation in which a malicious attack is detected and blocked in an Internet Internet (IoT) network structure according to the present invention.
4 is a flowchart illustrating an operation method of a network device according to a preferred embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
도 1은 은 본 발명이 적용되는 사물인터넷(Internet of Things, IoT) 네트워크 구조를 보여주고 있다.FIG. 1 shows a network structure of Internet of Things (IOT) to which the present invention is applied.
도 1에 도시된 바와 같이, 본 발명이 적용되는 사물인터넷(IoT) 네트워크 구조는, 원격지의 IoT 단말(예: 단말1,2,...), 원격지의 IoT 단말의 데이터를 확인하고 IoT 단말을 제어하기 위한 IoT앱이 설치된 고객단말(미도시)과, IoT 단말 및 고객단말(IoT앱) 간을 유무선 네트워크를 통해 연결해 주는 네트워크장치(100, IoT앱 서버), IoT 단말 및 네트워크장치(100) 사이에서 패킷 송수신을 수행하는 게이트웨이(예: 기지국1,2,...)로 구성된다.1, the object Internet (IoT) network structure to which the present invention is applied is configured to confirm data of a remote IoT terminal (e.g., terminals 1, 2, ...) and a remote IoT terminal, A network device 100 (IoT app server) for connecting the IoT terminal and the customer terminal (IoT app) via a wired / wireless network, an IoT terminal, and a network device 100 (not shown) (E.g., base stations 1, 2, ...) that perform packet transmission / reception between the base stations 1, 2,.
이러한 IoT 네트워크 구조에서의 업링크/다운링크패킷 송수신 과정을 간단히 설명하면, IoT 단말이 업링크패킷을 네트워크장치(100)로 업링크패킷을 전송은, IoT 단말이 브로드캐스트(broadcast) 방식으로 업링크패킷을 송신하고 이를 다수의 기지국이 수신하여 네트워크장치(100)로 송신하는 방식으로 이루어진다.The uplink / downlink packet transmission / reception process in the IoT network structure will be briefly described. The IoT terminal transmits an uplink packet to the
그리고, IoT 네트워크 구조에서 네트워크장치(100)가 다운링크패킷을 IoT 단말로 전송은, 네트워크장치(100)가 IoT 단말에 대하여 기 선택한 하나의 기지국(이하, 다운링크 기지국)으로 다운링크패킷을 송신하고 이를 수신한 다운링크 기지국이 IoT 단말에 송신하는 방식으로 이루어진다.In the IoT network structure, when the
이때, IoT 단말에 대하여 다운링크 기지국을 선택하는 방식은, IoT 단말의 업링크패킷을 수신하여 네트워크장치(100)로 송신한 다수의 기지국 중, 해당 IoT 단말과의 채널상태(SNR)가 가장 우수한 기지국을 선택하는 방식이다.In this case, a method of selecting a downlink base station for the IoT terminal is a method in which the channel state (SNR) with the corresponding IoT terminal is the highest among the plurality of base stations that have received the uplink packet of the IoT terminal and transmitted to the
이러한, IoT 네트워크 구조에서, IoT 단말은 데이터(업링크패킷)를 주기적으로 네트워크장치에 전송하는 방식으로 사물인터넷(IoT) 서비스를 수행하고 있으며, 사물인터넷(IoT) 서비스 수행 과정에서의 IoT 단말 및 네트워크장치(100) 간 데이터(업링크패킷) 인증을 위해, 세션키를 공유하게 된다.In the IoT network structure, the IoT terminal performs an Internet Internet service (IoT) service by periodically transmitting data (uplink packet) to a network device, and the IoT terminal in the process of performing the Internet Internet service (IoT) The session key is shared for data (uplink packet) authentication between
단말1을 언급하여 구체적으로 설명하면, IoT 단말로서의 단말1이 네트워크장치에 최초 등록될 때, 단말1은 단말난수값을 생성하고 이를 포함시킨 Join Request 메시지를 네트워크장치(100)로 전송하여 세션키 생성을 요청하고, Join Request 메시지를 수신한 네트워크장치(100)는 난수값을 생성하고 이를 포함시킨 Join Response 메시지를 단말1로 회신함으로써, 단말1은 자신이 생성한 단말난수값 및 Join Response 메시지에서 확인한 네트워크장치(100)의 난수값을 이용하여 네트워크장치(100)과의 세션키를 생성하고, 네트워크장치(100)는 Join Request 메시지에서 확인한 단말난수값 및 자신이 생성한 난수값을 이용하여 단말1과의 세션키를 생성하는, Join 절차를 수행하게 된다.Specifically, when the terminal 1 as the IoT terminal is first registered in the network device, the terminal 1 generates a terminal random number value, transmits a Join Request message including the terminal random number value to the
이후, 보안 요구사항에 의해 세션키 갱신이 필요할 때, 단말1은 신규 단말난수값을 생성하고 이를 포함시킨 Join Request 메시지를 네트워크장치(100)로 전송하여 세션키 갱신을 요청하고, Join Request 메시지를 수신한 네트워크장치(100)는 신규 난수값을 생성하고 이를 포함시킨 Join Response 메시지를 단말1로 회신함으로써, 단말1은 자신이 생성한 단말난수값 및 Join Response 메시지에서 확인한 네트워크장치(100)의 난수값을 이용하여 네트워크장치(100)과의 세션키를 생성/갱신하고, 네트워크장치(100)는 Join Request 메시지에서 확인한 단말난수값 및 자신이 생성한 난수값을 이용하여 단말1과의 세션키를 생성/갱신하는, Join 절차 재 수행이 진행된다.Then, when the session key update is required according to security requirements, the terminal 1 generates a new terminal random number value, transmits a Join Request message including the new terminal random number value to the
즉, 단말1 및 네트워크장치(100)는, 전술한 Join 절차 (재) 수행 시 메시지(패킷)가 상호 정상적으로 수신만 된다면, 동일한 단말난수값 및 난수값을 이용하여 세션키를 생성(갱신)하기 때문에 동일한 세션키를 공유하게 된다.That is, the terminal 1 and the
그리고, 전술과 같은 Join 절차 (재) 수행 시 IoT 단말 및 네트워크장치 간에 송수신되는 메시지(패킷)은, IoT 단말 및 네트워크장치 간에 사전에 심어진 보안키(AppKey)를 기반으로 인증되기 때문에, 메시지(패킷)을 악의적인 의도로 위/변조하는 공격으로부터는 안전하다고 볼 수 있다.Since the message (packet) transmitted and received between the IoT terminal and the network device is authenticated based on a security key (AppKey) previously planted between the IoT terminal and the network device in the join procedure (re-execution) ) Is maliciously intrusive and is considered safe from attacks.
한편, IoT 단말은, 업링크패킷을 송신하는 시점(업링크 송신 시점)을 기준으로 다운링크패킷을 수신할 수 있는 시간구간(다운링크 수신 시간구간)이 제한되는 특징을 갖는다. On the other hand, the IoT terminal is characterized in that a time interval (downlink reception time interval) in which a downlink packet can be received is limited based on a time point of transmission of an uplink packet (uplink transmission time point).
이러한 IoT 단말의 다운링크 수신 시간구간 제한을 노리고, 정당하지 않은 Join 절차 재 수행을 유도하되 이때의 메시지(패킷)가 IoT 단말에 정상적으로 수신되지 못하도록 하여, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 공격이 IoT 단말 및 기지국 사이의 무선구간에서 시도될 수 있다. In order to limit the downlink reception time interval of the IoT terminal and induce an unauthorized join procedure re-execution, the message (packet) at this time can not be normally received by the IoT terminal, causing the session key inconsistency between the IoT terminal and the network device An attack may be attempted in the wireless section between the IoT terminal and the base station.
구체적으로, 단말1이 Join Request 메시지를 네트워크장치(100)로 전송하여 세션키 생성 또는 갱신을 요청할 때, 단말1 및 기지국 사이의 무선구간에서 악의적단말(도 3의 10)이 Join Request 메시지를 캡쳐하여 보관할 수 있다.Specifically, when the terminal 1 sends a Join Request message to the
만약, 악의적단말(도 3의 10)이 일정시간 경과 후 앞서 캡쳐한 Join Request 메시지(이하, 캡쳐 메시지)를 네트워크장치(100)로 발송한다면, 네트워크장치(100)에서는, 금번 수신된 Join Request 메시지가 보안키(AppKey)를 기반으로 정상 인증되므로, 신규 난수값을 생성하고 이를 포함시킨 Join Response 메시지를 회신하며 Join Request 메시지에서 확인한 단말난수값 및 자신이 생성한 난수값을 이용하여 단말1과의 세션키를 생성/갱신함으로써, Join 절차 재 수행을 진행할 것이다.If the malicious terminal (10 in FIG. 3) sends a join request message (hereinafter referred to as a capture message) captured before a predetermined time to the
하지만, 금번 Join 절차 재 수행은, 단말1이 아닌 악의적단말(도 3의 10)이 발송한 캡쳐 메시지에 의해 유도된 정당하지 않은 Join 절차 재 수행이다.However, this re-execution of the join procedure is an unauthorized join procedure re-execution derived by the capture message sent by the malicious terminal (10 in Fig. 3) rather than the terminal 1. [
따라서, 실제로 Join Request 메시지 즉 업링크패킷을 송신하지 않은 단말1은, 업링크 송신 시점을 기준으로 제한되어 있는 다운링크 수신 시간구간에, 정당하지 않은 Join 절차 재 수행으로 인해 네트워크장치(100)가 회신하는 Join Response 메시지를 수신할 수 없고, 따라서 단말1에서는 네트워크장치(100)와의 세션키가 갱신되지 않는다.Therefore, the UE 1, which has not actually transmitted the Join Request message, i.e., the uplink packet, can not transmit the Join Request message, i.e., the uplink transmission time, to the
이렇게 되면, 단말1 및 네트워크장치(100) 간에는 더 이상 동일한 세션키가 공유되지 않게 된다.In this case, the same session key is no longer shared between the terminal 1 and the
이에, 단말1이 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에 반영하는 세션키와, 네트워크장치(100)가 단말1로부터 수신된 데이터(업링크패킷)을 인증하는데 반영하는 세션키가 서로 다르기 때문에, 단말1의 데이터(업링크패킷)는 인증에 실패하고 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 없게 된다.A session key in which the terminal 1 performs the Internet service (IoT) service and reflects the data on the data (uplink packet) to be transmitted to the
하지만, 현재 사물인터넷(IoT) 기술에서는, Join 절차 재 수행 시의 메시지(패킷)가 IoT 단말에 정상적으로 수신되지 못하도록 하여, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 공격에 대처하기 위한 대처 방안을 제시하고 있지 않은 실정이다.However, in the current Internet (IoT) technology, a message (packet) at the time of re-executing Join procedure is prevented from being normally received by the IoT terminal, and an action to cope with an attack causing a session key mismatch between the IoT terminal and the network device In the past.
이에, 본 발명에서는, 전술과 같이 IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 방식의 악의적 공격을 탐지 및 차단하기 위한 새로운 방안(이하, 악의적 공격 탐지 및 차단 방안)을 제안하고자 한다.Accordingly, the present invention proposes a new scheme (hereinafter, malicious attack detection and blocking scheme) for detecting and blocking a malicious attack that causes a session key discrepancy between the IoT terminal and the network device as described above.
보다 구체적으로, 본 발명에서는, 악의적 공격 탐지 및 차단 방안을 실현하는 네트워크장치를 제안하고자 한다.More specifically, the present invention proposes a network device that realizes malicious attack detection and prevention measures.
먼저, 이하에서는 도 2를 참조하여 본 발명의 바람직한 실시예에 따른 네트워크장치를 구체적으로 설명하겠다.Hereinafter, a network device according to a preferred embodiment of the present invention will be described in detail with reference to FIG.
도 2에 도시된 바와 같이, 본 발명의 네트워크장치(100)는, 단말에 대한 세션키 갱신이 요청되면 상기 단말과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지하는 세션키생성부(110)와, 상기 신규 세션키와 상기 기존 세션키 중에서, 상기 신규 세션키 생성 이후 최초 수신되는 상기 단말의 특정 업링크패킷이 이용하는 세션키를 확인하는 세션키확인부(120)와, 상기 기존 세션키를 이용하는 것으로 확인되면, 상기 세션키 갱신 요청을 비정상 요청으로 판단하고 상기 신규 세션키를 폐기하는 갱신제어부(130)를 포함한다.As shown in FIG. 2, the
여기서, 단말은, 도 1의 설명에서 언급한 바 있는 IoT 단말(예: 단말1,2,...)일 것이다. Here, the terminal may be an IoT terminal (e.g., terminals 1, 2, ...) mentioned in the description of FIG.
네트워크장치(100)는, 네트워크장치(100)의 관리 하에서 사물인터넷(IoT) 서비스를 수행하는 다수의 IoT 단말 별로, 세션키를 생성할 것이다.The
다만, 이하에서는 설명의 편의를 위해, 네트워크장치(100)의 관리 하에서 사물인터넷(IoT) 서비스를 수행하는 다수의 IoT 단말(예: 단말1,2,...) 중, 단말1을 언급하여 설명하겠다.Hereinafter, for the sake of convenience of explanation, among the plurality of IoT terminals (for example, terminals 1, 2, ...) that perform the Internet service (IoT) under the management of the
세션키생성부(110)는, 단말1에 대한 세션키 갱신이 요청되면 단말1과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지한다.The session
이때, 세션키 갱신 요청은, 사물인터넷(Internet of Things, IoT) 네트워크에서, IoT 단말이 매 송신 시 마다 신규 단말난수값을 생성 및 포함시키는 Join Request 메시지를 의미한다.At this time, the session key update request means a Join Request message in which, in the Internet of Things (IoT) network, the IoT terminal generates and includes a new terminal random number value every time it transmits.
즉, 세션키생성부(110)는, 단말1과 관련된 Join Request 메시지가 수신되면, 단말1에 대한 세션키 갱신이 요청되는 것으로 인지할 수 있다.That is, when the Join Request message related to the terminal 1 is received, the session
이때, 네트워크장치(100)에 수신된 Join Request 메시지는, 실시간으로 단말1이 송신한 Join Request 메시지(패킷)일 수도 있고, 앞서 언급한 바와 같이 단말1이 송신한 바 있는 Join Request 메시지(패킷)를 악의적단말(도 3의 10)이 캡쳐한 후 발송한 캡쳐 메시지(패킷)일 수도 있다.At this time, the Join Request message received by the
물론, 단말1이 네트워크장치(100)에 최초 등록되는 경우에도, 단말1과 관련된 Join Request 메시지가 네트워크장치(100)에 수신될 것이다. 하지만 이 경우라면, 단말1과의 세션키가 생성되어 있지 않은 상태일 것이며, 이러한 경우는 본 발명의 대상이 되지 않는다.Of course, even when the terminal 1 is initially registered in the
따라서, 이하에서는, 네트워크장치(100)에 이미 단말1과의 세션키가 생성되어 있는 상태, 달리 말하면 단말1에 대한 기존 세션키(key1)가 이미 생성/보유된 상태로 상정하겠다. Therefore, in the following description, it is assumed that the
즉, 단말1 및 네트워크장치(100)는, 앞서 Join 절차 수행을 통해 생성한 세션키(key1)를 공유하고, 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행하는 상황을 가정하겠다.That is, the terminal 1 and the
세션키생성부(110)는, 이와 같이 단말1과 관련된 Join Request 메시지가 수신되어 단말1에 대한 세션키 갱신이 요청되면, 단말1과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키(key1)로 유지한다.The session
달리 말하면, 세션키생성부(110)는, 단말1과 관련된 Join Request 메시지가 수신되어 단말1에 대한 세션키 갱신이 요청되면, Join Request 메시지가 실시간으로 단말1이 송신한 것인지 악의적단말(도 3의 10)이 발송한 것인지 알 수 없지만, 우선은 단말1과의 신규 세션키 생성 절차를 수행하되 세션키 갱신을 보류하고 기존 세션키로 유지하여, Join 절차를 세션키 갱신 직전까지만 수행하는 것이다.In other words, when the Join Request message related to the terminal 1 is received and the session key update for the terminal 1 is requested, the session
여기서, 세션키생성부(110)이 수행하는 신규 세션키 생성 절차는, 다음과 같다.Here, the new session key generation procedure performed by the session
세션키생성부(110)는, 신규 난수값을 생성하여 신규 난수값이 포함되는 세션키 갱신 응답(Join Response 메시지)을 회신하고, 금번 세션키 갱신 요청 시 수신된 신규 단말난수값 즉 Join Request 메시지에서 확인한 단말1의 신규 단말난수값과 금번 자신이 생성한 신규 난수값을 이용하여 단말1에 대한 신규 세션키(key2)를 생성하는, 신규 세션키 생성 절차를 수행한다.The session
이때, 세션키 갱신 응답(Join Response 메시지)은, 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 송신된 경우에만, 단말1의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간 내에 단말1로 수신될 수 있다.In this case, only when a session key update request, that is, a Join Request message, is transmitted from the terminal 1, the session key update response (Join Response message) is transmitted within the downlink reception time interval limited by the uplink transmission time point of the terminal 1 Lt; / RTI >
여기서, 단말1을 비롯한 IoT 단말의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간에 대하여 설명하면, 다음과 같다.Here, a downlink reception time interval limited based on the uplink transmission time point of the IoT terminal including the terminal 1 will be described as follows.
IoT 단말은, 업링크패킷을 송신하면, 업링크패킷을 송신한 업링크 송신 시점을 기준으로 제한된 일정 시간(예: 1초)이 경과한 시간구간 단위로 제한된 횟수(예: 2회)만큼 다운링크패킷 수신 동작을 수행한다.When the uplink packet is transmitted, the IoT terminal transmits downlink packets by a limited number of times (for example, two times) in units of time that have been elapsed for a limited period of time (e.g., one second) Link packet reception operation.
즉, IoT 단말은, 업링크패킷(Join Response 메시지)을 송신하면, 업링크패킷을 송신한 업링크 송신 시점(t)을 기준으로 일정 시간(예: 1초)이 경과한 시간구간(TX1, t+1)에 다운링크패킷 수신을 위한 수신 동작을 수행하며, 이 시간구간(TX1)에 다운링크패킷이 수신되지 않으면 다시 일정 시간(예: 1초)이 경과한 다음 시간구간(TX2, t+2)에 다운링크패킷 수신을 위한 수신 동작을 수행하며, 이 시간구간(TX2)에 다운링크패킷이 수신되지 않으면 다운링크 수신 실패로 간주한다.That is, when the uplink packet (Join Response message) is transmitted, the IoT terminal transmits a time interval (TX1, t2) after a lapse of a predetermined time (for example, 1 second) if no downlink packet is received in the time interval TX1, +2), and if the downlink packet is not received in this time interval TX2, it is regarded as a downlink reception failure.
이처럼 IoT 단말이 다운링크 수신 시간구간 제한을 갖는 이유는, IoT 네트워크에서는 IoT 단말에 소형배터리를 지원하고자 하며, 이로 인해 IoT 단말 소모 전력을 최소화하기 위함이다.The reason why the IoT terminal has the restriction on the downlink reception time period is that the IoT network tries to support the small battery in the IoT terminal, thereby minimizing the power consumption of the IoT terminal.
이에, 금번 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 실시간으로 송신된 경우라면, 전술과 같이 네트워크장치(100)에서 금번 세션키 갱신 요청에 따른 신규 세션키 생성 절차를 수행하는 과정에서 회신한 세션키 갱신 응답(Join Response 메시지)은, 단말1의 Join Request 메시지 송신시점을 기준으로 하는 다운링크 수신 시간구간 즉 TX1 또는 TX2 내에 성공적으로 단말1로 수신될 것이다.If the current session key update request, that is, the Join Request message, is transmitted from the terminal 1 in real time, in the course of performing the new session key generation procedure according to the current session key update request in the
그리고, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하게 된다면, 단말1은, 세션키 갱신 요청 즉 Join Request 메시지 송신 시 생성한 신규 단말난수값 및 회신된 Join Response 메시지에서 확인한 네트워크장치(100)의 신규 난수값을 이용하여 네트워크장치(100)과의 세션키를 생성(key2) 및 갱신함으로써, 정당한 Join 절차를 재 수행하게 된다.If the terminal 1 receives the current session key update response (Join Response message) returned by the
그리고, 정당한 Join 절차 재 수행을 통해 네트워크장치(100)과의 세션키를 기존 세션키(key1)에서 신규 세션키(key2)로 갱신한 단말1은, 이후 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 갱신한 세션키(key2)를 반영(이용)할 것이다.Then, the terminal 1, which renews the session key with the
반면, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하지 못한다면, 네트워크장치(100)과의 세션키를 생성 및 갱신하는 Join 절차 재 수행 자체가 발생하지 않을 것이고, 이 경우 단말1은, 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 계속해서 기존의 세션키(key1)를 반영(이용)할 것이다.On the other hand, if the terminal 1 does not receive the current session key update response (Join Response message) returned by the
세션키확인부(120)는, 신규 세션키(key2)와 기존 세션키(key1) 중에서, 신규 세션키 생성 이후 최초 수신되는 단말1의 특정 업링크패킷이 이용하는 세션키를 확인한다.The session
여기서, 특정 업링크패킷이란, 데이터를 전송하는 업링크패킷을 의미한다.Here, the specific uplink packet means an uplink packet for transmitting data.
즉, 세션키확인부(120)는, 앞서 세션키생성부(110)에서 단말1에 대한 신규 세션키 생성 절차를 수행한 이후, 최초 수신되는 단말1의 데이터(업링크패킷)가 신규 세션키(key2)와 기존 세션키(key1) 중 어떤 세션키를 이용하는지 확인하는 것이다.That is, after the session
최초 수신되는 단말1의 데이터(업링크패킷)가 신규 세션키(key2)와 기존 세션키(key1) 중 어떤 세션키를 이용하는지 확인하는 이유는, 앞서 설명한 바 있듯이, 금번 세션키 갱신 요청(Join Request 메시지)이 단말1로부터 실시간으로 송신된 것일 때에만, 네트워크장치(100)가 금번 신규 세션키 생성 절차를 수행하는 과정에서 회신한 세션키 갱신 응답(Join Response 메시지)이 단말1의 다운링크 수신 시간구간 즉 TX1 또는 TX2 내에 성공적으로 단말1로 수신될 수 있음에 기인한다.The reason for confirming which session key among the new session key (key 2) and the existing session key (key 1) is used is the data (uplink packet) of the initially received terminal 1, as described above, Request message) is transmitted in real time from the terminal 1, the session key update response (Join Response message) returned in the process of the
보다 구체적으로, 그 이유는, 최초 수신되는 단말1의 데이터(업링크패킷)은, 단말1이 세션키 갱신 응답(Join Response 메시지)을 수신하여 이로부터 네트워크장치(100)의 신규 난수값을 획득하고, 네트워크장치(100)의 신규 난수값 및 자신이 생성한 신규 단말난수값 기반으로 네트워크장치(100)와의 세션키를 신규 세션키(key2)로 갱신한 경우에만, 신규 세션키(key2)를 이용하여 송신될 수 있음에 기인한다.More specifically, the reason for this is that the data (uplink packet) of the initially received terminal 1 is obtained by receiving the session key update response (Join Response message) from the terminal 1 and acquiring a new random number value of the
갱신제어부(130)는, 세션키확인부(120)의 확인 결과 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단한다.If it is confirmed that the existing session key (key 1) is used as a result of the confirmation by the session
즉, 갱신제어부(130)는, 단말1에 대한 신규 세션키 생성 절차를 수행한 이후, 최초 수신되는 단말1의 데이터(업링크패킷)가 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단하여, 금번 수신된 Join Request 메시지를 단말1이 과거 송신한 Join Request 메시지를 악의적단말(도 3의 10)이 캡쳐 및 발송한 메시지(패킷)인 것으로 간주함으로써, 악의적 공격을 탐지하는 것이다.That is, after performing the new session key generation procedure for the terminal 1, if the data (uplink packet) of the initially received terminal 1 is confirmed to use the existing session key (key 1) It is determined that the key update request is an abnormal request and the Join Request message that the terminal 1 has transmitted in the past received Join Request message is regarded as a message (packet) captured and sent by the malicious terminal (10 in FIG. 3) It is to detect the attack.
이 경우, 갱신제어부(130)는, 금번 세션키 갱신 요청을 비정상 요청으로 판단함에 따라, 앞서 갱신을 보류한 신규 세션키(key2)를 폐기한다. In this case, the
즉, 갱신제어부(130)는, 악의적단말(도 3의 10)에 의한 공격으로 탐지된 세션키 갱신 요청에 따라 생성해 둔 신규 세션키(key2)를 폐기하고 기존 세션키(key1)을 유지함으로써, 정당하지 않은 Join 절차를 재 수행하게 되는 악의적 공격을 차단하는 것이다.That is, the
이렇게 되면, 네트워크장치(100)에서는 악의적단말(도 3의 10)에 의한 공격 즉 정당하지 않은 Join 절차 재 수행을 차단함으로써, 단말1 및 네트워크장치(100) 간에는 계속해서 동일한 기존 세션키(key1)를 공유할 수 있게 되고, 동일한 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.In this case, in the
한편, 갱신제어부(130)는, 세션키확인부(120)의 확인 결과 신규 세션키(key2)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 단말1로부터 송신된 정상 요청 즉 정상적인 Join Request 메시지인 것으로 판단한다.On the other hand, when it is confirmed that the new session key (key 2) is used as a result of the confirmation by the session
이 경우, 갱신제어부(130)는, 금번 세션키 갱신 요청을 정상 요청으로 판단함에 따라, 단말1과의 세션키를 앞서 생성해 둔 신규 세션키(key2)로 갱신함으로써, 세션키 갱신 직전까지만 수행한 Join 절차 재 수행을 완료하는 것이다. In this case, the
이에, 단말1 및 네트워크장치(100)는, 전술한 Join 절차 재 수행을 통해 갱신한 새로운 세션키(key2)를 공유할 수 있게 되고, 동일한 세션키(key2)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.Accordingly, the terminal 1 and the
이상에서 설명한 바와 같이, 본 발명의 네트워크장치는, IoT 단말로부터 실시간으로 송신된 세션키 갱신 요청(Join Request 메시지)이라면 세션키 갱신 응답(Join Response 메시지) 회신 시 단말에 성공적으로 수신되어 세션키 갱신이 이루어질 것이라는 점에 기인하여, 이후 IoT 단말의 최초 데이터(업링크패킷)을 보고 금번 Join Request 메시지가 IoT 단말에 의해 실시간으로 송신된 것인지 악의적단말에 의해 캡쳐/보관 후 송신된 것인지를 구분하는 방식으로, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단하는 악의적 공격 탐지 및 차단 방안을 실현하고 있다.As described above, if the session key update request (Join Request message) transmitted from the IoT terminal in real time is received, the network device of the present invention is successfully received by the terminal in response to the session key update response (Join Response message) (Uplink packet) of the IoT terminal, it is determined whether the present Join Request message is transmitted in real time by the IoT terminal or whether it is transmitted after capture / storage by the malicious terminal A malicious attack detection and blocking scheme for detecting and blocking a malicious attack causing a session key mismatch between an IoT terminal and a network device is realized.
이에, 본 발명에 의하면, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단하는 악의적 공격 탐지 및 차단 방안을 제안(실현)하여, IoT 단말 및 네트워크장치 간의 세션키가 동일하게 공유되도록 함으로써, 사물인터넷(IoT) 서비스의 안정성을 향상시키는 효과를 도출한다.According to the present invention, a malicious attack detection and blocking method for detecting and blocking a malicious attack that causes a session key mismatch between an IoT terminal and a network device is proposed (implemented), and a session key between the IoT terminal and the network device Thereby improving the stability of the Internet (IoT) service.
특히, 본 발명은, 사물인터넷(IoT) 기술 중에서도 광역 커버리지를 대상으로 하여 저속 전송(<1kbps) 및 저 전력을 지원하는 소량 데이터 전송에 특화된 IoT 기술(LoRa: Long Range)을 채용한 IoT 네트워크 즉 LoRa 네트워크에 적용할 경우, 더욱 그 효과가 극대화될 것이다.More particularly, the present invention relates to an IoT network employing IoT technology (LoRa: Long Range) specialized in small amount data transmission supporting low-rate transmission (<1 kbps) and low power When applied to a LoRa network, the effect will be further enhanced.
이하에서는, 도 3 및 도 4를 참조하여, 본 발명의 바람직한 실시예에 따른 악의적 공격 탐지 및 차단 방안을 설명하겠다.Hereinafter, malicious attack detection and blocking methods according to a preferred embodiment of the present invention will be described with reference to FIGS. 3 and 4. FIG.
먼저, 도 3을 참조하여, 사물인터넷(IoT) 네트워크 구조에서 악의적 공격을 탐지 및 차단하는 상황을 설명하겠다.First, referring to FIG. 3, a description will be given of a situation in which a malicious attack is detected and blocked in a structure of Internet (IoT) network.
설명의 편의를 위해, IoT 단말로서 단말1을 언급하고, 본 발명의 네트워크장치의 참조번호를 도 1에 도시된 바와 동일하게 언급하여 설명하겠다.For convenience of explanation, the terminal 1 will be referred to as the IoT terminal, and the reference numerals of the network apparatus of the present invention will be described with reference to FIG.
IoT 단말로서의 단말1이 네트워크장치에 최초 등록될 때, 단말1은 단말난수값을 생성하고 이를 포함시킨 Join Request 메시지를 네트워크장치(100)로 전송하여 세션키 생성을 요청한다(S10).When the terminal 1 as the IoT terminal is first registered in the network device, the terminal 1 generates a terminal random number value and transmits a Join Request message including the random number to the network device 100 (S10).
Join Request 메시지를 수신한 네트워크장치(100)는, 난수값을 생성하고 이를 포함시킨 Join Response 메시지를 단말1로 회신한다(S20).Upon receiving the Join Request message, the
이에, 단말1은 자신이 생성한 단말난수값 및 Join Response 메시지에서 확인한 네트워크장치(100)의 난수값을 이용하여 네트워크장치(100)과의 세션키(key1)를 생성하고(S30), 네트워크장치(100)는 Join Request 메시지에서 확인한 단말난수값 및 자신이 생성한 난수값을 이용하여 단말1과의 세션키(key1)를 생성하는(S35), Join 절차를 수행하게 된다.The terminal 1 generates a session key (key 1) with the
이에, 단말1 및 네트워크장치(100) 간에는 동일한 세션키(key1)를 공유할 수 있게 되고, 동일한 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.Accordingly, the same session key (key 1) can be shared between the terminal 1 and the
이후, 보안 요구사항에 의해 세션키 갱신이 필요할 때 역시, 전술한 Join 절차 수행(S10~S35)와 동일하게 Join 절차가 재 수행된다.Thereafter, when the session key update is required according to the security requirements, the join procedure is performed again in the same manner as the above-described join procedure execution (S10 to S35).
이때, 전술과 같은 Join 절차 (재) 수행 시, IoT 단말 및 네트워크장치 간에 송수신되는 메시지(패킷)은, IoT 단말 및 네트워크장치 간에 사전에 심어진 보안키(AppKey)를 기반으로 인증되기 때문에, 메시지(패킷)을 악의적인 의도로 위/변조하는 공격으로부터는 안전하다고 볼 수 있다.At this time, since the message (packet) transmitted and received between the IoT terminal and the network device is authenticated based on the security key (AppKey) previously planted between the IoT terminal and the network device, Packet) from malicious intentional attacks.
헌데, 단말1 및 기지국(1,2...) 사이의 무선구간에서 악의적단말(10)이 업링크패킷(Join Request 메시지)을 캡쳐하여 보관할 수 있다(S1).However, the
그리고, 악의적단말(10)이 캡쳐 및 보관한 Join Request 메시지(패킷)를 발송할 수 있다(S2).Then, the
또는, 단말1이, 세션키 갱신 필요에 따라, 실시간으로 Join Request 메시지(패킷)를 송신할 수도 있다(S40).Alternatively, the terminal 1 may transmit a Join Request message (packet) in real time in response to the session key update necessity (S40).
네트워크장치(100)는, 단말1과 관련된 Join Request 메시지가 수신되면, 단말1에 대한 세션키 갱신이 요청되는 것으로 인지할 수 있다.The
이때, 네트워크장치(100)에 수신된 Join Request 메시지는, 실시간으로 단말1이 송신한 Join Request 메시지(패킷)일 수도 있고, 앞서 언급한 바와 같이 단말1이 송신한 바 있는 Join Request 메시지(패킷)를 악의적단말(10)이 캡쳐한 후 발송한 캡쳐 메시지(패킷)일 수도 있다.At this time, the Join Request message received by the
네트워크장치(100)는, 이와 같이 단말1과 관련된 Join Request 메시지가 수신되어 단말1에 대한 세션키 갱신이 요청되면, Join Request 메시지가 실시간으로 단말1이 송신한 것인지 악의적단말(10)이 발송한 것인지 알 수 없지만, 우선은 단말1과의 신규 세션키 생성 절차를 수행한다.When the Join request message related to the terminal 1 is received and the session key update for the terminal 1 is requested, the
즉, 네트워크장치(100)는, 신규 난수값을 생성하여 신규 난수값이 포함되는 세션키 갱신 응답(Join Response 메시지)을 회신하고(S55), 금번 세션키 갱신 요청 시 수신된 신규 단말난수값 즉 Join Request 메시지에서 확인한 단말1의 신규 단말난수값과 금번 자신이 생성한 신규 난수값을 이용하여 단말1에 대한 신규 세션키(key2)를 생성하는, 신규 세션키 생성 절차를 수행하는 것이다(S50).That is, the
다만, 네트워크장치(100)는, Join Request 메시지가 실시간으로 단말1이 송신한 것인지 악의적단말(10)이 발송한 것인지 알 수 없기 때문에, 단말1에 대한 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키(key1)로 유지하여, Join 절차를 세션키 갱신 직전까지만 수행한다.However, since the
이때, S55단계에서 회신하는 세션키 갱신 응답(Join Response 메시지)은, 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 송신된 경우에만, 단말1의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간 내에 단말1로 수신될 수 있다.At this time, the session key update response (Join Response message) returned in step S55 is transmitted only when the session key update request, that is, the Join Request message, is transmitted from the terminal 1, And can be received by the terminal 1 within the time interval.
즉, 금번 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 실시간으로 송신된 경우라면, 전술과 같이 네트워크장치(100)에서 금번 세션키 갱신 요청에 따른 신규 세션키 생성 절차를 수행하는 과정 중 S55단계에서 회신한 세션키 갱신 응답(Join Response 메시지)은, 단말1의 Join Request 메시지 송신시점을 기준으로 하는 다운링크 수신 시간구간 즉 TX1 또는 TX2 내에 성공적으로 단말1로 수신될 것이다.That is, if the present session key renewal request, that is, the Join Request message, is transmitted from the terminal 1 in real time, during the process of generating a new session key according to the current session key renewal request in the
그리고, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하게 된다면, 단말1은, 세션키 갱신 요청 즉 Join Request 메시지 송신 시 생성한 신규 단말난수값 및 회신된 Join Response 메시지에서 확인한 네트워크장치(100)의 신규 난수값을 이용하여 네트워크장치(100)과의 세션키를 생성(key2) 및 갱신함으로써(S60), 정당한 Join 절차를 재 수행하게 된다. If the terminal 1 receives the current session key update response (Join Response message) returned by the
그리고, 정당한 Join 절차 재 수행을 통해 네트워크장치(100)과의 세션키를 기존 세션키(key1)에서 신규 세션키(key2)로 갱신한 단말1은, 이후 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 갱신한 세션키(key2)를 반영(이용)할 것이다.Then, the terminal 1, which renews the session key with the
반면, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하지 못한다면, 네트워크장치(100)과의 세션키를 생성 및 갱신하는 Join 절차 재 수행 자체가 발생하지 않을 것이고, 이 경우 단말1은, 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 계속해서 기존의 세션키(key1)를 반영(이용)할 것이다.On the other hand, if the terminal 1 does not receive the current session key update response (Join Response message) returned by the
네트워크장치(100)는, 단말1에 대한 신규 세션키 생성 절차를 수행한 후, 최초 수신되는 단말1의 데이터(업링크패킷)가 신규 세션키(key2)와 기존 세션키(key1) 중 어떤 세션키를 이용하는지 확인한다(S80).The
네트워크장치(100)는, S80단계의 확인 결과 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단한다.If it is determined in step S80 that the existing session key (key1) is used, the
즉, 네트워크장치(100)는, 단말1에 대한 신규 세션키 생성 절차를 수행한 이후, 최초 수신되는 단말1의 데이터(업링크패킷)가 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단하여, 금번 수신된 Join Request 메시지를 단말1이 과거 송신한 Join Request 메시지를 악의적단말(10)이 캡쳐 및 발송한 메시지(패킷)인 것으로 간주함으로써, 악의적 공격을 탐지하는 것이다(S90).That is, after the
이 경우, 네트워크장치(100)는, 금번 세션키 갱신 요청을 비정상 요청으로 판단함에 따라, 앞서 갱신을 보류한 신규 세션키(key2)를 폐기한다. In this case, the
즉, 네트워크장치(100)는, 악의적단말(10)에 의한 공격으로 탐지된 세션키 갱신 요청에 따라 생성해 둔 신규 세션키(key2)를 폐기하고 기존 세션키(key1)을 유지함으로써, 정당하지 않은 Join 절차를 재 수행하게 되는 악의적 공격을 차단하는 것이다.That is, the
이렇게 되면, 네트워크장치(100)에서는 악의적단말(10)에 의한 공격 즉 정당하지 않은 Join 절차 재 수행을 차단함으로써, 단말1 및 네트워크장치(100) 간에는 계속해서 동일한 기존 세션키(key1)를 공유할 수 있게 되고, 동일한 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.In this case, in the
한편, 네트워크장치(100)는, S80단계의 확인 결과 신규 세션키(key2)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 단말1로부터 송신된 정상 요청 즉 정상적인 Join Request 메시지인 것으로 판단한다.On the other hand, if it is confirmed that the new session key (key2) is used as a result of the check in step S80, the
이 경우, 네트워크장치(100)는, 금번 세션키 갱신 요청을 정상 요청으로 판단함에 따라, 단말1과의 세션키를 앞서 생성해 둔 신규 세션키(key2)로 갱신함으로써, 세션키 갱신 직전까지만 수행한 Join 절차 재 수행을 완료하는 것이다(S100). In this case, the
이에, 단말1 및 네트워크장치(100)는, 전술한 Join 절차 재 수행을 통해 갱신한 새로운 세션키(key2)를 공유할 수 있게 되고, 동일한 세션키(key2)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다. Accordingly, the terminal 1 and the
이하에서는, 도 4를 참조하여, 악의적 공격 탐지 및 차단 방안을 실현하는, 본 발명의 바람직한 실시예에 따른 네트워크장치의 동작 방법을 구체적으로 설명하겠다.Hereinafter, a method of operating a network device according to a preferred embodiment of the present invention, which realizes a malicious attack detection and blocking scheme, will be described in detail with reference to FIG.
설명의 편의를 위해, 본 발명의 네트워크장치의 참조번호를 도 1에 도시된 바와 동일하게 언급하여 설명하겠다. 그리고, 설명의 편의를 위해, 네트워크장치(100)의 관리 하에서 사물인터넷(IoT) 서비스를 수행하는 다수의 IoT 단말(예: 단말1,2,...) 중, 단말1을 언급하여 설명하겠다.For convenience of explanation, the reference numerals of the network apparatus of the present invention will be described with reference to FIG. For convenience of explanation, among the plurality of IoT terminals (for example, terminals 1, 2, ...) that perform the Internet service (IoT) under the management of the
본 발명에 따른 네트워크장치(100)의 동작 방법은, 단말1에 대한 세션키 갱신이 요청되면(S200), 단말1과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지한다(S210).The
이때, 세션키 갱신 요청은, 사물인터넷(Internet of Things, IoT) 네트워크에서, IoT 단말이 매 송신 시 마다 신규 단말난수값을 생성 및 포함시키는 Join Request 메시지를 의미한다.At this time, the session key update request means a Join Request message in which, in the Internet of Things (IoT) network, the IoT terminal generates and includes a new terminal random number value every time it transmits.
즉, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 단말1과 관련된 Join Request 메시지가 수신되면, 단말1에 대한 세션키 갱신이 요청되는 것으로 인지할 수 있다.That is, when the Join Request message related to the terminal 1 is received, the operation method of the
이하에서는, 즉, 단말1 및 네트워크장치(100)는, 앞서 Join 절차 수행을 통해 생성한 세션키(key1)를 공유하고, 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행하는 상황을 가정하겠다.Hereinafter, the terminal 1 and the
즉, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 단말1과 관련된 Join Request 메시지가 수신되어 단말1에 대한 세션키 갱신이 요청되면, 단말1과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키(key1)로 유지한다.That is, when a Join Request message related to the terminal 1 is received and a session key update is requested for the terminal 1, the
달리 말하면, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 단말1과 관련된 Join Request 메시지가 수신되어 단말1에 대한 세션키 갱신이 요청되면, Join Request 메시지가 실시간으로 단말1이 송신한 것인지 악의적단말(도 3의 10)이 발송한 것인지 알 수 없지만, 우선은 단말1과의 신규 세션키 생성 절차를 수행하되 세션키 갱신을 보류하고 기존 세션키로 유지하여, Join 절차를 세션키 갱신 직전까지만 수행하는 것이다.In other words, when a Join Request message related to the UE 1 is received and a session key is requested to be renewed for the UE 1, the operation method of the
여기서, 신규 세션키 생성 절차는, 다음과 같다.Here, the new session key generation procedure is as follows.
본 발명에 따른 네트워크장치(100)의 동작 방법은, 신규 난수값을 생성하여 신규 난수값이 포함되는 세션키 갱신 응답(Join Response 메시지)을 회신하고, 금번 세션키 갱신 요청 시 수신된 신규 단말난수값 즉 Join Request 메시지에서 확인한 단말1의 신규 단말난수값과 금번 자신이 생성한 신규 난수값을 이용하여 단말1에 대한 신규 세션키(key2)를 생성하는, 신규 세션키 생성 절차를 수행한다.A method of operating a
이때, 세션키 갱신 응답(Join Response 메시지)은, 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 송신된 경우에만, 단말1의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간 내에 단말1로 수신될 수 있다.In this case, only when a session key update request, that is, a Join Request message, is transmitted from the terminal 1, the session key update response (Join Response message) is transmitted within the downlink reception time interval limited by the uplink transmission time point of the terminal 1 Lt; / RTI >
이에, 금번 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 실시간으로 송신된 경우라면, 전술과 같이 네트워크장치(100)에서 금번 세션키 갱신 요청에 따른 신규 세션키 생성 절차를 수행하는 과정에서 회신한 세션키 갱신 응답(Join Response 메시지)은, 단말1의 Join Request 메시지 송신시점을 기준으로 하는 다운링크 수신 시간구간 즉 TX1 또는 TX2 내에 성공적으로 단말1로 수신될 것이다.If the current session key update request, that is, the Join Request message, is transmitted from the terminal 1 in real time, in the course of performing the new session key generation procedure according to the current session key update request in the
그리고, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하게 된다면, 단말1은, 세션키 갱신 요청 즉 Join Request 메시지 송신 시 생성한 신규 단말난수값 및 회신된 Join Response 메시지에서 확인한 네트워크장치(100)의 신규 난수값을 이용하여 네트워크장치(100)과의 세션키를 생성(key2) 및 갱신함으로써, 정당한 Join 절차를 재 수행하게 된다.If the terminal 1 receives the current session key update response (Join Response message) returned by the
그리고, 정당한 Join 절차 재 수행을 통해 네트워크장치(100)과의 세션키를 기존 세션키(key1)에서 신규 세션키(key2)로 갱신한 단말1은, 이후 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 갱신한 세션키(key2)를 반영(이용)할 것이다.Then, the terminal 1, which renews the session key with the
반면, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하지 못한다면, 네트워크장치(100)과의 세션키를 생성 및 갱신하는 Join 절차 재 수행 자체가 발생하지 않을 것이고, 이 경우 단말1은, 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 계속해서 기존의 세션키(key1)를 반영(이용)할 것이다.On the other hand, if the terminal 1 does not receive the current session key update response (Join Response message) returned by the
본 발명에 따른 네트워크장치(100)의 동작 방법은, 앞서 S210단계에서 단말1에 대한 신규 세션키 생성 절차를 수행한 이후, 최초 수신되는 단말1의 데이터(업링크패킷)가 신규 세션키(key2)와 기존 세션키(key1) 중 어떤 세션키를 이용하는지 확인한다(S230).The method of operation of the
최초 수신되는 단말1의 데이터(업링크패킷)가 신규 세션키(key2)와 기존 세션키(key1) 중 어떤 세션키를 이용하는지 확인하는 이유는, 앞서 설명한 바 있듯이, 금번 세션키 갱신 요청(Join Request 메시지)이 단말1로부터 실시간으로 송신된 것일 때에만, 네트워크장치(100)가 금번 신규 세션키 생성 절차를 수행하는 과정에서 회신한 세션키 갱신 응답(Join Response 메시지)이 단말1의 다운링크 수신 시간구간 즉 TX1 또는 TX2 내에 성공적으로 단말1로 수신될 수 있음에 기인한다.The reason for confirming which session key among the new session key (key 2) and the existing session key (key 1) is used is the data (uplink packet) of the initially received terminal 1, as described above, Request message) is transmitted in real time from the terminal 1, the session key update response (Join Response message) returned in the process of the
보다 구체적으로, 그 이유는, 최초 수신되는 단말1의 데이터(업링크패킷)은, 단말1이 세션키 갱신 응답(Join Response 메시지)을 수신하여 이로부터 네트워크장치(100)의 신규 난수값을 획득하고, 네트워크장치(100)의 신규 난수값 및 자신이 생성한 신규 단말난수값 기반으로 네트워크장치(100)와의 세션키를 신규 세션키(key2)로 갱신한 경우에만, 신규 세션키(key2)를 이용하여 송신될 수 있음에 기인한다.More specifically, the reason for this is that the data (uplink packet) of the initially received terminal 1 is obtained by receiving the session key update response (Join Response message) from the terminal 1 and acquiring a new random number value of the
본 발명에 따른 네트워크장치(100)의 동작 방법은, S230단계의 확인 결과 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단한다.The method of operation of the
즉, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 단말1에 대한 신규 세션키 생성 절차를 수행한 이후, 최초 수신되는 단말1의 데이터(업링크패킷)가 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단하여, 금번 수신된 Join Request 메시지를 단말1이 과거 송신한 Join Request 메시지를 악의적단말(도 3의 10)이 캡쳐 및 발송한 메시지(패킷)인 것으로 간주함으로써, 악의적 공격을 탐지하는 것이다.That is, after the new session key generation procedure for the terminal 1 is performed, the data (uplink packet) of the initially received terminal 1 is transmitted to the existing session key (key 1) It is determined that the current session key update request is an abnormal request, and the Join Request message, which the terminal 1 has transmitted in the past, is transmitted to the malicious terminal (10 in FIG. 3) ), Thereby detecting a malicious attack.
이 경우, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 금번 세션키 갱신 요청을 비정상 요청으로 판단함에 따라, 앞서 갱신을 보류한 신규 세션키(key2)를 폐기한다(S240). In this case, the method of operation of the
즉, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 악의적단말(도 3의 10)에 의한 공격으로 탐지된 세션키 갱신 요청에 따라 생성해 둔 신규 세션키(key2)를 폐기하고 기존 세션키(key1)을 유지함으로써, 정당하지 않은 Join 절차를 재 수행하게 되는 악의적 공격을 차단하는 것이다.That is, the method of operation of the
이렇게 되면, 네트워크장치(100)에서는 악의적단말(도 3의 10)에 의한 공격 즉 정당하지 않은 Join 절차 재 수행을 차단함으로써, 단말1 및 네트워크장치(100) 간에는 계속해서 동일한 기존 세션키(key1)를 공유할 수 있게 되고, 동일한 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.In this case, in the
한편, 본 발명에 따른 네트워크장치(100)의 동작 방법은, S230단계의 확인 결과 신규 세션키(key2)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 단말1로부터 송신된 정상 요청 즉 정상적인 Join Request 메시지인 것으로 판단한다.If it is determined in step S230 that the new session key (key2) is used, the operation method of the
이 경우, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 금번 세션키 갱신 요청을 정상 요청으로 판단함에 따라, 단말1과의 세션키를 앞서 생성해 둔 신규 세션키(key2)로 갱신함으로써, 세션키 갱신 직전까지만 수행한 Join 절차 재 수행을 완료하는 것이다(S250). In this case, the operation method of the
이에, 단말1 및 네트워크장치(100)는, 전술한 Join 절차 재 수행을 통해 갱신한 새로운 세션키(key2)를 공유할 수 있게 되고, 동일한 세션키(key2)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.Accordingly, the terminal 1 and the
이상에서 설명한 바와 같이 본 발명에 따른 네트워크장치의 동작 방법에 의하면, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단하는 악의적 공격 탐지 및 차단 방안을 제안(실현)하여, 사물인터넷(IoT) 서비스의 안정성을 향상시키는 효과를 도출한다.As described above, according to the operation method of the network device according to the present invention, a malicious attack detection and blocking method for detecting and blocking a malicious attack causing a session key discrepancy between the IoT terminal and the network device is proposed (realized) The effect of improving the stability of the Internet (IoT) service is derived.
본 발명의 일 실시예에 따른 네트워크장치의 동작 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.A method of operating a network device according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and configured for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.
본 발명의 네트워크장치 및 네트워크장치의 동작 방법에 따르면, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을, 탐지 및 차단한다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the network device and the operation method of the network device of the present invention, since it detects and intercepts a malicious attack that causes a session key discrepancy between the IoT terminal and the network device, overcoming the limitations of the related art, It is an invention that is industrially applicable because it is not only the use but also the possibility of commercialization or operation of the applied device is sufficient as it is practically possible to carry out clearly.
100 : 네트워크장치
110 : 세션키생성부 120 : 세션키확인부
130 : 갱신제어부100: Network device
110: session key generation unit 120: session key verification unit
130:
Claims (7)
상기 신규 세션키와 상기 기존 세션키 중에서, 상기 신규 세션키 생성 이후 최초 수신되는 상기 단말의 특정 업링크패킷이 이용하는 세션키를 확인하는 세션키확인부; 및
상기 특정 업링크패킷이 이용하는 세션키를 기반으로 상기 세션키 갱신 요청이 비정상 요청인지의 여부를 확인한 결과에 따라 상기 신규 세션키를 폐기 또는 갱신하는 갱신제어부를 포함하며,
상기 특정 업링크패킷이 이용하는 세션키가 상기 기존 세션키인 경우, 상기 세션키 갱신 요청을 비정상 요청으로 판단하여 상기 신규 세션키를 폐기하고, 상기 기존 세션키를 이용하여 상기 특정 업링크패킷을 처리하며,
상기 특정 업링크패킷이 이용하는 세션키가 상기 신규 세션키인 경우, 상기 세션키 갱신 요청을 정상 요청으로 판단하여 상기 단말과의 세션키를 상기 신규 세션키로 갱신하고, 상기 신규 세션키를 이용하여 상기 특정 업링크패킷을 처리하는 것을 특징으로 하는 네트워크장치.A session key generation unit that performs a new session key generation procedure with the terminal when the session key update is requested to the terminal, and holds the session key update as an existing session key;
A session key verifying unit for verifying a session key used by a specific uplink packet of the terminal, which is received first after the generation of the new session key, from the new session key and the existing session key; And
And an update controller for discarding or updating the new session key according to a result of checking whether the session key update request is an abnormal request based on the session key used by the specific uplink packet,
If the session key used by the specific uplink packet is the existing session key, it is determined that the session key update request is an abnormal request and the new session key is discarded, and the specific uplink packet is processed In addition,
And when the session key used by the specific uplink packet is the new session key, it determines that the session key update request is a normal request, updates the session key with the terminal with the new session key, And processing a specific uplink packet.
상기 신규 세션키 생성 절차는,
신규 난수값을 생성하여 상기 신규 난수값이 포함되는 세션키 갱신 응답을 회신하고,
상기 세션키 갱신 요청 시 수신된 신규 단말난수값 및 상기 신규 난수값을 이용하여 상기 단말에 대한 신규 세션키를 생성하는 것을 특징으로 하는 네트워크장치.The method according to claim 1,
The new session key generation procedure comprises:
Generates a new random number value and returns a session key update response including the new random number value,
And generates a new session key for the terminal using the new terminal random number value and the new random number value received upon the session key update request.
상기 세션키 갱신 응답은,
상기 세션키 갱신 요청이 상기 단말로부터 송신된 경우에만, 상기 단말의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간 내에 상기 단말로 수신되는 것을 특징으로 하는 네트워크장치.The method of claim 3,
The session key update response includes:
And is received by the terminal within a downlink reception time interval limited based on an uplink transmission time point of the terminal only when the session key update request is transmitted from the terminal.
상기 단말의 특정 업링크패킷은,
상기 단말이 상기 세션키 갱신 응답을 수신하여 상기 신규 난수값을 획득하고, 상기 신규 난수값 및 상기 신규 단말난수값 기반으로 상기 네트워크장치와의 세션키를 상기 신규 세션키로 갱신한 경우에만, 상기 신규 세션키를 이용하여 송신되는 것을 특징으로 하는 네트워크장치.The method of claim 3,
Wherein the specific uplink packet of the terminal comprises:
Only when the terminal receives the session key update response and obtains the new random number value and updates the session key with the network device based on the new random number value and the new terminal random number value with the new session key, Wherein the session key is transmitted using a session key.
상기 신규 세션키와 상기 기존 세션키 중에서, 상기 신규 세션키 생성 이후 최초 수신되는 상기 단말의 특정 업링크패킷이 이용하는 세션키를 확인하는 세션키확인단계;
상기 특정 업링크패킷이 이용하는 세션키를 기반으로 상기 세션키 갱신 요청이 비정상 요청인지의 여부를 확인한 결과에 따라 상기 신규 세션키를 폐기 또는 갱신하는 결정단계를 포함하며,
상기 특정 업링크패킷이 이용하는 세션키가 상기 기존 세션키인 경우, 상기 세션키 갱신 요청을 비정상 요청으로 판단하여 상기 신규 세션키를 폐기하고, 상기 기존 세션키를 이용하여 상기 특정 업링크패킷을 처리하며,
상기 특정 업링크패킷이 이용하는 세션키가 상기 신규 세션키인 경우, 상기 세션키 갱신 요청을 정상 요청으로 판단하여 상기 단말과의 세션키를 상기 신규 세션키로 갱신하고, 상기 신규 세션키를 이용하여 상기 특정 업링크패킷을 처리하는 것을 특징으로 하는 네트워크장치의 동작 방법.A session key generation step of performing a new session key generation procedure with the terminal when a session key update is requested to the terminal, the session key update being held and retained as an existing session key;
A session key checking step of checking, among the new session key and the existing session key, a session key used by a specific uplink packet of the terminal, which is received first after the generation of the new session key;
And discarding or updating the new session key according to a result of checking whether the session key update request is an abnormal request based on the session key used by the specific uplink packet,
If the session key used by the specific uplink packet is the existing session key, it is determined that the session key update request is an abnormal request and the new session key is discarded, and the specific uplink packet is processed In addition,
And when the session key used by the specific uplink packet is the new session key, it determines that the session key update request is a normal request, updates the session key with the terminal with the new session key, And processing a specific uplink packet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160126822A KR101808537B1 (en) | 2016-09-30 | 2016-09-30 | Networlk device and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160126822A KR101808537B1 (en) | 2016-09-30 | 2016-09-30 | Networlk device and control method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101808537B1 true KR101808537B1 (en) | 2017-12-13 |
Family
ID=60944307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160126822A KR101808537B1 (en) | 2016-09-30 | 2016-09-30 | Networlk device and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101808537B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009278397A (en) * | 2008-05-15 | 2009-11-26 | Mitsubishi Electric Corp | Communication device, roadside device, onboard unit, communication method, and communication program |
JP2014197761A (en) | 2013-03-29 | 2014-10-16 | トヨタ自動車株式会社 | Authentication system and authentication method |
-
2016
- 2016-09-30 KR KR1020160126822A patent/KR101808537B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009278397A (en) * | 2008-05-15 | 2009-11-26 | Mitsubishi Electric Corp | Communication device, roadside device, onboard unit, communication method, and communication program |
JP2014197761A (en) | 2013-03-29 | 2014-10-16 | トヨタ自動車株式会社 | Authentication system and authentication method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10404677B2 (en) | Secure method for MTC device triggering | |
US7631186B2 (en) | Mobile terminal authentication method capable of reducing authentication processing time and preventing fraudulent transmission/reception of data through spoofing | |
KR101447726B1 (en) | The generation method and the update method of authorization key for mobile communication | |
US20140298037A1 (en) | Method, apparatus, and system for securely transmitting data | |
KR101664226B1 (en) | Apparatus and method for network reentry of mobile statiom in wireless communication system | |
JP2011515984A (en) | Identification of tampered or defective base stations during handover | |
CN102318386A (en) | Service-based authentication to a network | |
KR101655264B1 (en) | Method and system for authenticating in communication system | |
CN110392998B (en) | Data packet checking method and equipment | |
US11689922B2 (en) | Re-establishing a radio resource control connection | |
Pratas et al. | Massive machine-type communication (mMTC) access with integrated authentication | |
KR101808515B1 (en) | Networlk device and control method thereof | |
KR101042839B1 (en) | Authentication system in wireless mobile communication system and method thereof | |
KR101337177B1 (en) | Method and apparatus to facilitate network processes | |
CN106912049B (en) | Method for improving user authentication experience | |
CN113302895B (en) | Method and apparatus for authenticating a group of wireless communication devices | |
KR101808537B1 (en) | Networlk device and control method thereof | |
KR102080677B1 (en) | Networlk device and control method thereof | |
WO2019141135A1 (en) | Trusted service management method and apparatus capable of supporting wireless network switching | |
KR101999142B1 (en) | IoT TERMINAL AND CENTRAL SEVER, AND CONTROL METHOD THEREOF | |
CN101790164B (en) | Authentication method, communication system and relevant equipment | |
WO2022148406A1 (en) | Replay attack processing method, unified data management entity, and storage medium | |
KR101395835B1 (en) | Terminal device and authentication manageent apparatus, control method thereof | |
KR20090116401A (en) | Method for identifying mobile station, and mobile station and core network apparauts for executing the method | |
CN110061833B (en) | Binding update method and device for identity position |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |