KR100701884B1 - Method of managing a key of user for broadcast encryption - Google Patents

Method of managing a key of user for broadcast encryption Download PDF

Info

Publication number
KR100701884B1
KR100701884B1 KR1020050059182A KR20050059182A KR100701884B1 KR 100701884 B1 KR100701884 B1 KR 100701884B1 KR 1020050059182 A KR1020050059182 A KR 1020050059182A KR 20050059182 A KR20050059182 A KR 20050059182A KR 100701884 B1 KR100701884 B1 KR 100701884B1
Authority
KR
South Korea
Prior art keywords
node
subgroup
nodes
key
assigned
Prior art date
Application number
KR1020050059182A
Other languages
Korean (ko)
Other versions
KR20060079065A (en
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 US11/285,296 priority Critical patent/US8054973B2/en
Publication of KR20060079065A publication Critical patent/KR20060079065A/en
Application granted granted Critical
Publication of KR100701884B1 publication Critical patent/KR100701884B1/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

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

Abstract

본 발명은 브로드캐스트 암호화에 관한 것으로서, 서비스를 제공받는 노드엣서 세션키를 복호화하기 위한 암호화키를 적은 연산량으로 획득하는 방안을 제안한다. 이를 위해 복수 개의 노드들 중 적어도 하나의 노드로 구성된 복수 개의 서브그룹들을 생성하고, 생성한 서브그룹들을 구성하고 있는 노드의 개수에 따라 계층을 형성한다. 각 서브그룹들에 대해 중첩되지 않게 소수를 할당하고, 상위 계층의 서브그룹과 상기 상위계층의 서브그룹을 구성하고 있는 노드를 포함하고 있는 하위계층의 서브그룹을 연결한다. 각 서브그룹별로 자신의 상위계층의 서브그룹이 할당받은 소수와 자신과 연결되어 있지 않은 동일한 계층, 하위 계층의 서브그룹이 할당받은 소수를 재할당받고, 재할당받은 소수들로 이루어진 암호화키를 할당받음으로서 각 노드는 적은 연산량으로 세션키를 획득할 수 있다.The present invention relates to broadcast encryption, and proposes a method for acquiring an encryption key for decrypting a session key at a node receiving a service with a small amount of computation. To this end, a plurality of subgroups composed of at least one node among a plurality of nodes are generated, and a hierarchy is formed according to the number of nodes constituting the generated subgroups. A decimal number is allocated to each subgroup so as not to overlap, and a subgroup of a lower layer including a node constituting a subgroup of an upper layer and a subgroup of the upper layer is connected. Each subgroup is reassigned a minority assigned to a subgroup of its upper hierarchy, a decimal number assigned to a subgroup of the same hierarchy and a lower hierarchy that is not associated with itself, and an encryption key composed of the reallocated prime numbers. By receiving, each node can obtain a session key with a small amount of computation.

브로드캐스트 암호화(BE), 세션키, 계층 구조, 소수 Broadcast encryption (BE), session key, hierarchy, decimal

Description

브로드캐스트 암호화를 위한 사용자 키 관리 방법{METHOD OF MANAGING A KEY OF USER FOR BROADCAST ENCRYPTION}How to manage user keys for broadcast encryption {METHOD OF MANAGING A KEY OF USER FOR BROADCAST ENCRYPTION}

도 1은 일반적인 브로드캐스트 암호화에 의한 데이터 전송 시스템의 네트워크 구조를 나타낸 도면,1 is a diagram illustrating a network structure of a data transmission system using general broadcast encryption;

도 2는 종래의 트리 구조로 키를 할당하는 브로드캐스트 암호화의 개념을 나타낸 도면,2 illustrates a concept of broadcast encryption for allocating keys in a conventional tree structure;

도 3은 본 발명의 일 실시예에 따른 트리 구조로 키를 할당하는 브로드캐스트 암호화의 개념을 나타낸 도면,3 illustrates a concept of broadcast encryption for allocating keys in a tree structure according to an embodiment of the present invention;

도 4는 그룹을 구성하고 있는 노드들과 노드들로 구성된 서브그룹들을 상호 연결한 도면,FIG. 4 is a diagram interconnecting nodes constituting a group and subgroups consisting of nodes;

도 5는 4개의 노드들이 하나의 그룹을 형성할 경우, 노드들과 서브그룹들을 상호 연결한 도면,FIG. 5 is a diagram in which nodes and subgroups are interconnected when four nodes form a group; FIG.

도 6은 4개의 노드들이 하나의 그룹을 형성할 경우, 서브그룹들을 계층별로 분리한 도면, FIG. 6 is a diagram illustrating subgroups separated by layers when four nodes form a group; FIG.

도 7은 4개의 노드들이 하나의 그룹을 형성할 경우,서브그룹들을 계층별로 분리한 다른 도면,FIG. 7 illustrates another diagram in which subgroups are separated by layers when four nodes form a group; FIG.

도 8은 하나의 계층을 형성하고 있는 서브그룹들을 분리한 도면, 8 is a diagram illustrating subgroups forming one layer;

도 9는 하나의 계층을 형성하고 있는 서브그룹들을 분리한 다른 도면이다.FIG. 9 is another diagram illustrating subgroups forming one layer. FIG.

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

100 : 컨텐츠 생산자 110 : 서비스 제공자100: content producer 110: service provider

120 : 위성 130 : 인터넷 네트워크120: satellite 130: Internet network

140 : 네트워크 141 : 셋톱박스140: network 141: set-top box

142 : 이동통신 단말기 150 : 스마트 홈 네트워크142: mobile communication terminal 150: smart home network

151, 152, 153, 154, 155 : 단말기 160 : 불법 사용자151, 152, 153, 154, 155: terminal 160: illegal user

본 발명은 브로드캐스트 암호화 방법에 관한 것으로, 더욱 상세하게는 브로드캐스트 암호화를 위한 효율적인 사용자 키 관리 방법에 관한 것이다.The present invention relates to a broadcast encryption method, and more particularly to an efficient user key management method for broadcast encryption.

브로드캐스트 암호화(Broadcast Encryption; 이하, 'BE'라 한다.)는 전체 사용자들 중에서 송신자(즉, 방송 센터(Broadcast Center))가 원하는 사용자들에게만 정보를 효과적으로 전달하는 방법으로서, 정보를 받을 사용자(user)들의 집합이 임의적이고 동적으로 변화하는 경우에 효과적으로 사용될 수 있어야 한다. BE에서의 가장 중요한 성질은 원치 않는 사용자(예컨대, 불법 사용자 또는 기간이 만료된 사용자)의 배제(revocation) 또는 제외이다.Broadcast encryption (hereinafter, referred to as 'BE') is a method of effectively transmitting information only to users who are desired by a sender (ie, a broadcast center) among all users. It must be able to be used effectively when the set of users is arbitrarily and dynamically changing. The most important property in a BE is the revocation or exclusion of unwanted users (eg, illegal users or expired users).

도 1은 일반적인 브로드캐스트 암호화에 의한 데이터 전송 시스템의 네트워크 구조를 나타낸 도면이다. 도 1을 참조하면, 컨텐츠 생산자(100)는 오디오 또는 비디오 데이터를 비롯한 각종 유용한 데이터를 생산하며, 생산된 데이터를 서비스 제공자(110)에게 제공한다. 서비스 제공자(110)는 컨텐츠 생산자(100)로부터 제공받은 데이터를 각종 유무선 통신 네트워크를 통해 해당 데이터에 대한 비용을 지불한 정당한 사용자들(예컨대, 모바일 DRM(Digital Right Management) 네트워크(140), 스마트홈 DRM 네트워크(150))에게 브로드캐스팅(broadcasting)하게 된다.1 is a diagram illustrating a network structure of a data transmission system using general broadcast encryption. Referring to FIG. 1, the content producer 100 produces various useful data including audio or video data, and provides the produced data to the service provider 110. The service provider 110 may allow legitimate users (eg, mobile digital rights management (DRM) network 140, smart home, etc.) to pay for data corresponding to the data provided from the content producer 100 through various wired and wireless communication networks. The DRM network 150 is broadcasted.

즉, 서비스 제공자(110)는 위성(120)을 통해 각종 위성 수신기가 구비된 셋톱박스(set-top box; 141)와 같은 사용자들의 장치로 데이터를 전송할 수 있으며, 이동통신 망을 통해 이동통신 단말기(142)로도 전송할 수 있다. 또한, 인터넷 네트워크(130)를 통해 스마트 홈 네트워크(150)의 각종 단말기들(150, 151, 152, 153, 154, 155)로 전송할 수 있다.That is, the service provider 110 may transmit data to a device of users such as a set-top box 141 equipped with various satellite receivers through the satellite 120, and may transmit data through a mobile communication network. 142 can also be sent. In addition, the terminal 130 may transmit to various terminals 150, 151, 152, 153, 154, and 155 of the smart home network 150 through the internet network 130.

한편, 이때 해당 데이터에 대한 정당한 비용을 지불하지 않은 불법 사용자(160)가 데이터를 이용하지 못하도록 하기 위하여 브로드캐스트 암호화(Broadcast Encryption; BE)에 의해 데이터를 암호화하게 된다.In this case, the data is encrypted by broadcast encryption (BE) in order to prevent the illegal user 160 who does not pay a fair fee for the data from using the data.

이러한 암호화 및 복호화 시스템에서의 안전성은 대개 암호화 키를 관리하는 시스템에 달려있다. 그리고 이러한 암호화 키 관리 시스템에서 가장 중요한 것은 암호화 키를 어떻게 생성(Key Derivation)하는 가이다. 아울러, 생성된 암호화 키를 관리(Key Management)하고, 갱신(Key Update)하는 것 또한 중요하다.The security of such an encryption and decryption system usually depends on the system that manages the encryption key. The most important thing in such an encryption key management system is how to generate an encryption key. In addition, it is also important to manage and update the generated encryption key (Key Update).

1991년 BE의 개념이 처음 제안된 이후로 많은 변화를 거쳐왔으며, 현재의 BE는 지배되지 않는 수신자(stateless receiver)를 가정한다. 이 개념은 세션(session)이 바뀜에 따라서 각각의 사용자들의 비밀키가 전혀 바뀌거나 갱신되지 않는다는 것을 의미한다. 이때, 안전성에 있어서는 'k-복구(k-resilient)'라는 용어를 사용하는데, 이것은 제외된 사용자들 중 k명이 공모 공격을 하여도 정보를 복구해내지 못하는 것을 의미한다. 대개 r은 제외된 사용자의 숫자를 나타내므로, 'r-복구(r-resilient)'는 제외된 사용자 전부가 모여서 공모 공격을 하여도 안전하다는 것을 의미한다.Since the concept of BE was first proposed in 1991, many changes have been made, and the current BE assumes a stateless receiver. This concept means that each session's private key is never changed or updated as the session changes. In this case, the term 'k-resilient' is used in terms of safety, which means that the k-resilient user cannot recover information even if a public attack is performed by k users. Since r usually represents the number of excluded users, 'r-resilient' means that all excluded users are safe to collaborate.

한편, BE에서는 전송량(transmission overhead), 저장량(storage overhead), 계산량(computation overhead)을 중요시하는데, 각각 전송측에서 전송해야 하는 헤더(header)의 양, 사용자가 저장해야 하는 비밀키의 양 및 사용자가 세션(session) 키를 얻기 위해 필요한 계산의 양을 의미한다. 이 중에서도 특히 전송량을 줄이는 것이 큰 과제라고 할 수 있다. 전송량은 초기에 전체 사용자의 수인 N 값에 비례하던 것이 현재는 주로 제외된 사용자의 수인 r에 비례하는 것으로 줄어들었다. 전송량이 r에 비례하는 기술(scheme)들이 나오면서 전송량을 r 미만으로 줄이는 것이 BE에서의 큰 과제가 되었다.On the other hand, in BE, transmission overhead, storage overhead, and computation overhead are important, respectively, the amount of headers to be transmitted by the transmitting side, the amount of secret keys that the user must store, and the user. Means the amount of computation needed to obtain the session key. Among these, reducing the amount of transmission is a major problem. The amount of transmission initially decreased from the value of N, the total number of users, to the value of r, the number of users that are currently excluded. Reducing the transmission to less than r has become a big challenge for BE as technologies emerge that are proportional to r.

이러한 BE 문제에 기반하여 현재까지 발표된 결과 중에서, 'Naor-Naor-Lotspiech'에 의해서 발표된 'Subset Difference(SD) Method'이 가장 좋은 결과를 보이고 있다. SD 방법에서는 전체 사용자가 n 명일 경우에, O(log1+en)의 저장량과 O(2r-1)의 전송량을 필요로 한다.Based on these BE problems, the 'Subset Difference (SD) Method' published by 'Naor-Naor-Lotspiech' shows the best results. The SD method requires a storage amount of O (log 1 + e n) and a transmission amount of O (2r-1) when there are n total users.

그러나, 이러한 SD 방법의 경우에도 다수의 사용자가 사용하기에는 효율적인 측면에서 문제가 있다. However, even the SD method has a problem in terms of being efficient for use by a large number of users.

상술한 바와 같이, 1991년 Berkovits가 처음 BE에 관한 논문을 발표한 후 현재까지 다양한 알고리즘이 제시되어 왔다. 이 중에서 중요한 알고리즘을 정리하면, 비밀키 공유(Secret sharing) 방식, 서브셋 커버-프리 시스템 모델(Subset Cover-Free System Model) 방식, 트리 구조를 이용한 방식 등이 제안되어 왔다.As described above, various algorithms have been proposed to date since Berkovits first published a paper on BE in 1991. Among these important algorithms, a secret key sharing scheme, a subset cover-free system model scheme, and a tree structure scheme have been proposed.

먼저, 비밀키 공유(Secret Sharing)에 기반한 모델을 개략적으로 설명한다. 비밀키 공유 모델은 1991년에 'S. Berkovits'에 의해서 처음 제안되었으며, 2000년 'M. Noar'와 'B. Pinkas'가 "Efficient Trace and Revoke Schemes"라는 제목의 논문에서 좀더 효율적인 개선이 이루어졌다. S Berkovits의 "How to Broadcast a Secret"에서는 다항식 보간(polynomial interpolation)을 이용한 방법과 벡터 기반 비밀키 공유(vector based secret sharing)를 이용한 방법이 제시되었다.First, a model based on secret key sharing will be described. The private key sharing model was introduced in 1991 by S. First proposed by Berkovits, Noar 'and' B. More efficient improvements were made in Pinkas' article entitled "Efficient Trace and Revoke Schemes." In S Berkovits's "How to Broadcast a Secret", a method using polynomial interpolation and a method based on vector based secret sharing are presented.

다항식 보간 방법을 살펴보면, 센터(center; 즉, 방송 센터 또는 송신측)에서 각 사용자에게 비밀 채널로 점(xi, yi)을 전송한다. 이때, xi는 모두 다른 값이고, (xi, yi)는 각 사용자의 비밀키이다. 그 후, 각 세션(session)의 정당한 사용자 t명에게 비밀 정보 S를 브로드캐스트하기 위해, 랜덤 정수 j와 차수 t+j+1인 다항식 P를 고른다. 다항식 P는 t명의 정당한 사용자의 비밀키 (xi, yi)와 다른 어떤 사용자의 비밀키도 아닌 임의의 j개의 점 (x, y)과 (O, S)를 지나는 다항식이다. 그리고, 센터에서는 다항식 P위의 t+j 개의 위의 점들과는 다른 점들을 전송한다. 그러면, t명의 정당한 사용자는 t+j개의 점들 이외에 하나의 점(자기 자신의 비밀키)을 더 알기 때문에 차수 t+j+1인 다항식 P를 복구할 수 있고 비밀 정보 S도 구할 수 있다. 그러나, 제외된 사용자는 단지 t+j개의 점만을 알기 때문에 절대 다항식 P를 복구할 수 없게 된다.Referring to the polynomial interpolation method, a center (ie, a broadcasting center or a transmitting side) transmits a point (x i , y i ) to a secret channel to each user. In this case, x i is a different value and (x i , y i ) are each user's private key. Then, to broadcast the secret information S to legitimate users t of each session, a polynomial P having a random integer j and order t + j + 1 is selected. The polynomial P is a polynomial that passes through t random users' private keys (x i , y i ) and any j points (x, y) and (O, S) that are not the secret keys of any other user. The center transmits points different from the t + j points on the polynomial P. Then, since t legitimate users know one point (own secret key) in addition to t + j points, they can recover polynomial P of order t + j + 1 and also obtain secret information S. However, the excluded user never knows t + j points, so he never recovers the polynomial P.

이러한 방법은 전송량이 O(t+j+1), 저장량이 O(1)이고 계산량은 대략 t3번의 곱셈이다. 또한, 폐기(revocation)가 쉽고 공모를 방지할 수 있으며, 공모 추적(traitor tracing)도 가능하다는 장점이 있다. 그러나, 많은 수의 사용자에 대해서는 비효율적이고 반복해서 쓸 경우 안전하지 못하기 때문에 실제적으로 사용할 수 없다는 문제점이 있다.In this method, the transmission amount is O (t + j + 1), the storage amount is O (1), and the calculation amount is approximately t 3 multiplications. In addition, there is an advantage that easy revocation can be prevented, competition tracing is also possible. However, for a large number of users, there is a problem that can not be used practically because it is inefficient and unsafe to write repeatedly.

M. Noar와 B. Pinkas의 "Efficient Trace and Revoke Schemes"에서는 라그랑지의 보간 방식(Lagrange's interpolation formula)을 이용한 임계값 비밀키 공유(threshold secret sharing) 방식을 사용한다. Noar-Pinkas 방법에서는 r차 다항식을 r+1개의 다항식 위의 점을 알면 복구가 가능하지만, 하나 모자란 r개의 점을 가지고는 복구할 수 없다는 성질을 이용한다. 즉, 센터는 임의의 t차 다항식 P를 선택하고, 그 위의 각기 다른 점을 각 사용자들에게 비밀키로 제공한다. r명의 사용자가 제외되면 센터는 제외된 r명의 비밀키와 임의로 선택된 t-r개의 점을 합하여 총 t개의 점에 대한 정보를 브로드캐스트한다. 그 결과, 제외된 사용자는 자신의 비밀 정보를 합하여도 여전히 t개의 점만을 알게 되지만, 제외되지 않은 사용자는 t+1개의 점을 알게 되어 다항식 P를 복구할 수 있게 된다. 이 다항식을 이용하여 세션키 P(0) 값을 구하게 된다.M. Noar and B. Pinkas's "Efficient Trace and Revoke Schemes" uses a threshold secret sharing scheme using Lagrange's interpolation formula. The Noar-Pinkas method uses the property that an order-order polynomial can be recovered by knowing the points above r + 1 polynomials, but cannot be recovered with one or fewer r points. That is, the center selects a random t-order polynomial P and provides each user with different points as a secret key. When r users are excluded, the center broadcasts information on the total of t points by adding the excluded r secret keys and t-r points randomly selected. As a result, the excluded user still knows only t points even though their secret information is summed, but the non-excluded user knows t + 1 points to recover the polynomial P. This polynomial is used to find the session key P (0).

이러한 방법도 폐기가 쉽고 공모를 방지할 수 있으며, 공모 추적도 가능하 다. 특히 새로운 사용자를 추가(add)할 수 있다는 큰 장점이 있으며, 전송량이 O(t)이고 저장량은 O(1)로서 상당히 효율적이다. 그러나, 이러한 방법의 경우 처음에 정해진 t보다 많은 사용자를 제외하는 것은 불가능하다는 문제가 있다. 게다가 전송하는 점의 수나 다항식을 계산하는데 필요한 계산량이 t에 의존하게 되어 많은 경우에 비효율적이다. 또한, t가 커질수록 계산 시간이 크게 증가하여 다수의 사용자를 포함하는 경우에는 사용하기 힘들다.These methods are also easy to dispose of, prevent collusion and track collusion. In particular, there is a big advantage in that it is possible to add new users, and the transmission amount is O (t) and the storage amount is quite efficient as O (1). However, this method has a problem that it is impossible to exclude more than t users initially defined. In addition, the number of points to be transmitted or the amount of computation required to compute the polynomial depends on t, which is inefficient in many cases. In addition, as t increases, the calculation time increases greatly, and thus it is difficult to use when a large number of users is included.

두번째로 서브셋 커버-프리 시스템 모델은 전체 사용자들의 집합을 S라 할 때, S의 서브셋(subset)들을 원소로 하는 집합에서 서브셋 커버-프리 시스템이라는 개념을 정의한다. 이러한 시스템을 찾을 수 있다면 그 시스템을 이용하여 BE를 수행할 수 있다. 그러나, 저장량과 전송량이 O(r log n) 정도가 되어 효율적이지 못하다는 단점이 있다. 또한, 1-resilient 모델을 확장하여 k-resilient 모델을 만드는 방법도 소개되었다. 효과적인 1-resilient 기법은 비교적 쉽게 고안할 수 있으므로 이러한 확장이 의미가 있어 보이지만, 아직까지 제시된 방법으로는 확장하는 과정에서 효율성이 크게 떨어지게 된다.Secondly, the subset cover-free system model defines the concept of a subset cover-free system in a set that takes subsets of S as elements when the set of entire users is S. If you can find such a system, you can use it to perform BE. However, there is a disadvantage in that the storage amount and the transmission amount are about O (r log n) and are not efficient. We also introduced a way to extend the 1-resilient model to create a k-resilient model. An effective 1-resilient technique is relatively easy to devise, which makes sense for such an extension, but the proposed method has greatly reduced the efficiency of the expansion.

세번째로 최근에는 트리 구조를 이용하는 방법들이 주목받고 있다. 1998년에 C. K. Wong, M. Gouda, G. S. Lam 이 LTH(Logical-tree-hierarchy) 방법을 제안하였지만, 한번의 세션에서 많은 수의 사용자를 제외하기는 무리가 있었다. 또한, 사용자들의 비밀키가 세션이 지남에 따라 변화하는 모델이어서 지배되지 않는 수신자(stateless receiver)를 가정하는 현대적인 BE와는 거리가 있었다. 그 후, 2001년 D. Naor, M.Naor, J. Lotspiech가 "Complete Subset(CS) Cover Scheme"과 "Subset Difference(SD) Scheme"을 제안하였다. 두가지 방법 모두 사용자들의 수는 n명, 제외된 사용자의 수는 r이라고 가정하고, 센터는 높이가 log n인 이진 트리(binary tree)를 만들고 모든 노드(node)에는 그에 대응하는 비밀키를 배정한다. 그리고, 가지 노드(leaf node)에 사용자들을 한 명씩 배정한다.Third, recently, methods using a tree structure have been attracting attention. In 1998, C. K. Wong, M. Gouda, and G. S. Lam proposed the Logical-tree-hierarchy (LTH) method, but it was difficult to exclude a large number of users in one session. In addition, the user's private key is a model that changes over the course of the session, which is far from a modern BE that assumes a stateless receiver. Then, in 2001, D. Naor, M. Naor, and J. Lotspiech proposed "Complete Subset (CS) Cover Scheme" and "Subset Difference (SD) Scheme". Both methods assume that the number of users is n and the number of excluded users is r, and the center creates a binary tree of log n height and assigns the corresponding private key to every node. . Then assign users one by one to the leaf node.

먼저 CS Cover 방법을 살펴보면, 각 사용자들은 루트 노드(root node)에서 자신의 가지 노드(leaf node)까지의 경로(path)에 위치하는 모든 노드의 비밀키를 센터로부터 전달받아서 저장한다. 여기서, 서브트리(subtree)들 중 제외된 사용자를 한 명도 포함하지 않는 완전한 서브트리를 "Complete Subtree(CS)"라고 부르는데 이러한 CS를 적당히 모드면, 제외되지 않은 사용자들만을 모두 포함시킬 수가 있다. 이때, 사용된 CS들의 루트 노드에 해당하는 비밀키로 세션키를 암호화하여 전송하면, 정당한 사용자들은 세션키를 복구할 수 있으나, 제외된 사용자는 위에 사용된 어떠한 CS에도 포함되지 않으므로 세션키를 복구할 수 없게 된다.First, the CS Cover method shows that each user receives and stores the secret key of all nodes located in the path from the root node to his leaf node. Here, a complete subtree that does not include any excluded users of the subtrees is called a "Complete Subtree (CS)". If the CS is in the proper mode, all non-excluded users may be included. At this time, if the session key is encrypted and transmitted with the secret key corresponding to the root nodes of the used CSs, legitimate users can recover the session key, but the excluded users are not included in any CS used above. It becomes impossible.

도 2는 종래의 트리 구조로 키를 할당하는 브로드캐스트 암호화의 개념을 나타낸 도면이다. 도 2를 참조하면, 브로드캐스트 암호화 방식을 통해 데이터를 제공받는 각 노드들(220)은 각각 자신의 고유한 키 값(노드32 내지 노드47)을 가지게 됨과 동시에 트리 구조상에서 자신과 연결된 각 노드의 키 값을 가지게 된다.2 is a diagram illustrating the concept of broadcast encryption for allocating keys in a conventional tree structure. Referring to FIG. 2, each node 220 provided with data through broadcast encryption has its own key value (nodes 32 to 47), and at the same time, each node connected to itself in a tree structure. It will have a key value.

예컨대, 노드34는 자신의 34번 키 값과 함께 노드17(209)의 키 값, 노드8(204)의 키 값, 노드4(202)의 키 값, 2번 노드(201)의 키 값을 가지게 된다. 이때, 34번 노드가 가지는 17번 노드(209)의 키 값은 35번 노드도 함께 공유하고 있게 된다. 마찬가지로, 노드34가 가지는 노드8(204)의 키 값은 노드32, 33, 35도 함 께 공유하게 된다.For example, node 34, along with its 34 key value, inputs the key value of node 17 209, the key value of node 8 204, the key value of node 4 202, and the key value of node 2 201. Have. At this time, the key value of node 209 of node 34 has node 35 also shared. Similarly, the key value of node 8 (204) of node 34 is also shared with nodes 32, 33, and 35.

한편, 노드32 내지 노드47이 정당한 노드일 경우, 바람직하게는 전송하고자 하는 데이터의 헤더 부분에 노드2(201) 키 값을 포함하여 모든 노드들에게 동일하게 전송함으로써 보안이 유지된 데이터의 전송이 가능하게 된다.On the other hand, if the nodes 32 to 47 are legitimate nodes, the transmission of the secured data is preferably performed by transmitting the same to all nodes including the node 2 201 key value in the header portion of the data to be transmitted. It becomes possible.

그러나, 만약 노드36(221)이 정당한 노드가 아닌 경우, 즉 불법 노드(revoked node)일 경우, 노드36(221)와 관련된 노드의 키 값들을 다른 노드들이 공유하고 있으므로, 해당 키 값들을 갱신해 주는 과정이 필요하게 된다. 즉, 노드18(210), 노드9(205), 노드4(202) 및 노드2(201)의 키 값이 갱신되어야 한다. 이때, 상기 키 값의 갱신은 하위 노드로부터 상위 노드의 순으로 진행되게 된다.However, if node 36 221 is not a legitimate node, that is, a revoked node, since the other nodes share key values of the node associated with node 36 221, update the corresponding key values. The giving process will be needed. That is, the key values of nodes 18 (210), 9 (205), 4 (202) and 2 (201) must be updated. At this time, the key value is updated in the order of the lower node to the upper node.

먼저, 노드18(210)의 키 값은 노드37이 공유하고 있으므로, 서버로부터 노드18(210)의 갱신된 키 값을 노드37의 키 값으로 암호화하여 노드37로 전송하게 된다. 그런다음, 노드9(205)의 키 값은 노드37과 함께, 노드19(211) 아래에 있는 노드38 및 노드39가 함께 공유하고 있으므로, 노드9(205)의 갱신된 키 값을 노드37에게는 이미 갱신된 노드18(210)의 키 값으로 암호화하여 전송하고, 노드38 및 노드39에게는 노드19(211)의 키 값으로 암호화하여 전송하게 된다.First, since the node value of the node 18 210 is shared by the node 37, the updated key value of the node 18 210 is encrypted from the server with the key value of the node 37 and transmitted to the node 37. Then, the node 9 205's key value is shared with node 37, and node 38 and node 39 under node 19 211 are shared with each other. Encrypted and transmitted with the key value of the node 18 (210) already updated, and encrypted with the key value of the node 19 (211) to the node 38 and node 39 and transmitted.

마찬가지 방법으로, 노드4(202)의 키 값은 노드8(204) 아래에 있는 노드32, 33, 34, 35와 함께, 노드9(205) 아래에 있는 노드37, 38, 39가 함께 공유하고 있으므로, 노드4(202)의 갱신된 키 값을 노드32 내지 노드35에게는 노드8(204)의 키 값으로 암호화하여 전송하고, 노드37, 38, 39에게는 이미 갱신된 노드9(205)의 키 값으로 암호화하여 전송하게 된다.Similarly, the key values of node 4 202 are shared by nodes 32, 33, 34, 35 under node 8 204, and by nodes 37, 38, 39 under node 9 205 Therefore, the updated key value of the node 4 202 is encrypted and transmitted to the node 32 to the node 35 with the key value of the node 8 204, and the node 9, 205, and 39 are already updated. The value is encrypted and transmitted.

마지막으로, 노드2(201)의 키 값은 노드4(204) 아래에 있는 노드32 내지 39들 중 노드36(221)를 제외한 노드들이 공유하며, 노드5(203) 아래에 있는 노드40 내지 47가 함께 공유하고 있으므로, 노드2(201)의 갱신된 키 값을 노드32, 33, 34, 35, 37, 38, 39에게는 이미 갱신된 노드4(202)의 키 값으로 암호화하여 전송하고, 노드40 내지 47에게는 노드5(203)의 키 값으로 암호화하여 전송하게 된다. 이러한 키 갱신 과정을 통해 불법(또는 폐지된) 노드(revoked node)의 접근을 차단할 수가 있게 된다.Finally, the key value of node 2 201 is shared by nodes other than node 36 221 among nodes 32 to 39 under node 4 204, and nodes 40 to 47 under node 5 203. Share the updated key value of node 2 (201) with node 32, 33, 34, 35, 37, 38, and 39, and transmit the encrypted key value of node 4 (202). 40 to 47 are encrypted with the key value of node 5 (203) and transmitted. This key renewal process can block access to illegal (or revoked) nodes.

상술한 방법(즉, CS 모델)에서의 전송량은 모든 제외되지 않은 노드들만을 포함시키는 CS들의 개수인 O(r log(n/r))이고, 저장 오버헤드(storage overhead)는 O(log n)이다.In the above-described method (i.e., the CS model), the transmission amount is O (r log (n / r)), which is the number of CSs including all non-excluded nodes, and the storage overhead is O (log n). )to be.

한편, SD(Subset Difference) 방법은 상술한 CS 모델의 변형으로 O(log2n)의 저장량과 O(2r-1)의 전송량을 요구하여 전송량을 획기적으로 개선하였다. SD 모델에서는 한 노드 v를 루트로 하는 서브트리에서 해당 서브트리에 포함된 다른 한 노드 w를 루트로 하는 서브트리를 뺀 서브트리를 생각한다. 이 서브트리 밑의 가지 노드는 정당한 노드들이고, w를 루트로 하는 서브트리 밑의 가지 노드는 제외된 노드들이 된다. 이러한 방법은 적당한 수의 정당한 노드들 사이에 제외된 노드가 끼어 있는 경우, CS 모델이 반드시 2개 이상의 서브셋이 필요한 것과는 달리 하나의 서브셋으로 커버할 수 있다. SD 방법은 노드 v에 할당된 키의 해쉬(hash) 값에서 시작하여 노드 w까지의 해쉬 값을 구한 후, 그 값에 대응되는 값을 세션키로 한다. 각 노드는 루트 노드에서 자신의 가지 노드까지의 패스 위의 각 노드에 대한 형제 노드(sibling node)들에 대한 해쉬 값들을 비밀키로 갖고 있다. 그러므로, 해쉬 함수의 일방향성에 의해 정당한 노드들만이 세션키를 복구해낼 수가 있다. 이때, SD 모델의 전송량은 O(2r-1), 저장량은 O(log2n)이고, 계산량은 최대 O(log n)의 해쉬밖에 되지 않는다.On the other hand, the SD (Subset Difference) method significantly improves the transmission amount by requiring the storage amount of O (log 2 n) and the transmission amount of O (2r-1) by the above-described modification of the CS model. The SD model considers a subtree subtracting a subtree rooted at one node v from a subtree rooted at another node w included in the subtree. Branch nodes under this subtree are valid nodes, and branch nodes under a subtree rooted by w are excluded nodes. This method may cover the CS model as one subset, in which case the two or more subsets must be included if there are excluded nodes between a reasonable number of legitimate nodes. The SD method obtains a hash value starting with the hash value of the key assigned to the node v and up to the node w, and sets a value corresponding to the value as the session key. Each node has a private key with hash values for sibling nodes for each node on the path from the root node to its branch node. Therefore, due to the unidirectionality of the hash function, only legitimate nodes can recover the session key. At this time, the transmission amount of the SD model is O (2r-1), the storage amount is O (log 2 n), the calculation amount is only a hash of the maximum O (log n).

그 후, 2002년에는 SD 모델을 개선한 LSD 모델이 제안되었다. LSD 모델에서는 각 서브트리 레이어(layer)를 사용하여 저장량을 O(log3/2n)으로 줄였지만 대신 전송량이 SD 모델의 두배가 되었다.Then, in 2002, the LSD model was proposed, which improved the SD model. In the LSD model, the amount of storage is reduced to O (log 3/2 n) by using each subtree layer, but the transmission amount is twice that of the SD model.

상술한 BE 모델들 중 가장 좋은 효율을 보여주는 것은 LSD나 SD 등의 트리 구조를 사용하는 모델들이다. 그러나, 상기 트리 구조를 이용한 방법의 경우 브로드캐스트에 필요한 서브셋의 수가 사용자들의 위치에 크게 의존하기 때문에 더 이상의 큰 개선을 기대하기는 어려운 실정이다. 또한, 트리 구조의 경우 유지 보수에도 상당한 비용이 필요하다는 단점이 있다. 따라서, 상술한 트리 구조가 아닌 보다 효율적인 BE의 기술들이 요구되고 있는 실정이다.The best efficiency among the above-described BE models is a model using a tree structure such as LSD or SD. However, in the case of using the tree structure, it is difficult to expect any further improvement since the number of subsets required for broadcasting is highly dependent on the location of users. In addition, the tree structure has a disadvantage in that a considerable cost is required for maintenance. Therefore, there is a demand for more efficient BE technology than the tree structure described above.

따라서, 본 발명의 목적은 서비스 제공을 요청한 노드가 서비스 제공자로부터 전달받은 세션키를 복호화하기 위한 암호화키를 적은 연산량으로 획득하는 방법을 제안함에 있다.Accordingly, an object of the present invention is to propose a method for a node requesting a service to obtain an encryption key for decrypting a session key received from a service provider with a small calculation amount.

본 발명은 복수 개의 노드들 중 적어도 하나의 노드로 구성된 복수 개의 서브그룹들을 생성하고, 상기 생성한 서브그룹들을 구성하고 있는 노드의 개수에 따라 계층을 형성하는 단계; 상기 각 서브그룹들에 대해 중첩되지 않게 소수를 할당하고, 상위 계층의 서브그룹과 상기 상위계층의 서브그룹을 구성하고 있는 노드를 포함하고 있는 하위계층의 서브그룹을 연결하는 단계; 및 상기 각 서브그룹별로 자신의 상위계층의 서브그룹이 할당받은 소수와 상기 자신과 연결되어 있지 않은 동일한 계층, 하위 계층의 서브그룹이 할당받은 소수를 재할당받고, 상기 재할당받은 소수들로 이루어진 암호화키를 할당받는 단계;를 포함하는 것을 특징으로 하는 브로드캐스트 암호화를 위한 암호화키 관리 방법을 제안한다.The present invention provides a method comprising: generating a plurality of subgroups including at least one node among a plurality of nodes, and forming a hierarchy according to the number of nodes constituting the generated subgroups; Allocating a prime number so as not to overlap each of the subgroups, and concatenating a subgroup of a lower layer including a subgroup of an upper layer and a node constituting a subgroup of the upper layer; And a sub-number assigned to each subgroup by a subgroup of a higher layer, a sub-number assigned to a subgroup of a same layer and a lower layer not connected to the sub-group, and the sub-group assigned to the sub-group. The present invention proposes an encryption key management method for broadcast encryption, comprising: receiving an encryption key.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 이하 사용자와 노드를 동일한 개념으로 사용하기로 한다.Hereinafter, with reference to the drawings will be described the present invention in more detail. Hereinafter, a user and a node will be used in the same concept.

도 3은 본 발명에 따른 트리 구조를 이용하여 키를 할당하는 브로드캐스트 암호화의 개념을 도시하고 있다. 도 3을 참조하면, 컨텐츠를 제공받고자 하는 노드들은 노드1 내지 노드27이다. 컨텐츠를 제공받고자 하는 노드는 복수개의 그룹들 중 하나의 그룹으로 할당된다. 도 3에 의하면, 9개의 그룹을 도시하고 있으며, 각 그룹은 3개의 노드들로 구성된다. 즉, 제1그룹은 노드1 내지 노드3으로 구성되며, 노드1'가 제1그룹을 관리한다. 물론 노드1'은 실제 컨텐츠를 제공받는 노드가 아니라 트리구조를 형성하기 위한 논리적 노드(logical node)이다.Figure 3 illustrates the concept of broadcast encryption for assigning keys using a tree structure in accordance with the present invention. Referring to FIG. 3, nodes to which contents are to be provided are nodes 1 to 27. A node to which content is to be provided is assigned to one group of a plurality of groups. According to Figure 3, nine groups are shown, each group consisting of three nodes. That is, the first group is composed of nodes 1 to 3, and node 1 'manages the first group. Of course, node 1 'is not a node that receives actual content, but a logical node for forming a tree structure.

제2그룹은 노드4 내지 노드6으로 구성되며, 노드2'가 제2그룹을 관리한다. 제3그룹은 노드7 내지 노드9로 구성되며, 노드3'이 제3그룹을 관리한다. 제8그룹은 노드22 내지 노드24로 구성되며, 노드8'이 제8그룹을 관리한다. 제9그룹은 노드25 내지 노드27로 구성되며, 노드9'가 제9그룹을 관리한다.The second group is composed of nodes 4 to 6, and node 2 'manages the second group. The third group is composed of nodes 7 to 9, and node 3 'manages the third group. The eighth group is composed of nodes 22 to 24, and node 8 'manages the eighth group. The ninth group is composed of nodes 25 to 27, and node 9 'manages the ninth group.

노드1', 노드2', 노드3'으로 구성된 제10그룹은 논리적 노드인 노드a가 관리하며, 노드4', 노드5', 노드6'으로 구성된 제11그룹은 노드b가 관리한다. 노드7', 노드8', 노드9'로 구성된 제12그룹은 논리적 노드인 노드c가 관리한다. 또한, 노드a, 노드b, 노드c으로 구성된 제13그룹은 논리적 노드인 노드A가 관리한다. 이와 같이 함으로서 컨텐츠를 제공받고자 하는 노드들은 트리 구조를 형성할 수 있다. 몰론 상기 도 3은 각 그룹에 포함되는 노드의 수를 3개로 도시하고 있으나, 사용자의 설정에 따라 달라질 수 있다. 또한, 각 그룹에 포함되는 노드의 개수 역시 사용자의 설정에 따라 달리 설정할 수 있다. 예를 들면, 제1그룹에 포함되는 노드의 개수를 3개로 설정하고, 제2그룹에 포함되는 노드의 개수를 4개로 설정할 수 있다.The tenth group consisting of node 1 ', node 2', and node 3 'is managed by node a which is a logical node, and the eleventh group consisting of node 4', node 5 ', and node 6' is managed by node b. A twelfth group consisting of nodes 7 ', 8', and 9 'is managed by node c, which is a logical node. In addition, a thirteenth group consisting of node a, node b, and node c is managed by node A, which is a logical node. In this way, nodes to be provided with content may form a tree structure. Of course, FIG. 3 illustrates the number of nodes included in each group as three, but may vary according to a user's setting. In addition, the number of nodes included in each group may also be set differently according to the user's setting. For example, the number of nodes included in the first group may be set to three, and the number of nodes included in the second group may be set to four.

이하 도 4를 이용하여 각 노드로 암호화키를 할당하는 과정에 대해 알아보기로 한다. 상술한 바와 같이 각 노드는 암호화키를 복호화함으로서 컨텐츠를 복호화할 수 있는 세션키를 획득할 수 있다.Hereinafter, a process of assigning an encryption key to each node will be described with reference to FIG. 4. As described above, each node can obtain a session key capable of decrypting content by decrypting the encryption key.

도 4는 제1그룹에 포함되어 있는 제1노드 내지 제3노드에 대해 암호화키를 할당하는 과정을 도시하고 있다. 도 4는 제1노드 내지 제3노드를 일정한 방식에 따라 계층 구조로 도시하고 있다. 제1계층은 제1노드 내지 제3노드를 관리하는 가상의 관리노드(Management Node: M)가 위치하고 있으며, 제2계층은 노드1, 노드2, 노드3로 구성된 서브그룹이 위치하고 있으며, 제3계층 2개의 노드들로 구성된 서브그룹들이 위치하고 있다. 도 4에 의하면, 서브그룹들은 노드1, 노드2로 구성된 서브 그룹, 노드1, 노드3로 구성된 서브그룹, 노드2, 노드3으로 구성된 서브그룹이다.4 illustrates a process of assigning encryption keys to first to third nodes included in a first group. FIG. 4 illustrates the first to third nodes in a hierarchical structure in a predetermined manner. In the first layer, a virtual management node (M) managing first to third nodes is located, and in the second layer, a subgroup consisting of nodes 1, node 2, and node 3 is located. Subgroups consisting of two nodes are located. According to FIG. 4, the subgroups are a subgroup consisting of node 1 and node 2, a subgroup consisting of node 1 and node 3, and a subgroup consisting of node 2 and node 3.

각 계층을 구성하고 있는 서브그룹들은 일정한 규칙에 의해 연결된다. 즉, 관리노드는 제2계층을 형성하고 있는 모든 서브그룹들과 연결되며, 제2계층을 형성하고 있는 서브그룹은 제3계층을 형성하고 있는 서브그룹들 중 자신이 포함되어 있는 서브그룹과 연결된다.The subgroups that make up each layer are connected by certain rules. That is, the management node is connected to all the subgroups forming the second layer, and the subgroup forming the second layer is connected to the subgroup which includes itself among the subgroups forming the third layer. do.

즉, 제2계층의 제1서브그룹인 노드1은 제1계층의 관리노드와 연결하며, 제3계층의 제1서브그룹, 제2서브그룹과 연결된다. 제2계층의 제2서브그룹인 노드2는 제1계층의 관리노드와 연결되며, 제3계층의 제1서브그룹, 제3서브그룹과 연결된다. 제2계층의 제3서브그룹인 노드3은 제1계층의 관리노드와 연결되며, 제3계층의 제2서브그룹, 제3서브그룹과 연결된다.That is, node 1, which is the first subgroup of the second layer, is connected to the management node of the first layer and is connected to the first subgroup and the second subgroup of the third layer. Node 2, the second subgroup of the second layer, is connected to the management node of the first layer, and is connected to the first subgroup and the third subgroup of the third layer. Node 3, the third subgroup of the second layer, is connected to the management node of the first layer, and is connected to the second subgroup and the third subgroup of the third layer.

이하, 각 서브그룹에 대해 소수(prime number)를 순차적으로 할당하는 제1할당 과정을 수행한다. 즉, 관리 노드는 '2'를 할당받으며, 제2계층의 제1서브그룹인 노드1은 '3'을 할당받는다. 제2계층의 제2서브그룹인 노드2는 '5'를 할당받으며, 제2계층의 제3서브그룹인 노드3은 '7'을 할당받는다. 제3계층의 제1서브그룹은 '11'을 할당받으며, 제3계층의 제2서브그룹은 '13'을 할당받으며, 제3계층의 제3서브그룹은 '17'을 할당받는다. 상술한 바와 의하면, 각 서브그룹으로 순차적으로 소수를 할당하는 것으로 설명하였지만, 사용자의 설정에 따라 각 서브그룹은 랜덤하게 소수를 할당받을 수 있다.Hereinafter, a first allocation process of sequentially allocating prime numbers to each subgroup is performed. That is, the management node is assigned '2', and node 1, which is the first subgroup of the second layer, is assigned '3'. Node 2, the second subgroup of the second layer, is assigned '5', and node 3, the third subgroup of the second layer, is assigned '7'. The first subgroup of the third layer is assigned '11', the second subgroup of the third layer is assigned '13', and the third subgroup of the third layer is assigned '17'. As described above, it has been described as sequentially assigning prime numbers to each subgroup, but each subgroup may be randomly assigned a prime number according to a user's setting.

제1할당과정의 수행이 종료되며, 제2할당과정을 수행한다. 제2할당과정은 암호화키를 각 노드 또는 서브그룹으로 할당하는 과정이다.The execution of the first allocation process is terminated and the second allocation process is performed. The second allocation process is a process of assigning an encryption key to each node or subgroup.

제2할당과정은 제1할당과정을 통해 각 서브그룹에 할당한 소수를 이용한다. 각 서브그룹은 자신의 상위계층의 서브그룹이 할당받은 소수, 자신과 연결되지 않은 동일 계층과 하위 계층의 서브그룹이 할당받은 소수를 재할당받는다. 즉, 노드1은 관리 계층(제1계층)이 할당받은 '2'와 자신과 연결되지 않은 동일 계층(제2계층)의 노드인 노드2, 노드3이 할당받은 '5, 7'과 자신과 연결되지 않은 하위 계층(제3계층)의 서브그룹인 제3서브그룹이 할당받은 '17'을 재할당받는다. 제3계층의 제1서브그룹은 상위 계층의 노드인 관리 노드, 제1노드, 제2노드, 제3노드가 할당받은 '2, 3, 5, 7'과 자신과 연결되지 않은 동일 계층(제3계층)의 서브그룹인 제2서브그룹, 제3서브그룹이 할당받은 '13, 17'을 재할당받는다.The second allocation process uses the prime numbers assigned to each subgroup through the first allocation process. Each subgroup is reassigned a minority assigned to a subgroup of its upper hierarchy, and a minority assigned to a subgroup of the same hierarchy and a lower hierarchy that is not connected to itself. That is, node 1 is assigned to '2' assigned by the management layer (first layer) and '5, 7' assigned to node 2 and node 3, which are nodes of the same layer (second layer) not connected to itself, and to itself. The third subgroup, which is a subgroup of the unconnected lower layer (third layer), is reallocated '17'. The first subgroup of the third layer has '2, 3, 5, 7' assigned to the management node, the first node, the second node, and the third node, which are nodes of the upper layer, and the same layer not connected to itself. The second subgroup and the third subgroup, which are subgroups of the third layer), are reassigned '13, 17 '.

이에 대해 한번 기술하면, 노드1은 '2, 5, 7, 17'을 재할당받으며, 노드2는 '2, 3, 7, 13'을 재할당받으며, 노드3은 '2, 3, 5, 11'을 재할당받는다. 제3층의 제1서브그룹은 '2, 3, 5, 7, 14, 17'을 할당받으며, 제3계층의 제2서브그룹은 '2, 3, 5, 7, 11, 17'을 재할당받으며, 제3계층의 제3서브그룹은 '2, 3, 5, 7, 11, 13'을 재할당받는다.Once this has been described, node 1 is reassigned '2, 5, 7, 17', node 2 is reassigned '2, 3, 7, 13', and node 3 is '2, 3, 5,' Reassign 11 '. The first subgroup of the third layer is assigned '2, 3, 5, 7, 14, 17', and the second subgroup of the third layer is assigned '2, 3, 5, 7, 11, 17'. The third subgroup of the third layer is reassigned '2, 3, 5, 7, 11, 13'.

상기 제2할당과정의 재할당 과정이 종료되면, 실제 각 노드로 암호화키를 할당받는다. 노드1은 {k0 2·5·7·17}(k0는 임의의 상수)을 할당받으며, 노드2는 {k0 2·3·7·13}을 할당받으며, 노드3은 {k0 2·3·5·11}을 할당받는다. 제1서브그룹은 {k0 2·3·5·7·13·17}을 할당받으며, 제2서브그룹은 {k0 2·3·5·7·11·17}을 할당받으며, 제3서브그룹은 {k0 2·3·5·7·11·13}을 할당받는다.When the reassignment process of the second assignment process ends, an encryption key is actually assigned to each node. Node 1 is assigned {k 0 2 · 5 · 7 · 17 } (k 0 is any constant), Node 2 is assigned {k 0 2 · 3 · 7 · 13 }, and Node 3 is {k 0 2 · 3 · 5 · 11 } are assigned. The first subgroup is assigned {k 0 2 · 3 · 5 · 7 · 13 · 17 }, the second subgroup is assigned {k 0 2 · 3 · 5 · 7 · 11 · 17 }, and the third The subgroup is assigned {k 0 2 · 3 · 5 · 7 · 11 · 13 }.

서비스 제공자가 세션키를 암호화하는 암화키에 생성하는 과정에 대해 알아보기로 한다.The service provider generates a encryption key for encrypting the session key.

노드1 내지 노드3이 서비스 제공자로부터 컨텐츠를 제공받는 정당한 노드라 가정하면, 컨텐츠 제공자는 세션키를 암호화하기 위한 암호화키로 {k0 2·3·5·7·11·13·17}을 사용한다. 노드1은 자신이 할당받아 저장하고 있는 암호화키{k0 2·5·7·17}를 이용하여({(k0 2·5·7·17)3.11.13})서비스 제공자가 사용한 암호화키를 획득하고, 획득한 암호화키를 이용하여 세션키를 획득할 수 있다. 노드2 내지 노드3 역시 자신이 할당받아 저장하고 있는 암호화키를 이용하여 서비스 제공자가 사용한 암호화키를 획득하고, 획득한 암호화키를 이용하여 세션키를 획득할 수 있다.Assuming that nodes 1 through 3 are legitimate nodes that receive content from the service provider, the content provider uses {k 0 2 · 3 · 5 · 7 · 11 · 13 · 17 } as an encryption key for encrypting the session key. . Node 1 uses the encryption key {k 0 2 · 5 · 7 · 17 } that is allocated and stored ({(k 0 2 · 5 · 7 · 17 ) 3.11.13 }) It is possible to obtain a session key using the obtained encryption key. Nodes 2 to 3 may also obtain an encryption key used by a service provider by using an encryption key that is allocated and stored by the node 2 and node 3, and may obtain a session key using the obtained encryption key.

노드1이 컨턴츠 제공자에 대해 정당한 노드가 아닌 경우, 서비스 제공자는 제3서브그룹이 할당받은 암호화키({k0 2·3·5·7·11·13})를 사용하여 세션키를 암호화한다. 이 경우 노드2는 자신이 할당받아 저장하고 있는 암호화키{k0 2·3·7·13}를 이용하여 ({(k0 2·3·7·13)5.11.})서비스 제공자가 사용한 암호화키를 획득하고, 획득한 암호화키를 이용하여 세션키를 획득할 수 있다. 노드3 역시 자신이 할당받아 저장하고 있 는 암호화키{k0 2·3·5·11}를 이용하여 ({(k0 2·3·5·11)7.13})서비스 제공자가 사용한 암호화키를 획득하고, 획득한 암호화키를 이용하여 세션키를 획득할 수 있다.If Node1 is not a legitimate node for the content provider, the service provider encrypts the session key using the encryption key ({k 0 2 · 3 · 5 · 7 · 11 · 13 }) assigned to the third subgroup. . In this case, the node 2 uses the encryption key {k 0 2 · 3 · 7 · 13 } that is allocated and stored ({(k 0 2 · 3 · 7 · 13 ) 5.11. }) The key may be obtained and a session key may be obtained using the obtained encryption key. Node 3 also uses the encryption key {k 0 2 · 3 · 5 · 11 } that is allocated and stored ({(k 0 2 · 3 · 5 · 11 ) 7.13 }) to use the encryption key used by the service provider. The session key may be obtained using the obtained encryption key.

하지만, 노드1은 자신이 할당받아 저장하고 있는 암호화키({k0 2·5·7·17})를 이용하여 서비스 제공자가 사용하고 있는 암호화키를 획득할 수 있다. 즉, 노드1이 서비스 제공자가 사용하고 있는 암호화키를 획득하기 위해서는 할당받은 {k0 2·5·7·17}로부터 {k0 17}성분을 제거하여 한다. 하지만, 소수로 구성된 지수함수는 일방향함수의 성격을 갖기 때문에 {k0 2·5·7·17}로부터 {k0 2·5·7}을 획득할 수 없다. 따라서, 노드2와 노드3만이 세션키를 획득할 수 있고, 획득한 세션키를 이용하여 컨텐츠를 제공받을 수 있다.However, the node 1 may obtain the encryption key used by the service provider by using the encryption key {k 0 2 · 5 · 7 · 17 } that is allocated and stored. That is, in order to acquire the encryption key used by the service provider, node 1 removes the {k 0 17 } component from the allocated {k 0 2 · 5 · 7 · 17 }. However, the exponential function consisting of a small number can not obtain a {k 0 2 · 5 · 7 · 17} {k 0 2 · 5 · 7} from the owing to the nature of the one-way function. Therefore, only Node 2 and Node 3 can obtain a session key and can be provided with content using the obtained session key.

노드1만이 서비스 제공자에 대해 정당한 노드라 하면, 서비스 제공자는 노드1이 할당받은 암호화키를 이용하여 세션키를 암호화한다. 이 경우 상술한 바와 같이 노드2와 노드3은 서비스 제공자가 사용하고 있는 암호화키를 획득할 수 없게 된다. If only Node 1 is the legitimate node for the service provider, the service provider encrypts the session key using the encryption key assigned by node 1. In this case, as described above, the node 2 and the node 3 cannot obtain the encryption key used by the service provider.

도 3을 이용하여 다시 한번 사용하면, 제1그룹에서 사용할 함수로 k0(노드1'에서 사용하는 함수)를 할당하며, 제2그룹에서 사용할 함수로 k1(노드2'에서 사용하는 함수)를 할당한다. 제8그룹에서 사용할 함수로 k7(노드8'에서 사용하는 함수)를 할당하며, 제9그룹에서 사용할 함수로 k8(노드9'에서 사용하는 함수)을 할당한다. 제2그룹 내지 제9그룹을 구성하고 있는 노드는 역시 도 4에서 설명한 바와 같이 할당받은 함수를 이용한 암호화키를 할당받는다.When used again using FIG. 3, k 0 (function used in node 1 ') is assigned as a function to be used in the first group, and k 1 (function used in node 2') as a function to be used in the second group. Allocate Allocate k 7 (the function used in node 8 ') as the function to use in the eighth group, and assign k 8 (the function used in node 9') as the function to use in the ninth group. Nodes constituting the second to ninth groups are also assigned an encryption key using the assigned function as described in FIG.

노드1' 내지 노드3'으로 구성된 제10그룹, 노드4' 내지 노드6'으로 구성된 제11그룹, 노드 7' 내지 노드9'로 구성된 제12그룹 역시 제1그룹 내지 제9그룹과 동일하게 함수를 할당받는다. 즉, 제10그룹은 사용할 함수로 k9를 할당받으며, 제11그룹은 사용할 함수로 k10를 할당받는다. 제12그룹은 사용할 함수로 k11를 할당받는다. 노드a 내지 노드c로 구성된 제13그룹 역시 함수 k12를 할당받는다.The tenth group consisting of nodes 1 'to 3', the eleventh group consisting of nodes 4 'to 6', and the twelfth group consisting of nodes 7 'to 9' also function in the same way as the first to ninth groups. Is assigned. That is, the tenth group is assigned k 9 as a function to use and the eleventh group is assigned k 10 as a function to use. The twelfth group is assigned k 11 as the function to use. The thirteenth group consisting of nodes a to c is also assigned a function k 12 .

이하 제1그룹 내지 제13그룹으로 구성된 트리 구조를 형성하고 있는 노드1 내지 노드27이 할당받는 암호화키에 대해 〈표 1〉을 이용하여 알아보기로 한다.Hereinafter, the encryption keys assigned to the nodes 1 to 27 that form the tree structure composed of the first to the thirteenth groups will be described using Table 1.

노드Node 할당받은 암호화키Assigned Encryption Key 노드1Node 1 k0 2·5·7·17, k9 2·5·7·17, k12 2·5·7·17 k 0 2 · 5 · 7 · 17 , k 9 2 · 5 · 7 · 17 , k 12 2, 5, 7, 17 노드2Node2 k0 2·3·7·13, k9 2·5·7·17, k12 2·5·7·17 k 0 2, 3, 7, 13 , k 9 2 · 5 · 7 · 17 , k 12 2, 5, 7, 17 노드3Node3 k0 2·3·5·11, k9 2·5·7·17, k12 2·5·7·17 k0 2, 3, 5, 11, k9 2, 5, 7, 17, k12 2, 5, 7, 17 노드4Node 4 k1 2·5·7·17, k9 2·3·7·13, k12 2·5·7·17 k 1 2 · 5 · 7 · 17 , k 9 2 · 3 · 7 · 13 , k 12 2, 5, 7, 17 노드5Node 5 k1 2·3·7·13, k9 2·3·7·13 , k12 2·5·7·17 k 1 2 · 3 · 7 · 13 , k 9 2 · 3 · 7 · 13 , k 12 2, 5, 7, 17 ...... ...... 노드24Node 24 k7 2·3·5·11, k11 2·3·7·13 , k12 2·3·5·11 k 7 2, 3, 5, 11 , k 11 2 · 3 · 7 · 13 , k 12 2, 3, 5, 11 노드25Node 25 k8 2·3·7·13, k11 2·3·5·11 , k12 2·3·5·11 k 8 2 · 3 · 7 · 13 , k 11 2 · 3 · 5 · 11 , k 12 2, 3, 5, 11 노드26Node 26 k8 2·3·7·13, k11 2·3·5·11 , k12 2·3·5·11 k 8 2 · 3 · 7 · 13 , k 11 2 · 3 · 5 · 11 , k 12 2, 3, 5, 11 노드27Node 27 k8 2·3·5·11, k11 2·3·5·11 , k12 2·3·5·11 k 8 2 · 3 · 5 · 11 , k 11 2 · 3 · 5 · 11 , k 12 2, 3, 5, 11

〈표 1〉에 기재되어 있는 바와 같이 각 노드는 계층의 개수와 동일한 개수의 암호화키를 할당받는다.As described in Table 1, each node is assigned the same number of encryption keys as the number of layers.

이하 서비스 제공자가 세션키를 암호화하기 위해 사용하는 암호화키에 대해 알아보기로 한다. 노드1 내지 노드27이 정당한 노드라면, 서비스 제공자는 제13그룹에 할당한 함수를 이용한 암호화키를 사용한다. 즉, 제13그룹을 구성하고 있는 모든 노드들이 복호화할 수 있는 암호화키인 {k12 2·3·5·7·11·13·17}을 이용하여 세션키를 암호화한다.Hereinafter, the encryption key used by the service provider to encrypt the session key will be described. If the nodes 1 to 27 are legitimate nodes, the service provider uses the encryption key using the function assigned to the thirteenth group. That is, the session key is encrypted using {k 12 2 · 3 · 5 · 7 · 11 · 13 · 17 } which is an encryption key that all nodes constituting the thirteenth group can decrypt.

또한, 하위 계층을 구성하고 있는 그룹에 제외된 노드가 포함된 경우 상위 계층을 구성하고 있는 노드 역시 제외된 노드가 포함된 것으로 판단한다. 즉, 노드1이 제외된 노드인 경우, 제1그룹, 제10그룹, 제13그룹 역시 제외된 노드가 포함되어 있다고 판단한다. 이하, 노드1이 제외된 경우 서비스 제공자가 세션키를 암호화하는 암호화키를 결정하는 과정에 대해 알아보기로 한다.In addition, when the excluded node is included in the group constituting the lower layer, the node constituting the upper layer is also determined to include the excluded node. That is, when node 1 is an excluded node, it is determined that the first group, the tenth group, and the thirteenth group also include the excluded node. Hereinafter, a process in which the service provider determines an encryption key for encrypting the session key when the node 1 is excluded will be described.

상술한 바와 같이 노드1이 제외된 경우, 제10그룹, 제13그룹 역시 제외된 노드가 포함된 그룹이므로, 서비스 제공자는 제11그룹(제4그룹 내지 제6그룹으로 구성)과 제12그룹(제7그룹 내지 제9그룹으로 구성)에서만 복호화가 가능한 암호화키를 이용하여 세션키를 암호화한다. 또한, 서비스 제공자는 제2그룹과 제3그룹에서만 복호화가 가능한 암호화키를 이용하여 세션키를 암호화한다. 또한, 서비스 제공자는 제1그룹의 노드2, 노드3에서만 복호화가 가능한 암호화키를 이용하여 세션키를 암호화한다. 즉, 서비스 제공자는 {k12 2·3·5·7·11·13, k9 2·3·5·7·11·13, k0 2·3·5·7·11·13}을 이용하여 세션키를 암호화한다. 이와 같이 함으로서 제11그룹과 제12그룹을 구성하고 있는 노드들은 {k12 2·3·5·7·11·13}을 이용하여 세션키를 획득하며, 제2그룹 내지 제3그룹을 구성하고 있는 노드들은 {k9 2·3·5·7·11·13}을 이용하여 세션키를 획득한다. 노드2와 노드3은 {k0 2·3·5·7·11·13 }을 이용하여 세션키를 획득한다.When the node 1 is excluded as described above, since the tenth group and the thirteenth group also include the excluded node, the service provider includes the eleventh group (the fourth to sixth groups) and the twelfth group ( The session key is encrypted using an encryption key that can be decrypted only in the seventh to ninth groups). In addition, the service provider encrypts the session key using an encryption key that can be decrypted only in the second group and the third group. In addition, the service provider encrypts the session key using an encryption key that can be decrypted only in nodes 2 and 3 of the first group. That is, the service provider uses {k 12 2 · 3 · 5 · 7 · 11 · 13 , k 9 2 · 3 · 5 · 7 · 11 · 13 , k 0 2 · 3 · 5 · 7 · 11 · 13 } Encrypt the session key. In this way, the nodes constituting the 11th group and the 12th group acquire a session key using {k 12 2 · 3 · 5 · 7 · 11 · 13 }, and form the second to third groups. The existing nodes obtain the session key using {k 9 2 · 3 · 5 · 7 · 11 · 13 }. Node 2 and Node 3 obtain a session key using {k 0 2 · 3 · 5 · 7 · 11 · 13 }.

노드1 내지 노드27 중 적어도 2개의 노드들이 제외된 노드인 경우에도, 도 4에서 설명한 바와 동일한 방법으로 세션키를 복호화할 암호화키를 결정하게 된다.Even when at least two of the nodes 1 to 27 are excluded, an encryption key for decrypting the session key is determined in the same manner as described with reference to FIG. 4.

도 5는 4개의 노드가 하나의 그룹을 형성하고 있는 예를 도시하고 있다. 도 5 역시 도 4에서 설명한 바와 동일한 방법에 의해 서브그룹들을 상호 연결한다. 다만, 노드의 개수가 3개인 서브그룹들이 추가됨으로 인해 할당하는 소수의 개수가 증가된다. 즉, 각 서브그룹에 할당하는 소수는 '2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 47, 53'이다.5 shows an example in which four nodes form one group. FIG. 5 also interconnects subgroups by the same method as described with reference to FIG. 4. However, since the number of subgroups with three nodes is added, the number of allocating decimals is increased. That is, the prime numbers assigned to each subgroup are '2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 47, 53'.

이와 같이 그룹에 포함되는 노드의 개수가 증가할수록 각 노드로 할당하는 암호화키를 처리하기 위한 연산량 역시 증가하게 된다. 그룹을 구성하고 있는 4개의 노드들이 정당한 노드인 경우 서비스 제공자가 사용하는 암호화키는 {k0 2·3·5·7·11·13·17·19·23·29·31·37·41·47·53}이다. 이와 같이 그룹을 구성하고 있는 노드의 개수가 증가할수록 지수함수의 지수가 증가되며, 이로 인해 각 노드에서의 연산량이 증가된다.As the number of nodes included in the group increases, the amount of computation for processing an encryption key allocated to each node also increases. If the four nodes in the group are legitimate nodes, the encryption key used by the service provider is {k 0 2 · 3 · 5 · 7 · 11 · 13 · 17 · 19 · 23 · 29 · 31 · 37 · 41 · 47 · 53 }. As the number of nodes constituting the group increases, the exponent of the exponential function increases, thereby increasing the amount of computation in each node.

도 6과 도 7은 도 5의 문제점을 해결하기 위한 방안을 도시하고 있다. 도 6은 각 노드들로 구성된 서브그룹들과 두 개의 노드들로 구성된 서브그룹들을 도시하고 있으며, 도 7은 각 노드들로 구성된 서브그룹들과 세 개의 노드들로 구성된 서브그룹들을 도시하고 있다. 이하 도 6과 도 7을 이용하여 각 노드에 암호화키를 할당하는 과정에 대해 알아보기로 한다.6 and 7 illustrate a method for solving the problem of FIG. 5. FIG. 6 illustrates subgroups consisting of nodes and subgroups consisting of two nodes, and FIG. 7 illustrates subgroups consisting of nodes and subgroups consisting of three nodes. Hereinafter, a process of assigning an encryption key to each node will be described with reference to FIGS. 6 and 7.

도 6과 도 7의 각 노드에 대해 암호화키를 할당하는 과정은 도 4에서 살펴본 바와 같다. 다만, 도 6에서 사용하는 함수와 도 7에서 사용하는 함수만이 차이가 있다. 즉, 도 6과 도 7에 의하면 하나의 그룹을 구성하고 있는 노드들은 두 개의 함수를 이용한 암호화키를 할당받는다. 일 예로 도 6에서 사용하는 함수를 'k01 '이라 하고, 도 7에서 사용하는 함수를 'k02'라 하면, 각 노드는 'k01'를 이용한 암호화키와 'k02'를 이용한 암호화키를 할당받는다.The process of assigning an encryption key to each node of FIGS. 6 and 7 is as described with reference to FIG. 4. However, only the function used in FIG. 6 and the function used in FIG. 7 differ. That is, according to FIGS. 6 and 7, nodes constituting one group are assigned encryption keys using two functions. For example, if the function used in FIG. 6 is referred to as 'k 01 ' and the function used in FIG. 7 is referred to as 'k 02 ', each node has an encryption key using 'k 01 ' and an encryption key using 'k 02 '. Is assigned.

서비스 제공자는 그룹을 구성하고 있는 노드들 중 2개의 노드가 제외된 노드인 경우에는 'k01'를 이용한 암호화키를 이용하여 세션키를 암호화하며, 1개의 노드가 제외된 경우에는 'k02'를 이용한 암호화키를 이용하여 세션키를 암호화한다. 이와 같이 하나의 그룹에 포함되는 각 노드들에 대해 두 개의 암호화키를 할당함으로서 각 노드에서 처리하는 연산량이 감소하게 된다. 물론 각 노드에서 저장하는 암호화키의 개수는 증가한다.The service provider encrypts the session key using the encryption key using 'k 01 ' when two nodes among the nodes constituting the group are excluded, and 'k 02 ' when one node is excluded. Encrypt the session key using the encryption key using. As such, by allocating two encryption keys for each node included in one group, the amount of processing performed by each node is reduced. Of course, the number of encryption keys stored in each node increases.

그러나, 하나의 그룹을 구성하고 있는 각 노드들에 대해 2개의 암호화키를 할당할 경우 연산량은 감소하게 되나, 사용자가 요구하는 연산량을 충족시키지 못할 경우가 있다. 도 6을 살펴보면, 각 노드와 서브그룹에 할당하는 소수는 '2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31'이다. 이 경우 도 6에 기재되어 있는 노드들은 도 5에 기재되어 있는 노드들에 비해 상대적으로 적은 연산량을 처리하지만, 사용자는 더 적은 연산량이 요구하는 경우가 있다.However, if two encryption keys are assigned to each node of one group, the amount of computation is reduced, but the amount of computation required by the user may not be met. Referring to FIG. 6, the prime numbers assigned to each node and subgroup are '2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31'. In this case, the nodes described in FIG. 6 process a relatively small amount of computation compared to the nodes described in FIG. 5, but a user may require a smaller amount of computation.

도 8과 도 9는 도 6의 문제점을 해결하기 위한 방안을 도시하고 있다. 이하 도 8과 도 9을 이용하여 도 6의 문제점을 해결하기 위한 방안에 대해 알아보기로 한다.8 and 9 illustrate a method for solving the problem of FIG. 6. Hereinafter, a method for solving the problem of FIG. 6 will be described with reference to FIGS. 8 and 9.

도 8과 도 9는 도 6에 도시되어 있는 서브그룹들을 분할하고 있다. 즉, 도 6에 도시되어 있는 6개의 서브그룹들은 2개의 그룹으로 재분할된다. 도 8은 노드1과 노드2로 구성된 서브그룹과, 노드1과 노드3으로 구성된 서브그룹, 노드2와 노드4로 구성된 서브그룹을 도시하고 있다. 도 9는 노드1과 노드4로 구성된 서브그룹, 노드2와 노드3으로 구성된 서브그룹, 노드3과 노드4로 구성된 서브그룹을 도시하고 있다. 재분할하는 서브그룹의 개수는 사용자의 설정에 달라질 수 있음은 자명하다.8 and 9 divide the subgroups shown in FIG. That is, the six subgroups shown in FIG. 6 are subdivided into two groups. 8 shows a subgroup composed of node 1 and node 2, a subgroup composed of node 1 and node 3, and a subgroup composed of node 2 and node 4. As shown in FIG. 9 shows a subgroup composed of node 1 and node 4, a subgroup composed of node 2 and node 3, and a subgroup composed of node 3 and node 4. FIG. Obviously, the number of subgroups to be subdivided may vary depending on the user's setting.

노드와 서브그룹을 상호 연결하는 과정은 도 4에서 살펴본 바와 동일하므로 생략하기로 한다. 도 6의 문제점을 해결하기 위해 사용하는 각 노드로 할당하는 암호화키를 생성하는데 필요한 함수의 개수를 증가하였다. 즉, 도 6은 하나의 함수를 사용하여 각 노드로 암호화키를 각 노드로 할당하였으나, 도 6을 분할한 도 8, 도 9는 고유한 함수를 사용하여 각 노드로 암호화키를 할당한다. 즉, 도 8은 k011의 함수를 사용한 암호화키를 각 노드로 할당하며, 도 9는 k012의 함수를 함수를 사용한 암호화키를 각 노드로 할당한다. 즉, 각 노드는 k011의 함수를 사용한 암호화키와 k012의 함수를 사용한 암호화키를 할당받는다. 이와 같이 함으로서 각 노드에 할당되는 암호화키의 개수는 증가하지만 세션키를 획득하기 위한 연산량은 감소하게 된다.The process of interconnecting the node and the subgroup is the same as described with reference to FIG. 4 and will be omitted. In order to solve the problem of FIG. 6, the number of functions required to generate an encryption key allocated to each node used is increased. That is, although FIG. 6 assigns an encryption key to each node by using a single function, FIG. 8 and FIG. 9 which split FIG. 6 assign an encryption key to each node by using a unique function. That is, FIG. 8 assigns an encryption key using a function of k 011 to each node, and FIG. 9 assigns an encryption key using a function of k 012 to each node. That is, each node is assigned an encryption key using a function of k 011 and an encryption key using a function of k 012 . By doing so, the number of encryption keys assigned to each node increases, but the amount of computation for acquiring a session key is reduced.

즉, 사용자는 각 노드에 할당할 암호화키의 개수와 각 노드에서 처리해야 할 연산량을 조절할 수 있게 된다.That is, the user can adjust the number of encryption keys to be allocated to each node and the amount of computation to be processed at each node.

이상 설명한 바와 같이, 본 발명에 따르면, 브로드캐스트 암호화에서 가장 중요한 전송량을 줄일 수 있게 된다. 또한, 본 발명의 실시예들에서는 현재까지 가장 좋은 방법으로 알려진 SD와 비교하여 전송량이 크게 줄일 수가 있다는 장점이 있다.As described above, according to the present invention, it is possible to reduce the amount of transmission most important in broadcast encryption. In addition, embodiments of the present invention has the advantage that the amount of transmission can be significantly reduced compared to the SD known as the best method up to now.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although the preferred embodiment of the present invention has been shown and described above, the present invention is not limited to the specific embodiments described above, but the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or the prospect of the present invention.

Claims (8)

복수 개의 노드들 중 적어도 하나의 노드로 구성된 복수 개의 서브그룹들을 생성하고, 상기 생성한 서브그룹들을 구성하고 있는 노드의 개수에 따라 계층을 형성하는 단계;Generating a plurality of subgroups composed of at least one node among a plurality of nodes, and forming a hierarchy according to the number of nodes constituting the generated subgroups; 상기 각 서브그룹들에 대해 중첩되지 않게 소수를 할당하고, 상위 계층의 서브그룹과 상기 상위계층의 서브그룹을 구성하고 있는 노드를 포함하고 있는 하위계층의 서브그룹을 연결하는 단계; 및Allocating a prime number so as not to overlap each of the subgroups, and concatenating a subgroup of a lower layer including a subgroup of an upper layer and a node constituting a subgroup of the upper layer; And 상기 각 서브그룹별로 자신의 상위계층의 서브그룹이 할당받은 소수와 상기 자신과 연결되어 있지 않은 동일한 계층, 하위 계층의 서브그룹이 할당받은 소수를 재할당받고, 상기 재할당받은 소수들로 이루어진 암호화키를 할당받는 단계;를 포함하는 것을 특징으로 하는 브로드캐스트 암호화를 위한 암호화키 관리 방법.Each subgroup is reassigned a minority assigned to a subgroup of its upper hierarchy, a decimal number assigned to a subgroup of a same hierarchy and a lower hierarchy that is not connected to the self, and an encryption made up of the reallocated prime numbers. Receiving a key; encryption key management method for broadcast encryption, comprising: a. 제 1항에 있어서, 하나의 노드로 구성된 서브그룹들을 관리하기 위한 가상의 관리 노드를 계층 구조의 최상단에 위치시킴을 특징으로 하는 브로드캐스트 암호화를 위한 암호화키 관리 방법.The method of claim 1, wherein a virtual management node for managing subgroups consisting of one node is positioned at the top of the hierarchy. 제 1항에 있어서, 노드의 개수가 N이라고 가정하면, 상기 서브그룹은 관리노드로 구성된 서브그룹, 하나의 노드로 구성된 서브그룹들, 두 개의 노드들로 구성된 서브그룹들,...., (N-1)개의 노드들로 구성된 서브그룹들 중 하나임을 특징으로 하는 브로드캐스트 암호화를 위한 암호화키 관리 방법. 2. The method of claim 1, wherein assuming that the number of nodes is N, the subgroup includes a subgroup consisting of managed nodes, a subgroup consisting of one node, subgroups consisting of two nodes, ..., An encryption key management method for broadcast encryption, characterized in that it is one of subgroups consisting of (N-1) nodes. 제 3항에 있어서, 상기 서브그룹들을 적어도 2개의 그룹으로 분할하고, 상기 분할한 그룹별로 고유한 함수로 이루어진 암호화키를 할당함을 특징으로 하는 브로드캐스트 암호화를 위한 암호화키 관리 방법.4. The method of claim 3, wherein the subgroups are divided into at least two groups, and an encryption key having a unique function is assigned to each of the divided groups. 제 4항에 있어서,The method of claim 4, wherein 상기 분할한 그룹은 관리 노드로 구성된 서브그룹과 하나의 노드로 구성된 서브그룹들을 포함함을 특징으로 하는 브로드캐스트 암호화를 위한 암호화키 관리 방법.The divided group includes a subgroup consisting of management nodes and a subgroup consisting of one node. 제 5항에 있어서,The method of claim 5, 상기 각 노드는 분할한 그룹의 개수와 동일한 개수의 암호화키를 할당받음을 특징으로 하는 브로드캐스트 암호화를 위한 암호화키 관리 방법.And each node is assigned with the same number of encryption keys as the number of divided groups. 제 1항에 있어서, 상기 노드들 중 서비스 제공이 제외된 노드가 포함되어 있으면, 상기 서비스 제공이 제외된 노드 이외의 노드들로 구성된 서브그룹이 할당받은 암호화키를 이용하여 세션키를 암호화함을 특징으로 하는 브로드캐스트 암호화를 위한 암호화키 관리 방법.2. The method of claim 1, wherein if a node including service excluded from the service is included, a subgroup composed of nodes other than the node excluded from providing the service encrypts the session key using an assigned encryption key. An encryption key management method for broadcast encryption. 제 1항에 있어서, 상기 각 노드는 재할당받은 소수들을 지수로 하는 지수함 수로 이루어진 암호화키를 할당받음을 특징으로 하는 브로드캐스트 암호화를 위한 암호화키 관리 방법.2. The method of claim 1, wherein each node is assigned an encryption key consisting of an exponential function having the reallocated prime numbers as exponents.
KR1020050059182A 2004-12-30 2005-07-01 Method of managing a key of user for broadcast encryption KR100701884B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/285,296 US8054973B2 (en) 2004-12-30 2005-11-23 User key management method for broadcast encryption (BE)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2004138815 2004-12-30
RU2004138815 2004-12-30

Publications (2)

Publication Number Publication Date
KR20060079065A KR20060079065A (en) 2006-07-05
KR100701884B1 true KR100701884B1 (en) 2007-04-02

Family

ID=37170859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050059182A KR100701884B1 (en) 2004-12-30 2005-07-01 Method of managing a key of user for broadcast encryption

Country Status (1)

Country Link
KR (1) KR100701884B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100769934B1 (en) * 2007-04-18 2007-10-24 닉스테크 주식회사 Method of managing inner information and system for managing inner information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300149A (en) 2001-04-02 2002-10-11 Matsushita Electric Ind Co Ltd Key management system for broadcast distribution
US20030061481A1 (en) 2001-09-26 2003-03-27 David Levine Secure broadcast system and method
JP2003289296A (en) 2002-01-28 2003-10-10 Toshiba Corp Key-generating method, content-providing method, ciphered content deciphering method, pirate user identifying method, content provider side system, user side system, trace system, ciphering apparatus, deciphering apparatus, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300149A (en) 2001-04-02 2002-10-11 Matsushita Electric Ind Co Ltd Key management system for broadcast distribution
US20030061481A1 (en) 2001-09-26 2003-03-27 David Levine Secure broadcast system and method
JP2003289296A (en) 2002-01-28 2003-10-10 Toshiba Corp Key-generating method, content-providing method, ciphered content deciphering method, pirate user identifying method, content provider side system, user side system, trace system, ciphering apparatus, deciphering apparatus, and program

Also Published As

Publication number Publication date
KR20060079065A (en) 2006-07-05

Similar Documents

Publication Publication Date Title
KR101152311B1 (en) Key managing method in tree topology network for broadcast encryption
KR101092543B1 (en) Method of managing a key of user for broadcast encryption
US7848525B2 (en) Hybrid broadcast encryption method
US8755520B2 (en) Apparatus and method for generating a key for broadcast encryption
US8200963B2 (en) Combination-based broadcast encryption method
US7752435B2 (en) Method for managing user key for broadcast encryption
US8054973B2 (en) User key management method for broadcast encryption (BE)
KR100640058B1 (en) Method of managing a key of user for broadcast encryption
Vijayakumar et al. An effective key distribution for secure internet pay‐TV using access key hierarchies
KR20060131536A (en) Key managing method of home device in be system and system thereof
KR100701884B1 (en) Method of managing a key of user for broadcast encryption
Pal et al. Efficient and secure conditional access system for pay-TV systems
KR20060049340A (en) Method of managing a key of user for broadcast encryption

Legal Events

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

Payment date: 20130221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140221

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150212

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180220

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190220

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200225

Year of fee payment: 14