KR100729527B1 - A group key transmitting method in broadcasting environment - Google Patents

A group key transmitting method in broadcasting environment Download PDF

Info

Publication number
KR100729527B1
KR100729527B1 KR1020060118669A KR20060118669A KR100729527B1 KR 100729527 B1 KR100729527 B1 KR 100729527B1 KR 1020060118669 A KR1020060118669 A KR 1020060118669A KR 20060118669 A KR20060118669 A KR 20060118669A KR 100729527 B1 KR100729527 B1 KR 100729527B1
Authority
KR
South Korea
Prior art keywords
key
node
group
group key
terminal
Prior art date
Application number
KR1020060118669A
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 주식회사 디지캡
Application granted granted Critical
Publication of KR100729527B1 publication Critical patent/KR100729527B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services

Abstract

A group key transmitting method in broadcasting environment is provided to divide subscribers by group, sort a subscriber whose terminal is to receive a service coding key among the groups, and transmit a single message per the group, thereby reducing waste of transmission band width for a broadcasting channel. A group key transmitting method in broadcasting environment includes the steps of randomly generating a group key for a terminal group including at least one or more terminals(S310), sorting terminals having the right to receive the group key in the terminal group(S320), generating a group key coding key for coding the group key transmitted to the terminals(S330), coding the group key by the group key coding key(S340), and transmitting data on the terminals to receive the group key and the coded group key to the terminals(S350).

Description

브로드캐스트 환경에서의 그룹 키 전송방법{A group key transmitting method in broadcasting environment}A group key transmitting method in broadcasting environment

도 1은 본 발명에 따른 그룹 키 전송을 위한 시스템 구성도,1 is a system configuration diagram for group key transmission according to the present invention;

도 2는 본 발명에 따른 그룹 키 관리를 위한 관리 키 집합 생성 흐름도,2 is a flowchart illustrating a management key set generation for group key management according to the present invention;

도 3은 본 발명에 따른 그룹 키 전송 흐름도,3 is a flow chart for group key transmission according to the present invention;

도 4는 본 발명의 일실시예에 그룹 구성을 위한 전 이진 트리 구성도,4 is a full binary tree diagram for a group configuration in an embodiment of the present invention;

도 5는 본 발명에 따른 루트노드를 제외한 노드들의 키 설정 구성도,5 is a key configuration diagram of nodes other than the root node according to the present invention,

도 6은 본 발명에 따른 그룹 키를 복호화하기 위한 흐름도이다.6 is a flowchart for decrypting a group key according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

110 : 서버 111 : 그룹 관리부110: server 111: group management unit

112 : 그룹 키 암호화 키 생성부 113 : 그룹 키 생성부112: group key encryption key generation unit 113: group key generation unit

114 : 그룹 키 암호화부 115 : 전송부114: group key encryption unit 115: transmission unit

120 : 단말기 121 : 키 저장부120: terminal 121: key storage unit

122 : 그룹 키 복호화 키 생성부 123 : 그룹 키 복호화 부122: group key decryption key generation unit 123: group key decryption unit

124 : 수신부124: receiver

본 발명은 브로드캐스트 환경에서의 그룹 키 전송방법에 관한 것으로, 보다 자세하게는 유료 방송 서비스를 받기 위해 서비스를 유료 구매하는 경우, 암호화된 유료 방송 서비스를 시청할 수 있도록 하는 복호화 키를 유료 구매자에게만 효율적으로 전달하기 위해 가입자들을 그룹 단위로 묶고 그룹 단위로 서비스 암호화 키를 전달하기 위한 방법에 관한 것이다.The present invention relates to a method for transmitting a group key in a broadcast environment, and more particularly, when paying for a service to receive a paid broadcast service, the decryption key enabling the payer to watch the encrypted pay broadcast service efficiently to only the paying buyer. The present invention relates to a method for grouping subscribers for delivery and for delivering a service encryption key for each group.

일반적으로 유료 방송 서비스에서는 가입자가 유료로 서비스(채널)를 구매해야만 해당 서비스 시청이 가능하다. 해당 서비스를 구매하지 않은 가입자가 서비스를 시청하지 못하도록 하기 위해 서비스의 콘텐츠를 안전한 암호화 알고리즘으로 암호화하며, 해당 서비스를 유료로 구매한 가입자에게만 복호화할 수 있는 키를 전달하여 구매한 가입자만 시청할 수 있도록 한다. In general, in a pay broadcasting service, a subscriber must purchase a service (channel) for a fee to view the service. In order to prevent the subscribers who did not purchase the service from watching the service, the contents of the service are encrypted with a secure encryption algorithm, and a decryption key is delivered only to the subscriber who purchased the service so that only the purchased subscriber can watch it. do.

서비스를 암호화하는 키는 실시간 키 분산 공격(real-time key distribution attack) 등의 키 노출 공격을 방지하기 위해 짧게는 수십 초, 길게는 수 시간마다 변경하게 된다. 이 변경되는 서비스 암호화 키를 방송 채널로 수십 초 또는 수시간마다 유료 구매 모든 가입자에게 서비스 복호화 키를 각각 전달하기 위해서는 매우 많은 전송 대역폭(bandwidth)을 필요로 한다. 방송 채널은 특정 가입자에게 연결할 수 있는 개별 채널을 구성할 수 없고 모든 가입자에게 일방적으로 전달되는 채널이 기 때문이다. 예를 들어 10만 명 유료 가입자가 존재하고 60초마다 서비스 암호화 키 변경을 하고 서비스 암호화 키 변경 메시지의 크기가 32 bytes라고 가정하는 경우 약 416.67 kbits/sec의 전송 대역폭(bandwidth)을 요구하게 된다. 이 정도의 전송 대역폭(bandwidth) 요구는 매우 큰 편이며 일반적으로 유료화 서비스 개수가 더욱 많기 때문에 서비스 암호화 키 변경으로 인해 전달해야 하는 메시지의 전체 전송 대역폭(bandwidth)은 매우 크게 된다. The key that encrypts a service is changed every tens of seconds, or every few hours, to prevent key exposure attacks such as real-time key distribution attacks. In order to deliver the service decryption key to each subscriber who pays every tens of seconds or several hours using the changed service encryption key as a broadcasting channel, a very large transmission bandwidth is required. This is because a broadcast channel cannot constitute an individual channel that can be connected to a specific subscriber, but is a channel that is unilaterally delivered to all subscribers. For example, if there are 100,000 paid subscribers, and the service encryption key is changed every 60 seconds, and the size of the service encryption key change message is 32 bytes, the transmission bandwidth of about 416.67 kbits / sec is required. This bandwidth requirement is very large, and in general, because the number of paid services is larger, the total bandwidth of the message to be delivered due to the change of the service encryption key becomes very large.

따라서, 보다 적은 전송 대역폭(bandwidth)으로 가입자에게 변경된 서비스 암호화 키를 전달하기 위해서 가입자들을 그룹 단위로 묶고 그룹 단위로 서비스 암호화 키 변경 정보를 전달하는 방법을 고려할 수 있다. 한 그룹을 256명의 가입자로 구성하고 각 그룹에게 서비스 암호화 키 변경 메시지(그룹 내 각 가입자에게 전달되는 메시지가 아니라 그룹에 속한 가입자에게 공통으로 적용되는 하나의 메시지)를 전달한다고 가정하는 경우, 10만 명을 수용하는 391 그룹에게 60초마다 32 bytes의 키 변경 메시지를 전달하면 1.63 kbits/sec으로 전송 대역폭(bandwidth)을 줄일 수 있다. 그룹 단위로 서비스 암호화 키를 전달한다고 할지라도 그룹 내에는 서비스를 구매한 가입자도 존재하고 구매하지 않은 가입자도 존재하게 된다. 그러므로 서비스 암호화 키를 그룹 키로 암호화하고 그룹 키는 오직 서비스를 구매한 가입자만이 구할 수 있도록(서비스를 구매하지 않은 가입자는 구할 수 없도록) 구성할 수 있는 방식이 존재해야 한다.Therefore, in order to deliver the changed service encryption key to the subscriber with less transmission bandwidth, a method of grouping the subscribers in groups and delivering the service encryption key change information in groups may be considered. If you configure a group of 256 subscribers and assume that each group delivers a service encryption key change message (one message that is common to the subscribers in the group, not a message to each subscriber in the group), 100,000 Sending a 32 byte key change message every 60 seconds to a group of 391 users can reduce the transmission bandwidth to 1.63 kbits / sec. Even if the service encryption key is delivered in groups, there are subscribers who have purchased the service and subscribers who have not purchased the service. Therefore, there must be a way to encrypt the service encryption key into a group key and configure the group key so that only the subscriber who purchased the service can obtain it (not the subscriber who did not purchase the service).

본 발명은 브로드캐스트(broadcast) 채널을 통해서 유료 방송 서비스를 복호화하여 서비스를 제공받을 수 있는 서비스 암호화 키를 단말기로 전송함에 있어서, 가입자들을 그룹으로 분할하여 그룹에 속한 가입자 중에서 서비스 암호화 키를 수신해야 하는 단말기를 선별하되 그룹당 오직 하나의 메시지를 전달하는 것으로 브로드캐스트 채널의 전송 대역폭의 낭비를 줄일 수 있는 브로드캐스트 환경에서 그룹키를 전달하기 위한 그룹화 방법을 제공함에 목적이 있다.In the present invention, in transmitting a service encryption key capable of receiving a service by decrypting a paid broadcast service through a broadcast channel to a terminal, the service encryption key must be received from among the subscribers belonging to the group by dividing the subscribers into groups. It is an object of the present invention to provide a grouping method for delivering a group key in a broadcast environment in which a terminal is selected but only one message is transmitted per group, thereby reducing waste of transmission bandwidth of a broadcast channel.

또한, 본 발명은 유료 방송 서비스를 수신하여 복호화할 수 있는 서비스 암호화 키를 브로드캐스트 채널로 각 유료 방송 서비스 수신 단말기로 전송함에 있어서, 서비스를 수신해야 하는 서비스 가입자 단말기만 서비스 암호화 키를 수신하도록 하는 전송 방법을 제공함에 목적이 있다.In addition, the present invention transmits a service encryption key that can receive and decrypt a pay broadcast service to each pay broadcast service receiving terminal through a broadcast channel, so that only the service subscriber terminal that should receive the service receives the service encryption key. The purpose is to provide a transmission method.

본 발명의 상기 목적은 그룹 키 관리를 위한 관리 키 집합을 생성하는 방법에 있어서, 그룹 내에 포함된 단말기들을 리프노드로 하는 전 이진 트리를 생성하는 제1단계와 상기 전 이진 트리의 자식노드들을 위한 왼쪽 키 및 오른쪽 키를 생성하는 제2단계와 상기 전 이진 트리의 루트노드 키를 생성하는 제3단계와 상기 루트노드를 제외한 노드들의 키를 생성하는 제4단계 및 상기 그룹 내에 포함된 각각의 단말기에 대응하는 사용자 관리 키 집합을 전송하는 제5단계 또는, 그룹 키 전송 방법에 있어서, 상기 그룹 키를 생성하는 제1단계와 상기 그룹 내에서 상기 그룹 키를 수신해야 하는 상기 단말기를 식별하는 제2단계와 상기 그룹 키를 암호화 하기 위한 그룹 키 암호화 키를 생성하는 제3단계와 상기 그룹 키 암호화 키를 이용하여 상기 그룹 키를 암호화하는 제4단계 및 상기 제3단계에서 식별된 단말기 정보와 상기 제4단계의 암호화된 그룹 키를 전송하는 제5단계 또는, 그룹 키 복호화 방법에 있어서, 서버에서 전송된 사용자 관리 키 집합 및 단말기 정보를 이용하여 후보 키 집합을 생성하는 제1단계와 상기 후보 키 집합에서 그룹 키 암호화 키를 생성하는 제2단계 및 상기 그룹 키 암호화 키를 이용하여 암호화된 그룹 키를 복호화하는 제3단계를 포함하는 브로드캐스트 환경에서 그룹 키 전송방법에 의해 달성된다.According to an aspect of the present invention, there is provided a method of generating a management key set for group key management, the method comprising: generating a full binary tree having leaf nodes as terminals in a group and for child nodes of the full binary tree; A second step of generating a left key and a right key, a third step of generating a root node key of the entire binary tree, a fourth step of generating a key of nodes other than the root node, and each terminal included in the group In a fifth step of transmitting a user management key set corresponding to the group or the method of transmitting a group key, the first step of generating the group key and the second step of identifying the terminal that should receive the group key in the group And a third step of generating a group key encryption key for encrypting the group key and encrypting the group key using the group key encryption key. In the fifth step of transmitting the terminal information identified in the fourth step and the third step and the encrypted group key of the fourth step, or in the group key decryption method, the user management key set and the terminal information transmitted from the server A first step of generating a candidate key set using a second step; a second step of generating a group key encryption key from the candidate key set; and a third step of decrypting a group key encrypted using the group key encryption key; It is achieved by group key transmission method in broadcast environment.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.  Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.Prior to this, terms or words used in the specification and claims should not be construed as having a conventional or dictionary meaning, and the inventors should properly explain the concept of terms in order to best explain their own invention. Based on the principles that can be defined, it should be interpreted as meanings and concepts corresponding to the technical spirit of the present invention.

도 1은 본 발명에 따른 그룹 키 전송을 위한 시스템 구성도이다. 도 1에 도시된 바와 같이, 그룹 키 전송 서버(110)는 생성된 그룹을 관리하기 위한 그룹 관리부(111)와 그룹 키를 생성한 이후, 그룹 키를 암호화하는 키를 생성하는 그룹 키 암호화 키 생성부(112)와 그룹 키를 생성하는 그룹 키 생성부(113)와 그룹 키를 그룹 키 암호화 키로 암호화하는 그룹 키 암호화부(114)와 암호화된 그룹 키를 전송하기 위한 전송부(115)로 구성되어 있다.1 is a system configuration diagram for group key transmission according to the present invention. As shown in FIG. 1, the group key transmission server 110 generates a group key encryption key for generating a group encrypting the group key after generating the group key with the group manager 111 for managing the generated group. Section 112, a group key generation unit 113 for generating a group key, a group key encryption unit 114 for encrypting a group key with a group key encryption key, and a transmission unit 115 for transmitting an encrypted group key. It is.

그룹 관리부(111)는 하나 이상으로 구성된 단말기(120)를 그룹화하고 생성된 그룹을 전 이진 트리(Completely-Balanced Binary Tree)로 재구성하며, 재구성된 전 이진 트리에 대해 임의의 Left_Key, Right_Key를 생성한다. The group manager 111 groups one or more terminals 120 and reconfigures the generated group into a completely binary tree, and generates arbitrary left_key and right_key for the reconstructed full binary tree. .

Left_Key는 부모노드로부터 좌측에 위치한 자식노드의 키를 생성하기 위해 사용되며, Right_Key는 부모노드로부터 우측에 위치한 자식노드의 키를 생성하기 위해 사용한다. 또한, Left_Key 및 Right_Key는 그룹에 속한 단말기(120)들에게 안전하게 전달되어야 하며, 모든 그룹에 대해서 동일한 Left_Key 및 Right_Key를 생성하여 전송할 수 있으며, 모든 그룹에 대해 서로 상이한 Left_Key 및 Right_Key를 생성하여 전송할 수 있다.Left_Key is used to generate the key of the child node located on the left side from the parent node, and Right_Key is used to generate the key of the child node located on the right side from the parent node. In addition, the Left_Key and Right_Key should be safely delivered to the terminals 120 belonging to the group, and may generate and transmit the same Left_Key and Right_Key for all groups, and may generate and transmit different Left_Key and Right_Key for all groups. .

또한, 그룹 관리부(111)는 임의의 루트노드의 키를 생성하고, 부모노드의 키와 Left_Key 또는 Right_Key를 이용하여 자식노드의 키를 생성한다. 부모노드로부터 왼쪽에 위치하는 자식노드의 키는 다음과 같은 수학식을 사용하여 생성할 수 있다.In addition, the group manager 111 generates a key of an arbitrary root node, and generates a key of a child node using a key of a parent node and Left_Key or Right_Key. The key of the child node located on the left side from the parent node can be generated using the following equation.

K(j) = H(K(i) K (j) = H (K (i) XORXOR LeftLeft __ KeyKey ))

상기 수학식 1에서 K(j)는 구하고자 하는 노드의 키로서, 부모노드의 왼쪽에 존재하는 노드의 키이다. 또한, K(i)는 부모노드의 키이며, Left _ Key는 그룹에 속하는 왼쪽 노드의 키를 생성하기 위한 임의의 키이다. 이때, K(i)Left _ KeyXOR(Exclusive Or)한 이후, H(해쉬함수)를 이용하여 해싱한다.In Equation 1, K (j) is a key of a node to be obtained and is a key of a node existing to the left of the parent node. Further, K (i) is the key of the parent node, _ Left Key is any key for generating a key on the left of the node belonging to the group. At this time, K (i) and Left _ Key are hashed by using H (hash function) after XOR (Exclusive Or).

또한, 부모노드로부터 오른쪽에 위치하는 자식노드의 키는 다음과 같은 수학 식을 사용하여 생성할 수 있다.In addition, the key of the child node located to the right from the parent node can be generated using the following equation.

K(k) = H(K(i) K (k) = H (K (i) XORXOR RightRight __ KeyKey ))

상기 수학식 2에서 K(k)는 구하고자 하는 노드의 키로서, 부모노드의 오른쪽에 존재하는 노드의 키이다. 또한 K(i)는 부모노드의 키이며, Right _ Key는 그룹에 속하는 오른쪽 노드의 키를 생성하기 위한 임의의 키이다. 이때, K(i)Right _ KeyXOR(Exclusive Or)한 이후, H(해쉬함수)를 이용하여 해싱한다.In Equation 2, K (k) is a key of a node to be obtained and is a key of a node existing to the right of the parent node. In addition, K (i) is the key of the parent node, _ Right Key is any key for generating a key of the node belonging to the right group. In this case, K (i) and _ Right Key is hashed by using the after (Exclusive Or) XOR, H (hash function).

그룹 키 암호화 키 생성부(112)는 그룹 키를 받을 수 있는 권리를 가진 단말기 리스트 정보를 이용하여 후보 키 집합(Candidate Key Set)을 생성하여 이를 통해 그룹 키 암호화 키를 생성하고 그룹 키 암호화부(114)에 전달하는 역할을 한다. 이때, 후보 키 집합(Candidate Key Set)은 다음과 같은 과정을 통해 생성할 수 있다.The group key encryption key generator 112 generates a candidate key set by using terminal list information having a right to receive a group key, thereby generating a group key encryption key, and generating a group key encryption key ( 114). In this case, a candidate key set may be generated through the following process.

첫째, 소정의 단말기(120)에 해당하는 리프노드와 리프노드의 형제노드가 모두 그룹 키를 받을 권리가 없는 경우, 해당 리프노드와 이에 대응하는 형제노드의 부모노드의 키를 후보 키 집합에 포함시킨다. 만약 부모노드의 형제노드에 대응하는 자식노드들 역시 그룹 키를 받을 권리가 없는 경우, 부모노드의 키를 후보 키 집합에 포함시키지 않고, 부모노드와 이의 형제노드의 부모노드의 키를 후보 키 집합에 포함시킨다.First, when both a leaf node corresponding to a predetermined terminal 120 and a sibling node of a leaf node do not have a right to receive a group key, the key of the leaf node and the parent node of the sibling node corresponding thereto is included in the candidate key set. Let's do it. If the child nodes corresponding to the parent node's sibling nodes also do not have the right to receive the group key, do not include the parent node's key in the candidate key set and use the parent node's and its sibling's parent node's key as the candidate key set. Include it in

즉, 도 4에 도시된 전 이진 트리에 따라 설명하면 다음과 같다. That is, the following description will be given according to the full binary tree shown in FIG.

리프노드 A와 이의 형제노드인 리프노드 B가 모두 그룹 키를 받을 권리가 없 는 경우, 리프노드 A와 이의 형제노드인 리프노드 B의 부모노드인 노드 3의 키를 후보 키 집합에 포함시키며, 만약 노드 3의 형제노드인 노드 4의 자식노드(리프노드 C 및 리프노드 D)들 역시 모두 그룹 키를 받을 권리가 없는 경우, 노드 3의 키와 노드 4의 키를 후보 키 집합에 포함시키지 않고, 노드 3과 노드 4의 부모노드인 노드 1의 키를 후보 키 집합에 포함시킨다. 이때, 리프노드 모두 그룹 키를 받을 권리가 없는 경우, 최상단 레벨인 루트노드의 키를 후보 키 집합에 포함시키지 않고, 루트노드를 제외한 노드 1의 키와 노드 2의 키를 후보 키 집합에 포함시킨다.If both leafnode A and its siblings, leafnode B, do not have the right to receive group keys, include the keys of leafnode A and its siblings, node 3, the parent nodes of leafnode B, in the candidate key set, If all of Node 3's siblings, Node 4's child nodes (Leafnode C and Leafnode D), are also not entitled to receive a group key, do not include Node 3's and Node 4's keys in the candidate key set. In addition, the key of node 1, which is the parent node of node 3 and node 4, is included in the candidate key set. In this case, when both leaf nodes do not have a right to receive the group key, the key of the node 1 and the node 2 except for the root node are included in the candidate key set without including the key of the root node at the highest level in the candidate key set. .

둘째, 소정의 단말기(120)에 해당하는 리프노드와 리프노드의 형제노드가 모두 그룹 키를 받을 권리가 있는 경우, 해당 리프노드와 이에 대응하는 형제노드의 부모노드의 키를 해싱한 값을 후보 키 집합에 포함시킨다. 만약 부모노드의 형제노드에 대응하는 자식노드들 역시 그룹 키를 받을 권리가 있는 경우, 부모노드의 키를 해싱한 값을 후보 키 집합에 포함시키지 않고, 부모노드와 이의 형제노드의 부모노드의 키를 해싱한 값을 후보 키 집합에 포함시킨다.Second, when a leaf node corresponding to a predetermined terminal 120 and a sibling node of a leaf node both have a right to receive a group key, the candidate hashes the key value of a key of the leaf node and a sibling node's parent node. Include in the key set. If the child nodes corresponding to the parent node's sibling nodes also have the right to receive the group key, do not include the hashed value of the parent node's key in the candidate key set, but the parent node's parent node's parent node's key. The hashed value is included in the candidate key set.

즉, 도 4에 도시된 전 이진 트리에 따라 설명하면 다음과 같다.That is, the following description will be given according to the full binary tree shown in FIG.

리프노드 E와 이의 형제노드인 리프노드 F가 모두 그룹 키를 받을 권리가 있는 경우, 리프노드 E와 이의 형제노드인 리프노드 F의 부모노드인 노드 5의 키를 해싱한 값을 후보 키 집합에 포함시키며, 만약 노드 5의 형제노드인 노드 6의 자식노드(리프노드 G 및 리프노드 H)들 역시 모두 그룹 키를 받을 권리가 있는 경우, 노드 5의 키를 해싱한 값과 노드 6의 키를 해싱한 값을 후보 키 집합에 포함시키지 않고, 노드 5와 노드 6의 부모노드인 노드 2의 키를 해싱한 값을 후보 키 집합에 포함시킨다. 이때, 리프노드 모두 그룹 키를 받을 권리가 있는 경우, 최상단 레벨인 루트노드의 키를 해싱한 값을 후보 키 집합에 포함시키지 않고, 루트노드를 제외한 노드 1의 키를 해싱한 값과 노드 2의 키를 해싱한 값을 후보 키 집합에 포함시킨다.If both leaf node E and its siblings, leaf node F, have the right to receive a group key, hashing the key of leaf node E and its siblings, node 5's parent node, node 5, to the candidate key set If all of the child nodes of node 6 (leaf node G and leaf node H), which are also nodes of node 5, are also entitled to receive the group key, the value of hashing node 5's key and node 6's key Instead of including the hashed value in the candidate key set, the hashed value of the key of node 2, which is the parent node of node 5 and node 6, is included in the candidate key set. At this time, if both leaf nodes have the right to receive the group key, the hashed key of node 1 except for the root node and the node 2 are not included in the candidate key set without hashing the root node's key. The hashed value of the key is included in the candidate key set.

셋째, 소정의 단말기(120)에 해당하는 리프노드는 그룹 키를 받을 권리가 있으나, 이의 형제노드는 그룹 키를 받을 권리가 없는 경우, 그룹 키를 받을 권리가 있는 리프노드의 키를 후보 키 집합에 포함시킨다. Third, if a leaf node corresponding to a predetermined terminal 120 has a right to receive a group key, but its sibling node does not have a right to receive a group key, a key of a leaf node having a right to receive a group key is set as a candidate key set. Include it in

즉, 도 4에 도시된 전 이진 트리에 따라 설명하면 다음과 같다.That is, the following description will be given according to the full binary tree shown in FIG.

리프노드 C는 그룹 키를 받을 권리가 있으나, 이의 형제노드인 리프노드 D는 그룹 키를 받을 권리가 없는 경우, 그룹 키를 받을 권리가 있는 리프노드 C의 키를 후보 키 집합에 포함시킨다. Leaf node C has the right to receive a group key, but if its sibling node leaf node D does not have the right to receive a group key, it includes the leaf node C's key to the group key in the candidate key set.

이때, 두 번째 과정에서 노드의 키를 해싱하는 해쉬함수는 공인된 SHA-1 또는 MD5 등의 알고리즘을 사용할 수 있다.At this time, the hash function for hashing the key of the node in the second process may use a recognized algorithm such as SHA-1 or MD5.

그룹 키 생성부(113)는 보호할 그룹 키를 랜덤하게 생성하는 역할을 하며, 소정의 시간 간격에 따라 주기적으로 그룹 키를 생성한다.The group key generator 113 randomly generates a group key to be protected and periodically generates a group key at a predetermined time interval.

그룹 키 암호화부(114)는 그룹 키 암호화 키 생성부(112)에서 전달된 그룹 키 암호화 키를 이용하여 생성된 그룹 키를 암호화하고 전송부(115)에 전달하는 역할을 한다.The group key encryption unit 114 encrypts the group key generated using the group key encryption key transmitted from the group key encryption key generation unit 112 and transmits the group key to the transmission unit 115.

전송부(115)는 암호화된 그룹 키와 그룹 키를 받을 수 있는 권리를 가진 단말기 리스트 정보와 그룹 관리부(111)에서 단말기(120)를 위해 생성한 여러 키 정 보를 단말기(120)에 전달하는 역할을 한다.The transmitting unit 115 transmits the terminal list information having the right to receive the encrypted group key and the group key and various key information generated for the terminal 120 by the group manager 111 to the terminal 120. Do it.

단말기(120)는 서버(110)로부터 전송받은 암호화된 그룹 키와 그룹 키를 받을 수 있는 권리를 가진 단말기 리스트 정보와 그룹 관리부(111)에서 단말기(120)를 위해 생성한 여러 키 정보를 수신하는 수신부(124)와 수신부(124)로부터 받은 구성원에 해당하는 리프노드의 키, 왼쪽 키, 오른쪽 키, 형제노드 집합(SNS : Sibling Node Set)에 속한 각 노드의 키 및 조상노드의 집합(ANS : Ancestor Node Set)에 속하는 각 노드의 키를 해싱한 키를 저장하는 키 저장부(121)를 포함하며, 수신부(124)로부터 전송받은 그룹 키를 받을 수 있는 권리를 가진 단말기 리스트 정보를 이용하여 후보 키 집합(Candidate Key Set)을 생성한 후 그룹 키 복호화 키를 생성하는 그룹 키 복호화 키 생성부(122) 포함한다. The terminal 120 receives the encrypted group key received from the server 110 and the terminal list information having the right to receive the group key and various key information generated for the terminal 120 by the group manager 111. A set of keys, ancestors, and ancestors of each node belonging to a leaf node corresponding to a member received from the receiver 124 and the receiver 124, a left key, a right key, and a sibling node set (SNS) (ANS: It includes a key storage unit 121 for storing a key hashed the key of each node belonging to an ancestor node set, and using the terminal list information having the right to receive the group key received from the receiving unit 124 candidate And a group key decryption key generation unit 122 for generating a group key decryption key after generating a key set.

또한, 단말기(120)는 그룹 키 복호화 키 생성부(122)에서 전달된 그룹 키 복호화 키를 이용하여 수신부(124)로부터 전달된 암호화 된 그룹 키를 복호화하여 그룹 키를 생성하는 그룹 키 복호화부(123)를 포함한다.In addition, the terminal 120 decrypts the encrypted group key transmitted from the receiver 124 using the group key decryption key transmitted from the group key decryption key generation unit 122 to generate a group key decryption unit ( 123).

도 2는 본 발명에 따른 그룹 키 관리를 위한 관리 키 집합 생성 흐름도이다. 도 2에 도시된 바와 같이, 하나 이상의 단말기를 포함하는 그룹을 생성하면(S210), 해당하는 그룹의 단말기를 리프노드로 하는 깊이(depth)가 Log2N인 전 이진 트리(Completely-Balanced Binary Tree)를 구성한다(S220). 예를 들어 N(그룹 내에 포함된 단말기의 수)이 256인 경우 전 이진 트리의 깊이는 8이 된다. 도 4에서는 N이 8이고, 전 이진 트리의 깊이는 3인 전 이진 트리를 보여준다2 is a flowchart illustrating a management key set generation for group key management according to the present invention. As shown in FIG. 2, when a group including one or more terminals is generated (S210), a fully binary balanced tree having a depth of Log 2 N having a terminal of a corresponding group as a leaf node is logged. (S220). For example, if N (the number of terminals included in the group) is 256, the depth of the entire binary tree is eight. 4 shows a full binary tree where N is 8 and the depth of the full binary tree is 3

해당하는 그룹의 트리를 생성한 이후, 루트노드부터 각 노드들의 자식 노드인 왼쪽 노드와 오른쪽 노드의 키를 생성하기 위한 키(각각 16 byte)인 왼쪽 키(Left Key) 및 오른쪽 키(Right Key)를 랜덤하게 생성한다(S230). 랜덤하게 생성된 왼쪽 키와 오른쪽 키는 반드시 기밀하지 않아도 되며, 각각의 그룹별로 왼쪽 키와 오른쪽 키를 구성하거나, 각각의 그룹이 동일한 왼쪽 키와 오른쪽 키를 구성할 수 있다.After creating the tree of the corresponding group, the left and right keys, which are the keys for generating keys of the left and right nodes, which are the child nodes of each node from the root node (16 bytes each), and the right key. Randomly generates (S230). The randomly generated left and right keys do not necessarily have to be confidential, and each group may constitute a left key and a right key, or each group may constitute the same left and right key.

왼쪽 키와 오른쪽 키를 생성한 이후, 왼쪽 키 또는 오른쪽 키를 사용하여 자식노드의 키를 생성하기 위한 루트노드의 키를 랜덤하게 생성한다(S240). 루트노드의 키 역시 랜덤하게 생성되며, 루트노드의 키는 단말기에게 전송되지 않으며, 안전하게 서버에 저장하고 있거나, 자식노드의 키가 생성된 이후 삭제가 가능하다.After generating the left key and the right key, a key of the root node for generating a key of the child node is randomly generated using the left key or the right key (S240). The root node's key is also randomly generated, and the root node's key is not transmitted to the terminal and can be safely stored in the server or deleted after the child node's key is generated.

루트노드의 키를 생성한 이후, 루트노드의 하위노드들의 키를 생성한다(S250). 하위노드들은 루트노드로부터 연결되는 자식노드들로서 전 이진 트리에서는 리프노드를 제외한 임의의 노드는 왼쪽 노드 및 오른쪽 노드의 자식노드를 갖는다. After generating the key of the root node, the keys of the lower nodes of the root node is generated (S250). The child nodes are child nodes connected from the root node. In the entire binary tree, any node except the leaf node has child nodes of the left node and the right node.

도 5에 도시된 바에 따라 하위노드들의 키를 생성하는 방법은 다음과 같다. As shown in FIG. 5, a method of generating keys of subnodes is as follows.

최초 노드의 i의 키 K(i)를 통해 하위노드의 키 K(j)K(k)를 생성하기 위해서는 이미 생성된 왼쪽 키인 Left _ Key와 오른쪽 키인 Right _ Key를 이용하며, 노드 i의 왼쪽 자식노드의 키인 K(j)는 상기의 [수학식 1]인 K(j) = H(K(i) XOR Left_Key)에 의해 생성한다.In order through the key K (i) of the i of the first node, generating a key K (j) and K (k) of the sub-nodes that have already been created left key, Left _ Key and the right key, using the Right _ Key, and the node i The key K (j) of the left child node is generated by K (j) = H (K (i) XOR Left_Key) , which is the above Equation 1.

이때, K(j)는 구하고자 하는 노드의 키로서, 부모노드의 왼쪽에 존재하는 노 드의 키이다. 또한, K(i)는 부모노드의 키이며, Left _ Key는 그룹에 속하는 왼쪽 노드의 키를 생성하기 위한 임의의 키이다. 이때, K(i)Left_KeyXOR(Exclusive Or)한 이후, H(해쉬함수)를 이용하여 해싱한다.In this case, K (j) is a key of a node to be obtained and is a key of a node existing to the left of the parent node. Further, K (i) is the key of the parent node, _ Left Key is any key for generating a key on the left of the node belonging to the group. In this case, K (i) and Left_Key are hashed using H (hash function) after XOR (Exclusive Or).

또한, 노드 i의 왼쪽 자식노드의 키인 K(k)는 상기의 [수학식 2]인 K(k) = H(K(i) XOR Right _ Key )에 의해 생성한다.Also, K (k), which is the key of the left child node of node i , is K (k) = H (K (i) XOR Right _ Key ) .

이때, K(k)는 구하고자 하는 노드의 키로서, 부모노드의 오른쪽에 존재하는 노드의 키이다. 또한 K(i)는 부모노드의 키이며, Right _ Key는 그룹에 속하는 오른쪽 노드의 키를 생성하기 위한 임의의 키이다. 이때, K(i)Right _ KeyXOR(Exclusive Or)한 이후, H(해쉬함수)를 이용하여 해싱한다.In this case, K (k) is a key of a node to be obtained and is a key of a node existing to the right of the parent node. In addition, K (i) is the key of the parent node, _ Right Key is any key for generating a key of the node belonging to the right group. In this case, K (i) and _ Right Key is hashed by using the after (Exclusive Or) XOR, H (hash function).

하나 이상의 단말기를 포함하는 그룹을 이용한 전 이진 트리에서 각 노드들의 키들은 그룹과 동일한 라이프 사이클(lifecycle)을 갖는다.The keys of each node in a full binary tree using a group containing one or more terminals have the same lifecycle as the group.

이후, 서버는 그룹 내에 포함된 단말기에게 필요한 키들의 집합인 사용자 관리 키 집합을 전송한다(S260). 리프노드 i에 해당하는 단말기에게 전달할 사용자 관리 키 집합은 리프노드 i의 키, SNS(i)를 구성하는 각 노드의 키, ANS(i)를 구성하는 각 노드의 키를 해싱한 값이다. 이때 ANS(i)는 리프노드 i에서 루트노드까지의 경로에 있는 노드들의 집합을 의미하며 이때 루트노드는 제외한다. SNS(i)는 리프노드 i의 조상노드들의 각 노드들에 대한 형제노드들의 집합을 의미하며 루트노드는 형제노드가 없으므로 SNS(i)에 포함되지 않는다. 도 4에 도시된 전 이진트리를 예를 들어 설명하면, 리프노드 8에 해당하는 단말기에게 전달하는 사용자 관리 키 집합은 리프노드 8에 해당하는 키인 K(8), SNS(8)을 구성하는 K(4), K(2), ANS(8)을 구성하는 각 노드의 키를 해싱한 H(K(3)), H(K(1))로 구성된다. Thereafter, the server transmits a user management key set, which is a set of keys required for a terminal included in the group (S260). The set of user management keys to be delivered to the terminal corresponding to the leaf node i is a hashed key of the leaf node i, the key of each node constituting the SNS (i), and the key of each node constituting the ANS (i). In this case, ANS (i) means a set of nodes in the path from leaf node i to the root node, except for the root node. SNS (i) means a set of sibling nodes for each node of the ancestor nodes of leaf node i. Since the root node has no sibling nodes, it is not included in SNS (i). For example, the entire binary tree illustrated in FIG. 4 will be described. A set of user management keys delivered to a terminal corresponding to leaf node 8 is K (8), which is a key corresponding to leaf node 8, and K constituting SNS (8). (4), H (K (3)) and H (K (1)) which hashed the key of each node which comprises K (2) and ANS (8).

도 3은 본 발명에 따른 그룹 키 전송 흐름도이다. 도 3에 도시된 바와 같이, 하나 이상의 단말기를 포함하는 그룹을 위한 그룹 키를 랜덤하게 생성한다(S310). 그룹 키는 서비스 복호화 키를 암호화하기 위해 생성한다.3 is a flowchart of group key transmission according to the present invention. As shown in FIG. 3, a group key for a group including one or more terminals is randomly generated (S310). The group key is generated to encrypt the service decryption key.

그룹 키가 생성된 이후, 그룹 내에 포함된 단말기 중에서 그룹 키를 수신할 권리가 있는 단말기를 식별한다(S320). 즉, 단말기로 전송되는 방송 서비스 중에서 유료 방송채널인 경우, 방송 시청이 가능한 사용자가 보유한 단말기에서만 해당 유료 방송채널을 시청할 수 있도록 방송 서비스를 서비스 암호화 키로 암호화하여 전송한다. 이때, 서비스 암호화 키의 안전을 위하여 그룹 키를 이용하여 서비스 암호화 키를 암호화하며, 그룹 키는 그룹 키 암호화 키로 암호화하고 단말기에서는 암호화된 그룹 키를 수신하고, 이미 수신을 완료한 관리 키 집합을 이용하여 그룹 키 복호화 키를 생성한다. 따라서, 해당 방송 서비스를 위한 그룹 키를 수신해야 하는 단말기를 식별하여야 한다. 이때, 단말기를 식별하는 방법은 단말기의 MDN(Mobile Directory Number), MIN(Mobile Identification Number), ESN(Electronic Serial Number), IMSI(International Mobile Subscriber Identity), MSN(Mobile Subscriber Number) 및 Serial 번호 중 어느 하나를 이용한다.After the group key is generated, the terminal having the right to receive the group key is identified from the terminals included in the group (S320). That is, in the case of paying broadcasting channels among the broadcasting services transmitted to the terminal, the broadcasting service is encrypted and transmitted with a service encryption key so that the paying broadcasting channel can be viewed only by the terminal possessed by the user who can watch the broadcasting. At this time, the service encryption key is encrypted using the group key for the security of the service encryption key, the group key is encrypted with the group key encryption key, and the terminal receives the encrypted group key and uses the already received management key set. To generate a group key decryption key. Therefore, it is necessary to identify the terminal that should receive the group key for the broadcast service. In this case, the method of identifying the terminal may be any one of a mobile directory number (MDN), a mobile identification number (MIN), an electronic serial number (ESN), an international mobile subscriber identity (IMSI), a mobile subscriber number (MSN), and a serial number of the terminal. Use one.

그룹 키를 수신할 단말기가 식별된 이후, 단말기로 전송되는 그룹 키를 암호화하기 위한 그룹 키 암호화 키를 생성한다(S330). 그룹 키 암호화 키는 그룹 키를 받을 수 있는 단말기들만 그룹 키 암호화 키를 구할 수 있도록 그룹 내에 포함된 노드들의 키 또는 노드들의 키를 해싱한 키들의 집합인 후보 키 집합(Candidate Key Set)을 이용하여 생성한다. 즉, 그룹 키 암호화 키는 후보 키 집합에 포함된 모든 키를 XOR한 후, 해싱한 값이다.After the terminal to receive the group key is identified, a group key encryption key for encrypting the group key transmitted to the terminal is generated (S330). The group key encryption key uses a candidate key set, which is a set of keys of nodes or keys hashed of nodes included in a group so that only terminals that can receive the group key can obtain the group key encryption key. Create That is, the group key encryption key is a hashed value after XORing all the keys included in the candidate key set.

후보 키 집합을 구성하는 키는 다음과 같은 방법에 의해 결정한다.The key constituting the candidate key set is determined by the following method.

첫째, 소정의 단말기에 해당하는 리프노드와 리프노드의 형제노드가 모두 그룹 키를 받을 권리가 없는 경우, 해당 리프노드와 이에 대응하는 형제노드의 부모노드의 키를 후보 키 집합에 포함시킨다. 만약 부모노드의 형제노드에 대응하는 자식노드들 역시 그룹 키를 받을 권리가 없는 경우, 부모노드의 키를 후보 키 집합에 포함시키지 않고 부모노드와 이의 형제노드의 부모노드의 키를 후보 키 집합에 포함시킨다.First, when both a leaf node corresponding to a predetermined terminal and a sibling node of a leaf node do not have a right to receive a group key, the key of the leaf node and the parent node of the sibling node corresponding thereto is included in the candidate key set. If the child nodes corresponding to the parent node's sibling nodes also do not have the right to receive the group key, do not include the parent node's key in the candidate key set, but instead insert the parent node's and its sibling's parent node's keys into the candidate key set. Include it.

즉, 도 4에 도시된 전 이진 트리에 따라 설명하면 다음과 같다. That is, the following description will be given according to the full binary tree shown in FIG.

리프노드 A와 이의 형제노드인 리프노드 B가 모두 그룹 키를 받을 권리가 없는 경우, 리프노드 A와 이의 형제노드인 리프노드 B의 부모노드인 노드 3의 키를 후보 키 집합에 포함시키며, 만약 노드 3의 형제노드인 노드 4의 자식노드(리프노드 C 및 리프노드 D)들 역시 모두 그룹 키를 받을 권리가 없는 경우, 노드 3의 키와 노드 4의 키를 후보 키 집합에 포함시키지 않고, 노드 3과 노드 4의 부모노드인 노드 1의 키를 후보 키 집합에 포함시킨다. 이때, 리프노드 모두 그룹 키를 받을 권리가 없는 경우, 최상단 레벨인 루트노드의 키를 후보 키 집합에 포함시키지 않고, 루트노드를 제외한 노드 1의 키와 노드 2의 키를 후보 키 집합에 포함시킨다.If both leaf node A and its siblings, leaf node B, are not entitled to receive the group key, include the key of node 3, the parent node of leaf node A and its siblings, leaf node B, in the candidate key set, If all of Node 3's siblings, Node 4's child nodes (leafnode C and leafnode D), are also not entitled to receive the group key, do not include Node 3's and Node 4's keys in the candidate key set, The key of node 1, which is the parent node of node 3 and node 4, is included in the candidate key set. In this case, when both leaf nodes do not have a right to receive the group key, the key of the node 1 and the node 2 except for the root node are included in the candidate key set without including the key of the root node at the highest level in the candidate key set. .

둘째, 소정의 단말기에 해당하는 리프노드와 리프노드의 형제노드가 모두 그룹 키를 받을 권리가 있는 경우, 해당 리프노드와 이에 대응하는 형제노드의 부모노드의 키를 해싱한 값을 후보 키 집합에 포함시킨다. 만약 부모노드의 형제노드에 대응하는 자식노드들 역시 그룹 키를 받을 권리가 있는 경우, 부모노드의 키를 해싱한 값을 후보 키 집합에 포함시키지 않고 부모노드와 이의 형제노드의 부모노드 의 키를 해싱한 값을 후보 키 집합에 포함시킨다.Second, if both a leaf node and a leaf node's sibling node have a right to receive a group key, the hashing key of the leaf node and the parent node of the corresponding sibling node is hashed to the candidate key set. Include it. If the child nodes corresponding to the parent node's sibling nodes also have the right to receive the group key, do not include the hashed value of the parent node's key in the candidate key set and use the parent node's and its sibling's parent node's keys. Include the hashed value in the candidate key set.

즉, 도 4에 도시된 전 이진 트리에 따라 설명하면 다음과 같다.That is, the following description will be given according to the full binary tree shown in FIG.

리프노드 E와 이의 형제노드인 리프노드 F가 모두 그룹 키를 받을 권리가 있는 경우, 리프노드 E와 이의 형제노드인 리프노드 F의 부모노드인 노드 5의 키를 해싱한 값을 후보 키 집합에 포함시키며, 만약 노드 5의 형제노드인 노드 6의 자식노드(리프노드 G 및 리프노드 H)들 역시 모두 그룹 키를 받을 권리가 있는 경우, 노드 5의 키를 해싱한 값과 노드 6의 키를 해싱한 값을 후보 키 집합에 포함시키지 않고, 노드 5와 노드 6의 부모노드인 노드 2의 키를 해싱한 값을 후보 키 집합에 포함시킨다. 이때, 리프노드 모두 그룹 키를 받을 권리가 있는 경우, 최상단 레벨인 루트노드의 키를 해싱한 값을 후보 키 집합에 포함시키지 않고, 루트노드를 제외한 노드 1의 키를 해싱한 값과 노드 2의 키를 해싱한 값을 후보 키 집합에 포함시킨다.If both leaf node E and its siblings, leaf node F, have the right to receive a group key, hashing the key of leaf node E and its siblings, node 5's parent node, node 5, to the candidate key set If all of the child nodes of node 6 (leaf node G and leaf node H), which are also nodes of node 5, are also entitled to receive the group key, the value of hashing node 5's key and node 6's key Instead of including the hashed value in the candidate key set, the hashed value of the key of node 2, which is the parent node of node 5 and node 6, is included in the candidate key set. At this time, if both leaf nodes have the right to receive the group key, the hashed key of node 1 except for the root node and the node 2 are not included in the candidate key set without hashing the root node's key. The hashed value of the key is included in the candidate key set.

셋째, 소정의 단말기에 해당하는 리프노드는 그룹 키를 받을 권리가 있으나, 이의 형제노드는 그룹 키를 받을 권리가 없는 경우, 그룹 키를 받을 권리가 있는 리프노드의 키를 후보 키 집합에 포함시킨다. Third, if a leaf node corresponding to a predetermined terminal has a right to receive a group key, but its sibling node does not have a right to receive a group key, the leaf node having the right to receive a group key is included in the candidate key set. .

즉, 도 4에 도시된 전 이진 트리에 따라 설명하면 다음과 같다.That is, the following description will be given according to the full binary tree shown in FIG.

리프노드 C는 그룹 키를 받을 권리가 있으나, 이의 형제노드인 리프노드 D는 그룹 키를 받을 권리가 없는 경우, 그룹 키를 받을 권리가 있는 리프노드 C의 키를 후보 키 집합에 포함시킨다.Leaf node C has the right to receive a group key, but if its sibling node leaf node D does not have the right to receive a group key, it includes the leaf node C's key to the group key in the candidate key set.

그룹 키 암호화 키가 생성된 이후, 그룹 키를 그룹 키 암호화 키로 암호화하 고(S340), 그룹 키를 수신해야 하는 단말기 정보와 암호화된 그룹 키를 단말기로 전송한다(S350).After the group key encryption key is generated, the group key is encrypted with the group key encryption key (S340), and the terminal information and the encrypted group key to receive the group key are transmitted to the terminal (S350).

또한, 본 발명의 다른 실시예로서, 그룹 키를 별도로 생성하지 않고 그룹 키 암호화 키를 이용하여 서비스 복호화 키를 암호화할 수 있다.In addition, as another embodiment of the present invention, the service decryption key may be encrypted using the group key encryption key without separately generating the group key.

도 6은 본 발명에 따른 암호화된 그룹 키를 복호화하기 위한 흐름도이다. 도 6에 도시된 바와 같이, 단말기는 서버로부터 전송받은 그룹 키를 받을 수 있는 권리를 가진 단말기 정보를 이용하여 후보 키 집합을 생성한다(S410). 후보 키 집합의 생성은 도 3에서 설명한 바와 같은 방법으로 구성되며, 생성된 후보 키 집합을 사용하여 그룹 키 암호화 키를 생성하고(S420), 생성된 그룹 키 암호화 키를 이용하여 암호화된 그룹 키를 복호화한다(S430).6 is a flowchart for decrypting an encrypted group key according to the present invention. As shown in FIG. 6, the terminal generates a candidate key set using terminal information having a right to receive a group key received from the server (S410). Generation of the candidate key set is configured in the same manner as described in FIG. 3, and generates a group key encryption key using the generated candidate key set (S420), and generates a group key encrypted using the generated group key encryption key. Decode (S430).

본 발명은 이상에서 살펴본 바와 같이 바람직한 실시예를 들어 도시하고 설명하였으나, 상기한 실시예에 한정되지 아니하며 본 발명의 정신을 벗어나지 않는 범위 내에서 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변경과 수정이 가능할 것이다.Although the present invention has been shown and described with reference to the preferred embodiments as described above, it is not limited to the above embodiments and those skilled in the art without departing from the spirit of the present invention. Various changes and modifications will be possible.

따라서, 본 발명은 종래 기술의 문제점을 해결하기 위한 것으로, 브로드캐스트 채널을 통해서 유료 방송 서비스를 복호화하여 서비스를 제공받을 수 있는 서비스 암호화 키를 전송함에 있어서, 실시간 키 분산 공격(real-time key distribution attack) 등의 키 노출 공격을 방지하기 위해 서비스 암호화 키를 짧 은 시간 동안 주기적으로 변경해야 하는데 이러한 서비스 암호화 키의 변경에 따라 서비스 암호화 키를 각 단말기로 전송할 때 발생되는 전송 대역폭의 낭비를 줄일 수 있는 효과가 있다.Accordingly, the present invention is to solve the problems of the prior art, real-time key distribution in transmitting a service encryption key that can receive the service by decrypting the pay-TV service through the broadcast channel (real-time key distribution) To prevent key exposure attacks such as attacks, the service encryption key should be changed periodically for a short time. The change of the service encryption key can reduce the waste of transmission bandwidth incurred when transmitting the service encryption key to each terminal. It has an effect.

또한, 브로드캐스트 채널을 통해서 유료 방송 서비스를 복호화하여 서비스를 제공받을 수 있는 서비스 암호화 키를 단말기로 전송함에 있어서, 가입자들을 그룹으로 분할하고 해당되는 그룹 내에 속한 단말기 중에서 서비스 암호화 키를 수신해야 하는 단말기들을 선별하되 그룹당 오직 하나의 메시지를 통해 서비스 암호화 키를 전송할 수 있어 보다 적은 전송 대역폭으로 서비스 암호화 키를 수신해야 하는 단말기에게만 서비스 암호화 키를 전송할 수 있는 효과가 있다.In addition, in transmitting a service encryption key capable of receiving a service by decrypting a paying broadcast service through a broadcast channel, the terminal needs to divide the subscribers into groups and receive the service encryption key among terminals belonging to the group. Although the service encryption key can be transmitted through only one message per group, the service encryption key can be transmitted only to a terminal that needs to receive the service encryption key with less transmission bandwidth.

Claims (20)

그룹 키 관리를 위한 관리 키 집합을 생성하는 방법에 있어서, In the method for generating a management key set for group key management, 그룹 내에 포함된 단말기들을 리프노드로 하는 전 이진 트리를 생성하는 제1단계;Generating a full binary tree including leaf nodes as terminals in a group; 상기 전 이진 트리의 자식노드들을 위한 왼쪽 키 및 오른쪽 키를 생성하는 제2단계;Generating a left key and a right key for child nodes of the full binary tree; 상기 전 이진 트리의 루트노드 키를 생성하는 제3단계;Generating a root node key of the full binary tree; 상기 루트노드를 제외한 노드들의 키를 생성하는 제4단계; 및Generating a key of nodes excluding the root node; And 상기 그룹 내에 포함된 각각의 단말기에 대응하는 사용자 관리 키 집합을 전송하는 제5단계A fifth step of transmitting a user management key set corresponding to each terminal included in the group; 를 포함하는 브로드캐스트 환경에서의 그룹 키 전송방법.Group key transmission method in a broadcast environment comprising a. 제 1 항에 있어서, The method of claim 1, 상기 그룹은 하나 이상으로 이루어져 있으며, 상기 그룹이 복수일 경우, 상기 왼쪽 키 및 오른쪽 키는 각각의 그룹에 대해서 동일하거나 동일하지 않은 것을 특징으로 하는 브로드캐스트 환경에서의 그룹 키 전송방법.The group is composed of one or more, and if there are a plurality of groups, the left key and the right key is the same or not the same for each group group key transmission method in a broadcast environment. 제 1 항에 있어서, The method of claim 1, 상기 루트노드 키 및 상기 제4단계에서 생성한 상기 노드들의 키는 상기 그룹과 동일한 라이프 사이클을 갖는 것을 특징으로 하는 브로드캐스트 환경에서의 그룹 키 전송방법.And the root node key and the keys of the nodes generated in the fourth step have the same life cycle as the group. 제 3 항에 있어서, The method of claim 3, wherein 상기 제4단계에서 상기 루트노드를 제외한 노드들 중에서 해당 부모노드로부터 왼쪽에 있는 노드의 키는 하기의 수학식에 의해 생성하는 브로드캐스트 환경에서의 그룹 키 전송방법.In the fourth step, the key of the node left of the parent node among the nodes other than the root node is generated by the following equation. 수학식 : K(j) = H(K(i) XOR Left_Key)Equation: K (j) = H (K (i) XOR Left_Key) 여기서, K(j)는 해당하는 노드의 키(부모노드로부터 왼쪽에 위치), H는 해쉬함수, K(i)는 부모노드의 키.Where K (j) is the key of the corresponding node (located to the left of the parent node), H is the hash function, and K (i) is the key of the parent node. 제 3 항에 있어서, The method of claim 3, wherein 상기 제4단계에서 상기 루트노드를 제외한 노드들 중에서 해당 부모노드로부터 오른쪽에 있는 노드의 키는 하기의 수학식에 의해 생성하는 브로드캐스트 환경에서의 그룹 키 전송방법.In the fourth step, the key of the node on the right side from the parent node among the nodes other than the root node is generated by the following equation. 수학식 : K(k) = H(K(i) XOR Right_Key)Equation: K (k) = H (K (i) XOR Right_Key) 여기서, K(k)는 해당하는 노드의 키(부모노드로부터 오른쪽에 위치), H는 해쉬함수, K(i)는 부모노드의 키.Where K (k) is the key of the node (to the right of the parent node), H is the hash function, and K (i) is the key of the parent node. 제 1 항에 있어서, 상기 제5단계의 사용자 관리 키 집합은 The method of claim 1, wherein the user management key set of the fifth step is 상기 이진트리의 왼쪽 키;Left key of the binary tree; 상기 이진트리의 오른쪽 키;Right key of the binary tree; 상기 단말기에 대응하는 리프노드의 키;A key of a leaf node corresponding to the terminal; 상기 단말기에 대응하는 조상노드의 각 형제노드 키의 집합; 및 A set of sibling node keys of an ancestor node corresponding to the terminal; And 상기 단말기에 대응하는 해쉬된 조상노드 키의 집합A set of hashed ancestor node keys corresponding to the terminal 을 포함하는 브로드캐스트 환경에서의 그룹 키 전송방법.Group key transmission method in a broadcast environment comprising a. 제 6 항에 있어서, The method of claim 6, 상기 그룹 내에 해당하는 단말기들 각각의 사용자 관리 키 집합을 하나의 메시지에 포함하여 전송하는 브로드캐스트 환경에서의 그룹 키 전송방법.Group key transmission method in a broadcast environment for transmitting a user management key set of each of the terminals in the group in one message. 그룹 키 전송 방법에 있어서,In the group key transmission method, 상기 그룹 키를 생성하는 제1단계;A first step of generating the group key; 상기 그룹 내에서 상기 그룹 키를 수신해야 하는 단말기를 식별하는 제2단계;A second step of identifying a terminal to receive the group key in the group; 상기 그룹 키를 암호화하기 위한 그룹 키 암호화 키를 생성하는 제3단계;Generating a group key encryption key for encrypting the group key; 상기 그룹 키 암호화 키를 이용하여 상기 그룹 키를 암호화하는 제4단계; 및Encrypting the group key using the group key encryption key; And 상기 제2단계에서 식별된 단말기 정보와 상기 제4단계의 암호화된 그룹 키를 전송하는 제5단계A fifth step of transmitting the terminal information identified in the second step and the encrypted group key of the fourth step; 를 포함하는 브로드캐스트 환경에서의 그룹 키 전송방법.Group key transmission method in a broadcast environment comprising a. 제 8 항에 있어서,The method of claim 8, 상기 그룹 키는 소정의 주기마다 임의적으로 생성하는 것을 특징으로 하는 브로드캐스트 환경에서의 그룹 키 전송방법.And generating the group key randomly at predetermined intervals. 제 8 항에 있어서, The method of claim 8, 상기 그룹 키 암호화 키는 상기 단말기들에 대응하는 리프노드들의 선택된 키들의 집합인 후보 키 집합에 포함된 키들의 배타적 논리합을 수행한 이후, 해싱된 값을 사용하는 브로드캐스트 환경에서의 그룹 키 전송방법.The group key encryption key is a group key transmission method in a broadcast environment that uses a hashed value after performing an exclusive OR of keys included in a candidate key set which is a set of selected keys of leaf nodes corresponding to the terminals. . 제 10 항에 있어서, 상기 그룹 키 암호화 키는The method of claim 10, wherein the group key encryption key is 상기 단말기에 대응하는 소정의 리프노드와 상기 리프노드의 형제노드가 그룹 키를 받지 않는 제1과정;A first step in which a predetermined leaf node corresponding to the terminal and a sibling node of the leaf node do not receive a group key; 상기 단말기에 대응하는 소정의 리프노드와 상기 리프노드의 형제노드가 그룹 키를 받는 제2과정; 및A second step of receiving a group key from a predetermined leaf node corresponding to the terminal and a sibling node of the leaf node; And 상기 단말기에 대응하는 소정의 리프노드는 그룹 키를 받고, 상기 리프노드의 형제노드는 그룹 키를 받지 않는 제3과정A third process in which a predetermined leaf node corresponding to the terminal receives a group key and a sibling node of the leaf node does not receive a group key 을 통해 생성하는 브로드캐스트 환경에서의 그룹 키 전송방법.Group key transmission method in the broadcast environment generated by the. 제 11 항에 있어서, 상기 제1과정은 The method of claim 11, wherein the first process is 상기 리프노드와 상기 리프노드의 형제노드에 대응하는 제1부모노드의 키를 상기 후보 키 집합에 포함시키는 브로드캐스트 환경에서의 그룹 키 전송방법.And a key of a first parent node corresponding to the leaf node and a sibling node of the leaf node in the candidate key set. 제 11 항에 있어서, 상기 제2과정은The method of claim 11, wherein the second process is 상기 리프노드와 상기 리프노드의 형제노드에 대응하는 제1부모노드의 키를 해싱한 값을 상기 후보 키 집합에 포함시키는 브로드캐스트 환경에서의 그룹 키 전송방법.And a value obtained by hashing a key of the leaf node and a first parent node corresponding to the leaf node's sibling node in the candidate key set. 제 11 항에 있어서, 상기 제3과정은The method of claim 11, wherein the third process is 상기 리프노드의 키를 상기 후보 키 집합에 포함시키는 브로드캐스트 환경에서의 그룹 키 전송방법.And transmitting the key of the leaf node to the candidate key set. 제 12 항에 있어서, The method of claim 12, 상기 제1부모노드의 형제노드에 포함된 자식노드들 모두 그룹 키를 받지 않는 경우, 상기 제1부모노드와 상기 제1부모노드의 형제노드에 대응하는 제2부모노드의 키를 상기 후보 키 집합에 포함하는 브로드캐스트 환경에서의 그룹 키 전송방법.If neither of the child nodes included in the sibling node of the first parent node receives a group key, the key of the candidate key set is a key of the second parent node corresponding to the sibling node of the first parent node and the first parent node. Group key transmission method in a broadcast environment included in the. 제 15 항에 있어서, The method of claim 15, 상기 제2부모노드가 루트노드일 경우, 상기 제1부모노드의 키와 상기 제1부모노드의 형제노드의 키를 상기 후보 키 집합에 포함하는 브로드캐스트 환경에서의 그룹 키 전송방법.And a key of the first parent node and a key of a sibling node of the first parent node in the candidate key set when the second parent node is a root node. 제 15 항에 있어서, The method of claim 15, 상기 제1부모노드의 형제노드에 포함된 자식노드들 모두 그룹 키를 받는 경우, 상기 제1부모노드와 상기 제1부모노드의 형제노드에 대응하는 제2부모노드의 키를 해싱한 값을 상기 후보 키 집합에 포함하는 브로드캐스트 환경에서의 그룹 키 전송방법.When all of the child nodes included in the sibling node of the first parent node receive a group key, a value obtained by hashing a key of a key of the second parent node corresponding to the sibling node of the first parent node and the first parent node is used. A method of transmitting a group key in a broadcast environment included in a candidate key set. 제 17 항에 있어서,The method of claim 17, 상기 제2부모노드가 루트노드일 경우, 상기 제1부모노드의 키를 해싱한 값과 상기 제1부모노드의 형제노드의 키를 해싱한 값을 상기 후보 키 집합에 포함하는 브로드캐스트 환경에서의 그룹 키 전송방법.If the second parent node is a root node, the candidate key set includes a hashed key of the first parent node and a hashed key of the sibling node of the first parent node in the candidate key set. How to send group key. 단말기가 수신한 그룹 키를 복호화하기 위한 브로드캐스트 환경의 그룹 키 전송방법에 있어서,In the group key transmission method of the broadcast environment for decrypting the group key received by the terminal, 서버에서 전송된 사용자 관리 키 집합 및 단말기 정보를 이용하여 후보 키 집합을 생성하는 제1단계;Generating a candidate key set using the user management key set and the terminal information transmitted from the server; 상기 후보 키 집합에서 그룹 키 암호화 키를 생성하는 제2단계; 및 Generating a group key encryption key from the candidate key set; And 상기 그룹 키 암호화 키를 이용하여 암호화된 그룹 키를 복호화하는 제3단계A third step of decrypting the group key encrypted using the group key encryption key 를 포함하며, 상기 단말기 정보는 상기 그룹 키를 받기 위해 상기 단말기를 식별할 수 있는 정보인 브로드캐스트 환경에서 그룹 키 전송방법.And wherein the terminal information is information for identifying the terminal to receive the group key. 제 19 항에 있어서, 상기 사용자 관리 키 집합은 20. The method of claim 19, wherein the user management key set is 상기 서버에서 생성한 이진트리의 왼쪽 키;Left key of the binary tree generated by the server; 상기 서버에서 생성한 이진트리의 오른쪽 키;A right key of the binary tree created by the server; 상기 단말기에 대응하는 리프노드의 키;A key of a leaf node corresponding to the terminal; 상기 단말기에 대응하는 조상노드의 각 형제노드 키의 집합; 및 A set of sibling node keys of an ancestor node corresponding to the terminal; And 상기 단말기에 대응하는 해쉬된 조상노드 키의 집합A set of hashed ancestor node keys corresponding to the terminal 을 포함하는 브로드캐스트 환경에서 그룹 키 전송방법.Group key transmission method in a broadcast environment comprising a.
KR1020060118669A 2006-10-20 2006-11-29 A group key transmitting method in broadcasting environment KR100729527B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060102424 2006-10-20
KR20060102424 2006-10-20

Publications (1)

Publication Number Publication Date
KR100729527B1 true KR100729527B1 (en) 2007-06-18

Family

ID=38372635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060118669A KR100729527B1 (en) 2006-10-20 2006-11-29 A group key transmitting method in broadcasting environment

Country Status (1)

Country Link
KR (1) KR100729527B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180010001A (en) * 2016-07-20 2018-01-30 주식회사 케이티 Apparatus and method for security group communication

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060079491A (en) * 2004-12-31 2006-07-06 삼성전자주식회사 Method for broadcast encryption based on the combination

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060079491A (en) * 2004-12-31 2006-07-06 삼성전자주식회사 Method for broadcast encryption based on the combination

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180010001A (en) * 2016-07-20 2018-01-30 주식회사 케이티 Apparatus and method for security group communication
KR102601748B1 (en) * 2016-07-20 2023-11-10 주식회사 케이티 Apparatus and method for security group communication

Similar Documents

Publication Publication Date Title
CN110335043B (en) Transaction privacy protection method, device and system based on blockchain system
EP1109351B1 (en) Cryptographic key management
EP0641103A2 (en) Method and apparatus for key distribution in a selective braodcasting system
KR101052940B1 (en) Methods and Systems for Blackout Regulation in a Distribution Network
US8532298B2 (en) Encryption key distribution method in mobile broadcasting system, and system for the same
Basuki et al. Joint transaction-image steganography for high capacity covert communication
HU225077B1 (en) Method and apparatus for providing for the recovery of a cryptographic key
EP2288072B1 (en) Encryption key distribution method in mobile broadcasting system and system for the same
Kogan et al. A practical revocation scheme for broadcast encryption using smartcards
KR101805602B1 (en) Method for managing encryption key for broadcasting service
CN105809046A (en) Efficient encryption method and system of data
CN109754226B (en) Data management method, device and storage medium
CN103081493B (en) For the protection of the system and method for the advertisement selection of privacy
CN101150395A (en) A L4 encryption method of double group of encrypted authorization management system
CN111181944B (en) Communication system, information distribution method, device, medium, and apparatus
CN115277094A (en) Block chain-based communication method, terminal, system and storage medium
EP2892206B1 (en) System and method for push framework security
Chaeikar et al. Secure SMS transmission based on social network messages
CN113205399A (en) Electronic bidding method, bidding node, first bidding node and third party node
KR100729527B1 (en) A group key transmitting method in broadcasting environment
CN101204037A (en) System and method for efficient encryption and decryption of drm rights objects
Roth et al. A secure submission system for online whistleblowing platforms
CN114510734B (en) Data access control method, device and computer readable storage medium
US9571468B2 (en) Encoding data using a variable number of pixels and bits based on entropy
CN112699391A (en) Target data sending method and privacy computing platform

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130523

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140522

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150521

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170602

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181102

Year of fee payment: 12