KR20120044794A - 인증을 위한 동적 그룹키 생성 방법 - Google Patents

인증을 위한 동적 그룹키 생성 방법 Download PDF

Info

Publication number
KR20120044794A
KR20120044794A KR1020100106292A KR20100106292A KR20120044794A KR 20120044794 A KR20120044794 A KR 20120044794A KR 1020100106292 A KR1020100106292 A KR 1020100106292A KR 20100106292 A KR20100106292 A KR 20100106292A KR 20120044794 A KR20120044794 A KR 20120044794A
Authority
KR
South Korea
Prior art keywords
group
value
key
nodes
node
Prior art date
Application number
KR1020100106292A
Other languages
English (en)
Other versions
KR101190134B1 (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 KR1020100106292A priority Critical patent/KR101190134B1/ko
Publication of KR20120044794A publication Critical patent/KR20120044794A/ko
Application granted granted Critical
Publication of KR101190134B1 publication Critical patent/KR101190134B1/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
    • 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
    • H04L9/0841Key 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 involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key 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 involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명에 따른 동적 그룹키 생성 방법은, (a) 복수 개의 노드로 구성된 그룹이 소수 p 값을 공유하는 단계; (b) 상기 복수 개의 노드들 중 하나의 노드인 마스터 노드를 제외한 나머지 일반 노드가 상기 마스터 노드에게 자신의 비밀키와 상기 p 값에 기초한 공개키를 유니캐스트하는 단계; (c) 상기 일반 노드로부터 복수 개의 공개키를 수신한 상기 마스터 노드가 상기 복수 개의 공개키에 자신의 비밀키를 지수 연산한 다음 mod p 연산한 암호화값을 상기 그룹 내에 브로드캐스트하는 단계; 및 (d) 상기 복수 개의 일반 노드는 상기 암호화값으로부터 자신의 비밀키와 상기 p 값을 이용하여 그룹키를 획득하는 단계를 포함하는 것을 특징으로 한다.

Description

인증을 위한 동적 그룹키 생성 방법{Method of generating dynamic group key for authentication}
본 발명은 복수의 노드들 간의 그룹키 생성 방법에 관한 것으로 보다 상세하게는 Diffie-Hellman 알고리즘을 이용하며, 그룹 멤버의 인증이 성립되는 효율적이며 실용적인 동적 그룹키 생성 방법에 관한 것이다.
아울러, 본 발명은 지식경제 프론티어 기술개발사업의 일환으로 추진되고 있는 지식경제부의 유비쿼터스 컴퓨팅 및 네트워크 원천 기반 기술 개발사업의 일환으로 (주)디노플러스가 주관하는 연구사업을 수행한 결과로부터 도출된 것이다
[과제관리번호: ITAZ 15001 00100 09000 10001 00100, 과제명: 커뮤니티 컴퓨팅 기반 Life care 인프라 및 서비스 운용기술개발].
온라인상에서의 회의(online-conference)는 서로를 직접 만나지 않아도 얼굴을 보며 음성을 들으며 의견을 나눌 수 있는 수단으로써 물리적, 시간적 비용을 단축시킬 수 있다. 이런 이유로 Offline 보다 Online에서의 만남은 잦아지고 원격 화상 회의 프로그램과 같은 어플리케이션들이 발전하고 있다. 다양한 환경에서 다양한 주제로 이루어지는 온라인 회의 중에는 외부로 유출되면 안되는 기밀성을 다루는 정보들도 있기 때문에 이때는 해당 그룹 멤버들 이외에는 상기 정보를 볼 수 없도록 할 필요가 있다. 따라서, 복수개의 노드들은 온라인 회의와 같은 특정 환경에서 하나의 그룹을 이루고 데이터 공유시 외부로의 노출을 피하기 위해 암호화를 수행한다. 데이터 보호를 위한 다양한 암호화 알고리즘에서, 노드들 사이에는 사전에 데이터 암호화를 위한 키(key)가 분배되어져야 한다. 안전하지 않은 채널(unsecured channel)에서 암호키를 분배하는 것은 중요한 문제이다.
그룹키는 공개된 통신망을 통해 안전하게 통신하려는 그룹 구성원들에게 세션키를 제공하는 목적으로 협정(agree)된다. 특히 모바일 컴퓨팅 환경에서 기기들은 자원(resource)이 제한되어 있기 때문에 그룹키 협정과정의 에너지 효율이 필수적이다.
키 교환 기법 중 안전한 채널이 없는 상태에서 노드들이 키를 공유할 수 있는 Diffie-Hellman 기법이 있다. 하지만 이 기법은 다수의 노드가 키를 교환하기에는 부적절한 방법이다. 그룹 통신에서도 Diffie-Hellman 기법을 응용하여 공개된 통신망에서 안전하게 그룹키를 협정하는 방법이 제안되었다. 이러한 알고리즘들을 그룹키 협정(Group key agreement)이라고 부른다. 그러나 종래의 기술들은 메시지 교환순서가 필요하거나 전달되는 메시지 수가 많아 수행해야하는 연산 부담이 많아서 비-실용적이다.
또한, Diffie-Hellman 키 교환 알고리즘은 Main-in-the-Middle 공격에 취약하기 때문에 인증 절차가 요구되며 Diffie-Hellman 기반의 그룹키 협정 방식에서 공격자가 그룹 멤버로 위장하게 된다면 그룹키가 유출될 수 있기 때문에 인증이 필수적으로 요구된다. 이러한 그룹키 협정 알고리즘에 적용되는 인증 기법은 대부분 PKI(Public Key Infrastructure)를 기반으로 한다. 하지만 PKI는 실제로 비-실용적이며 사용하기 힘들다.
본 발명의 목적은 Diffie-Hellman을 이용하면서 더욱 효율적으로 그룹키를 생성하는 방법을 제공하는 데 있다. 본 발명의 또 다른 목적은 Diffie-Hellman을 이용하면서 효율적으로 그룹을 인증하는 그룹키 생성 방법을 제공하는데 있다. 본 발명의 또 다른 목적은 그룹의 변화에 능동적으로 적응하여 키를 재설정할 수 있도록 하는데 있다. 본 발명의 또 다른 목적은 모든 멤버들이 인증을 확인할 필요가 없도록 만드는데 있다. 본 발명의 또 다른 목적은 악성 노드를 수동적으로 판별 가능하게 하는 데에 있다.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른 동적 그룹키 생성 방법은, (a) 복수 개의 노드로 구성된 그룹이 소수 p 값을 공유하는 단계; (b) 상기 복수 개의 노드들 중 하나의 노드인 마스터 노드를 제외한 나머지 일반 노드가 상기 마스터 노드에게 자신의 비밀키와 상기 p 값에 기초한 공개키를 유니캐스트하는 단계; (c) 상기 일반 노드로부터 복수 개의 공개키를 수신한 상기 마스터 노드가 상기 복수 개의 공개키에 자신의 비밀키를 지수 연산한 다음 mod p 연산한 암호화값을 상기 그룹 내에 브로드캐스트하는 단계; 및 (d) 상기 복수 개의 일반 노드는 상기 암호화값으로부터 자신의 비밀키와 상기 p 값을 이용하여 그룹키를 획득하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 (b) 단계에서, 상기 공개키는 정수 g 값에 상기 자신의 비밀키를 지수 연산한 다음 mod p 연산한 값일 수 있다.
또한, 상기 (d) 단계에서, 상기 복수 개의 일반 노드는 상기 암호화값으로부터 상기 자신의 비밀키의 역승 연산을 이용하여 상기 그룹키를 획득할 수 있다.
또한, 상기 동적 그룹키 생성 방법은, 상기 소수 p 값을 알고 있는, 상기 복수 개의 노드 외의 적어도 하나 이상의 새로운 일반 노드가 상기 그룹에 가입하는 단계; 상기 가입한 새로운 일반 노드가 상기 마스터 노드에게 자신의 비밀키와 상기 p 값에 기초한 공개키를 유니캐스트하는 단계; 상기 마스터 노드가 자신이 기보유한 공개키 및 상기 유니캐스트된 공개키에 자신의 새로운 비밀키를 지수 연산한 암호화값을 상기 그룹 내에 브로드캐스트하는 단계; 및 상기 그룹 내의 일반 노드는 상기 암호화값으로부터 자신의 비밀키와 상기 p 값을 이용하여 새로운 그룹키를 획득하는 단계를 더 포함할 수 있다.
또한, 상기 동적 그룹키 생성 방법은, 상기 복수 개의 노드들 중 적어도 하나 이상의 일반 노드가 상기 그룹에서 탈퇴하는 단계; 상기 마스터 노드가 상기 탈퇴한 일반 노드의 공개키를 제외한 나머지 공개키에 자신의 새로운 비밀키를 지수 연산한 다음 mod p 연산한 암호화 값을 상기 그룹 내에 브로드캐스트하는 단계; 및 상기 그룹 내의 일반 노드는 상기 암호화 값으로부터 자신의 비밀키와 상기 p 값을 이용하여 새로운 그룹키를 획득하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른 동적 그룹키 생성 방법은, (a) 복수 개의 노드로 구성된 그룹이 소수 p 값과 정수 g 값을 공유하는 단계; (b) 상기 복수 개의 노드들 중 하나의 노드인 마스터 노드를 제외한 나머지 일반 노드가 상기 마스터 노드에게 상기 g 값에 자신의 비밀키를 지수 연산한 다음 mod p 연산한 공개키를 유니캐스트하는 단계; (c) 상기 일반 노드로부터 복수 개의 공개키를 수신한 상기 마스터 노드가 상기 복수 개의 공개키에 자신의 비밀키를 지수 연산한 다음 mod p 연산한 암호화값을 상기 그룹 내에 브로드캐스트하는 단계; 및 (d) 상기 복수 개의 일반 노드는 상기 암호화 값으로부터 자신의 비밀키의 역승 연산과 상기 p 값을 이용하여 그룹키를 획득하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면 Diffie-Hellman을 이용하면서 더욱 효율적으로 그룹키를 생성할 수 있다. 본 발명은 메시지 전달의 순서를 요하는 체인(chain)이 필요없어 효율적이고 실용적이며, 모든 노드들이 여러 번의 전송과 수신을 하지 않고도 노드들 간에 안전하고 효율적인 그룹키 협정(agreement)을 가능하게 한다.
또한, 본 발명에 따르면, Diffie-Hellman 기법 기반의 그룹키 협정 방식에서 다른 인증 절차나 알고리즘 요구 없이 인증이 효율적으로 성립될 수 있다. 각 멤버들은 인증 값 교환이나 확인하는 절차 없이 그룹키 협정방식을 통해 그룹키를 획득할 수 있으며, 인증 값으로 사용되는 Diffie-Hellman 파라미터의 p 값 또는 g 값을 모르는 자는 그룹키 설정이 안 되므로 자연스럽게 그룹에 참여할 수 없다. 각 멤버들을 위한 키 값이나 인증 값이 따로 필요하지 않고, 오직 p 값 또는 g 값만 공유된 채로 수행되기 때문에 공간적(storage) 효율성 역시 뛰어나다.
또한, 본 발명에 따르면 그룹의 변화에 능동적으로 대처할 수 있다. 그룹 멤버의 참여나 탈퇴 이벤트가 발생하게 되면 그룹은 비밀성(Secrecy) 유지를 위해 키를 재설정해야 한다. 이 때, 그룹은 변경된 멤버를 위한 인증절차 없이 인증 값 p 또는 g를 이용하여 그룹키를 재설정하면 되기 때문에 시스템의 성능을 향상 시킨다.
또한, 본 발명에 따르면 그룹에 불합법적으로 참여하려는 노드를 감지할 수 있다. 비-인증된 사용자가 의도적으로 그룹키를 획득하기 위해 접근한다면, 그룹키를 획득할 수도 없지만, 이런 불법적인 행동 자체를 노출시킬 수 있으므로 차후 접근 허용을 방지하여 또 다른 공격에 대처할 수도 있다. 인증된 그룹 멤버들은 이러한 악성 행동들에 문제없이 그룹키를 획득하고 안전하게 통신할 수 있다.
도 1은 본 발명의 일 실시예에 따른 인증을 위한 동적 그룹키 생성 방법을 나타낸 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 그룹키 협정 과정을 나타낸 흐름도이다.
도 3은 그룹 내 다수의 노드들 사이에서 키를 교환하는 과정을 나타내는 도면이다.
도 4는 그룹에 하나의 노드가 가입/탈퇴하는 경우를 나타내는 도면이다.
도 5는 그룹에 다수의 노드가 가입/탈퇴하는 경우를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 그룹키 생성 방법에 의하여 인증되는 노드와 인증되지 않는 노드를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 그룹키 협정 과정을 통하여 그룹 멤버가 인증되는 모습을 나타내는 도면이다.
도 8은 그룹에 노드가 참여하거나 탈퇴하는 모습을 나타내는 도면이다.
도 9는 본 발명의 다른 실시예에 따른 그룹키 생성 방법에 의하여 인증되는 노드와 인증되지 않는 노드를 나타내는 도면이다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.
먼저 키 교환 방식의 대표적인 알고리즘인 Diffie-Hellman 알고리즘은 두 개의 노드(alice, bob)에서 각자의 비밀(secret)값을 이용하여 둘만이 공유할 수 있는 하나의 공통 비밀값을 얻을 수 있다. p와 g 두 개의 숫자가 공개되며 시스템 내에서 모든 사용자에 의해 상기 p, g는 사용된다. p는 소수(素數, prime number)이며 g는 p 보다 작은 정수(원시원소)로서 mod 연산에 의해 1부터 p-1까지의 모든 원소를 생성할 수 있다.
사용자인 alice와 bob이 각각 개인키(private key)인 a와 b를 생성한다고 가정했을 때, p와 g 그리고 개인키(a,b)를 이용하여 그들의 공용값(gab mod p)을 유도해낸다.
이러한 Diffie-Hellman 키 교환 방식을 이용하여 다수의 노드에서도 키를 서로 공유할 수 있는 방법들이 제안되어 왔다. 종래의 제안된 방법들(예: GDH(Gap Diffie-Hellman), BD(Burmester-Desmedt protocol))은 그룹키 협정 과정에서 많은 지수 연산과 다수의 메시지 송수신 과정을 필요로 한다. BD에서 각 노드들은 이웃 노드들과 통신 후 얻은 값을 이용하여 다시 전체 노드에게 브로드캐스트를 함으로써 그룹키를 협정하기 때문에, 노드 수가 많아질수록 노드들이 수행하는 연산과 수신해야하는 메시지 수가 상당히 많다. GDH에서는 각 노드들이 체인을 형성하여 순차적으로 메시지를 전송한 후, 마지막 노드가 마스터가 되어 브로드캐스트를 실시한다. 체인의 후반부에 있는 노드일수록 메시지의 전송과 수신이 많아지며 노드가 수행하는 연산 부담은 커진다.
종래의 방법들은 안전하지 않은 채널을 갖고 있지 않은 상태에서 모든 멤버들이 그룹키를 안전하게 공유할 수 있도록 만들었다. 하지만 인증이 되지 않은 상태에서 그룹키를 분배하기 때문에 공격자가 그룹 멤버로 위장할 수 있는 단점이 있다. 이를 막기 위해 PKI 기반의 증명서(Certification)를 요구하거나 또 다른 키가 분배되어야 한다는 가정이 필요하게 된다.
본 발명은 효율적으로 그룹 멤버들이 인증을 달성할 수 있도록 Diffie-Hellman 알고리즘에서 사용되는 파라미터들 외에 다른 값은 필요하지 않도록 한다.
도 1은 본 발명의 일 실시예에 따른 인증을 위한 동적 그룹키 생성 방법을 나타낸 흐름도이다.
도 1을 참조하면, 10단계에서 복수 개의 노드로 구성된 그룹이 Diffie-Hellman 알고리즘의 파라미터 중 mod 연산수인 소수 p 값을 공유한다. 즉, 그룹 멤버인 노드들만이 p 값을 알도록 공유한다. p 값의 공유는 그룹 멤버들 간의 물리접 접촉(Physical connect)이나 패러데이 상자(Faraday cage)에 의한 안전한 전달 또는 카메라(visual channel)나 적외선 통신과 같은 도청이 불가능한 통신 수단을 이용하여 각 멤버들에게 전달하는 방식으로 할 수 있다.
다음으로, 20단계에서, 그룹 멤버들은 상기 p 값을 이용하여 Diffie-Hellman 기반의 그룹키 협정을 수행한다. p 값을 알고 있는 그룹 멤버들은 그룹키 협정 과정을 성공적으로 완료하여 그룹키를 정상적으로 획득하지만, p 값을 모르는 노드는 그룹키를 획득할 수 없으므로, 자연스럽게 그룹 멤버들이 인증된다. 만약 공격자가 p 값을 모르는 채 그룹 멤버로 위장해 그룹키에 접근을 시도한다면, 그룹키 협정 과정에서 mod p값의 범위([1, p-1])가 아닌 값을 제시할 때 공격자임을 단번에 판별할 수 있으며, 우연히 범위 안의 값을 제시하더라도 p 값을 알지 못하므로 정상적으로 그룹키를 획득할 수 없다. 인증된 멤버들은 p 값 하나만을 유지하기 때문에 공간적(storage) 부담이 없으며 인증을 위한 다른 알고리즘이 필요하지 않기 때문에 효율적으로 적용할 수 있다.
이하에서는, 본 발명의 일 실시예에 의한 상기 120단계, 즉 그룹키 협정 과정을 도 2 내지 도 5을 참조하여 설명한다.
도 2는 본 발명의 일 실시예에 따른 그룹키 협정 과정을 나타낸 흐름도이다.
도 2를 참조하면, 복수 개의 노드로 구성된 그룹의 동적 그룹키 생성 방법은 먼저 복수 개의 노드 중 하나의 노드인 마스터 노드를 제외한 나머지 일반 노드가 마스터 노드에게 자신의 비밀키와 p 값에 기초한 공개키를 유니캐스팅한다(110단계). 구체적으로, 상기 일반 노드는 정수 g 값에 자신의 비밀키를 지수 연산한 다음 mod p 연산한 값을 유니캐스팅한다.
다음으로 복수 개의 공개키를 수신한 상기 마스터 노드가 이러한 복수 개의 공개키에 자신의 비밀키를 지수 연산한 다음 mod p 연산한 암호화 값을 그룹 내에 브로드캐스팅한다(120단계).
다음으로, 마스터 노드를 제외한 나머지 일반 노드는 수신한 암호화값으로부터 자신의 비밀키와 p 값을 이용하여 그룹키를 획득하는 과정을 거친다(130단계). 구체적으로, 상기 일반 노드는 수신한 암호화 값으로부터 자신의 비밀키의 역승 연산을 이용하여 그룹키를 획득한다.
이와 같은 그룹키 협정 과정에 따르면, 안전한 채널(secured channel)을 갖고 있지 않는 노드들 사이에서 효율적이며 안전하게 그룹키를 설정할 수 있다. 키 협정 과정 에서 발생하는 송수신 메시지의 양이 적고 노드가 수행하는 연산 부담도 적으므로 전체 시스템의 성능을 향상시킨다. 또한 송수신의 순서나 체인(chain)을 요구하지 않으므로 그룹 내의 하나 또는 그 이상의 노드가 이상 현상이 발생하였을 때도 그룹키를 설정하는 데에는 문제가 없어 시스템의 신뢰성을 증가시킬 수 있다.
도 3은 그룹내 다수의 노드들 사이에서 키를 교환하는 과정을 나타내는 도면이다. 도 3을 참고하면, 복수개의 노드에 적용되는 그룹키 생성 방법은 크게 두 가지 단계로 나뉜다. 먼저, 복수개의 노드들은 노드들 중 마스터인 s 노드에게 자신의 난수를 전달하는 단계와(round 1)(a 그림), 이후 마스터인 s 노드가 각 노드들로부터 수신한 값과 자신이 생성한 그룹키를 합쳐 브로드캐스트(broadcast)하는 단계가 있다(round 2)(b 그림). 일반 노드들은 브로드캐스트된 메시지에서 자신의 부분을 추출하여 결국 공통의 그룹키를 획득한다. 이때, 마스터가 일반 노드들의 난수와 그룹키를 합쳐 전송하고 일반 노드들이 그 메시지 안에서 그룹키를 얻는 것은 Diffie-Hellman 기법에 의존하여 안전하게 이루어질 수 있다. 여기서 상기 복수개의 노드들은 공개비밀(open-secret)값 생성을 위한 난스(nonce)값을 갖고 있다고 가정한다. 또한, 그룹의 마스터 노드도 하나의 그룹 멤버이며 그룹이 결성될 때 이미 정해진다고 가정한다.
도 3에서, s는 마스터 노드를 의미하며 i는 그 외의 일반 노드들을 의미한다. 본 발명을 실시함에 있어 그룹내 노드들은 먼저 그룹 멤버 중에서 마스터(s)가 누구인지를 인식한다. 마스터를 제외한 노드들(i)은 공유된 g 값과 자신의 난스값 ri로 공개비밀(open-secret)값을 생성하여 마스터 노드에게 전달한다(a 그림). 마스터는 이 값들에 자신의 비밀값(rs)를 붙여 브로드캐스트한다.
Figure pat00001
상기 [수학식 1]에서 Ms는 마스터 노드를 가리키며 Mi는 마스터를 제외한 일반 노드들을 의미한다. 그룹 노드의 수는 n개이며 마스터는 멤버 중 하나이므로 i는 1과 n 사이의 값 중에 s를 제외한 참조(index)값을 갖는다. 또한, 여기서 기호"→"는 유니캐스트(unicast) 송신을 의미하며, "⇒"는 브로드캐스트(broadcast) 송신을 의미한다. 일반 노드들은 마스터 노드에게 유니캐스트 전송을 하며 마스터 노드는 일반 노드들에게 브로드캐스트 전송을 한다.
[수학식 1]에서 마스터에게 전송되는 g의 ri승 연산값(gri)은 공개비밀(open-secret) 값으로 공개된 g값과 노드의 비밀값 ri를 이용하여 생성된 값이다. 노드들로부터 공개비밀값을 수신한 마스터는 공개비밀값에 마스터의 비밀값 rs를 지수 연산하여 브로드캐스트한다. 여기서, 지수 연산하여 생성된 암호화된 메시지를 인벨로프(envelope)라 한다. 설사 공개비밀값이 노출되어도 비밀값 ri를 모른다면 마스터로부터의 인벨로프에서 그룹키(grs)를 획득하는 것은 불가능하다.
그룹키 획득시, 일반 노드들은 마스터 노드의 브로드캐스트 메시지로부터 아래 [수학식 2]를 통해 그룹키를 얻을 수 있다.
Figure pat00002
즉, 임의의 일반 노드 i는 마스터로부터 수신한 인벨로프에서 자신의 비밀값 ri의 역승을 통해 g의 rs값(grs)을 얻을 수 있다. 마스터를 포함한 N개 노드들은 모두 g의 rs값(grs)을 공통으로 소유하게 되고 이 값을 그룹키로써 설정하게 된다. 인벨로프로부터 일반 노드가 그룹키를 얻는 상기의 과정을 복호화(decryption)라 한다.
도 4는 그룹에 하나의 노드가 가입/탈퇴하는 경우를 나타내는 도면이다.
본 발명에서는 그룹키가 생성된 후, 새로운 노드가 가입하거나 탈퇴하는 상황이 발생하였을 때에는 마스터가 보유하고 있는 일반 노드들의 공개비밀(open-secret) 값을 이용하여 재브로드캐스팅을 함으로써, 효율적으로 그룹키가 바뀌며 이전의 그룹키가 보호되어진다.
도 4는 그룹 내에 하나의 일반 노드가 가입 또는 탈퇴할 때를 나타내며, 도 4는 다수의 일반 노드가 가입 또는 탈퇴할 때 그룹이 능동적으로 적응할 수 있음을 보여준다. [수학식 3]과 [수학식 4]는 하나 또는 다수개의 새로운 노드가 가입할 때를 나타내며, [수학식 5]는 기존의 그룹 내 존재하던 노드가 탈퇴할 때 적용된다.
Figure pat00003
상기 [수학식 3]에서 n+1은 전체 노드 n개가 이루는 그룹에 새롭게 가입되는 노드를 의미한다. [수학식 1]과 유사하게 노드 n+1은 마스터 노드에게 유니캐스트전송으로 공개비밀값(gr(n+1))을 전달한다. 이후 마스터는 rs값을 새롭게 생성하여(
Figure pat00004
) 노드 n+1를 포함한 그룹내의 노드들에게 인벨로프(envelope)를 브로드캐스트한다.
도 5는 그룹에 다수의 노드가 가입/탈퇴하는 경우를 나타내는 도면이다.
Figure pat00005
상기 [수학식 4]는 k개의 새로운 노드를 위한 수학식이다. 단일 노드의 가입을 위한 [수학식 3]과 유사하지만 [수학식 4]에서는 새로운 노드의 집합을 표현하기 위해 j라는 참조(index)값을 사용한다. 새로운 k개의 노드들이 공개비밀값을 마스터에게 유니캐스트로 전송하고, 마스터는 전체 노드들이 새로운 그룹키를 복호화(decryption)할 수 있도록 인벨로프를 브로드캐스트한다.
Figure pat00006
상기 [수학식 5]는 하나 또는 다수의 노드가 탈퇴할 때를 위한 수학식이다. 여기서 L은 탈퇴하는 노드의 집합을 가리킨다. 마스터는 새로운 비밀값 rs(
Figure pat00007
)를 생성하고 L 집합이 아닌 노드들만의 공개비밀값으로 인벨로프를 생성한 후 현재 그룹에 브로드캐스트한다. 설사 탈퇴한 노드가 이러한 메시지를 도청하여도 자신의 공개비밀값(L 집합에 포함된 gri)이 포함된 메시지가 아니므로 새로운 그룹키를 추출할 수 없다.
이상 설명한 바와 같은 그룹키 협정 과정에 따르면, 안전한 채널을 갖고 있지 않는 노드들 사이에서도 효율적이며 안전하게 그룹키를 설정할 수 있다. 이때, 키 생성 과정에서 발생하는 송수신 메시지의 양이 적고 노드가 수행하는 연산 부담도 적으므로 전체 시스템의 성능을 향상시킨다.
또한, 송수신의 순서나 체인(chain)을 요구하지 않으므로 그룹 내의 하나 또는 그 이상의 노드에서 오작동이 발생하였을 때도 해당 노드를 제외한 다른 노드들의 그룹키 협정에 영향을 끼치지 않으며, 공격자에 의해 메시지가 노출되어도 그룹키를 얻는 것이 불가능하므로 시스템의 신뢰성을 증가시킬 수 있다.
도 6은 본 발명의 일 실시예에 따른 그룹키 생성 방법에 의하여 인증되는 노드와 인증되지 않는 노드를 나타내는 도면이다. 도 6에서, 작은 원 내의 노드들은 도 1의 10단계를 통하여 Diffie-Hellman 파라미터 중 p 값을 알고 있는 노드들을 의미하고, 작은 원 밖의 노드들은 p 값을 알지 못하는 노드들을 의미한다. 즉, p 값을 알고 있는 노드들만이 인증된 멤버들로서 그룹키를 획득할 수 있게 된다. g 값을 알고 있더라도 p 값을 모르는 노드들은 그룹키를 획득할 수 없으며, 이러한 노드들과 구분하기 위해 p 값을 알고 있는 인증된 노드들을 인증된 그룹(Authenticated Group)으로 칭할 수 있다.
도 7은 본 발명의 일 실시예에 따른 그룹키 협정 과정을 통하여 그룹 멤버가 인증되는 모습을 나타내는 도면이다. 도 7에서, S는 마스터, M은 p 값을 알고 있는 인증된 멤버, A는 p 값을 모르는 공격자라고 가정한다. 또한, 상기 복수 개의 인증된 멤버들은 공개비밀(open-secret) 값 생성을 위한 난스(nonce) 값을 가지고 있다고 가정한다. 이 값을 각각 a, b, c라고 했을 때 멤버들은 마스터 노드에게 ga mod p, gb mod p, gc mod p를 전송하게 된다(a 그림). 이를 수신한 마스터 노드는 멤버들에게 gas mod p, gbs mod p, gcs mod p를 돌려준다(b 그림). 여기서, s는 마스터의 비밀값을 의미한다. 각 멤버들은 ax=1, by=1, cz=1 인 x, y, z를 쉽게 구할 수 있다. 각 멤버들은 마스터로부터 수신한 메시지에서 (gas)x mod p, (gbs)y mod p, (gcs)z mod p를 계산한다면 모두 동일하게 gs mod p를 구함으로써, 이 값을 그룹키로 사용하게 된다.
반면, 공격자 A는 p 값을 모르기 때문에 임의의 값 q를 이용하여 mod 연산을 해야 한다. 도 7의 (a)에서 공격자가 임의의 난스 값 e와 mod 연산수 q 를 이용하여 마스터에게 전송하게 되는 메시지는 ge mod q 이고 도 7의 (b)에서 마스터가 공격자에게 응답한 값은 (ge mod q)s mod p 값이 된다. 공격자는 마스터로부터 수신된 값으로부터 ex=1 인 x값을 이용하여 그룹키를 획득을 시도한다면 다음과 같은 계산을 하게 된다.
Figure pat00008
이 값은 인증된 멤버들이 획득한 그룹키인 gs mod p가 아니므로 p 값을 모른다면 그룹키를 획득할 수 없게 된다. 또한 마스터는 각 멤버를 위한 인증 값을 따로 설정할 필요가 없으며 멤버가 인증 값을 갖고 있는지 확인할 필요가 없이 인증이 이루어진다. 멤버들 역시 누가 인증 멤버인지 아닌지 구분할 필요가 없어 효율적으로 인증과 그룹키 협정이 수행될 수 있다.
도 8은 그룹에 노드가 참여하거나 탈퇴하는 모습을 나타내는 도면으로서, 본 발명이 그룹의 변화에 능동적으로 적용될 수 있음을 나타낸다. 그룹의 멤버는 새로 추가될 수도 있으며, 탈퇴할 수도 있다. 도 8의 (a)는 새로운 멤버인 두 노드(N)가 참여할 때의 상황이며, (b)는 기존 멤버(L)가 탈퇴할 때의 상황이다. 새로운 멤버는 모두 p 값을 알고 있는 인증된 멤버라고 가정을 한다. p 값을 모르는 노드는 인증된 사용자가 아니므로 정상적으로 그룹키를 획득할 수 없다. 또한 탈퇴한 멤버들은 기존에 인증된 멤버이므로 그룹의 요청이나 사용자(노드)의 요청에 의해 다시 그룹에 참여할 수 있다. 다만, 멤버가 그룹에 참여하거나 탈퇴할 때는 전방향 비밀성(forward secrecy)과 후방향 비밀성(backward secrecy)를 유지하기 위해 그룹키를 변경하여야 한다. 새로운 노드는 이전 그룹키를 알 수 없어야 하기 때문에 새로운 멤버 참여 후 그룹키를 재설정함으로써 후방향 비밀성을 유지하며, 멤버 탈퇴 이벤트가 발생하였을 때는 탈퇴한 멤버를 제외한 멤버 구성으로 새로운 그룹키를 재설정함으로써 전방향 비밀성을 유지하게 된다. p 값을 아는 멤버가 탈퇴하거나 그룹에 참여하지 않은 상태라고 하여도 그룹키 설정 시에 포함되지 않은 멤버라면 변경된 그룹키를 알 수 없으므로 비밀성을 유지하게 된다. 인증 값 p를 통해 그룹은 멤버 인증이 자동으로 이루어지며 그룹키 설정이 안전하게 이루어질 수 있다. 만약 한 사용자(노드)가 여러 개의 그룹에 속해있다면 여러 개의 p 값을 가질 수도 있다. 각 그룹은 해당 그룹만의 인증 값 p를 유지하게 된다.
상술한 본 발명의 실시예에 의하면, 그룹키 협정 과정에 앞서 복수 개의 노드로 구성된 그룹이 Diffie-Hellman 파라미터 중 p 값을 공유하였다. 본 발명의 다른 실시예에 의하면, 그룹키 협정 과정에 앞서 Diffie-Hellman 파라미터 중 p 값과 g 값을 공유함으로써 인증을 달성할 수 있다. 즉, 도 1의 10단계에서 복수 개의 노드로 구성된 그룹이 소수 p 값과 정수 g 값을 공유하는 것이다. 도 9는 이러한 은 본 발명의 다른 실시예에 따른 그룹키 생성 방법에 의하여 인증되는 노드와 인증되지 않는 노드를 나타내는 도면이다. 도 9에서, 작은 원 내의 노드들은 Diffie-Hellman 파라미터 중 p 값과 g 값을 알고 있는 노드들을 의미하고, 작은 원 밖의 노드들은 p 값과 g 값을 알지 못하는 노드들을 의미한다. p 값을 공유하는 실시예와 유사한 원리로, p 값과 g 값을 알고 있는 노드들만이 인증된 멤버로서 그룹키를 획득할 수 있게 된다. p 값과 g 값을 모르는 노드들은 그룹키를 획득할 수 없으며, 이러한 노드들과 구분하기 위해 p 값과 g 값을 알고 있는 인증된 노드들을 그룹(Authenticated Group)으로 칭할 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (6)

  1. 동적 그룹키 생성 방법에 있어서,
    (a) 복수 개의 노드로 구성된 그룹이 소수 p 값을 공유하는 단계;
    (b) 상기 복수 개의 노드들 중 하나의 노드인 마스터 노드를 제외한 나머지 일반 노드가 상기 마스터 노드에게 자신의 비밀키와 상기 p 값에 기초한 공개키를 유니캐스트하는 단계;
    (c) 상기 일반 노드로부터 복수 개의 공개키를 수신한 상기 마스터 노드가 상기 복수 개의 공개키에 자신의 비밀키를 지수 연산한 다음 mod p 연산한 암호화값을 상기 그룹 내에 브로드캐스트하는 단계; 및
    (d) 상기 복수 개의 일반 노드는 상기 암호화값으로부터 자신의 비밀키와 상기 p 값을 이용하여 그룹키를 획득하는 단계를 포함하는 것을 특징으로 하는 동적 그룹키 생성 방법.
  2. 제1항에 있어서,
    상기 (b) 단계에서, 상기 공개키는 정수 g 값에 상기 자신의 비밀키를 지수 연산한 다음 mod p 연산한 값인 것을 특징으로 하는 동적 그룹키 생성 방법.
  3. 제1항에 있어서,
    상기 (d) 단계에서, 상기 복수 개의 일반 노드는 상기 암호화값으로부터 상기 자신의 비밀키의 역승 연산을 이용하여 상기 그룹키를 획득하는 것을 특징으로 하는 동적 그룹키 생성 방법.
  4. 제1항에 있어서,
    상기 소수 p 값을 알고 있는, 상기 복수 개의 노드 외의 적어도 하나 이상의 새로운 일반 노드가 상기 그룹에 가입하는 단계;
    상기 가입한 새로운 일반 노드가 상기 마스터 노드에게 자신의 비밀키와 상기 p 값에 기초한 공개키를 유니캐스트하는 단계;
    상기 마스터 노드가 자신이 기보유한 공개키 및 상기 유니캐스트된 공개키에 자신의 새로운 비밀키를 지수 연산한 암호화값을 상기 그룹 내에 브로드캐스트하는 단계; 및
    상기 그룹 내의 일반 노드는 상기 암호화값으로부터 자신의 비밀키와 상기 p 값을 이용하여 새로운 그룹키를 획득하는 단계를 더 포함하는 것을 특징으로 하는 동적 그룹키 생성 방법.
  5. 제1항에 있어서,
    상기 복수 개의 노드들 중 적어도 하나 이상의 일반 노드가 상기 그룹에서 탈퇴하는 단계;
    상기 마스터 노드가 상기 탈퇴한 일반 노드의 공개키를 제외한 나머지 공개키에 자신의 새로운 비밀키를 지수 연산한 다음 mod p 연산한 암호화값을 상기 그룹 내에 브로드캐스트하는 단계; 및
    상기 그룹 내의 일반 노드는 상기 암호화값으로부터 자신의 비밀키와 상기 p 값을 이용하여 새로운 그룹키를 획득하는 단계를 더 포함하는 것을 특징으로 하는 동적 그룹키 생성 방법.
  6. 동적 그룹키 생성 방법에 있어서,
    (a) 복수 개의 노드로 구성된 그룹이 소수 p 값과 정수 g 값을 공유하는 단계;
    (b) 상기 복수 개의 노드들 중 하나의 노드인 마스터 노드를 제외한 나머지 일반 노드가 상기 마스터 노드에게 상기 g 값에 자신의 비밀키를 지수 연산한 다음 mod p 연산한 공개키를 유니캐스트하는 단계;
    (c) 상기 일반 노드로부터 복수 개의 공개키를 수신한 상기 마스터 노드가 상기 복수 개의 공개키에 자신의 비밀키를 지수 연산한 다음 mod p 연산한 암호화값을 상기 그룹 내에 브로드캐스트하는 단계; 및
    (d) 상기 복수 개의 일반 노드는 상기 암호화 값으로부터 자신의 비밀키의 역승 연산과 상기 p 값을 이용하여 그룹키를 획득하는 단계를 포함하는 것을 특징으로 하는 동적 그룹키 생성 방법.
KR1020100106292A 2010-10-28 2010-10-28 인증을 위한 동적 그룹키 생성 방법 KR101190134B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100106292A KR101190134B1 (ko) 2010-10-28 2010-10-28 인증을 위한 동적 그룹키 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100106292A KR101190134B1 (ko) 2010-10-28 2010-10-28 인증을 위한 동적 그룹키 생성 방법

Publications (2)

Publication Number Publication Date
KR20120044794A true KR20120044794A (ko) 2012-05-08
KR101190134B1 KR101190134B1 (ko) 2012-10-11

Family

ID=46264502

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100106292A KR101190134B1 (ko) 2010-10-28 2010-10-28 인증을 위한 동적 그룹키 생성 방법

Country Status (1)

Country Link
KR (1) KR101190134B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106332074A (zh) * 2015-06-15 2017-01-11 中国移动通信集团辽宁有限公司 一种多方通信鉴权方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106332074A (zh) * 2015-06-15 2017-01-11 中国移动通信集团辽宁有限公司 一种多方通信鉴权方法及系统

Also Published As

Publication number Publication date
KR101190134B1 (ko) 2012-10-11

Similar Documents

Publication Publication Date Title
KR101070473B1 (ko) 동적 그룹키 생성 방법
Liu et al. Improved group off-the-record messaging
Zhang et al. A group key agreement protocol for intelligent internet of things system
Pathak et al. Byzantine fault tolerant public key authentication in peer-to-peer systems
He et al. A secure and efficient password‐authenticated group key exchange protocol for mobile ad hoc networks
JP2016514913A (ja) セッション鍵を確立する方法および装置
Mishra et al. A pairing-free identity based authentication framework for cloud computing
Fokine Key management in ad hoc networks
Faye et al. A survey of access control schemes in wireless sensor networks
De Ree et al. DISTANT: DIStributed Trusted Authority-based key managemeNT for beyond 5G wireless mobile small cells
Zhang et al. A provable semi-outsourcing privacy preserving scheme for data transmission from IoT devices
Abbas et al. PRISM: PRivacy-aware interest sharing and matching in mobile social networks
Cheng et al. A fault‐tolerant group key agreement protocol exploiting dynamic setting
Claycomb et al. Extending Formal Analysis of Mobile Device Authentication.
KR101190134B1 (ko) 인증을 위한 동적 그룹키 생성 방법
Mannan et al. A protocol for secure public instant messaging
Kanchan et al. SAPSC: SignRecrypting authentication protocol using shareable clouds in VANET groups
Hussein et al. Proactive discovery protocol with security enhancement for D2D communication system
Taurshia et al. Software-defined network aided lightweight group key management for resource-constrained Internet of Things devices
Gharib et al. Authentication architecture using threshold cryptography in kerberos for mobile ad hoc networks
Yang et al. An improvement of the batch-authentication and key agreement framework for P2P-based online social networks
Hsu et al. SGD 2: Secure Group-based Device-to-Device Communications with Fine-grained Access Control for IoT in 5G
Shanyue et al. A new key management protocol for wireless sensor network
Lin et al. An attribute-based mutual authentication scheme with time-bounded keys
Balachandran et al. An efficient and attack‐resistant key agreement scheme for secure group communications in mobile ad‐hoc networks

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171012

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181002

Year of fee payment: 7