KR100892086B1 - 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법 - Google Patents
유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법 Download PDFInfo
- Publication number
- KR100892086B1 KR100892086B1 KR1020070068813A KR20070068813A KR100892086B1 KR 100892086 B1 KR100892086 B1 KR 100892086B1 KR 1020070068813 A KR1020070068813 A KR 1020070068813A KR 20070068813 A KR20070068813 A KR 20070068813A KR 100892086 B1 KR100892086 B1 KR 100892086B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- response
- delay
- sensor
- packet
- 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/009—Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
발명은 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법에 관한 것이다.
본 발명은 복수의 센서노드 및 관리자노드가 포함된 유비쿼터스 센서 네트워크에서, 상기 관리자노드가 센서노드의 일종인 침입자노드를 이용한 시빌공격(Sybil Attack)을 탐지하는 방법에 있어서, (a) 상기 관리자노드가 연산지시 패킷을 브로드캐스트(broadcast)하고, 응답지연 타이머를 가동하는 단계; (b) 상기 관리자노드가 응답 타임아웃 내에 복수의 응답패킷을 수신하고, 수신되는 응답패킷마다 노드ID 정보 추출 및 응답패킷 수신 시간을 추출하여 응답지연을 계산하는 단계; (c) 상기 관리자노드가 상기 계산된 응답지연 정보들로부터 응답지연 테이블을 생성하는 단계; (d) 상기 관리자노드가 가장 늦게 수신된 응답패킷에 대한 응답지연을 RTT1로 할당하고, 다음으로 늦게 수신된 응답패킷에 대한 응답지연을 RTT2로 할당하고, 연산지연(τ)을 계산하는 단계; (e) 상기 관리자노드가 (RTT2 - τ), (RTT2 - 2τ), (RTT2 - 3τ), ... 값과 일치하는 응답지연을 응답지연테이블에서 추출하고, 상기 일치하는 응답지연에 해당하는 노드ID 정보를 추출하는 단계; (f) 상기 관리자노드가 상기 (e)단계에서 상기 노드ID정보를 더 이상 추출할 수 없다면, 추출된 노드ID를 노드 ID 리스트에 포함시키는 단계; 및 (g) 상기 노드 ID 리스트에 포함된 상기 추출된 노드ID 개수가 2 보다 크다면, 시빌공격에 이용된 침입자노드의 노드ID로써 ID List를 출력하는 단계를 포함하는 것을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법에 관한 것이다.
본 발명에 의하면, 유비쿼터스 센서 네트워크의 보안 취약점을 이용한 침입자노드에 의한 시빌공격을 탐지하는 간단한 소프트웨어적인 방법을 제시하여 유비쿼터스 센서 네트워크의 보안성을 강화시켜주는 효과가 있으며, 관리자노드가 시빌공격탐지를 위한 복잡한 하드웨어를 구비하지 않아도 되는 효과가 있다.
보안, 유비쿼터스 센서 네트워크, 시빌공격, 침입자노드
Description
본 발명은 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법에 관한 것이다. 더욱 상세하게는, 유비쿼터스 센서 네트워크 및 유비쿼터스 센서 네트워크 상의 센서노드들의 보안 취약점을 이용한 침입자노드에 의한 시빌공격을 탐지하기 위해서, 하나의 물리적인 하드웨어를 가지고 복수의 노드ID를 가져서 마치 복수의 다른 센서노드처럼 동작하는 침입자노드의 특성을 이용하여, 관리자노드가 침입자노드의 노드ID들을 탐지해내는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법에 관한 것이다.
요즈음, 특정 지점을 탐지하여 정보를 수집하며 가공하는 기능을 하는 센서(Sensor)기술의 발전과 무선 네트워크(Wireless Networks) 발전에 의해서 무선 센서 네트워크 (Wireless Sensor Network) 관련 기술들이 많이 나왔다.
또한, 1988년 마크 와이저(Mark Weiser)에 의하여 신개념의 IT패러다임인 유비쿼터스 컴퓨팅(Ubiquitous Computing)이 제안되어졌으며, 전술한 무선 센서 네트워크와 유비쿼터스 컴퓨팅이 접목되어 유비쿼터스 센서 네트워크(Ubiquitous Sensor Network: USN, 이하 "USN"이라 칭힘) 기술이 나타나게 되었다. 이러한 USN은 필요한 모든 사물에 전자식별태그를 부착하고 이를 통하여 사물의 인식정보를 기본으로 주변의 환경정보(온도, 습도, 압력, 오염, 균열 등)까지를 탐지하여 실시간으로 네트워크에 연결함으로써 수집된 관련 정보가 원격의 서버에 의해 관리될 수 있도록 하는 것을 말한다.
그리고, USN은 IEEE 802.15.4 표준 및 ZigBee 표준에 의거하여 제작된 센서노드들의 집합체로써, 근접한 지역에 조밀하게 배치된 복수의 센서(센서노드)들이 스스로 네트워크를 구성하는 능력을 갖춰 인간이 직접 탐지하기 어려운 악조건 속에서도 부여받은 자율적인 동작 매커니즘을 이용하여 주어진 과제를 수행할 수 있는 네트워크를 의미하며, 센서노드간의 협동, 자율적 구성능력, 및 센서노드의 데이터 실시간 처리가 가능한 네트워크이다.
하지만, 이러한 USN 및 USN상의 센서노드(Sensor Node)는 무선인터페이스 및 제한된 자원을 가진다는 특징으로 인해 보안상의 취약점을 태생적으로 지니고 있다.
이러한 USN의 보안상의 취약점을 이용한 많은 공격(Attack)기술들이 있을 수 있으며, 특히 하나의 물리적인 센서노드를 USN상에 삽입하고, 삽입된 센서노드인 침입자노드가 여러개의 노드ID를 사용하여 마치 여러 센서노드가 있는 것처럼 가장하여 동작함으로써 보안상 문제를 일으키는 시빌공격(Sybil Attack)이 있다.
이러한 시빌공격은 침입자노드가 여러개의 노드ID를 사용하여 마치 여러 센서노드가 있는 것처럼 가장하여 동작함으로써, USN전체 정보의 질(Quality)을 현저 히 저하시키고, 그로 인해 심각한 보안상 장해를 발생시키는 문제점을 발생시킨다.
이러한 문제점을 해결하기 위해 본 발명은, 유비쿼터스 센서 네트워크의 보안 취약점을 이용한 침입자노드에 의한 시빌공격을 탐지하는 방법을 제시하여 유비쿼터스 센서 네트워크의 보안성을 강화하는데 그 목적이 있다.
또한, 본 발명에서 제안된 시빌공격 탐지 방법은 간단한 소프트웨어적 절차로 수행되므로, 유비쿼터스 센서 네트워크의 보안을 관리하는 관리자노드가 시빌공격탐지를 위한 복잡한 하드웨어를 구비하지 않게 하는데 그 목적이 있다.
이러한 본 발명의 목적을 달성하기 위하여 본 발명은, 마치 복수의 다른 센서노드처럼 동작하는 침입자노드의 특성을 역 이용하여 응답지연 시간을 측정함으로써 침입자노드를 탐지할 수 있는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법이다.
이상에서 설명한 바와 같이 본 발명에 의하면, 유비쿼터스 센서 네트워크의 보안 취약점을 이용한 침입자노드에 의한 시빌공격을 탐지하는 방법을 제시하여 유비쿼터스 센서 네트워크의 보안성을 강화시켜주는 효과가 있다.
본 발명에 의하면, 본 발명에서 제안된 시빌공격 탐지 방법은 간단한 소프트웨어적 절차로 수행되므로, 유비쿼터스 센서 네트워크의 보안을 관리하는 관리자노드가 시빌공격탐지를 위한 복잡한 하드웨어를 구비하지 않아도 되는 효과가 있다.
이러한 목적을 달성하기 위한 본 발명의 한 측면에 따르면, 복수의 센서노드 및 관리자노드가 포함된 유비쿼터스 센서 네트워크에서, 상기 관리자노드가 센서노 드의 일종인 침입자노드를 이용한 시빌공격(Sybil Attack)을 탐지하는 방법에 있어서, (a) 상기 관리자노드가 연산지시 패킷을 브로드캐스트(broadcast)하고, 응답지연 타이머를 가동하는 단계; (b) 상기 관리자노드가 응답 타임아웃 내에 복수의 응답패킷을 수신하고, 수신되는 응답패킷마다 노드ID 정보 추출 및 응답패킷 수신 시간을 추출하여 응답지연을 계산하는 단계; (c) 상기 관리자노드가 상기 계산된 응답지연 정보들로부터 응답지연 테이블을 생성하는 단계; (d) 상기 관리자노드가 가장 늦게 수신된 응답패킷에 대한 응답지연을 RTT1로 할당하고, 다음으로 늦게 수신된 응답패킷에 대한 응답지연을 RTT2로 할당하고, 연산지연(τ)을 계산하는 단계; (e) 상기 관리자노드가 (RTT2 - τ), (RTT2 - 2τ), (RTT2 - 3τ), ... 값과 일치하는 응답지연을 응답지연테이블에서 추출하고, 상기 일치하는 응답지연에 해당하는 노드ID 정보를 추출하는 단계; (f) 상기 관리자노드가 상기 (e)단계에서 상기 노드ID정보를 더 이상 추출할 수 없다면, 추출된 노드ID를 노드 ID 리스트에 포함시키는 단계; 및 (g) 상기 노드 ID 리스트에 포함된 상기 추출된 노드ID 개수가 2 보다 크다면, 시빌공격에 이용된 침입자노드의 노드ID로써 ID List를 출력하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 당업자에게 자명하거나 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 유비쿼터스 센서 네트워크(USN)의 구조적 형태와 침입자노드의 유형에 따른 시빌공격을 예시한 도면이다.
도 1의 설명에 앞서, 본 발명에서 사용되는 주요 개념들을 아래같이 설명한다.
먼저, 유비쿼터스 센서 네트워크(Ubiquitous Sensor Networks: USN, 이하 "USN"이라 칭함)는 IEEE 802.15.4 표준 및 ZigBee 표준에 의거하여 제작된 센서노드들의 집합체로써, 근접한 지역에 조밀하게 배치된 복수의 센서노드들이 스스로 네트워크를 구성하는 능력을 갖춰 악조건 속에서도 부여받은 자율적인 동작 매커니즘을 이용하여 주어진 과제를 수행할 수 있는 네트워크를 의미하며, 센서노드간의 협동, 자율적 구성능력, 및 센서노드의 데이터 실시간 처리를 포함하는 특징이 있는 네트워크를 의미한다.
USN 상의 센서노드(Sensor Node)는 USN의 구성요소로서의 소형 네트워크 장치이며, 입출력장치, 무선인터페이스, 및 제한된 자원을 가지는 특징이 있으며, 이러한 특징으로 인해 보안의 취약점을 지니고 있다.
이러한, 센서노드는 USN에서의 보안기능을 수행하는 역할에 따라 관리자노드, 다른 센서노드의 데이터를 중계할 수 있는 기능을 갖춘 FFD(Full Function Device, 이하 "FFD"라 칭함)노드, 및 데이터를 수집하기 위한 제한된 기능만을 가지는 RFD(Reduced Function Device, 이하 "RFD"라 칭함)노드로 나눌 수 있다.
전술한 관리자노드(Prosecution Node)는 USN에서의 네트워크 관리 기 능(Network Management Function)을 수행하는 대표노드로서, 시빌공격 탐지를 수행하기 위해서 특별히 선택된 고급기능의 센서노드나 네트워크 장치, 또는 컴퓨터 시스템이다.
전술한 시빌공격(Sybil Attack)은 악의를 가진 공격자가 USN에 공격용 센서노드를 물리적으로 삽입하여 한 개의 센서노드를 가지고 여러 개의 ID를 등록하고 다수의 센서노드에서 정보가 발생하는 것처럼 관리자노드를 속임으로써 정보의 질(Quality)를 전체적으로 떨어뜨리는 것으로 정의하고, 이러한 공격용 센서노드를 침입자노드라고도 한다.
전술한 침입자노드(Attacker Node)는 관리자노드로부터 연산지시 패킷을 수신하는 센서노드의 일종으로써, 시빌공격을 위한 공격용 센서노드이며, USN의 본래 임무를 위해 하여 비정상적인 동작을 하도록 되어있는 센서노드이다. 이러한 침입자노드는 복수의 노드ID를 가지고 있어서 복수의 다른 센서노드처럼 동작하고, 연산지시 패킷과 같은 요청관련 패킷을 수신한 후, 보유한 각각의 노드ID를 사용하여 수신받은 패킷에 명시된 요구 및 응답패킷 전송을 수행한다.
도 1을 참조하면, USN의 구조적 형태는 기본적으로 스타(Star) 형(A-1, B-1) 메쉬(Mesh) 형(A-2, B-2), 그리고 클러스터 트리(Cluster Tree) 형(A-3, B-3)으로 구성될 수 있다. 언급한 세 가지 기본 형태 구성 이외 다른 형태 구성들 또한 세 가지 기본 형태의 조합으로 볼 수 있음으로 USN의 구조적 형태를 스타(Star) 형, 메쉬(Mesh) 형, 그리고 클러스터 트리(Cluster Tree) 형으로 보아도 무방하다.
한편, USN의 센서노드들은 데이터 중계 기능 유무에 따라 FFD 노드와 RFD 노드로 나눌 수 있으며, USN에 출현한 침입자노드도 중계기능을 가진 완전한 형태의 센서노드처럼 동작하는 침입자노드(130, 140, 150)와 중계기능이 제한된 형태의 센서노드처럼 동작하는 침입자노드(100, 110, 120) 가 있을 수 있다.
도 1을 참조하면, USN의 기본적인 구조적 형태로써 언급한 스타(Star) 형 USN(A-1, B-1), 메쉬(Mesh) 형 USN(A-2, B-2), 그리고 클러스터 트리(Cluster Tree) 형 USN(A-3, B-3) 각각에 중계기능을 가진 침입자노드(130, 140, 150) 또는 중계기능이 없는 침입자노드(100, 110, 120)가 출현할 수 있다. 이러한 침입자노드를 탐지하기 위한 방법은 도 3을 참조하여 상세하게 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법을 위한 파라미터인 응답지연(RTTx)을 설명하기 위한 도면이다.
도 2는 USN에서의 시빌공격 탐지방법을 위한 파라미터인 응답지연(RTTx)을 설명하기 위해 데이터가 전송되는 경로상의 센서노드들로만 구성된 USN 구성형태이다.
도 2를 참조하면, USN에서의 시빌공격 탐지방법을 위한 파라미터인 응답지연(RTTx)을 설명하기 위한 USN은 관리자노드(P)와 침입자노드(I)사이에 중계자 역할을 하는 2개의 정상적인 센서노드(a, b)로 전송경로가 구성되고 있다고 가정한다. 침입자노드(I)는 물리적으로는 1개이지만, 마치 n개의 센서노드처럼 동작하며, 이러한 가상의 센서 노드들을 노드 ID로써 임의의 순서대로 1, 2, ... , n을 가진다고 가정한다.
만약, 관리자노드(P)가 연산 및 연산 결과에 대한 응답을 원하는 연산지시패킷을 브로드캐스트(broadcast)하게 되면, 침입자노드(I)는 이를 수신하여 연산지시 패킷에 지시된 연산과정을 수행하여 그 결과를 응답으로 하여 노드ID정보가 포함된 응답패킷을 관리자노드(P)로 송신하게 된다. 이러한 연산과정 및 응답패킷 송신은 침입자노드(P)가 지닌 복수의 노드ID마다 수행된다. 위에서 언급한 연산지시 패킷은 관리자노드가 시빌공격을 위한 침입자노드를 탐지하기 위해서 브로드캐스트(broadcast)하는 패킷으로써, 이를 수신한 센서노드들이 수행할 연산에 대한 정보를 포함하고 있다.
도 2을 참조하면, 연산지시 패킷을 수신한 침입자노드(I)는 노드ID가 1인 가상의 센서노드(1)로써 동작하면서, 연산지시 패킷에 명시된 연산과정을 수행하고 그 결과를 응답으로 하여 응답패킷 1을 송신하게 된다. 위에서 언급한 응답패킷(응답패킷 1)은 센서노드가 연산지시 패킷 수신에 대한 응답으로써 전송하는 패킷이며, 센서노드의 노드ID 정보를 포함하고 있다.
다음으로, 침입자노드(I)는 노드ID가 2인 가상의 센서노드(2)로써 동작하면서, 연산지시 패킷에 명시된 연산과정을 수행하고 그 결과를 응답으로 하여 응답패킷 2를 송신하게 된다.
다음으로, 침입자노드(I)는 노드ID가 3인 가상의 센서노드(3)로써 동작하면서, 연산지시 패킷에 명시된 연산과정을 수행하고 그 결과를 응답으로 하여 응답패킷 3을 송신하게 된다.
이렇게 하여, 침입자노드(I)는 노드ID가 n인 가상의 센서노드(n)까지 동작하 게 된다.
전술한 과정에 의해 관리자노드는 응답 타임아웃(Response Time Out: RTO)동안 n개의 응답패킷을 수신하게 되며, 수신할 때마다 매번 응답지연(Round Trip Time: RTT)을 계산하게 된다. 즉, 노드 ID가 1인 가상의 센서노드(1)로부터 송신된 응답패킷 1을 수신하고 RTT1을 계산하고, 노드 ID가 2인 가상의 센서노드(2)로부터 송신된 응답패킷 2를 수신하고 RTT2를 계산한다.
전술한 응답 타임아웃(Response Time Out: RTO, 이하 "RTO"라 칭함)이란, 관리자노드(P)가 브로드캐스트(broadcast)한 연산지시 패킷을 수신한 침입자노드(I)의 n개의 가상 센서노드(1, 2, ..., n)가 연산지시 패킷에 대한 응답패킷을 송신하게 되는데, 이때 관리자노드(P)가 응답패킷을 모두 수신할 수 있다고 간주할 수 있는 시간간격을 의미하며, 유비쿼터스 센서 네트워크 관리자 및 개발자에 의해 네트워크 환경에 맞게 다른 값으로 설정이 가능하다.
언급된 응답지연(Round Trip Time: RTT, 이하 "RTT"라 칭함)은, 관리자노드(P)가 연산지시 패킷을 브로드캐스트한 시간에서 연산지시 패킷에 대한 응답패킷을 수신한 시간까지의 시간간격으로써 정의할 수 있으며, 전송지연, 홉(hop) 수, 및 연산지연을 이용한 하기 수학식 1을 이용하여 구해질 수 있으며, 관리자노드(P)가 연산지시 패킷을 브로드캐스트한 순간, 응답지연 타이머가 가동되어 연산지시 패킷을 브로드캐스트한 시간을 체크하고, 응답패킷을 수신한 시간을 체크하여 응답지연을 계산하여 측정된다. 위에서 언급한 응답지연 타이머는 관리자노드가 연산지시 패킷을 브로드캐스트하는 시간을 체크하고, 연산지시 패킷에 대한 응답패킷을 수신하는 시간을 체크하여 응답지연을 계산하는 기능을 수행하는 관리자노드의 내부 구성 요소이다.
상기 수학식 1에서의 "홉(hop)수"는 관리자노드(P)로부터 연산지시 패킷을 수신하는 센서노드(I)까지의 데이터 전달에 사용될 경로 상에서 패킷이 거쳐갈 링크(link) 수를 의미한다. 즉, 도 2에서는 관리자노드(P)로부터 침입자노드(I)까지의 홉 수는 "3"hop이 된다.
상기 수학식 1에서의 평균 전파지연(δ)은 관리자노드(P)로부터 연산지시 패킷을 수신한 센서노드(침입자노드(I))까지 연산지시 패킷이 전송되는 데 걸리는 총 전송시간을 hop수로 나눈 1 hop당 평균 지연시간으로써, 관리자노드로부터 센서노드까지 패킷 전달경로에 있어서 연산지시 패킷과 응답패킷의 크기의 차이, 전송의 방향, 외부 통신 환경, 센서노드 특성, 및 센서노드 사양의 영향은 무시하고 일정 하다고 가정한다.
상기 수학식 1에서의 연산시간(τ)은 침입자노드(I)의 각기 가상의 센서노드(1, 2, ..., n)를 포함하여 USN의 모든 노드들에 대해서 각각 연산지시 패킷 내 연산정보에 해당하는 연산을 수행하기 위해서 지연되는 시간으로써, 센서노드의 형태 및 성능과는 무관하게 일정하다고 가정한다.
전술한 것처럼, 관리자노드(P)의 응답지연 타이머에 의해서 측정된 응답지연에 대한 값들은 응답지연 테이블에 저장돼, 본 발명에서의 시빌공격 탐지와 침입자노드 검색을 위한 알고리즘에 이용된다.
도 3은 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법에 대한 흐름도를 나타내는 도면이다.
본 발명에서의 "시빌공격 탐지"는 공격을 위해 삽입된 침입자노드가 사용하는 복수의 노드ID 즉, 실제로는 한 개의 노드이지만 복수의 노드ID를 가지고 복수의 가상 센서노드로 동작하는 노드가 있는지를 탐지하는 것을 의미한다.
복수의 센서노드 및 관리자노드가 포함된 USN에서, 상기 관리자노드가 센서노드의 일종인 침입자노드를 이용한 시빌공격(Sybil Attack)을 탐지하는 방법은 다음과 같은 단계로 수행된다.
도 3을 참조하면, 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법은 관리자노드(P)가 연산지시 패킷을 브로드캐스트(broadcast)하고, 응답지연 타이머를 가동하는 단계(S 300), 관리자노드(P)가 응답 타임아웃 내에 복수의 응답패킷을 수신하고, 수신되는 응답패킷마다 노드ID 정보 추출 및 응답패킷 수신 시간을 추출하여 응답지연(RTT)을 계산하는 단계(S 302), 관리자노드(P)가 상기 계산된 응답지연 정보들로부터 응답지연 테이블을 생성하는 단계(S 304), 관리자노드(P)가 가장 늦게 수신된 응답패킷에 대한 응답지연(RTT)을 RTT1로 할당하고, 다음으로 늦게 수신된 응답패킷에 대한 응답지연을 RTT2로 할당하고, 연산지연(τ)을 계산하는 단계(S 306), 관리자노드가 (RTT2 - τ), (RTT2 - 2τ), (RTT2 - 3τ), ... 값과 일치하는 응답지연(RTT)을 응답지연테이블에서 추출하고, 일치하는 응답지연(RTT)에 해당하는 노드ID 정보를 추출하는 단계(S 308), 및 관리자노드(P)가 노드ID정보를 더 이상 추출할 수 없다면, 추출된 노드ID를 노드 ID 리스트에 포함시키는 단계(S 310), 및 상기 S 310단계에서 구해진 노드 ID 리스트에 포함된 추출된 노드ID 개수가 2 보다 큰지를 판단(S 312)하여, 2보다 크다면 시빌공격에 이용된 침입자노드의 노드ID로써 ID List를 출력하는 단계(S 313)를 포함하여 수행되고, 상기 S 310단계 이후, 노드 ID 리스트에 포함된 추출된 노드ID 개수가 2 이하라면, 시빌공격 없음을 출력하는 단계를 추가로 포함한다.
전술한 S 313단계에서 침입자노드(I)의 노드ID로써 ID List에 출력된 노드ID는 침입자노드가 사용하는 복수의 노드 ID가 되는 것이며, 침입자노드는 각각 노드 ID에 해당하는 가상 센서노드들처럼 동작한 것이다.
언급한 연산시간(τ)은, 생성된 응답지연테이블 상에서 관리자노드가 가장 늦게 수신한 응답패킷에 대한 응답지연(RTT1)에서 2번째로 늦게 수신한 응답패킷에 대한 응답지연(RTT2)을 뺀 값으로서, 침입자노드에서 하나의 ID를 위해서 연산을 수행하는 데 걸리는 시간(연산지연)을 의미한다.
가장 늦게 수신된 응답패킷 2개로 연산지연(τ)을 계산하는 이유는 다른 정상적인 센서노드에 비해서 침입자노드는 자신이 가진 노드ID 개수만큼 연산과정 및 응답패킷 전송을 반복함으로 인해 침입자노드가 사용하는 ID가 많아질수록 가상 노드ID들은 응답지연 테이블 상에서 끝으로 모여지기 때문이다.
전술한 응답지연 테이블 생성(S 304)단계 이후, 생성된 응답지연 테이블을 통해서 연산지연 및 침입자노드의 노드 ID추출에 대한 실시예는 도 4의 USN 구성으로 도 5를 참조하여 좀 더 상세히 설명한다.
도 4는 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법을 위한 클러스터 트리(Cluster Tree) 형태로 구성된 유비쿼터스 센서 네트워크를 나타내는 도면이다.
도 4는 상기 도 3에서의 USN에서의 시빌공격 탐지방법을 설명하기 위한 USN 예로써, 시빌공격을 받을 수 있는 USN의 구조적 형태의 예로써 클러스터 트리(Cluster Tree) 형태를 가정한 것이고, 클러스터 트리(Cluster Tree) 형태의 USN은 1개의 관리자노드(P), 3개의 FFD 노드(1, 2, 3), 및 6개의 RFD 노드(4, 5, 7, 9, 10, 12)가 포함되어 있으며, 4개의 ID(6,8,11,13)를 가지는 1개의 침입자노드가 USN에 침입한 형태이다. 단, 노드에 기재된 숫자는 노드의 ID를 의미한다. 1번, 2번, 및 3번의 FFD 노드는 패킷 전송 상 중계기능을 수행할 수 있으며, 4개의 ID(6,8,11,13)를 가지는 1개의 침입자노드도 패킷 전송 상 중계기능 수행이 가능한 노드이다.
도 4를 참조하면, 4개의 ID(6,8,11,13)를 가지는 1개의 침입자노드는 시빌공격을 위해 USN에 물리적으로 삽입되어 데이터를 교란하여 전체적인 협업을 통해 판단에 사용될 정보의 질을 떨어뜨리는 문제를 발생시킨다. 또한, 칩입자노드(6)는 복수의 노드ID(8,11,13)를 가지고 복수의 다른 센서노드를 시뮬레이트(Simulate)하여 동작하고, 연산지시 패킷과 같은 요청관련 패킷을 수신한 후, 보유한 각각의 노드ID를 사용하여 수신받은 패킷에 명시된 요청 및 응답패킷 전송을 ID의 개수만큼 반복하여 수행하게 된다.
도 4와 같은 클러스터 트리 형태 USN에서의 시빌공격 탐지 방법에 대한 설명은 다음의 도 5를 참조하여 설명한다.
도 5는 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법을 위한 응답지연 테이블을 나타내는 도면이다.
도 5는 상기 도 3에서 전술한 USN에서의 시빌공격 탐지방법을 상기 도 4에서의 USN 형태에서 설명하기 위한 응답지연 테이블에 대한 도면이다.
먼저, "응답지연 테이블"은 관리자노드가 복수의 센서노드로부터 수신한 복수의 응답패킷에 대하여, 매 응답패킷마다 계산된 RTT(510)에 대한 정보를 포함하고, 응답패킷을 송신한 복수의 센서노드의 노드ID(500)정보를 포함하며, 침입자노드의 노드ID를 추출하는데 이용되는 테이블이다
상기 도 3에서 전술한 응답지연 테이블 생성(S 304)단계 이후, 도 5의 응답지연 테이블상에서 가장 늦게 도착한 응답패킷에 대한 RTT는 511번 RTT 값인 "4,330"이며, 이에 해당되는 응답패킷을 송신한 센서노드의 노드 ID(501)는 "13"이 다. 또한, 두번째로 가장 늦게 도착한 응답패킷에 대한 RTT는 512번 RTT 값인 "3,330"이며, 이에 해당되는 응답패킷을 송신한 센서노드의 노드 ID(502)는 "11"이다.
따라서, 상기 도 3에서 전술한 S 306단계에서의 RTT1에는 "4,330"가 할당되며, RTT2에는 "3,330"가 할당되어, 연산지연(τ)은 RTT1에서 RTT2를 뺀 "1,000"이 된다. (연산지연(τ) = 4,330 - 3,330 = 1,000)
다음으로, 상기 도 3에서 전술한 S 308단계에서는 RTT2에서 연산지연(τ)을 뺀 값과 동일한 RTT 값을 응답지연 테이블에서 찾게 된다. 이를 계산해보면, RTT2 값인 "3,330"에서 계산된 연산지연(τ) 값인 "1,000"을 빼면 "2,330"가 되며, 이값은 노드ID가 "8"(503)인 RTT 값(513)과 일치한다.
다음으로 RTT2에서 2배의 연산지연(τ)을 뺀 값과 동일한 RTT값을 응답지연 테이블에서 찾는다. 이를 계산해보면, RTT2 값인 "3,330"에서 계산된 연산지연(τ) 값인 "1,000"의 2배인 "2,000"을 빼면 "1,330"가 되며, 이값은 노드ID가 "6"(504)인 RTT 값(514)과 일치한다.
다음으로 RTT2에서 3배의 연산지연(τ)을 뺀 값과 동일한 RTT 값을 응답지연 테이블에서 찾는다. 이를 계산해보면, RTT2 값인 "3,330"에서 계산된 연산지연(τ) 값인 "1,000"의 3배인 "3,000"을 빼면 "330"가 되며, 이값과 일치하는 RTT(510)는 응답지연 테이블 상에서 찾을 수가 없다.
이하, RTT2에서 4배의 연산지연(τ)을 뺀 값과 동일한 RTT 값, RTT2에서 5배의 연산지연(τ)을 뺀 값과 동일한 RTT 값, 동일하게 계속해서 RTT2에 n배를 하여 구한 RTT 값과 일치하는 RTT(510)는 응답지연 테이블 상에서 찾을 수가 없다.
결과적으로, RTT1 인 4,330, RTT2 인 3,330, (RTT2 - τ)와 일치하는 것으로 검색된 RTT 값인 2,330, (RTT2 - 2τ)와 일치하는 것으로 검색된 RTT 값인 1,330 를 포함하는 4개의 RTT 값이 하모닉 수열(Harmonic Series)을 이루게 되어, 상기 도 3에서 전술한 S 310단계에서의, 침입자노드가 사용하는 노드ID는 "13"(501), "11"(502), "8"(503), "6"(504)이 되므로, 유비쿼터스 센서 네트워크를 공격하기 위해 삽입된 침입자노드가 사용하는 복수의 노드 ID(13, 11, 8, 6)를 탐지한 것이고, 시빌공격 탐지가 된 것이다.
도 6은 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법에 따른 탐지 결과출력물을 나타내는 도면이다.
도 6은 상기 도 3에 전술한 S 313단계에서의 시빌공격 탐지에 따른 ID List를 출력한 도면이고, 상기 도 4의 USN 구성에서 상기 도 5에서의 응답지연 테이블을 근거하여 탐지한 침입자노드의 노드ID(6, 8, 11, 13)를 출력한 결과물이다.
도 7은 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법에 대한 상기 도 4의 흐름도를 소프트웨어적으로 나타낸 상세 흐름도의 상단부를 나타내는 도면이며, 이어진 도 8은 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법에 대한 상기 도 4의 흐름도를 소프트웨어적으로 나타낸 상세 흐름도에서 상기 도 7에서의 상단부에 이어진 하단부를 나타낸 도면이다.
도 7을 참조하면, 복수의 센서노드 및 관리자노드가 포함된 유비쿼터스 센서 네트워크에서, 센서노드의 일종인 침입자노드를 이용한 시빌공격(Sybil Attack)을 탐지하기 위한 알고리즘은 총 32개의 단계로 동작한다.
시빌공격의 침입자노드를 검색하는 알고리즘의 순서도는 다음처럼 수행된다.
F1~F32까지의 모든 단계들은 관리자노드의 중앙처리장치(CPU)와 메모리, 클럭(Clock)을 이용하여 관리자노드의 메모리내에서 실행된다.
F1단계로부터 침입자노드 검색 알고리즘은 시작된다.
F2단계는 알고리즘이 사용할 모든 메모리와 변수에 대한 정의로써 메모리 준비작업에 해당된다.
이러한 메모리 준비단계에서는 DELAY행렬, ATTACKER행렬, a_count, RTO(응답 타입아웃), RTTn(응답지연)(n=1, 2, ......), start_time, end_time, duration, 알고리즘의 카운터 값으로 사용되는 i와 j, 및 센서노드 수 n등에 대한 변수들과 이러한 변수들에 대한 메모리를 준비한다.
n은 알고리즘이 수행될 USN의 관리자노드가 관리하고 있는 센서노드의 총 개수를 의미한다.
DELAY행렬은 모든 센서노드마다 한 개씩의 행(id,delay)을 가지며, 총 n개의 행들로 구성된다. 한 개의 행은 USN의 각 센서노드마다 ID를 저장할 id필드, 그 센서노드의 지연시간(RTT)를 저장할 delay필드로 구성된다.
ATTACKER행렬은 시빌공격에 사용된 침입자노드의 복수의 가상 센서노드ID를 저장할 메모리 공간이다.
a_count는 알고리즘의 수행 중 ATTACKER행렬에 저장된 행의 수를 저장할 메 모리 공간이다.
RTO는 알고리즘의 수행전에 미리 설정되어진 응답시간제한(RTO)을 의미하며 밀리 초단위의 상수이다.
RTT1은 DELAY행렬에서의 모든 delay필드들에 대해서 가장 큰 값이다.
RTT2는 DELAY행렬에서의 모든 delay필드들에 대해서 두 번째로 큰 값이다.
t는 시빌공격에 사용된 침입자노드의 연산지연(τ)이다.
RTTn은 시빌공격의 침입자노드의 복수의 센서노드ID들에 의한 응답지연이 될 RTT1, RTT2, RTT2-t, RTT2-2t, RTT2-3t,…의 값들을 순서대로 DELAY행렬의 delay필드값과 비교하기 위해서 사용될 변수로써 RTT2-t, RTT2-2t, RTT2-3t,…의 값을 순서대로 가진다.
start_time은 연산지시패킷을 브로드캐스트하고 관리자노드의 중앙처리장치가 클럭(CLOCK)값을 읽은 결과로서 브로드캐스트하는 동작과 클럭값을 읽는 동작 사이에 시간지연이 없어야 한다.
end_time은 연산지시패킷을 브로드캐스드하고 응답패킷(1,2,3,…,n)을 기다리는 중 응답패킷이 수신되었을 때 관리자노드의 중앙처리장치가 클럭값을 읽은 결과이다.
duration은 응답패킷을 수신했을 때, 응답패킷을 송신한 센서노드의 전송지연으로써 end_time - start_time이다.
i와 j는 알고리즘에 사용될 카운터로서 알고리즘이 사용할 DELAY행렬과 ATTACKER행렬의 행을 다루기 위해서 사용될 정수값이다.
F3단계는 알고리즘에 사용될 i, a_count의 값을 초기화하는 단계이다.
i값은 DELAY행렬과 ATTACKER행렬을 초기화할 때, 행을 지시할 인덱스(INDEX)의 역할을 한다. a_count는 ATTACKER행렬에 보관된 시빌공격의 침입자노드의 가상 센서노드ID의 개수이며, F3단계에서는 0값을 가진다.
F4, F5, F6단계는 i값을 0, 1, 2,…,n으로 가지게 하여 DELAY행렬과 ATTACKER행렬의 모든 부분을 0 (초기값)을 가지도록 초기화하는데 필요한 단계이다.
F4단계는 i값을 0, 1, 2,…,n으로 가지게 하여 F5와 F6을 반복적으로 수행하도록 한다. i값이 n일 경우, F4단계에서 F7단계로 이동한다.
F7단계는 연산지시패킷을 브로드캐스트한다.
F8단계는 F7단계를 마치고나서 연산지시패킷의 브로드캐스드 시간을 start_time에 보관하는 단계이다. 다음단계를 위해서 응답패킷의 수신 시간과의 시간지연을 말하는 duration을 0(초기값)을 가지도록 준비한다. j는 응답패킷이 수신될 때마다 DELAY행렬을 채울 때, DELAY행렬에서 채워질 행을 가르키는 인덱스(INDEX)이고 초기값은 0이다.
F9, F10, F11, F12, F13, F14, F15단계는 F7단계에서 브로드캐스트한 연산지시패킷에 대해서 RTO(응답타임아웃)동안 센서노드들로부터 응답패킷을 대기하고 응답패킷이 수신될 때마다 DELAY행렬을 채우는 단계이다.
F9단계는 F8단계로부터 F9~F15의 단계들을 실행하여 경과한 시간을 duration값이라고 할 때, duration값이 응답타임아웃(RTO)을 넘어설 때까지 F9~F15의 단계 들을 수행하기 위해서 duration과 RTO를 비교한다.
F10단계는 연산지시패킷을 브로드캐스트하는 F7단계 뒤, 연산지시패킷을 수신하고 연산을 끝마쳐서 응답패킷을 전송하는 모든 센서노드들에 대해서 응답패킷을 대기하는 단계이다. RTO를 넘어서면 더 이상 대기하지 않도록 하기 위해서 10초를 타임아웃으로 하여 응답패킷이 들어오지 않더라도 10초가 되면 자동으로 대기를 멈추고 F11단계로 진행한다.
F11단계는 F8단계로부터 현재까지의 경과시간을 계산하기 위해서 end_time에 현재의 중앙처리장치(CPU)의 클럭값을 읽어서 보관하고, end_time과 start_time간의 차이값을 duration에 보관하는 단계이다.
F12단계는 F10의 대기상태에서 F11로 진행된 것이 응답패킷을 수신했기 때문인지, 타임아웃이 경과했기 때문인지 검사하는 단계이다. 응답패킷을 수신했다면 F13단계로 진행하고, 타임아웃이 경과했으면 F9단계로 진행한다.
F13단계는 F10의 대기상태에서 응답패킷을 수신하여 진행할 수 있는 단계이다. 수신된 응답패킷에서 발신노드의 ID를 추출하는 단계이다.
F14단계는 응답패킷을 전송한 센서노드의 ID와 F8단계(연산지시패킷을 브로드캐스트 한 직후)에서 설정한 start_time과 응답패킷이 수신되자마자 설정한 end_time과의 차이인 duration을 가지고 DELAY행렬의 j번째 행을 작성하는 단계이다.
F15단계는 F14단계로 DELAY행렬에 한 행을 추가했으므로 j가 다음 행을 지시하도록 j를 +1 증가시키는 단계이다.
이하 도 8을 참조하면, F16단계는 F9~F15단계를 수행함으로써 작성된 DELAY행렬에서 작성된 행의 개수가 2개 이상인지, 최대 n개의 센서노드에서 받은 연산지시패킷에 대한 응답패킷의 개수가 n개 이하인지를 검사하는 단계이다. DELAY행렬의 행의 개수가 2개보다 적다면, 시빌공격에는 해당이 없으므로 F31단계로 진행한다. DELAY행렬의 행의 개수가 n개를 넘어선다면, 착오가 발생한 것으로 판단할 수 있으므로 F31단계로 진행한다.
F17단계는 DELAY행렬에서 가장 늦게 작성된 두 개의 행 DELAY[j-1]과 DELAY[j-2]에서 delay값을 RTT1과 RTT2에 설정하는 단계이다.
F18단계는 시빌공격에 사용된 침입자노드의 연산지연(τ)인 RTT1 - RTT2의 값을 t에 보관하고 DELAY행렬에서 전송지연이 RTT2 - t인 행을 검색하기 위해서 RTT2 - t값을 RTTn에 보관하는 단계이다.
F19단계는 RTTn과 값이 같은 delay필드의 값을 가지는 DELAY행렬의 행을 검색하기 위해서 DELAY행렬에서 검색을 시작할 행을 지시하는 인덱스(INDEX)인 i를 j보다 2만큼 작도록 설정한다. a_count는 ATTACKER행렬에 새로운 행을 추가할 때, 사용할 인덱스(INDEX)로서 추가할 행의 위치를 가르킨다. RTT1과 RTT2를 설정했으므로 ATTACKER행렬은 세번째 행부터 작성한다.
F20단계는 DELAY행렬에서 RTTn과 값이 같은 delay필드를 가지는 DELAY행렬의 행을 검색하기 위해서 i를 순서대로 j-2, j-3,…,1까지 값을 가지도록 하여 F21~F24단계를 수행하도록 하는 단계이다.
F21단계는 F18단계에서 계산한 RTTn값에 대해서 DELAY행렬의 현재 i값이 지 시하는 행의 delay필드와 값을 비교하는 단계이다.
RTTn < DELAY[i].delay일 경우, 다음 행과 비교를 위해서 F24단계로 진행한다.
RTTn = DELAY[i].delay일 경우, 검색에 성공했으므로 ATTACKER행렬에 추가하기 위해서 F22단계로 진행한다.
RTTn > DELAY[i].delay일 경우, DELAY행렬에 RTTn과 일치하는 delay필드값을 가지는 행이 없다는 의미가 되어 더 이상 검색을 할 필요가 없어진다. F25단계로 진행한다.
F22단계는 RTTn과 같은 값을 가지는 전송지연을 가지고 응답패킷을 전송한 센서노드의 ID인 DELAY[i].id를 ATTACKER행렬에 추가한다. RTTn값은 시빌공격의 침입자노드의 연산지연(τ)을 의미하는 값인 t만큼 감소시켜서 다시 비교에 사용한다.
F23단계는 ATTACKER행렬에 시빌공격의 침입자노드의 센서노드ID를 작성할 때, ATTACKER행렬의 작성될 행에 대한 인덱스(INDEX)값을 가지는 a_count를 +1 증가시킨다. F22와 F23단계는 수행되려면 RTTn = DELAY[i].delay의 조건문이 성립되어야 한다. 즉, RTTn에 해당하는 값을 DELAY행렬에서 검색했을 때이다.
F24단계는 DELAY행렬에 대한 인덱스(INDEX)인 i값을 1만큼 감소시켜서 RTTn값의 검색에 DELAY행렬의 다음 행과 비교 하도록 한다.
F25단계는 F20~F24단계에서 RTTn값(순서대로 RTT2-t, RTT2-2t, RTT2-3t,…)을 delay필드값으로 가지는 DELAY행렬의 행을 검색하여 ATTACKER행렬에 모두 추가 하고 더 이상 비교할 DELAY행렬의 행이 없는 경우(i≤0) 또는 시빌공격의 침입자노드가 사용하는 복수 가상 센서노드ID가 모두 검색되었을 경우(RTTn > DELAY[i].delay는 RTTn값을 가지는 행이 없다는 의미)에 진행될 수 있는 단계이다. F25단계는 ATTACKER행렬에서 침입자노드의 복수 가상 센서노드ID가 2개 이하이면 하모닉 수열(Harmonic Series)를 이루고 있다고 말할 수 없으므로 검색에 성공하지 못했고, F31단계로 진행한다.
ATTACKER행렬에서 작성된 행이 3개 이상이면, 하모닉 수열(Harmonic Series)을 이루고 있으므로 시빌공격의 침입자노드가 사용하는 복수의 가상 센서노드ID를 검색한 것이다. 시빌공격의 침입자노드의 복수의 ID를 출력하기 위해서 F26단계로 진행한다.
F26단계는 RTT1과 RTT2의 값을 응답지연을 의미하는 delay필드값으로 가지는 DELAY[j-1]행과 DELAY[j-2]행이 시빌공격의 침입자노드의 복수의 센서노드ID들중 가장 늦게 응답한 두 개의 ID이므로 ATTACKER행렬에서 맨 앞의 두 개의 행으로 id필드를 삽입하는 단계이다.
F27~F30단계는 검색한 시빌공격의 침입자노드의 복수 가상 센서노드ID들을 가지는 ATTACKER행렬의 모든 행들을 출력하기 위한 단계들이다.
F27단계는 출력물의 제목이 되는 “시빌공격노드ID”라고 출력한다.
F28단계는 ATTACKER행렬의 인텍스(INDEX)인 a_count값을 a_count, a_count-1, a_count-2, … , 0의 순서대로 출력하기 위해서 a_count값을 1씩 감소시키면서 ATTACKER행렬의 행들을 출력할 때, a_count값이 0이 되었는가를 검사하기 위한 단 계이다.
F29단계는 ATTACKER행렬에서 a_count값이 지시하는 행을 출력하는 단계이다.
F30단계는 ATTACKER행렬의 인텍스(INDEX)인 a_count값을 a_count, a_count-1, a_count-2, … , 0의 순서대로 출력하기 위해서 a_count값을 1씩 감소시키기 위한 단계이다.
F31단계는 시빌공격을 탐지할 때, USN의 센서노드의 개수가 2개 이하일 경우, 연산지시패킷을 브로드캐스트한 뒤 응답패킷의 수신횟수가 센서노드의 총 개수인 n을 넘어선 경우, RTT1, RTT2, RTT2-t, RTT2-2t, …의 하모닉 수열(Harmonic Series)을 검색하는 데 두 개밖에 검색하지 못할 경우에 도달한다. F31단계는 “시빌공격 해당없음”을 출력한다. F32단계는 종료 단계이다.
이렇게 하여, 도 3에서 전술한 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법에 대한 흐름도를 좀 더 상세하게 소프웨어적인 절차로써 설명하였다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상 설명한 바와 같이, 본 발명은 유비쿼터스 센서 네트워크에서의 시빌공격 탐지 관련 기술에 적용되어, 유비쿼터스 센서 네트워크의 보안성을 강화시켜주고, 시빌공격 탐지를 간단한 소프트웨어적 절차로 수행함으로써, 유비쿼터스 센서 네트워크의 보안을 관리하는 관리자노드에게 시빌공격탐지를 위해 복잡한 하드웨어를 구비하지 않아도 되는 효과를 발생시키는 매우 유용한 발명이다.
도 1은 유비쿼터스 센서 네트워크(USN)의 구조적 형태와 침입자노드의 유형에 따른 시빌공격을 예시한 도면,
도 2는 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법을 위한 파라미터인 응답지연(RTTx)을 설명하기 위한 도면,
도 3은 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법에 대한 흐름도를 나타내는 도면,
도 4는 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법을 위한 클러스터 트리(Cluster Tree) 형태로 구성된 유비쿼터스 센서 네트워크를 나타내는 도면,
도 5는 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법을 위한 응답지연 테이블을 나타내는 도면,
도 6은 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법에 따른 탐지 결과출력물을 나타내는 도면,
도 7은 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법에 대한 상기 도 4의 흐름도를 소프트웨어적으로 나타낸 상세 흐름도의 상단부를 나타내는 도면,
도 8은 본 발명의 바람직한 실시예에 따른 유비쿼터스 센서 네트워크(USN)에서의 시빌공격 탐지방법에 대한 상기 도 4의 흐름도를 소프트웨어적으로 나타낸 상세 흐름도에서 상기 도 7에서의 상단부에 이어진 하단부를 나타낸 도면이다.
< 도면의 주요 부분에 대한 부호의 설명 >
100: 침입자노드
510: 응답지연(RTT)
Claims (19)
- 복수의 센서노드 및 관리자노드가 포함된 유비쿼터스 센서 네트워크에서, 상기 관리자노드가 센서노드의 일종인 침입자노드를 이용한 시빌공격(Sybil Attack)을 탐지하는 방법에 있어서,(a) 상기 관리자노드가 연산지시 패킷을 브로드캐스트(broadcast)하고, 응답지연 타이머를 가동하는 단계;(b) 상기 관리자노드가 응답 타임아웃(Response Time Out: RTO) 내에 복수의 응답패킷을 수신하고, 수신되는 응답패킷마다 노드ID 정보 추출 및 응답패킷 수신 시간을 추출하여 응답지연을 계산하는 단계;(c) 상기 관리자노드가 상기 계산된 응답지연 정보들로부터 응답지연 테이블을 생성하는 단계;(d) 상기 관리자노드가 가장 늦게 수신된 응답패킷에 대한 응답지연을 RTT1로 할당하고, 다음으로 늦게 수신된 응답패킷에 대한 응답지연을 RTT2로 할당하고, 연산지연(τ)을 계산하는 단계;(e) 상기 관리자노드가 (RTT2 - τ), (RTT2 - 2τ), (RTT2 - 3τ), ... 값과 일치하는 응답지연을 응답지연테이블에서 추출하고, 상기 일치하는 응답지연에 해당하는 노드ID 정보를 추출하는 단계;(f) 상기 관리자노드가 상기 (e)단계에서 상기 노드ID정보를 더 이상 추출할 수 없다면, 추출된 노드ID를 노드 ID 리스트에 포함시키는 단계; 및(g) 상기 노드 ID 리스트에 포함된 상기 추출된 노드ID 개수가 2 보다 크다면, 시빌공격에 이용된 침입자노드의 노드ID로써 ID List를 출력하는 단계를 포함하는 것을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 유비쿼터스 센서 네트워크(Ubiquitous Sensor Networks)는,IEEE 802.15.4 표준 및 ZigBee 표준에 의거하여 제작된 센서노드들의 집합체로써, 근접한 지역에 조밀하게 배치된 복수의 센서노드들이 스스로 네트워크를 구성하는 능력을 갖춰 악조건 속에서도 부여받은 자율적인 동작 매커니즘을 이용하여 주어진 과제를 수행할 수 있는 네트워크로서, 센서노드간의 협동, 자율적 구성능력, 및 센서노드의 데이터 실시간 처리를 수행하는 것을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 센서노드(Sensor Node)는,상기 유비쿼터스 센스 네트워크의 구성요소로서의 소형 네트워크 장치로서, 입출력장치, 무선인터페이스, 및 제한된 자원을 가짐으로써, 보안의 취약점을 지니 고 있음을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 관리자노드(Prosecution Node)는,상기 유비쿼터스 센서 네트워크에서의 네트워크 관리 기능(Network Management Function)을 수행하는 대표노드로서, 시빌공격 탐지를 수행하기 위해서 특별히 선택된 고급기능의 센서노드나 네트워크 장치, 또는 컴퓨터 시스템인 것을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 시빌공격(Sybil Attack)은,악의를 가진 공격자가 상기 유비쿼터스 센서 네트워크에 공격용 센서노드를 물리적으로 삽입하여 한 개의 센서노드를 가지고 여러 개의 ID를 등록하고 다수의 센서노드에서 정보가 발생하는 것처럼 상기 관리자노드를 속임으로써 정보의 질(Quality)를 전체적으로 떨어뜨리는 것이며, 상기 공격용 센서노드는 상기 침입자노드인 것을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 시빌공격을 탐지하는 것은,상기 유비쿼터스 센서 네트워크를 공격하기 위해 삽입된 상기 침입자노드가 사용하는 복수의 노드 ID를 탐지하는 것을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항 또는 제 5항에 있어서,상기 침입자노드(Sensor Node)는,상기 관리자노드로부터 상기 연산지시 패킷을 수신하는 센서노드의 일종으로써, 상기 시빌공격을 위한 공격용 센서노드이며, 복수의 노드ID를 가지고 있어서 복수의 다른 센서노드처럼 동작하고, 상기 연산지시 패킷을 수신한 후, 보유한 각각의 노드ID를 사용하여 상기 연산지시 패킷에 명시된 연산 및 응답패킷 전송을 수행함을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 연산지시 패킷은,상기 관리자노드가 상기 시빌공격을 위한 상기 침입자노드를 탐지하기 위해서 브로드캐스트(broadcast)하는 패킷으로써, 이를 수신한 센서노드들이 수행할 연 산에 대한 정보를 포함하고 있음을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 응답패킷은,상기 센서노드가 상기 연산지시 패킷 수신에 대한 응답으로써 전송하는 패킷이며, 상기 센서노드의 노드ID 정보를 포함하는 것을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 10항에 있어서,상기 홉(hop) 수는,상기 관리자노드로부터 상기 연산지시 패킷을 수신하는 센서노드까지의 가상의 경로 상에서, 센서노드 간의 링크(link) 수를 의미함을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 10항에 있어서,상기 평균 전파지연은,상기 관리자노드로부터 상기 연산지시 패킷을 수신한 상기 센서노드까지 상 기 연산지시 패킷이 전송되는 데 걸리는 총 전송 시간을 홉 수로 나눈 1 홉당 평균 시간으로써, 상기 관리자노드로부터 상기 센서노드까지의 홉(hop) 수가 동일하다면, 외부 통신 환경, 센서노드 특성, 및 센서노드 사양의 영향은 무시하고 일정하다고 가정함을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항 또는 제 10항에 있어서,상기 연산지연(τ)은,상기 센서노드가 상기 연산지시 패킷 내 연산정보에 해당하는 연산을 수행하기 위해서 지연되는 시간으로써, 상기 센서노드의 형태 및 성능과는 무관하게 일정하다고 가정함을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 응답 타임아웃(Response Time Out: RTO)은,상기 관리자노드가 브로드캐스트(broadcast)한 상기 연산지연 패킷을 수신한 복수의 센서노드가 상기 연산지연 패킷에 대한 응답패킷을 송신할 때, 이때 상기 관리자노드가 상기 복수의 센서노드가 송신한 복수의 응답패킷을 모두 수신할 수 있다고 간주할 수 있는 시간간격을 의미하며, 다른 값으로 설정가능함을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 응답지연 타이머는,상기 관리자노드가 상기 연산지시 패킷을 브로드캐스트하는 시간을 체크하고, 상기 연산지시 패킷에 대한 응답패킷을 수신하는 시간을 체크하여 상기 응답지연을 계산하는 기능을 수행하는 상기 관리자노드의 내부 구성요소임을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 "응답지연 테이블"은,상기 관리자노드가 상기 복수의 센서노드로부터 수신한 복수의 응답패킷에 대하여, 매 응답패킷마다 계산된 응답지연에 대한 정보를 포함하고, 상기 응답패킷을 송신한 복수의 센스노드의 노드ID 정보를 포함하며, 상기 침입자노드의 노드ID를 추출하는데 이용됨을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 제 1항에 있어서,상기 "연산지연(τ)"는,상기 관리자노드가 가장 늦게 수신한 응답패킷에 대한 응답지연(RTT1)에서 2번째로 늦게 수신한 응답패킷에 대한 응답지연(RTT2)을 뺀 값으로서, 상기 침입자노드에서 연산을 수행하는 데 걸리는 시간(연산지연)을 의미함을 특징으로 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
- 삭제
- 제 1항에 있어서,상기 (f) 단계 이후,상기 노드 ID 리스트에 포함된 상기 추출된 노드ID 개수가 2 이하라면, 시빌공격 없음을 출력하는 단계를 추가로 포함하는 것을 특징으로 하는 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070068813A KR100892086B1 (ko) | 2007-07-09 | 2007-07-09 | 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070068813A KR100892086B1 (ko) | 2007-07-09 | 2007-07-09 | 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090005628A KR20090005628A (ko) | 2009-01-14 |
KR100892086B1 true KR100892086B1 (ko) | 2009-04-06 |
Family
ID=40487192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070068813A KR100892086B1 (ko) | 2007-07-09 | 2007-07-09 | 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100892086B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701771A (zh) * | 2013-11-26 | 2014-04-02 | 中国十七冶集团有限公司 | 一种用于检测物联网Sybil攻击新方法 |
CN105636053A (zh) * | 2016-02-04 | 2016-06-01 | 中国人民解放军装甲兵工程学院 | 一种面向WSN中Sybil攻击的检测方法 |
KR20200053225A (ko) * | 2018-11-08 | 2020-05-18 | 한국스마트인증 주식회사 | 익명성 보장 및 시빌 공격 방지가 가능한, 의사 표시 확인 방법, 신원 확인 정보 저장 모듈의 등록 및 인증 방법 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101034380B1 (ko) * | 2009-05-20 | 2011-05-16 | 강릉원주대학교산학협력단 | Nan에서의 이웃 검색을 이용한 보안 시스템 및 방법 |
KR101219689B1 (ko) * | 2011-04-28 | 2013-01-09 | 경기대학교 산학협력단 | 계층적 다자간 통신 방법 및 시스템 |
CN111918294B (zh) * | 2020-07-30 | 2021-04-30 | 东南大学 | 考虑传感器误差的女巫攻击节点的检测方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060047629A (ko) * | 2004-04-29 | 2006-05-18 | 마이크로소프트 코포레이션 | 네트워크 증폭 공격 완화 방법 |
US20070094494A1 (en) | 2005-10-26 | 2007-04-26 | Honeywell International Inc. | Defending against sybil attacks in sensor networks |
-
2007
- 2007-07-09 KR KR1020070068813A patent/KR100892086B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060047629A (ko) * | 2004-04-29 | 2006-05-18 | 마이크로소프트 코포레이션 | 네트워크 증폭 공격 완화 방법 |
US20070094494A1 (en) | 2005-10-26 | 2007-04-26 | Honeywell International Inc. | Defending against sybil attacks in sensor networks |
Non-Patent Citations (3)
Title |
---|
논문:ACM |
논문:IEEE |
논문:The Sybil Attack in Sensor Network, James Newsome et al. 2004 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701771A (zh) * | 2013-11-26 | 2014-04-02 | 中国十七冶集团有限公司 | 一种用于检测物联网Sybil攻击新方法 |
CN105636053A (zh) * | 2016-02-04 | 2016-06-01 | 中国人民解放军装甲兵工程学院 | 一种面向WSN中Sybil攻击的检测方法 |
KR20200053225A (ko) * | 2018-11-08 | 2020-05-18 | 한국스마트인증 주식회사 | 익명성 보장 및 시빌 공격 방지가 가능한, 의사 표시 확인 방법, 신원 확인 정보 저장 모듈의 등록 및 인증 방법 |
KR102146757B1 (ko) | 2018-11-08 | 2020-08-21 | 한국스마트인증 주식회사 | 익명성 보장 및 시빌 공격 방지가 가능한, 의사 표시 확인 방법, 신원 확인 정보 저장 모듈의 등록 및 인증 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20090005628A (ko) | 2009-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Midi et al. | Kalis—A system for knowledge-driven adaptable intrusion detection for the Internet of Things | |
KR100892086B1 (ko) | 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법 | |
JP7329540B2 (ja) | 準安定ビザンチン合意 | |
Fachkha et al. | Darknet as a source of cyber intelligence: Survey, taxonomy, and characterization | |
EP3855692A1 (en) | Network security monitoring method, network security monitoring device, and system | |
Lou et al. | Single hop detection of node clone attacks in mobile wireless sensor networks | |
Chowdhury et al. | A novel insider attack and machine learning based detection for the internet of things | |
Ballarini et al. | Modeling tools for detecting DoS attacks in WSNs | |
Wang et al. | Sensec: A scalable and accurate framework for wireless sensor network security evaluation | |
Novotny et al. | Locating faults in MANET-hosted software systems | |
Farea et al. | Detections of iot attacks via machine learning-based approaches with cooja | |
He et al. | Detection of information flows | |
US20200244698A1 (en) | Evaluating cyber-risk in synchrophasor systems | |
CN112398857B (zh) | 防火墙测试方法、装置、计算机设备和存储介质 | |
Nair et al. | Formal specification and analysis of performance variation in sensor network diffusion protocols | |
Tsai | Development of islanding early warning mechanism for power systems | |
Chen et al. | Discovering and measuring malicious url redirection campaigns from fake news domains | |
Almasizadeh et al. | Intrusion process modeling for security quantification | |
KR100886831B1 (ko) | 유비쿼터스 센서 네트워크에서의 웜홀공격 탐지 방법 및관리노드 장치 | |
CN116321253A (zh) | 自组网仿真测试方法、装置、终端设备和可读存储介质 | |
AbuSharekh et al. | Modeling time in DoDAF compliant executable architectures | |
Popkov et al. | Application of hyperneet theory for the networks optimazation problems | |
Erfan et al. | Community detection algorithm for mitigating eclipse attacks on blockchain-enabled metaverse | |
CN112333174A (zh) | 一种反射型DDos的IP扫描探测系统 | |
CN116488941B (zh) | 攻击链的检测方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130103 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140317 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150310 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160307 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170306 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |