KR101987411B1 - 비밀키 공유 방법 및 장치 - Google Patents

비밀키 공유 방법 및 장치 Download PDF

Info

Publication number
KR101987411B1
KR101987411B1 KR1020170080723A KR20170080723A KR101987411B1 KR 101987411 B1 KR101987411 B1 KR 101987411B1 KR 1020170080723 A KR1020170080723 A KR 1020170080723A KR 20170080723 A KR20170080723 A KR 20170080723A KR 101987411 B1 KR101987411 B1 KR 101987411B1
Authority
KR
South Korea
Prior art keywords
nodes
secret key
node
predetermined number
partial
Prior art date
Application number
KR1020170080723A
Other languages
English (en)
Other versions
KR20190001168A (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 KR1020170080723A priority Critical patent/KR101987411B1/ko
Publication of KR20190001168A publication Critical patent/KR20190001168A/ko
Application granted granted Critical
Publication of KR101987411B1 publication Critical patent/KR101987411B1/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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Abstract

복수의 노드를 포함하는 PAC(Peer-Aware Communication) 네트워크의 특정 노드에 포함되어 복수의 노드 중 비밀키를 공유하지 않은 노드인 미인증 노드와 공유 비밀키를 공유하기 위한 비밀키 공유 방법 및 장치에 있어서, 비밀키 생성 요청 메시지 전송부가, 복수의 노드 중 미인증 노드와 비밀키를 공유하는 노드인 복수의 공통 노드에서 선택된 기설정된 개수의 중계 노드 각각에게 부분 비밀키 생성 요청 메시지를 전송하는 단계, 부분 비밀키 수신부가, 기설정된 개수의 중계 노드 각각과 미인증 노드 상호 간의 통신에 기초하여 생성된 기설정된 개수의 부분 비밀키를 각각 수신하는 단계 및 공유 비밀키 생성부가, 기설정된 개수의 부분 비밀키에 기초하여 미인증 노드와 공유할 비밀키인 공유 비밀키를 생성하는 단계를 포함하는, 비밀키 공유 방법 및 이를 위한 장치에 관한 것이다.

Description

비밀키 공유 방법 및 장치{METHOD AND APPARATUS FOR SHARING SECRET KEY}
본 발명은 복수의 노드를 포함하는 PAC(Peer-Aware Communication) 네트워크에서 특정 노드 및 미인증 노드 상호 간에 비밀키를 공유하기 위한 비밀키 공유 방법 및 장치에 관한 것이다.
스마트폰, 태블릿 PC를 비롯하여 각종 고성능 사용자 단말기가 등장함에 따라 사용자 단말기가 상호간에 기지국 또는 AP(Access Point)를 거치지 않고 통신하는 D2D(Device to Device) 통신에 대한 관심이 점차로 확대되고 있다.
종래의 D2D 통신기술로는 퀄컴의 FlashLinQ와 와이파이 얼라이언스의 Wi-Fi Direct가 알려져 있으나, FlashLinQ의 경우 전용 면허 대역을 가정하고 설계되었기 때문에 다른 통신 시스템으로부터의 간섭이 예상되는 비면허 대역에서는 사용할 수 없으며, Wi-Fi Direct의 경우 D2D 통신을 고려해 설계된 프로토콜이 아닌 IEEE 802.11의 물리계측(Physical Layer) 프로토콜과 매체접근제어계층(MAC Layer) 프로토콜을 변경없이 사용하여 진정한 D2D 통신 서비스를 제공하는데 한계가 있다.
이에 따라, 상술한 종래의 D2D 통신기술의 문제점을 해결하기 위하여, PAC(대상인식통신, Peer-Aware Communication)이 표준화 되었으며, 이러한 PAC 통신은 다중 그룹통신을 지원하고, 멀티홉 릴레이(Multi-Hop Relay) 기능을 지원하는 등 다양한 특징이 있다.
이러한 PAC 통신은 PAC 네트워크를 구성하는 복수의 노드들 상호간에 서로 비밀키를 공유함으로써 비공개 채널을 통해 복수의 노드들 상호간에 서로 통신을 수행하고 데이터를 송수신할 수 있는 특징이 있다.
종래의 PAC 통신에서 복수의 노드들 상호간에 서로 비밀키를 공유하기 위해서는 아직 서로 비밀키를 공유하지 않은 특정 노드와 미인증 노드 상호간에 공개 채널을 통해 서로를 인식하고 전체 비밀키를 한번에 송수신하여 공유하기 때문에 도청에 매우 취약한 문제가 있다.
한국 등록특허공보 제10-0576530호 (2006.04.27.)
본 발명의 목적은, PAC 네트워크에 포함된 복수의 노드 중 아직 비밀키를 공유하지 않은 미인증 노드와 비밀키를 공유하는 노드인 복수의 공통 노드에서 선택된 기설정된 중계 노드로부터 특정 노드와 미인증 노드 상호간에 공유할 공유 비밀키에 대한 부분 비밀키를 수신하여 특정 노드와 미인증 노드 상호간에 공유하는 비밀키인 공유 비밀키를 생성하기 위함이다.
상기한 목적을 달성하기 위하여, 본 발명의 실시예에 따른 비밀키 공유 방법은, 복수의 노드를 포함하는 PAC(Peer-Aware Communication) 네트워크의 특정 노드에 포함되어 복수의 노드 중 비밀키를 공유하지 않은 노드인 미인증 노드와 공유 비밀키를 공유하기 위한 비밀키 공유 방법을 의미할 수 있다.
본 발명의 실시예에 따른 비밀키 공유 방법은, 비밀키 생성 요청 메시지 전송부가, 복수의 노드 중 미인증 노드와 비밀키를 공유하는 노드인 복수의 공통 노드에서 선택된 기설정된 개수의 중계 노드 각각에게 부분 비밀키 생성 요청 메시지를 전송하는 단계, 부분 비밀키 수신부가, 기설정된 개수의 중계 노드 각각과 미인증 노드 상호 간의 통신에 기초하여 생성된 기설정된 개수의 부분 비밀키를 각각 수신하는 단계 및 공유 비밀키 생성부가, 기설정된 개수의 부분 비밀키에 기초하여 미인증 노드와 공유할 비밀키인 공유 비밀키를 생성하는 단계를 포함한다.
예컨대, 부분 비밀키 생성 요청 메시지를 전송하는 단계는, 중계 요청 메시지 전송부가, 복수의 노드 중 적어도 두 개의 노드 각각에게 미인증 노드와의 중계를 요청하는 메시지인 중계 요청 메시지를 전송하는 단계, 확인 메시지 수신부가, 복수의 공통 노드 각각으로부터 확인 메시지를 수신하는 단계 및 중계 노드 선택부가, 복수의 공통 노드 각각에 대하여 기설정된 순위 산정 알고리즘을 적용하여, 복수의 공통 노드 중 순위가 높은 순서대로 기설정된 개수의 중계 노드를 선택하는 단계를 더 포함한다.
예를 들어, 중계 노드의 기설정된 개수는, 기설정된 개수의 부분 비밀키 모두가 도청될 확률을 복수의 노드의 전체 개수에 대하여 산출한 부분 비밀키 도청 확률이 기설정된 임계값 보다 낮도록 설정된다.
예컨대, 부분 비밀키 도청 확률은, 부분 비밀키의 기설정된 개수(k), 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수(S), 복수의 노드의 전체 개수(N) 및 복수의 노드 중 도청될 것으로 가정한 노드의 개수(m)에 기초하여 산출된다.
일 실시예에 따르면, 부분 비밀키 도청 확률은 하기 수학식 1에 기초하여 산출된다.
[수학식 1]
Figure 112017061190896-pat00001
이때,
Figure 112017061190896-pat00002
는 부분 비밀키 도청 확률, k는 상기 부분 비밀키의 기설정된 개수, S는 상기 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수, N은 상기 복수의 노드의 전체 개수, m은 상기 복수의 노드 중 도청될 것으로 가정한 노드의 개수를 의미한다.
예컨대, 공유 비밀키를 생성하는 단계는, 공유 비밀키 생성 요청 메시지 전송부가, 미인증 노드에게 기설정된 개수의 부분 비밀키에 기초하여 공유 비밀키를 생성할 것을 요청하는 메시지인 공유 비밀키 생성 요청 메시지를 공개 채널을 통해 전송하는 단계를 더 포함한다.
일 실시예에 따르면, 공유 비밀키를 생성하는 단계는, 공유 비밀키 생성부가, 기설정된 개수의 부분 비밀키를 서로 XOR 연산한 결과값에 기설정된 해시 함수를 적용하여 공유 비밀키를 생성하는 단계를 포함한다.
예를 들어, 데이터 송수신부가, 공유 비밀키에 기초하여 미인증 노드와 비공개 채널을 통해 데이터를 송수신하는 단계를 더 포함한다.
상기한 목적을 달성하기 위하여, 본 발명의 실시예에 따른 비밀키 공유 장치는, 복수의 노드를 포함하는 PAC(Peer-Aware Communication) 네트워크의 특정 노드에 포함되어 복수의 노드 중 비밀키를 공유하지 않은 노드인 미인증 노드와 공유 비밀키를 공유하기 위한 비밀키 공유 장치를 의미할 수 있다.
예를 들어, 비밀키 공유 장치는 복수의 노드 중 미인증 노드와 비밀키를 공유하는 노드인 복수의 공통 노드에서 선택된 기설정된 개수의 중계 노드 각각에게 부분 비밀키 생성 요청 메시지를 전송하는 비밀키 생성 요청 메시지 전송부, 기설정된 개수의 중계 노드 각각과 미인증 노드 상호 간의 통신에 기초하여 생성된 기설정된 개수의 부분 비밀키를 각각 수신하는 부분 비밀키 수신부 및 기설정된 개수의 부분 비밀키에 기초하여 미인증 노드와 공유할 비밀키인 공유 비밀키를 생성하는 공유 비밀키 생성부를 포함한다.
예컨대, 복수의 노드 중 적어도 두 개의 노드 각각에게 미인증 노드와의 중계를 요청하는 메시지인 중계 요청 메시지를 전송하는 중계 요청 메시지 전송부, 복수의 공통 노드 각각으로부터 확인 메시지를 수신하는 확인 메시지 수신부 및 복수의 공통 노드 각각에 대하여 기설정된 순위 산정 알고리즘을 적용하여, 복수의 공통 노드 중 순위가 높은 순서대로 기설정된 개수의 중계 노드를 선택하는 중계 노드 선택부를 더 포함한다.
예컨대, 중계 노드의 기설정된 개수는, 기설정된 개수의 부분 비밀키 모두가 도청될 확률을 복수의 노드의 전체 개수에 대하여 산출한 부분 비밀키 도청 확률이 기설정된 임계값 보다 낮도록 설정된다.
예컨대, 부분 비밀키 도청 확률은, 부분 비밀키의 기설정된 개수(k), 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수(S), 복수의 노드의 전체 개수(N) 및 복수의 노드 중 도청될 것으로 가정한 노드의 개수(m)에 기초하여 산출된다.
예컨대, 부분 비밀키 도청 확률은 하기 수학식 1에 기초하여 산출된다.
[수학식 1]
Figure 112017061190896-pat00003
이때,
Figure 112017061190896-pat00004
는 부분 비밀키 도청 확률, k는 상기 부분 비밀키의 기설정된 개수, S는 상기 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수, N은 상기 복수의 노드의 전체 개수, m은 상기 복수의 노드 중 도청될 것으로 가정한 노드의 개수를 의미한다.
예컨대, 미인증 노드에게 기설정된 개수의 부분 비밀키에 기초하여 공유 비밀키를 생성할 것을 요청하는 메시지인 공유 비밀키 생성 요청 메시지를 공개 채널을 통해 전송하는 공유 비밀키 생성 요청 메시지 전송부를 더 포함한다.
예컨대, 공유 비밀키 생성부는, 기설정된 개수의 부분 비밀키를 서로 XOR 연산한 결과값에 기설정된 해시 함수를 적용하여 공유 비밀키를 생성한다.
예를 들어, 공유 비밀키에 기초하여 미인증 노드와 비공개 채널을 통해 데이터를 송수신하는 데이터 송수신부를 더 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명에 따르면, PAC 네트워크에 포함된 복수의 노드 중 아직 비밀키를 공유하지 않은 미인증 노드와 비밀키를 공유하는 노드인 복수의 공통 노드에서 선택된 기설정된 중계 노드로부터 특정 노드와 미인증 노드 상호간에 공유할 공유 비밀키에 대한 부분 비밀키를 수신하여 특정 노드와 미인증 노드 상호간에 공유하는 비밀키인 공유 비밀키를 생성함으로써, 기설정된 개수의 부분 비밀키가 모두 도청되지 않는 이상 공유 비밀키가 도청자에게 해킹되지 않는 효과가 있다.
도 1은 본 발명의 실시예에 따른, 비밀키 공유 방법 및 장치가 동작하는 PAC 네트워크를 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른, 비밀키 공유 장치를 설명하기 위한 구성도이다.
도 3은 본 발명의 실시예에 따른, 비밀키 공유 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 실시예에 따른, 비밀키 공유 방법에서 중계 노드 각각에게 부분 비밀키 생성 요청 메시지를 전송하는 단계를 설명하기 위한 순서도이다.
도 5, 도 6a, 도 6b 및 도 7은 본 발명의 실시예에 따른, 비밀키 공유 방법에서 중계 노드를 선택하기 위한 기설정된 개수를 결정하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 실시예에 따른, 비밀키 공유 방법 및 장치가 동작하는 PAC 네트워크에서의 정보 흐름을 설명하기 위한 도면이다.
도 9a 및 도 9b는 본 발명의 실시예에 따른, 비밀키 공유 방법 및 장치를 종래의 기술과 비교하기 위한 도면이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 본 발명의 실시예에 따른 비밀키 공유 방법 및 장치를 첨부된 도면을 참조하여 상세하게 설명하면 아래와 같다.
우선 도 1을 참조하여 본 발명의 실시예에 따른 비밀키 공유 방법 및 장치가 동작하는 PAC 네트워크(100)를 설명한다.
도 1은 본 발명의 실시예에 따른, 비밀키 공유 방법 및 장치가 동작하는 PAC 네트워크를 설명하기 위한 도면이다.
도 1에 도시된 바와 같이 PAC 네트워크(100)는 복수의 노드(1, 2, 3, 10, 11, 12, 21, 22, 23, 24, 30, 31)를 포함한다.
이때, PAC 네트워크(100)에 포함된 복수의 노드(1, 2, 3, 10, 11, 12, 21, 22, 23, 24, 30, 31) 각각은 스마트폰, 태블릿 PC를 비롯한 각종 스마트기기를 비롯하여 통신 기능을 포함하여 상호간에 데이터를 송수신할 수 있는 각종 기기를 의미할 수 있으며, 본 발명의 복수의 노드(1, 2, 3, 10, 11, 12, 21, 22, 23, 24, 30, 31)는 특정 기기로 한정되지 않는다.
도 1에서 실선, 점선 또는 화살표로 연결된 노드는 상호간에 비밀키를 이용하여 비공개 채널을 통해 통신을 수행할 수 있는 노드를 의미하며, 서로 연결되지 않은 노드는 아직 서로 비밀키를 공유하지 않은 노드로 공개 채널을 통해서만 통신을 수행할 수 있는 노드를 의미한다.
예를 들어, 노드(10)은 노드(11), 노드(12), 노드(21), 노드(22), 노드(23), 노드(24)과는 비밀키를 이용하여 비공개 채널을 통해 통신을 수행할 수 있으나, 노드(30)과는 아직 서로 비밀키를 공유하지 않아 공개 채널을 통해 통신을 수행할 수 있다.
이때, 본 발명의 실시예에 따른 비밀키 공유 장치(200)는 복수의 노드(1, 2, 3, 10, 11, 12, 21, 22, 23, 24, 30, 31) 각각에 모두 포함될 수 있으나, 설명의 편의를 위하여 노드(10)에만 포함되는 것으로 도시하였으며, 본 발명은 이에 한정되지 않는다.
이때, 노드(10)은 노드(30)과 아직 비밀키를 공유하지 않아 비공개 채널을 통해 노드(30)과 통신을 수행할 수 없는 노드로, 이하 노드(10)을 특정 노드(10)로 정의하여 설명하도록 한다.
예를 들어, 노드(30)은 특정 노드(10)와 아직 비밀키를 공유하지 않은 노드를 의미할 수 있으며, 이하 노드(30)을 미인증 노드(30)로 정의하여 설명하도록 한다.
예를 들어, 노드(21, 22, 23, 24) 각각은 특정 노드(10)와 비밀키를 공유함과 동시에 미인증 노드(30)와도 비밀키를 공유하는 노드로 이하 노드(21, 22, 23, 24)를 복수의 공통 노드(21, 22, 23, 24)로 정의하여 설명하도록 한다.
이때, 복수의 공통 노드(21, 22, 23, 24) 중 본 발명의 실시예에 따른 비밀키 공유 장치(200)에 의하여 선택되어 부분 비밀키 생성 요청 메시지를 전송받는 기설정된 개수의 노드(21, 22, 23)를 이하 기설정된 개수의 중계 노드(21, 22, 23)로 정의하여 설명한다.
즉, PAC 네트워크(100)에서 본 발명의 실시예에 따른 비밀키 공유 방법 및 장치(200)를 설명하기 위하여 정의한 상술한 노드들의 포함관계를 설명하면, 기설정된 개수의 중계 노드(21, 22, 23)는 복수의 공통 노드(21, 22, 23, 24)에 포함되고, 복수의 공통 노드(21, 22, 23, 24)는 PAC 네트워크(100)에 포함된 복수의 노드(1, 2, 3, 10, 11, 12, 21, 22, 23, 24, 30, 31)에 포함된다.
이때, 기설정된 개수의 중계 노드(21, 22, 23) 각각은 부분 비밀키(Pk1, Pk2, Pk3)를 미인증 노드(30)로부터 수신하여 특정 노드(10)에게 전달함으로써 미인증 노드(30)와 특정 노드(10) 상호 간에 비밀키를 공유하기 위한 중계 역할을 수행할 수 있다.
이때, 도 1에 도시된 복수의 노드(1, 2, 3, 10, 11, 12, 21, 22, 23, 24, 30, 31)의 개수, 복수의 공통 노드(21, 22, 23, 24)의 개수 및 기설정된 개수의 중계 노드(21, 22, 23)의 개수 각각은 설명의 편의를 위하여 임의로 설정된 것으로 본 발명은 노드의 개수에 한정되지 않는다.
이제 도 2를 참조하여, 본 발명의 실시예에 따른 비밀키 공유 장치(200)를 설명한다.
도 2는 본 발명의 실시예에 따른, 비밀키 공유 장치를 설명하기 위한 구성도이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 비밀키 공유 장치(200)는 비밀키 생성 요청 메시지 전송부(210), 부분 비밀키 수신부(220), 공유 비밀키 생성부(230)를 포함한다.
이때, 도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 비밀키 공유 장치(200)는 중계 요청 메시지 전송부(240), 확인 메시지 수신부(250), 중계 노드 선택부(260), 공유 비밀키 생성 요청 메시지 전송부(270) 및 데이터 송수신부(미도시)를 더 포함할 수도 있으나, 본 발명은 이에 한정되지 않는다.
이때, 복수의 노드(11, 21, 22, 24, 30) 중 적어도 두개의 노드(11, 21, 22, 24) 들과 통신 기능을 수행하는 비밀키 생성 요청 메시지 전송부(210), 부분 비밀키 수신부(220), 중계 요청 메시지 전송부(240), 확인 메시지 수신부(250), 공유 비밀키 생성 요청 메시지 전송부(270) 및 데이터 송수신부(미도시) 각각은 설명의 편의를 위하여 별개의 구성인 것으로 도시되었으나, 상기한 각각의 구성들은 서로 하나의 통신 모듈에 포함되는 동일한 구성일 수도 있다.
예를 들어 본 발명의 실시예에 따른 비밀키 공유 장치(200)는 복수의 노드(11, 21, 22, 24, 30)를 포함하는 PAC(Peer-Aware Communication) 네트워크의 특정 노드(10)에 포함되어 복수의 노드(11, 21, 22, 24, 30) 중 비밀키를 공유하지 않은 노드인 미인증 노드(30)와 공유 비밀키를 공유하기 위한 비밀키 공유 장치(200)를 의미할 수 있다.
비밀키 생성 요청 메시지 전송부(210)는 복수의 노드(11, 21, 22, 24, 30) 중 미인증 노드(30)와 비밀키를 공유하는 노드인 복수의 공통 노드(21, 22, 24)에서 선택된 기설정된 개수의 중계 노드(21, 22) 각각에게 부분 비밀키 생성 요청 메시지를 전송한다.
부분 비밀키 수신부(220)는 기설정된 개수의 중계 노드(21, 22) 각각과 미인증 노드(30) 상호 간의 통신에 기초하여 생성된 기설정된 개수의 부분 비밀키를 각각 수신한다.
공유 비밀키 생성부(230)는 기설정된 개수의 부분 비밀키에 기초하여 미인증 노드(30)와 공유할 비밀키인 공유 비밀키를 생성한다.
중계 요청 메시지 전송부(240)는 복수의 노드(11, 21, 22, 24, 30) 중 적어도 두 개의 노드(11, 21, 22, 24) 각각에게 미인증 노드(30)와의 중계를 요청하는 메시지인 중계 요청 메시지를 전송한다.
확인 메시지 수신부(250)는 복수의 공통 노드(21, 22, 24) 각각으로부터 확인 메시지를 수신한다.
중계 노드 선택부(260)는 복수의 공통 노드(21, 22, 24) 각각에 대하여 기설정된 순위 산정 알고리즘을 적용하여, 복수의 공통 노드(21, 22, 24) 중 순위가 높은 순서대로 기설정된 개수의 중계 노드(21, 22)를 선택한다.
일 실시예에 따르면, 중계 노드(21, 22)의 기설정된 개수는, 기설정된 개수의 부분 비밀키 모두가 도청될 확률을 복수의 노드(11, 21, 22, 24, 30)의 전체 개수에 대하여 산출한 부분 비밀키 도청 확률이 기설정된 임계값 보다 낮도록 설정된다.
예를 들어, 부분 비밀키 도청 확률은, 부분 비밀키의 기설정된 개수(k), 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수(S), 복수의 노드의 전체 개수(N) 및 복수의 노드 중 도청될 것으로 가정한 노드의 개수(m)에 기초하여 산출된다.
예를 들면, 부분 비밀키 도청 확률은 하기 수학식 1에 기초하여 산출된다.
[수학식 1]
Figure 112017061190896-pat00005
이때,
Figure 112017061190896-pat00006
는 부분 비밀키 도청 확률, k는 상기 부분 비밀키의 기설정된 개수, S는 상기 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수, N은 상기 복수의 노드의 전체 개수, m은 상기 복수의 노드 중 도청될 것으로 가정한 노드의 개수를 의미한다.
공유 비밀키 생성 요청 메시지 전송부(270) 미인증 노드(30)에게 기설정된 개수의 부분 비밀키에 기초하여 공유 비밀키를 생성할 것을 요청하는 메시지인 공유 비밀키 생성 요청 메시지를 공개 채널을 통해 전송한다.
예를 들어, 공유 비밀키 생성부(230)는, 기설정된 개수의 부분 비밀키를 서로 XOR 연산한 결과값에 기설정된 해시 함수를 적용하여 공유 비밀키를 생성한다.
데이터 송수신부(미도시)는 공유 비밀키에 기초하여 미인증 노드(30)와 비공개 채널을 통해 데이터를 송수신한다.
이제, 본 발명의 실시예에 따른 비밀키 공유 장치(200)의 각각의 구성들에 대한 보다 구체적인 설명은 이하 도 3 내지 도 7을 참조하여 후술하도록 하며, 중복되는 설명은 생략한다.
이제 도 3을 참조하여, 본 발명의 실시예에 따른 비밀키 공유 방법을 설명한다.
도 3은 본 발명의 실시예에 따른, 비밀키 공유 방법을 설명하기 위한 순서도이다.
도 3에 도시된 바와 같이, 본 발명의 실시예에 따른, 비밀키 공유 방법은 중계 노드 각각에게 부분 비밀키 생성 요청 메시지를 전송하는 단계(S310), 기설정된 개수의 부분 비밀키 각각을 수신하는 단계(S320) 및 공유 비밀키를 생성하는 단계(S330)를 포함한다.
예를 들어, 본 발명의 실시예에 따른 비밀키 공유 방법은 복수의 노드(11, 21, 22, 24, 30)를 포함하는 PAC(Peer-Aware Communication) 네트워크의 특정 노드(10)에 포함되어 복수의 노드(11, 21, 22, 24, 30) 중 비밀키를 공유하지 않은 노드인 미인증 노드(30)와 공유 비밀키를 공유하기 위한 비밀키 공유 방법을 의미할 수 있다.
S310 단계는, 비밀키 생성 요청 메시지 전송부(210)가, 복수의 노드(11, 21, 22, 24, 30) 중 미인증 노드(30)와 비밀키를 공유하는 노드인 복수의 공통 노드(21, 22, 24)에서 선택된 기설정된 개수의 중계 노드(21, 22) 각각에게 부분 비밀키 생성 요청 메시지를 전송하는 단계를 의미할 수 있다.
이제 도 4, 도 5, 도 6a, 도 6b 및 도 7을 참조하여 S310 단계의 일 실시예를 보다 상세히 설명한다.
도 4는 본 발명의 실시예에 따른, 비밀키 공유 방법에서 중계 노드 각각에게 부분 비밀키 생성 요청 메시지를 전송하는 단계를 설명하기 위한 순서도이며, 도 5, 도 6a, 도 6b 및 도 7은 본 발명의 실시예에 따른, 비밀키 공유 방법에서 중계 노드를 선택하기 위한 기설정된 개수를 결정하는 방법을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, S310 단계는 복수의 노드 각각에게 중계 요청 메시지를 전송하는 단계(S311), 복수의 공통 노드로부터 확인 메시지를 수신하는 단계(S313) 및 기설정된 개수의 중계 노드를 선택하는 단계(S315)를 포함한다.
S311 단계는, 중계 요청 메시지 전송부(240)가, 복수의 노드(11, 21, 22, 24, 30) 중 적어도 두 개의 노드(11, 21, 22, 24) 각각에게 미인증 노드(30)와의 중계를 요청하는 메시지인 중계 요청 메시지를 전송하는 단계를 의미할 수 있다.
보다 상세하게, S311 단계에서 중계 요청 메시지 전송부(240)는 복수의 노드(11, 21, 22, 24, 30) 중 적어도 두 개의 노드(11, 21, 22, 24) 각각에게 특정 노드(10)와 적어도 두 개의 노드(11, 21, 22, 24) 각각 상호 간의 비밀키 및 미인증 노드(30)의 주소 정보에 기초하여 생성된 중계 요청 메시지를 적어도 두 개의 노드(11, 21, 22, 24) 각각에게 비공개 채널을 통해 전송할 수 있다.
예를 들어, 적어도 두 개의 노드(11, 21, 22, 24)는 PAC 네트워크에 포함된 복수의 노드(11, 21, 22, 24, 30) 중 특정 노드(10)와 미리 서로 비밀키를 공유하여 비공개 채널을 통해 통신할 수 있는 노드를 의미할 수 있다.
즉, S311 단계를 통해 중계 요청 메시지 전송부(240)는 특정 노드(10)와 비공개 채널을 통해 통신을 수행할 수 있는 적어도 두 개의 노드(11, 21, 22, 24) 각각에게 미인증 노드(30)와의 공유 비밀키 생성을 중계할 것으로 요청하는 메시지인 중계 요청 메시지를 전송할 수 있다.
S313 단계는, 확인 메시지 수신부(250)가, 복수의 공통 노드(11, 21, 22) 각각으로부터 확인 메시지를 수신하는 단계를 의미할 수 있다.
예를 들어, 복수의 공통 노드(11, 21, 22)는 특정 노드(10) 및 미인증 노드(30) 모두와 비밀키를 공유하며, 특정 노드(10) 및 미인증 노드(30) 각각에게 비공개 채널을 통해 통신을 수행할 수 있는 노드를 의미할 수 있다.
한편, S313 단계에서, 복수의 노드(11, 21, 22, 24, 30) 중 미인증 노드(30)와 비밀키를 공유하지 못하여, 미인증 노드(30)와 비공개 채널을 통해 통신을 수행할 수 없는 노드(미도시)는 S311 단계에서 전송된 중계 요청 메시지 전송부(240)의 중계 요청 메시지를 무시(ignore)할 수 있다.
S315 단계는, 중계 노드 선택부(260)가, 복수의 공통 노드(11, 21, 22, 24) 각각에 대하여 기설정된 순위 산정 알고리즘을 적용하여, 복수의 공통 노드(11, 21, 22, 24) 중 순위가 높은 순서대로 기설정된 개수의 중계 노드(21, 22)를 선택하는 단계를 의미할 수 있다.
일 실시예에 따르면, 기설정된 순위 산정 알고리즘은 신뢰도 기반 랭킹의 의사 무작위 함수(pseudo-random function of trust based ranking)을 비롯하여 각종 추천 시스템에서 활용하는 랭킹 알고리즘을 포함할 수 있으며, 본 발명은 특정 순위 산정 알고리즘에 한정되지 않는다.
이하, 본 발명에서 활용할 수 있는 변형된 신뢰도 기반 랭킹의 의사 무작위 함수(pseudo-random function of trust based ranking)를 수학식 2 내지 4를 참조하여 설명하도록 하나, 본 발명은 이에 한정되는 것은 아니다.
복수의 공통 노드(11, 21, 22, 24) 중 i번째 공통 노드에 대한 랭킹(ranking)인 ri는 아래 수학식 2를 통해 산출될 수 있다.
[수학식 2]
Figure 112017061190896-pat00007
이때, ri는 i번째 공통 노드에 대한 랭킹, s는 통신 대화(conversation), Ds는 통신 대화 s의 바이트(byte)로 표현된 데이터 사이즈, Ts는 시간에 대해 감소하는 감소 함수를 의미한다.
이때, 시간에 대해 감소하는 감소 함수 Ts는 아래 수학식 3에 의해 결정될 수 있다.
[수학식 3]
Figure 112017061190896-pat00008
이때, Ts는 시간에 대해 감소하는 감소함수,
Figure 112017061190896-pat00009
은 0보다 크거나 같고 1보다 작거나 같은 상수, tnow는 현재 시각, teos는 통신 대화 s의 종료 시각을 의미한다.
상술한 수학식 2 및 수학식 3의 조건에서 의사 무작위 함수(pseudo-random function)에 의해 업데이트 되는 i번째 공통 노드에 대한 랭킹(ranking)은 아래 수학식 4에 기초하여 업데이트 될 수 있다.
[수학식 4]
Figure 112017061190896-pat00010
이때, 등호(=) 좌측의 ri는 업데이트된 i번째 공통 노드에 대한 랭킹(ranking), 등호(=) 우측의 ri는 업데이트 되기 이전의 i번째 공통 노드에 대한 랭킹(ranking), random()는 의사 무작위 함수, max()는 최대값 추출 함수, min()는 최소값 추출 함수, rj는 j번째 공통 노드에 대한 랭킹을 의미한다.
그 결과, S315 단계에서 중계 노드 선택부(260)는, 복수의 공통 노드(11, 21, 22, 24) 각각에 대하여 결정된 순위가 높은 순서대로 복수의 공통 노드(11, 21, 22, 24) 중 기설정된 개수를 선정하여 이를 중계 노드(21, 22)로 결정할 수 있다.
이제, S315 단계에서 선택된 중계 노드(21, 22)의 기설정된 개수를 결정하는 조건을 설명한다.
예를 들어, 중계 노드의 기설정된 개수는, 기설정된 개수의 부분 비밀키 모두가 도청될 확률을 복수의 노드(11, 21, 22, 24, 30)의 전체 개수에 대하여 산출한 부분 비밀키 도청 확률이 기설정된 임계값 보다 낮도록 설정될 수 있다.
예를 들어, 도 7에 도시된 바와 같이, 복수의 노드(11, 21, 22, 24, 30)의 전체 개수가 50개이며, 복수의 노드(11, 21, 22, 24, 30) 중 도청될 것으로 가정한 노드의 개수가 5개인 경우에서 중계 노드의 기설정된 개수가 2개인 경우의 부분 비밀키 도청 확률은 1.39E-02로 계산되었고, 중계 노드의 기설정된 개수가 3개인 경우의 부분 비밀키 도청 확률은 7.03E- 04으로 계산되었으며, 중계 노드의 기설정된 개수가 4개인 경우의 부분 비밀키 도청 확률은 2.42E-05으로 계산된 경우를 가정한다.
상술한 예시에서, 기설정된 임계값이 5E-05인 경우 부분 비밀키 도청 확률이 기설정된 임계값보다 작기 위해서는 중계 노드의 기설정된 개수는 4개이어야 하므로, S315 단계에서 중계 노드 선택부(260)는 복수의 공통 노드(11, 21, 22, 24) 중 총 4개의 공통 노드를 선택하여 이를 중계 노드로 결정할 수 있다.
이제, 부분 비밀키 도청 확률을 나타내는 상술한 수학식 1을 산출하는 방법을 이하 수학식 5 내지 수학식 10을 참조하여 설명한다.
우선 부분 비밀키 도청 확률을 결정하기 위해서는 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션(concurrent communication session)의 평균 개수(S)를 결정해야 하며, S는 아래 수학식 5를 통해 결정될 수 있다.
[수학식 5]
Figure 112017061190896-pat00011
이때, S는 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션(concurrent communication session)의 평균 개수, P(i)는 복수의 노드 중 적어도 하나의 노드가 활용하는 i 번째 1:1 어플리케이션(application)의 확률, i는 복수의 노드 중 적어도 하나의 노드가 활용하는 i 번째 1:1 어플리케이션,
Figure 112017061190896-pat00012
는 유니폼 분포(uniformly distributed)를 따르는 1:1 어플리케이션의 평균, P(j)는 복수의 노드 중 적어도 하나의 노드가 활용하는 1:n 어플리케이션의 확률, j는 복수의 노드 중 적어도 하나의 노드가 활용하는 j 번째 1:n 어플리케이션,
Figure 112017061190896-pat00013
는 유니폼 분포를 따른 1:n 어플리케이션의 평균, N은 복수의 노드의 전체 개수를 의미한다.
이때, 1:1 어플리케이션 및 1:n 어플리케이션 각각의 의미는 PAC 네트워크의 표준인 IEEE 802.15.8에 정의된 바와 같을 수 있다.
이때, 수학식 5의
Figure 112017061190896-pat00014
는 1:n 어플리케이션에 참여하는 노드의 개수를 의미할 수 있다.
이때, P(i) 및 P(j)각각은 프아송 분포(Poisson Distribution)을 따르므로, 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수인 S는 아래 수학식 6과 같이 정리될 수 있다.
[수학식 6]
Figure 112017061190896-pat00015
이때, S는 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션(concurrent communication session)의 평균 개수, i는 복수의 노드 중 적어도 하나의 노드가 활용하는 i 번째 1:1 어플리케이션,
Figure 112017061190896-pat00016
은 1:1 어플리케이션에서 프아송 분포를 따르는 복수의 노드 각각에 대한 통신 세션의 개수의 프아송 분포 상 평균,
Figure 112017061190896-pat00017
는 유니폼 분포(uniformly distributed)를 따르는 1:1 어플리케이션의 평균, j는 복수의 노드 중 적어도 하나의 노드가 활용하는 j 번째 1:n 어플리케이션,
Figure 112017061190896-pat00018
은 1:n 어플리케이션에서 프아송 분포를 따르는 복수의 노드 각각에 대한 통신 세션의 개수의 프아송 분포 상 평균,
Figure 112017061190896-pat00019
는 유니폼 분포를 따른 1:n 어플리케이션의 평균, N은 복수의 노드의 전체 개수를 의미한다.
이때, 수학식 6을 정리하면 아래 수학식 7이 도출될 수 있다.
[수학식 7]
Figure 112017061190896-pat00020
이때, S는 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션(concurrent communication session)의 평균 개수,
Figure 112017061190896-pat00021
은 1:1 어플리케이션에서 프아송 분포를 따르는 복수의 노드 각각에 대한 통신 세션의 개수의 프아송 분포 상 평균,
Figure 112017061190896-pat00022
는 유니폼 분포(uniformly distributed)를 따르는 1:1 어플리케이션의 평균,
Figure 112017061190896-pat00023
은 1:n 어플리케이션에서 프아송 분포를 따르는 복수의 노드 각각에 대한 통신 세션의 개수의 프아송 분포 상 평균,
Figure 112017061190896-pat00024
는 유니폼 분포를 따른 1:n 어플리케이션의 평균, N은 복수의 노드의 전체 개수를 의미한다.
이때, 공격자가 모든 부분 비밀키를 도청할 수 있는 상황은 기설정된 개수의 중계 노드(21, 22) 각각으로부터 전송되는 기설정된 개수의 부분 비밀키가 모두 도청될 확률과 같으며, 이를 이용하여 특정 노드(10)에서 활용하는 평균 세션의 개수(SR-PD), 미인증 노드(30)에서 활용하는 평균 세션의 개수(SI-PD), 도청자에 의해 도청된 평균 세션의 개수(SX - PDs) 및 PAC 네트워크 상에 포함된 복수의 노드에서 활용하는 평균 세션의 개수(SPACNET) 각각을 결정하면 아래 수학식 8이 도출될 수 있다.
[수학식 8]
Figure 112017061190896-pat00025
이때, SPACNET는 PAC 네트워크 상에 포함된 복수의 노드에서 활용하는 평균 세션의 개수, SI-PD는 미인증 노드(30)에서 활용하는 평균 세션의 개수, SR-PD는 특정 노드(10)에서 활용하는 평균 세션의 개수, SX - PDs는 도청자에 의해 도청된 평균 세션의 개수, S는 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션(concurrent communication session)의 평균 개수, N은 복수의 노드의 전체 개수, m은 복수의 노드 중 도청될 것으로 가정한 노드의 개수,
Figure 112017061190896-pat00026
은 1:1 어플리케이션에서 프아송 분포를 따르는 복수의 노드 각각에 대한 통신 세션의 개수의 프아송 분포 상 평균,
Figure 112017061190896-pat00027
는 유니폼 분포(uniformly distributed)를 따르는 1:1 어플리케이션의 평균,
Figure 112017061190896-pat00028
은 1:n 어플리케이션에서 프아송 분포를 따르는 복수의 노드 각각에 대한 통신 세션의 개수의 프아송 분포 상 평균,
Figure 112017061190896-pat00029
는 유니폼 분포를 따른 1:n 어플리케이션의 평균을 의미한다.
이제 도 5를 참조하여, 특정 노드(10)에서 활용하는 평균 세션의 개수(SR-PD), 미인증 노드(30)에서 활용하는 평균 세션의 개수(SI-PD), 도청자에 의해 도청된 평균 세션의 개수(SX - PDs) 및 PAC 네트워크 상에 포함된 복수의 노드에서 활용하는 평균 세션의 개수(SPACNET) 상호간의 관계에 대해 설명한다.
예를 들어 도 5에 도시된 바와 같이, 기설정된 개수의 중계 노드(21, 22) 각각으로부터 전송되는 기설정된 개수의 부분 비밀키가 모두 도청될 확률은, 특정 노드(10)에서 활용하는 평균 세션의 개수(SR-PD)와 미인증 노드(30)에서 활용하는 평균 세션의 개수(SI-PD) 중 부분 비밀키를 전송하기 위해 활용되는 k개의 세션이 모두 도청자에 의해 도청된 평균 세션의 개수(SX - PDs)에 포함되는 경우, 모든 부분 비밀키가 도청된 것으로 간주할 수 있다.
그 결과, 부분 비밀키 도청 확률은 아래 수학식 9와 같이 결정될 수 있다.
[수학식 9]
Figure 112017061190896-pat00030
이때,
Figure 112017061190896-pat00031
는 부분 비밀키 도청 확률, k는 부분 비밀키의 기설정된 개수, x는 도청된 세션의 개수, SI-PD는 미인증 노드(30)에서 활용하는 평균 세션의 개수, SR-PD는 특정 노드(10)에서 활용하는 평균 세션의 개수, SX - PDs는 도청자에 의해 도청된 평균 세션의 개수를 의미한다.
여기서, 베이의 정리(Bayes' Theorem)을 상기한 수학식 9에 적용하여 부분 비밀키 도청 확률을 변형한 뒤, 변형된 수학식에서 SPACNET, SI-PD, SR-PD, SX - PDs 각각에 상기한 수학식 8을 대입하면 아래 수학식 10이 도출될 수 있다.
[수학식 10]
Figure 112017061190896-pat00032
이때,
Figure 112017061190896-pat00033
는 부분 비밀키 도청 확률, k는 상기 부분 비밀키의 기설정된 개수, S는 상기 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수, N은 상기 복수의 노드의 전체 개수, m은 상기 복수의 노드 중 도청될 것으로 가정한 노드의 개수를 의미한다.
그 뒤, 상기한 수학식 10을 정리하면, 부분 비밀키 도청 확률을 결정하기 위한 하기 수학식 1이 생성될 수 있다.
[수학식 1]
Figure 112017061190896-pat00034
이때,
Figure 112017061190896-pat00035
는 부분 비밀키 도청 확률, k는 부분 비밀키의 기설정된 개수, S는 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수, N은 복수의 노드의 전체 개수, m은 복수의 노드 중 도청될 것으로 가정한 노드의 개수를 의미한다.
즉, 부분 비밀키 도청 확률은, 부분 비밀키의 기설정된 개수(k), 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수(S), 복수의 노드의 전체 개수(N) 및 복수의 노드 중 도청될 것으로 가정한 노드의 개수(m)에 기초하여 산출될 수 있다.
이때, 수학식 1에서 S는 상기한 수학식 7의 조건을 만족할 수 있다.
여기서, 복수의 노드의 전체 개수(N)가 50부터 500 사이인 범위에 대하여,
Figure 112017061190896-pat00036
은 2이고,
Figure 112017061190896-pat00037
는 3이고,
Figure 112017061190896-pat00038
는 0.4이고,
Figure 112017061190896-pat00039
는 0.15, k는 2인 경우에 대하여, m의 값을 1, 2, 3으로 결정하여 부분 비밀키 도청 확률을 산출한 결과는 도 6a에 도시된 바와 같으며, 복수의 노드의 전체 개수(N)가 50부터 500 사이인 범위에 대하여,
Figure 112017061190896-pat00040
은 2이고,
Figure 112017061190896-pat00041
는 3이고,
Figure 112017061190896-pat00042
는 0.4이고,
Figure 112017061190896-pat00043
는 0.15, m은 5인 경우에 대하여 k의 값은 2, 3, 4로 결정하여 부분 비밀키 도청 확률을 산출한 결과는 도 6b에 도시된 바와 같다.
도 6a 및 도 6b에 도시된 바와 같이, 복수의 노드의 전체 개수(N)가 증가함에 따라서 공격자가 모든 부분 비밀키를 도청할 확률은 급감함을 확인할 수 있다.
예를 들어, 도 6a에 도시된 바와 같이, 부분 비밀키가 2개인 경우에도 복수의 노드의 전체 개수(N)가 300개 이상이라면, 공격자가 모든 부분 비밀키를 도청할 확률은 1E-04보다 작음을 확인할 수 있다.
이때, 도 6b에 도시된 결과를 표로 정리하면 도 7과 같다.
즉, S315 단계에서 복수의 공통 노드(11, 21, 22, 24) 중 선택된 중계 노드(21, 22)의 기설정된 개수는 상기한 수학식 1을 통해 산출된 부분 비밀키 도청 확률이 기설정된 임계값보다 낮아지도록 설정할 수 있다.
예를 들어 도 7에 도시된 바와 같이, PAC 네트워크가
Figure 112017061190896-pat00044
은 2이고,
Figure 112017061190896-pat00045
는 3이고,
Figure 112017061190896-pat00046
는 0.4이고,
Figure 112017061190896-pat00047
는 0.15, m은 5이도록 구성되고, 복수의 노드 전체 개수가 50 개이며, 기설정된 임계값이 5E-05인 경우, 중계 노드의 기설정된 개수는 4개로 결정될 수 있다.
다시 도 3을 참조하여, S320 단계를 설명한다.
S320 단계는, 부분 비밀키 수신부(220)가, 기설정된 개수의 중계 노드(21, 22) 각각과 미인증 노드(30) 상호 간의 통신에 기초하여 생성된 기설정된 개수의 부분 비밀키를 각각 수신하는 단계를 의미할 수 있다.
예를 들어, S320 단계에서 기설정된 개수의 중계 노드(21, 22) 각각은 하나의 부분 비밀키를 전송하기 때문에, S320 단계에서 부분 비밀키 수신부(220)가 수신한 부분 비밀키의 기설정된 개수는 중계 노드(21, 22)의 기설정된 개수와 동일할 수 있다.
일 실시예에 따르면, 기설정된 개수의 중계 노드(21, 22) 및 미인증 노드(30) 상호간의 통신에 기초하여 생성된 부분 비밀키는 아래 수학식 11에 의해 결정될 수 있다.
[수학식 11]
Figure 112017061190896-pat00048
이때, pki는 i번째 중계 노드와 미인증 노드(30) 상호간의 통신에 기초하여 생성된 부분 비밀키, I-PD는 미인증 노드(30)에 대하여 미리 설정된 임의의 비트열, R-PD는 특정 노드(10)에 대하여 미리 설정된 임의의 비트열, Nseq는 미리 설정된 시퀀스 번호(sequence number), H()는 해시 함수를 의미할 수 있다.
일 실시예에 따르면, I-PD는 미인증 노드(30)와 i 번째 중계 노드 상호 간의 비밀키를 의미할 수 있다.
예를 들어, R-PD는 특정 노드(10)와 i 번째 중계 노드 상호 간의 비밀키를 의미할 수 있다.
예컨대, Nseq는 미리 설정된 임의의 비트열을 의미할 수 있다.
S330 단계는 공유 비밀키 생성부(230)가, 기설정된 개수의 부분 비밀키에 기초하여 미인증 노드와 공유할 비밀키인 공유 비밀키를 생성하는 단계를 의미할 수 있다.
예를 들어, S330 단계는, 공유 비밀키 생성부(230)가, 기설정된 개수의 부분 비밀키를 서로 XOR 연산한 결과값에 기설정된 해시 함수를 적용하여 공유 비밀키를 생성하는 단계를 포함할 수 있다.
이 경우, 공유 비밀키는 아래 수학식 12에 기초하여 생성될 수 있다.
[수학식 12]
Figure 112017061190896-pat00049
KR,I는 공유 비밀키, H()는 해시 함수, pk1은 1번째 중계 노드로부터 전송받은 부분 비밀키, pkk는 k번째 중계 노드로부터 전송받은 부분 비밀키를 의미한다.
즉, S330 단계에서 공유 비밀키는 전송받은 기설정된 개수의 부분 비밀키를 모두 활용하여 생성되기 때문에, 기설정된 개수의 부분 비밀키가 모두 도청되지 않는 이상 특정 노드(10)와 미인증 노드(30) 상호간에 공유하는 비밀키는 보안이 유지될 수 있다.
일 실시예에 따르면, S330 단계는, 공유 비밀키 생성 요청 메시지 전송부(270)가, 미인증 노드(30)에게 기설정된 개수의 부분 비밀키에 기초하여 공유 비밀키를 생성할 것을 요청하는 메시지인 공유 비밀키 생성 요청 메시지를 공개 채널을 통해 전송하는 단계를 더 포함할 수 있다.
이는, 특정 노드(10)와 미인증 노드(30) 상호간에 공유하는 비밀키는 미인증 노드(30) 또한 알고 있어야 하기 때문일 수 있다.
여기서, 공유 비밀키 생성 요청 메시지를 공개 채널을 통해 전송하는 것은 미인증 노드(30)가 아직 공유 비밀키를 생성하지 않았기 때문에 비공개 채널을 활용할 수 없기 때문일 수 있다.
예컨대, 본 발명의 실시예에 따른 비밀키 공유 방법은 데이터 송수신부(미도시)가, 공유 비밀키에 기초하여 미인증 노드(30)와 비공개 채널을 통해 데이터를 송수신하는 단계를 더 포함할 수 있다.
여기서, 데이터는 게임, 동영상, 사진, 문서를 비롯하여 PAC 네트워크 상에 포함된 복수의 노드(11, 21, 22, 24, 30) 상호 간에 공유의 대상이 되는 각종 데이터를 의미할 수 있으나, 본 발명은 특정 데이터에 한정되지 않는다.
이제, 도 8을 참조하여 본 발명의 실시예에 따른 비밀키 공유 방법 및 장치를 PAC 네트워크의 관점에서 다시 설명하도록 한다.
도 8에서는 특정 노드(10)는 R-PD로 도시되었고, 복수의 공통 노드(21, 22, 24)는 C-PD1,2,...,i...로 도시되었으며, 미인증 노드(30)는 I-PD로 도시되었다.
도 8에 도시된 바와 같이 특정 노드(R-PD)가 복수의 공통 노드(C-PD1,2,...,i...) 각각에게 중계 요청 메시지(KR,i(I-PD))를 전송하면, 복수의 공통 노드(C-PD1,2,...,i...) 각각은 특정 노드(R-PD)에게 확인 메시지(KR,i(ACK))를 전송한다.
그 뒤, 특정 노드(R-PD)는 상술한 기설정된 순위 산정 알고리즘에 의해 결정된 k 개의 중계 노드(C-PD1, 2,...,k) 각각에게 부분 비밀키 생성 요청 메시지(KR,i(DoA))를 전송한다.
이때, 중계 노드의 개수인 k 개는 상술한 바와 같이 부분 비밀키 도청 확률에 의해 결정될 수 있다.
그 뒤, k 개의 중계 노드(C-PD1, 2,...,k) 각각은 미인증 노드(I-PD)와의 통신(KI,i(pki arrangement))을 통하여 각각 하나씩의 부분 비밀키(pki)를 생성한다.
그 뒤, k 개의 중계 노드(C-PD1, 2,...,k) 각각은 하나씩의 부분 비밀키(pki) 각각을 특정 노드(R-PD)에게 전송(KR,i(pki))한다.
그 뒤, 특정 노드(R-PD)는 미인증 노드(I-PD)에게 공유 비밀키 생성 요청 메시지(O(key generation))를 전송한다.
그 뒤, 특정 노드(R-PD) 및 미인증 노드(I-PD) 각각은 상기 수학식 12에 기초하여 공유 비밀키를 생성한다.
그 뒤, 특정 노드(R-PD) 및 미인증 노드(I-PD)는 서로 비밀키를 공유하였으므로 공유 비밀키에 기초하여 데이터를 송수신(KR,I(data))할 수 있다.
이제 도 9a 및 도 9b를 참조하여, 본 발명의 실시예에 따른 비밀키 공유 방법 및 장치의 효과를 설명한다.
도 9a 및 도 9b는 본 발명의 실시예에 따른, 비밀키 공유 방법 및 장치를 종래의 기술과 비교하기 위한 도면이다.
이때, 본 발명의 실시예에 따른 비밀키 공유 방법 및 장치는 SNAuth protocol로 도시되었다.
여기서, 본 발명의 실시예에 따른 비밀키 공유 방법 및 장치(SNAuth protocol)를 연산 비용(computation cost), 통신 비용(communication cost), 저장 비용(storage cost) 및 소요 시간(time consumption)를 기준으로 제1 종래 방법(PIN-based approach), 제2 종래 방법(Diffie-Hellman approach) 및 제3 종래 방법(PHY-based approach) 각각과 비교한 결과는 도 9a에 도시된 바와 같다.
한편, 본 발명의 실시예에 따른 비밀키 공유 방법 및 장치(SNAuth protocol)를 활용하는 경우, 복수의 노드의 개수에 따른 직접 통신, 1홉 통신, 2홉 통신, 3홉 통신 각각의 통신 비용을 비교한 결과는 도 9b에 도시된 바와 같다.
이상에서 본 발명에 따른 바람직한 실시예에 대해 설명하였으나, 다양한 형태로 변형이 가능하며, 본 기술분야에서 통상의 지식을 가진 자라면 본 발명의 특허청구범위를 벗어남이 없이 다양한 변형예 및 수정예를 실시할 수 있을 것으로 이해된다.
1, 2, 3, 10, 11, 12, 21, 22, 23, 24, 30, 31: 노드
100: PAC 네트워크
200: 비밀키 공유 장치
210: 비밀키 생성 요청 메시지 전송부
220: 부분 비밀키 수신부
230: 공유 비밀키 생성부
240: 중계 요청 메시지 전송부
250: 확인 메시지 수신부
260: 중계 노드 선택부
270: 공유 비밀키 생성 요청 메시지 전송부

Claims (16)

  1. 복수의 노드를 포함하는 PAC(Peer-Aware Communication) 네트워크의 특정 노드에 포함되어 상기 복수의 노드 중 비밀키를 공유하지 않은 노드인 미인증 노드와 공유 비밀키를 공유하기 위한 비밀키 공유 방법에 있어서,
    비밀키 생성 요청 메시지 전송부가, 상기 복수의 노드 중 상기 미인증 노드와 비밀키를 공유하는 노드인 복수의 공통 노드에서 선택된 기설정된 개수의 중계 노드 각각에게 부분 비밀키 생성 요청 메시지를 전송하는 단계;
    부분 비밀키 수신부가, 상기 기설정된 개수의 중계 노드 각각과 상기 미인증 노드 상호 간의 통신에 기초하여 생성된 기설정된 개수의 부분 비밀키를 각각 수신하는 단계; 및
    공유 비밀키 생성부가, 상기 기설정된 개수의 부분 비밀키에 기초하여 상기 미인증 노드와 공유할 비밀키인 상기 공유 비밀키를 생성하는 단계를 포함하고,
    상기 중계 노드의 상기 기설정된 개수는,
    상기 기설정된 개수의 부분 비밀키 모두가 도청될 확률을 상기 복수의 노드의 전체 개수에 대하여 산출한 부분 비밀키 도청 확률이 기설정된 임계값 보다 낮도록 설정되는, 비밀키 공유 방법.
  2. 제1항에 있어서,
    상기 부분 비밀키 생성 요청 메시지를 전송하는 단계는,
    중계 요청 메시지 전송부가, 상기 복수의 노드 중 적어도 두 개의 노드 각각에게 상기 미인증 노드와의 중계를 요청하는 메시지인 중계 요청 메시지를 전송하는 단계;
    확인 메시지 수신부가, 상기 복수의 공통 노드 각각으로부터 확인 메시지를 수신하는 단계; 및
    중계 노드 선택부가, 상기 복수의 공통 노드 각각에 대하여 기설정된 순위 산정 알고리즘을 적용하여, 상기 복수의 공통 노드 중 순위가 높은 순서대로 상기 기설정된 개수의 중계 노드를 선택하는 단계를 더 포함하는, 비밀키 공유 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 부분 비밀키 도청 확률은,
    상기 부분 비밀키의 기설정된 개수(k), 상기 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수(S), 상기 복수의 노드의 전체 개수(N) 및 상기 복수의 노드 중 도청될 것으로 가정한 노드의 개수(m)에 기초하여 산출되는, 비밀키 공유 방법.
  5. 제1항에 있어서,
    상기 부분 비밀키 도청 확률은 하기 수학식 1에 기초하여 산출되는, 비밀키 공유 방법.
    [수학식 1]
    Figure 112019019373041-pat00050

    이때,
    Figure 112019019373041-pat00051
    는 부분 비밀키 도청 확률, k는 상기 부분 비밀키의 기설정된 개수, S는 상기 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수, N은 상기 복수의 노드의 전체 개수, m은 상기 복수의 노드 중 도청될 것으로 가정한 노드의 개수를 의미함.
  6. 제1항에 있어서,
    상기 공유 비밀키를 생성하는 단계는,
    공유 비밀키 생성 요청 메시지 전송부가, 상기 미인증 노드에게 상기 기설정된 개수의 부분 비밀키에 기초하여 상기 공유 비밀키를 생성할 것을 요청하는 메시지인 공유 비밀키 생성 요청 메시지를 공개 채널을 통해 전송하는 단계를 더 포함하는, 비밀키 공유 방법.
  7. 제1항에 있어서,
    상기 공유 비밀키를 생성하는 단계는,
    상기 공유 비밀키 생성부가, 상기 기설정된 개수의 부분 비밀키를 서로 XOR 연산한 결과값에 기설정된 해시 함수를 적용하여 상기 공유 비밀키를 생성하는 단계를 포함하는, 비밀키 공유 방법.
  8. 제1항에 있어서,
    데이터 송수신부가, 상기 공유 비밀키에 기초하여 상기 미인증 노드와 비공개 채널을 통해 데이터를 송수신하는 단계를 더 포함하는, 비밀키 공유 방법.
  9. 복수의 노드를 포함하는 PAC(Peer-Aware Communication) 네트워크의 특정 노드에 포함되어 상기 복수의 노드 중 비밀키를 공유하지 않은 노드인 미인증 노드와 공유 비밀키를 공유하기 위한 비밀키 공유 장치에 있어서,
    상기 복수의 노드 중 상기 미인증 노드와 비밀키를 공유하는 노드인 복수의 공통 노드에서 선택된 기설정된 개수의 중계 노드 각각에게 부분 비밀키 생성 요청 메시지를 전송하는 비밀키 생성 요청 메시지 전송부;
    상기 기설정된 개수의 중계 노드 각각과 상기 미인증 노드 상호 간의 통신에 기초하여 생성된 기설정된 개수의 부분 비밀키를 각각 수신하는 부분 비밀키 수신부; 및
    상기 기설정된 개수의 부분 비밀키에 기초하여 상기 미인증 노드와 공유할 비밀키인 상기 공유 비밀키를 생성하는 공유 비밀키 생성부를 포함하고,
    상기 중계 노드의 상기 기설정된 개수는,
    상기 기설정된 개수의 부분 비밀키 모두가 도청될 확률을 상기 복수의 노드의 전체 개수에 대하여 산출한 부분 비밀키 도청 확률이 기설정된 임계값 보다 낮도록 설정되는, 비밀키 공유 장치.
  10. 제9항에 있어서,
    상기 복수의 노드 중 적어도 두 개의 노드 각각에게 상기 미인증 노드와의 중계를 요청하는 메시지인 중계 요청 메시지를 전송하는 중계 요청 메시지 전송부;
    상기 복수의 공통 노드 각각으로부터 확인 메시지를 수신하는 확인 메시지 수신부; 및
    상기 복수의 공통 노드 각각에 대하여 기설정된 순위 산정 알고리즘을 적용하여, 상기 복수의 공통 노드 중 순위가 높은 순서대로 상기 기설정된 개수의 중계 노드를 선택하는 중계 노드 선택부를 더 포함하는, 비밀키 공유 장치.
  11. 삭제
  12. 제9항에 있어서,
    상기 부분 비밀키 도청 확률은,
    상기 부분 비밀키의 기설정된 개수(k), 상기 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수(S), 상기 복수의 노드의 전체 개수(N) 및 상기 복수의 노드 중 도청될 것으로 가정한 노드의 개수(m)에 기초하여 산출되는, 비밀키 공유 장치.
  13. 제9항에 있어서,
    상기 부분 비밀키 도청 확률은 하기 수학식 1에 기초하여 산출되는, 비밀키 공유 장치.
    [수학식 1]
    Figure 112019019373041-pat00052

    이때,
    Figure 112019019373041-pat00053
    는 부분 비밀키 도청 확률, k는 상기 부분 비밀키의 기설정된 개수, S는 상기 복수의 노드 중 적어도 하나의 노드에 대한 동시 통신 세션의 평균 개수, N은 상기 복수의 노드의 전체 개수, m은 상기 복수의 노드 중 도청될 것으로 가정한 노드의 개수를 의미함.
  14. 제9항에 있어서,
    상기 미인증 노드에게 상기 기설정된 개수의 부분 비밀키에 기초하여 상기 공유 비밀키를 생성할 것을 요청하는 메시지인 공유 비밀키 생성 요청 메시지를 공개 채널을 통해 전송하는 공유 비밀키 생성 요청 메시지 전송부를 더 포함하는, 비밀키 공유 장치.
  15. 제9항에 있어서,
    상기 공유 비밀키 생성부는,
    상기 기설정된 개수의 부분 비밀키를 서로 XOR 연산한 결과값에 기설정된 해시 함수를 적용하여 상기 공유 비밀키를 생성하는, 비밀키 공유 장치.
  16. 제9항에 있어서,
    상기 공유 비밀키에 기초하여 상기 미인증 노드와 비공개 채널을 통해 데이터를 송수신하는 데이터 송수신부를 더 포함하는, 비밀키 공유 장치.
KR1020170080723A 2017-06-26 2017-06-26 비밀키 공유 방법 및 장치 KR101987411B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170080723A KR101987411B1 (ko) 2017-06-26 2017-06-26 비밀키 공유 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170080723A KR101987411B1 (ko) 2017-06-26 2017-06-26 비밀키 공유 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190001168A KR20190001168A (ko) 2019-01-04
KR101987411B1 true KR101987411B1 (ko) 2019-06-11

Family

ID=65018288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170080723A KR101987411B1 (ko) 2017-06-26 2017-06-26 비밀키 공유 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101987411B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1229551A (zh) 1997-04-14 1999-09-22 朗迅科技公司 改善无线电话消息安全性用的、使密钥扩展入查找表内以增强安全性的方法和装置
KR20090067178A (ko) * 2006-09-21 2009-06-24 인터디지탈 테크날러지 코포레이션 그룹 단위 비밀키 발생
KR101021708B1 (ko) * 2009-01-20 2011-03-15 성균관대학교산학협력단 그룹키 분배 방법 및 이를 위한 서버 및 클라이언트
KR101880493B1 (ko) * 2012-07-09 2018-08-17 한국전자통신연구원 무선 메쉬 네트워크에서의 인증 방법

Also Published As

Publication number Publication date
KR20190001168A (ko) 2019-01-04

Similar Documents

Publication Publication Date Title
CN106664561B (zh) 用于确保预关联服务发现安全的系统和方法
Jakobsson et al. Security weaknesses in Bluetooth
KR101879916B1 (ko) 3gpp lte에서 모바일 통신 디바이스 간의 근접성 발견, 인증 및 링크 설정
US9557188B2 (en) Method and system for using relationship information from a social network to enable mobile device communications in a privacy enhanced network
KR101665690B1 (ko) 센서 네트워크에서 센서 노드 인증 방법 및 장치
CN107113173B (zh) 用于基于用户设备的标识符提供服务的方法和装置
CN108923927A (zh) 用于对摄像机供给动态qr码和ble连接的系统和方法
CN106953729B (zh) 基于量子密钥的卫星通信加密系统及方法
KR101833955B1 (ko) 무선 통신에서의 메시지들의 인증
WO2019056457A1 (en) SECURE KEY TRANSMISSION PROTOCOL WITHOUT CERTIFICATES OR PRE-SHARED SYMMETRIC KEYS
CN102083064B (zh) 用于增强密钥推衍算法灵活性的方法和系统
CN106576101B (zh) 用于管理自组织网络中的安全通信的系统和方法
CN104917807A (zh) 资源转移方法、装置和系统
CN111699706B (zh) 用于通过蓝牙低能耗连接进行通信的主从系统
CN103188229A (zh) 用于安全内容访问的方法和设备
CN108964895B (zh) 基于群组密钥池和改进Kerberos的User-to-User身份认证系统和方法
US20230037386A1 (en) Wireless network authentication using isolated security key
US9210578B2 (en) Methods and apparatus for authentication
CN107925894A (zh) 用于信道安全性的系统和方法
US9143482B1 (en) Tokenized authentication across wireless communication networks
Leu et al. Improving security level of LTE authentication and key agreement procedure
KR101987411B1 (ko) 비밀키 공유 방법 및 장치
CN108260125B (zh) 一种基于d2d通信的内容分发应用的密钥分发方法
US8824680B2 (en) Centralized key generation
US8707435B2 (en) Method and system for identifying compromised nodes

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