KR101808537B1 - 네트워크장치 및 네트워크장치의 동작 방법 - Google Patents
네트워크장치 및 네트워크장치의 동작 방법 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
본 발명은, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단하는 방안을 제안하여, 사물인터넷(IoT) 서비스의 안정성을 향상시키는 효과를 도출기술을 개시한다.
Description
본 발명은, 사물인터넷(IoT) 기술과 관련된 것으로, 더욱 상세하게는 IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을, 탐지 및 차단할 수 있는 기술에 관한 것이다.
헬스케어, 원격검침, 스마트홈, 스마트카, 스마트팜 등 다양한 분야에서 생활 속의 사물을 유무선 네트워크로 연결해 정보를 공유하는 사물인터넷(Internet of Things, IoT) 기술이 등장하여 주목 받고 있다.
이러한 사물인터넷(IoT) 기술을 기반으로 사물인터넷(IoT) 서비스를 제공하기 위한 IoT 네트워크 구조를 간단히 설명하면, 다음과 같다.
IoT 네트워크는, 원격지의 사물인터넷단말(이하, IoT 단말)과, 원격지의 IoT 단말의 데이터를 확인하고 IoT 단말을 제어하기 위한 사물인터넷용 어플리케이션(이하 IoT앱이라 함)이 설치된 고객단말과, IoT 단말 및 고객단말(IoT앱) 간을 유무선 네트워크를 통해 연결해 주는 네트워크장치(또는, IoT앱 서버), IoT 단말 및 네트워크장치 사이에서 패킷 송수신을 수행하는 게이트웨이(예: 기지국)로 구성된다.
이러한, IoT 네트워크 구조에서, IoT 단말은 데이터(업링크패킷)를 주기적으로 네트워크장치에 전송하는 방식으로 사물인터넷(IoT) 서비스를 수행하고 있으며, 사물인터넷(IoT) 서비스 수행 과정에서의 IoT 단말 및 네트워크장치(100) 간 데이터(업링크패킷) 인증을 위해, 세션키를 공유하게 된다.
구체적으로 설명하면, IoT 단말이 네트워크장치에 최초 등록될 때 Join 절차를 수행하여 IoT 단말 및 네트워크장치 간에 세션키를 생성하고, 이후 보안 요구사항에 의해 세션키 갱신이 필요할 때 Join 절차를 재 수행하여 IoT 단말 및 네트워크장치 간에 세션키를 갱신하는 방식으로, IoT 단말 및 네트워크장치가 서로 동일한 세션키를 공유하게 된다.
이때, Join 절차 (재) 수행 시 IoT 단말 및 네트워크장치 간에 송수신되는 메시지(패킷)은, IoT 단말 및 네트워크장치 간에 사전에 심어진 보안키(AppKey)를 기반으로 인증되기 때문에, 메시지(패킷)을 악의적인 의도로 위/변조하는 공격으로부터는 안전하다고 볼 수 있고, 메시지(패킷)가 정상적으로 수신만 된다면 IoT 단말 및 네트워크장치 간 세션키는 서로 동일하게 공유될 수 있다.
한편, IoT 단말은, 업링크패킷을 송신하는 시점(업링크 송신 시점)을 기준으로 다운링크패킷을 수신할 수 있는 시간구간(다운링크 수신 시간구간)이 제한되는 특징을 갖는다. 이는, IoT 네트워크에서는, IoT 단말에 소형배터리를 지원하고자 하며, 이로 인해 IoT 단말 소모 전력을 최소화하기 위한 것이다.
이러한 IoT 단말의 다운링크 수신 시간구간 제한을 노리고, 정당하지 않은 Join 절차 재 수행을 유도하되 이때의 메시지(패킷)가 IoT 단말에 정상적으로 수신되지 못하도록 하여, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 공격이 시도될 수 있다.
하지만, 현재 사물인터넷(IoT) 기술에서는, Join 절차 재 수행 시의 메시지(패킷)가 IoT 단말에 정상적으로 수신되지 못하도록 하여, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 공격에 대처하기 위한 대처 방안을 제시하고 있지 않은 실정이다.
이에, 본 발명에서는, 전술과 같이 IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 방식의 악의적 공격을 탐지 및 차단하기 위한 새로운 방안을 제안하고자 한다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단함으로써, 사물인터넷(IoT) 서비스의 안정성을 향상시키는데 있다.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 네트워크장치는, 단말에 대한 세션키 갱신이 요청되면 상기 단말과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지하는 세션키생성부; 상기 신규 세션키와 상기 기존 세션키 중에서, 상기 신규 세션키 생성 이후 최초 수신되는 상기 단말의 특정 업링크패킷이 이용하는 세션키를 확인하는 세션키확인부; 및 상기 기존 세션키를 이용하는 것으로 확인되면, 상기 세션키 갱신 요청을 비정상 요청으로 판단하고 상기 신규 세션키를 폐기하는 갱신제어부를 포함한다.
바람직하게는, 상기 갱신제어부는, 상기 신규 세션키를 이용하는 것으로 확인되면, 상기 세션키 갱신 요청을 상기 단말로부터 송신된 정상 요청으로 판단하고 상기 단말과의 세션키를 상기 신규 세션키로 갱신할 수 있다.
바람직하게는, 상기 신규 세션키 생성 절차는, 신규 난수값을 생성하여 상기 신규 난수값이 포함되는 세션키 갱신 응답을 회신하고, 상기 세션키 갱신 요청 시 수신된 신규 단말난수값 및 상기 신규 난수값을 이용하여 상기 단말에 대한 신규 세션키를 생성할 수 있다.
바람직하게는, 상기 세션키 갱신 응답은, 상기 세션키 갱신 요청이 상기 단말로부터 송신된 경우에만, 상기 단말의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간 내에 상기 단말로 수신될 수 있다.
바람직하게는, 상기 단말의 특정 업링크패킷은, 상기 단말이 상기 세션키 갱신 응답을 수신하여 상기 신규 난수값을 획득하고, 상기 신규 난수값 및 상기 신규 단말난수값 기반으로 상기 네트워크장치와의 세션키를 상기 신규 세션키로 갱신한 경우에만, 상기 신규 세션키를 이용하여 송신될 수 있다.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 네트워크장치의 동작 방법은, 단말에 대한 세션키 갱신이 요청되면 상기 단말과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지하는 세션키생성단계; 상기 신규 세션키와 상기 기존 세션키 중에서, 상기 신규 세션키 생성 이후 최초 수신되는 상기 단말의 특정 업링크패킷이 이용하는 세션키를 확인하는 세션키확인단계; 및 상기 확인 결과, 상기 기존 세션키를 이용하는 것으로 확인되면 상기 세션키 갱신 요청을 비정상 요청으로 판단하고 상기 신규 세션키를 폐기하는 폐기단계를 포함한다.
바람직하게는, 상기 확인 결과, 상기 신규 세션키를 이용하는 것으로 확인되면 상기 세션키 갱신 요청을 상기 단말로부터 송신된 정상 요청으로 판단하고 상기 단말과의 세션키를 상기 신규 세션키로 갱신하는 갱신단계를 더 포함할 수 있다.
이에, 본 발명의 네트워크장치 및 네트워크장치의 동작 방법에 따르면, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단함으로써, 사물인터넷(IoT) 서비스의 안정성을 향상시키는 효과를 도출한다.
도 1은 본 발명이 적용되는 사물인터넷(IoT) 네트워크 구조를 보여주는 예시도이다.
도 2는 본 발명의 바람직한 실시예에 따른 네트워크장치의 구성을 보여주는 블록도이다.
도 3은 본 발명에 따라 사물인터넷(IoT) 네트워크 구조에서 악의적 공격을 탐지 및 차단하는 상황을 보여주는 예시도이다.
도 4는 본 발명의 바람직한 실시예에 따른 네트워크장치의 동작 방법을 보여주는 동작 흐름도이다.
도 2는 본 발명의 바람직한 실시예에 따른 네트워크장치의 구성을 보여주는 블록도이다.
도 3은 본 발명에 따라 사물인터넷(IoT) 네트워크 구조에서 악의적 공격을 탐지 및 차단하는 상황을 보여주는 예시도이다.
도 4는 본 발명의 바람직한 실시예에 따른 네트워크장치의 동작 방법을 보여주는 동작 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.
도 1은 은 본 발명이 적용되는 사물인터넷(Internet of Things, IoT) 네트워크 구조를 보여주고 있다.
도 1에 도시된 바와 같이, 본 발명이 적용되는 사물인터넷(IoT) 네트워크 구조는, 원격지의 IoT 단말(예: 단말1,2,...), 원격지의 IoT 단말의 데이터를 확인하고 IoT 단말을 제어하기 위한 IoT앱이 설치된 고객단말(미도시)과, IoT 단말 및 고객단말(IoT앱) 간을 유무선 네트워크를 통해 연결해 주는 네트워크장치(100, IoT앱 서버), IoT 단말 및 네트워크장치(100) 사이에서 패킷 송수신을 수행하는 게이트웨이(예: 기지국1,2,...)로 구성된다.
이러한 IoT 네트워크 구조에서의 업링크/다운링크패킷 송수신 과정을 간단히 설명하면, IoT 단말이 업링크패킷을 네트워크장치(100)로 업링크패킷을 전송은, IoT 단말이 브로드캐스트(broadcast) 방식으로 업링크패킷을 송신하고 이를 다수의 기지국이 수신하여 네트워크장치(100)로 송신하는 방식으로 이루어진다.
그리고, IoT 네트워크 구조에서 네트워크장치(100)가 다운링크패킷을 IoT 단말로 전송은, 네트워크장치(100)가 IoT 단말에 대하여 기 선택한 하나의 기지국(이하, 다운링크 기지국)으로 다운링크패킷을 송신하고 이를 수신한 다운링크 기지국이 IoT 단말에 송신하는 방식으로 이루어진다.
이때, IoT 단말에 대하여 다운링크 기지국을 선택하는 방식은, IoT 단말의 업링크패킷을 수신하여 네트워크장치(100)로 송신한 다수의 기지국 중, 해당 IoT 단말과의 채널상태(SNR)가 가장 우수한 기지국을 선택하는 방식이다.
이러한, IoT 네트워크 구조에서, IoT 단말은 데이터(업링크패킷)를 주기적으로 네트워크장치에 전송하는 방식으로 사물인터넷(IoT) 서비스를 수행하고 있으며, 사물인터넷(IoT) 서비스 수행 과정에서의 IoT 단말 및 네트워크장치(100) 간 데이터(업링크패킷) 인증을 위해, 세션키를 공유하게 된다.
단말1을 언급하여 구체적으로 설명하면, IoT 단말로서의 단말1이 네트워크장치에 최초 등록될 때, 단말1은 단말난수값을 생성하고 이를 포함시킨 Join Request 메시지를 네트워크장치(100)로 전송하여 세션키 생성을 요청하고, Join Request 메시지를 수신한 네트워크장치(100)는 난수값을 생성하고 이를 포함시킨 Join Response 메시지를 단말1로 회신함으로써, 단말1은 자신이 생성한 단말난수값 및 Join Response 메시지에서 확인한 네트워크장치(100)의 난수값을 이용하여 네트워크장치(100)과의 세션키를 생성하고, 네트워크장치(100)는 Join Request 메시지에서 확인한 단말난수값 및 자신이 생성한 난수값을 이용하여 단말1과의 세션키를 생성하는, Join 절차를 수행하게 된다.
이후, 보안 요구사항에 의해 세션키 갱신이 필요할 때, 단말1은 신규 단말난수값을 생성하고 이를 포함시킨 Join Request 메시지를 네트워크장치(100)로 전송하여 세션키 갱신을 요청하고, Join Request 메시지를 수신한 네트워크장치(100)는 신규 난수값을 생성하고 이를 포함시킨 Join Response 메시지를 단말1로 회신함으로써, 단말1은 자신이 생성한 단말난수값 및 Join Response 메시지에서 확인한 네트워크장치(100)의 난수값을 이용하여 네트워크장치(100)과의 세션키를 생성/갱신하고, 네트워크장치(100)는 Join Request 메시지에서 확인한 단말난수값 및 자신이 생성한 난수값을 이용하여 단말1과의 세션키를 생성/갱신하는, Join 절차 재 수행이 진행된다.
즉, 단말1 및 네트워크장치(100)는, 전술한 Join 절차 (재) 수행 시 메시지(패킷)가 상호 정상적으로 수신만 된다면, 동일한 단말난수값 및 난수값을 이용하여 세션키를 생성(갱신)하기 때문에 동일한 세션키를 공유하게 된다.
그리고, 전술과 같은 Join 절차 (재) 수행 시 IoT 단말 및 네트워크장치 간에 송수신되는 메시지(패킷)은, IoT 단말 및 네트워크장치 간에 사전에 심어진 보안키(AppKey)를 기반으로 인증되기 때문에, 메시지(패킷)을 악의적인 의도로 위/변조하는 공격으로부터는 안전하다고 볼 수 있다.
한편, IoT 단말은, 업링크패킷을 송신하는 시점(업링크 송신 시점)을 기준으로 다운링크패킷을 수신할 수 있는 시간구간(다운링크 수신 시간구간)이 제한되는 특징을 갖는다.
이러한 IoT 단말의 다운링크 수신 시간구간 제한을 노리고, 정당하지 않은 Join 절차 재 수행을 유도하되 이때의 메시지(패킷)가 IoT 단말에 정상적으로 수신되지 못하도록 하여, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 공격이 IoT 단말 및 기지국 사이의 무선구간에서 시도될 수 있다.
구체적으로, 단말1이 Join Request 메시지를 네트워크장치(100)로 전송하여 세션키 생성 또는 갱신을 요청할 때, 단말1 및 기지국 사이의 무선구간에서 악의적단말(도 3의 10)이 Join Request 메시지를 캡쳐하여 보관할 수 있다.
만약, 악의적단말(도 3의 10)이 일정시간 경과 후 앞서 캡쳐한 Join Request 메시지(이하, 캡쳐 메시지)를 네트워크장치(100)로 발송한다면, 네트워크장치(100)에서는, 금번 수신된 Join Request 메시지가 보안키(AppKey)를 기반으로 정상 인증되므로, 신규 난수값을 생성하고 이를 포함시킨 Join Response 메시지를 회신하며 Join Request 메시지에서 확인한 단말난수값 및 자신이 생성한 난수값을 이용하여 단말1과의 세션키를 생성/갱신함으로써, Join 절차 재 수행을 진행할 것이다.
하지만, 금번 Join 절차 재 수행은, 단말1이 아닌 악의적단말(도 3의 10)이 발송한 캡쳐 메시지에 의해 유도된 정당하지 않은 Join 절차 재 수행이다.
따라서, 실제로 Join Request 메시지 즉 업링크패킷을 송신하지 않은 단말1은, 업링크 송신 시점을 기준으로 제한되어 있는 다운링크 수신 시간구간에, 정당하지 않은 Join 절차 재 수행으로 인해 네트워크장치(100)가 회신하는 Join Response 메시지를 수신할 수 없고, 따라서 단말1에서는 네트워크장치(100)와의 세션키가 갱신되지 않는다.
이렇게 되면, 단말1 및 네트워크장치(100) 간에는 더 이상 동일한 세션키가 공유되지 않게 된다.
이에, 단말1이 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에 반영하는 세션키와, 네트워크장치(100)가 단말1로부터 수신된 데이터(업링크패킷)을 인증하는데 반영하는 세션키가 서로 다르기 때문에, 단말1의 데이터(업링크패킷)는 인증에 실패하고 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 없게 된다.
하지만, 현재 사물인터넷(IoT) 기술에서는, Join 절차 재 수행 시의 메시지(패킷)가 IoT 단말에 정상적으로 수신되지 못하도록 하여, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 공격에 대처하기 위한 대처 방안을 제시하고 있지 않은 실정이다.
이에, 본 발명에서는, 전술과 같이 IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 방식의 악의적 공격을 탐지 및 차단하기 위한 새로운 방안(이하, 악의적 공격 탐지 및 차단 방안)을 제안하고자 한다.
보다 구체적으로, 본 발명에서는, 악의적 공격 탐지 및 차단 방안을 실현하는 네트워크장치를 제안하고자 한다.
먼저, 이하에서는 도 2를 참조하여 본 발명의 바람직한 실시예에 따른 네트워크장치를 구체적으로 설명하겠다.
도 2에 도시된 바와 같이, 본 발명의 네트워크장치(100)는, 단말에 대한 세션키 갱신이 요청되면 상기 단말과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지하는 세션키생성부(110)와, 상기 신규 세션키와 상기 기존 세션키 중에서, 상기 신규 세션키 생성 이후 최초 수신되는 상기 단말의 특정 업링크패킷이 이용하는 세션키를 확인하는 세션키확인부(120)와, 상기 기존 세션키를 이용하는 것으로 확인되면, 상기 세션키 갱신 요청을 비정상 요청으로 판단하고 상기 신규 세션키를 폐기하는 갱신제어부(130)를 포함한다.
여기서, 단말은, 도 1의 설명에서 언급한 바 있는 IoT 단말(예: 단말1,2,...)일 것이다.
네트워크장치(100)는, 네트워크장치(100)의 관리 하에서 사물인터넷(IoT) 서비스를 수행하는 다수의 IoT 단말 별로, 세션키를 생성할 것이다.
다만, 이하에서는 설명의 편의를 위해, 네트워크장치(100)의 관리 하에서 사물인터넷(IoT) 서비스를 수행하는 다수의 IoT 단말(예: 단말1,2,...) 중, 단말1을 언급하여 설명하겠다.
세션키생성부(110)는, 단말1에 대한 세션키 갱신이 요청되면 단말1과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지한다.
이때, 세션키 갱신 요청은, 사물인터넷(Internet of Things, IoT) 네트워크에서, IoT 단말이 매 송신 시 마다 신규 단말난수값을 생성 및 포함시키는 Join Request 메시지를 의미한다.
즉, 세션키생성부(110)는, 단말1과 관련된 Join Request 메시지가 수신되면, 단말1에 대한 세션키 갱신이 요청되는 것으로 인지할 수 있다.
이때, 네트워크장치(100)에 수신된 Join Request 메시지는, 실시간으로 단말1이 송신한 Join Request 메시지(패킷)일 수도 있고, 앞서 언급한 바와 같이 단말1이 송신한 바 있는 Join Request 메시지(패킷)를 악의적단말(도 3의 10)이 캡쳐한 후 발송한 캡쳐 메시지(패킷)일 수도 있다.
물론, 단말1이 네트워크장치(100)에 최초 등록되는 경우에도, 단말1과 관련된 Join Request 메시지가 네트워크장치(100)에 수신될 것이다. 하지만 이 경우라면, 단말1과의 세션키가 생성되어 있지 않은 상태일 것이며, 이러한 경우는 본 발명의 대상이 되지 않는다.
따라서, 이하에서는, 네트워크장치(100)에 이미 단말1과의 세션키가 생성되어 있는 상태, 달리 말하면 단말1에 대한 기존 세션키(key1)가 이미 생성/보유된 상태로 상정하겠다.
즉, 단말1 및 네트워크장치(100)는, 앞서 Join 절차 수행을 통해 생성한 세션키(key1)를 공유하고, 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행하는 상황을 가정하겠다.
세션키생성부(110)는, 이와 같이 단말1과 관련된 Join Request 메시지가 수신되어 단말1에 대한 세션키 갱신이 요청되면, 단말1과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키(key1)로 유지한다.
달리 말하면, 세션키생성부(110)는, 단말1과 관련된 Join Request 메시지가 수신되어 단말1에 대한 세션키 갱신이 요청되면, Join Request 메시지가 실시간으로 단말1이 송신한 것인지 악의적단말(도 3의 10)이 발송한 것인지 알 수 없지만, 우선은 단말1과의 신규 세션키 생성 절차를 수행하되 세션키 갱신을 보류하고 기존 세션키로 유지하여, Join 절차를 세션키 갱신 직전까지만 수행하는 것이다.
여기서, 세션키생성부(110)이 수행하는 신규 세션키 생성 절차는, 다음과 같다.
세션키생성부(110)는, 신규 난수값을 생성하여 신규 난수값이 포함되는 세션키 갱신 응답(Join Response 메시지)을 회신하고, 금번 세션키 갱신 요청 시 수신된 신규 단말난수값 즉 Join Request 메시지에서 확인한 단말1의 신규 단말난수값과 금번 자신이 생성한 신규 난수값을 이용하여 단말1에 대한 신규 세션키(key2)를 생성하는, 신규 세션키 생성 절차를 수행한다.
이때, 세션키 갱신 응답(Join Response 메시지)은, 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 송신된 경우에만, 단말1의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간 내에 단말1로 수신될 수 있다.
여기서, 단말1을 비롯한 IoT 단말의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간에 대하여 설명하면, 다음과 같다.
IoT 단말은, 업링크패킷을 송신하면, 업링크패킷을 송신한 업링크 송신 시점을 기준으로 제한된 일정 시간(예: 1초)이 경과한 시간구간 단위로 제한된 횟수(예: 2회)만큼 다운링크패킷 수신 동작을 수행한다.
즉, IoT 단말은, 업링크패킷(Join Response 메시지)을 송신하면, 업링크패킷을 송신한 업링크 송신 시점(t)을 기준으로 일정 시간(예: 1초)이 경과한 시간구간(TX1, t+1)에 다운링크패킷 수신을 위한 수신 동작을 수행하며, 이 시간구간(TX1)에 다운링크패킷이 수신되지 않으면 다시 일정 시간(예: 1초)이 경과한 다음 시간구간(TX2, t+2)에 다운링크패킷 수신을 위한 수신 동작을 수행하며, 이 시간구간(TX2)에 다운링크패킷이 수신되지 않으면 다운링크 수신 실패로 간주한다.
이처럼 IoT 단말이 다운링크 수신 시간구간 제한을 갖는 이유는, IoT 네트워크에서는 IoT 단말에 소형배터리를 지원하고자 하며, 이로 인해 IoT 단말 소모 전력을 최소화하기 위함이다.
이에, 금번 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 실시간으로 송신된 경우라면, 전술과 같이 네트워크장치(100)에서 금번 세션키 갱신 요청에 따른 신규 세션키 생성 절차를 수행하는 과정에서 회신한 세션키 갱신 응답(Join Response 메시지)은, 단말1의 Join Request 메시지 송신시점을 기준으로 하는 다운링크 수신 시간구간 즉 TX1 또는 TX2 내에 성공적으로 단말1로 수신될 것이다.
그리고, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하게 된다면, 단말1은, 세션키 갱신 요청 즉 Join Request 메시지 송신 시 생성한 신규 단말난수값 및 회신된 Join Response 메시지에서 확인한 네트워크장치(100)의 신규 난수값을 이용하여 네트워크장치(100)과의 세션키를 생성(key2) 및 갱신함으로써, 정당한 Join 절차를 재 수행하게 된다.
그리고, 정당한 Join 절차 재 수행을 통해 네트워크장치(100)과의 세션키를 기존 세션키(key1)에서 신규 세션키(key2)로 갱신한 단말1은, 이후 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 갱신한 세션키(key2)를 반영(이용)할 것이다.
반면, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하지 못한다면, 네트워크장치(100)과의 세션키를 생성 및 갱신하는 Join 절차 재 수행 자체가 발생하지 않을 것이고, 이 경우 단말1은, 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 계속해서 기존의 세션키(key1)를 반영(이용)할 것이다.
세션키확인부(120)는, 신규 세션키(key2)와 기존 세션키(key1) 중에서, 신규 세션키 생성 이후 최초 수신되는 단말1의 특정 업링크패킷이 이용하는 세션키를 확인한다.
여기서, 특정 업링크패킷이란, 데이터를 전송하는 업링크패킷을 의미한다.
즉, 세션키확인부(120)는, 앞서 세션키생성부(110)에서 단말1에 대한 신규 세션키 생성 절차를 수행한 이후, 최초 수신되는 단말1의 데이터(업링크패킷)가 신규 세션키(key2)와 기존 세션키(key1) 중 어떤 세션키를 이용하는지 확인하는 것이다.
최초 수신되는 단말1의 데이터(업링크패킷)가 신규 세션키(key2)와 기존 세션키(key1) 중 어떤 세션키를 이용하는지 확인하는 이유는, 앞서 설명한 바 있듯이, 금번 세션키 갱신 요청(Join Request 메시지)이 단말1로부터 실시간으로 송신된 것일 때에만, 네트워크장치(100)가 금번 신규 세션키 생성 절차를 수행하는 과정에서 회신한 세션키 갱신 응답(Join Response 메시지)이 단말1의 다운링크 수신 시간구간 즉 TX1 또는 TX2 내에 성공적으로 단말1로 수신될 수 있음에 기인한다.
보다 구체적으로, 그 이유는, 최초 수신되는 단말1의 데이터(업링크패킷)은, 단말1이 세션키 갱신 응답(Join Response 메시지)을 수신하여 이로부터 네트워크장치(100)의 신규 난수값을 획득하고, 네트워크장치(100)의 신규 난수값 및 자신이 생성한 신규 단말난수값 기반으로 네트워크장치(100)와의 세션키를 신규 세션키(key2)로 갱신한 경우에만, 신규 세션키(key2)를 이용하여 송신될 수 있음에 기인한다.
갱신제어부(130)는, 세션키확인부(120)의 확인 결과 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단한다.
즉, 갱신제어부(130)는, 단말1에 대한 신규 세션키 생성 절차를 수행한 이후, 최초 수신되는 단말1의 데이터(업링크패킷)가 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단하여, 금번 수신된 Join Request 메시지를 단말1이 과거 송신한 Join Request 메시지를 악의적단말(도 3의 10)이 캡쳐 및 발송한 메시지(패킷)인 것으로 간주함으로써, 악의적 공격을 탐지하는 것이다.
이 경우, 갱신제어부(130)는, 금번 세션키 갱신 요청을 비정상 요청으로 판단함에 따라, 앞서 갱신을 보류한 신규 세션키(key2)를 폐기한다.
즉, 갱신제어부(130)는, 악의적단말(도 3의 10)에 의한 공격으로 탐지된 세션키 갱신 요청에 따라 생성해 둔 신규 세션키(key2)를 폐기하고 기존 세션키(key1)을 유지함으로써, 정당하지 않은 Join 절차를 재 수행하게 되는 악의적 공격을 차단하는 것이다.
이렇게 되면, 네트워크장치(100)에서는 악의적단말(도 3의 10)에 의한 공격 즉 정당하지 않은 Join 절차 재 수행을 차단함으로써, 단말1 및 네트워크장치(100) 간에는 계속해서 동일한 기존 세션키(key1)를 공유할 수 있게 되고, 동일한 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.
한편, 갱신제어부(130)는, 세션키확인부(120)의 확인 결과 신규 세션키(key2)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 단말1로부터 송신된 정상 요청 즉 정상적인 Join Request 메시지인 것으로 판단한다.
이 경우, 갱신제어부(130)는, 금번 세션키 갱신 요청을 정상 요청으로 판단함에 따라, 단말1과의 세션키를 앞서 생성해 둔 신규 세션키(key2)로 갱신함으로써, 세션키 갱신 직전까지만 수행한 Join 절차 재 수행을 완료하는 것이다.
이에, 단말1 및 네트워크장치(100)는, 전술한 Join 절차 재 수행을 통해 갱신한 새로운 세션키(key2)를 공유할 수 있게 되고, 동일한 세션키(key2)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.
이상에서 설명한 바와 같이, 본 발명의 네트워크장치는, IoT 단말로부터 실시간으로 송신된 세션키 갱신 요청(Join Request 메시지)이라면 세션키 갱신 응답(Join Response 메시지) 회신 시 단말에 성공적으로 수신되어 세션키 갱신이 이루어질 것이라는 점에 기인하여, 이후 IoT 단말의 최초 데이터(업링크패킷)을 보고 금번 Join Request 메시지가 IoT 단말에 의해 실시간으로 송신된 것인지 악의적단말에 의해 캡쳐/보관 후 송신된 것인지를 구분하는 방식으로, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단하는 악의적 공격 탐지 및 차단 방안을 실현하고 있다.
이에, 본 발명에 의하면, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단하는 악의적 공격 탐지 및 차단 방안을 제안(실현)하여, IoT 단말 및 네트워크장치 간의 세션키가 동일하게 공유되도록 함으로써, 사물인터넷(IoT) 서비스의 안정성을 향상시키는 효과를 도출한다.
특히, 본 발명은, 사물인터넷(IoT) 기술 중에서도 광역 커버리지를 대상으로 하여 저속 전송(<1kbps) 및 저 전력을 지원하는 소량 데이터 전송에 특화된 IoT 기술(LoRa: Long Range)을 채용한 IoT 네트워크 즉 LoRa 네트워크에 적용할 경우, 더욱 그 효과가 극대화될 것이다.
이하에서는, 도 3 및 도 4를 참조하여, 본 발명의 바람직한 실시예에 따른 악의적 공격 탐지 및 차단 방안을 설명하겠다.
먼저, 도 3을 참조하여, 사물인터넷(IoT) 네트워크 구조에서 악의적 공격을 탐지 및 차단하는 상황을 설명하겠다.
설명의 편의를 위해, IoT 단말로서 단말1을 언급하고, 본 발명의 네트워크장치의 참조번호를 도 1에 도시된 바와 동일하게 언급하여 설명하겠다.
IoT 단말로서의 단말1이 네트워크장치에 최초 등록될 때, 단말1은 단말난수값을 생성하고 이를 포함시킨 Join Request 메시지를 네트워크장치(100)로 전송하여 세션키 생성을 요청한다(S10).
Join Request 메시지를 수신한 네트워크장치(100)는, 난수값을 생성하고 이를 포함시킨 Join Response 메시지를 단말1로 회신한다(S20).
이에, 단말1은 자신이 생성한 단말난수값 및 Join Response 메시지에서 확인한 네트워크장치(100)의 난수값을 이용하여 네트워크장치(100)과의 세션키(key1)를 생성하고(S30), 네트워크장치(100)는 Join Request 메시지에서 확인한 단말난수값 및 자신이 생성한 난수값을 이용하여 단말1과의 세션키(key1)를 생성하는(S35), Join 절차를 수행하게 된다.
이에, 단말1 및 네트워크장치(100) 간에는 동일한 세션키(key1)를 공유할 수 있게 되고, 동일한 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.
이후, 보안 요구사항에 의해 세션키 갱신이 필요할 때 역시, 전술한 Join 절차 수행(S10~S35)와 동일하게 Join 절차가 재 수행된다.
이때, 전술과 같은 Join 절차 (재) 수행 시, IoT 단말 및 네트워크장치 간에 송수신되는 메시지(패킷)은, IoT 단말 및 네트워크장치 간에 사전에 심어진 보안키(AppKey)를 기반으로 인증되기 때문에, 메시지(패킷)을 악의적인 의도로 위/변조하는 공격으로부터는 안전하다고 볼 수 있다.
헌데, 단말1 및 기지국(1,2...) 사이의 무선구간에서 악의적단말(10)이 업링크패킷(Join Request 메시지)을 캡쳐하여 보관할 수 있다(S1).
그리고, 악의적단말(10)이 캡쳐 및 보관한 Join Request 메시지(패킷)를 발송할 수 있다(S2).
또는, 단말1이, 세션키 갱신 필요에 따라, 실시간으로 Join Request 메시지(패킷)를 송신할 수도 있다(S40).
네트워크장치(100)는, 단말1과 관련된 Join Request 메시지가 수신되면, 단말1에 대한 세션키 갱신이 요청되는 것으로 인지할 수 있다.
이때, 네트워크장치(100)에 수신된 Join Request 메시지는, 실시간으로 단말1이 송신한 Join Request 메시지(패킷)일 수도 있고, 앞서 언급한 바와 같이 단말1이 송신한 바 있는 Join Request 메시지(패킷)를 악의적단말(10)이 캡쳐한 후 발송한 캡쳐 메시지(패킷)일 수도 있다.
네트워크장치(100)는, 이와 같이 단말1과 관련된 Join Request 메시지가 수신되어 단말1에 대한 세션키 갱신이 요청되면, Join Request 메시지가 실시간으로 단말1이 송신한 것인지 악의적단말(10)이 발송한 것인지 알 수 없지만, 우선은 단말1과의 신규 세션키 생성 절차를 수행한다.
즉, 네트워크장치(100)는, 신규 난수값을 생성하여 신규 난수값이 포함되는 세션키 갱신 응답(Join Response 메시지)을 회신하고(S55), 금번 세션키 갱신 요청 시 수신된 신규 단말난수값 즉 Join Request 메시지에서 확인한 단말1의 신규 단말난수값과 금번 자신이 생성한 신규 난수값을 이용하여 단말1에 대한 신규 세션키(key2)를 생성하는, 신규 세션키 생성 절차를 수행하는 것이다(S50).
다만, 네트워크장치(100)는, Join Request 메시지가 실시간으로 단말1이 송신한 것인지 악의적단말(10)이 발송한 것인지 알 수 없기 때문에, 단말1에 대한 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키(key1)로 유지하여, Join 절차를 세션키 갱신 직전까지만 수행한다.
이때, S55단계에서 회신하는 세션키 갱신 응답(Join Response 메시지)은, 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 송신된 경우에만, 단말1의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간 내에 단말1로 수신될 수 있다.
즉, 금번 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 실시간으로 송신된 경우라면, 전술과 같이 네트워크장치(100)에서 금번 세션키 갱신 요청에 따른 신규 세션키 생성 절차를 수행하는 과정 중 S55단계에서 회신한 세션키 갱신 응답(Join Response 메시지)은, 단말1의 Join Request 메시지 송신시점을 기준으로 하는 다운링크 수신 시간구간 즉 TX1 또는 TX2 내에 성공적으로 단말1로 수신될 것이다.
그리고, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하게 된다면, 단말1은, 세션키 갱신 요청 즉 Join Request 메시지 송신 시 생성한 신규 단말난수값 및 회신된 Join Response 메시지에서 확인한 네트워크장치(100)의 신규 난수값을 이용하여 네트워크장치(100)과의 세션키를 생성(key2) 및 갱신함으로써(S60), 정당한 Join 절차를 재 수행하게 된다.
그리고, 정당한 Join 절차 재 수행을 통해 네트워크장치(100)과의 세션키를 기존 세션키(key1)에서 신규 세션키(key2)로 갱신한 단말1은, 이후 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 갱신한 세션키(key2)를 반영(이용)할 것이다.
반면, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하지 못한다면, 네트워크장치(100)과의 세션키를 생성 및 갱신하는 Join 절차 재 수행 자체가 발생하지 않을 것이고, 이 경우 단말1은, 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 계속해서 기존의 세션키(key1)를 반영(이용)할 것이다.
네트워크장치(100)는, 단말1에 대한 신규 세션키 생성 절차를 수행한 후, 최초 수신되는 단말1의 데이터(업링크패킷)가 신규 세션키(key2)와 기존 세션키(key1) 중 어떤 세션키를 이용하는지 확인한다(S80).
네트워크장치(100)는, S80단계의 확인 결과 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단한다.
즉, 네트워크장치(100)는, 단말1에 대한 신규 세션키 생성 절차를 수행한 이후, 최초 수신되는 단말1의 데이터(업링크패킷)가 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단하여, 금번 수신된 Join Request 메시지를 단말1이 과거 송신한 Join Request 메시지를 악의적단말(10)이 캡쳐 및 발송한 메시지(패킷)인 것으로 간주함으로써, 악의적 공격을 탐지하는 것이다(S90).
이 경우, 네트워크장치(100)는, 금번 세션키 갱신 요청을 비정상 요청으로 판단함에 따라, 앞서 갱신을 보류한 신규 세션키(key2)를 폐기한다.
즉, 네트워크장치(100)는, 악의적단말(10)에 의한 공격으로 탐지된 세션키 갱신 요청에 따라 생성해 둔 신규 세션키(key2)를 폐기하고 기존 세션키(key1)을 유지함으로써, 정당하지 않은 Join 절차를 재 수행하게 되는 악의적 공격을 차단하는 것이다.
이렇게 되면, 네트워크장치(100)에서는 악의적단말(10)에 의한 공격 즉 정당하지 않은 Join 절차 재 수행을 차단함으로써, 단말1 및 네트워크장치(100) 간에는 계속해서 동일한 기존 세션키(key1)를 공유할 수 있게 되고, 동일한 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.
한편, 네트워크장치(100)는, S80단계의 확인 결과 신규 세션키(key2)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 단말1로부터 송신된 정상 요청 즉 정상적인 Join Request 메시지인 것으로 판단한다.
이 경우, 네트워크장치(100)는, 금번 세션키 갱신 요청을 정상 요청으로 판단함에 따라, 단말1과의 세션키를 앞서 생성해 둔 신규 세션키(key2)로 갱신함으로써, 세션키 갱신 직전까지만 수행한 Join 절차 재 수행을 완료하는 것이다(S100).
이에, 단말1 및 네트워크장치(100)는, 전술한 Join 절차 재 수행을 통해 갱신한 새로운 세션키(key2)를 공유할 수 있게 되고, 동일한 세션키(key2)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.
이하에서는, 도 4를 참조하여, 악의적 공격 탐지 및 차단 방안을 실현하는, 본 발명의 바람직한 실시예에 따른 네트워크장치의 동작 방법을 구체적으로 설명하겠다.
설명의 편의를 위해, 본 발명의 네트워크장치의 참조번호를 도 1에 도시된 바와 동일하게 언급하여 설명하겠다. 그리고, 설명의 편의를 위해, 네트워크장치(100)의 관리 하에서 사물인터넷(IoT) 서비스를 수행하는 다수의 IoT 단말(예: 단말1,2,...) 중, 단말1을 언급하여 설명하겠다.
본 발명에 따른 네트워크장치(100)의 동작 방법은, 단말1에 대한 세션키 갱신이 요청되면(S200), 단말1과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지한다(S210).
이때, 세션키 갱신 요청은, 사물인터넷(Internet of Things, IoT) 네트워크에서, IoT 단말이 매 송신 시 마다 신규 단말난수값을 생성 및 포함시키는 Join Request 메시지를 의미한다.
즉, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 단말1과 관련된 Join Request 메시지가 수신되면, 단말1에 대한 세션키 갱신이 요청되는 것으로 인지할 수 있다.
이하에서는, 즉, 단말1 및 네트워크장치(100)는, 앞서 Join 절차 수행을 통해 생성한 세션키(key1)를 공유하고, 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행하는 상황을 가정하겠다.
즉, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 단말1과 관련된 Join Request 메시지가 수신되어 단말1에 대한 세션키 갱신이 요청되면, 단말1과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키(key1)로 유지한다.
달리 말하면, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 단말1과 관련된 Join Request 메시지가 수신되어 단말1에 대한 세션키 갱신이 요청되면, Join Request 메시지가 실시간으로 단말1이 송신한 것인지 악의적단말(도 3의 10)이 발송한 것인지 알 수 없지만, 우선은 단말1과의 신규 세션키 생성 절차를 수행하되 세션키 갱신을 보류하고 기존 세션키로 유지하여, Join 절차를 세션키 갱신 직전까지만 수행하는 것이다.
여기서, 신규 세션키 생성 절차는, 다음과 같다.
본 발명에 따른 네트워크장치(100)의 동작 방법은, 신규 난수값을 생성하여 신규 난수값이 포함되는 세션키 갱신 응답(Join Response 메시지)을 회신하고, 금번 세션키 갱신 요청 시 수신된 신규 단말난수값 즉 Join Request 메시지에서 확인한 단말1의 신규 단말난수값과 금번 자신이 생성한 신규 난수값을 이용하여 단말1에 대한 신규 세션키(key2)를 생성하는, 신규 세션키 생성 절차를 수행한다.
이때, 세션키 갱신 응답(Join Response 메시지)은, 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 송신된 경우에만, 단말1의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간 내에 단말1로 수신될 수 있다.
이에, 금번 세션키 갱신 요청 즉 Join Request 메시지가 단말1로부터 실시간으로 송신된 경우라면, 전술과 같이 네트워크장치(100)에서 금번 세션키 갱신 요청에 따른 신규 세션키 생성 절차를 수행하는 과정에서 회신한 세션키 갱신 응답(Join Response 메시지)은, 단말1의 Join Request 메시지 송신시점을 기준으로 하는 다운링크 수신 시간구간 즉 TX1 또는 TX2 내에 성공적으로 단말1로 수신될 것이다.
그리고, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하게 된다면, 단말1은, 세션키 갱신 요청 즉 Join Request 메시지 송신 시 생성한 신규 단말난수값 및 회신된 Join Response 메시지에서 확인한 네트워크장치(100)의 신규 난수값을 이용하여 네트워크장치(100)과의 세션키를 생성(key2) 및 갱신함으로써, 정당한 Join 절차를 재 수행하게 된다.
그리고, 정당한 Join 절차 재 수행을 통해 네트워크장치(100)과의 세션키를 기존 세션키(key1)에서 신규 세션키(key2)로 갱신한 단말1은, 이후 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 갱신한 세션키(key2)를 반영(이용)할 것이다.
반면, 단말1이 네트워크장치(100)가 회신한 금번 세션키 갱신 응답(Join Response 메시지)를 수신하지 못한다면, 네트워크장치(100)과의 세션키를 생성 및 갱신하는 Join 절차 재 수행 자체가 발생하지 않을 것이고, 이 경우 단말1은, 사물인터넷(IoT) 서비스를 수행하여 네트워크장치(100)로 전송하는 데이터(업링크패킷)에는 계속해서 기존의 세션키(key1)를 반영(이용)할 것이다.
본 발명에 따른 네트워크장치(100)의 동작 방법은, 앞서 S210단계에서 단말1에 대한 신규 세션키 생성 절차를 수행한 이후, 최초 수신되는 단말1의 데이터(업링크패킷)가 신규 세션키(key2)와 기존 세션키(key1) 중 어떤 세션키를 이용하는지 확인한다(S230).
최초 수신되는 단말1의 데이터(업링크패킷)가 신규 세션키(key2)와 기존 세션키(key1) 중 어떤 세션키를 이용하는지 확인하는 이유는, 앞서 설명한 바 있듯이, 금번 세션키 갱신 요청(Join Request 메시지)이 단말1로부터 실시간으로 송신된 것일 때에만, 네트워크장치(100)가 금번 신규 세션키 생성 절차를 수행하는 과정에서 회신한 세션키 갱신 응답(Join Response 메시지)이 단말1의 다운링크 수신 시간구간 즉 TX1 또는 TX2 내에 성공적으로 단말1로 수신될 수 있음에 기인한다.
보다 구체적으로, 그 이유는, 최초 수신되는 단말1의 데이터(업링크패킷)은, 단말1이 세션키 갱신 응답(Join Response 메시지)을 수신하여 이로부터 네트워크장치(100)의 신규 난수값을 획득하고, 네트워크장치(100)의 신규 난수값 및 자신이 생성한 신규 단말난수값 기반으로 네트워크장치(100)와의 세션키를 신규 세션키(key2)로 갱신한 경우에만, 신규 세션키(key2)를 이용하여 송신될 수 있음에 기인한다.
본 발명에 따른 네트워크장치(100)의 동작 방법은, S230단계의 확인 결과 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단한다.
즉, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 단말1에 대한 신규 세션키 생성 절차를 수행한 이후, 최초 수신되는 단말1의 데이터(업링크패킷)가 기존 세션키(key1)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 비정상 요청으로 판단하여, 금번 수신된 Join Request 메시지를 단말1이 과거 송신한 Join Request 메시지를 악의적단말(도 3의 10)이 캡쳐 및 발송한 메시지(패킷)인 것으로 간주함으로써, 악의적 공격을 탐지하는 것이다.
이 경우, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 금번 세션키 갱신 요청을 비정상 요청으로 판단함에 따라, 앞서 갱신을 보류한 신규 세션키(key2)를 폐기한다(S240).
즉, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 악의적단말(도 3의 10)에 의한 공격으로 탐지된 세션키 갱신 요청에 따라 생성해 둔 신규 세션키(key2)를 폐기하고 기존 세션키(key1)을 유지함으로써, 정당하지 않은 Join 절차를 재 수행하게 되는 악의적 공격을 차단하는 것이다.
이렇게 되면, 네트워크장치(100)에서는 악의적단말(도 3의 10)에 의한 공격 즉 정당하지 않은 Join 절차 재 수행을 차단함으로써, 단말1 및 네트워크장치(100) 간에는 계속해서 동일한 기존 세션키(key1)를 공유할 수 있게 되고, 동일한 세션키(key1)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.
한편, 본 발명에 따른 네트워크장치(100)의 동작 방법은, S230단계의 확인 결과 신규 세션키(key2)를 이용하는 것으로 확인되면, 금번 세션키 갱신 요청을 단말1로부터 송신된 정상 요청 즉 정상적인 Join Request 메시지인 것으로 판단한다.
이 경우, 본 발명에 따른 네트워크장치(100)의 동작 방법은, 금번 세션키 갱신 요청을 정상 요청으로 판단함에 따라, 단말1과의 세션키를 앞서 생성해 둔 신규 세션키(key2)로 갱신함으로써, 세션키 갱신 직전까지만 수행한 Join 절차 재 수행을 완료하는 것이다(S250).
이에, 단말1 및 네트워크장치(100)는, 전술한 Join 절차 재 수행을 통해 갱신한 새로운 세션키(key2)를 공유할 수 있게 되고, 동일한 세션키(key2)를 기반으로 단말1은 정상적으로 사물인터넷(IoT) 서비스를 수행할 수 있다.
이상에서 설명한 바와 같이 본 발명에 따른 네트워크장치의 동작 방법에 의하면, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을 탐지 및 차단하는 악의적 공격 탐지 및 차단 방안을 제안(실현)하여, 사물인터넷(IoT) 서비스의 안정성을 향상시키는 효과를 도출한다.
본 발명의 일 실시예에 따른 네트워크장치의 동작 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
본 발명의 네트워크장치 및 네트워크장치의 동작 방법에 따르면, IoT 단말 및 네트워크장치 간의 세션키 불일치를 야기시키는 악의적 공격을, 탐지 및 차단한다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
100 : 네트워크장치
110 : 세션키생성부 120 : 세션키확인부
130 : 갱신제어부
110 : 세션키생성부 120 : 세션키확인부
130 : 갱신제어부
Claims (7)
- 단말에 대한 세션키 갱신이 요청되면 상기 단말과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지하는 세션키생성부;
상기 신규 세션키와 상기 기존 세션키 중에서, 상기 신규 세션키 생성 이후 최초 수신되는 상기 단말의 특정 업링크패킷이 이용하는 세션키를 확인하는 세션키확인부; 및
상기 특정 업링크패킷이 이용하는 세션키를 기반으로 상기 세션키 갱신 요청이 비정상 요청인지의 여부를 확인한 결과에 따라 상기 신규 세션키를 폐기 또는 갱신하는 갱신제어부를 포함하며,
상기 특정 업링크패킷이 이용하는 세션키가 상기 기존 세션키인 경우, 상기 세션키 갱신 요청을 비정상 요청으로 판단하여 상기 신규 세션키를 폐기하고, 상기 기존 세션키를 이용하여 상기 특정 업링크패킷을 처리하며,
상기 특정 업링크패킷이 이용하는 세션키가 상기 신규 세션키인 경우, 상기 세션키 갱신 요청을 정상 요청으로 판단하여 상기 단말과의 세션키를 상기 신규 세션키로 갱신하고, 상기 신규 세션키를 이용하여 상기 특정 업링크패킷을 처리하는 것을 특징으로 하는 네트워크장치. - 삭제
- 제 1 항에 있어서,
상기 신규 세션키 생성 절차는,
신규 난수값을 생성하여 상기 신규 난수값이 포함되는 세션키 갱신 응답을 회신하고,
상기 세션키 갱신 요청 시 수신된 신규 단말난수값 및 상기 신규 난수값을 이용하여 상기 단말에 대한 신규 세션키를 생성하는 것을 특징으로 하는 네트워크장치. - 제 3 항에 있어서,
상기 세션키 갱신 응답은,
상기 세션키 갱신 요청이 상기 단말로부터 송신된 경우에만, 상기 단말의 업링크 송신 시점을 기준으로 제한되는 다운링크 수신 시간구간 내에 상기 단말로 수신되는 것을 특징으로 하는 네트워크장치. - 제 3 항에 있어서,
상기 단말의 특정 업링크패킷은,
상기 단말이 상기 세션키 갱신 응답을 수신하여 상기 신규 난수값을 획득하고, 상기 신규 난수값 및 상기 신규 단말난수값 기반으로 상기 네트워크장치와의 세션키를 상기 신규 세션키로 갱신한 경우에만, 상기 신규 세션키를 이용하여 송신되는 것을 특징으로 하는 네트워크장치. - 단말에 대한 세션키 갱신이 요청되면 상기 단말과의 신규 세션키 생성 절차를 수행하되, 세션키 갱신을 보류하고 기존 세션키로 유지하는 세션키생성단계;
상기 신규 세션키와 상기 기존 세션키 중에서, 상기 신규 세션키 생성 이후 최초 수신되는 상기 단말의 특정 업링크패킷이 이용하는 세션키를 확인하는 세션키확인단계;
상기 특정 업링크패킷이 이용하는 세션키를 기반으로 상기 세션키 갱신 요청이 비정상 요청인지의 여부를 확인한 결과에 따라 상기 신규 세션키를 폐기 또는 갱신하는 결정단계를 포함하며,
상기 특정 업링크패킷이 이용하는 세션키가 상기 기존 세션키인 경우, 상기 세션키 갱신 요청을 비정상 요청으로 판단하여 상기 신규 세션키를 폐기하고, 상기 기존 세션키를 이용하여 상기 특정 업링크패킷을 처리하며,
상기 특정 업링크패킷이 이용하는 세션키가 상기 신규 세션키인 경우, 상기 세션키 갱신 요청을 정상 요청으로 판단하여 상기 단말과의 세션키를 상기 신규 세션키로 갱신하고, 상기 신규 세션키를 이용하여 상기 특정 업링크패킷을 처리하는 것을 특징으로 하는 네트워크장치의 동작 방법. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160126822A KR101808537B1 (ko) | 2016-09-30 | 2016-09-30 | 네트워크장치 및 네트워크장치의 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160126822A KR101808537B1 (ko) | 2016-09-30 | 2016-09-30 | 네트워크장치 및 네트워크장치의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101808537B1 true KR101808537B1 (ko) | 2017-12-13 |
Family
ID=60944307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160126822A KR101808537B1 (ko) | 2016-09-30 | 2016-09-30 | 네트워크장치 및 네트워크장치의 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101808537B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009278397A (ja) * | 2008-05-15 | 2009-11-26 | Mitsubishi Electric Corp | 通信装置及び路側機及び車載器及び通信方法及び通信プログラム |
JP2014197761A (ja) | 2013-03-29 | 2014-10-16 | トヨタ自動車株式会社 | 認証システム及び認証方法 |
-
2016
- 2016-09-30 KR KR1020160126822A patent/KR101808537B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009278397A (ja) * | 2008-05-15 | 2009-11-26 | Mitsubishi Electric Corp | 通信装置及び路側機及び車載器及び通信方法及び通信プログラム |
JP2014197761A (ja) | 2013-03-29 | 2014-10-16 | トヨタ自動車株式会社 | 認証システム及び認証方法 |
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 (ko) | 이동통신시스템에서의 인증키 생성 방법 및 갱신 방법 | |
JP2011515984A (ja) | ハンドオーバの間における不正操作されまたは欠陥のある基地局の識別 | |
US11689922B2 (en) | Re-establishing a radio resource control connection | |
CN102318386A (zh) | 向网络的基于服务的认证 | |
KR101655264B1 (ko) | 통신시스템에서 인증 방법 및 시스템 | |
CN110392998B (zh) | 一种数据包校验方法及设备 | |
Pratas et al. | Massive machine-type communication (mMTC) access with integrated authentication | |
KR101808515B1 (ko) | 네트워크장치 및 네트워크장치의 동작 방법 | |
KR101042839B1 (ko) | 무선 이동 통신 시스템에서 인증 시스템 및 방법 | |
KR101337177B1 (ko) | 네트워크 프로세스들을 용이하게 하는 방법 및 장치 | |
CN106912049B (zh) | 改善用户认证体验的方法 | |
CN113302895B (zh) | 用于认证无线通信设备群组的方法和装置 | |
KR101808537B1 (ko) | 네트워크장치 및 네트워크장치의 동작 방법 | |
KR102080677B1 (ko) | 네트워크장치 및 네트워크장치의 동작 방법 | |
WO2019141135A1 (zh) | 支持无线网络切换的可信服务管理方法以及装置 | |
KR101999142B1 (ko) | 단말장치 및 중앙서버, 그리고 그 동작 방법 | |
CN101790164B (zh) | 一种认证方法及通信***以及相关设备 | |
CN101325804B (zh) | 获取密钥的方法、设备及*** | |
WO2022148406A1 (zh) | 一种重放攻击处理方法、统一数据管理实体及存储介质 | |
KR101395835B1 (ko) | 단말장치 및 인증관리장치와, 그 장치의 동작 방법 | |
KR20090116401A (ko) | 이동 단말 인증 방법과, 그 방법을 수행하는 이동 단말 및코어망 장치 | |
CN110061833B (zh) | 一种身份位置的绑定更新方法及装置 | |
KR101953636B1 (ko) | 기지국장치 및 단말장치와, 그 장치에 의해 수행되는 패킷 송수신 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |