KR101383690B1 - 안전한 멀티캐스트 통신을 위한 그룹키 관리방법 - Google Patents

안전한 멀티캐스트 통신을 위한 그룹키 관리방법 Download PDF

Info

Publication number
KR101383690B1
KR101383690B1 KR1020080125432A KR20080125432A KR101383690B1 KR 101383690 B1 KR101383690 B1 KR 101383690B1 KR 1020080125432 A KR1020080125432 A KR 1020080125432A KR 20080125432 A KR20080125432 A KR 20080125432A KR 101383690 B1 KR101383690 B1 KR 101383690B1
Authority
KR
South Korea
Prior art keywords
group key
group
node
user
key
Prior art date
Application number
KR1020080125432A
Other languages
English (en)
Other versions
KR20080114665A (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 KR1020080125432A priority Critical patent/KR101383690B1/ko
Publication of KR20080114665A publication Critical patent/KR20080114665A/ko
Priority to PCT/KR2009/002532 priority patent/WO2010067929A2/en
Priority to US13/133,920 priority patent/US20110249817A1/en
Application granted granted Critical
Publication of KR101383690B1 publication Critical patent/KR101383690B1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/0822Key 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) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • 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/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법에 관한 것이다. 즉, 본 발명에서는 중국인 나머지 정리를 기반으로 사용자키를 생성하고 이를 이용하여 그룹키를 배포하는 방법을 사용하고, 대규모 사용자를 지원하기 위해 트리(tree) 형태로 수신자를 관리하는 기술을 통해 대규모 사용자를 지원하면서도 네트워크로 전송되는 메시지의 수를 최소화한다. 또한, 다수의 수신자가 안전하게 그룹키를 공유하고, 특히 수신자 그룹에 사용자의 가입이나 탈퇴에 따른 멤버쉽의 변화에도 적응하며, 그룹에 속하는 사용자들만이 올바른 그룹키를 가질 수 있도록 한다.
멀티캐스트, 노드, 트리, 그룹키, 갱신

Description

안전한 멀티캐스트 통신을 위한 그룹키 관리방법{METHOD FOR MANAGING GROUP KEY FOR SECURE MULTICAST COMMUNICATION}
본 발명은 멀티캐스트 통신(multicast communication)시의 그룹키(group key) 관리 방법에 관한 것으로, 특히 다수의 사용자가 동일한 콘텐츠(contents)를 받아볼 수 있는 네트워크상 멀티캐스트 통신 시 정당한 권한을 가진 수신자 그룹에게만 멀티캐스트 통신을 위해 사용되는 그룹키를 보다 안전하게 전송할 수 있도록 하는 멀티캐스트 통신을 위한 그룹키 관리 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-017-02, 과제명: 사용자 중심의 콘텐츠 보호 유통 기술 개발].
통상적으로, 멀티캐스트 전송 기술은 동시에 다수의 사용자가 동일한 콘텐츠를 받아볼 수 있는 네트워크 전송 기술이다. 따라서 같은 콘텐츠를 동시에 여러 사용자에게 서비스할 경우 멀티캐스트 전송 기술을 이용하면 서버의 자원과 네트워크 사용량을 크게 줄일 수 있다. 하지만 어떠한 사용자도 멀티캐스트 그룹에 가입하여 네트워크에서 전송되고 있는 데이터를 수신할 수 있으므로 보안에 대한 취약성을 가진다.
이러한 문제점을 해결하기 위하여 멀티캐스트 상에서 그룹키를 이용한 보안통신 방법을 사용한다. 이 방법은 권한이 있는 수신자들을 그룹으로 묶어 그룹에 속하는 모든 수신자들에게 공통된 그룹키를 알려주고, 데이터를 전송할 때 송신자는 수신자들에게 알려준 그룹키를 이용하여 데이터를 암호화한 후 전송하는 방법이다.
위와 같은 암호화 전송 방법에서는 데이터를 보내는 측과 데이터를 필요로 하는 다수의 수신자가 같은 그룹키를 공유함으로써 데이터의 기밀성과 송신자 인증 등의 보안 사항을 동시에 만족시킬 수 있다.
또한, 브로드캐스트(broadcast)나 멀티캐스트 환경의 보안 통신에서 중요하게 고려되어야 할 보안 요소가 있는데 전방보호(forward secrecy)와 후방보호(baskward secrecy)가 그것이다. 전방보호는 송신자 그룹에서 탈퇴한 사용자가 기존에 자신이 가지고 있던 정보를 이용하여 앞으로의 해당 그룹 통신에 대한 정보를 얻을 수 없도록 하는 것이고, 후방보호는 새로운 사용자가 수신자 그룹에 가입하였을 때 가입 이전에 그룹 내에서 주고받았던 데이터를 알 수 없도록 하는 것이다. 전방보호화 후방보호를 제공하기 위해서는 수신자 그룹에서 사용자가 가입하거나 탈퇴할 때마다 그룹키를 변경하여야 한다.
그러나 그룹키 관리 기법은 다수의 수신자가 공유하는 그룹키의 관리에 있어서 수신자 그룹에 사용자의 가입이나 탈퇴에 따른 키관리가 일반적인 1:1 통신 환 경에서의 암호화키 관리에 비해 매우 복잡한 형태를 가지게 되므로 효율적인 키관리 방법을 제공하는 것이 그룹키 관리에서 매우 중요하다
효율적인 그룹키 관리 방법을 결정하기 위한 성능적 지표는 지원하는 사용자 수, 키 저장을 위해 사용하는 저장 공간, 키 갱신을 위해 네트워크로 전송되는 메시지 수와 메시지 길이, 키 갱신을 위한 계산 시간 등이 있다. 이 중 저장 공간과 계산 시간은 저장장치의 성능이 크게 향상되었기 때문에 현재에 와서는 크게 중요한 요소가 되지 않는다.
따라서 키관리 방법이 지원할 수 있는 사용자 수와 함께 한정된 네트워크 자원을 얼마나 효율적으로 사용하느냐의 문제인 메시지 수와 메시지 길이가 실제 시스템으로 구현하는데 중요한 성능 지표가 된다.
따라서 본 발명은 브로드캐스트나 멀티캐스트를 이용하여 네트워크로 연결된 다수의 수신자에게 데이터를 전송하는 환경에서 데이터의 보안을 위해 사용하는 그룹키 관리를 위한 것으로 대규모 사용자를 지원하면서도 네트워크로 전송되는 메시지의 수를 최소화하는 방법을 제공하고자 한다.
또한, 본 발명은 다수의 수신자가 안전하게 그룹키를 공유하고, 특히 수신자 그룹에 사용자의 가입이나 탈퇴에 따른 멤버쉽의 변화에도 적응하며, 그룹에 속하는 사용자들만이 올바른 그룹키를 가질 수 있도록 하는 멀티캐스트 통신을 위한 그 룹키 관리 방법을 제공하고자 한다.
상술한 본 발명은 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법으로서, 그룹키 관리 서버에서 수신자 그룹의 그룹키 관리를 위한 트리를 생성하는 단계와, 중국인 나머지 정리에 기반하여 상기 트리상 루트 노드를 제외한 각 노드에 대한 사용자 키를 생성하는 단계와, 상기 수신자 그룹에 속해 있는 각 사용자를 리프 노드에 할당하는 단계와, 상기 각 사용자에게 해당 리프 노드의 그룹키 관리를 위한 사용자 키 집합을 전달하는 단계와, 상기 리프 노드들을 제외한 각 노드에 대한 그룹키를 생성하는 단계와, 상기 리프 노드를 제외한 각 노드에서 사용자 키와 그룹키를 이용하여 중국인 나머지 정리값을 계산하는 단계와, 상기 각 노드의 그룹키 갱신 메시지를 멀티캐스트로 전송하는 단계를 포함한다.
본 발명에서는 브로드캐스트나 멀티캐스트를 이용하여 네트워크로 연결된 다수의 수신자에게 데이터를 전송하는 환경에서 데이터의 보안을 위해 사용하는 그룹키 관리를 위한 기술적 방법을 제공한다. 특히 사용자 수에 증가에 따른 확장성을 제공하고 키 갱신을 위해 네트워크로 전송되는 메시지의 수를 최소화함으로써 네트워크의 사용 비용을 절감할 수 있는 효과가 있다.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 핵심 기술요지를 살펴보면, 중국인 나머지 정리를 기반으로 사용자키를 생성하고 이를 이용하여 그룹키를 배포하는 방법을 사용하고, 대규모 사용자를 지원하기 위해 트리(tree) 형태로 수신자를 관리하는 기술을 사용한다. 이와 같은 방법을 통해 본 발명에서 이루고자 하는 바를 쉽게 달성할 수 있다.
본 발명에서 사용하는 중국인 나머지 정리(Chinese Remainder Theorem)는 임의의 두수가 서로소인 m개의 양의 정수 ,u1, … ,um 과 m개의 임의의 정수 ki, … , km에 대하여 아래의 [수학식1]다음을 만족하는 해 X가 존재한다는 정리이다.
X≡ k1 (mod u1)
...
X≡ km (mod um)
위 [수학식1]의 연립방정식을 만족하는 해 X는 아래의 [수학식2]에서와 같이 계산할 수 있다.
Figure 112008085114719-pat00001
상기한 중국인 나머지 정리를 이용한 그룹키 관리 방법은 다음과 같다. 그룹에 속하는 사용자들에게 그룹키를 추출할 수 있는 사용자 키를 발급한다. 사용자키들은 임의의 두수가 서로소인 양의 정수로 구성되며 상기 식에서 ui로 표현되는 값들이다. 송신자는 임의의 그룹키 GK를 생성하고 이를 사용자키와 exclusive OR 연산을 하여 이를 상기식에서 ki로 삼는다. 즉
Figure 112008085114719-pat00002
로 계산된다. 이러한 ui와 ki를 이용하여 상기한 [수학식2]에서의 X값을 계산한다. X값을 브로드캐스트나 멀티캐스트로 전송하면 수신자 그룹에 속한 사용자는 이 값을 자신의 사용자키 ui로 나누어 나머지 ki를 얻는다. 이 나머지 값 ki와 자신의 사용자키 ui를 exclusive OR 연산을 하면 그룹키 GK를 얻을 수 있다. 이 과정을 식으로 표현하면 사용자 i에서의 그룹키 계산은 아래의 [수학식3]에서와 같다.
Figure 112008085114719-pat00003
수신자 그룹에 속한 사용자들은 X로부터 GK를 정상적으로 계산해낼 수 있지만 그룹에 속하지 않은 사용자는 ki값을 계산해 낼 수 없으므로 GK를 얻을 수 없다.
m명의 사용자로 구성된 수신자 그룹에 새로운 사용자 m+1가 수신자 그룹에 가입하는 경우 후방보호를 위하여 그룹키를 갱신하여야 한다. 송신측에서는 새로운 사용자키 um+1을 생성하고 새로운 사용자에게 전송한다. 또한 새로운 그룹키 GKnew를 생성한다. 사용자키 u1∼um+1와 새로운 그룹키 GKnew를 이용하여 ki∼km+1을 계산한다. u1∼um+1과 ki∼km+1을 이용하여 [수학식2]의 과정을 통해 X'를 계산한다. X'를 브로드캐스트나 멀티캐스트로 전송하면 사용자 그룹에 속한 사용자들은 [수학식3]의 과정을 통하여 GKnew를 얻을 수 있다.
m명의 사용자로 구성된 수신자 그룹에서 사용자 i가 탈퇴하는 경우 전방보호를 위하여 그룹키를 갱신하여야 한다. 송신측에서는 새로운 그룹키 GKnew를 생성한다. 그리고 사용자키 u1∼um과 새로운 그룹키 GKnew를 이용하여 ki∼km을 계산한다. 단 탈퇴한 사용자 i에 해당되는 ki
Figure 112008085114719-pat00004
에 의해서 계산된 값이 아닌 임의의 값을 사용한다. 그리고 u1∼um과 ki∼km을 이용하여 [수학식2]의 과정을 통해 X'를 계산한다. X'를 브로드캐스트나 멀티캐스트로 전송하면 사용자 그룹에 속한 사용자들은 [수학식3]의 과정을 통하여 GKnew를 얻을 수 있지만 탈퇴한 사용자는 GKnew를 계산해 낼 수 없게 된다.
상기와 같은 중국인 나머지 정리를 이용한 그룹키 관리 방법은 그룹키 갱신을 위하여 단 한번의 멀티캐스트 메시지만 전송하면 되어 네트워크의 부하를 줄일 수 있고 수신측에서의 계산이 간단하다는 장점이 있는 반면 X의 크기가 수신자 그룹에 속해있는 사용자수와 비례하여 커지고 [수학식2]의 계산과정에 시간이 많이 소요되는 단점이 있어, 수십명 정도의 사용자 그룹에 적합하고 대규모의 사용자 그룹을 지원하는 것은 불가능하다.
본 발명에서는 도 1에서와 같이 그룹키 관리서버(100)와 다수의 사용자로 구성되는 수신자 그룹(102)의 네트워크에서 수신자 그룹을 수십명 단위의 서브그룹으로 묶은 트리(tree)형태로 구성하여 중국인 나머지 정리를 이용한 그룹키 관리 방법의 장점인 적은 메시지 수와 적은 계산량을 가지는 동시에 대규모 수신자 그룹의 지원이 가능하도록 한다.
도 2는 본 발명의 실시 예에 따라 수신자 그룹을 수십명 단위의 서브그룹으로 묶은 트리구조를 도시한 것으로, 트리에서 리프 노드(leaf node)인 16∼21에만 사용자가 할당되고 루트 노드(root node) 10과 중간 노드(internal node) 11∼15 들은 사용자가 할당되지는 않지만 그룹키 관리를 위한 목적으로 사용된다.
루트노드 10과 중간 노드 11∼15들은 임의의 수의 자식 노드(child node)를 가질 수 있다. 어떤 노드가 갖는 자식 노드들은 중국인의 나머지 정리에 의한 그룹키 관리 방법을 사용하는 하나의 서브 그룹이 된다. 따라서 어떤 노드가 갖는 자식 노드의 수는 중국인의 나머지 정리를 계산하는 데 소요되는 시간을 고려하여 결정되어야 한다. 현재의 컴퓨터 성능을 고려하면 100이하의 수가 적당하다.
트리에서 루트 노드 10을 제외한 모든 노드들은 사용자 키 ui.j를 부여받는다. 또한 트리에서 리프 노드들과 루트 노드을 제외한 모든 중간 노드들은 그룹키 GKi,j를 가진다. GKi,j와 ui.j에서 i는 해당 노드의 트리에서의 깊이(depth) 값이고, j는 해당 노드가 왼쪽에서부터 몇 번째 노드인지의 순서값이다.
루트 노드는 그룹키 GK를 가진다. 노드에 부여된 그룹키는 해당 노드를 루트로 하는 모든 하위 노드와의 통신을 위해 사용한다. 송신자와 수신자 그룹간 멀티캐스트 통신을 위해 사용하는 그룹키는 루트 노드 10이 갖는 그룹키 GK를 사용한다. 중간 노드들이 갖는 그룹키는 그룹키 GK의 갱신을 위한 목적으로 사용된다.
앞서 언급한 것과 같이 어떤 노드가 갖는 자식 노드들은 중국인의 나머지 정리에 의한 그룹키 관리 방법을 사용하는 하나의 서브 그룹이 된다. 예를 들어 도 2에서 110에 포함되는 노드들인 루트 노드 10의 자식 노드들은 중국인의 나머지 정리에 의한 사용자 키를 하나씩 부여받는다. 이때 110에 포함되는 노드들간의 통신 에 사용하는 그룹키는 루트 노드 10의 그룹키 GK를 사용한다. 마찬가지로 도 2에서 111에 포함되는 노드 11의 자식 노드들은 중국인의 나머지 정리에 의한 사용자 키를 하나씩 부여받는다. 이때 부여되는 사용자 키는 100의 노드들에게 부여되는 사용자 키와 독립적으로 생성한다. 즉, 101을 위한 사용자 키의 생성 시 100에서 사용한 사용자 키를 고려할 필요가 없다. 111에 포함되는 노드들간의 통신에 사용하는 그룹키는 노드 11의 그룹키 GK1,1을 사용한다. 상기한 방법을 트리내 나머지 노드들에게도 동일하게 적용하여 사용자 키와 통신을 위한 그룹키를 부여한다.
도 3은 본 발명의 실시 예에 따른 트리구조에서 그룹키 갱신 과정을 도시한 것으로, 이하 도 3를 이용하여 그룹키 갱신 과정을 상세히 설명하기로 한다.
먼저 도 3은 도 2의 전체 트리 중 하나의 가장 왼쪽의 사용자 서브 그룹만을 나타낸 것으로, 나머지 사용자 서브 그룹에서의 그룹키 갱신 과정도 이와 동일하므로 하나의 서브 그룹만을 상세히 설명한다.
도 3에서 리프 노드들은 해당 노드에서 루트 노드까지의 모든 조상 노드(ancestor node)의 사용자 키 ui,j를 가진다. 그룹키 관리 서버는 노드 203의 그룹키 GK2,1을 생성한다. 노드 203의 자식 노드들에 부여된 사용자 키를 이용하여 [수학식2]에서의 중국인 나머지 정리에 의한 값 X를 계산한다. 이 값을 노드 203의 첨자를 따서 X2,1로 한다. X2,1을 멀티캐스트로 전송하면 리프 노드 204∼206만이 그룹키 GK2,1를 얻을 수 있고, 나머지 리프 노드들은 GK2,1를 계산해 낼 수 없다.
다음 과정으로 그룹키 관리 서버(100)는 노드 202의 그룹키 GK1,1을 생성한다. 노드 202의 자식 노드들에 부여된 사용자 키를 이용하여 [수학식2]에서의 중국인 나머지 정리에 의한 값 X1,1을 계산한다. 단 이때 사용하는 ki값을
Figure 112008085114719-pat00005
로 계산한다. X1,1을 멀티캐스트로 전송하면 노드 202의 하위에 있는 리프 노드들은 아래의 [수학식4]에서와 같은 계산과정을 통하여 GK1,1을 얻을 수 있고 나머지 리프 노드들은 GK1,1를 계산해 낼 수 없다.
Figure 112008085114719-pat00006
여기까지의 과정으로 리프 노드 204∼206은 GK1,1과 GK2,1을 가지게 된다.
마지막으로 그룹키 관리 서버(100)는 루트노드 201의 그룹키 GK를 생성한다. 루트 노드 201의 자식 노드들에 부여된 사용자 키를 이용하여 [수학식2]에서의 중국인 나머지 정리에 의한 값 X를 계산한다. 단 이때 사용하는 ki값을
Figure 112008085114719-pat00007
로 계산한다. X를 멀티캐스트로 전송하면 리프 노드들은 아래의 [수학식5]에서와 같은 계산과정을 통하여 그룹키 GK를 얻을 수 있다.
Figure 112008085114719-pat00008
상기 과정을 통하여 각 리프 노드는 자신에서 루트 노드에 이르는 과정에 있는 모든 노드들의 사용자 키와 그룹키를 가지게 된다. 예를 들어 도 3에서 리프 노드 204는 사용자 키 u3,1, u2,1, u1,1과 그룹키 GK2,1, GK1,1, GK를 가진다. 송신자가 멀티캐스트나 브로드캐스트로 전송하는 데이터는 루트 노드 201의 그룹키 GK를이용하여 암호화하여 전송한다.
도 4는 본 발명의 실시 예에 따른 안전한 멀티캐스트 통신을 위한 그룹키 관리방법을 나타낸 흐름도이다. 이하, 도 1, 도 2, 도 3 및 도 4를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
먼저, 그룹키 관리 서버(100)는 수신자 그룹(102)의 그룹키 관리를 위한 트리를 생성한다(S100). 이때, 트리 생성시 각 노드의 자식 노드의 수는 전체 수신자 그룹의 수와 서버의 성능을 감안하여 결정한다. 노드의 구분을 위한 각 노드에는 노드 ID가 부여된다.
이어, 그룹키 관리 서버(100)는 루트 노드를 제외한 각 노드에 대한 사용자 키를 생성한다(S110). 이때, 사용자 키의 생성은 각 노드의 자식노드들을 하나의 서브 그룹으로 하여, 중국인 나머지 정리에 따른 각 쌍이 서로소가 되는 값으로 결정한다. 어떤 노드를 부모 노드(parent node)로 하는 노드들에 대한 사용자 키의 생성 과정에서 트리상의 다른 노드들의 사용자 키 값은 고려하지 않는다.
이어, 그룹키 관리 서버(100)는 수신자 그룹에 속해 있는 사용자들을 리프 노드에 각각 할당한다(S120). 이때, 리프 노드 하나에 한 명의 사용자가 할당되며, 어떤 리프 노드에 할당할 것인지는 임의로 결정할 수 있다.
그리고, 그룹키 관리 서버(100)는 수신자 그룹내 각 사용자에게 그 사용자가 할당된 리프 노드의 사용자 키를 전달한다(S130). 이때 해당 리프 노드로부터 루트 노드까지의 중간에 있는 모든 노드들에 부여된 사용자 키도 함께 전송한다. 즉, 어떤 리프 노드에 해당하는 사용자에게 전송되는 사용자 키는 해당 리프 노드의 사용자 키와 조상 노드들의 사용자 키의 집합이 된다.
이어, 그룹키 관리 서버(100)는 리프 노드들을 제외한 각 노드에 대한 그룹키를 생성한다(S140). 그룹키는 멀티캐스트로 전송될 데이터의 암호화 또는 데이터를 암호화할 세션키를 암호화할 목적으로 사용되므로 암호화 알고리즘에 적합한 형태로 생성한다.
이어, 그룹키 관리 서버(100)는 리프 노드를 제외한 각 노드에서 사용자 키와 그룹키를 이용하여 상기 도 3의 설명에서 기술한 방법에 의해 중국인 나머지 정리값을 계산한다(S150). 이 계산 시 하위 노드의 값을 먼저 계산하고 이후 상위 노드의 값을 차례대로 계산한다.
그런 후, 그룹키 관리 서버(100)는 각 노드의 그룹키 갱신 메시지를 멀티캐스트로 전송한다(S160). 멀티캐스트 전송 시에는 하위 노드에 대한 갱신 메시지를 먼저 전송하고 이후 상위 노드의 갱신 메시지를 차례대로 전송한다. 이에 따라 수 신자 그룹내 각 사용자는 멀티캐스트로 전송된 데이터와 자신이 가지고 있는 사용자 키를 이용하여 그룹키를 계산한다(S170).
도 5는 상기 도 4의 과정중 사용자 키 전달 과정(S130)에서 사용자에게 전달되는 데이터의 구조를 도시한 것이다.
위 도 5를 참조하면, 사용자에게 전달되는 데이터의 구조에는 수신자 그룹이 여러 개 있을 경우 수신자 그룹의 구분을 위한 그룹 ID, 노드에 부여된 노드 ID, 트리상에서 해당 노드의 레벨값, 그룹키 관리를 위한 사용자키가 포함된다. 또한, 부모 노드를 포함한 조상노드들에 대한 노드 ID, 노드의 레벨값, 그룹키 관리를 위한 사용자키도 포함된다. 이 데이터는 다른 사용자에게 공개되면 안되므로 키 관리 서버와 사용자가 공유하는 비밀키를 이용해서 암호화하거나 사용자의 공개키를 이용하여 암호화하여 전달한다.
도 6은 상기 도 4의 과정 중 트리로 생성되는 수신자 그룹의 노드 중 리프 노드를 제외한 각 노드에서 사용자 키와 그룹키를 이용하여 중국인 나머지 정리값을 계산하는 단계(S150)에 대한 상세 흐름도이다.
먼저, 루트 노드의 레벨값을 0으로 하고, 그 하위 노드의 레벨값이 1씩 증가하도록 가정한다. 그러면 그룹키 관리서버(100)는 (S151)단계에서 (리프 노드의 레벨-1)을 i로 설정하고, (S152)단계에서 i가 0보다 작은지 여부를 검사한다.
이때, 검사결과 i값이 0보다 작으면 이는 트리의 모든 노드에 대하여 중국인 나머지 정리값을 계산하는 것이므로 종료한다.
그러나, 검사결과 i값이 0보다 크면 그룹키 관리서버(100)는 (S152)단계에서 (S153)단계로 진행해서 i레벨의 노드 중 하나를 선택하고, (S154)단계에서 위 선택된 노드로 그룹키와 자식 노드들의 사용자 키를 이용하여 중국인 나머지 정리값을 계산한다. 이때 위 중국인 나머지 정리값의 계산은 상기 도 3에 설명한 바와 같이 수행한다.
위와 같이 선택된 노드에 대해 중국인 나머지 정리값을 계산한 경우 (S155)단계에서 i레벨의 모든 노드에 대해 중국인 나머지 정리값 계산이 수행되었는지를 검사하고, 모든 노드에 대해 수행되지 않은 경우에는 (S153)∼(S155)단계를 반복 수행하면서 모든 노드에 대해 중국인 나머지 정리값을 계산한다.
그러나, 이와 달리 I레벨의 모든 노드에 대해 중국인 나머지 정리값 계산이 완료된 경우에는 (S156)단계로 진행해서 i 레벨 값은 i-1로 설정한 후, 다시 (S152)∼(S155)단계를 반복 수행하면서 리프 노드를 제외한 나머지 노드들에 대한 중국인 나머지 정리값을 계산한다.
도 7은 상기 도 4의 과정 중 리프노드를 제외한 각 노드로 그룹키 갱신 메시지를 멀티캐스트로 전송하는 단계(S160)에 대한 상세 흐름도이다.
먼저, 루트 노드의 레벨값을 0으로 하고, 그 하위 노드의 레벨값이 1씩 증가하도록 가정한다. 그러면 그룹키 관리서버(100)는 (S161)단계에서 리프 노드의 레벨-1을 i로 설정하고, (S162)단계에서 i가 0보다 작은지 여부를 검사한다.
이때, 검사결과 i값이 0보다 작으면 전송할 그룹키 메시지가 없다는 것을 의미하는 것이므로 종료한다. 그러나, 검사결과 i값이 0보다 크면 그룹키 관리서버(100)는 (S162)단계에서 (S163)단계로 진행해서 i레벨의 노드 중 하나를 선택하 고, (S164)단계에서 위 선택된 노드의 그룹키 갱신 메시지를 멀티캐스트로 전송한다.
위와 같이 선택된 노드의 그룹키 갱신 메시지를 멀티캐스트로 전송한 경우 (S165)단계에서 i레벨의 모든 노드의 그룹키 갱신 메시지에 대한 멀티캐스트 전송이 수행되었는지를 검사하고, 모든 노드에 대해 수행되지 않은 경우에는 (S163)∼(S165)단계를 반복 수행하면서 I레벨의 모든 노드에 대해 그룹키 갱신 메시지를 멀티캐스트로 전송한다.
그러나, 이와 달리 모든 노드에 대해 그룹키 갱신 메시지의 멀티캐스트 전송이 완료된 경우에는 (S166)단계로 진행해서 i 레벨 값은 i-1로 설정한 후, 다시 (S162)∼(S165)단계를 반복 수행하면서 리프 노드를 제외한 나머지 노드들에 대해 그룹키 갱신 메시지를 멀티캐스트로 전송하게 된다.
도 8은 상기 도 4의 과정 중 그룹키 갱신 메시지를 멀티캐스트로 전송하는 단계(S160)에서 전송하는 데이터의 구조를 나타낸다.
위 도 8을 참조하면, 멀티캐스트로 전송되는 데이터의 구조에는 수신자 그룹이 여러 개 있을 경우 수신자 그룹의 구분을 위한 그룹 ID, 노드에 부여된 노드 ID, 또한, 상기 도 4의 과정 중 중국인 나머지 정리값을 계산하는 단계(S150)에서 계산한 중국인 나머지 정리값이 포함된다.
도 9는 본 발명에 따른 그룹키 관리 방법에서 수신자 그룹에 새로운 사용자가 가입하였을 때 발생하는 그룹키 갱신과정에 대한 흐름도이다. 이하, 도 9를 참조하여 상세히 설명하기로 한다.
먼저, 그룹키 관리 서버(100)는 새로운 사용자를 위하여 트리상의 임의의 위치에 리프 노드를 하나 추가로 생성한다(S200). 이어, 그룹키 관리 서버(100)는 새로운 사용자를 위한 사용자 키를 생성하고(S210), 새로운 그룹키를 생성한다(S220).
위와 같이, 사용자 키와 그룹키를 생성한 후, 그룹키 관리 서버(100)는 새로운 사용자에게 도 5와 같은 형태의 사용자 키 정보와 새로운 그룹키를 전송한다(S230, S240). 이때, 새로운 사용자에게 전송되는 사용자 키와 새로운 그룹키는 안전한 전송을 위하여 그룹키 관리 서버와 사용자가 공유하는 비밀키를 이용하여 암호화하거나 사용자의 공개키를 이용하여 암호화한다.
이어, 그룹키 관리 서버(100)는 새로운 그룹키를 현재의 그룹키로 암호화하여 멀티캐스트로 전송한다(S250). 이때 암호화 알고리즘은 DES, AES와 같은 대칭키 알고리즘을 사용한다. 이에 따라 기존 수신자 그룹내 사용자는 수신된 멀티캐스트 데이터를 현재의 그룹키로 복호화하여 새로운 그룹키를 얻는다(S260).
도 10은 본 발명에 따른 그룹키 관리 방법에서 수신자 그룹에서 사용자가 탈퇴하였을 때 발생하는 그룹키 갱신과정에 대한 흐름도이다.
이하, 도 10을 참조하면, 먼저, 그룹키 관리 서버(100)는 수신자 그룹에서 사용자가 탈퇴하는 경우 트리에서 탈퇴한 사용자에게 할당되었던 리프 노드를 선택하고(S300), 이어 상기 리프 노드의 부모 노드를 선택한다(S310). 이때 상기 리프 노드의 부모 노드의 첨자를 (i, k)라 하자.
이어, 그룹키 관리 서버(100)는 위 상기 부모 노드에 할당할 새로운 그룹키 GK'i,k를 생성한다(S320).
그리고, 그룹키 관리 서버(100)는 상기 부모 노드에서 중국인 나머지 정리값을 계산한다(S330). 이때 중국인 나머지 정리값의 계산에 있어서 상기 부모 노드의 자식노드들에 부여된 사용자키 ui+1,j와 새로운 그룹키를 이용하여 ki+1,j을 계산한다. 단 탈퇴한 사용자에 해당되는
Figure 112008085114719-pat00009
에 의해서 계산된 값이 아닌 임의의 값을 사용한다(S330).
그런 후, 그룹키 관리 서버(100)는 그룹키 갱신 메시지를 멀티캐스트로 전송한다(S340). 이때 전송하는 메시지의 구조는 도 8에서의 메시지 구조와 동일하다.
이어, 그룹키 관리 서버(100)는 (S350)단계에서 해당 노드가 루트 노드인지 여부를 검사하여 해당 노드가 루트 노드일 경우에는 종료하고, 루트 노드가 아닌 경우 (S310)단계로 진행해서 다시 새로운 그룹키를 생성 및 멀티캐스트 전송 동작을 수행한다.
한편, 상기 기술한 그룹키 관리 방법은 수십명의 수신자 그룹만을 지원할 수 있는 기존의 중국인 나머지 정리를 이용한 그룹키 관리 방법을 대규모의 수신자 그룹을 지원할 수 있도록 확장하여, 작은 수의 메시지만으로 그룹키 갱신이 가능하게 한다. 하지만 중국인 나머지 정리를 계산하는 과정은 그대로 진행되어야 하므로 키 갱신을 위해 필요한 계산시간이 많이 걸리는 단점이 있다. 본 발명은 시간이 많이 걸리는 계산을 초기화 시간에 수행하고 실제 키 갱신 시에는 약간의 계산만을 수행하여 효율적인 키 갱신이 가능하도록 하는 실용적인 방법을 포함한다.
본 발명에 의한 실용적인 그룹키 관리 방법은 초기화 단계와 운용 단계로 구분된다. 도 11은 본 발명의 실용적인 그룹키 관리 방법 중 초기화 단계의 과정에 대한 흐름도를 도시한 것이다.
이하, 도 11을 참조하면, 먼저 그룹키 관리 서버(100)는 각 노드별 자식 노드의 수를 결정한다(S400). 자식 노드의 수는 수신자 그룹에 속하는 사용자 수와 계산 시간을 감안하여 결정한다. 이때, 자식 노드의 수가 많으면 그룹키 갱신을 위해 전송되는 메시지의 수는 작아질 수 있지만 계산시간이 많이 소요된다. 반대로 자식 노드의 수가 작으면 메시지의 수는 커질 수 있지만 계산시간은 작아진다. 따라서 이를 감안하여 자식 노드의 수를 결정한다.
이어, 그룹키 관리 서버(100)는 위 (S400)단계에서 결정된 자식 노드의 수를 기반으로 트리를 구성한다(S410). 예를 들어 수신자 그룹에 속하는 사용자 수가 최대 100,000인 경우에서, 자식 노드의 수를 30으로 결정했다면 30×30×30×30 = 810,000이므로 트리의 높이는 4가 되어야 한다. 위의 경우 자식 노드이 수를 50으로 결정했다면 트리의 높이는 50×50×50=125,000이므로 3이 된다. 이때, 그룹키 갱신을 위해 전송되는 메시지의 수는(트리의 높이- 1)이므로 자식 노드의 수가 30인 경우 3개, 자식 노드의 수가 50인 경우 2개가 된다.
그리고, 그룹키 관리서버(100)는 루트 노드를 제외한 각 노드에 대한 사용자 키를 생성한다(S420). 이때, 사용자 키 생성은 위 도 4의 (S110)단계에서와 동일한 방법으로 수행한다.
이어, 그룹키 관리 서버(100)는 사용자를 임의의 리프 노드에 할당한 다(S430). 이때 보통의 경우 사용자의 수보다 트리의 리프 노드의 수가 훨씬 더 많으므로 사용자 할당 후에도 사용자가 할당되지 않은 리프 노드가 존재하게 된다.
위와 같이 사용자를 임의의 리프 노드에 할당한 후, 그룹키 관리 서버(100)는 리프 노드를 제외한 각 노드에 대한 그룹키를 생성한다(S440). 이때, 그룹키 생성은 위 도 4의 (S140)단계와 동일한 방법으로 수행한다.
이어, 그룹키 관리 서버(100)는 각 노드의 고정 데이터를 계산한다(S450). 각 노드의 고정 데이터는 아래 [수학식6]에서의 M, NC 값이다.
Figure 112008085114719-pat00010
이어, 그룹키 관리 서버(100)는 각 노드의 가변 데이터를 계산한다(S460). 각 노드의 가변 데이터 NV는 아래 [수학식7]에서와 같이 계산한다.
Figure 112008085114719-pat00011
이어, 그룹키 관리 서버(100)는 리프 노드를 제외한 각 노드에서 위에서와 같이 계산된 고정 데이터(NC)와, 가변 데이터(NV)를 이용하여 중국인 나머지 정리값(X)을 아래의 [수학식8]에서와 같이 계산한다(S470).
Figure 112008085114719-pat00012
이어, 그룹키 관리 서버(100)는 위 (S450)∼(S460)단계에서 계산된 고정 데이터(NC)와, 가변 데이터(NV) 값을 저장한다(S480).
도 12는 본 발명의 실용적인 그룹키 관리 방법 중 운용 단계에서 새로운 사용자 가입 시 처리 과정에 대한 흐름도를 도시한 것이다.
이하, 도 12를 참조하면, 먼저, 그룹키 관리 서버(100)는 새로운 사용자 가입 시 새로운 그룹키를 생성한 후(S500), 사용자가 할당되지 않은 리프 노드를 선택하여 해당 노드에 새로 가입한 사용자를 할당한다(S510).
이어, 그룹키 관리 서버(100)는 해당 노드의 가변 데이터를 계산한다(S520). 이때 가변 데이터의 계산은 위 도 11의 (S460)단계에서의 방법과 동일하다.
그리고, 그룹키 관리 서버(100)는 상기 단계(S520)에서 계산한 노드 가변 데이터를 저장한 후(S530), 새로운 사용자에게 위 도 5와 같은 형태의 사용자 키 정보를 전송한다(S540).
이어, 그룹키 관리 서버(100)는 새로운 사용자에게 새로운 그룹키를 전송한다(S550). 이때, 새로운 그룹키는 안전한 전송을 위하여 그룹키 관리 서버(100)와 사용자가 공유하는 비밀키를 이용하여 암호화하거나 사용자의 공개키를 이용하여 암호화한다.
그리고, 그룹키 관리 서버(100)는 위와 같은 새로운 그룹키를 현재의 그룹키로 암호화하여 멀티캐스트로 전송한다(S560). 이때 암호화 알고리즘은 DES, AES와 같은 대칭키 알고리즘을 사용한다. 이에 따라, 기존 수신자 그룹내 사용자는 수신된 멀티캐스트 데이터를 현재의 그룹키로 복호화하여 새로운 그룹키를 얻는다(S570).
도 13은 본 발명의 실용적인 그룹키 관리 방법 중 운용 단계에서 사용자 탈퇴 시 처리 과정에 대한 흐름도를 도시한 것이다.
이하, 도 12를 참조하면, 먼저, 그룹키 관리 서버(100)는 트리에서 탈퇴한 사용자가 할당된 리프 노드를 선택하고(S600), 해당 리프 노드의 가변 데이터를 임의의 값으로 설정한다(S610).
이어, 그룹키 관리 서버(100)는 위 (S610)단계에서 설정된 가변 데이터값을 저장하고(S620), 상기 노드의 부모 노드를 선택한다(S630).
그리고, 그룹키 관리 서버(100)는 해당 노드에 할당할 새로운 그룹키를 생성하고(S640), 해당 노드에서의 가변 데이터를 계산한다(S650). 이때 가변 데이터 계산 방법은 위 도 11의 (S460)단계에서의 계산방법과 동일하다.
이어, 그룹키 관리 서버(100)는 위 (S650)단계에서 계산한 가변 데이터를 저장하고(S660), 저장된 노드 고정 데이터와 가변 데이터를 이용하여 해당 노드에서의 중국인 나머지 정리값을 계산한다(S670). 이때, 계산 방법은 앞에서 설명한 도 11의 (S470)단계에서의 계산 방법과 동일하다.
그런 후, 그룹키 관리 서버(100)는 그룹키 갱신 메시지를 멀티캐스트로 전송한다(S680). 이때 전송하는 메시지의 구조는 도 8에서의 메시지 구조와 동일하다(S680).
이어, 그룹키 관리 서버(100)는 (S690)단계에서 해당 노드가 루트 노드인지 여부를 검사하여 해당 노드가 루트 노드일 경우에는 종료하고, 루트 노드가 아닌 경우 (S630)단계로 진행해서 다시 새로운 그룹키를 생성 및 멀티캐스트 전송 동작을 수행한다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다. 이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식 을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
도 1은 본 발명에 따른 그룹키 관리 서버와 수신자 그룹의 네트워크 구성도,
도 2는 본 발명에 따른 그룹키 관리 방법에서 수신자 그룹을 트리 형태로 구성하는 일 실시 예 구성도,
도 3은 본 발명에 따른 그룹키 관리 방법에서 수신자 그룹을 관리하는 트리의 일 부분에 대한 실시 예 구성도,
도 4는 본 발명에 따른 그룹키 관리 방법에서 송신자와 수신자 그룹이 그룹키를 공유 과정을 나타내는 흐름도,
도 5는 본 발명에 따른 그룹키 관리 방법의 사용자 키 전달 과정에서 사용자에게 전달되는 데이터의 구조에 대한 일 실시 예 구성도,
도 6은 본 발명에 따른 그룹키 관리 방법에서 트리의 각 노드에서 중국인 나머지 정리값을 계산하는 과정에 대한 흐름도,
도 7은 본 발명에 따른 그룹키 관리 방법에서 그룹키 갱신 메시지를 수신자 그룹에 멀티캐스트로 전송하는 과정에 대한 흐름도,
도 8은 본 발명에 따른 그룹키 관리 방법에서 그룹키 갱신을 위하여 멀티캐스트로 전송되는 메시지의 일 실시 예 구성도,
도 9는 본 발명에 따른 그룹키 관리 방법에서 수신자 그룹에 새로운 사용자가 가입하는 경우의 그룹키 갱신과정에 대한 흐름도,
도 10은 본 발명에 따른 그룹키 관리 방법에서 수신자 그룹에서 사용자가 탈퇴하는 경우의 그룹키 갱신과정에 대한 흐름도,
도 11은 본 발명에 따른 실용적 그룹키 관리 방법에서 초기화 과정에 대한 흐름도,
도 12는 본 발명에 따른 실용적 그룹키 관리 방법에서 수신자 그룹에 새로운 사용자가 가입하는 경우의 그룹키 갱신과정에 대한 흐름도,
도 13은 본 발명에 따른 실용적 그룹키 관리 방법에서 수신자 그룹에 사용자가 탈퇴하는 경우의 그룹키 갱신과정에 대한 흐름도.

Claims (17)

  1. 멀티캐스트 통신을 위한 그룹키 관리 방법으로서,
    그룹키 관리 서버에서 수신자 그룹의 그룹키 관리를 위해 루트, 중간, 리프 노드로 구성되는 트리를 생성하는 단계와,
    중국인 나머지 정리에 기반하여 상기 트리상 루트 노드를 제외한 각 노드에 대한 사용자 키를 생성하는 단계와,
    상기 수신자 그룹에 속해 있는 각 사용자를 리프 노드에 할당하는 단계와,
    상기 각 사용자에게 해당 리프 노드의 그룹키 관리를 위한 사용자 키를 전달하는 단계와,
    상기 리프 노드를 제외한 각 노드에 대한 그룹키를 생성하는 단계와,
    상기 리프 노드를 제외한 각 노드에서 사용자 키와 그룹키를 이용하여 중국인 나머지 정리값을 계산하는 단계와,
    상기 각 리프노드로 그룹키 갱신 메시지를 멀티캐스트로 전송하는 단계
    를 포함하는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  2. 제 1 항에 있어서,
    상기 수신자 그룹내 각 사용자는, 상기 멀티캐스트로 전송된 그룹키 갱신 메시지를 수신하여, 상기 그룹키 갱신 메시지내 포함된 데이터와 자신이 가지고 있는 사용자 키를 이용하여 그룹키를 계산하는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  3. 제 1 항에 있어서,
    상기 중국인 나머지 정리값 계산단계는,
    상기 트리상 리프 노드 보다 상위 레벨의 노드들 중 중국인 나머지 정리값을 계산하지 않은 노드를 임의로 선택하는 단계와,
    상기 선택된 노드의 그룹키와 자식 노드들의 사용자 키를 이용하여 중국인 나머지 정리값을 계산하는 단계
    를 포함하는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  4. 제 3 항에 있어서,
    상기 중국인 나머지 정리값 계산단계는,
    상기 트리상 리프 노드 보다 상위 레벨의 모든 노드에 대한 중국인 나머지 정리값 계산이 완료될 때까지 반복 수행되는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  5. 제 1 항에 있어서,
    상기 그룹키 갱신 메시지의 멀티캐스트 전송단계는,
    상기 트리상 리프 노드 보다 상위 레벨의 노드들 중 그룹키 갱신 메시지가 멀티캐스트로 전송되지 않은 노드를 임의로 선택하는 단계와,
    상기 선택된 노드로 중국인 나머지 정리값을 멀티캐스트로 전송하는 단계
    를 포함하는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  6. 제 4 항에 있어서,
    상기 그룹키 갱신 메시지의 멀티캐스트 전송단계는,
    상기 트리상 리프 노드 보다 상위 레벨의 모든 노드에 대한 멀티캐스트 전송이 완료될 때까지 반복 수행되는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  7. 제 1 항에 있어서,
    상기 트리는, 상기 수신자 그룹내 다수의 사용자를 수십명 단위의 서브 그룹으로 구분하는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  8. 제 1 항에 있어서,
    상기 멀티캐스트로 전송되는 그룹키 갱신 메시지는,
    상기 수신자 그룹이 여러 개 있을 경우 수신자 그룹의 구분을 위한 그룹 ID 정보, 노드에 부여된 노드 ID 정보와 상기 중국인 나머지 정리값 정보를 포함하는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  9. 제 1 항에 있어서,
    상기 수신자 그룹에 새로운 사용자가 가입하는 경우, 상기 그룹키 관리 서버가 수신자 그룹내 새로운 사용자를 위하여 트리상의 임의의 위치에 리프 노드를 하나 추가로 생성하는 단계와,
    상기 새로운 사용자를 위한 사용자 키와 새로운 그룹키를 생성하는 단계와,
    상기 새로운 사용자에게 사용자 키와 새로운 그룹키 정보를 전송하는 단계와,
    상기 새로운 그룹키를 현재의 그룹키로 암호화하여 멀티캐스트로 전송하는 단계
    를 포함하는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  10. 제 9 항에 있어서,
    상기 수신자 그룹내 각 사용자는, 상기 멀티캐스트로 전송되는 데이터를 현재의 그룹키로 복호화하여 새로운 그룹키를 얻는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  11. 제 1 항에 있어서,
    상기 수신자 그룹에서 사용자가 탈퇴하는 경우, 상기 그룹키 관리 서버가 수신자 그룹내 트리에서 탈퇴한 사용자에게 할당되었던 리프 노드를 선택하는 단계와,
    상기 노드의 부모 노드를 선택하고, 상기 부모 노드에 할당할 새로운 그룹키를 생성하는 단계와,
    상기 부모 노드에서 중국인의 나머지 정리값을 계산하는 단계와,
    상기 새로운 그룹키에 대한 그룹키 갱신 메시지를 멀티캐스트로 전송하는 단계
    를 포함하는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  12. 제 11 항에 있어서,
    상기 그룹키 관리 서버는,
    상기 멀티캐스트 전송한 부모 노드가 루트 노드가 아닌 경우, 상기 탈퇴한 사용자의 노드보다 상위레벨에 있는 모든 다른 부모노드를 선택하여 새로운 그룹키 생성 및 멀티캐스트 전송을 반복 수행하는 안전한 멀티캐스트 통신을 위한 그룹키 관리 방법.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
KR1020080125432A 2008-12-10 2008-12-10 안전한 멀티캐스트 통신을 위한 그룹키 관리방법 KR101383690B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080125432A KR101383690B1 (ko) 2008-12-10 2008-12-10 안전한 멀티캐스트 통신을 위한 그룹키 관리방법
PCT/KR2009/002532 WO2010067929A2 (en) 2008-12-10 2009-05-13 Method of managing group key for secure multicast communication
US13/133,920 US20110249817A1 (en) 2008-12-10 2009-05-13 Method of managing group key for secure multicast communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080125432A KR101383690B1 (ko) 2008-12-10 2008-12-10 안전한 멀티캐스트 통신을 위한 그룹키 관리방법

Publications (2)

Publication Number Publication Date
KR20080114665A KR20080114665A (ko) 2008-12-31
KR101383690B1 true KR101383690B1 (ko) 2014-04-09

Family

ID=40371611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080125432A KR101383690B1 (ko) 2008-12-10 2008-12-10 안전한 멀티캐스트 통신을 위한 그룹키 관리방법

Country Status (3)

Country Link
US (1) US20110249817A1 (ko)
KR (1) KR101383690B1 (ko)
WO (1) WO2010067929A2 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101383690B1 (ko) 2008-12-10 2014-04-09 한국전자통신연구원 안전한 멀티캐스트 통신을 위한 그룹키 관리방법
JP5391829B2 (ja) * 2009-05-22 2014-01-15 日本電気株式会社 鍵管理システム、鍵管理方法、サーバ装置及びプログラム
US8509448B2 (en) * 2009-07-29 2013-08-13 Motorola Solutions, Inc. Methods and device for secure transfer of symmetric encryption keys
KR101070473B1 (ko) * 2009-10-13 2011-10-06 아주대학교산학협력단 동적 그룹키 생성 방법
KR101067720B1 (ko) * 2010-03-26 2011-09-28 국방과학연구소 공개키 암호 알고리즘 및 그룹키를 이용한 통신 장치 및 방법
JP5630176B2 (ja) * 2010-09-16 2014-11-26 ソニー株式会社 電力供給装置
CA3075573C (en) * 2011-06-29 2022-03-15 Alclear, Llc System and method for user enrollment in a secure biometric verification system
KR101874043B1 (ko) * 2011-07-08 2018-07-06 삼성전자주식회사 무선 통신 시스템에서 그룹키 갱신 방법 및 장치
US20130179951A1 (en) * 2012-01-06 2013-07-11 Ioannis Broustis Methods And Apparatuses For Maintaining Secure Communication Between A Group Of Users In A Social Network
US9008316B2 (en) * 2012-03-29 2015-04-14 Microsoft Technology Licensing, Llc Role-based distributed key management
US8948391B2 (en) 2012-11-13 2015-02-03 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Secure communication method
US8995667B2 (en) * 2013-02-21 2015-03-31 Telefonaktiebolaget L M Ericsson (Publ) Mechanism for co-ordinated authentication key transition for IS-IS protocol
KR101520247B1 (ko) * 2013-02-27 2015-05-15 주식회사 케이티 생체 정보 관리 방법 및 시스템
KR101494510B1 (ko) * 2013-03-12 2015-02-23 명지대학교 산학협력단 그룹키 관리 장치 및 방법과 이에 관한 기록매체
EP3028431A1 (en) * 2013-07-31 2016-06-08 Nec Corporation Devices and method for mtc group key management
CN103560897B (zh) * 2013-11-05 2016-07-27 腾讯科技(武汉)有限公司 一种全局广播方法、服务器,及系统
KR101644168B1 (ko) * 2015-12-14 2016-07-29 스텔스소프트웨어 주식회사 소셜 네트워크 서비스를 이용한 메시지 보안 시스템 및 그 방법, 그리고 이 방법을 처리하는 컴퓨터 프로그램이 저장된 저장 매체
CN106209898B (zh) * 2016-07-29 2019-04-23 西安电子科技大学 基于群加密的虚拟机文件注入方法
KR102621877B1 (ko) * 2017-01-06 2024-01-05 한화비전 주식회사 멀티캐스트 환경의 보안 시스템에서 키를 관리하는 방법
US11025596B1 (en) * 2017-03-02 2021-06-01 Apple Inc. Cloud messaging system
US10742512B2 (en) * 2017-07-24 2020-08-11 Singlewire Software, LLC System and method for multicast mapping
EP3788809A1 (en) * 2018-05-03 2021-03-10 Telefonaktiebolaget Lm Ericsson (Publ) Device enrollment using serialized application
US10839060B1 (en) * 2019-08-27 2020-11-17 Capital One Services, Llc Techniques for multi-voice speech recognition commands
CN113726511B (zh) * 2021-08-31 2024-02-06 南方电网科学研究院有限责任公司 一种基于中国剩余定理的按需通信密钥分配方法及系统
FR3127358A1 (fr) * 2021-09-23 2023-03-24 Thales Procédé de gestion d'un utilisateur intervenant dans une communication de groupe
US20230198749A1 (en) * 2021-12-21 2023-06-22 Huawei Technologies Co., Ltd. Methods, systems, and computer-readable storage media for organizing an online meeting
CN118381611B (zh) * 2024-06-25 2024-09-24 浙江之江数安量子科技有限公司 一种群组密钥协商方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060088995A (ko) * 2005-02-03 2006-08-08 삼성전자주식회사 하이브리드 브로드캐스트 암호화 방법
WO2010067929A2 (en) * 2008-12-10 2010-06-17 Electronics And Telecommunications Research Institute Method of managing group key for secure multicast communication

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5663896A (en) * 1994-09-22 1997-09-02 Intel Corporation Broadcast key distribution apparatus and method using Chinese Remainder
US6307936B1 (en) * 1997-09-16 2001-10-23 Safenet, Inc. Cryptographic key management scheme
FR2828608B1 (fr) * 2001-08-10 2004-03-05 Gemplus Card Int Procede securise de realisation d'une operation d'exponentiation modulaire
US7027598B1 (en) * 2001-09-19 2006-04-11 Cisco Technology, Inc. Residue number system based pre-computation and dual-pass arithmetic modular operation approach to implement encryption protocols efficiently in electronic integrated circuits
US7093133B2 (en) * 2001-12-20 2006-08-15 Hewlett-Packard Development Company, L.P. Group signature generation system using multiple primes
US8054973B2 (en) * 2004-12-30 2011-11-08 Samsung Electronics Co., Ltd. User key management method for broadcast encryption (BE)
JP4375303B2 (ja) * 2005-08-19 2009-12-02 ブラザー工業株式会社 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
US8280041B2 (en) * 2007-03-12 2012-10-02 Inside Secure Chinese remainder theorem-based computation method for cryptosystems
US8776191B2 (en) * 2008-01-25 2014-07-08 Novell Intellectual Property Holdings, Inc. Techniques for reducing storage space and detecting corruption in hash-based application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060088995A (ko) * 2005-02-03 2006-08-08 삼성전자주식회사 하이브리드 브로드캐스트 암호화 방법
WO2010067929A2 (en) * 2008-12-10 2010-06-17 Electronics And Telecommunications Research Institute Method of managing group key for secure multicast communication
WO2010067929A3 (en) 2008-12-10 2010-12-02 Electronics And Telecommunications Research Institute Method of managing group key for secure multicast communication

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Scalable Group Key Management Protocol, Journal of IEEE Communications Letters, vol.12, no.7, pp.541-543 (2008.07) *
A security framework for Content-Based Publish-Subscribe system, Electronic Commerce Research and Applications 5, pp. 78-90 (2006.04.01) *

Also Published As

Publication number Publication date
US20110249817A1 (en) 2011-10-13
WO2010067929A2 (en) 2010-06-17
WO2010067929A3 (en) 2010-12-02
KR20080114665A (ko) 2008-12-31

Similar Documents

Publication Publication Date Title
KR101383690B1 (ko) 안전한 멀티캐스트 통신을 위한 그룹키 관리방법
US7328343B2 (en) Method and apparatus for hybrid group key management
Snoeyink et al. A lower bound for multicast key distribution
Liang et al. Ciphertext policy attribute based encryption with efficient revocation
Zhang Key management scheme for secure channel establishment in fog computing
KR100737876B1 (ko) 계층적 문턱 트리에 기반한 브로드캐스트 암호화 방법
Doshi et al. Fully secure ciphertext policy attribute‐based encryption with constant length ciphertext and faster decryption
Wu et al. Fast transmission to remote cooperative groups: a new key management paradigm
Pang et al. A survey of research progress and development tendency of attribute‐based encryption
Xu et al. TJET: Ternary join-exit-tree based dynamic key management for vehicle platooning
Lee A generic construction for revocable identity-based encryption with subset difference methods
Patil et al. Non-transitive and collusion resistant quorum controlled proxy re-encryption scheme for resource constrained networks
Wang et al. A scalable encryption scheme for multi-privileged group communications
Feng et al. A New Access Control System Based on CP-ABE in Named Data Networking.
Ambika et al. A novel RSA algorithm for secured key transmission in a centralized cloud environment
Dolev et al. Efficient private multi-party computations of trust in the presence of curious and malicious users
US8249258B2 (en) Communication method and communication system using decentralized key management scheme
Nomura et al. Attribute revocable multi-authority attribute-based encryption with forward secrecy for cloud storage
Doshi et al. Updating attribute in cp-abe: A new approach
Lin et al. Efficient trust based information sharing schemes over distributed collaborative networks
Li et al. A practical construction for large universe hierarchical attribute‐based encryption
Alyani et al. The improvement of key management based on logical key hierarchy by implementing Diffie Hellman algorithm
CN111224777A (zh) Sdn网络组播成员信息加密方法、系统、终端及存储介质
Hur et al. Chosen ciphertext secure authenticated group communication using identity-based signcryption
JP2004229105A (ja) 不正者特定可能な匿名通信方法、それに使用される利用者装置、及び中継サーバ装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20121130

Effective date: 20140219

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee