KR100987315B1 - 센서네트워크의 n차원 격자를 이용한 키 분배 방법 및장치 - Google Patents

센서네트워크의 n차원 격자를 이용한 키 분배 방법 및장치 Download PDF

Info

Publication number
KR100987315B1
KR100987315B1 KR1020080016273A KR20080016273A KR100987315B1 KR 100987315 B1 KR100987315 B1 KR 100987315B1 KR 1020080016273 A KR1020080016273 A KR 1020080016273A KR 20080016273 A KR20080016273 A KR 20080016273A KR 100987315 B1 KR100987315 B1 KR 100987315B1
Authority
KR
South Korea
Prior art keywords
key
node
sensor
sensor node
shared
Prior art date
Application number
KR1020080016273A
Other languages
English (en)
Other versions
KR20090090803A (ko
Inventor
정태명
한영주
박선호
최진영
김종명
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020080016273A priority Critical patent/KR100987315B1/ko
Publication of KR20090090803A publication Critical patent/KR20090090803A/ko
Application granted granted Critical
Publication of KR100987315B1 publication Critical patent/KR100987315B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-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)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

다수의 센서노드와 분배 서버로 구성된 센서네트워크에서 센서노드 사이에서 데이터를 암호화하여 전송하기 위하여 N차원 격자를 이용한 키 분배방법 및 센서노드에 있어서, (a) 분배서버는 모든 센서노드를 N차원 격자 내의 위치로 일대일 대응시키고, 다수의 공유키를 N차원 격자의 각 축상의 위치로 일대일 대응시키고, 각 센서노드에 격자내 위치의 각 축상 위치에 대응되는 공유키들을 분배하는 단계; (b) 센서노드는 상대 센서노드와 동일한 축상 위치를 갖는 공유키를 찾고, 공유키로 대칭키를 생성하여 상대 센서노드에 데이터를 대칭키로 암호화하여 전송하는 단계; (e) 상대 센서노드는 암호화된 데이터를 전송한 센서노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 암호화된 데이터를 복호화하는 단계를 포함하는 구성을 마련한다.
상기와 같은 N차원 격자를 이용한 키 분배방법 및 센서노드에 의해, 센서 노드들 사이의 키 공유 확률을 증가시키고, 공유키를 지닌 노드의 수와 비율을 증가시킴으로써, 공유키 및 패스키 계산을 위한 오버헤드를 줄여 에너지가 효율적인 암호화 통신을 할 수 있다.
센서 네트워크, 차원, 공유키, 대칭키, 격자

Description

센서네트워크의 N차원 격자를 이용한 키 분배 방법 및 장치 { A key distributing system and method for sensor networks using an N dimension cube }
본 발명은 모든 센서노드를 N차원 격자 내의 위치로 일대일 대응시키고 다수의 공유키를 N차원 격자의 각 축상 위치로 일대일 대응시켜, 각 센서노드에 격자 내 위치의 각 축상 위치에 대응되는 공유키들을 분배하는 N차원 격자를 이용한 키 분배방법 및 장치에 관한 것이다.
또, 본 발명은 공유키를 t차 이변수 다항식 함수로 이용하고, 센서노드가 공유키 함수에 자신의 위치값을 입력하여 대칭키를 생성하고 이 대칭키를 이용하여 암복호화하는 N차원 격자를 이용한 키 분배방법 및 장치에 관한 것이다.
일반적으로 센서 네트워크는 원거리에 배치된 다수의 센서들이 그룹화 되어 노드로 서로 연결되어 있는 구조이다. 여기서 연결되어 있다는 것은 통신 가능하게 신호적으로 결합되어 있는 것을 의미하나, 통상 무선통신을 하는 경우가 대부분이다. 센서 네트워크는 이렇게 다수의 소형 센서 노드를 필드에 배치하고 이들을 통한 다양한 형태의 자료를 수집하고 분석하는 목적을 가지며 환경 감시, 대상 추적, 환자의 모니터링, 또는 군사적 목적 등에서 매우 다양하게 사용될 수 있다. 이러한 분야에서 사용되는 센서 노드들은 주로 한정된 에너지원에 의하여 운영되며, 수개월 내지 수년간 전원의 교체 없이 동작할 필요성을 갖는다. 특히, 센서 네트워크는 연산 능력, 저장 능력 그리고 에너지 측면에서 제약을 가지는 값이 싼 다수의 센서 노드를 이용하므로 에너지가 제한되어 있고 크기가 작아서 메모리나 처리 능력이 떨어지는 등 문제점이 있다.
한편, 센서 네트워크에서 수집되는 정보가 기밀성, 무결성 그리고 인증을 필요로 할 경우 이러한 기능을 제공해야한다. 이를 위한 가장 핵심적인 요소 중의 하나는 키 관리 기법이라 할 수 있다. 센서노드 간에 키가 적절하게 배분되면 이를 통해 인증이나 암호화 등 다양한 보안 기술을 적용할 수 있기 때문이다. 그러나 앞서 나열한 센서노드의 제한된 능력으로 인해 KDC(Key Distribution Center) 혹은 공개키 암호 방식을 통한 종전의 키 분배 기법을 그대로 적용할 수는 없다. 특히, 센서네트워크는 기본적으로 무선 통신을 이용하고, 대부분 물리적인 공격에 취약한 환경에 배치되므로 보안에 매우 취약하다. 즉, 의도적인 공격자에 의한 침입이 발생하는 경우 암호화 키 정보 등이 공격자에 의해 쉽게 물리적으로 획득 될 수 있기 때문에, 소수 노드 획득을 통해 네트워크 전체 키 정보가 드러나지 않는 키 분배 기법이 필요하다.
위와 같이 많은 제약사항을 가지고 있는 센서 네트워크에서 효율적인 키 분배를 위한 다양한 연구들이 진행되어 왔다. 센서 네트워크의 키 분배 기법의 기원은 Gilgor가 제안한 랜덤 키 분배(random key distribution) 방법이다. 이는 일정한 키 풀을 생성하고 각 센서 노드에 키 풀로부터 일정수의 키를 사전 분배함으로써 센서 노드들 사이에 일정한 확률로 키를 공유할 수 있도록 한다. 이 방법은 센서 노드 사이의 저장 공간 제약 사항을 효과적으로 해결하지만 공격자가 물리적 공격을 통해 노드를 획득할 경우 해당 노드가 지니는 키가 노출되어 네트워크의 다른 노드들을 위협할 수 있다는 단점이 있다.
이러한 Gilgor 방법의 문제점을 해결하기 위해, Chan은 q-혼합 랜덤 키 분배(q-composite random key distribution) 방법을 제안하였다. Chan의 방법은 두 노드가 q개의 공유키를 가질 경우에만 통신을 허용한다. 따라서 공격자가 해당 노드와 통신을 하기 위해서는 q개의 키를 획득해야하므로, Gilgor 방법의 단점을 해결하고 있다. 하지만 이 역시 몇 번의 노드 획득 공격으로 네트워크를 위협할 수 있다는 단점을 지닌다.
이 후 노드 획득 공격에 강한 키 분배 방법에 연구가 계속되었으며 Liu와 Ning은 t차 이변수 다항식과 2차원 격자 기반의 키 분배 방법을 제안하였다. Liu와 Ning은 t차 이변수 다항식을 통해 t+1개 미만의 노드가 공격자에게 획득되더라도 네트워크의 안정성에 영향을 주지 않는 t차 이변수 다항식을 이용한 키를 이용하였다. 특히, 에너지 효율성을 위해 노드들 사이의 키 공유 확률을 증가시키기 위해 2차원 격자를 이용하였다. 이를 통해 노드 획득 공격에 대한 저항성을 향상시킬 수 있었으며 대칭키 설정에 있어서 추가적인 오버헤드를 줄여 에너지 효율성을 달성 할 수 있었다. 하지만 여전히 두 노드사이의 키 공유 확률이 작아 패스키를 설정하기 위한 오버헤드가 크다.
한편, 상기와 같은 2차원 격자를 이용하여 쌍대(pairwise)키를 각 센서노드에 분배하여 공유시키는 기술이 [국내 등록특허 10-0640003(2006.11.1.공개), "무선 센서 네트워크에서의 키 설정 방법"]에 개시되고 있다. 상기 선행기술은 2차원 행렬(또는 격자)에 센서노드와 쌍대(pairwise)키를 대응시키고, 한 센서노드의 위치의 행과 열에 대응되는 쌍대(pairwise)키를 모두 배분시켜, 센서노드간에 쌍대(pairwise)키를 공유시키는 키 설정방법에 관한 것이다. 구체적으로, (a) 각각의 센서 노드에 자신과 행과 열로 링크되는 모든 센서 노드들에 대한 쌍대(pairwise)키를 할당하는 단계; (b) 통신을 수행하고자 하는 소스 노드와 목적지 노드 각각에 저장된 쌍대키 중에서 공통된 쌍대키가 있는지 판단하는 단계; 및 (c) 상기 공통된 쌍대키가 없다고 판단되는 경우에, 상기 소스 노드에서 생성된 랜덤키를 공통된 쌍대키를 가지는 다른 센서 노드들의 경로를 이용하여 목적지 노드로 전송하는 단계로 구성된다. 그러나 상기 선행기술은 한 노드가 저장할 수 있는 키의 개수에 따라 네트워크의 크기가 제한되고 키가 공격자에게 드러났을 경우 키를 재분배할 수 없 다는 단점을 지닌다.
따라서 공격자의 노드 획득 공격에도 강하면서, 에너지 효율성을 위해 노드들 사이의 키 공유 확률이 높고 대칭키 설정에 추가적인 오버헤드를 줄이고, 동시에 대규모 센서네트워크에 적용이 가능한 키 분배 방법이 필요하다 할 것이다.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 모든 센서노드를 N차원 격자 내의 위치로 일대일 대응시키고 다수의 공유키를 N차원 격자의 각 축상 위치로 일대일 대응시켜, 각 센서노드에 격자 내 위치의 각 축상 위치에 대응되는 공유키들을 분배하는 N차원 격자를 이용한 키 분배방법 및 장치를 제공하는 것이다.
또, 본 발명의 목적은 공유키를 t차 이변수 다항식 함수로 이용하고, 센서노드가 공유키 함수에 자신의 위치값을 입력하여 대칭키를 생성하고 이 대칭키를 이용하여 암복호화하는 N차원 격자를 이용한 키 분배방법 및 장치를 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 다수의 센서노드와 분배 서버로 구성된 센서네트워크에서 센서노드 사이에서 데이터를 암호화하여 전송하기 위한 N차원 격자를 이용한 키 분배방법에 관한 것으로서, (a) 분배서버는 모든 센서노드를 N차원 격자 내의 위치로 일대일 대응시키고, 다수의 공유키를 N차원 격자의 각 축상의 위치로 일대일 대응시키고, 각 센서노드에 격자 내 위치의 각 축상 위치에 대응되는 공유키들을 분배하는 단계; (b) 센서노드(이하 해당 센서노드)는 상대 센서노드와 동일한 축상 위치를 갖는 공유키를 찾고, 공유키로 대칭키를 생성하여 상대 센서노드에 데이터를 대칭키로 암호화하여 전송하는 단계; (c) 상대 센서노드와 동일한 축상 위치를 갖는 공유키가 없는 경우, 해당 센서노드는 패스키를 생성하고, 상기 해당 센서노드와 상대 센서노드 모두에 대해 동일한 축상 위치를 갖는 직접중간노드를 경유하여 상대 센서노드에 패스키를 전송하고, 상대 센서노드에 패스키로 데이터를 암호화하여 직접 전송하는 단계; 및 (e) 상대 센서노드는 상기 해당 센서노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키 또는 직접중간노드로부터 전송받은 패스키로 암호화된 데이터를 복호화하는 단계를 포함하고, 상기 패스키는 두 개 노드 사이에서 전송될 때, 두 개 노드의 동일한 축상 위치에 대응되는 공유키로 생성된 대칭키에 의해 암호화하여 전송되고 복호화되는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배방법에 있어서, (d) 직접중간노드가 없는 경우, 해당 센서노드는 패스키를 생성하고, 상기 해당 센서노드와 동일한 축상 위치를 갖는 간접중간노드와, 상기 간접중간노드와 상대 센서노드 간의 직접중간노드를 경유하여, 상대 센서노드에 패스키를 전송하고, 상대 센서노드에 패스키로 데이터를 암호화하여 직접 전송하는 단계를 더 포함하는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배방법에 있어서, 상기 (d)단계는 (d1) 직접중간노드가 없는 경우, 해당 센서노드는 패스키를 생성하는 단계; (d2) 해당 센서노드는 상기 해당 센서노드와 동일한 축상 위치를 갖는 간접중간노드를 찾아 상기 패스키를 상기 간접중간노드에 전송하는 단계; (d3) 간접중간노드는 상기 간접중간노드와 상대 센서노드 사이의 직접중간노드를 찾는 단계; (d4) 직접중간노드를 찾지 못하면, 간접중간노드는 상기 간접중간노드와 동일한 축상 위치를 갖는 다른 간접중간노드를 찾아 상기 패스키를 상기 다른 간접중간노드에 전송하는 단계; (d5) 간접중간노드는 직접중간노드를 찾을 때까지 (d3)단계와 (d4)단계를 반복하는 단계; 및 (d6) 간접중간노드로부터 패스키를 받은 직접중간노드는 상기 패스키를 상대 센서노드로 전송하는 단계를 더 포함하는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배방법에 있어서, 상기 해당 센서노드가 패스키를 전송할 때, 직접중간노드 또는 간접중간노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 암호화하여 전송하고, 상기 직접중간노드 또는 간접중간노드는 암호화된 패스키를 전송 받으면, 전송해준 노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 암호화된 패스키를 복호화하고, 전송할 노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 복호화한 패스키를 다시 암호화하여 전송하고, 상대 센서노드는 직접중간노드로부터 암호화된 패스키를 받아, 직접중간노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 암호화된 패스키를 복호화 하는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배방법에 있어서, 상기 공유키는 유한체 Fq상에서 f(x,y) = f(y,x)의 성질을 만족하는 t차 이변수 다항식 함수이고, 상기 x, y는 센서노드의 위치값이고, 각 센서노드가 분배받는 공유키는 상기 함수의 한 변수에 센서노드의 위치값을 대입하여 만들어진 일변수 다항식 함수인 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배방법에 있어서, 센서노드는 분배받은 공유키 함수에 자신의 위치값을 입력하여 얻은 결과값을 대칭키로 정하는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배방법에 있어서, 센서노드의 위치값은 해쉬함수를 이용하여 센서노드의 위치를 입력값으로 하여 출력되는 값인 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배방법에 있어서, 센서노드의 개수가 α개일 때, 상기 N차원 격자는 각 차원마다
Figure 112008013313474-pat00001
의 길이를 갖는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배방법에 있어서, 해당 센서노드가 상대 센서노드와 동일한 축상 위치가 하나 이상인 경우, 가장 작은 차원의 축상위치 또는 가장 큰 차원의 축상위치에 대응되는 공유키로 대칭키를 생성하는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배방법에 있어서, 해당 센서노드가 상대 센서노드에 암호화된 데이터 또는 패스키를 전송할 때 대칭키를 생성한 공유키의 축상위치도 함께 전송하는 것을 특징으로 한다.
또한, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
또한, 본 발명은 다수의 센서노드와 분배 서버로 구성된 센서네트워크에서 상대 센서노드로 데이터를 암호화하여 전송하기 위한 N차원 격자를 이용한 키 분배 센서노드(이하 해당 센서노드)에 관한 것으로서, 상기 해당 센서노드는, 분배서버로부터 N차원 격자 내의 배타적으로 정해진 위치와 상기 격자 내 위치의 각 축상 위치에 대응되는 공유키들을 전송받아 저장하는 공유키 관리부; 상대 센서노드가 상기 해당 센서노드와 동일한 축상위치를 갖으면 상대 센서노드를 선정하고, 동일한 축상위치를 갖지 않으면 통신반경내의 센서노드들 중 상대 센서노드 및 상기 해당 센서노드와 모두 동일한 축상위치를 갖는 직접중간노드들 중 하나를 선정하는 수신노드 선정부; 패스키를 생성하거나, 암호화된 패스키를 전송받고 재 암호화된 패스키를 전송하는 패스키 관리부; 상기 해당 센서노드의 위치가 송수신 노드와 동일한 축상위치에 대응되는 공유키로 송수신노드와의 대칭키를 생성하는 대칭키 생성부; 송수신노드로 송수신하는 데이터 또는 패스키를 송수신노드와의 대칭키 또는 패스키로 암호화하거나 복호화하는 암복호 처리부; 상대 센서노드가 상기 해당 센서노드와 동일한 축상위치를 갖으면 데이터를 암호화하여 전송하고, 동일한 축상위치를 갖지 않으면 패스키를 암호화하여 선정된 수신노드에 전송하고, 암호화된 패스키를 전송받으면 복호화하고 다시 암호화하여 선정된 수신노드로 전송하고, 받은 데이터는 대칭키 또는 패스키로 복호화하는 제어부를 포함하는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드에 있어서, 상기 수신노드 선정부는, 직접중간노드를 검색하지 못하면 상기 해당 센서노드에 대해서만 동일한 축상위치를 갖는 간접중간노드 들 중 하나를 선정하는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드에 있어서, 상기 공유키는 유한체 Fq상에서 f(x,y) = f(y,x)의 성질을 만족하는 t차 이변수 다항식 함수이고, 상기 x, y는 센서노드의 위치값이고, 분배받는 공유키는 상기 함수의 한 변수에 공유키를 분배받는 센서노드의 위치값을 대입하여 만들어진 일변수 다항식 함수인 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드에 있어서, 상기 대칭키 생성부는, 분배받은 공유키 함수에 상기 해당 센서노드의 위치값을 입력하여 얻은 결과값을 대칭키로 정하는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드에 있어서, 상기 해당 센서노드의 위치값은 해쉬함수를 이용하여 상기 해당 센서노드의 위치값을 입력값으로 하여 출력되는 값인 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드에 있어서, 센서노드의 개수가 α개일 때, 상기 N차원 격자는 각 차원마다
Figure 112008013313474-pat00002
의 길 이를 갖는 것을 특징으로 한다.
삭제
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드에 있어서, 상기 대칭키 생성부는, 상기 해당 센서노드가 송수신 노드와 동일한 축상 위치가 하나 이상인 경우, 가장 작은 차원의 축상위치 또는 가장 큰 차원의 축상위치에 대응되는 공유키로 대칭키를 생성하는 것을 특징으로 한다.
또, 본 발명은 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드에 있어서, 상기 제어부는, 수신 노드에 암호화된 데이터 또는 패스키를 전송할 때 대칭키를 생성한 공유키의 축상위치도 함께 전송하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 센서네트워크의 N차원 격자를 이용한 키 분배 방법 및 장치에 의하면, N차원 격자 내의 위치로 대응시킨 센서노드에 그 위치의 각 축상 위치에 대응되는 공유키들을 분배함으로써, 센서 노드들 사이의 키 공유 확률을 증가시키고 공유키를 지닌 노드의 수와 비율을 증가시켜 공유키 및 패스키 계산을 위한 오버헤드를 줄일 수 있는 효과가 얻어진다.
또, 본 발명에 따른 센서네트워크의 N차원 격자를 이용한 키 분배 방법 및 장치에 의하면, 공유키를 t차 이변수 다항식 함수로 이용하고 센서노드가 공유키 함수에 자신의 위치값을 입력하여 대칭키를 생성함으로써, t+1개 미만의 노드가 공 격자에게 획득되더라도 네트워크의 안정성을 확보하여 센서네트워크의 보안을 강화시킬 수 있는 효과가 얻어진다.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명에 따른 센서네트워크의 N차원 격자를 이용한 키 분배 방법 및 장치를 설명하기에 앞서, 본 발명의 기본적인 아이디어를 도 1 내지 도 3을 참조하여 설명한다. 도 1은 본 발명에 따른 센서네트워크에서 센서노드들이 키를 공유하여 암호화 통신을 하는 방식을 예시한 도면이다. 도 2는 본 발명에 따른 센서노드를 3차원 격자 내의 위치에 대응시키는 것을 예시한 도면이고, 도 3은 본 발명에 따른 공유키를 3차원 격자 내의 축상 위치에 대응시키는 것을 예시한 도면이다.
앞서 본 바와 같이, 센서네트워크에서 키 분배에 의한 암호화 통신은 서로 다른 다수의 키를 적절하게 공유할 수 있도록 각 센서노드에 분배시키면, 하나의 키를 서로 공유하는 두 센서노드는 이 키를 이용하여 서로 암호화된 데이터를 송수신할 수 있게 된다. 그런데 만약 두 센서노드가 공유하는 키가 없다면, 두 센서노드와 모두 공유되는 키를 갖는 제 3의 센서노드를 경유하여 통신하여야 한다.
도 1의 예를 들어 설명하면, 6개의 센서노드 A 내지 F에 대해 모두 5개의 키 K1 내지 K5를 2개씩 배분한다. 센서노드 A와 C는 각각 (K1, K2)와 (K2, K4)의 키를 가지고 있으므로, 키 K2를 공유한다. 따라서 센서노드 A와 C는 키 K2를 이용하여 암호화 통신이 할 수 있다. 그러나 센서노드 A와 B는 각각 (K1, K2)와 (K3, K4)의 키를 가지고 있으므로, 서로 공유하는 키가 없다. 따라서 이들은 직접 암호화 통신을 할 수 없고 센서노드 A와 B에 모두 공유하는 키를 가지는 센서노드 C를 경유해야 한다. 즉, 센서노드 C는 (K2, K4)를 가지고 있으므로 키 K2를 이용하여 센서노드 A와 암호화 통신을 할 수 있고, 센서노드 B와는 키 K4를 이용하여 암호화 통신할 수 있다. 센서노드 C와 같이 통신하고자 하는 양 센서노드 모두와 공유하는 키를 가지는 노드를 "직접중간노드"라 칭하기로 한다.
한편, 센서노드 A와 D는 양 노드에 모두 공유하는 키를 가지는 센서노드가 존재하지 않는다. 따라서 이런 경우에 센서노드 A는 자신과 공유하는 키를 가지는 센서노드 C를 경유하고, 센서노드 C와 D에 모두 공유하는 키를 가지는 센서노드 B를 다시 경유하여, D와 암호화 통신을 할 수 있다. 이때 센서노드 C와 같이 암호화 통신을 하기 위해 자신하고만 공유하는 키를 가지는 노드를 "간접중간노드"라 칭하기로 한다. 즉, 송신 센서노드 A에서 수신 센서노드 D로의 암호화 통신 경로에서 센서노드 C는 "간접중간노드"이고, 센서노드 B는 간접중간노드인 B와 수신 센서노드(또는 상대 센서노드)인 D의 "직접중간노드"가 된다. 통신을 하기 위하여 데이터를 전송하려는 노드를 "송신 노드"로 부르고, 전송받는 노드를 "수신 노드" 또는 "상대 센서노드"로 부르기로 한다.
도 1에서 양쪽 화살표는 양 센서노드가 서로 공유하는 키로 직접 암호화 통신을 할 수 있는 것을 표시한 것이다. 직접적인 화살표로 연결되지 못하는 센서노드들은 중간에 서로 직접 화살표로 연결되는 센서노드들을 경유해야 한다. 경유해야 하는 노드들은 직접중간노드나 간접중간노드들이다. 최종 수신노드의 바로 직전 노드가 간접중간노드와 수신노드의 직접중간노드가 된다.
한편, 수신노드와 송신노드는 중간노드들을 경유하여 암호화 통신을 할 수 있으나, 이러한 경유 경로(route)로 전송하고자하는 모든 데이터를 경유하기 위해서는 통신부하가 너무 커지게 된다. 따라서 상기와 같은 중간노드를 경유하는 암호화통신으로 서로 임시키를 나누어 가지고 상기 임시키를 이용하여 직접 데이터 통신을 하면 된다. 즉, 센서노드 A와 센서노드 B는 센서노드 C를 경유하여 임시키를 송수신하고 임시키로 직접 암호화 통신을 수행한다. 상기와 같은 양 센서노드가 양 노드간의 암호화 통신을 위해 임시키를 "패스키"로 부르기로 한다. 도 1에서 센서노드 A와 B는 서로 패스키를 나누어 갖고 점선의 양방향 화살표와 같이 패스키로 직접 데이터를 송수신한다.
그런데 상기와 같이 각 센서노드에 배분되는 키 K1, K2, ..., K5를 암호화하거나 복호화할 때 직접 이용할 수 있다. 그러나 본 발명에서는 상기와 같이 배분되는 키를 직접 암복호화에 사용하지 않고 대칭키를 생성하여 대칭키를 이용하여 암복호화한다. 즉, 직접 배분되어 보유하는 키를 "공유키"로 칭하고, 공유키에 의해 생성되어 직접 암복호화에 이용되는 생성키는 "대칭키"로 칭하기로 한다. 이와 같이 공유키와 대칭키로 나누는 이유는 보안을 강화하기 위함이다. 공유키는 여러 노 드가 공유하는 키이므로 노드 획득 공격에 보다 방어적이어야 한다. 이를 위해 공유키는 보다 복잡한 구성을 갖고, 생성되는 대칭키는 데이터를 암복호화에 효율적인 키를 사용한다. 이로써 보안 강화가 되는 동시에 시스템에 암복화의 부하를 줄일 수 있다. 예를 들면, 이하에 설명될 본 발명의 일실시예에서 공유키를 t차 이변수 다항식으로 구성하여 t+1개 미만의 노드가 공격자에게 획득되더라도 안정화될 수 있도록 하였다. 물론 공유키의 보안을 강화시키는 어느 다른 방식도 적용이 가능하다.
다음으로, 본 발명에 따른 공유키를 센서노드에 분배하는 방식을 도 2와 도 3을 참조하여 설명한다. 앞서 설명한 바와 같이, 결국 센서네트워크에서의 암호화 통신은 키 분배를 어떻게 하느냐가 중요한 문제가 된다. 키를 배분하는 방식은 일정한 규칙을 따라야 한다. 왜냐하면 각 센서노드는 주변의 다른 센서노드가 어떤 키를 배분받았는지를 알아야 하기 때문이다.
본 발명에서는 모든 센서노드를 N차원 격자 내의 위치로 일대일 대응시키고, 공유키를 N차원 격자의 각 축상 위치로 일대일 대응시킨다. 그리고 각 센서노드에 격자내 위치에 대응하는 공유키를 배분하는 방식이다. 도 2에서 보는 바와 같이, 3차원이고 길이가 4인 격자의 예를 들어 설명한다. 도 2의 격자는 D1 축, D2 축, D3 축(또는 x축, y축, z축)인 3개의 축을 가지고 있다. 각 축의 길이는 4이다. 격자의 내의 위치는 각각 (i1, i2, i3)로 표시할 수 있다. 따라서 격자내의 위치는 모두 43 = 64 개가 된다. 각 위치를 나열해보면, (1,1,1), (1,1,2), (1,1,3), (1,1,4), (1,2,1), ..., (4,4,3), (4,4,4)이 될 것이다. 격자 내의 각 위치에 센서노드 하나씩을 대응하여 위치를 시킨다. 물론 센서노드의 개수는 64개보다 적어야 한다. 64개보다 많으면 적어도 하나이상의 위치가 중복될 것이고 일대일 대응을 할 수 없기 때문이다. 상기와 같이 모든 센서노드를 격자내 위치로 일대일 대응시키면 각 센서노드는 유일한 격자내 위치를 갖기 때문에 격자내 위치로 식별자(또는 ID)로 이용할 수 있다. 도 2에서 센서노드 A는 격자내의 (3,2,2)의 위치로 대응시키고 있고 이때 센서노드 A의 식별자는 (3,2,2)로 이용할 수 있다.
다음으로, 공유키를 3차원 격자 내의 각 축상 위치에 일대일 대응시킨다. 축상의 위치란 각 차원의 축 위에서의 위치를 말한다. 도 2를 보면, 3차원 격자는 축으로, 모두 D1 축, D2 축, D3 축(또는 x축, y축, z축)인 3개의 축을 가지고 있다. 축상의 위치는 D1 축상의 1, 2, 3, 4와, D2 축상의 1, 2, 3, 4와, D3 축상의 1, 2, 3, 4 로 모두 3 × 4 = 12 개( 축의 개수 × 축의 길이 )가 있다.
도 2를 보면, 공유키는 아래와 같이 모두 12개가 각 축상의 위치에 대응시키고 있다.
Figure 112008013313474-pat00003
이를 차원(또는 축)과 길이의 좌표로 표현해보면, 도 3과 같이 나타날 수 있다. 즉, x축에는 축 D1, D2, D3을 표시하고 y축에는 길이인 1, 2, 3, 4를 표시하면 2차원 격자가 만들어진다. 이 2차원 격자의 위치가 "축상 위치"가 된다. 예를 들 면, 공유키
Figure 112008013313474-pat00004
는 D1축 위(上)의 3번째 위치에 대응시킨 것이다.
다음으로, 각 센서노드를 격자내 위치로 일대일 대응시키고, 공유키를 격자의 축상위치로 일대일 대응시키고 난 후, 각 센서노드에 공유키를 배분하는 규칙을 설명한다. 그 규칙은 각 센서노드의 격자내 위치의 각 축상위치에 대응되는 공유키를 모두 배분한다. 도 2의 센서노드 A를 예를 들면, 센서노드의 위치는 (3,2,2)이고 각 축상위치는 D1축의 3번째, D2축의 2번째, D3축의 2번째이다. 도 2에서 센서노드 A의 위치에서 각 축 위의 위치를 말한다. 도 3을 보면, 점선내의 위치가 바로 센서노드의 각 축상위치들이다. 이 축상위치에 대응되는 공유키는 각각
Figure 112008013313474-pat00005
이다. 이들 공유키가 센서노드 A에 배분되는 3개의 공유키들이다. 즉, N차원의 격자인 경우, 각 센서노드에 배분되는 것은 각 축상위치에 대응되는 공유키이므로, 항상 N개의 공유키를 배분하게 된다.
한편, 상기와 같은 방식으로 공유키를 배분하게 되면, 각 센서노드의 격자내 위치만으로 각 센서노드에 배분된 공유키가 무엇인지를 알 수 있게 된다. 즉, 격자내 위치로 정해지는 센서노드의 식별자(또는 ID)로 배분된 공유키를 바로 알 수 있다.
다음으로, 센서노드가 공유키를 공유하는 센서노드를 찾는 방법에 대해 설명한다. 각 센서노드는 격자내 위치의 각 축상위치에 대응되는 공유키를 배분 받기 때문에, 서로 다른 센서노드가 격자내 위치에서 동일한 축상위치가 있으면 공유키 를 공유한다. 도 3의 센서노드 A는 격자내 위치가 (3,2,2)이므로 축상위치가 D1축의 3, D2축의 2, D3축의 2이다. 만약 어느 센서노드 B가 격자내 위치가 (1,2,2)라면, 축상위치가 D1축의 1, D2축의 2, D3축의 2이므로, 센서노드 A와 B는 D2축의 2와 D3축의 2의 2개의 축상위치가 동일하다. 따라서 공유되는 공유키도
Figure 112008013313474-pat00006
으로 2개가 된다.
상기와 같이, 공유되는 공유키가 있는 센서노드들은 서로 공유되는 키로 암호화 통신을 할 수 있다. 즉, 앞서 설명한 바와 같이, 공유키로 대칭키를 생성하여 암호화 통신을 한다. 만약 공유되는 공유키가 없는 경우에는 앞서 직접중간노드나 간접중간노드를 이용하여 패스키를 주고 받아 패스키를 통해 암호화 통신을 한다.
다음으로, 본 발명의 일실시예에 따른 센서네트워크의 N차원 격자를 이용한 키 분배 방법을 도 4와 도 5를 참조하여 설명한다. 도 4는 상기 N차원 격자를 이용한 키 분배 방법을 설명하는 흐름도이고, 도 5는 본 발명의 일실시예에 따른 간접중간노드를 경유하여 패스키를 전달하는 방법을 설명하는 흐름도이다.
도 4에서 보는 바와 같이, 본 발명의 일실시예에 따른 센서네트워크의 N차원 격자를 이용한 키 분배 방법은 크게 (a) N차원 격자를 바탕으로 공유키를 사전에 분배하는 단계(S10), (b) 노드 사이의 공유키를 발견하고 대칭키를 계산하는 단계(S20), (c) 공유키가 존재하지 않은 경우, 직접중간노드를 찾아 패스키를 설정하는 단계(S30)로 구성된다. 추가로 (d) 직접중간노드가 없는 경우, 간접중간노드를 찾아 패스키를 설정하는 단계(S40)가 더 구성될 수 있다. 마지막으로 (e) 암호화된 데이터를 전송받은 노드가 복호화하는 단계(S50)로 구성된다.
(a)단계에서, 분배서버는 모든 센서노드를 N차원 격자 내의 위치로 일대일 대응시키고, 다수의 공유키를 N차원 격자의 각 축상의 위치로 일대일 대응시키고, 각 센서노드에 격자내 위치의 각 축상 위치에 대응되는 공유키들을 분배한다(S10). 즉, 센서 네트워크는 공유키를 최초로 생성하고 이를 각 센서노드에 분배하기 위한 분배서버와 다수의 센서노드로 구성된다. 분배서버가 센서노드에 격자내 위치를 대응시키고 공유키를 분배하는 방식은 앞서 설명한 바와 같다.
(b)단계에서, 센서노드는 상대 센서노드와 동일한 축상 위치를 갖는 공유키를 찾고, 공유키로 대칭키를 생성하여 상대 센서노드에 데이터를 대칭키로 암호화하여 전송한다(S20). 이는 앞서 설명한 바와 같이, 축상위치에 대응되는 공유키를 보유하므로, 축상위치가 동일하면 양 센서노드는 공유키를 공유하는 것이므로 이를 이용하여 암호화 통신을 할 수 있다.
(c)단계에서, 상대 센서노드와 동일한 축상 위치를 갖는 공유키가 없는 경우, 센서노드는 패스키를 생성하고, 자신과 상대 센서노드 모두에 대해 동일한 축상 위치를 갖는 직접중간노드를 경유하여 상대 센서노드에 패스키를 암호화하여 전송하고, 상대 센서노드에 패스키로 데이터를 암호화하여 전송한다(S30). 앞선 설명과 같이, 센서노드가 상대 센서노드와 공유키를 갖지 않으면, 직접중간노드를 경유하여 패스키를 주고 받는다. 직접중간노드는 자신과 상대 센서노드 모두에 대해 공유키를 보유해야 하므로, 양측 모두와 동일한 축상위치를 가져야 한다.
(d)단계에서, 직접중간노드가 없는 경우, 센서노드는 패스키를 생성하고, 자신과 동일한 축상 위치를 갖는 간접중간노드와, 상기 간접중간노드와 상대 센서노드 간의 직접중간노드를 경유하여, 상대 센서노드에 패스키를 암호화하여 전송하고, 상대 센서노드에 패스키로 데이터를 암호화하여 전송한다(S40).
(d)단계를 도 5를 참조하여, 보다 자세히 설명한다. 도 5에서 보는 바와 같이, 본 발명의 일실시예에 따른 간접중간노드를 경유하여 패스키를 전달하는 방법은, (d1) 직접중간노드가 없는 경우, 센서노드는 패스키를 생성하는 단계(S41); (d2) 센서노드는 자신과 동일한 축상 위치를 갖는 간접중간노드를 찾아 상기 축상 위치에 대응되는 공유키로 생성한 대칭키로 패스키를 암호화하여 간접중간노드에 전송하는 단계(S42); (d3) 간접중간노드는 자신과 상대 센서노드 사이의 직접중간노드를 찾는 단계(S43); (d4) 직접중간노드를 찾지 못하면, 간접중간노드는 자신과 동일한 축상 위치를 갖는 간접중간노드를 찾아 상기 축상 위치에 대응되는 공유키로 생성한 대칭키로 패스키를 암호화하여 간접중간노드에 전송하는 단계(S44); (d5) 간접중간노드는 직접중간노드를 찾을 때까지 (d3)단계와 (d4)단계를 반복하는 단계(S45); (d6) 간접중간노드로부터 암호화된 패스키를 받은 직접중간노드는 자신과 상대 센서노드와 동일한 축상위치에 대응되는 공유키로 생성한 대칭키로 패스키를 암호화하여 상대 센서노드로 전송하는 단계(S46);로 구성된다.
즉, 도 5에서 보는 바와 같이, 간접중간노드가 자신과 상대 센서노드 간의 직접중간노드를 찾을 때까지 계속 간접중간노드를 경유하여 최종적으로 상대 센서노드로 도착한다. 이는 도 1에서 센서노드 A에서 상대 센서노드 D까지 패스키를 넘 길 때, A -> C -> F -> E -> D 로 경유하여 가는 경우와 같다. 즉, 중간노드인 C, F는 모두 간접중간노드이고 마지막 중간노드인 E만이 직접중간노드가 된다. 이때, 센서노드 A -> D 로 가는 경로가 위의 경우이외에도 A -> C -> B -> D 경우도 있다. 즉, 패스키를 전달하는 경로는 여러 개가 존재할 수 있다.
한편, 간접중간노드 또는 직접중간노드를 경유하여 패스키를 전송할 때, 패스키도 암호화하여 전송하고 복호화한다. 이때 암복호화할 때 이용되는 키는 패스키를 주고 받는 노드들이 공유하는 공유키이다. 즉, 양 노드는 각자 격자내의 위치에 서로 동일한 축상위치를 적어도 하나를 갖는다. 이 축상위치에 대응되는 공유키가 양 노드가 공유하는 공유키이다. 즉, 상기 센서노드가 패스키를 전송할 때, 직접중간노드 또는 간접중간노드와 동일한 축상 위치를 갖는 공유키를 생성한 대칭키로 암호화하여 전송하고, 상기 직접중간노드 또는 간접중간노드는 암호화된 패스키를 전송 받으면, 전송해준 노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 암호화된 패스키를 복호화하고, 전송할 노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 복호화한 패스키를 다시 암호화하여 전송하고, 상대 센서노드는 직접중간노드로부터 암호화된 패스키를 받아, 직접중간노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 암호화된 패스키를 복호화한다.
(e)단계에서, 상대 센서노드는 암호화된 데이터를 전송한 센서노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키 또는 직접중간노드로부터 전송받은 패스키로 암호화된 데이터를 복호화한다(S50). 센서노드가 상대 센서노드와 공유키를 공유하면 대칭키로 암호화를 하여 데이터를 전송할 것이고, 그렇지 않으면 패스키 를 전송하고 패스키로 데이터를 암호화하여 전송할 것이다. 따라서 상대 센서노드는 양 경우에 따라 대칭키 또는 패스키로 전송받은 암호화 데이터를 복호화한다.
한편, 센서노드가 상대 센서노드와 동일한 축상 위치가 하나 이상인 경우, 가장 작은 차원의 축상위치 또는 가장 큰 차원의 축상위치에 대응되는 공유키로 대칭키를 생성한다. 또, 센서노드가 상대 센서노드에 암호화된 데이터 또는 패스키를 전송할 때 대칭키를 생성한 공유키의 축상위치도 함께 전송한다. 이는 센서노드가 상대 센서노드와 공유하는 공유키가 하나이상인 경우에 어느 공유키로 대칭키를 생성할 것인가를 정하기 위한 규칙이다. 전자의 방법은 무조건 가장 작은 차원의 축이나 가장 큰 차원의 축으로 정하는 방식이고, 후자는 암호화하여 전송하는 송신노드가 어느 공유키를 이용한 것인지에 대한 정보를 주는 방식이다.
다음으로, 본 발명의 일실시예에 따른 센서네트워크의 N차원 격자를 이용한 키 분배 방법을 도 6 내지 도 8을 참조하여, 보다 구체적으로 설명한다. 도 6은 본 발명의 일실시예에 따른 2차원 격자를 생성하는 방법을 예시한 도면이고, 도 7은 본 발명의 일실시예에 따른 2차원 격자에서의 공유키 및 대칭키를 예시한 도면이고, 도 8은 본 발명의 일실시예에 따른 2차원 격자에서의 패스키 설정하는 방법을 예시한 도면이다.
공유키의 사전 분배는 t차 이변수 다항식과 N차원 격자를 바탕으로 한다. 즉, 공유키를 t차 이변수 다항식 함수로 만든다. t차 이변수 다항식은 다음과 같은 특성을 지니는 다항식이다. t차 이변수 다항식은 유한체 Fq상에서 f(x,y)= f(y,x)의 성질을 만족 시키며 이 때 q는 대칭키를 생성하기에 충분한 크기를 가진다. x와 y는 센서노드의 식별자(또는 ID)를 취하는 변수이다. 센서노드의 식별자는 센서노드의 ID가 될 수도 있고, 격자내의 위치값, 해쉬함수를 이용한 값이 될 수도 있다. t차 이변수 다항식의 위와 같은 특징으로 인해 각 노드 Si와 Sj에게 각각 f(Si,y)와 f(Sj,y)를 분배 한다면, 두 노드는 상대방의 ID(또는 식별자)를 자신의 t차 다항식에 대입하여 대칭키 f(Si,Sj)= f(Sj,Si)를 생성할 수 있다. 특히 대칭키를 생성하기 위해 상대 노드의 ID만 필요하다는 특징은 통신 부하를 줄이며, t차 다항식이라는 특징은 공격자가 노드 획득 공격을 수행한다 하더라도 획득한 노드 이외의 공유키를 알아내기 위해서 최소한 t+1개 이상의 센서 노드를 획득해야 한다는 것을 의미한다. 각 센서 노드에 대한 공유키 할당은 N차원 격자를 바탕으로 이루어지며 다음과 같이 구성된다. 만약 α개의 센서 노드가 분포된다고 할 때 N차원 격자를 만들기 위해서는 각 차원마다 m개의 t차 이변수 다항식이 필요하기 때문에 총 N × m 개의 다음과 같은 t차 이변수 다항식이 필요하다. 이 때
Figure 112008013313474-pat00007
이다.
Figure 112008013313474-pat00008
공유키를 분배하기 위해 각 센서 노드마다 N차원 격자에서 사용되지 않은 하나의 교차점
Figure 112008013313474-pat00009
을 선택하고 다음식과 같이 하나의 ID와 N개의 t차 방정식을 할당한다. 즉, 상기 교차점은 격자내의 위치로서, 다른 센서노드는 점유하지 않는 배타적인 점이자 위치이다. 이때 ID는 <i1,i2,i3,...,iN> 이며 δ는 i1∥i2∥i3∥...∥iN혹은 해쉬 함수를 통해 얻은 Hash(ID)이다. 해쉬 함수는 SHA-1, MD4, MD5 등을 이용할 수 있다.
Figure 112008013313474-pat00010
즉, 센서노드의 식별자 ID는 격자내의 위치에 의해 결정된다. 실제 연산을 하기위하여 해쉬함수를 이용하는 것이므로 격자내의 위치에 의해 결정되는 어느 방법이나 적용이 가능하다. 예를 들면, 격자의 길이가 m이므로, ik값을 0에서 m-1로 대응하고 m진법을 이용하면, 각 센서노드의 위치를 m진법 숫자로 표현할 수 있다. 즉, i1i2i3 ... iN(m)이 센서노드의 식별자가 될 수 있다. 일반적인 m진법의 연산은 어려우나, m을 2a이면 비트(bit)로 연산하기 때문에 연산부담이 적도록 간단히 구현될 수 있을 것이다. 요약하면, 상기 변수 x, y는 센서노드의 식별자를 값으로 갖는 변수이고, 상기 센서노드의 식별자는 센서노드의 위치에 의해 결정되는 값, 즉, 위치값이다. 센서노드의 위치값은 센서노드의 위치를 해쉬한 값으로 계산할 수도 있고 다른 매핑수단을 이용하여 구하는 값은 어느 것이나 해당된다.
도 6은 2차원 격자를 이용한 예를 도시한 것이다. 이 경우 다음과 같이 센서 노드 <i,j> 에게 ID <i∥j> 와 2개의 t차 방정식을 할당한다.
Figure 112008013313474-pat00011
공유키의 사전 분배를 마친 후 센서 노드들은 목적 지역에 분포되며 통신에 사용할 대칭키 생성을 위해 공유하는 공유키 발견 및 대칭키 계산을 수행한다. 이때 각 센서 노드는 상대 노드와 ID를 교환하고 N차원 격자를 바탕으로 상대 노드와의 공유키를 즉시 발견할 수 있다. 즉, 두 노드의 ID가 각각 <i1,i2,i3,...,iN>와 <j1,j2,j3,...,jN>일 경우 i3을 공통적으로 가지고 있다. 즉, i3 가 두 노드의 동일한 축상위치이다. 따라서 이 축상위치에 해당하는 공유키는
Figure 112008013313474-pat00012
Figure 112008013313474-pat00013
이다. 상대 노드의 ID를 통해 다음과 같이 대칭키를 계산할 수 있다. t차 이변수 다항식의 특징으로 인해 두 결과 값은 동일하다.
Figure 112008013313474-pat00014
도 7은 2차원 격자에서 두 노드 사이의 공유하는 공유키 발견 및 대칭키 계산 단계를 보여준다. 두 센서 노드 <i,j>와 <i',j> 는 공유키
Figure 112008013313474-pat00015
Figure 112008013313474-pat00016
를 가진다. 이를 통해 구한 대칭키는
Figure 112008013313474-pat00017
Figure 112008013313474-pat00018
이 되며 이는 t차 이변수 다항식의 특징으로 인해 동일한 값을 나타낸다.
마지막으로 두 노드 사이에 공유하는 공유키가 존재하지 않은 경우 패스키 설정 단계를 수행한다. 패스키 설정은 N차원 격자를 바탕으로 제 3의 중간노드들의 도움을 통해 이루어진다. 이는 다시 직접중간노드를 통해 패스키를 설정하는 경우와 간접중간노드를 통해 패스키를 설정하는 경우로 나뉜다.
직접중간노드를 통해 패스키를 설정하는 경우는 다음과 같다. 센서 노드 <i1,i2,i3,...,iN>가 센서 노드 <j1,j2,j3,...,jN>와 패스키 P를 형성하고자 할 경우 두 노드 <i1,i2,i3,...,iN>와 <j1,j2,j3,...,jN>는 공유하는 공유키를 가지고 있지 않다. 이때 이 두 노드와 동시에 공유하는 공유키를 가지는 직접중간노드들 <j1,i2,i3,...,iN>, <i1,j2,i3,...,iN>, <i1,i2,j3,...,iN>, ..., <i1,i2,i3,...,jN>와 형성된 대칭키를 통해 두 노드 <i1,i2,i3,...,iN>와 <j1,j2,j3,...,jN> 사이의 패스키 P를 설정한다. 즉, 직접중간노드 <j1,i2,i3,...,iN>를 통해 센서 노드 <i1,i2,i3,...,iN>와 직접중간노드 사이의 대칭키를 A, 센서 노드 <j1,j2,j3,...,jN>와 직접중간노드 사이의 대칭키를 B라 할 때 센서 노드 <i1,i2,i3,...,iN>는 패스키 P를 생성하여
Figure 112008013313474-pat00019
를 직접중간노드 <j1,i2,i3,...,iN>에게 전송하고 직접중간노드는
Figure 112008013313474-pat00020
를 계산하여 P를 계산한 뒤
Figure 112008013313474-pat00021
를 센서 노드 <j1,i2,i3,...,iN>에게 전송한다. 최종적으로 센서 노드 <j1,i2,i3,...,iN>는
Figure 112008013313474-pat00022
를 연산하여 패스키 P를 얻는다.
직접중간노드가 공격자에게 유출되었거나 주변에 직접중간노드가 존재하지 않을 경우 간접중간노드를 통해 패스키를 설정한다. 센서 노드 <i1,i2,i3,...,iN>가 센서 노드 <j1,j2,j3,...,jN>와 간접중간노드를 통해 패스키 P를 형성하고자 할 경우 직접중간노드를 제외한 모든 노드가 간접중간노드가 될 수 있는 가능성을 갖는다. 하지만 이 때 일정한 규칙이 존재한다. 간접중간노드는 N차원 격자를 따라 두 노드 <i1,i2,i3,...,iN>와 <j1,j2,j3,...,jN>사이의 루트에 존재해야한다. 이 경우 간접노드들은 루트를 따라 체인을 형성하며 이웃한 두 노드는 공유키를 공유하며 대칭키를 형성할 수 있다. 대칭키를 공유하는 간접노드들을 따라 직접중간노드에서 EX-OR 연산을 통해 패스키를 전달하는 방법을 반복적으로 적용하여 패스키 P를 분배할 수 있다.
도 8은 2차원 격자 패스키 설정 예를 보여준다. 센서 노드 <i,j>가 센서 노드 <i',j'> 와 패스키를 설정하기 위해서 첫 번째 방법으로 직접중간노드 <i,j'>을 통해 2홉 통신으로 패스키를 설정할 수 있다. 만약 직접중간노드 <i,j'>과 <i',j>가 유효한 상태가 아니라면 두 번째 방법으로 간접중간노드 <i,k>와 <i',k>를 통해 패스키를 설정할 수 있음을 보여주고 있다.
다음은, 본 발명의 일실시예에 따른 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드를 도 9를 참조하여 설명한다. 도 9는 상기 센서노드의 구성에 대한 블록도이다.
도 9에서 보는 바와 같이, 본 발명의 일실시예에 따른 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드(10)는 공유키 관리부(11), 수신노드 선정부(12), 패스키 관리부(13), 대칭키 생성부(14), 암복호 처리부(15), 제어부(16)로 구성된다. 또, 센서노드(10)는 데이터를 저장하기 위한 메모리(18)를 구비한다.
각 센서노드(10)는 데이터를 전송하는 노드이면서, 직접중간노드, 간접중간노드, 데이터를 수신하는 노드 등 모든 노드의 역할을 수행해야 한다. 각 구성요소들은 이들 기능들을 수행하기 위한 요소들이다.
공유키 관리부(11)는 분배서버로부터 N차원 격자 내의 배타적으로 정해진 위치와 상기 격자 내 위치의 각 축상 위치에 대응되는 공유키들을 전송받아 저장한다. 앞서 설명된 공유키의 분배방법에 의하여 분배서버로부터 분배받은 자신의 공유키를 받아 메모리(18)에 저장하여 보관한다.
수신노드 선정부(12)는 상대 센서노드가 자신과 동일한 축상위치를 갖으면 상대 센서노드를 선정하고, 동일한 축상위치를 갖지 않으면 통신반경내의 센서노드 들 중 상대 센서노드와 자신 모두와 동일한 축상위치를 갖는 직접중간노드들 중 하나를 선정한다. 수신노드 선정부(12)는 직접중간노드를 검색하지 못하면 자신에 대해서만 동일한 축상위치를 갖는 간접중간노드 들 중 하나를 선정한다. 즉, 수신노드 선정부는 데이터 또는 패스키를 건네주기 위한 수신노드를 찾아 선정한다. 센서노드(10)들은 일반적으로 통신반경내의 센서노드들로부터 식별자(또는 ID)를 전송받아 메모리(18)에 저장해둔다. 그러나 주변의 센서노드가 고장나거나 통신이 불능인 경우 등이 확인되면 지속적으로 통신반경내 센서노드의 정보를 변경하여 유지한다.
패스키 관리부(13)는 패스키를 생성하거나, 암호화된 패스키를 전송받고 재 암호화된 패스키를 전송한다. 패스키는 랜덤하게 생성될 수 있다. 패스키를 생성하는 경우는 당 센서노드(10)가 데이터를 전송하고자 하나 수신 센서노드와 공유하는 공유키가 없는 경우이다.
대칭키 생성부(14)는 자신의 위치가 송수신 노드와 동일한 축상위치에 대응되는 공유키로 송수신노드와의 대칭키를 생성한다.
암복호 처리부(15)는 송수신노드로 송수신하는 데이터 또는 패스키를 송수신노드와의 대칭키 또는 패스키로 암호화하거나 복호화한다. 암복호화하는 대칭키는 당연히 암복호화 대상인 패스키나 데이터를 송수신하는 노드와 공유하는 공유키로 생성된 대칭키를 말한다.
제어부(16)는 자신의 데이터를 전송하려는 상대 센서노드가 자신과 동일한 축상위치를 갖으면 데이터를 암호화하여 전송하고, 동일한 축상위치를 갖지 않으면 패스키를 암호화하여 선정된 수신노드에 전송하고, 암호화된 패스키를 전송받으면 복호화하고 다시 암호화하여 선정된 수신노드로 전송하고, 받은 데이터는 대칭키 또는 패스키로 복호화한다.
한편, 상기 공유키는 유한체 Fq상에서 f(x,y) = f(y,x)의 성질을 만족하는 t차 이변수 다항식 함수이고, 상기 x, y는 센서노드의 위치값이고, 분배받는 공유키는 상기 함수의 한 변수에 자신의 위치값을 대입하여 만들어진 일변수 다항식 함수인 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한다.
대칭키 생성부(14)는 분배받은 공유키 함수에 자신의 위치값을 입력하여 얻은 결과값을 대칭키로 정한다.
자신의 위치값은 해쉬함수를 이용하여 자신의 위치값을 입력값으로 하여 출력되는 값을 사용될 수 있다.
센서노드의 개수가 α개일 때, 상기 N차원 격자는 각 차원마다
Figure 112008013313474-pat00023
의 길이를 갖는다.
대칭키 생성부(14)는 자신이 송수신 노드와 동일한 축상 위치가 하나 이상인 경우, 가장 작은 차원의 축상위치 또는 가장 큰 차원의 축상위치에 대응되는 공유키로 대칭키를 생성한다.
제어부(16)는 수신 노드에 암호화된 데이터 또는 패스키를 전송할 때 대칭키를 생성한 공유키의 축상위치도 함께 전송한다.
상기 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드에 대한 설명 중 미흡한 부분은 앞서 설명된 센서네트워크의 N차원 격자를 이용한 키 분배 방법에 대한 설명을 참고한다.
다음으로, 본 발명의 본 발명의 일실시예에 따른 N차원 격자를 이용한 키 분배 방법 및 센서노드에 대한 성능평가를 검토를 도 10 내지 도 14를 참조하여 설명한다. 도 10은 본 발명의 일실시예에 따른 격자의 차원이 증가함에 따른 키 공유 확률을 다른 방법과 비교한 표이고, 도 11은 본 발명의 일실시예에 따른 격자의 차원이 증가함에 따른 직접중간노드의 개수를 나타낸 그래프이다. 도 12는 본 발명의 일실시예에 따른 격자의 차원이 증가함에 따른 평균 키 설정 소비 에너지를 예시한 그래프이고, 도 13은 본 발명의 일실시예에 따른 격자의 차원이 증가함에 따른 t차 이변수 다항식의 t의 크기를 예시한 그래프이다. 도 14는 본 발명의 일실시예에 따른 공격자에게 드러난 노드의 수가 증가함에 따른 정상 노드 사이의 키가 유출된 비율을 예시한 그래프이다.
다음 수식은 격자의 차원이 증가함에 따른 키 공유 확률을 나타낸다. N은 차원을 의미하며 α는 노드의 수를 의미한다.
Figure 112008013313474-pat00024
도면 10a는 위의 수식에 따른 결과이며 본 발명이 기존 2차원 격자를 이용하 였던 Lui와 Ning의 방법보다 차원이 증가함에 따라 높은 키 공유 확률을 갖는다는 것을 알 수 있다. 또한 도면 10b는 본 발명과 Gilgor의 방법의 키 공유 확률을 비교한 것이다. 본 발명에서 격자를 이용하여 키 사이에 일정한 규칙을 생성하였음에도 불구하고 Gilgor의 방법과 거의 비슷한 키 공유 확률을 갖는다는 것을 알 수 있다.
다음 수식은 격자의 차원이 증가함에 따른 직접중간노드의 수를 나타낸다. N은 차원을 의미하며 α는 노드의 수를 의미한다.
Figure 112008013313474-pat00025
도면 11a는 위의 수식에 따른 결과이며 2차원 격자를 이용했던 Lui와 Ning의 방법에서는 직접중간노드의 수가 항상 2이지만 본 발명에서는 격자의 차원과 노드의 수가 증가함에 따라 직접중간노드의 수가 증가하는 것을 볼 수 있다. 도면 11b에서는 격자의 차원이 증가함에 따른 직접중간노드의 비율을 도시하고 있다. 이를 통해 단순히 직접중간노드의 수만 증가하는 것이 아니라 직접중간노드의 비율 역시 증가하고 있다는 점을 알 수 있다. 이는 센서 노드가 패스키를 설정하고자 할 때 주변에 직접중간노드가 존재할 확률이 더 높아진다는 것을 의미하며 이를 통해 추가적인 통신의 오버헤드를 줄일 수 있다.
다음 수식은 격자의 차원이 증가함에 따른 두 노드사이에 키를 설정하는데 소비되는 에너지를 계산한 것이다. E는 1홉 통신에 소비되는 평균 에너지 량, P는 단일 센서 노드가 유효하지 않을 확률 그리고 d는 패스키 설정을 위해 필요한 최대 중간노드의 수이다.
Figure 112008013313474-pat00026
도면 12는 E = 91.91μ, d = 2, p = 0.001 일 때, 위의 수식에 따른 결과이며 노드의 수가 적을수록 격자의 차원이 증가할수록 평균 소비되는 에너지 량이 감소하는 것을 알 수 있다.
도면 13은 격자의 차원이 증가함에 따른 t차 이변수 다항식의 t의 변화를 도시한 것이다. 단일 t차 이변수 다항식을 공격자가 획득하기 위해서는 t+1개 이상의 노드를 획득하여야 하기 때문에 t는 단일 다항식에 대한 유출 저항성을 의미한다. 센서 노드의 키 저장 공간이 작을수록 격자의 차원이 증가할수록 감소하지만 격자의 차원이 증가할수록 감소폭이 줄어든다는 것을 알 수 있다. 이는 격자의 차원이 증가할수록 단일 노드가 저장해야하는 t차 다항식의 개수가 증가하기 때문이다.
다음 수식은 본 발명에 대해 공격자에게 드러난 노드의 수가 증가함에 따른 정상 노드 사이의 키가 유출된 비율을 표현한 것이다. N은 차원, α는 노드의 수 그리고 r은 네트워크에서 공격자에게 유출된 노드의 비율을 의미한다.
Figure 112008013313474-pat00027
도면 14a는 위 수식을 바탕으로 센서 노드의 수가 20000일 때 Gilgor 방법, Lui와 Ning의 Random Subset, Lui와 Ning의 2차원 격자를 이용한 방법, Chan의 q-composite random key distribution을 본 발명에 대해 공격자에게 드러난 노드의 수가 증가함에 따른 정상 노드 사이의 키가 유출된 비율을 비교한 것이다. 단순한 비교로 Lui와 Ning의 Random Subset(p=0.014인 경우)과 2차원 격자를 이용한 방법(p=0.014인 경우)이 가장 좋다. 하지만 2차원 격자(p=0.014인 경우)를 이용한 경우 키 공유 확률이 현저하게 떨어져 에너지 효율적이지 못하다. 비슷한 키 공유 확률을 갖는 본 발명의 4차원 격자를 이용한 방법(p=0.3023인 경우), q-composite(p=0.33인 경우), Gilgor 방법(p=0.33인 경우) 그리고 Random Subset(p=0.33인 경우)를 비교하였을 때 본 발명의 경우 정상 노드 사이의 키가 유출된 비율이 가장 작았다.
본 발명에서 위와 같이 정상 노드사이의 유출된 키의 비율이 네트워크의 적은 비율의 노드를 획득함으로써 크게 증가하는 원인은 네트워크의 크기에 존재한다. 이를 방지하며 본 발명의 특징인 키 공유 확률을 높이고 패스키 설정의 오버헤드를 줄임으로써 에너지 효율을 달성하기 위해서 큰 네트워크를 작은 단위의 네트워크로 구분하여 그룹을 형성한 뒤 그룹 단위로 키 분배를 수행하는 것이다. 도면 14b는 노드 20000의 센서 네트워크에 대해 그룹단위로 키 분배를 수행하지 않은 경 우, 그룹의 크기 2000으로 키 분배를 수행한 경우 그리고 그룹의 크기 1000으로 키 분배를 수행한 경우를 표현하고 있다. 본 발명의 대부분의 경우에 있어서 키가 드러나기 위해 공격자에게 유출된 노드 수가 크게 증가하였음을 알 수 있으며 특히 3차원 격자를 이용하고 그룹의 크기가 1000인 경우 Liu와 Ning의 2차원 격자를 이용한 방법과 유사한 키의 저항성을 가짐을 알 수 있으며 이는 네트워크의 절반 이상의 노드가 공격자에게 드러날 때까지 정상 노드 사이의 키가 드러나지 않음을 나타내고 있다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
본 발명은 센서네트워크에서 수집되는 정보가 기밀성, 무결성 그리고 인증을 필요로 할 경우 인증이나 암호화 등 다양한 보안 기술을 적용하기 위한 암호화 키를 분배하는 기술을 적용하여 센서노드 및 분배서버를 개발하는데 적용이 가능하다. 특히, 본 발명은 네트워크를 그룹단위로 묶어 키 분배를 수행함으로써 대규모의 센서 네트워크의 보안을 위한 키 분배 방법 및 이를 적용한 센서노드 개발에 적용이 가능하다.
도 1은 본 발명에 따른 센서네트워크에서 센서노드들이 키를 공유하여 암호화 통신을 하는 방식을 예시한 도면이다.
도 2는 본 발명에 따른 센서노드를 3차원 격자 내의 위치에 대응시키는 것을 예시한 도면이다.
도 3은 본 발명에 따른 공유키를 3차원 격자 내의 축상 위치에 대응시키는 것을 예시한 도면이다.
도 4는 본 발명의 일실시예에 따른 센서네트워크의 N차원 격자를 이용한 키 분배 방법을 설명하는 흐름도이다.
도 5는 본 발명의 일실시예에 따른 간접중간노드를 경유하여 패스키를 전달하는 방법을 설명하는 흐름도이다.
도 6은 본 발명의 일실시예에 따른 2차원 격자를 생성하는 방법을 예시한 도면이다.
도 7은 본 발명의 일실시예에 따른 2차원 격자에서의 공유키 및 대칭키를 예시한 도면이다.
도 8은 본 발명의 일실시예에 따른 2차원 격자에서의 패스키 설정하는 방법을 예시한 도면이다.
도 9는 본 발명의 일실시예에 따른 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드의 구성에 대한 블록도이다.
도 10은 본 발명의 일실시예에 따른 격자의 차원이 증가함에 따른 키 공유 확률을 다른 방법과 비교한 표이다.
도 11은 본 발명의 일실시예에 따른 격자의 차원이 증가함에 따른 직접중간노드의 개수를 나타낸 그래프이다.
도 12는 본 발명의 일실시예에 따른 격자의 차원이 증가함에 따른 평균 키 설정 소비 에너지를 예시한 그래프이다.
도 13은 본 발명의 일실시예에 따른 격자의 차원이 증가함에 따른 t차 이변수 다항식의 t의 크기를 예시한 그래프이다.
도 14는 본 발명의 일실시예에 따른 공격자에게 드러난 노드의 수가 증가함에 따른 정상 노드 사이의 키가 유출된 비율을 예시한 그래프이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 센서노드 11 : 공유키 관리부
12 : 수신노드 선정부 13 : 패스키 관리부
14 : 대칭키 생성부 15 : 암복호 처리부
16 : 제어부 18 : 메모리

Claims (19)

  1. 다수의 센서노드와 분배 서버로 구성된 센서네트워크에서 센서노드 사이에서 데이터를 암호화하여 전송하기 위한 N차원 격자를 이용한 키 분배방법에 있어서,
    (a) 분배서버는 모든 센서노드를 N차원 격자 내의 위치로 일대일 대응시키고, 다수의 공유키를 N차원 격자의 각 축상의 위치로 일대일 대응시키고, 각 센서노드에 격자 내 위치의 각 축상 위치에 대응되는 공유키들을 분배하는 단계;
    (b) 센서노드(이하 해당 센서노드)는 상대 센서노드와 동일한 축상 위치를 갖는 공유키를 찾고, 공유키로 대칭키를 생성하여 상대 센서노드에 데이터를 대칭키로 암호화하여 전송하는 단계;
    (c) 상대 센서노드와 동일한 축상 위치를 갖는 공유키가 없는 경우, 해당 센서노드는 패스키를 생성하고, 상기 해당 센서노드와 상대 센서노드 모두에 대해 동일한 축상 위치를 갖는 직접중간노드를 경유하여 상대 센서노드에 패스키를 전송하고, 상대 센서노드에 패스키로 데이터를 암호화하여 직접 전송하는 단계; 및
    (e) 상대 센서노드는 상기 해당 센서노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키 또는 직접중간노드로부터 전송받은 패스키로 암호화된 데이터를 복호화하는 단계를 포함하고,
    상기 패스키는 두 개 노드 사이에서 전송될 때, 두 개 노드의 동일한 축상 위치에 대응되는 공유키로 생성된 대칭키에 의해 암호화하여 전송되고 복호화되는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배방법.
  2. 제 1 항에 있어서,
    (d) 직접중간노드가 없는 경우, 해당 센서노드는 패스키를 생성하고, 상기 해당 센서노드와 동일한 축상 위치를 갖는 간접중간노드와, 상기 간접중간노드와 상대 센서노드 간의 직접중간노드를 경유하여, 상대 센서노드에 패스키를 전송하고, 상대 센서노드에 패스키로 데이터를 암호화하여 직접 전송하는 단계를 더 포함하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배방법.
  3. 제 2 항에 있어서, 상기 (d)단계는
    (d1) 직접중간노드가 없는 경우, 해당 센서노드는 패스키를 생성하는 단계;
    (d2) 해당 센서노드는 상기 해당 센서노드와 동일한 축상 위치를 갖는 간접중간노드를 찾아 상기 패스키를 상기 간접중간노드에 전송하는 단계;
    (d3) 간접중간노드는 상기 간접중간노드와 상대 센서노드 사이의 직접중간노드를 찾는 단계;
    (d4) 직접중간노드를 찾지 못하면, 간접중간노드는 상기 간접중간노드와 동일한 축상 위치를 갖는 다른 간접중간노드를 찾아 상기 패스키를 상기 다른 간접중간노드에 전송하는 단계;
    (d5) 간접중간노드는 직접중간노드를 찾을 때까지 (d3)단계와 (d4)단계를 반복하는 단계;
    (d6) 간접중간노드로부터 패스키를 받은 직접중간노드는 상기 패스키를 상대 센서노드로 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배방법.
  4. 제 3 항에 있어서,
    상기 해당 센서노드가 패스키를 전송할 때, 직접중간노드 또는 간접중간노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 암호화하여 전송하고,
    상기 직접중간노드 또는 간접중간노드는 암호화된 패스키를 전송 받으면, 전송해준 노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 암호화된 패스키를 복호화하고, 전송할 노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 복호화한 패스키를 다시 암호화하여 전송하고,
    상대 센서노드는 직접중간노드로부터 암호화된 패스키를 받아, 직접중간노드와 동일한 축상 위치를 갖는 공유키로 생성한 대칭키로 암호화된 패스키를 복호화 하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배방법.
  5. 제 4 항에 있어서,
    상기 공유키는 유한체 Fq상에서 f(x,y) = f(y,x)의 성질을 만족하는 t차 이변수 다항식 함수이고, 상기 x, y는 센서노드의 위치값이고,
    각 센서노드가 분배받는 공유키는 상기 함수의 한 변수에 센서노드의 위치값을 대입하여 만들어진 일변수 다항식 함수인 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배방법.
  6. 제 5 항에 있어서,
    센서노드는 분배받은 공유키 함수에 자신의 위치값을 입력하여 얻은 결과값을 대칭키로 정하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배방법.
  7. 제 6 항에 있어서,
    센서노드의 위치값은 해쉬함수를 이용하여 센서노드의 위치를 입력값으로 하여 출력되는 값인 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배방법.
  8. 제 7 항에 있어서,
    센서노드의 개수가 α개일 때,
    상기 N차원 격자는 각 차원마다
    Figure 112008013313474-pat00028
    의 길이를 갖는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배방법.
  9. 제 4 항에 있어서,
    해당 센서노드가 상대 센서노드와 동일한 축상 위치가 하나 이상인 경우, 가장 작은 차원의 축상위치 또는 가장 큰 차원의 축상위치에 대응되는 공유키로 대칭키를 생성하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배방법.
  10. 제 4 항에 있어서,
    해당 센서노드가 상대 센서노드에 암호화된 데이터 또는 패스키를 전송할 때 대칭키를 생성한 공유키의 축상위치도 함께 전송하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항의 센서네트워크의 N차원 격자를 이용한 키 분배방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  12. 다수의 센서노드와 분배 서버로 구성된 센서네트워크에서 상대 센서노드로 데이터를 암호화하여 전송하는 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드(이하 해당 센서노드)에 있어서,
    상기 해당 센서노드는,
    분배서버로부터 N차원 격자 내의 배타적으로 정해진 위치와 상기 격자 내 위치의 각 축상 위치에 대응되는 공유키들을 전송받아 저장하는 공유키 관리부;
    상대 센서노드가 상기 해당 센서노드와 동일한 축상위치를 갖으면 상대 센서노드를 선정하고, 동일한 축상위치를 갖지 않으면 통신반경내의 센서노드들 중 상대 센서노드 및 상기 해당 센서노드와 모두 동일한 축상위치를 갖는 직접중간노드들 중 하나를 선정하는 수신노드 선정부;
    패스키를 생성하거나, 암호화된 패스키를 전송받고 재 암호화된 패스키를 전송하는 패스키 관리부;
    상기 해당 센서노드의 위치가 송수신 노드와 동일한 축상위치에 대응되는 공유키로 송수신노드와의 대칭키를 생성하는 대칭키 생성부;
    송수신노드로 송수신하는 데이터 또는 패스키를 송수신노드와의 대칭키 또는 패스키로 암호화하거나 복호화하는 암복호 처리부;
    상대 센서노드가 상기 해당 센서노드와 동일한 축상위치를 갖으면 데이터를 암호화하여 전송하고, 동일한 축상위치를 갖지 않으면 패스키를 암호화하여 선정된 수신노드에 전송하고, 암호화된 패스키를 전송받으면 복호화하고 다시 암호화하여 선정된 수신노드로 전송하고, 받은 데이터는 대칭키 또는 패스키로 복호화하는 제어부;
    를 포함하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드.
  13. 제 12 항에 있어서, 상기 수신노드 선정부는,
    직접중간노드를 검색하지 못하면 상기 해당 센서노드에 대해서만 동일한 축상위치를 갖는 간접중간노드 들 중 하나를 선정하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드.
  14. 제 13 항에 있어서,
    상기 공유키는 유한체 Fq상에서 f(x,y) = f(y,x)의 성질을 만족하는 t차 이변수 다항식 함수이고, 상기 x, y는 센서노드의 위치값이고,
    분배받는 공유키는 상기 함수의 한 변수에 공유키를 분배받는 센서노드의 위치값을 대입하여 만들어진 일변수 다항식 함수인 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드.
  15. 제 14 항에 있어서, 상기 대칭키 생성부는,
    분배받은 공유키 함수에 상기 해당 센서노드의 위치값을 입력하여 얻은 결과값을 대칭키로 정하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드.
  16. 제 15 항에 있어서,
    상기 해당 센서노드의 위치값은 해쉬함수를 이용하여 상기 해당 센서노드의 위치값을 입력값으로 하여 출력되는 값인 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드.
  17. 제 16 항에 있어서,
    센서노드의 개수가 α개일 때,
    상기 N차원 격자는 각 차원마다
    Figure 112008013313474-pat00029
    의 길이를 갖는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드.
  18. 제 13 항에 있어서, 상기 대칭키 생성부는,
    상기 해당 센서노드가 송수신 노드와 동일한 축상 위치가 하나 이상인 경우, 가장 작은 차원의 축상위치 또는 가장 큰 차원의 축상위치에 대응되는 공유키로 대칭키를 생성하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드.
  19. 제 13 항에 있어서, 상기 제어부는,
    수신 노드에 암호화된 데이터 또는 패스키를 전송할 때 대칭키를 생성한 공유키의 축상위치도 함께 전송하는 것을 특징으로 하는 센서네트워크의 N차원 격자를 이용한 키 분배 센서노드.
KR1020080016273A 2008-02-22 2008-02-22 센서네트워크의 n차원 격자를 이용한 키 분배 방법 및장치 KR100987315B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080016273A KR100987315B1 (ko) 2008-02-22 2008-02-22 센서네트워크의 n차원 격자를 이용한 키 분배 방법 및장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080016273A KR100987315B1 (ko) 2008-02-22 2008-02-22 센서네트워크의 n차원 격자를 이용한 키 분배 방법 및장치

Publications (2)

Publication Number Publication Date
KR20090090803A KR20090090803A (ko) 2009-08-26
KR100987315B1 true KR100987315B1 (ko) 2010-10-13

Family

ID=41208541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080016273A KR100987315B1 (ko) 2008-02-22 2008-02-22 센서네트워크의 n차원 격자를 이용한 키 분배 방법 및장치

Country Status (1)

Country Link
KR (1) KR100987315B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101692670B1 (ko) * 2016-04-15 2017-01-03 김광태 단방향 데이터 전송 시스템 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100640003B1 (ko) 2005-09-13 2006-11-01 한국전자통신연구원 무선 센서 네트워크에서의 키 설정 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100640003B1 (ko) 2005-09-13 2006-11-01 한국전자통신연구원 무선 센서 네트워크에서의 키 설정 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문-1 2005.08.22
논문-2 2003. 04.23

Also Published As

Publication number Publication date
KR20090090803A (ko) 2009-08-26

Similar Documents

Publication Publication Date Title
Yousefpoor et al. A hierarchical secure data aggregation method using the dragonfly algorithm in wireless sensor networks
JP5637991B2 (ja) ネットワークにおけるセキュア通信に関する方法、通信デバイス、ネットワーク及びコンピュータプログラム
Gandino et al. A key distribution scheme for mobile wireless sensor networks: $ q $-$ s $-composite
US20200034550A1 (en) System and method to protect data privacy of lightweight devices using blockchain and multi-party computation
CN104780532B (zh) 一个可用于无线传感网络的簇密钥管理方法
Sahingoz Large scale wireless sensor networks with multi-level dynamic key management scheme
CN102356597B (zh) 用于在网络中安全通信的方法、及其通信设备、网络
JP5637990B2 (ja) ネットワークにおいて通信する方法、通信装置及びシステム
CN105208007A (zh) 一种数据共享系统
Sarkar et al. Security enhanced communication in wireless sensor networks using reed-muller codes and partially balanced incomplete block designs
Shrivastava et al. LICCA: a lightweight image cipher using 3-D cellular automata
Delgosha et al. A multivariate key-establishment scheme for wireless sensor networks
US9049181B2 (en) Network key update system, a server, a network key update method and a recording medium
Choudhary et al. A distributed key management protocol for wireless sensor network
KR100640003B1 (ko) 무선 센서 네트워크에서의 키 설정 방법
KR100987315B1 (ko) 센서네트워크의 n차원 격자를 이용한 키 분배 방법 및장치
Ehdaie et al. 2D hash chain robust random key distribution scheme
CN114244499B (zh) 基于树结构对称密钥池的群组通信方法及系统
KR100737385B1 (ko) 무선 센서 네트워크에서 키 데이터의 송신 방법
Mansour et al. Evaluation of different cryptographic algorithms on wireless sensor network nodes
Boumerzoug et al. A lightweight key management scheme based on an Adelson‐Velskii and Landis tree and elliptic curve cryptography for wireless sensor networks
Preethi et al. AKCSS: An Asymmetric Key Cryptography Based on Secret Sharing in Mobile Ad Hoc Network
Huang et al. A secure and efficient WSN by employing symmetric key matrix and rectangular frame scheme
Pramod et al. Key pre-distribution schemes to support various architectural deployment models in WSN
Hole et al. Effective Quantum Key Distribution Using Modified Key Sifting Scheme for Cloud Storage Security.

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: 20130930

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee