KR102038473B1 - Group communication method and system - Google Patents

Group communication method and system Download PDF

Info

Publication number
KR102038473B1
KR102038473B1 KR1020180137056A KR20180137056A KR102038473B1 KR 102038473 B1 KR102038473 B1 KR 102038473B1 KR 1020180137056 A KR1020180137056 A KR 1020180137056A KR 20180137056 A KR20180137056 A KR 20180137056A KR 102038473 B1 KR102038473 B1 KR 102038473B1
Authority
KR
South Korea
Prior art keywords
node
group
nodes
tree
secure session
Prior art date
Application number
KR1020180137056A
Other languages
Korean (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 KR1020180137056A priority Critical patent/KR102038473B1/en
Application granted granted Critical
Publication of KR102038473B1 publication Critical patent/KR102038473B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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

Abstract

The present invention relates to a group communication method where nodes that can participate in a group have a common red-black (RB) tree construction algorithm. According to the present invention, the group communication method comprises the steps of: sharing a member list including identification information of nodes by nodes wishing to form a group; configuring, by each of the nodes, an RB tree using an RB tree construction algorithm based on the identification information of the member list, and identifying a node connected to the node on the RB tree; and establishing a security session with a node to which each of the nodes is connected.

Description

그룹 통신 방법 및 시스템{Group communication method and system}Group communication method and system

본 발명은 그룹 통신 방법 및 시스템에 관한 것으로, 보다 상세하게는 그룹 구성원들이 중앙집중적 장치 없이 그룹 통신 환경을 구축할 수 있는 그룹 통신 방법 및 시스템에 관한 것이다.The present invention relates to a group communication method and system, and more particularly, to a group communication method and system in which group members can establish a group communication environment without a centralized device.

최근에 인터넷 속도와 연결성이 크게 증가됨에 따라, 그룹 채팅, 화상 회의, 온라인 공동 작업 공간, 다중 사용자 게임 등과 같은 그룹 통신 환경이 폭발적으로 증가하고 있다. With the recent increase in Internet speed and connectivity, group communication environments such as group chat, video conferencing, online collaborative workspaces, multi-user games, etc. have exploded.

기존의 그룹 통신 환경은 주로 서버-클라이언트 모델을 사용하는데, 이것은 여러 사용자가 공통의 서버에 접속하여 서버를 매개로 서로 정보를 교환하는 방식이다. 그러나 이러한 서버-클라이언트 기반의 그룹 통신 환경은 일대일 통신 환경에 비해 보안에 취약하고, 서비스 제공자들이 자사의 서비스 확장을 위해 플랫폼 및 API를 개방하는 추세로 인하여 공격자의 취약성 분석을 용이하게 하여 보안 취약성의 노출 및 공격 위협이 가중되고 있다.The existing group communication environment mainly uses a server-client model, in which multiple users connect to a common server and exchange information with each other through a server. However, this server-client based group communication environment is more vulnerable to security than one-to-one communication environment, and service providers open the platform and APIs to expand their services, which makes it easier for attackers to analyze vulnerability. Exposure and attack threats are increasing.

그룹 통신 환경에서 보안성을 강화하기 위해 그룹 멤버들이 그룹키를 공유하도록 하고 이 그룹키로 데이터를 암호화/복호화하는 통신 방식이 있으나, 이것 역시 그룹키를 관리하는 중앙집중적 장치를 필요로 하며, 그룹키를 공유하거나 갱신하는데 많은 시간이 소요되어 비효율적인 단점이 있다. In order to enhance security in the group communication environment, there is a communication method in which group members share a group key and encrypt / decrypt data with the group key, but this also requires a centralized device that manages the group key. It takes a long time to share or update the network, which is inefficient.

본 발명이 이루고자 하는 기술적 과제는 그룹 구성원들이 중앙집중적 장치 없이 그룹 통신 환경을 구축할 수 있고 그룹 구성원들 간에 보안 세션의 수립 횟수를 줄여 효율적으로 그룹 통신을 수행할 수 있는 그룹 통신 방법 및 시스템을 제공하는 데 있다.The technical problem to be achieved by the present invention is to provide a group communication method and system that allows group members to build a group communication environment without a centralized device and to efficiently perform group communication by reducing the number of secure sessions established between group members. There is.

본 발명의 해결하고자 하는 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved of the present invention is not limited to the above-mentioned problem, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 그룹 통신 방법에 있어서, 그룹에 참여할 수 있는 노드들은 공통의 RB(Red-Black) 트리 구성 알고리즘을 보유하며, 상기 그룹 통신 방법은, 그룹을 구성하고자 하는 노드들이 상기 노드들의 식별정보를 포함하는 멤버 리스트를 공유하는 단계; 상기 노드들이 각각 상기 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 RB 트리를 구성하고 상기 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 및 상기 노드들이 각각 자신과 연결된 노드와 보안 세션을 수립하는 단계를 포함하는 것을 특징으로 한다.In the group communication method according to the present invention for solving the technical problem, the nodes that can participate in the group has a common Red-Black (RB) tree configuration algorithm, the group communication method, Sharing the member list including the identification information of the nodes; Identifying, by the nodes, an RB tree using the RB tree construction algorithm based on the identification information of the member list, and a node connected to the node on the RB tree; And establishing a secure session with each node connected to the nodes.

상기 멤버 리스트를 공유하는 단계는, 상기 노드들 중 한 노드가 다른 노드들에게 상기 멤버 리스트를 전송함으로써 상기 멤버 리스트가 공유될 수 있다.In the sharing of the member list, one of the nodes may share the member list by transmitting the member list to other nodes.

상기 그룹 통신 방법은, 상기 노드들 중 메시지를 전송하고자 하는 노드가 자신과 연결된 노드로 보안 세션을 통해 메시지를 전송하는 단계; 및 상기 메시지를 수신한 노드는 자신에게 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 메시지를 전송하는 단계를 더 포함하고, 이로써 상기 노드들 모두에게 상기 메시지가 전달될 수 있다.The group communication method may include: transmitting a message through a secure session to a node connected to the node to which the node to transmit the message is connected; And the node receiving the message further transmits the message to a node connected to the node other than the node that has sent the message through a secure session, so that the message can be delivered to all of the nodes. .

상기 그룹 통신 방법은, 상기 그룹에 추가로 참여하고자 하는 노드가 있는 경우, 상기 노드들 중 어느 한 노드가 상기 노드의 참여 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하는 단계; 상기 참여 요청 메시지를 수신한 노드는 자신에게 참여 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 참여 요청 메시지를 전송하는 단계를 더 포함하고, 이로써 상기 노드들 모두에게 상기 참여 요청 메시지가 전달될 수 있다.The group communication method may further include: when there is a node to additionally join the group, any one of the nodes sends a join request message of the node to a node connected with the node through a secure session; The node receiving the participation request message further includes transmitting the participation request message through a secure session to a node connected to the node other than the node that sent the participation request message to the node. The request message can be delivered.

상기 그룹 통신 방법은, 상기 노드들 및 상기 참여하고자 하는 노드가 각각 상기 참여하고자 하는 노드의 식별정보를 더 포함하는 멤버 리스트의 식별 정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 및 상기 노드들 및 상기 참여하고자 하는 노드가 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료하는 단계를 더 포함할 수 있다.In the group communication method, a new RB tree is formed using the RB tree construction algorithm based on the identification information of the member list, wherein the nodes and the node to join each further include identification information of the node to join. Identifying a node associated with itself on the new RB tree; And each of the nodes and the node to participate in establishes a secure session with a node newly connected to the node or maintains a secure session with a previously connected node according to a node connected with itself on the new RB tree. The method may further include terminating the session.

상기 그룹 통신 방법은, 상기 그룹에서 탈퇴하고자 하는 노드가 탈퇴 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하는 단계; 상기 탈퇴 요청 메시지를 수신한 노드는 자신에게 탈퇴 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 탈퇴 요청 메시지를 전송하는 단계를 더 포함하고, 이로써 상기 노드들 모두에게 상기 탈퇴 요청 메시지가 전달될 수 있다.The group communication method may further include transmitting, by a node intending to leave the group, a withdrawal request message to a node connected to the node through a secure session; The node receiving the withdrawal request message further includes transmitting the withdrawal request message to a node connected to itself other than the node that sent the withdrawal request message through a secure session, thereby transmitting the withdrawal request to all of the nodes. The request message can be delivered.

상기 그룹 통신 방법은, 상기 탈퇴 요청 메시지를 수신한 노드들이 각각 상기 탈퇴하고자 하는 노드의 식별정보를 제외한 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 및 상기 탈퇴 요청 메시지를 수신한 노드들이 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료하는 단계를 더 포함할 수 있다.In the group communication method, each node receiving the withdrawal request message constructs a new RB tree using the RB tree construction algorithm based on the identification information of the member list except for the identification information of the node to withdraw. Identifying nodes associated with themselves on the RB tree; And each node receiving the withdrawal request message establishes a secure session with a node newly connected to each other, maintains a secure session with a node already connected, or a secure session with a node previously connected according to a node connected with the node on the new RB tree. It may further comprise the step of ending.

상기 보안 세션은 공개키 기반 암호화를 이용하여 수립될 수 있다.The secure session can be established using public key based encryption.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 그룹 통신 시스템은, 그룹에 참여할 수 있는 노드들로서 공통의 RB 트리 구성 알고리즘을 보유하는 노드들을 포함하고, 그룹을 구성하고자 하는 노드들은 상기 노드들의 식별정보를 포함하는 멤버 리스트를 공유하고, 상기 노드들은 각각 상기 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 RB 트리를 구성하고 상기 RB 트리 상에서 자신과 연결된 노드를 확인하며, 상기 노드들은 각각 자신과 연결된 노드와 보안 세션을 수립하는 것을 특징으로 한다.The group communication system according to the present invention for solving the above technical problem, includes nodes having a common RB tree configuration algorithm as nodes that can participate in the group, the nodes to configure the group to identify the identification information of the nodes Share a member list, wherein the nodes each form an RB tree using the RB tree construction algorithm based on the identification information of the member list, and identify nodes connected to themselves on the RB tree; It is characterized by establishing a secure session with the node connected to it.

상기 노드들이 상기 멤버 리스트를 공유하기 위하여, 상기 노드들 중 한 노드가 다른 노드들에게 상기 멤버 리스트를 전송할 수 있다.In order for the nodes to share the member list, one of the nodes may send the member list to other nodes.

상기 노드들 중 메시지를 전송하고자 하는 노드는 자신과 연결된 노드로 보안 세션을 통해 메시지를 전송하고, 상기 메시지를 수신한 노드는 자신에게 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 메시지를 전송함으로써 상기 노드들 모두에게 상기 메시지가 전달될 수 있다.Among the nodes, a node that wants to transmit a message transmits a message through a secure session to a node connected to the node, and a node receiving the message transmits a message through a secure session to a node connected to itself other than a node that has sent a message to the node. The message can be delivered to all of the nodes by sending the message.

상기 그룹에 추가로 참여하고자 하는 노드가 있는 경우, 상기 노드들 중 어느 한 노드가 상기 노드의 참여 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하고, 상기 참여 요청 메시지를 수신한 노드는 자신에게 참여 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 참여 요청 메시지를 전송함으로써 상기 노드들 모두에게 상기 참여 요청 메시지가 전달될 수 있다. If there is a node to further participate in the group, one of the nodes sends a participation request message of the node to a node connected to the node through a secure session, and the node that receives the participation request message The participation request message may be delivered to all of the nodes by transmitting the participation request message to a node connected to the node other than the node that sent the participation request message to the node through a secure session.

상기 노드들 및 상기 참여하고자 하는 노드는 각각 상기 참여하고자 하는 노드의 식별정보를 더 포함하는 멤버 리스트의 식별 정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하며, 상기 노드들 및 상기 참여하고자 하는 노드는 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료할 수 있다.The nodes and the node to join each form a new RB tree using the RB tree construction algorithm based on the identification information of the member list further including identification information of the node to join, and on the new RB tree. Identify the node connected to the node, and the nodes and the node to join each establish a secure session with the node newly connected to each other or maintain a secure session with the node connected to the node according to the node connected with the node on the new RB tree. Or terminate a secure session with a previously connected node.

상기 그룹에서 탈퇴하고자 하는 노드는 탈퇴 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하고, 상기 탈퇴 요청 메시지를 수신한 노드는 자신에게 탈퇴 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 탈퇴 요청 메시지를 전송함으로써 상기 노드들 모두에게 상기 탈퇴 요청 메시지가 전달될 수 있다.A node intending to leave the group transmits a withdrawal request message to a node connected to the node through a secure session, and the node receiving the withdrawal request message is secured to a node connected to itself other than the node that sent the withdrawal request message to the node. The withdrawal request message may be delivered to all of the nodes by sending the withdrawal request message through a session.

상기 탈퇴 요청 메시지를 수신한 노드들은 각각 상기 탈퇴하고자 하는 노드의 식별정보를 제외한 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하고, 상기 탈퇴 요청 메시지를 수신한 노드들은 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료할 수 있다.Each node receiving the withdrawal request message forms a new RB tree using the RB tree construction algorithm based on the identification information of the member list except for the identification information of the node to withdraw, and is connected with itself on the new RB tree. Nodes that have checked the node and received the withdrawal request message each establish a secure session with, or maintain a secure session with, a newly connected node according to their associated node on the new RB tree. You can terminate the secure session with.

상기 보안 세션은 공개키 기반 암호화를 이용하여 수립될 수 있다.The secure session can be established using public key based encryption.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 그룹 통신 방법에 있어서, 그룹에 참여할 수 있는 노드들은 공통의 RB 트리 구성 알고리즘을 보유하며, 상기 그룹 통신 방법은, 그룹을 구성하고자 하는 노드들이 상기 노드들의 식별정보를 포함하는 멤버 리스트를 공유하는 단계; 상기 노드들이 각각 상기 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 RB 트리를 구성하고 상기 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 상기 노드들이 각각 자신과 연결된 노드와 공개키 기반 암호화를 이용하여 보안 세션을 수립하는 단계; 상기 노드들 중 메시지를 전송하고자 하는 노드가 자신과 연결된 노드로 보안 세션을 통해 메시지를 전송하는 단계; 상기 메시지를 수신한 노드는 자신에게 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 메시지를 전송하고, 이로써 상기 노드들 모두에게 상기 메시지가 전달되는 단계; 상기 그룹에 추가로 참여하고자 하는 노드가 있는 경우, 상기 노드들 중 어느 한 노드가 상기 노드의 참여 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하는 단계; 상기 참여 요청 메시지를 수신한 노드는 자신에게 참여 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 참여 요청 메시지를 전송하고, 이로써 상기 노드들 모두에게 상기 참여 요청 메시지가 전달되는 단계; 상기 노드들 및 상기 참여하고자 하는 노드가 각각 상기 참여하고자 하는 노드의 식별정보를 더 포함하는 멤버 리스트의 식별 정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 및 상기 노드들 및 상기 참여하고자 하는 노드가 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료하는 단계를 포함하는 것을 특징으로 한다.In the group communication method according to the present invention for solving the technical problem, the nodes that can participate in the group has a common RB tree configuration algorithm, the group communication method, the nodes to configure the group of nodes Sharing a member list including identification information; Identifying, by the nodes, an RB tree using the RB tree construction algorithm based on the identification information of the member list, and a node connected to the node on the RB tree; Establishing, by the nodes, a secure session using public key based encryption with a node connected to each of the nodes; Transmitting a message through a secure session to a node connected to the node to which a message to be transmitted is transmitted; The node receiving the message transmits the message through a secure session to a node connected to itself other than the node that has sent the message to the node, thereby delivering the message to all of the nodes; If there is a node to further participate in the group, any one of the nodes sends a join request message of the node to a node connected to the node through a secure session; The node receiving the participation request message transmits the participation request message to a node connected to itself other than the node that sent the participation request message through a secure session, whereby the participation request message is transmitted to all the nodes. step; The nodes and the node to join each form a new RB tree using the RB tree construction algorithm based on the identification information of the member list further including identification information of the node to join, and on the new RB tree. Identifying a node associated with itself; And each of the nodes and the node to participate in establishes a secure session with a node newly connected to the node or maintains a secure session with a previously connected node according to a node connected with itself on the new RB tree. Terminating the session.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 그룹 통신 방법에 있어서, 그룹에 참여할 수 있는 노드들은 공통의 RB 트리 구성 알고리즘을 보유하며, 상기 그룹 통신 방법은, 그룹을 구성하고자 하는 노드들이 상기 노드들의 식별정보를 포함하는 멤버 리스트를 공유하는 단계; 상기 노드들이 각각 상기 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 RB 트리를 구성하고 상기 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 상기 노드들이 각각 자신과 연결된 노드와 공개키 기반 암호화를 이용하여 보안 세션을 수립하는 단계; 상기 노드들 중 메시지를 전송하고자 하는 노드가 자신과 연결된 노드로 보안 세션을 통해 메시지를 전송하는 단계; 상기 메시지를 수신한 노드는 자신에게 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 메시지를 전송하고, 이로써 상기 노드들 모두에게 상기 메시지가 전달되는 단계; 상기 그룹에서 탈퇴하고자 하는 노드가 탈퇴 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하는 단계; 상기 탈퇴 요청 메시지를 수신한 노드는 자신에게 탈퇴 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 탈퇴 요청 메시지를 전송하고, 이로써 상기 노드들 모두에게 상기 탈퇴 요청 메시지가 전달되는 단계; 상기 탈퇴 요청 메시지를 수신한 노드들이 각각 상기 탈퇴하고자 하는 노드의 식별정보를 제외한 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 및 상기 탈퇴 요청 메시지를 수신한 노드들이 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료하는 단계를 포함하는 것을 특징으로 한다.In the group communication method according to the present invention for solving the technical problem, the nodes that can participate in the group has a common RB tree configuration algorithm, the group communication method, the nodes to configure the group of nodes Sharing a member list including identification information; Identifying, by the nodes, an RB tree using the RB tree construction algorithm based on the identification information of the member list, and a node connected to the node on the RB tree; Establishing, by the nodes, a secure session using public key based encryption with a node connected to each of the nodes; Transmitting a message through a secure session to a node connected to the node to which a message to be transmitted is transmitted; The node receiving the message transmits the message through a secure session to a node connected to itself other than the node that has sent the message to the node, thereby delivering the message to all of the nodes; Transmitting, by a node intending to leave the group, a leave request message to a node connected to the node through a secure session; The node receiving the withdrawal request message transmits the withdrawal request message to a node connected with itself other than the node that has sent the withdrawal request message to the node through a secure session, thereby transmitting the withdrawal request message to all the nodes. step; Nodes receiving the withdrawal request message each form a new RB tree using the RB tree construction algorithm based on the identification information of the member list excluding the identification information of the node to withdraw, and are connected to themselves on the new RB tree. Identifying a node; And each node receiving the withdrawal request message establishes a secure session with a node newly connected to each other, maintains a secure session with a node already connected, or a secure session with a node previously connected according to a node connected with the node on the new RB tree. It characterized in that it comprises the step of ending.

상기된 본 발명에 의하면, 그룹 구성원들이 중앙집중적 장치 없이 그룹 통신 환경을 구축할 수 있고 그룹 구성원들 간에 보안 세션의 수립 횟수를 줄여 효율적으로 그룹 통신을 수행할 수 있는 장점이 있다.According to the present invention described above, there is an advantage that group members can establish a group communication environment without a centralized device and can efficiently perform group communication by reducing the number of secure sessions established between group members.

본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the above-mentioned effects, and other effects that are not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 RB 트리의 예를 보여준다.
도 2는 본 발명의 일 실시예에 따라 그룹 통신 네트워크를 구성하는 과정을 나타내는 흐름도이다.
도 3은 그룹 통신 네트워크를 구성할 노드들의 예를 나타낸다.
도 4는 멤버 리스트로부터 RB 트리가 구성되는 것의 예를 보여준다.
도 5는 RB 트리를 이용하여 구성된 그룹 통신 네트워크에서 한 노드로부터의 메시지가 다른 노드들로 전송되는 과정을 나타내는 흐름도이다.
도 6은 도 4를 통해 구성된 그룹 통신 네트워크에서 한 노드로부터의 메시지가 모든 노드들에게 전달되는 것의 예를 나타낸다.
도 7은 이미 구성된 그룹 통신 네트워크에 새로운 노드가 참여하여 그룹 통신 네트워크가 재구성되는 과정을 나타내는 흐름도이다.
도 8은 그룹 통신 네트워크에서 참여 요청 메시지가 모든 노드들에게 전달되는 것의 예를 나타낸다.
도 9는 노드가 추가된 새로운 멤버 리스트로부터 새로운 RB 트리가 구성되는 것의 예를 보여준다.
도 10은 도 9를 통해 구성된 그룹 통신 네트워크에서 한 노드로부터의 메시지가 모든 노드들에게 전달되는 것의 예를 나타낸다.
도 11은 그룹 통신 네트워크에서 한 노드가 탈퇴하여 그룹 통신 네트워크가 재구성되는 과정을 나타내는 흐름도이다.
도 12는 도 10의 그룹 통신 네트워크에서 탈퇴 요청 메시지가 모든 노드들에게 전달되는 것의 예를 나타낸다.
도 13은 노드가 삭제된 새로운 멤버 리스트로부터 새로운 RB 트리가 구성되는 것의 예를 보여준다.
도 14는 도 13을 통해 새로 구성된 그룹 통신 네트워크를 보여준다.
1 shows an example of an RB tree.
2 is a flowchart illustrating a process of configuring a group communication network according to an embodiment of the present invention.
3 shows an example of nodes that will constitute a group communication network.
4 shows an example of how an RB tree is constructed from a member list.
5 is a flowchart illustrating a process of transmitting a message from one node to other nodes in a group communication network configured by using an RB tree.
FIG. 6 shows an example in which a message from one node is delivered to all nodes in the group communication network configured through FIG. 4.
7 is a flowchart illustrating a process of reconfiguring a group communication network by joining a new node to an already configured group communication network.
8 shows an example in which a join request message is delivered to all nodes in a group communication network.
9 shows an example of constructing a new RB tree from a new member list with a node added.
FIG. 10 shows an example in which a message from one node is delivered to all nodes in the group communication network configured through FIG. 9.
11 is a flowchart illustrating a process of reconfiguring a group communication network by withdrawing one node from a group communication network.
FIG. 12 shows an example of the withdrawal request message being delivered to all nodes in the group communication network of FIG. 10.
13 shows an example of a new RB tree being constructed from a new member list in which a node is deleted.
FIG. 14 shows a newly configured group communication network through FIG. 13.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, the substantially identical components are represented by the same reference numerals, and thus redundant description will be omitted. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

본 발명의 실시예에 따른 그룹 통신 방법 및 시스템은 RB(Red-Black) 트리를 이용하여 그룹 통신 네트워크 구성한다. 우선 RB 트리에 관하여 간단히 설명하기로 한다.The group communication method and system according to an embodiment of the present invention constitute a group communication network using a red-black (RB) tree. First, the RB tree will be briefly described.

도 1은 RB 트리의 예를 보여준다. RB 트리는 자가 균형 이진 탐색 트리(self-balancing binary search tree)로써, 대표적으로는 연관 배열 등을 구현하는 데 쓰이는 자료구조이다. 트리에 n개의 원소가 있을 때 O(log n)의 시간복잡도로 삽입, 삭제, 검색을 할 수 있다.1 shows an example of an RB tree. The RB tree is a self-balancing binary search tree, typically a data structure used to implement associative arrays. When there are n elements in the tree, you can insert, delete, and search with O (log n) time complexity.

RB 트리는 이진 트리의 특수한 형태로서, 컴퓨터 공학 분야에서 숫자 등의 비교 가능한 자료를 정리하는 데 쓰이는 자료구조이다. 이진 트리에서는 각각의 자료가 '노드(node, 분기점)'에 저장이 된다. 자료를 트리 구조로 저장할 때, 노드들 중 최상위에 있는 노드를 루트 노드라고 부른다. 이진 트리에서 노드는 자신과 연결되는 최대 두 개의 자식 노드를 가질 수 있다. 각각의 자식 노드도 역시 자신과 연결되는 최대 두 개의 자식 노드를 가질 수 있으며, 이런 식으로 계속 연결된다. 그러므로, 어떤 트리도 그 트리의 루트 노드로부터 그 트리에 속한 모든 노드에 도달할 수 있다.RB trees are a special form of binary trees that are used in computer engineering to organize comparable data such as numbers. In a binary tree, each piece of data is stored in a node. When storing data in a tree structure, the node at the top of the nodes is called the root node. In a binary tree, a node can have up to two child nodes associated with it. Each child node can also have up to two child nodes associated with it, and so on. Therefore, any tree can reach all nodes belonging to that tree from the root node of that tree.

어떤 노드에 자식 노드가 없다면, 그 노드를 리프 노드라고 부르는데, 이는 그 노드가 말 그대로 트리의 맨 가장자리에 있기 때문이다. 트리의 노드 중 하나를 루트 노드로 하고 그 자신과 자식 노드들로 이루어진 트리도 동일하게 트리 구조를 가지는데, 이를 부분 트리(sub-tree)라고 한다. RB 트리에서는 리프 노드들은 비어있고, 자료를 가지고 있지 않다.If a node does not have child nodes, it is called a leaf node because it is at the very edge of the tree. One of the nodes of the tree is the root node, and the tree composed of itself and its child nodes has the same tree structure, which is called a sub-tree. In RB trees, leaf nodes are empty and contain no data.

RB 트리는, 모든 노드에 대해 '자신이 가진 자료는 자신보다 오른쪽에 위치한 부분트리가 가지고 있는 모든 자료보다 작거나 같고, 자신보다 왼쪽에 위치한 부분트리가 가지고 있는 모든 자료보다 크거나 같다' 라는 조건을 만족한다. 이런 특성 때문에 특정 값을 빠르게 찾아 낼 수 있으며, 각 구성원소(elements)간의 효율적인 in-order traversal이 가능하다.The RB tree has the condition that for every node, 'the data that you have is less than or equal to all of the data that the subtree located to the right of you is greater than or equal to all of the data of the subtree located to the left of you'. Satisfies. Because of these characteristics, specific values can be found quickly, and efficient in-order traversal between elements is possible.

RB 트리는 각각의 노드가 레드나 블랙인 색상 속성을 가지고 있는 이진 탐색 트리이다. 이진 탐색 트리가 가지고 있는 일반적인 조건에 다음과 같은 추가적인 조건을 만족해야 유효한(valid) RB 트리가 된다.The RB tree is a binary search tree with color attributes where each node is red or black. The general condition of the binary search tree must satisfy the following additional conditions to be a valid RB tree.

1. 노드는 레드 혹은 블랙 중의 하나이다.1. A node is either red or black.

2. 루트 노드는 블랙이다.2. The root node is black.

3. 모든 리프 노드는 블랙이다.3. All leaf nodes are black.

4. 레드 노드의 자식노드 양쪽은 언제나 모두 블랙이다. (즉, 레드 노드는 연달아 나타날 수 없으며, 블랙 노드만이 레드 노드의 부모 노드가 될 수 있다)4. Both child nodes of a red node are always black. (I.e. red nodes cannot appear in succession, only black nodes can be parent nodes of red nodes)

5. 어떤 노드로부터 시작되어 리프 노드에 도달하는 모든 경로에는 리프 노드를 제외하면 모두 같은 개수의 블랙 노드가 있다.5. Every path starting from a node to a leaf node has the same number of black nodes except the leaf node.

위 조건들을 만족하게 되면, RB 트리는 중요한 특성을 나타내게 된다. 루트 노드부터 가장 먼 경로까지의 거리가, 가장 가까운 경로까지의 거리의 두 배 보다 항상 작다. 다시 말해서 RB 트리는 개략적(roughly)으로 균형이 잡혀 있다(balanced). 따라서, 삽입, 삭제, 검색시 최악의 경우(worst-case)에서의 시간복잡도가 트리의 높이(또는 깊이)에 따라 결정되기 때문에 보통의 이진 탐색 트리에 비해 효율적이라고 할 수 있다.If the above conditions are met, the RB tree exhibits important characteristics. The distance from the root node to the farthest path is always less than twice the distance to the nearest path. In other words, the RB tree is roughly balanced. Therefore, it is more efficient than the ordinary binary search tree because the time complexity in the worst-case of insertion, deletion and search is determined by the height (or depth) of the tree.

트리 구조를 나타낼 때, 어떤 노드는 자식(child)을 하나만 가질 수도 있고, 리프 노드는 데이터를 담고 있을 수 있다. RB 트리도 이와 같은 방법으로 나타내 볼 수도 있지만, 그런 표현 방식으로는 RB 트리의 특성이 변하게 되고, 알고리즘과 상충되게 나타날 수 있다. 그래서 도 1의 예를 살펴보면 "nil leaves" 나 "null leaves"를 사용하고 있는데, 이 "null leaf"는 도 1에서와 같이 자료를 가지고 있지 않으며, 트리의 끝을 나타내는 데만 쓰인다. 트리 구조를 그림으로 표현할 때, 종종 이 "null leaf"를 생략하고 그리는 경우가 많은데(본 명세서의 다른 도면들의 RB 트리에서도 "null leaf"를 생략하였다), 그렇게 되면 그림상으로는 레드-블랙 트리의 특성을 만족하지 못하는 것처럼 보일 수 있으나 실제로는 그렇지 않다. 이렇게 함으로써, 모든 노드들은 설령 하나 또는 두개의 자식이 "null leaf" 일지라도, 두개의 자식(children)을 가지게 된다.When representing a tree structure, some nodes may have only one child, and leaf nodes may contain data. The RB tree can also be represented in this manner, but such representation may change the characteristics of the RB tree and may conflict with the algorithm. Thus, in the example of FIG. 1, "nil leaves" or "null leaves" are used. The "null leaf" does not have data as in FIG. 1 and is used only to indicate the end of the tree. When expressing a tree structure, it is often omitted to draw this "null leaf" ("null leaf" is also omitted in the RB tree of other drawings in this specification), then the characteristics of the red-black tree graphically It may seem unsatisfactory, but in reality it is not. By doing so, all nodes will have two children, even if one or two children are "null leaf".

도 2는 본 발명의 일 실시예에 따라 그룹 통신 네트워크를 구성하는 과정을 나타내는 흐름도이다. 도 3은 그룹 통신 네트워크를 구성할 노드들의 예를 나타내며, 도 4는 멤버 리스트로부터 RB 트리가 구성되는 것의 예를 보여준다.2 is a flowchart illustrating a process of configuring a group communication network according to an embodiment of the present invention. FIG. 3 shows an example of nodes that will constitute a group communication network, and FIG. 4 shows an example of an RB tree being constructed from a member list.

본 발명의 실시예에서, 노드들은 하드웨어적으로는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자북 리더기 (e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션 (workstation), PDA(personal digital assistant), PMP(portable multimedia player) 등을 포함할 수 있고, 소프트웨어적으로는 해당 노드에 설치된 응용프로그램 등을 포함할 수 있다. 또한 그룹에 참여할 수 있는 노드들은 모두 공통의 RB 트리 구성 알고리즘을 보유한다. 따라서 노드들이 동일한 자료를 가지고 RB 트리를 구성할 경우 동일한 구조의 RB 트리를 구성하게 된다. In an embodiment of the present invention, the nodes may be, in hardware, a smartphone, a tablet personal computer, a mobile phone, a video phone, an e-book reader, a desktop PC ( desktop personal computer, laptop personal computer, netbook computer, workstation, personal digital assistant, portable multimedia player (PMP) and the like. This can include applications installed on the node. In addition, all nodes that can participate in a group have a common RB tree construction algorithm. Therefore, when nodes construct the RB tree with the same data, they form the RB tree of the same structure.

210단계에서, 그룹을 구성하고자 하는 노드들이 해당 노드들의 식별정보를 포함하는 멤버 리스트를 공유한다. 예를 들어 도 2를 참조하면, 그룹을 구성하고자 하는 노드들은 노드 D(101), 노드 B(102), 노드 F(103), 노드 E(104), 노드 H(105)를 포함한다(편의상 노드의 식별정보를 각각 D, B, F, E, H라 하기로 한다). 그 중 한 노드인 노드 D(101)가 다른 노드들, 즉 노드 B(102), 노드 F(103), 노드 E(104), 노드 H(105)에게 식별정보 D, B, F, E, H를 포함하는 멤버 리스트를 전송함으로써 멤버 리스트가 공유될 수 있다.In step 210, nodes which are to form a group share a member list including identification information of corresponding nodes. For example, referring to FIG. 2, the nodes to form a group include node D 101, node B 102, node F 103, node E 104, and node H 105 (for convenience). The identification information of the nodes will be referred to as D, B, F, E, and H, respectively). One of the nodes, Node D (101), is identified to the other nodes, namely Node B (102), Node F (103), Node E (104), and Node H (105) by identifying information D, B, F, E, The member list can be shared by sending a member list containing H.

220단계에서, 노드들은 각각 멤버 리스트의 식별정보를 기반으로 RB 트리 구성 알고리즘을 이용하여 RB 트리를 구성한다. 전술한 바와 같이 노드들은 모두 공통의 RB 트리 구성 알고리즘을 보유하므로, 노드들은 모두 동일한 구조의 RB 트리를 구성하게 된다. 예를 들어 도 4를 참조하면, 식별정보 D, B, F, E, H를 포함하는 멤버 리스트(410)로부터, RB 트리 구성 알고리즘(420)을 통해 노드 D(101), 노드 B(102), 노드 F(103), 노드 E(104), 노드 H(105)를 노드들로 하는 RB 트리(430)가 구성된다. 이하 도면의 RB 트리에서, 편의상 블랙 노드는 색깔 없이, 레드 노드는 회색으로 표현하기로 한다.In step 220, the nodes each form an RB tree using an RB tree construction algorithm based on the identification information of the member list. As described above, since the nodes all have a common RB tree construction algorithm, the nodes all form an RB tree having the same structure. For example, referring to FIG. 4, from the member list 410 including the identification information D, B, F, E and H, the node D 101 and the node B 102 through the RB tree construction algorithm 420. An RB tree 430 is constructed, with nodes F 103, Node E 104, and Node H 105 as nodes. In the RB tree of the following drawings, for convenience, black nodes are represented without color and red nodes are represented by gray.

230단계에서, 노드들은 구성된 RB 트리 상에서 자신과 연결된 노드, 즉 부모 노드, 왼쪽 자식 노드, 또는 오른쪽 자식 노드를 확인한다. 예를 들어 도 4를 참조하면, 노드 B(102)는 부모 노드인 노드 D(101)를 확인하고, 노드 D(101)는 왼쪽 자식 노드인 노드 B(102)와 오른쪽 자식 노드인 노드 F(103)를 확인하고, 노드 F(103)는 부모 노드인 노드 D(101), 왼쪽 자식 노드인 노드 E(104), 오른쪽 자식 노드인 노드 H(105)를 확인하고, 노드 E(104)는 부모 노드인 노드 F(103)를 확인하고, 노드 H(105)는 부모 노드인 노드 F(103)를 확인한다. In step 230, the nodes identify nodes connected to themselves on the configured RB tree, that is, a parent node, a left child node, or a right child node. For example, referring to FIG. 4, node B 102 identifies node D 101, the parent node, and node D 101 identifies node B 102, the left child node, and node F ( 103, node F 103 identifies the parent node Node D 101, the left child node Node E 104, the right child node Node H 105, and node E 104 identifies the node. Node F 103, which is the parent node, is identified, and node H 105 identifies Node F 103, which is the parent node.

240단계에서, 노드들은 각각 자신과 연결된 노드와 보안 세션을 수립한다. 이때 보안 세션은 RSA(Rivest Shamir Adleman), ECDH(Elliptic Curve Diffie-Hellman) 등 공개키 기반 암호화에 기반한 키교환 알고리즘을 이용하여 양방향성을 가진 보안 통신 채널로 수립될 수 있다. 예를 들어 도 4를 참조하면, 노드 B(102)와 노드 D(101) 간에 보안 세션이 수립되고, 노드 D(101)와 노드 F(103) 간에 보안 세션이 수립되고, 노드 F(103)와 노드 E(104) 간에 보안 세션이 수립되고, 노드 F(103)와 노드 H(105) 간에 보안 세션이 수립된다. In step 240, each node establishes a secure session with the node associated with it. In this case, the secure session may be established as a bidirectional secure communication channel using a key exchange algorithm based on public key-based encryption such as RSA (Rivest Shamir Adleman) and ECDH (Elliptic Curve Diffie-Hellman). For example, referring to FIG. 4, a secure session is established between node B 102 and node D 101, a secure session is established between node D 101 and node F 103, and node F 103 is established. A secure session is established between node E 104 and node E 104, and a secure session is established between node F 103 and node H 105.

도 5는 RB 트리를 이용하여 구성된 그룹 통신 네트워크에서 한 노드로부터의 메시지가 다른 노드들로 전송되는 과정을 나타내는 흐름도이다. 도 6은 도 4를 통해 구성된 그룹 통신 네트워크에서 한 노드로부터의 메시지가 모든 노드들에게 전달되는 것의 예를 나타낸다.5 is a flowchart illustrating a process of transmitting a message from one node to other nodes in a group communication network configured by using an RB tree. FIG. 6 shows an example in which a message from one node is delivered to all nodes in the group communication network configured through FIG. 4.

510단계에서, 메시지를 전송하고자 하는 노드는 자신과 연결된 노드, 즉 부모 노드 또는 자식 노드로 보안 세션을 통해 메시지를 전송한다. 예컨대 도 6을 참조하면, 메시지를 전송하고자 하는 노드 B(102)는 노드 D(101)로 메시지(B:hello)를 전송한다. In step 510, the node to transmit a message transmits the message through a secure session to a node connected to it, that is, a parent node or a child node. For example, referring to FIG. 6, a node B 102 that wants to send a message sends a message B: hello to a node D 101.

520단계에서, 메시지를 수신한 노드는 자신에게 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 메시지를 전송하고, 이 과정이 RB 트리 상에서 전파되어 노드들 모두에게 메시지가 전달된다. 예컨대 도 6을 참조하면, 노드 D(101)는 연결된 노드가 노드 B(102)와 노드 F(103)인데, 노드 B(102)가 자신에게 메시지를 전송하였으므로, 노드 F(103)에게 메시지(B:hello)를 전송한다. 노드 F(103)는 연결된 노드가 노드 D(101), 노드 E(104), 노드 H(105)인데, 노드 D(101)가 자신에게 메시지를 전송하였으므로, 노드 E(104)와 노드 H(105)에게 메시지(B:hello)를 전송한다. 따라서 노드 B(102)가 보낸 메시지(B:hello)는 다른 모든 노드들에게 전달된다. In step 520, the node receiving the message transmits the message to a node connected to the node other than the node that has sent the message through a secure session, and the process is propagated on the RB tree so that the message is delivered to all nodes. For example, referring to FIG. 6, node D 101 is a node B 102 and a node F 103 that are connected, and node B 102 sends a message to node F 103 because node B 102 has sent a message to itself. B: hello). Node F (103) is a node D (101), node E (104), and node H (105) to which the connected node is connected. Since node D (101) has sent a message to itself, node E (104) and node H ( 105) and sends a message (B: hello). Therefore, the message B: hello sent by node B102 is delivered to all other nodes.

도 7은 이미 구성된 그룹 통신 네트워크에 새로운 노드가 참여하여 그룹 통신 네트워크가 재구성되는 과정을 나타내는 흐름도이다. 도 8은 그룹 통신 네트워크에서 참여 요청 메시지가 모든 노드들에게 전달되는 것의 예를 나타내고, 도 9는 노드가 추가된 새로운 멤버 리스트로부터 새로운 RB 트리가 구성되는 것의 예를 보여준다.7 is a flowchart illustrating a process of reconfiguring a group communication network by joining a new node to an already configured group communication network. FIG. 8 shows an example in which a join request message is delivered to all nodes in a group communication network, and FIG. 9 shows an example of a new RB tree being constructed from a new member list to which nodes have been added.

710단계에서, 그룹에 참여하고자 하는 노드는 노드 추가 권한을 가진 노드에게 참여 요청 메시지를 전송한다. 예컨대 도 8을 참조하면, 그룹에 참여하고자 하는 노드 A(106)가 노드 D(101)에게 참여 요청 메시지(A:want join)를 전송한다. 여기서 노드 D(101)가 노드 추가 권한을 가진 노드인 것을 예로 들었으나, 노드 추가 권한을 가진 노드는 여러 노드 또는 모든 노드일 수도 있고, 루트 노드일 필요도 없다. 참여 요청 메시지는 RB 트리 상의 임의의 노드에게 전달되더라도 RB 트리 상에서의 메시지 전파 과정을 통해 모든 노드들에게 전달되거나 노드 추가 권한을 가진 노드에게 전달될 수 있다. In step 710, a node that wants to join a group transmits a join request message to a node having node addition authority. For example, referring to FIG. 8, a node A 106 wishing to join a group transmits a join request message (A: want join) to the node D 101. Although node D 101 is an example of a node having authority to add a node, the node having authority to add a node may be multiple nodes or all nodes, or may not be a root node. The participation request message may be delivered to all nodes through a message propagation process on the RB tree or to a node having authority to add a node even though the participation request message is delivered to any node on the RB tree.

노드 추가 권한을 가진 노드는, 720단계에서, 그룹에 참여하고자 하는 노드로 멤버 리스트를 전송하고, 730단계에서, 참여하고자 하는 노드의 식별정보가 포함된 참여 요청 메시지를 자신과 연결된 노드에게 보안 세션을 통해 전송한다. 예를 들어 도 8을 참조하면, 노드 D(101)는 노드 A(106)로 그룹을 구성하는 노드들의 식별정보를 포함하는 멤버 리스트를 전송하고, 노드 B(102)와 노드 F(103)로 노드 A(106)의 참여 요청 메시지(A:want join)를 전송한다.In step 720, the node having the authority to add a node transmits a member list to the node that wants to join the group, and in step 730, the node requesting the node to participate in the secure session with the node connected to the node. Send it through. For example, referring to FIG. 8, node D 101 transmits a member list including node identification information of nodes constituting the group to node A 106, and then to node B 102 and node F 103. A join request message (A: want join) of node A 106 is transmitted.

740단계에서, 참여 요청 메시지를 수신한 노드는 자신에게 해당 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 참여 요청 메시지를 전송하고, 이 과정이 RB 트리 상에서 전파되어 참여 요청 메시지가 노드들 모두에게 전달된다. 예컨대 도 8을 참조하면, 노드 D(101)로부터 노드 A(106)의 참여 요청 메시지(A:want join)를 수신한 노드 F(103)는 노드 E(104)와 노드 H(105)에게 노드 A(106)의 참여 요청 메시지(A:want join)를 전송한다. 따라서 노드 A(106)의 참여 요청 메시지(A:want join)는 모든 노드들에게 전달된다.In step 740, the node receiving the join request message transmits the join request message to the node connected to the node other than the node that has sent the message through the secure session, and the process is propagated on the RB tree so that the join request message is transmitted. Passed to all nodes. For example, referring to FIG. 8, after receiving a join request message (A: want join) of node A 106 from node D 101, node F 103 sends a node to node E 104 and node H 105. A join request message (A: want join) of A 106 is transmitted. Therefore, a join request message (A: want join) of node A 106 is delivered to all nodes.

750단계에서, 그룹을 구성하고 있던 노드들 및 참여하고자 하는 노드는 각각 참여하고자 하는 노드의 식별정보를 더 포함하는 새로운 멤버 리스트의 식별정보를 기반으로 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성한다. 예를 들어 도 9를 참조하면, 노드 A(106)의 식별정보 A가 더 포함된, 식별정보 A, D, B, F, E, H를 포함하는 새로운 멤버 리스트(410')로부터, RB 트리 구성 알고리즘(420)을 통해 노드 D(101), 노드 B(102), 노드 F(103), 노드 E(104), 노드 H(105), 노드 A(106)를 노드들로 하는 새로운 RB 트리(430')가 구성된다.In step 750, the nodes constituting the group and the nodes to join each form a new RB tree using the RB tree construction algorithm based on the identification information of the new member list further including identification information of the nodes to join. do. For example, referring to FIG. 9, from the new member list 410 ′ including identification information A, D, B, F, E, H, which further includes identification information A of node A 106, the RB tree New RB tree with nodes D 101, Node B 102, Node F 103, Node E 104, Node H 105, and Node A 106 as configuration algorithms 420. 430 'is configured.

760단계에서, 그룹을 구성하고 있던 노드들 및 참여하고자 하는 노드는 각각 새로 구성된 RB 트리 상에서 자신과 연결된 노드, 즉 부모 노드, 왼쪽 자식 노드, 또는 오른쪽 자식 노드를 확인한다. 예를 들어 도 9를 참조하면, 노드 A(106)는 부모 노드인 노드 B(102)를 확인하고, 노드 B(102)는 부모 노드인 노드 D(101)와 왼쪽 자식 노드인 노드 A(106)를 확인하고, 노드 D(101)는 왼쪽 자식 노드인 노드 B(102)와 오른쪽 자식 노드인 노드 F(103)를 확인하고, 노드 F(103)는 부모 노드인 노드 D(101), 왼쪽 자식 노드인 노드 E(104), 오른쪽 자식 노드인 노드 H(105)를 확인하고, 노드 E(104)는 부모 노드인 노드 F(103)를 확인하고, 노드 H(105)는 부모 노드인 노드 F(103)를 확인한다.In step 760, the nodes and the nodes to join the group identify nodes connected to themselves on the newly formed RB tree, that is, a parent node, a left child node, or a right child node. For example, referring to FIG. 9, node A 106 identifies node B 102, the parent node, and node B 102 identifies node D 101, the parent node, and node A 106, the left child node. Node D 101 identifies node B 102, the left child node, and node F 103, the right child node, and node F 101, node D 101, the left node, parent node. Identify node E 104, the child node, node H 105, the right child node, node E 104, identify node F 103, the parent node, and node H 105, the node that is the parent node. Check F 103.

770단계에서, 그룹을 구성하고 있던 노드들 및 참여하고자 하는 노드는 각각 새로운 RB 트리 상에서 자신과 연결된 노드에 따라 보안 세션을 갱신한다. 즉, 새로운 RB 트리 상에서 자신과 연결된 노드에 따라, 새로 연결된 노드와 보안 세션을 수립하거나, 기 연결된 노드(즉, 이미 보안 세션을 맺은 노드)와의 보안 세션을 유지하거나, 또는 기 연결된 노드와의 보안 세션을 종료한다. 예를 들어 도 9를 참조하면, 노드 A(106)와 노드 B(103) 간에 새로운 보안 세션이 수립된다. 그러나 노드 D(101), 노드 F(103), 노드 E(104), 노드 H(105)는 새로운 RB 트리에서의 다른 노드와의 연결 관계가 기존의 RB 트리와 변함이 없으므로, 기 연결된 노드와의 보안 세션을 그대로 유지한다.In step 770, the nodes forming the group and the nodes to join each update the security session according to the node connected to the node on the new RB tree. That is, depending on the node connected to it on the new RB tree, it establishes a secure session with the newly connected node, maintains a secure session with the previously connected node (i.e., a node which has already established a secure session), or secures with the previously connected node. End the session. For example, referring to FIG. 9, a new secure session is established between Node A 106 and Node B 103. However, since node D 101, node F 103, node E 104, and node H 105 do not change the connection relationship with other nodes in the new RB tree with the existing RB tree, To keep the session secure.

도 10은 도 9를 통해 구성된 그룹 통신 네트워크에서 한 노드로부터의 메시지가 모든 노드들에게 전달되는 것의 예를 나타낸다. 노드 B(103)가 노드 A(106)와 노드 D(101)로 메시지(B:hello)를 전송하면, 노드 D(101)는 노드 F(103)에게 메시지(B:hello)를 전송하고, 노드 F(103)는 노드 E(104)와 노드 H(105)에게 메시지(B:hello)를 전송함으로써, 노드 B(102)가 보낸 메시지(B:hello)는 다른 모든 노드들에게 전달된다. FIG. 10 shows an example in which a message from one node is delivered to all nodes in the group communication network configured through FIG. 9. When node B 103 sends a message B: hello to node A 106 and node D 101, node D 101 sends a message B: hello to node F 103, Node F 103 sends a message (B: hello) to node E 104 and node H 105, so that message B: hello sent by node B 102 is forwarded to all other nodes.

도 11은 그룹 통신 네트워크에서 한 노드가 탈퇴하여 그룹 통신 네트워크가 재구성되는 과정을 나타내는 흐름도이다. 도 12는 도 10의 그룹 통신 네트워크에서 탈퇴 요청 메시지가 모든 노드들에게 전달되는 것의 예를 나타내고, 도 13은 노드가 삭제된 새로운 멤버 리스트로부터 새로운 RB 트리가 구성되는 것의 예를 보여주며, 도 14는 도 13을 통해 새로 구성된 그룹 통신 네트워크를 보여준다. 11 is a flowchart illustrating a process of reconfiguring a group communication network by withdrawing one node from a group communication network. FIG. 12 shows an example in which a withdrawal request message is delivered to all nodes in the group communication network of FIG. 10, FIG. 13 shows an example of a new RB tree being constructed from a new member list in which a node is deleted, and FIG. 14 Shows a newly configured group communication network through FIG.

1110단계에서, 그룹에서 탈퇴하고자 하는 노드는 탈퇴 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송한다. 예컨대 도 12를 참조하면, 탈퇴하고자 하는 노드 B(102)는 자신과 연결된 노드 A(106)와 노드 D(101)에게 탈퇴 요청 메시지(B:want out)를 전송한다. In step 1110, the node that wants to leave the group transmits an exit request message to a node connected to the node through a secure session. For example, referring to FIG. 12, a node B 102 who wants to leave transmits a leave request message (B: want out) to the node A 106 and the node D 101 connected to the node B 102.

1120단계에서, 탈퇴 요청 메시지를 수신한 노드는 자신에게 해당 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 탈퇴 요청 메시지를 전송하고, 이 과정이 RB 트리 상에서 전파되어 탈퇴 요청 메시지가 노드들 모두에게 전달된다. 예컨대 도 12를 참조하면, 노드 B(102)로부터 탈퇴 요청 메시지(B:want out)를 수신한 노드 D(101)는 노드 B(102)의 탈퇴 요청 메시지(B:want out)를 노드 F(103)에게 전송하고, 노드 D(101)로부터 노드 B(102)의 탈퇴 요청 메시지(B:want out)를 수신한 노드 F(103)는 노드 E(104)와 노드 H(105)에게 노드 B(102)의 탈퇴 요청 메시지(B:want out)를 전송한다. 따라서 노드 B(102)의 탈퇴 요청 메시지(B:want out)는 모든 노드들에게 전달된다.In step 1120, the node receiving the withdrawal request message transmits the withdrawal request message through a secure session to a node connected with itself other than the node that has sent the message to the node, and this process is propagated on the RB tree so that the withdrawal request message is transmitted. Passed to all nodes. For example, referring to FIG. 12, a node D 101 that has received a withdrawal request message (B: want out) from a node B 102 reads a withdrawal request message (B: want out) of the node B 102, and a node F ( Node F 103 that transmits to node E 104 and node H 105 that receives the exit request message B of the node B 102 from node D 101. Send a withdrawal request message (B: want out) of 102; Therefore, the exit request message (B: want out) of node B 102 is delivered to all nodes.

1130단계에서, 탈퇴 요청 메시지를 수신한 노드들은 각각 탈퇴하고자 하는 노드의 식별정보를 제외한 새로운 멤버 리스트의 식별정보를 기반으로 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성한다. 예를 들어 도 13을 참조하면, 노드 B(102)의 식별정보 B가 삭제된, 식별정보 A, D, F, E, H를 포함하는 새로운 멤버 리스트(410'')로부터, RB 트리 구성 알고리즘(420)을 통해 노드 D(101), 노드 F(103), 노드 E(104), 노드 H(105), 노드 A(106)를 노드들로 하는 새로운 RB 트리(430'')가 구성된다.In step 1130, the nodes receiving the withdrawal request message form a new RB tree using the RB tree construction algorithm based on the identification information of the new member list except for the identification information of the node to withdraw. For example, referring to FIG. 13, from the new member list 410 '' including the identification information A, D, F, E, and H, the identification information B of the node B 102 is deleted, the RB tree construction algorithm. Through 420 a new RB tree 430 '' is constructed with nodes D 101, F 103, E 104, H 105 and A 106 as nodes. .

1140단계에서, 탈퇴 요청 메시지를 수신한 노드들은 각각 새로 구성된 RB 트리 상에서 자신과 연결된 노드, 즉 부모 노드, 왼쪽 자식 노드, 또는 오른쪽 자식 노드를 확인한다. 예를 들어 도 13을 참조하면, 노드 A(106)는 부모 노드인 노드 D(101)를 확인하고, 노드 D(101)는 왼쪽 자식 노드인 노드 A(106)와 오른쪽 자식 노드인 노드 F(103)를 확인하고, 노드 F(103)는 부모 노드인 노드 D(101), 왼쪽 자식 노드인 노드 E(104), 오른쪽 자식 노드인 노드 H(105)를 확인하고, 노드 E(104)는 부모 노드인 노드 F(103)를 확인하고, 노드 H(105)는 부모 노드인 노드 F(103)를 확인한다.In step 1140, the nodes receiving the withdrawal request message check each node connected to them on the newly formed RB tree, that is, a parent node, a left child node, or a right child node. For example, referring to FIG. 13, node A 106 identifies node D 101, the parent node, and node D 101 identifies node A 106, the left child node, and node F (the right child node) ( 103, node F 103 identifies the parent node Node D 101, the left child node Node E 104, the right child node Node H 105, and node E 104 identifies the node. Node F 103, which is the parent node, is identified, and node H 105 identifies Node F 103, which is the parent node.

1150단계에서, 탈퇴 요청 메시지를 수신한 노드들은 각각 새로운 RB 트리 상에서 자신과 연결된 노드에 따라 보안 세션을 갱신한다. 즉, 새로운 RB 트리 상에서 자신과 연결된 노드에 따라, 새로 연결된 노드와 보안 세션을 수립하거나, 기 연결된 노드(즉, 이미 보안 세션을 맺은 노드)와의 보안 세션을 유지하거나, 또는 기 연결된 노드와의 보안 세션을 종료한다. 예를 들어 도 12 및 13을 참조하면, 노드 A(106)는 노드 B(102)와의 보안 세션을 종료하고, 노드 D(101)와 보안 세션을 수립한다. 노드 D(101) 역시 노드 B(102)와의 보안 세션을 종료하고, 노드 A(106)와 보안 세션을 수립한다. 그러나 노드 F(103), 노드 E(104), 노드 H(105)는 새로운 RB 트리에서의 다른 노드와의 연결 관계가 기존의 RB 트리와 변함이 없으므로, 기 연결된 노드와의 보안 세션을 그대로 유지한다. 따라서 도 14와 같은 새로운 그룹 통신 네트워크가 구성된다.In step 1150, the nodes receiving the exit request message each update the security session according to the node connected to the new RB tree. That is, depending on the node connected to it on the new RB tree, it establishes a secure session with the newly connected node, maintains a secure session with the previously connected node (i.e., a node which has already established a secure session), or secures with the previously connected node. End the session. For example, referring to FIGS. 12 and 13, node A 106 terminates a secure session with node B 102 and establishes a secure session with node D 101. Node D 101 also terminates the secure session with Node B 102 and establishes a secure session with Node A 106. However, since node F 103, node E 104, and node H 105 do not change the connection relationship with other nodes in the new RB tree with the existing RB tree, the secure session with the previously connected node is maintained. do. Thus, a new group communication network as shown in FIG. 14 is constructed.

본 발명의 실시예에 의하면, 중앙집중적 장치 등과 같이 그룹을 구성하는 노드 외의 다른 장치가 요구되지 않으므로, 그룹의 구성원 외의 다른 자가 그룹의 구성원에게 메시지를 보내거나 그룹의 구성원으로부터 전송되는 메시지를 수신하는 것을 원천적으로 차단할 수 있다. 따라서, 그룹 내에서 전송되는 데이터가 제3자에 의해 저장, 감시, 수정, 도용, 검색되는 것을 방지할 수 있고 도청 및 중간자 공격 등 해킹 공격에 강인한 장점이 있다.According to the embodiment of the present invention, since a device other than the node constituting the group is not required, such as a centralized device, a person other than the member of the group sends a message to a member of the group or receives a message transmitted from a member of the group. Can be blocked at source. Therefore, the data transmitted in the group can be prevented from being stored, monitored, modified, stolen or retrieved by a third party, and has the advantage of being robust against hacking attacks such as eavesdropping and man-in-the-middle attacks.

또한, 그룹을 구성하는 노드들은 다른 노드와의 통신을 위한 세션을 노드 당 최대 3개까지만 수립하면 되므로, 보안 세션의 수립 횟수가 줄어들어 효율적으로 그룹 통신을 수행할 수 있다. In addition, the nodes constituting the group only need to establish up to three sessions per node for communication with other nodes, so that the number of secure sessions can be reduced, thereby efficiently performing group communication.

본 발명의 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 집적 회로 구성들을 채용할 수 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 실시예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.Embodiments of the present invention can be represented by functional block configurations and various processing steps. Such functional blocks may be implemented in various numbers of hardware or / and software configurations that perform particular functions. For example, an embodiment may comprise an integrated circuit configuration such as memory, processing, logic, look-up table, etc., which may execute various functions by the control of one or more microprocessors or other control devices. You can employ them. Similar to the components in the present invention may be implemented in software programming or software elements, embodiments include C, C ++, including various algorithms implemented in combinations of data structures, processes, routines or other programming constructs. It may be implemented in a programming or scripting language such as Java, an assembler, or the like. The functional aspects may be implemented with an algorithm running on one or more processors. In addition, embodiments may employ prior art for electronic configuration, signal processing, and / or data processing. Terms such as "mechanism", "element", "means", "configuration" can be used widely and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in conjunction with a processor or the like.

실시예에서 설명하는 특정 실행들은 일 실시예들로서, 어떠한 방법으로도 실시 예의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.Specific implementations described in the embodiments are examples, and do not limit the scope of the embodiments in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection or connection members of the lines between the components shown in the drawings by way of example shows a functional connection and / or physical or circuit connections, in the actual device replaceable or additional various functional connections, physical It may be represented as a connection, or circuit connections. In addition, unless specifically mentioned, such as "essential", "important" may not be a necessary component for the application of the present invention.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

Claims (18)

그룹 통신 방법에 있어서,
그룹에 참여할 수 있는 노드들은 공통의 RB(Red-Black) 트리 구성 알고리즘을 보유하며,
그룹을 구성하고자 하는 노드들이 상기 그룹을 구성하고자 하는 노드들의 식별정보를 포함하는 멤버 리스트를 공유하는 단계;
상기 그룹을 구성하고자 하는 노드들이 각각 상기 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 RB 트리를 구성하고 상기 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 및
상기 그룹을 구성하고자 하는 노드들이 각각 자신과 연결된 노드와 보안 세션을 수립함으로써 그룹을 구성하는 단계를 포함하고,
상기 그룹에 추가로 참여하고자 하는 노드가 있는 경우, 상기 그룹을 구성한 노드들 중 어느 한 노드가 상기 참여하고자 하는 노드의 참여 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하는 단계; 및
상기 참여 요청 메시지를 수신한 노드는 자신에게 참여 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 참여 요청 메시지를 전송하는 단계를 더 포함하고, 이로써 상기 그룹을 구성한 노드들 모두에게 상기 참여 요청 메시지가 전달되는 것을 특징으로 하는 그룹 통신 방법.
In the group communication method,
Nodes that can participate in the group have a common Red-Black (RB) tree construction algorithm,
Sharing a member list including identification information of the nodes to form a group, among the nodes to form a group;
Identifying each node connected with itself on the RB tree using the RB tree construction algorithm based on the identification information of the member list, respectively, for the nodes to form the group; And
Forming a group by establishing a secure session with each of the nodes to which the group wants to form the group,
If there is a node to further participate in the group, any one of the nodes constituting the group sends a join request message of the node to participate to the node connected to the node through a secure session; And
The node receiving the participation request message further includes transmitting the participation request message through a secure session to a node connected to the node other than the node that sent the participation request message to itself, thereby all nodes configuring the group. The join request message is delivered to the group communication method.
제1항에 있어서,
상기 멤버 리스트를 공유하는 단계는, 상기 그룹을 구성하고자 하는 노드들 중 한 노드가 다른 노드들에게 상기 멤버 리스트를 전송함으로써 상기 멤버 리스트가 공유되는 것을 특징으로 하는 그룹 통신 방법.
The method of claim 1,
The sharing of the member list may include sharing the member list by transmitting one of the nodes to form the group to other nodes.
제1항에 있어서,
상기 그룹을 구성한 노드들 중 메시지를 전송하고자 하는 노드가 자신과 연결된 노드로 보안 세션을 통해 메시지를 전송하는 단계; 및
상기 메시지를 수신한 노드는 자신에게 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 메시지를 전송하는 단계를 더 포함하고, 이로써 상기 그룹을 구성한 노드들 모두에게 상기 메시지가 전달되는 것을 특징으로 하는 그룹 통신 방법.
The method of claim 1,
Transmitting a message through a secure session to a node connected to the node which wants to transmit a message among the nodes constituting the group; And
The node receiving the message further includes transmitting the message through a secure session to a node connected to the node other than the node that has sent the message to the node, thereby transmitting the message to all the nodes in the group. Group communication method, characterized in that.
삭제delete 제1항에 있어서,
상기 그룹을 구성한 노드들 및 상기 참여하고자 하는 노드가 각각 상기 참여하고자 하는 노드의 식별정보를 더 포함하는 멤버 리스트의 식별 정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 및
상기 그룹을 구성한 노드들 및 상기 참여하고자 하는 노드가 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료하는 단계를 더 포함하는 것을 특징으로 하는 그룹 통신 방법.
The method of claim 1,
The new RB tree is constructed using the RB tree construction algorithm based on the identification information of the member list including the nodes constituting the group and the node to which the node to participate further includes identification information of the node to participate. Identifying nodes associated with themselves on the RB tree; And
The nodes constituting the group and the node to join each establish a secure session with a node newly connected to each other according to a node connected to the node on the new RB tree, maintain a secure session with a previously connected node, or Terminating the secure session of the group communication method.
제1항에 있어서,
상기 그룹에서 탈퇴하고자 하는 노드가 탈퇴 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하는 단계;
상기 탈퇴 요청 메시지를 수신한 노드는 자신에게 탈퇴 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 탈퇴 요청 메시지를 전송하는 단계를 더 포함하고, 이로써 상기 그룹을 구성한 노드들 모두에게 상기 탈퇴 요청 메시지가 전달되는 것을 특징으로 하는 그룹 통신 방법.
The method of claim 1,
Transmitting, by a node intending to leave the group, a leave request message to a node connected to the node through a secure session;
The node receiving the withdrawal request message further includes transmitting the withdrawal request message through a secure session to a node connected to the node other than the node that has sent the withdrawal request message to the node, thereby all nodes constituting the group. The withdrawal request message is delivered to the group communication method.
제6항에 있어서,
상기 탈퇴 요청 메시지를 수신한 노드들이 각각 상기 탈퇴하고자 하는 노드의 식별정보를 제외한 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 및
상기 탈퇴 요청 메시지를 수신한 노드들이 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료하는 단계를 더 포함하는 것을 특징으로 하는 그룹 통신 방법.
The method of claim 6,
Nodes receiving the withdrawal request message each form a new RB tree using the RB tree construction algorithm based on the identification information of the member list excluding the identification information of the node to withdraw, and are connected to themselves on the new RB tree. Identifying a node; And
Each node receiving the exit request message establishes a secure session with a newly connected node, maintains a secure session with a previously connected node, or establishes a secure session with a previously connected node according to a node connected with itself on the new RB tree. And terminating the group communication method.
제1항에 있어서,
상기 보안 세션은 공개키 기반 암호화를 이용하여 수립되는 것을 특징으로 하는 그룹 통신 방법.
The method of claim 1,
And the secure session is established using public key based encryption.
그룹 통신 시스템에 있어서,
그룹에 참여할 수 있는 노드들로서 공통의 RB(Red-Black) 트리 구성 알고리즘을 보유하는 노드들을 포함하고,
그룹을 구성하고자 하는 노드들은 상기 그룹을 구성하고자 하는 노드들의 식별정보를 포함하는 멤버 리스트를 공유하고, 상기 그룹을 구성하고자 하는 노드들은 각각 상기 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 RB 트리를 구성하고 상기 RB 트리 상에서 자신과 연결된 노드를 확인하며, 상기 그룹을 구성하고자 하는 노드들은 각각 자신과 연결된 노드와 보안 세션을 수립함으로써 그룹을 구성하고,
상기 그룹에 추가로 참여하고자 하는 노드가 있는 경우, 상기 그룹을 구성한 노드들 중 어느 한 노드가 상기 참여하고자 하는 노드의 참여 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하고, 상기 참여 요청 메시지를 수신한 노드는 자신에게 참여 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 참여 요청 메시지를 전송함으로써 상기 그룹을 구성한 노드들 모두에게 상기 참여 요청 메시지가 전달되는 것을 특징으로 하는 그룹 통신 시스템.
In a group communication system,
Nodes that can participate in a group, including nodes having a common Red-Black (RB) tree construction algorithm,
Nodes wishing to form a group share a member list including identification information of nodes wishing to form the group, and nodes wishing to form the group each perform the RB tree construction algorithm based on the identification information of the member list. The RB tree is used to identify the nodes associated with itself on the RB tree, and the nodes to form the group each form a group by establishing a secure session with the node connected to the node,
If there is a node to further participate in the group, any one of the nodes constituting the group transmits a participation request message of the node to participate through a secure session to a node connected to the group, and the participation request message The node receiving the message transmits the participation request message to a node connected to itself other than the node that sent the participation request message through a secure session, so that the participation request message is transmitted to all the nodes constituting the group. Group communication system.
제9항에 있어서,
상기 그룹을 구성하고자 하는 노드들이 상기 멤버 리스트를 공유하기 위하여, 상기 그룹을 구성하고자 하는 노드들 중 한 노드가 다른 노드들에게 상기 멤버 리스트를 전송하는 것을 특징으로 하는 그룹 통신 시스템.
The method of claim 9,
In order for the nodes to form the group to share the member list, one of the nodes to form the group transmits the member list to other nodes.
제9항에 있어서,
상기 그룹을 구성한 노드들 중 메시지를 전송하고자 하는 노드는 자신과 연결된 노드로 보안 세션을 통해 메시지를 전송하고, 상기 메시지를 수신한 노드는 자신에게 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 메시지를 전송함으로써 상기 그룹을 구성한 노드들 모두에게 상기 메시지가 전달되는 것을 특징으로 하는 그룹 통신 시스템.
The method of claim 9,
Among the nodes constituting the group, a node that wants to transmit a message transmits a message to a node connected to the node through a secure session, and a node that receives the message is secured to a node connected to itself other than the node that sent the message to the node. Sending the message through a session, wherein the message is delivered to all the nodes that make up the group.
삭제delete 제9항에 있어서,
상기 그룹을 구성한 노드들 및 상기 참여하고자 하는 노드는 각각 상기 참여하고자 하는 노드의 식별정보를 더 포함하는 멤버 리스트의 식별 정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하며, 상기 그룹을 구성한 노드들 및 상기 참여하고자 하는 노드는 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료하는 것을 특징으로 하는 그룹 통신 시스템.
The method of claim 9,
The nodes constituting the group and the node to join each form a new RB tree using the RB tree construction algorithm based on the identification information of the member list further including identification information of the node to join. Identifying nodes connected to themselves in the RB tree, the nodes constituting the group and the nodes to join each establish a security session with a node newly connected to each other according to the node connected to the new RB tree, A group communication system for maintaining a secure session with a node or terminating a secure session with a previously connected node.
제9항에 있어서,
상기 그룹에서 탈퇴하고자 하는 노드는 탈퇴 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하고, 상기 탈퇴 요청 메시지를 수신한 노드는 자신에게 탈퇴 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 탈퇴 요청 메시지를 전송함으로써 상기 그룹을 구성한 노드들 모두에게 상기 탈퇴 요청 메시지가 전달되는 것을 특징으로 하는 그룹 통신 시스템.
The method of claim 9,
A node intending to leave the group transmits a withdrawal request message to a node connected to the node through a secure session, and the node receiving the withdrawal request message is secured to a node connected to itself other than the node that sent the withdrawal request message to the node. The withdrawal request message is transmitted to all nodes that make up the group by transmitting the withdrawal request message through a session.
제14항에 있어서,
상기 탈퇴 요청 메시지를 수신한 노드들은 각각 상기 탈퇴하고자 하는 노드의 식별정보를 제외한 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하고, 상기 탈퇴 요청 메시지를 수신한 노드들은 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료하는 것을 특징으로 하는 그룹 통신 시스템.
The method of claim 14,
Each node receiving the withdrawal request message forms a new RB tree using the RB tree construction algorithm based on the identification information of the member list except for the identification information of the node to withdraw, and is connected with itself on the new RB tree. Nodes that have checked the node and received the withdrawal request message each establish a secure session with, or maintain a secure session with, a newly connected node according to their associated node on the new RB tree. And terminate the secure session with the group.
제9항에 있어서,
상기 보안 세션은 공개키 기반 암호화를 이용하여 수립되는 것을 특징으로 하는 그룹 통신 시스템.
The method of claim 9,
And the secure session is established using public key based encryption.
그룹 통신 방법에 있어서,
그룹에 참여할 수 있는 노드들은 공통의 RB(Red-Black) 트리 구성 알고리즘을 보유하며,
그룹을 구성하고자 하는 노드들이 상기 그룹을 구성하고자 하는 노드들의 식별정보를 포함하는 멤버 리스트를 공유하는 단계;
상기 그룹을 구성하고자 하는 노드들이 각각 상기 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 RB 트리를 구성하고 상기 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계;
상기 그룹을 구성하고자 하는 노드들이 각각 자신과 연결된 노드와 공개키 기반 암호화를 이용하여 보안 세션을 수립함으로써 그룹을 구성하는 단계;
상기 그룹을 구성한 노드들 중 메시지를 전송하고자 하는 노드가 자신과 연결된 노드로 보안 세션을 통해 메시지를 전송하는 단계;
상기 메시지를 수신한 노드는 자신에게 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 메시지를 전송하고, 이로써 상기 그룹을 구성한 노드들 모두에게 상기 메시지가 전달되는 단계;
상기 그룹에 추가로 참여하고자 하는 노드가 있는 경우, 상기 그룹을 구성한 노드들 중 어느 한 노드가 상기 참여하고자 하는 노드의 참여 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하는 단계;
상기 참여 요청 메시지를 수신한 노드는 자신에게 참여 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 참여 요청 메시지를 전송하고, 이로써 상기 그룹을 구성한 노드들 모두에게 상기 참여 요청 메시지가 전달되는 단계;
상기 그룹을 구성한 노드들 및 상기 참여하고자 하는 노드가 각각 상기 참여하고자 하는 노드의 식별정보를 더 포함하는 멤버 리스트의 식별 정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 및
상기 그룹을 구성한 노드들 및 상기 참여하고자 하는 노드가 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료하는 단계를 포함하는 것을 특징으로 하는 그룹 통신 방법.
In the group communication method,
Nodes that can participate in the group have a common Red-Black (RB) tree construction algorithm,
Sharing a member list including identification information of the nodes to form a group, among the nodes to form a group;
Identifying each node connected with itself on the RB tree using the RB tree construction algorithm based on the identification information of the member list, respectively, for the nodes to form the group;
Forming a group by establishing a secure session using a node and a node connected with each other and public key based encryption, respectively;
Transmitting a message through a secure session to a node connected to the node which wants to transmit a message among the nodes constituting the group;
The node receiving the message transmits the message through a secure session to a node connected to the node other than the node that has sent the message to the node, thereby delivering the message to all the nodes in the group;
If there is a node to further participate in the group, any one of the nodes constituting the group transmits a participation request message of the node to participate to the node connected to the node through a secure session;
The node receiving the participation request message transmits the participation request message to a node connected to itself other than the node that sent the participation request message through a secure session, thereby transmitting the participation request message to all the nodes constituting the group. Is delivered;
The new RB tree is constructed using the RB tree construction algorithm based on the identification information of the member list including the nodes constituting the group and the node to which the node to participate further includes identification information of the node to participate. Identifying a node associated with itself on the RB tree; And
The nodes constituting the group and the nodes to join each establish a secure session with a node newly connected to each other according to a node connected to the node on the new RB tree, maintain a secure session with a node previously connected, or And terminating the secure session of the group.
그룹 통신 방법에 있어서,
그룹에 참여할 수 있는 노드들은 공통의 RB(Red-Black) 트리 구성 알고리즘을 보유하며,
그룹을 구성하고자 하는 노드들이 상기 그룹을 구성하고자 하는 노드들의 식별정보를 포함하는 멤버 리스트를 공유하는 단계;
상기 그룹을 구성하고자 하는 노드들이 각각 상기 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 RB 트리를 구성하고 상기 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계;
상기 그룹을 구성하고자 하는 노드들이 각각 자신과 연결된 노드와 공개키 기반 암호화를 이용하여 보안 세션을 수립함으로써 그룹을 구성하는 단계;
상기 그룹을 구성한 노드들 중 메시지를 전송하고자 하는 노드가 자신과 연결된 노드로 보안 세션을 통해 메시지를 전송하는 단계;
상기 메시지를 수신한 노드는 자신에게 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 메시지를 전송하고, 이로써 상기 그룹을 구성한 노드들 모두에게 상기 메시지가 전달되는 단계;
상기 그룹에서 탈퇴하고자 하는 노드가 탈퇴 요청 메시지를 자신과 연결된 노드로 보안 세션을 통해 전송하는 단계;
상기 탈퇴 요청 메시지를 수신한 노드는 자신에게 탈퇴 요청 메시지를 전송한 노드 이외의 자신과 연결된 노드로 보안 세션을 통해 상기 탈퇴 요청 메시지를 전송하고, 이로써 상기 그룹을 구성한 노드들 모두에게 상기 탈퇴 요청 메시지가 전달되는 단계;
상기 탈퇴 요청 메시지를 수신한 노드들이 각각 상기 탈퇴하고자 하는 노드의 식별정보를 제외한 멤버 리스트의 식별정보를 기반으로 상기 RB 트리 구성 알고리즘을 이용하여 새로운 RB 트리를 구성하고 상기 새로운 RB 트리 상에서 자신과 연결된 노드를 확인하는 단계; 및
상기 탈퇴 요청 메시지를 수신한 노드들이 각각 상기 새로운 RB 트리 상에서의 자신과 연결된 노드에 따라 자신과 새로 연결된 노드와 보안 세션을 수립하거나 기 연결된 노드와 보안 세션을 유지하거나 기 연결된 노드와의 보안 세션을 종료하는 단계를 포함하는 것을 특징으로 하는 그룹 통신 방법.
In the group communication method,
Nodes that can participate in the group have a common Red-Black (RB) tree construction algorithm,
Sharing a member list including identification information of the nodes to form a group, among the nodes to form a group;
Identifying each node connected with itself on the RB tree using the RB tree construction algorithm based on the identification information of the member list, respectively, for the nodes to form the group;
Forming a group by establishing a secure session using a node and a node connected with each other and public key based encryption, respectively;
Transmitting a message through a secure session to a node connected to the node which wants to transmit a message among the nodes constituting the group;
The node receiving the message transmits the message through a secure session to a node connected to the node other than the node that has sent the message to the node, thereby delivering the message to all the nodes in the group;
Transmitting, by a node intending to leave the group, a leave request message to a node connected to the node through a secure session;
The node receiving the withdrawal request message transmits the withdrawal request message to a node connected to itself other than the node that has sent the withdrawal request message through a secure session, thereby transmitting the withdrawal request message to all the nodes constituting the group. Is delivered;
Nodes receiving the withdrawal request message each form a new RB tree using the RB tree construction algorithm based on the identification information of the member list excluding the identification information of the node to withdraw, and are connected to themselves on the new RB tree. Identifying a node; And
Each node receiving the exit request message establishes a secure session with a newly connected node, maintains a secure session with a previously connected node, or establishes a secure session with a previously connected node according to a node connected with itself on the new RB tree. And terminating the group.
KR1020180137056A 2018-11-09 2018-11-09 Group communication method and system KR102038473B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180137056A KR102038473B1 (en) 2018-11-09 2018-11-09 Group communication method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180137056A KR102038473B1 (en) 2018-11-09 2018-11-09 Group communication method and system

Publications (1)

Publication Number Publication Date
KR102038473B1 true KR102038473B1 (en) 2019-11-18

Family

ID=68727782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180137056A KR102038473B1 (en) 2018-11-09 2018-11-09 Group communication method and system

Country Status (1)

Country Link
KR (1) KR102038473B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020181480A1 (en) * 2001-01-22 2002-12-05 Ian Puleston Method for using a balanced tree as a base for a routing table
KR100951252B1 (en) * 2004-05-28 2010-04-02 인터내셔널 비지네스 머신즈 코포레이션 Wireless sensor network
KR101242014B1 (en) * 2008-01-30 2013-03-12 퀄컴 인코포레이티드 Management of wireless relay nodes using routing table
KR20140126801A (en) * 2013-04-22 2014-11-03 한국전자통신연구원 Apparatus and method for rouing multicast in wireless mesh network
KR20150084224A (en) * 2014-01-13 2015-07-22 삼성전자주식회사 Security supporting method and system for service discovery and group communication in mobile telecommunication system environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020181480A1 (en) * 2001-01-22 2002-12-05 Ian Puleston Method for using a balanced tree as a base for a routing table
KR100951252B1 (en) * 2004-05-28 2010-04-02 인터내셔널 비지네스 머신즈 코포레이션 Wireless sensor network
KR101242014B1 (en) * 2008-01-30 2013-03-12 퀄컴 인코포레이티드 Management of wireless relay nodes using routing table
KR20140126801A (en) * 2013-04-22 2014-11-03 한국전자통신연구원 Apparatus and method for rouing multicast in wireless mesh network
KR20150084224A (en) * 2014-01-13 2015-07-22 삼성전자주식회사 Security supporting method and system for service discovery and group communication in mobile telecommunication system environment

Similar Documents

Publication Publication Date Title
US20170149748A1 (en) Secure Group Messaging and Data Steaming
US20130212388A1 (en) Providing trustworthy workflow across trust boundaries
CN111404950B (en) Information sharing method and device based on block chain network and related equipment
US11387999B2 (en) Access to secured information
Hung et al. Multiparty quantum private comparison with almost dishonest third parties for strangers
US11470065B2 (en) Protection of private data using an enclave cluster
Daubert et al. AnonPubSub: Anonymous publish-subscribe overlays
US10855846B1 (en) Encrypting multiple party calls
CN114429223B (en) Heterogeneous model building method and device
US10887091B2 (en) Multi-hop security amplification
Naresh et al. A provably secure sharding based blockchain smart contract centric hierarchical group key agreement for large wireless ad‐hoc networks
US10785025B1 (en) Synchronization of key management services with cloud services
Daubert et al. Twitterize: Anonymous micro-blogging
KR102038473B1 (en) Group communication method and system
Sabah et al. Developing an end-to-end secure chat application
Shewale et al. An efficient profile matching protocol using privacy preserving in mobile social network
Lin et al. Man-in-the-middle attack on quantum secure communications with authentication
Araghi et al. An access control framework in an Ad Hoc network infrastructure
EP3709564A1 (en) Data sharing method, data sharing system, data sharing server, communication terminal, and program
US20230328019A1 (en) Personal Media Communications Over a Non-Commutative Node-Centric Star-Cluster Network
Daubert Anonymous Publish-Subscribe Overlays
US20230385386A1 (en) Non-Commutative Node-Centric Digital Rights Management System
JPWO2018216749A1 (en) Cryptographic communication method, information processing apparatus and program
Rahman et al. Implementation of Secured Portable PABX System of Fully Fledged Mobility Management for Unified Communication
Kommey et al. Design and Implementation of a Local Area Network Based Multimedia Messaging Application

Legal Events

Date Code Title Description
GRNT Written decision to grant