KR100543630B1 - Method for broadcast encryption and key revocation of stateless receivers - Google Patents

Method for broadcast encryption and key revocation of stateless receivers Download PDF

Info

Publication number
KR100543630B1
KR100543630B1 KR1020037009628A KR20037009628A KR100543630B1 KR 100543630 B1 KR100543630 B1 KR 100543630B1 KR 1020037009628 A KR1020037009628 A KR 1020037009628A KR 20037009628 A KR20037009628 A KR 20037009628A KR 100543630 B1 KR100543630 B1 KR 100543630B1
Authority
KR
South Korea
Prior art keywords
subset
tree
receiver
key
content
Prior art date
Application number
KR1020037009628A
Other languages
Korean (ko)
Other versions
KR20030085125A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25089976&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100543630(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20030085125A publication Critical patent/KR20030085125A/en
Application granted granted Critical
Publication of KR100543630B1 publication Critical patent/KR100543630B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/605Copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/606Traitor tracing

Abstract

A tree is used to partition stateless receivers in a broadcast content encryption system into subsets. Two different methods of partitioning are disclosed. When a set of revoked receivers is identified, the revoked receivers define a relatively small cover of the non-revoked receivers by disjoint subsets. Subset keys associated with the subsets are then used to encrypt a session key that in turn is used to encrypt the broadcast content. Only non-revoked receivers can decrypt the session key and, hence, the content.

Description

브로드캐스트 암호화 및 상태 비유지 수신기들의 키 철회 방법{Method for broadcast encryption and key revocation of stateless receivers}Method for broadcast encryption and key revocation of stateless receivers

본 발명은 암호화키를 이용하는 데이터 암호의 브로드캐스트에 관한 것이다.The present invention relates to the broadcast of data encryption using an encryption key.

미국특허 제6,118,873호는 방송 음악, 비디오 및 기타 콘텐트를 암호화하기 위한 시스템을 개시한다. 상기 특허에서, 오직 인증받은 플레이어-레코더만이 콘텐트 판매업자에 의해 확립된 규칙에 따라 콘텐트를 연주/상연하거나 복사할 수 있다. 이러한 방식으로, 콘텐트 제공자에게 현재 매년 수십억 달러의 비용을 손해입히고 있는 콘텐트의 불법 복사를 방지할 수 있다.US 6,118,873 discloses a system for encrypting broadcast music, video and other content. In this patent, only authorized player-recorders may play / play or copy content in accordance with rules established by the content vendor. In this way, it is possible to prevent illegal copying of content that is currently costing content providers billions of dollars each year.

전술한 특허공보에 개시된 암호화 방법에 따르면, 인증된 플레이어-레코더들에게 소프트웨어로 구현된 디바이스 키 행렬로부터 디바이스키가 발송된다. 이 키는 서로에게 동시에 또는 시간에 걸쳐 발송될 수 있지만, 어느 경우이든지 어떠한 플레이-레코더도 행렬의 하나의 열당 하나이상의 디바이스 키를 갖지 못하는 것으로 되어 있다. 2개의 장치들이 동일한 열의 동일한 키를 공유한다 할지라도, 키들이 랜덤하게 할당되는 경우에 임의의 2개 장치들이 매트릭스의 모든 열로부터 정확히 동일한 세트의 키들을 공유할 가능성은 매우 작다. 이러한 키들은 콘텐트를 해독하는데 이용된다.According to the encryption method disclosed in the aforementioned patent publication, the device key is sent from the device key matrix implemented in software to authenticated player-recorders. These keys can be sent to each other simultaneously or over time, but in either case no play-recorder is supposed to have more than one device key per column of the matrix. Although two devices share the same key in the same column, it is very unlikely that any two devices will share exactly the same set of keys from all columns of the matrix if the keys are randomly assigned. These keys are used to decrypt the content.

디바이스 (및 키)가 고의로 또는 실수로 손상되는 경우에, 그 디바이스의 키를 철회할(revoke) 필요가 있다. 일단의 키들을 효과적으로 철회함으로써 손상된 디바이스 (및 그의 복제품)는 철회후에 생성된 콘텐트를 연주할 수 없다. 전술한 특허에서, 각각의 철회에 대하여 약 320개의 메시지 바이트가 필요하다. 이는 효과적이기는 하지만, 좀더 나은 효율성을 위해서는 철회 메시지의 길이를 줄이는 것이 바람직하다.If a device (and key) is intentionally or accidentally compromised, it is necessary to revoke the device's key. By effectively withdrawing a set of keys, a damaged device (and its duplicate) cannot play the content created after the withdrawal. In the above patent, about 320 message bytes are needed for each withdrawal. Although effective, it is desirable to reduce the length of the revocation message for better efficiency.

전술한 특허에 개시된 시스템이 효과적이기는 하지만, 메시지의 헤더 영역(상기 특허에서는"미디어 키 블록"이라 지칭됨)의 크기 제약대문에,시스템의 수명기간중에 비교적 제한된 개수의 철회(예를 들어, DVD-오디오과 같은 3B 헤더의 경우에 10,000)만이 이루어질 수 있다. 이러한 숫자는 헤더 크기를 늘림으로써 증가될 수 있지만, 추가된 철회는 새롭게 만들어진 디바이스에만 적용가능하며, 헤더 크기가 늘어나기 이전에 만들어진 디바이스에 대해서는 적용하기 어렵다. "예전" 디바이스 및 "신규" 디바이스 모두에 대해 다수의 철회를 실행시킬 수 있는, 즉, 상태 비-유지(stateless) 수신기들을 책임질 수 있는 것이 바람직하다. 또한, 한개 이상의 디바이스가 전술한 특허 발명에서 손상된 디바이스와 특정 키를 공유하기 때문에, 일단의 디바이스 키들을 철회하는 것은 무결한 디바이스가 소유하고 있는 일부 키까지 철회하는 결과를 가져온다. 따라서, "양호한" 디바이스까지 부수적으로 철회하는 경우를 줄여서, 바람직하게는 그러한 가능성이 0이 되도록 하는 것이 바람직하다.Although the system disclosed in the aforementioned patent is effective, due to the size constraints of the header area of the message (referred to herein as "media key block"), there is a relatively limited number of revocations (eg DVDs) during the lifetime of the system. In the case of a 3B header such as audio, only 10,000) can be made. This number can be increased by increasing the header size, but the added revocation is only applicable to newly created devices, and difficult to apply to devices made before the header size is increased. It is desirable to be able to perform multiple withdrawals for both " old " and " new " devices, i.e. can be responsible for stateless receivers. In addition, since one or more devices share a particular key with a compromised device in the aforementioned patent invention, revoking a set of device keys results in the revocation of some keys owned by the intact device. Therefore, it is desirable to reduce the incidental withdrawal to "good" devices, so that the likelihood is preferably zero.

더욱이, 본 발명은 "상태 비-유지(stateless)" 수신기, 즉, 손상된 디바이스 들에 대한 대응수단을 받아들이기 위해 브로드캐스트간에 그들의 암호 상태를 반드시 갱신하고 있지 않는 수신기라는 어려운 시나리오에 관련된 것이다. 예를 들어, 유료채널에 가입한 텔레비전은 갱신된 암호화 데이터가 시스템에 걸쳐서 브로드캐스트되는 기간동안 자신의 셋탑박스에 에너지를 차단시킬지도 모른다. 이러한 디바이스는 다시 에너지가 공급된 후에 그 자체를 갱신시킬수 없게 되는 경우에 "상태 비-유지"되며, 따라서 미래의 콘텐트 암호해제에 필요한 갱신을 가지지 못할 수 있다.Moreover, the present invention relates to a difficult scenario of "stateless" receivers, i.e., receivers that do not necessarily update their cryptographic state between broadcasts to accept countermeasures for compromised devices. For example, a television that subscribes to a paid channel may cut off energy in its set-top box while the updated encrypted data is broadcast across the system. Such a device is "stateless" if it becomes unable to update itself after being energized again, and thus may not have the necessary updates for future content decryption.

게다가, 공중에게 판매되며 불법 복사를 방지하는 것이 바람직한 CD 및 DVD와 같은 미디어의 콘텐트를 보호할 필요성이 증가하고 있다. 이러한 시스템의 레코더들은 일반적으로 플레이어와 상호작용하지 않으며, 어떠한 플레이어도 판매되는 모든 디스크를 수신하는 것은 아니기 때문에 플레이어가 암호화 데이터 갱신의 모든 가능한 조각들을 획득하지 못할 것이다. 따라서, 이해되는 바와 같이, 판매되는 미디어의 콘텐트 보호가 상태 비-유지 수신기들에 대한 브로드캐스트 암호화에 관련된 한가지 문제점의 예이다.In addition, there is an increasing need to protect the content of media such as CDs and DVDs that are sold to the public and where it is desirable to prevent illegal copying. Recorders in such systems generally do not interact with the player, and since no player receives every disc sold, the player will not obtain all possible pieces of encrypted data update. Thus, as will be appreciated, content protection of media sold is an example of one problem related to broadcast encryption for stateless receivers.

더욱이, 적지않은 "불량" 제조업체들(즉, 합법/불법으로 키를 획득하여 키를 구비한 다량의 비인증된 디바이스를 제조하는 제조업체)의 존재 또한 문제이다. 잠재적인 다수의 불량업체들을 밝혀내는 것이 바람직하다.Moreover, the presence of a number of "bad" manufacturers (i.e., manufacturers who legally and illegally obtain keys and manufacture large quantities of unauthorized devices with keys) is also a problem. It is desirable to identify a number of potential defectors.

암호를 브로드캐스트하는 기타 방법들에는 "Broadcast Encryption" (Fiat 등이 지음, Crypto '93, LINCS vol. 839, pp 257-270, 1994)에 개시된 방법이 포함된다. 이 방법은 수신기들의 최대 "t"개의 수신기들이 서로 공모하는(collude) 한 임의의 개수의 수신기들을 제거하는 것이다. 그러나, Fiat 의 방법은 상대적으로 긴 메시지 길이를 필요로 하고, 상대적으로 많은 수의 키들이 수신기에 저장되어야 하고, 각각의 수신기들이 한번 이상의 암호해독 동작을 수행하여야 한다. 더욱이, Fiat의 방법은 상태 비-유지 수신기 시나리오를 고려하지 않는다. 얼마나 많은 수신기들이 공모할지에 대한 가정을 추측하는 것을 피할 필요성이 있다. 또한, 메시지 크기 및 저장된 키의 개수를 최소화하여야 하며, 수신기에 의해 수행되어야 할 암호해독 동작도 성능 최적화를 위해 최소화되어야 한다.Other methods of broadcasting ciphers include those disclosed in "Broadcast Encryption" (Fiat et al., Crypto '93, LINCS vol. 839, pp 257-270, 1994). This method eliminates any number of receivers as long as up to "t" receivers of the receivers collude with each other. However, Fiat's method requires a relatively long message length, a relatively large number of keys must be stored in the receiver, and each receiver must perform one or more decryption operations. Moreover, Fiat's method does not consider a stateless receiver scenario. There is a need to avoid guessing assumptions about how many receivers will conspire. In addition, the message size and the number of stored keys should be minimized, and the decryption operation to be performed by the receiver should be minimized for performance optimization.

Fiat의 시스템과 같이 다른 암호시스템은 상태 비-유지 수신기 시나리오를 제공하지 않으며, 따라서, 기록 매체내의 콘테트 보호에 효과적으로 적용될 수 없다. 이러한 시스템의 예로서, Wallner 등이 작성한 "Key management for multicast: Issues and Architectures"(IETF 드래프트 wallner-key, 1997), Wong 등이 작성한 "Secure Group Communication using key graphs" (SIGCOM 1998), Canetti 등이 작성한 "Multicast Security: A Taxonomy and Some Efficient Constructions, Proc. of INFOCOM, '99. vol. 2. pp 708-716 (1999), Canetti 등의 "Efficient Communication-storage Tradeoffs for Multicast Encryption" (Eurocrypt 1999, pp 459-474), McGrew 등의 "Key Establishment in Large Dynamic Groups Using One-Way Function Trees" (소프트웨어 엔지니어링에 대한 IEEE Transactions 에 제출함, 1998) 에 개시된 트리-기반 논리적 키 계측구조 시스템을 들 수 있다. Wallner 등 및 Wong 등의 방법에 대해 좀더 구체적으로 설명하면, 이진 트리의 각각의 노드에 독립적인 라벨을 할당함으로써 키들이 할당된다. 불행하게도, 참조된 방법에서 일부 라벨은 철회때마다 바뀐다. 명백하게, 이 방법은 상태 비-유지 수신기 시나리에오에는 부적합할 것이다. 이들 방법에서 모든 노드에 대한 라벨 변경과 관련된 철회가 배치(batch) 작업으로 이루어지더라도, 이는 수신기에서 최소한 log N의 암호해독과 rlog N의 암호전송을 필요로 하며, 불행히도 이는 비교적 높은 숫자가 될 것이다. (여기서, r은 철회될 디바이스의 개수이며, N은 시스템내 수신기의 전체 개수이다).Other cryptosystems, such as Fiat's system, do not provide a stateless receiver scenario and, therefore, cannot be effectively applied to content protection in a recording medium. Examples of such systems include "Key management for multicast: Issues and Architectures" by Wallner et al. (IETF draft wallner-key, 1997), "Secure Group Communication using key graphs" by Wong et al. (SIGCOM 1998), Canetti et al. "Multicast Security: A Taxonomy and Some Efficient Constructions, Proc. Of INFOCOM, '99. Vol. 2. pp 708-716 (1999), Canetti et al.," Efficient Communication-storage Tradeoffs for Multicast Encryption "(Eurocrypt 1999, pp 459-474), McGrew et al., "Tree Establishment in Large Dynamic Groups Using One-Way Function Trees" (Submitted to IEEE Transactions on Software Engineering, 1998). In more detail with Wallner et al. And Wong et al., Keys are assigned by assigning an independent label to each node in the binary tree. Obviously, this method would be inadequate for stateless receiver scenarios, even if the revocation associated with label changes for all nodes is done in batch, at least in log N at the receiver. Decryption and rlog N transmission, which, unfortunately, will be a relatively high number (where r is the number of devices to be withdrawn and N is the total number of receivers in the system).

따라서, 본 발명은 브로드캐스트 암호화에 대한 방법을 제공하며, 이 방법은 일군의 사용자들중 각각의 사용자에게 개별 개인 정보 Iu를 할당하는 단계와, 적어도 하나의 세션 암호화키 K를 선택하는 단계와, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1, ... Lim을 구비하는 디스조인트(disjoint) 부집합 Si1 , ... Sim로 분할하는 단계와, 상기 세션 키 K를 상기 부집합 키 Li1, ... Lim로 암호화하여 세션키 K에 대해 m개의 암호화 버전을 만드는 단계를 포함한다. Accordingly, the present invention provides a method for broadcast encryption, the method comprising assigning individual personal information I u to each of a group of users, selecting at least one session encryption key K; Dividing the users that do not belong to the withdrawal set R into disjoint subsets S i1 , ... S im with associative subset keys L i1 , ... L im , and dividing the session key K; Encrypting with the subset key L i1 , ... L im to create m encrypted versions for session key K.

상기 방법은 사용자들을 그룹 S1,...,Sw로 분할하는 단계를 더 포함하는데, "w"는 정수이며, 상기 그룹은 트리내에 부트리를 형성한다.The method further comprises dividing the users into groups S 1 ,..., S w , where "w" is an integer, the group forming a bootie in the tree.

바람직하게, 상기 트리는 완전이진트리이다.Preferably, the tree is a full binary tree.

상기 방법은 바람직하게는 세션키를 해독하기 위해 개인정보 Iu를 이용하는 단계를 더 포함한다.The method preferably further comprises using personal information I u to decrypt the session key.

바람직하게, 해독 작업은 사용자가 부집합 Sij에 속하도록 정보 ij를 이용하는 단계와, 사용자의 개인 정보를 이용하여 부집합 키 Lij를 검색하는 단계를 포함한다. Preferably, the decryption operation comprises using the information i j so that the user belongs to the subset S ij , and retrieving the subset key L ij using the user's personal information.

바람직하게, 각각의 부집합 Si1, ... Sim는 임의의 노드 vi를 루트로 하는 부트리의 모든 리프(leaf)들을 포함하며, 부트리 내의 적어도 각각의 노드는 각각의 부집합 키와 연관되어 있다.Preferably, each subset S i1 , ... S im includes all the leaves of the bootie rooted at any node v i , at least each node in the bootie having a respective subset key. Is associated with.

바람직하게, 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트가 사용자에게 제공되며, 헤더는 최대 r*log(N/r)개의 부집합 키들과 암호를 포함하며, r은 철회집합 R의 사용자의 수이며, N은 전체 사용자 수이다.Preferably, the content is provided to the user with at least one message defining the header, the header comprising at most r * log (N / r) subset keys and passwords, r being the number of users of the withdrawal set R. Where N is the total number of users.

바람직하게, 각각의 사용자는 log N개의 키를 저장하여야 하며, 여기서 N은 전체 사용자 수이다.Preferably, each user should store log N keys, where N is the total number of users.

바람직하게, 적어도 하나의 메시지로 된 콘텐트가 사용자들에게 제공되며, 각각의 사용자는 최대 log log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리하는데, 여기서 N은 전체 사용자 수이다.Preferably, content of at least one message is provided to users, where each user processes the message using at most log log N operations and one decryption operation, where N is the total number of users.

바람직하게, 철회 집합 R은 스패닝(spanning) 트리를 정의하고, 상기 스패닝 트리의 노드에 첨부된 루트들을 갖는 부트리들은 부집합을 정의한다.Preferably, the withdrawal set R defines a spanning tree, and the booties with roots attached to the nodes of the spanning tree define a subset.

바람직하게, 트리는 루트와 다수의 노드들을 포함하며, 각각의 노드는 적어도 하나의 연관 라벨을 구비하고, 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함한다. Preferably, the tree comprises a root and a plurality of nodes, each node having at least one associated label, each subset being any of the descendants of v i while in a bootie rooted at any node v i . This includes all leaves that do not belong in the bootie rooted at another node v j .

바람직하게, 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트가 사용자에게 제공되고, 헤더는 최대 2r-1개의 부집합 키와 암호를 포함하는데, 여기서 r은 철회집합 R의 사용자 수이다.Preferably, the content of at least one message defining the header is provided to the user, the header comprising a maximum of 2r-1 subset keys and ciphers, where r is the number of users of the withdrawal set R.

바람직하게, 각각의 사용자는 .5(logN)2 + .5log N +1개의 키를 저장하여야 하고, N은 전체 사용자 수이다.Preferably, each user should store .5 (logN) 2 + .5log N +1 keys, where N is the total number of users.

바람직하게, 사용자에게 적어도 하나의 메시지로 된 콘텐트가 제공되고, 각각의 사용자는 최대 log N개의 연산과 하나의 해독연산을 이용하여 메시지를 처리하며, 여기서 N은 전체 사용자 수이다.Preferably, the user is provided with content of at least one message, each user processing a message using at most log N operations and one decryption operation, where N is the total number of users.

바람직하게, 철회집합 R은 스패닝 트리를 정의하고, 방법은 커버 트리 T를 스패닝 트리로서 초기화시키는 단계와, 상기 커버 트리 T가 최대(at most) 하나의 노드를 가질때까지 상기 커버 트리 T로부터 노드들을 제거하고 상기 커버 트리 T에 노드들을 추가하는 동작을 반복하는 단계를 포함한다.Preferably, the retract set R defines a spanning tree, and the method initializes the cover tree T as a spanning tree, and removes nodes from the cover tree T until the cover tree T has at most one node. Removing and repeating adding nodes to the cover tree T.

바람직하게, 각각의 노드는 적어도 하나의 그의 조상(ancestor)에 의해 가능하게 유도되는 적어도 하나의 라벨을 구비하고, 상기 사용자와 루트간의 직접 경로상의 노드들이 아니라 상기 직접 경로로부터 매달려있는(hang) 모든 노드들의 라벨들이 각각의 사용자에게 할당된다.Preferably, each node has at least one label possibly derived by at least one of its ancestors and hangs from the direct path rather than the nodes on the direct path between the user and the route. Labels of nodes are assigned to each user.

바람직하게, 슈도랜덤(pseudorandom) 시퀀스 생성기를 이용하여 라벨들이 부 집합에 할당되고, 해독 동작은 상기 슈도랜덤 시퀀스 생성기값을 구하는(evaluation) 단계를 포함한다.Preferably, labels are assigned to a subset using a pseudorandom sequence generator, and the decoding operation includes evaluating the pseudorandom sequence generator value.

바람직하게, 암호함수 EL를 포함하는 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트가 사용자에게 제공되고, 상기 방법은 암호함수 EL를 프리픽스-절단(prefix-truncate)하는 단계를 포함한다.Preferably, the content is provided to the user in at least one message defining a header comprising the cryptographic function E L , the method comprising prefix-truncate the cryptographic function E L.

바람직하게, 트리는 루트와 다수의 노드를 포함하고, 각각의 노드는 연관키를 가지며, 각각의 사용자에게 상기 사용자 및 루트를 나타내는 리프간의 직접 경로상의 모든 노드들로부터의 키가 할당된다.Preferably, the tree comprises a root and a number of nodes, each node having an associated key, and each user is assigned a key from all nodes on the direct path between the user and the leaf representing the root.

바람직하게, 다수의 부분을 정의하는 적어도 하나의 메시지로 된 콘텐트가 사용자에 제공되고, 각각의 부분은 각각의 세션 키로써 암호화된다.Preferably, the content is provided to the user in at least one message defining a plurality of portions, each portion being encrypted with a respective session key.

본발명은 바람직하게 컴퓨터 프로그램 장치를 제공하는데, 컴퓨터 프로그램 장치는 컴퓨터에 의해 이용가능한 프로그램 명령어들을 포함하고, 복수의 부집합 키들을 식별하기 위해 트리에 액세스하기 위한 로직 수단과, 세션키를 이용하여 메시지를 암호화하기 위한 로직 수단과, 세션키의 암호화 버전을 만들기 위해 각각의 부집합 키들을 이용하여 적어도 한번 세션키를 암호화하기 위한 로직 수단과, 다수의 상태 비-유지 수신기에 메시지 헤더내에 세션키 암호화 버전을 전송하기 위한 로직 수단을 포함한다. The present invention preferably provides a computer program device, comprising program instructions available by the computer, using logic means for accessing the tree to identify a plurality of subset keys, and using a session key Logic means for encrypting the message, logic means for encrypting the session key at least once using respective subset keys to create an encrypted version of the session key, and a session key in a message header at a plurality of stateless receivers. Logic means for transmitting the encrypted version.

컴퓨터 프로그램 장치는 바람직하게는 철회 집합 R에 속하지 않는 수신기들을 연과 부집합 키 Li1,...Lim를 구비하는 디스조인트 부집합 Si1,...S im으로 분할하 기 위한 로직 수단을 더 포함한다. The computer program device preferably comprises logic means for dividing receivers which do not belong to the withdrawal set R into disjoint subsets S i1 , ... S im having a link and subset key L i1 , ... L im . It includes more.

컴퓨터 프로그램 장치는 바람직하게는 사용자들을 그룹 Si,...Sw으로 분할하기 위한 수단을 더 포함하는데, 여기서 "w"는 정수이며, 상기 그룹들은 트리내의 부트리를 형성한다.The computer program device preferably further comprises means for dividing users into groups S i , ... S w , where "w" is an integer, said groups forming a bootie in the tree.

컴퓨터 프로그램 장치는 바람직하게는 세션키 해독을 위해 개인 정보 Iu를 이용하기 위한 로직 수단을 더 포함한다.The computer program device preferably further comprises logic means for using the personal information I u for session key decryption.

바람직하게, 해독 수단은 수신기가 부집합 Si,j에 속하게 되는 정보 ij를 이용하고 상기 수신기의 개인 정보로부터 키 Li,j를 검색하기 위한 수단을 더 포함한다.Preferably, the decryption means further comprises means for retrieving the key L i, j from the receiver's personal information using the information i j that the receiver belongs to the subset S i, j .

바람직하게, 각각의 부집합 Si1,...Sim은 임의의 노드 vi를 루트로 하는 부트리의 모든 리프들을 포함하고, 상기 부트리내의 적어도 각각의 노드는 각각의 부집합 키와 연관되어 있다.Preferably, each subset S i1 , ... S im includes all the leaves of the bootie rooted at any node v i , and at least each node in the bootie is associated with each subset key. It is.

바람직하게, 로직 수단은 헤더를 정의하는 적어도 하나의 메시지로 콘텐트를 수신기들에 제공하며, 상기 헤더는 최대 r*log(N/r)개의 부집합 키들과 암호를 포함하며, r은 철회집합 R의 사용자의 수이며, N은 전체 사용자 수이다.Preferably, the logic means provides the content to the receivers with at least one message defining a header, the header comprising up to r * log (N / r) subset keys and ciphers, r being a retracted set R Is the number of users, N is the total number of users.

바람직하게, 각각의 수신기는 log N개의 키를 저장하여야 하며, 여기서 N은 전체 수신기 수이다.Preferably, each receiver must store log N keys, where N is the total number of receivers.

바람직하게, 로직 수단은 적어도 하나의 메시지로 된 콘텐트를 수신기에 제 공하며, 각각의 수신기는 최대 log log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리하는데, 여기서 N은 전체 수신기 개수이다.Preferably, the logic means provides the receiver with content of at least one message, each receiver processing the message using at most log log N operations and one decryption operation, where N is the total number of receivers. .

바람직하게, 철회 집합 R은 스패닝 트리를 정의하고, 상기 스패닝 트리의 노드에 첨부된 루트들을 구비하는 부트리들은 부집합을 정의한다.Preferably, the withdrawal set R defines a spanning tree, and the booties having roots attached to the nodes of the spanning tree define a subset.

바람직하게, 트리는 루트와 다수의 노드들을 포함하며, 각각의 노드는 적어도 하나의 연관 라벨을 구비하고, 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함한다. Preferably, the tree comprises a root and a plurality of nodes, each node having at least one associated label, each subset being any of the descendants of v i while in a bootie rooted at any node v i . This includes all leaves that do not belong in the bootie rooted at another node v j .

바람직하게, 로직 수단은 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신기들에 제공하고, 헤더는 최대 2r-1개의 부집합 키와 암호를 포함하는데, 여기서 r은 철회집합 R의 수신기 개수이다.Preferably, the logic means provides the receivers with content in at least one message defining a header, the header comprising at most 2 r-1 subset keys and ciphers, where r is the number of receivers in the retract set R. .

바람직하게, 각각의 수신기는 .5(logN)2 + .5log N +1개의 키를 저장하여야 하고, N은 전체 수신기 개수이다.Preferably, each receiver must store .5 (logN) 2 + .5log N +1 keys, where N is the total number of receivers.

바람직하게, 로직 수단은 수신기에 적어도 하나의 메시지로 된 콘텐트를 제공하고, 각각의 수신기는 최대 log N개의 연산과 하나의 해독연산을 이용하여 메시지를 처리하며, 여기서 N은 전체 수신기 개수이다.Preferably, the logic means provides the content of at least one message to the receiver, and each receiver processes the message using at most log N operations and one decryption operation, where N is the total number of receivers.

바람직하게, 철회집합 R은 스패닝 트리를 정의하고, 컴퓨터 프로그램 장치는 커버 트리 T를 스패닝 트리로서 초기화시키기 위한 로직 수단과, 상기 커버 트리 T가 최대 하나의 노드를 가질 때까지 상기 커버 트리 T로부터 노드들을 제거하고 상 기 커버 트리 T에 노드들을 추가하는 동작을 반복적으로 수행하기 위한 수단을 포함한다.Preferably, the retract set R defines a spanning tree, and the computer program device comprises logic means for initializing the cover tree T as the spanning tree, and nodes from the cover tree T until the cover tree T has at most one node. Means for iteratively performing the operation of removing them and adding nodes to the cover tree T.

바람직하게, 로직 수단은 슈도랜덤 시퀀스 생성기를 이용하여 라벨들을 수신기들에 할당하고, 상기 라벨들은 부집합 키를 유도한다.Preferably, the logic means assigns labels to receivers using a pseudorandom sequence generator, which labels derive a subset key.

바람직하게, 해독 수단은 상기 슈도랜덤 시퀀스 생성기값을 구하는 수단을 포함한다.Preferably, the decoding means comprises means for obtaining the pseudorandom sequence generator value.

바람직하게, 로직 수단은 암호함수 EL를 포함하는 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신기들에 제공하고, 상기 컴퓨터 프로그램 장치는 암호함수 EL를 프리픽스-절단(prefix-truncate)하기 위한 로직 수단을 포함한다.Advantageously, the logic means provides to the receivers content in at least one message defining a header comprising a cryptographic function E L , wherein the computer program device performs prefix-truncate the cryptographic function E L. Logic means for the control.

바람직하게, 트리는 루트와 다수의 노드를 포함하고, 각각의 노드는 연관키를 가지며, 로직 수단은 각각의 수신기에 상기 수신기 및 루트를 나타내는 리프간의 직접 경로상의 모든 노드들의 키들을 할당한다.Preferably, the tree comprises a root and a number of nodes, each node having an associated key, and logic means assigns to each receiver the keys of all nodes on the direct path between the receiver and the leaf representing the route.

바람직하게, 로직 수단은 다수의 부분을 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신기에 제공하고, 각각의 부분은 각각의 세션 키로써 암호화된다.Preferably, the logic means provides the receiver with content in at least one message defining a plurality of portions, each portion being encrypted with a respective session key.

본원발명은 바람직하게 컴퓨터로 하여금 브로드캐스트 콘텐트를 암호화하는 단계와, 상기 브로드캐스트 콘텐트를 다수의 양호한 상태 비-유지 수신기들과 적어도 하나의 철회 수신기에 전송하되 각각의 양호한 상태 비-유지 수신기는 콘텐트를 해독할 수 있고 상기 철회 수신기는 콘텐트를 해독할 수 없도록 하는 단계를 포함하는 방법을 실행하도록 만드는 명령어들로 프로그래밍된 컴퓨터를 제공한다.The present invention preferably comprises the steps of a computer encrypting the broadcast content and transmitting the broadcast content to a plurality of good state non-holding receivers and at least one revocation receiver, wherein each good state non-maintaining receiver is capable of content. And the revocation receiver provides a computer programmed with instructions to execute a method comprising the step of not being able to decrypt the content.

바람직하게, 상기 방법은 일군의 수신기들중 각각의 수신기에 개별 개인 정보 Iu를 할당하는 단계와, 적어도 하나의 세션 암호화키 K를 선택하는 단계와, 철회 집합 R에 속하지 않는 모든 수신기들을 연관 부집합 키 Li1, ... Lim을 갖는 디스조인트 부집합 Si1, ... Sim로 분할하는 단계와, 상기 세션 키 K를 상기 부집합 키 L i1, ... Lim로 암호화하여 세션키 K에 대한 m개의 암호화 버전을 만드는 단계를 포함한다. Advantageously, the method comprises assigning individual personal information I u to each of a group of receivers, selecting at least one session encryption key K, and associating all receivers that do not belong to the withdrawal set R; set keys L i1, ... disjoint subsets having L im S i1, ... S and dividing by im, the session key K to the subset key L i1, ... L im to encrypt Generating m encrypted versions of session key K.

바람직하게, 상기 방법은 사용자들을 그룹 S1,...,Sw로 분할하는 단계를 더 포함하는데, "w"는 정수이며, 상기 그룹은 트리내에 부트리를 형성한다.Preferably, the method further comprises dividing the users into groups S 1 , ..., S w , where "w" is an integer and the group forms a bootie in the tree.

바람직하게, 상기 트리는 완전이진트리이다.Preferably, the tree is a full binary tree.

상기 방법은 바람직하게는 세션키를 해독하기 위해 개인정보 Iu를 이용하는 단계를 더 포함한다.The method preferably further comprises using personal information I u to decrypt the session key.

바람직하게, 컴퓨터에 의해 수행되는 해독 동작은 수신기가 부집합 Sij에 속하게 되는 정보 ij를 이용하는 단계와, 수신기의 개인 정보를 이용하여 키 Lij를 검색하는 단계를 포함한다. Preferably, the decode operation performed by the computer includes the step of the receiver sub-set using the personal information of the information; and a receiver using a i j that belongs to the S ij retrieve the key L ij.

바람직하게, 각각의 부집합 Si1, ... Sim는 임의의 노드 vi를 루트로 하는 부트리의 모든 리프들을 포함하며, 부트리 내의 적어도 각각의 노드는 부집합 키 각각과 연관되어 있다.Preferably, each subset S i1 , ... S im includes all the leaves of the bootie rooted at any node v i , and at least each node in the bootie is associated with each subset key. .

바람직하게, 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트가 수신기에게 제공되며, 헤더는 최대 r*log(N/r)개의 부집합 키들과 암호를 포함하며, r은 철회집합 R의 수신기 개수이며, N은 전체 수신기 개수이다.Preferably, the content of at least one message defining the header is provided to the receiver, the header comprising at most r * log (N / r) subset keys and ciphers, where r is the number of receivers in the withdrawal set R , N is the total number of receivers.

바람직하게, 각각의 수신기는 log N개의 키를 저장하여야 하며, 여기서 N은 전체 수신기 개수이다.Preferably, each receiver must store log N keys, where N is the total number of receivers.

바람직하게, 적어도 하나의 메시지로 된 콘텐트가 수신기들에 제공되며, 각각의 수신기는 최대 log log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리하는데, 여기서 N은 전체 수신기 개수이다.Preferably, at least one message content is provided to the receivers, with each receiver processing the message using at most log log N operations and one decryption operation, where N is the total number of receivers.

바람직하게, 철회 집합 R은 스패닝 트리를 정의하고, 상기 스패닝 트리의 노드에 첨부된 루트들을 구비하는 부트리들은 부집합을 정의한다.Preferably, the withdrawal set R defines a spanning tree, and the booties having roots attached to the nodes of the spanning tree define a subset.

바람직하게, 트리는 루트와 다수의 노드들을 포함하며, 각각의 노드는 적어도 하나의 연관 라벨을 구비하고, 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함한다. Preferably, the tree comprises a root and a plurality of nodes, each node having at least one associated label, each subset being any of the descendants of v i while in a bootie rooted at any node v i . This includes all leaves that do not belong in the bootie rooted at another node v j .

바람직하게, 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트가 수신기에 제공되고, 헤더는 최대 2r-1개의 부집합 키와 암호를 포함하는데, 여기서 r은 철회집합 R의 수신기 개수이다.Preferably, the content of at least one message defining the header is provided to the receiver, wherein the header includes at most 2r-1 subset keys and ciphers, where r is the number of receivers in the withdrawal set R.

바람직하게, 각각의 수신기는 .5(logN)2 + .5log N +1개의 키를 저장하여야 하고, N은 전체 수신기 개수이다.Preferably, each receiver must store .5 (logN) 2 + .5log N +1 keys, where N is the total number of receivers.

바람직하게, 수신기에게 적어도 하나의 메시지로 된 콘텐트가 제공되고, 각각의 수신기는 최대 log N개의 연산에 부가하여 하나의 해독연산을 이용하여 메시지를 처리하며, 여기서 N은 전체 수신기 개수이다.Preferably, the receiver is provided with content in at least one message, and each receiver processes the message using one decryption operation in addition to up to log N operations, where N is the total number of receivers.

바람직하게, 철회집합 R은 스패닝 트리를 정의하고, 상기 컴퓨터에 의해 수행되는 방법은 커버 트리 T를 스패닝 트리로서 초기화시키는 단계와, 상기 커버 트리 T가 최대 하나의 노드를 가질때까지 상기 커버 트리 T로부터 노드들을 제거하고 상기 커버 트리 T에 노드들을 추가하는 동작을 반복하는 단계를 포함한다.Preferably, the retract set R defines a spanning tree, and the method performed by the computer comprises initializing a cover tree T as a spanning tree, from the cover tree T until the cover tree T has at most one node. Removing the nodes and adding the nodes to the cover tree T.

바람직하게, 상기 컴퓨터는 슈도랜덤 시퀀스 생성기를 이용하여 트리의 수신기들에 라벨들을 할당한다. Preferably, the computer assigns labels to receivers of the tree using a pseudorandom sequence generator.

바람직하게, 상기 컴퓨터에 의해 수행되는 해독 단계는 상기 슈도랜덤 시퀀스 생성기값을 구하는 단계를 포함한다.Advantageously, the step of decrypting performed by the computer comprises obtaining the pseudorandom sequence generator value.

바람직하게, 암호함수 EL를 포함하는 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트가 수신기에 제공되고, 상기 컴퓨터에 의해 수행되는 방법은 암호함수 EL를 프리픽스-절단(prefix-truncate)하는 단계를 포함한다.Preferably, content is provided to the receiver in at least one message defining a header comprising a cryptographic function E L , and the method performed by the computer comprises prefix-truncate the cryptographic function E L. It includes.

바람직하게, 다수의 부분을 정의하는 적어도 하나의 메시지로 된 콘텐트가 수신기에 제공되고, 각각의 부분은 각각의 세션 키로써 암호화된다.Preferably, content in at least one message defining a plurality of portions is provided to the receiver, each portion being encrypted with a respective session key.

바람직하게, 각각의 노드는 다수의 라벨을 갖고 상기 노드의 각각의 조상이 각각의 라벨을 유도해내며, 각 사용자에게 상기 사용자 및 루트간의직접 경로상으로부터 벗어나 매달려있는 모든 노드들로부터의 라벨들이 할당된다.Preferably, each node has a plurality of labels and each ancestor of the node derives each label, and each user is assigned labels from all the nodes hanging off the direct path between the user and the root. do.

본 발명은 바람직하게는 암호를 브로드캐스트하는 방법을 포함한다. 상기 방법은 일군의 사용자들중 각각의 사용자에게 개별 개인 정보 Iu를 할당하는 단계와, 적어도 하나의 세션 암호화키 K를 선택하는 단계와, 상기 사용자들을 그룹 S1,...,Sw로 분할하는 단계 - "w"는 정수이며, 상기 그룹은 트리내에 부트리를 형성함-와, 철회 집합 R에 속하지 않는 모든 수신기들을 연관 부집합 키 Li1, ... Lim을 구비하는 디스조인트 부집합 Si1,..., Sim로 분할하는 단계와, 상기 세션 키 K를 상기 부집합 키 Li1, ..., Lim로 암호화하여 세션키 K에 대한 m개의 암호화 버전을 만드는 단계를 포함하며, 상기 트리는 루트와 다수의 노드들을 포함하고, 각각의 노드는 적어도 하나의 연관 라벨을 가지며, 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함한다. The present invention preferably includes a method of broadcasting a password. The method includes allocating individual personal information I u to each of a group of users, selecting at least one session encryption key K, and assigning the users to groups S 1 ,..., S w . Dividing-"w" is an integer, said group forming a bootie in the tree, and a disjoint having an associated subset key L i1 , ... L im for all receivers not belonging to the withdrawal set R; Dividing into subset S i1 , ..., S im , and encrypting the session key K into the subset key L i1 , ..., L im to create m encrypted versions of session key K Wherein the tree comprises a root and a plurality of nodes, each node having at least one associated label, each subset being a descendant of v i , within a bootie rooted at any node v i . Any other node in the booty rooted by j j Includes all leaves that do not belong.

본 발명은 다중캐스트 시스템의 잠재적인 상태 비-유지 수신기들을 포함하는데, 상기 수신기는 상기 수신기와 상기 수신기를 나타내는 리프를 갖는 트리의 루트간의 직접 경로내에 있지 않고 상기 집적 경로로부터 벗어나 있으며, 상기 수신기를 나타내는 리프의 조상인 임의의 노드 vi에 의해 유도되는 다수의 노드 라벨을 저장하기 위한 적어도 하나의 데이터 저장장치를 포함하며, 상기 라벨들은 상기 라벨들로부터 도출되는 부집합키들을 해독하기위해 수신기에 의해 이용가능한 수신기 의 개인 정보 Iu를 형성한다.The present invention includes potential stateless receivers of a multicast system, wherein the receiver is not in the direct path between the receiver and the root of a tree having a leaf representing the receiver and is out of the integrated path and removes the receiver. At least one data storage for storing a plurality of node labels derived by any node v i that is an ancestor of the representing leaf, wherein the labels are sent to a receiver to decrypt subset keys derived from the labels. Form the personal information I u of the receiver available by.

바람직하게, 수신기는 슈도랜덤 함수값을 계산함으로써 노드 vi를 루트로 하는 직접 경로 집합을 제외한 모든 집합들의 부집합 키들을 계산하지만, 기타 다른 부집합키들을 계산할 수는 없다.Preferably, the receiver calculates the subset keys of all sets except the direct path set rooted at node v i by calculating the pseudorandom function value, but cannot calculate any other subset keys.

바람직하게, 수신기는 적어도 하나의 부집합 키를 이용하여 세션키를 해독하고, 세션키는 콘텐트를 해독하는데 이용된다.Preferably, the receiver decrypts the session key using at least one subset key, and the session key is used to decrypt the content.

바람직하게, 본 발명은 콘텐트 수신기를 포함하는데, 상기 수신기는 각각의 개인 정보 Iu를 저장하기 위한 수단과, 다수의 부집합키들로 암호화된 적어도 하나의 세션 암호화키 K를 수신하기 위한 수단과, 상기 콘텐트 플레이를 위해 세션키 K를 해독할 수 있도록 상기 개인 정보를 이용하여 적어도 하나의 부집합 키를 획득하기 위한 수단을 포함한다.Preferably, the present invention comprises a content receiver, the receiver comprising: means for storing respective personal information I u , means for receiving at least one session encryption key K encrypted with a plurality of subset keys; Means for obtaining at least one subset key using said personal information to be able to decrypt a session key K for said content play.

바람직하게, 수신기는 일단의 그룹 S1,...,Sw중 하나로 분할되며("w"는 정수임), 상기 그룹은 노드와 리프들을 정의하는 트리내에 부트리를 형성한다.Preferably, the receiver is divided into one of a group of groups S 1 , ..., S w ("w" is an integer), which group forms a bootie in the tree defining nodes and leaves.

바람직하게, 일단의 그룹 S1,...,Sw으로부터 도출된 부집합 Si1,...,Sim 은 커버를 정의한다. Preferably, the subset Si 1 , ..., Sim derived from the group of groups S 1 , ..., S w defines a cover.

바람직하게, 수신기는 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신하고, 헤더는 최대 r*log(N/r)개의 부집합 키들과 암호를 포함하며, r은 철회집합 R의 수신기 개수이며, N은 전체 수신기 개수이다.Preferably, the receiver receives content consisting of at least one message defining a header, the header comprising at most r * log (N / r) subset keys and ciphers, r being the number of receivers in the withdrawal set R , N is the total number of receivers.

바람직하게, 수신기는 log N개의 키를 저장하여야 하며, 여기서 N은 전체 수신기 개수이다.Preferably, the receiver should store log N keys, where N is the total number of receivers.

바람직하게, 수신기는 적어도 하나의 메시지로 된 콘텐트를 수신하고, 수신기는 최대 log log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리하는데, 여기서 N은 전체 수신기 개수이다.Preferably, the receiver receives the content of at least one message, and the receiver processes the message using at most log log N operations and one decryption operation, where N is the total number of receivers.

바람직하게, 철회 집합 R은 스패닝 트리를 정의하고, 상기 스패닝 트리의 노드에 첨부된 루트들을 구비하는 부트리들은 부집합을 정의한다.Preferably, the withdrawal set R defines a spanning tree, and the booties having roots attached to the nodes of the spanning tree define a subset.

바람직하게, 트리는 루트와 다수의 노드들을 포함하며, 각각의 노드는 적어도 하나의 연관 라벨을 구비하고, 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함한다. Preferably, the tree comprises a root and a plurality of nodes, each node having at least one associated label, each subset being any of the descendants of v i while in a bootie rooted at any node v i . This includes all leaves that do not belong in the bootie rooted at another node v j .

바람직하게, 수신기는 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신하고, 헤더는 최대 2r-1개의 부집합 키와 암호를 포함하는데, 여기서 r은 철회집합 R의 수신기 개수이다.Preferably, the receiver receives the content of at least one message defining the header, the header comprising at most 2r-1 subset keys and ciphers, where r is the number of receivers in the withdrawal set R.

바람직하게, 각각의 수신기는 .5(logN)2 + .5log N +1개의 키를 저장하여야 하고, N은 전체 수신기 개수이다.Preferably, each receiver must store .5 (logN) 2 + .5log N +1 keys, where N is the total number of receivers.

바람직하게, 수신기에게 적어도 하나의 메시지로 된 콘텐트가 제공되고, 수신기는 최대 log N개의 연산과 하나의 해독연산을 이용하여 메시지를 처리하며, 여기서 N은 전체 수신기 개수이다.Preferably, the receiver is provided with content in at least one message, and the receiver processes the message using at most log N operations and one decryption operation, where N is the total number of receivers.

바람직하게, 수신기는 슈도랜덤 시퀀스 생성기값을 구함으로써 부집합 키를 해독한다.Preferably, the receiver decrypts the subset key by obtaining the pseudorandom sequence generator value.

바람직하게, 본 발명은 콘텐트 수신기를 포함하는데, 상기 수신기는 각각의 개인 정보 Iu를 저장하기 위한 데이터 저장 디바이스와, 다수의 부집합키들로 암호화된 적어도 하나의 세션 암호화키 K를 수신하는 프로세싱 디바이스와, 콘텐트를 암호화하는 세션키와, 상기 콘텐트를 플레이하기 위해 상기 세션키 K를 해독할 수 있도록 상기 개인 정보를 이용하여 적어도 하나의 부집합 키를 획득하는 프로세싱 디바이스를 포함한다.Preferably, the present invention comprises a content receiver, the receiver comprising a data storage device for storing respective personal information I u and a processing device for receiving at least one session encryption key K encrypted with a plurality of subset keys. And a processing device for obtaining a session key for encrypting content and at least one subset key using the personal information to decrypt the session key K for playing the content.

바람직하게, 수신기는 일단의 그룹 S1,...,Sw중 하나로 분할되며("w"는 정수임), 상기 그룹은 트리내에 부트리를 형성한다.Preferably, the receiver is divided into one of a group of groups S 1 , ..., S w (where "w" is an integer) and the group forms a bootie in the tree.

바람직하게, 일단의 그룹 S1,...,Sw으로부터 도출된 부집합 Si1,...,Sim 은 커버를 정의한다. Preferably, the subset Si 1 , ..., Sim derived from the group of groups S 1 , ..., S w defines a cover.

바람직하게, 수신기는 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신하고, 헤더는 최대 r*log(N/r)개의 부집합 키들과 암호를 포함하며, r은 철회집합 R의 수신기 개수이며, N은 전체 수신기 개수이다.Preferably, the receiver receives content consisting of at least one message defining a header, the header comprising at most r * log (N / r) subset keys and ciphers, r being the number of receivers in the withdrawal set R , N is the total number of receivers.

바람직하게, 수신기는 log N개의 키를 저장하여야 하며, 여기서 N은 전체 수신기 개수이다.Preferably, the receiver should store log N keys, where N is the total number of receivers.

바람직하게, 수신기는 적어도 하나의 메시지로 된 콘텐트를 수신하고, 수신기는 최대 log log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리하는 데, 여기서 N은 전체 수신기 개수이다.Preferably, the receiver receives the content of at least one message, and the receiver processes the message using at most log log N operations and one decryption operation, where N is the total number of receivers.

바람직하게, 철회 집합 R은 스패닝 트리를 정의하고, 상기 스패닝 트리의 노드에 첨부된 루트들을 구비하는 부트리들은 부집합을 정의한다.Preferably, the withdrawal set R defines a spanning tree, and the booties having roots attached to the nodes of the spanning tree define a subset.

바람직하게, 트리는 루트와 다수의 노드들을 포함하며, 각각의 노드는 적어도 하나의 연관 라벨을 구비하고, 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함한다. Preferably, the tree comprises a root and a plurality of nodes, each node having at least one associated label, each subset being any of the descendants of v i while in a bootie rooted at any node v i . This includes all leaves that do not belong in the bootie rooted at another node v j .

바람직하게, 수신기는 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신하고, 헤더는 최대 2r-1개의 부집합 키와 암호를 포함하는데, 여기서 r은 철회집합 R의 수신기 개수이다.Preferably, the receiver receives the content of at least one message defining the header, the header comprising at most 2r-1 subset keys and ciphers, where r is the number of receivers in the withdrawal set R.

바람직하게, 각각의 수신기는 .5(logN)2 + .5log N +1개의 키를 저장하여야 하고, N은 전체 수신기 개수이다.Preferably, each receiver must store .5 (logN) 2 + .5log N +1 keys, where N is the total number of receivers.

바람직하게, 수신기에게 적어도 하나의 메시지로 된 콘텐트가 제공되고, 수신기는 최대 log N개의 연산에 부가하여 하나의 해독연산을 이용하여 메시지를 처리하며, 여기서 N은 전체 수신기 개수이다.Preferably, the receiver is provided with content of at least one message, and the receiver processes the message using one decryption operation in addition to up to log N operations, where N is the total number of receivers.

바람직하게, 수신기는 슈도랜덤 시퀀스 생성기값을 구함으로써 부집합 키를 해독한다.Preferably, the receiver decrypts the subset key by obtaining the pseudorandom sequence generator value.

바람직하게, 본 발명은 일반형태 <[ii,i2,,..,im, ELi1(K),ELi2(K),...,ELim(K)],FK(M)>의 콘텐트 메시지를 저장하는 매체를 포함하는데, K는 세션키이고, FK는 암호 원시함수(encryption primitive)이고, EK는 암호 원시함수이고, Li는 암호 브로드캐스트 시스템에서 수신기 부집합들과 연관된 부집합키들이고, M은 메시지 부분이고, ii,i2,,..,im는 커버를 정의하는 트리 노드 부집합이다.Preferably, the invention of the general form <[i i, i 2 ,, .., i m, E Li1 (K), E Li2 (K), ..., E Lim (K)], F K (M ) Is a medium for storing content messages, where K is the session key, F K is the encryption primitive, E K is the crypto primitive, and L i is the receiver subset in the crypto broadcast system. Are the subset keys associated with them, M is the message part, and i i , i 2 ,, .., i m are the subset of tree nodes that define the cover.

바람직하게, 암호 원시함수 FK는 메시지 부분 M과 세션키 K에 의해 생성된 스트림 암호를 XOR함으로써 구현된다.Preferably, cryptographic primitive F K is implemented by XORing the stream cipher generated by message portion M and session key K.

바람직하게, EL은 블록 암호의 프리픽스-절단 사양(specification)이고, l은 길이가 EL의 블록 길이와 동일한 랜덤 스트링을 나타내고, K는 FK의 단축키이며, 메시지는 <[ii,i2,,..,im,U, [Prefix-K-ELi1(U)]/K,...,Prefix -K-ELim(U)/K],FK(M)>의 형태이다. 바람직하게, 1/ij는 암호화되고 메시지는 <[ii,i2,,..,im ,U, [Prefix-L-ELi1(U/i1)]/K,...,Prefix-L-ELim(U/im)/K],F K(M)>의 형태이다.Preferably, E L is a prefix-cut specification of the block cipher, l represents a random string whose length is equal to the block length of E L , K is a shortcut for F K , and the message is <[i i , i 2 ,, .., i m, U , in the form of [Prefix -K- E Li1 (U) ] / K, ..., Prefix -K- E Lim (U) / K], F K (M)> to be. Preferably, 1 / i j is encrypted and the message is <[i i , i 2 , .., i m , U, [Prefix -L- E Li1 (U / i 1 )] / K, ..., Prefix -L- E Lim (U / i m ) / K], F K (M)>.

바람직하게, 부집합 키들은 루트와 다수의 노드들을 포함하는 트리로부터 도출되고, 각각의 노드는 적어도 하나의 연관 라벨을 가지며, 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj 를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함한다. Preferably, the subset keys are derived from a tree comprising a root and a number of nodes, each node having at least one associative label, each subset being within a bootie rooted at any node v i . Any leaf that is a descendant of v i includes all leaves that do not belong in the bootie rooted by v j .

바람직하게, 부집합 키들은 루트와 다수의 노드들을 포함하는 트리로부터 도 출되고, 각각의 노드는 적어도 하나의 연관 라벨을 가지며, 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리내에 있는 모든 리프들을 포함하고, 상기 부트리 내의 각각의 노드는 각각의 부집합 키와 연관되어 있다.Preferably, the subset keys are derived from a tree comprising a root and a number of nodes, each node having at least one associated label, each subset being in a bootee rooted at any node v i . Each node in the bootie is associated with a respective subset key.

바람직하게, 분할 동작은 시스템 컴퓨터로부터 분리된 수신기 시스템내의 시스템 컴퓨터에 의해 수행된다.Preferably, the splitting operation is performed by the system computer in a receiver system separate from the system computer.

바람직하게, 분할 동작은 수신기 컴퓨터에 의해 수행된다.Preferably, the splitting operation is performed by the receiver computer.

바람직하게, 수신기는 커버의 부집합을 도출한다.Preferably, the receiver derives a subset of the cover.

본 발명은 본 명세서에 개시된 발명 로직을 수행하기 위한 컴퓨터 시스템을 포함한다. 본 발명은 또한 본 발명 로직을 저장하고 상기 로직을 실행시키기 위해 프로세서에 의해 액세스될 수 있는 컴퓨터 프로그램 제품에 구현될 수 있다. 또한, 바람직하게, 본 발명은 이하에 설명된 로직을 따르는 컴퓨터-구현 방법을 포함한다.The invention includes a computer system for performing the invention logic disclosed herein. The invention can also be implemented in a computer program product that can be accessed by a processor to store the invention logic and to execute the logic. Also preferably, the present invention includes a computer-implemented method that follows the logic described below.

본 발명은 바람직하게는 사용자들을 (중첩이 가능한) 사용자 부집합들로 그룹핑하는 방법을 포함하고, 각각의 부집합은 유일한, 바람직하게는 장기-수명의 부집합 키를 포함하며, 각각의 사용자에게 각각의 개인 정보 Iu를 할당한다. 또한, 방법은 적어도 하나의, 바람직하게는, 단기-수명의 세션 암호화키 K를 선택하는 단계와, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1, ... Lim을 구비하는 디스조인트 부집합 Si1,..., Sim로 분할하는 단계를 포함한다. 바람직하게는, 세 션키 K의 m개의 암호화된 버전을 만들기 위해, 세션키 K는 부집합 키 Li1, ... Lim로 암호화된다. 일측면에서, 사용자들은 완전이진트리와 같은 트리의 리프들을 형성할 수 있고, 부집합 Si1,..., Sim은 트리에 의해 유도될 수 있다.The present invention preferably includes a method of grouping users into (nestable) user subsets, each subset comprising a unique, preferably long-life, subset key. Assign each personal information I u . The method also includes selecting at least one, preferably, short-life, session encryption key K, and a disk having association subset keys L i1 , ... L im for users not belonging to the withdrawal set R; And dividing the joint subset S i1 , ..., S im . Preferably, to make m encrypted versions of session key K, session key K is encrypted with subset key L i1 , ... L im . In one aspect, users can form leaves of a tree, such as a full binary tree, and the subsets Si , ..., S im can be derived by the tree.

바람직한 실시예에서, 사용자는 초기에 그룹 S1,...,Sw("w"는 정수임)로 분할된다. 바람직하게, 소정의 전송은 비-철회 사용자들에 대해 "커버"와 같은 m개의 그룹들을 선택하는데, 커버는 철회 사용자 집합에 의해 정의된다. "커버" 그룹은 바람직하게는 트리내의 부트리(완전 부트리 또는 2개 서브트리간의 차이)를 형성한다. 사용자의 개인정보 Iu는 사용자가 그룹 S1,...,Sw중 하나의 부집합 Sij에 속함을 나타내는 전송 메시지 내에 정보 ij로서 발견된다. 부집합 키 Lij는 사용자의 개인 정보를 이용하여 획득되거나 유도될 수 있다.In a preferred embodiment, the user is initially divided into groups S 1 , ..., S w (where "w" is an integer). Preferably, the predetermined transmission selects m groups, such as "cover" for non-retracted users, the cover being defined by the withdrawn user set. The "cover" group preferably forms a bootie (full bootie or the difference between two subtrees) in the tree. The personal information I u of the user is found as information i j in the transmission message indicating that the user belongs to a subset S ij of one of the groups S 1 , ..., S w . The subset key L ij can be obtained or derived using the user's personal information.

본명세서에서 "완전 부트리"라 지칭되는 제1 실시예에서, 각각의 그룹은 완전 트리내의 모든 가능한 부트리에 대응한다. 각각의 사용자에게 사용자를 나타내는 리프와 트리 루트간의 직접 경로내에 속하는 모든 노드들의 키들이 할당된다. 즉, 각각의 부집합 Si는 임의의 노드 vi를 루트로 하는 부트리내의 모든 리프들을 포함하고, 부집합 내의 적어도 각각의 노드는 각각의 부집합 키와 연관된다. 이러한 실시예에서, 헤더를 정의하는 메시지로 된 콘텐트가 사용자들에게 제공되고, 헤더는 최대 r*log(N/r) 부집합 키와 암호를 포함하는데, r은 철회집합 R내의 사용자 수이고 N은 전체 사용자수이다. 더욱이, 각각의 사용자는 log N키들을 저장하여야 하고, 각각의 사용자는 최대 log log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리한다.In the first embodiment, referred to herein as " complete booties, " each group corresponds to all possible booties in the complete tree. Each user is assigned the keys of all nodes in the direct path between the leaf and tree root representing the user. That is, each subset S i includes all the leaves in the bootie rooted at any node v i , and at least each node in the subset is associated with each subset key. In such an embodiment, the content of the message defining the header is provided to the users, the header including a maximum of r * log (N / r) subset keys and passwords, where r is the number of users in the revocation set R and N Is the total number of users. Moreover, each user must store log N keys, and each user processes the message using up to log log N operations and one decryption operation.

"부집합 차이"방법이라 지칭되는 제2 실시예에서, 사용자들의 각각의 그룹은 "제1 부트리 A에서 완전히 A에 포함된 제2 부트리 B를 제외한 트리"로 설명될 수 있는 다수의 집합 S1,...,Sw에 대응한다. 이러한 트리내의 각각의 노드는 일단의 라벨들을 가지며, 하나는 노드에 유일한 것이고 다른 것들은 조상 노드들에 의해 유도된다. 각각의 사용자에게 수신기와 루트간의 직접경로내의 노드들로부터 매달려 있으나 직접 경로 자체내에 속하지 않는 모든 노드들의 라벨들(각각의 이러한 노드로부터 최대 logN개의 라벨들)이 할당된다. 즉, 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함한다. 특정 사용자에 대한 부집합 차이 노드 라벨들중 하나가 해당 사용자의 개인 정보로서 전송되어 제공된다. 사용자는 라벨들을 이용하여 해독에 필요한 부집합 키들을 생성할 수 있다.In the second embodiment, referred to as the "set difference" method, each group of users can be described as a "tree from the first Booty A except the second Booty B completely contained in A". Corresponds to S 1 , ..., S w . Each node in this tree has a set of labels, one unique to the node and the other derived by the ancestor nodes. Each user is assigned labels of all nodes (up to logN labels from each such node) hanging from nodes in the direct path between the receiver and the route but not within the direct path itself. In other words, each subset includes any of the node v i while the sub-tree to the root of v i progeny of any other node v j of all the sub-leaf to the root in the tree that do not belong. One of the subset difference node labels for a particular user is transmitted and provided as that user's personal information. The user can use the labels to generate the subset keys needed for decryption.

이러한 실시예에서, 메시지 헤더는 최대 2r-1개의(평군 1.25r) 부집합 키들와 암호를 포함하고, 각 사용자는 .5(logN)2 + .5log N +1개의 키를 저장하여야 하고, 각 사용자는 최대 log N개의 연산(바람직하게는 슈도랜덤 생성기의 어플리케이션) 및 하나의 해독연산을 이용하여 메시지를 처리한다.In this embodiment, the message header includes a maximum of 2r-1 (average 1.25r) subset keys and passwords, and each user must store .5 (logN) 2 + .5log N +1 keys, each user Processes the message using up to log N operations (preferably an application of the pseudorandom generator) and one decryption operation.

부집합 차이 방법에 관련하여 이하에서 상세히 설명되는 바와 같이, 철회 집합 R은 스패닝 트리를 정의한다. 커버 트리 T는 스패닝 트리로서 초기화되고, 상 기 방법은 커버 트리 T가 최대 1개의 노드를 가질때까지 상기 커버트리로부터 노드들을 제거하고 상기 트리에 부트리를 추가하는 동작을 반복한다. 상기 커버 트리 T는 특정 전송에 사용될 부집합 키들을 식별하는데 이용되며, 사용자들은 라벨들로부터 부집합키들을 도출하기 위해 슈도랜덤 시퀀스 생성기를 계산한다. 바람직하게는, 처리 효율성을 위해, 한번에 2개의 철회만이 메모리에 유지되도록, 철회는 왼쪽에서 오른쪽 순서로 처리된다.As described in detail below with respect to the subset difference method, the withdrawal set R defines a spanning tree. The cover tree T is initialized as a spanning tree, and the method repeats the operation of removing nodes from the cover tree and adding a bootie to the tree until the cover tree T has at most one node. The cover tree T is used to identify subset keys to be used for a particular transmission, and users calculate a pseudorandom sequence generator to derive subset keys from labels. Preferably, for processing efficiency, the revocations are processed in left to right order so that only two withdrawals are kept in memory at a time.

임의의 특정 실시예에서, 메시지 헤더는 암호화 함수 EL를 포함하고, 방법은 암호화 함수 EL를 프리픽스-절단하는 단계를 포함한다. 바람직하게는, 메시지 부분들이 각각의 세션키로써 암호화된다.In any particular embodiment, the message header includes an encryption function E L , and the method includes prefix-cutting the encryption function E L. Preferably, the message parts are encrypted with each session key.

또다른 측면에서, 컴퓨터 프로그램 장치는 컴퓨터에 의해 이용될 수 있는 프로그램 명령어를 포함하는 컴퓨터 프로그램 저장 장치를 포함한다. 프로그램은 다수의 부집합 키들을 얻기 위해 트리를 액세스하기 위한 로직 수단과, 메시지를 세션키를 이용하여 암호화하기 위한 로직 수단을 포함한다. 또한, 세션키의 암호화된 버전들을 만들기 위해 세션키를 각각의 부집합 키로 적어도 한번 암호화하기 위한 로직 수단이 제공된다. 그런 후에, 로직 수단은 메시지의 헤더 내에 세션키의 암호화된 버전을 다수의 상태 비-유지 수신기들에 전송한다.In another aspect, a computer program device includes a computer program storage device that includes program instructions that can be used by a computer. The program includes logic means for accessing the tree to obtain a plurality of subset keys, and logic means for encrypting the message using the session key. In addition, logic means are provided for encrypting the session key at least once with each subset key to produce encrypted versions of the session key. The logic means then sends an encrypted version of the session key to the plurality of stateless receivers in the header of the message.

또다른 측면에서, 컴퓨터는 컴퓨터로 하여금 브로드캐스트 콘텐트를 암호화하고 상기 브로드캐스트 콘텐트를 다수의 양호한 상태 비-유지 수신기들과 적어도 하나의 철회 수신기에 전송하되 각각의 양호한 수신기는 콘텐트를 해독할 수 있고 상기 철회 수신기는 상기 콘텐트를 해독할 수 없도록 전송하게끔 만드는 명령어들로 프로그래밍된다. In another aspect, a computer may cause a computer to encrypt broadcast content and transmit the broadcast content to a number of good state non-holding receivers and at least one revocation receiver, where each good receiver may decrypt the content. The revocation receiver is programmed with instructions to make the content untranslatable.

또다른 측면에서, 브로드캐스트 암호화 시스템내의 잠재적으로 상태 비-유지 수신기 u는 각각의 개인 정보 Iu를 저장하는 데이터 저장 디바이스와, 다수의 부집합 키들로 암호화되는 세션 암호화키 K를 수신하는 처리 디바이스를 포함한다. 세션키는 콘텐트를 암호화하며, 처리 디바이스는 콘텐트 플레이를 위해 세션키 K를 해독할 수 있도록 개인 정보를 이용하여 적어도 하나의 부집합 키를 획득한다. 바람직한 실시예에서, 수신기는 일단의 그룹 S1,...,Sw중 하나로 분할되고("w"는 정수임), 그룹은 트리내의 부트리를 형성한다. 일단의 그룹 S1,...,Sw으로부터 도출된 부집합 Si1,...,Sim은 수신기 또는 시스템 컴퓨터에 의해 계산되는 커버를 정의한다. 바람직하게, 트리는 루트와 다수의 노드들을 포함하고, 각각의 노드는 적어도 하나의 연관 라벨을 갖는다. 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함한다.In another aspect, a potentially stateless receiver u in a broadcast encryption system is a data storage device that stores respective personal information I u and a processing device that receives a session encryption key K that is encrypted with a plurality of subset keys. It includes. The session key encrypts the content and the processing device obtains at least one subset key using the personal information to be able to decrypt the session key K for content play. In a preferred embodiment, the receiver is divided into one of a group of groups S 1 , ..., S w (where "w" is an integer) and the group forms a bootie in the tree. Once groups S 1, ..., and the unit derived from the set S w S i1, ..., S im defines a cover that is calculated by the receiver or a computer system. Preferably, the tree comprises a root and a plurality of nodes, each node having at least one associated label. Each subset may include any of the nodes v i while the sub-tree to the root of v i progeny of any other node v j of all the sub-leaf to the root in the tree that do not belong.

또다른 측면에서, 매체는 <[ii,i2,,..,im, ELi1(K),ELi2 (K),...,ELim(K)],FK(M)>의 콘텐트 메시지를 저장하는데, K는 세션키이고, FK는 암호 원시함수이고, EK는 암호 원시함수이고, Li는 암호 브로드캐스트 시스템에서 수신기 부집합들과 연관된 부 집합키들이고, M은 메시지 부분이고, ii,i2,,..,im는 커버를 정의하는 트리 노드 부집합이다. In a further aspect, the medium is <[i i, i 2 ,, .., i m, E Li1 (K), E Li2 (K), ..., E Lim (K)], F K (M) Stores a content message of &lt; RTI ID = 0.0 &gt;, where K is a session key, F K is a cryptographic primitive, E K is a cryptographic primitive, L i is a subset key associated with receiver subsets in the cryptographic broadcast system, and M Is the message part, and i i , i 2 ,, .., i m are a subset of tree nodes that define the cover.

본 발명의 바람직한 실시예들이 이하의 첨부된 도면을 참조하여 예시적으로 설명될 것이다.Preferred embodiments of the present invention will be described by way of example with reference to the accompanying drawings, in which: FIG.

도 1은 본 발명에 따른 시스템의 블록도이다.1 is a block diagram of a system according to the present invention.

도 2는 개괄적인 암호 로직의 흐름도이다.2 is a flow diagram of general cryptographic logic.

도 3은 개괄적인 암호해독 로직의 흐름도이다.3 is a flow diagram of general decryption logic.

도 4는 완전 부트리 방법의 키 할당 부분에 대한 흐름도이다.4 is a flow chart of the key assignment portion of the complete Booty method.

도 5는 완전 부트리 방법의 암호 부분에 대한 흐름도이다.5 is a flow diagram for the cryptographic portion of the full booty method.

도 6은 완전 부트리 방법의 암호해독 부분에 대한 흐름도이다.6 is a flow chart for the decryption portion of the complete Booty method.

도 7은 완전 부트리의 부집합 개념도이다.7 is a conceptual diagram of a subset of complete Booties.

도 8은 부집합 차이 방법에서의 부집합 개념도이다.8 is a conceptual diagram of subsets in a subset difference method.

도 9는 부집합 차이 방법에서의 부집합의 또다른 형태의 개념도이다. 도 10은 부집합 차이 방법에서 커버(cover)를 정의하기 위한 로직의 흐름도이다.9 is a conceptual diagram of another form of a subset in the subset difference method. 10 is a flow diagram of logic for defining a cover in a subset difference method.

도 11은 키 할당을 설명하는 부집합 차이 방법에서의 트리 부집합 개념도이다.11 is a conceptual diagram of a tree subset in the subset difference method for explaining key assignment.

도 12는 부집합 차이 방법의 암호해독 부분에 대한 흐름도이다.12 is a flowchart for the decryption portion of the subset difference method.

도 13은 부집합 차이 방법에서 키를 할당하기 위한 로직의 흐름도이다.13 is a flow diagram of logic for assigning keys in a subset difference method.

도 14는 부집합 차이 방법에서의 트리 부집합 개념도이다.14 is a conceptual diagram of a tree subset in the subset difference method.

우선, 도 1을 참조하면, 브로드캐스트 콘텐트 가드(guard) 시스템에서 키 집합을 생성하기 위한 시스템(10)이 도시되어 있으나, 이러한 시스템이 전술한 특허에 개시된 시스템으로 한정되는 것은 아니다. "브로드캐스트(broadcast)"란 의미는 콘텐트 제공자로부터 동시에 다수의 수신기에게, (위성 소스로부터) 케이블을 통해, 또는 유선, 또는 (위성 소스로부터의) 라디오주파수를 통해, 또는 광범위하게 판매된 콘텐트 디스크로부터 프로그램의 광범위하게 유포되는 것을 의미한다.First, referring to FIG. 1, a system 10 for generating a set of keys in a broadcast content guard system is shown, but such a system is not limited to the system disclosed in the aforementioned patent. "Broadcast" means that a content disc is widely sold from a content provider to multiple receivers simultaneously, via cable (from a satellite source), via wire, or radio frequency (from a satellite source), or From the widespread distribution of programs.

도시된 바와 같이, 시스템(10)은 이하에서 설명되는 것에 따라 기능하는 키집합 정의 모듈(14)을 액세스하는 키집합 정의 컴퓨터(12)를 포함한다. 컴퓨터(12)에 의해 정의되는 키집합은 잠재적으로 상태 비-유지의 플레이어-레코더 장치(160)(본명세서에서, "수신기" 또는 "사용자"로 언급되기도 함)에 의해 사용되며, 이들 장치(160)는 콘텐트 해독을 위해 그들 내부에 프로세서를 구비한다. 이하에서 설명될 임의의 키들과 함께 콘텐트가 각각의 장치들에, 예를 들어, 장치 제조업자(16)들을 통해 미디어(17) 상에 제공된다. 플레이어-레코더 장치는 미디어상의 콘텐트를 해독하거나 무선 통신을 통해 그것을 브로드캐스트하기 위해 그의 키 집합을 액세스할 수 있다. 본 명세서에서 언급되는 "미디어"는 DVD, CD, 하드디스크 및 플래시 메모리 디바이스를 포함할 수 있으며, 이에 한정되는 것은 아니다. 대안적인 실시예에서, 각각의 수신기(16)는 철회 수신기 집합들이 주어지고 이하에 설명될 로직을 수행함으로써 이하에 개시될 "커버(cover)"를 계산하는 단계 를 수행하는 모듈(14)를 실행시킨다.As shown, system 10 includes a keyset definition computer 12 that accesses a keyset definition module 14 that functions as described below. Keysets defined by computer 12 are potentially used by stateless player-recorder devices 160 (also referred to herein as " receivers " or " users "). 160 has a processor inside them for content decryption. Content along with any of the keys to be described below is provided to the respective devices, for example on the media 17 via the device manufacturer 16. The player-recorder device can access its key set to decrypt the content on the media or broadcast it via wireless communication. As used herein, “media” may include, but is not limited to, DVDs, CDs, hard disks, and flash memory devices. In an alternative embodiment, each receiver 16 executes a module 14 that performs the step of calculating a "cover" to be described below by performing the logic given below with retracted receiver sets and described below. Let's do it.

모듈(14)과 연관된 프로세서는 모듈을 액세스하여 도시된 로직을 수행하도록 하며, 로직은 프로세서에 의해 일련의 컴퓨터 실행가능 명령들로서 실행됨은 이해할 것이다. 본 명세서에서는 시스템(10)이 손상되지 않은 임의의 수신기(16)가 브로드캐스트 콘텐트를 해독하는 능력은 철회하지 않고 손상된 수신기(16)의 브로드캐스트 콘텐트 해독 능력만을 선택적으로 철회할 수 있는 두가지 방법, 완전 부트리(complete subtree) 방법과 부집합 차이 방법을 개시한다.It will be appreciated that a processor associated with module 14 accesses the module to perform the logic shown, which logic is executed by the processor as a series of computer executable instructions. In this specification, there are two ways in which the system 10 can selectively withdraw the broadcast content decryption capability of the compromised receiver 16 without any capability of decrypting the broadcast content by any receiver 16 intact; Discuss the complete subtree method and the subset difference method.

명령들은, 컴퓨터 기록 코드 요소가 저장된 컴퓨터 사용가능 매체를 구비한 컴퓨터 디스켓과 같이, 컴퓨터 기록매체를 구비한 데이터 저장 장치상에 저장될 수 있다. 혹은, 명령어는 DASD 어레이, 자기 테이프, 종래 하드디스크 드라이브, 전자적 판독전용 메모리, 좡학 저장 장치, 또는 기타 적절한 데이터 저장장치상에 저장될 수 있다. 본 발명의 예시적인 구현에서, 컴퓨터-실행가능 명령어들은 C++ 호환 코드 라인으로 이루어질 수 있다.The instructions may be stored on a data storage device having a computer record carrier, such as a computer diskette having a computer usable medium having stored thereon computer record code elements. Or, the instructions may be stored on a DASD array, magnetic tape, conventional hard disk drive, electronic read only memory, physical storage, or other suitable data storage. In an exemplary implementation of the invention, the computer-executable instructions may consist of C ++ compatible lines of code.

본명세서에 개시된 흐름도들은 컴퓨터 프로그램 소프트웨어로 구현될 수 있는 본 발명의 바람직한 실시예 로직 구조를 도시한다. 본 기술분야의 당업자들은 흐름도들이 본 발명에 따라 기능하는 집적 회로상의 논리회로를 포함하는 컴퓨터 프로그램 코드 요소들의 구조를 설명하고 있음을 이해할 것이다. 자명하게, 본 발명은 디지털 프로세싱 장치(즉, 컴퓨터)로 하여금 도시된 절차에 대응하는 일련의 기능 동작들을 수행하도록 명령하는 형태로 프로그램 코드 요소들을 만드는 머신 컴포넌트에 의한 기본 구현으로 실시된다. The flowcharts disclosed in this specification illustrate a preferred embodiment logic structure of the present invention that may be implemented in computer program software. Those skilled in the art will understand that the flowcharts describe the structure of computer program code elements including logic circuits on integrated circuits that function according to the present invention. Apparently, the present invention is implemented in a basic implementation by machine components that produce program code elements in the form of instructing a digital processing apparatus (ie, a computer) to perform a series of functional operations corresponding to the illustrated procedure.                 

부트리 차이 방법 및 완전 부트리 방법에 의해 구현된 본 발명의 바람직한 실시예에 따른 전체 논리는 도 2를 참조하여 알 수 있다. 본 발명의 설명을 위해, 시스템(10)내에 N개의 수신기들이 존재하며, 철회 수신기 부집합 R의 r개의 철회 수신기들이 (암호화 정보를 공유함으로써) 연합하여 작동하더라도 이들 수신기들의 암호 해독 능력을 철회하고 임의의 수신기들은 계속해서 암호해독할 수 있도록 하는 것이 바람직하다고 가정한다. 블록(19)에서, 시스템은, 수신기들이 이하의 설명에 따라 그룹화되는 부집합 S1, ... Sw 들의 해당 부집합들에 장기-수명(long-lived) 부집합 키들L1, ... Lw을 할당함으로써 초기화되며, 따라서, 각각의 부집합 Sj는 그에 연관된 장기-수명 부집합 키 Lj를 갖게 된다. 첫 번째 ("완전 부트리(complete subtree))" 방법에서, 철회집합에 속하지 않는 수신기들을 커버하는 부집합들은 이하의 설명에 따라 생성되는 부트리들이다. 두 번째("부집합 차이(subset difference))" 방법에서, 철회집합에 없는 수신기들을 커버하는 부집합들은 이하에서 설명되는 바와 같이 제1 부집합과 제1 부집합내에 완전히 포함되는 작은 부트리간의 차이에 의해 정의된다.The overall logic according to the preferred embodiment of the present invention implemented by the Booty Difference Method and the Complete Booty Method can be seen with reference to FIG. For the purposes of the present invention, there are N receivers in the system 10 and withdraw the decryption capabilities of these receivers even though the r retracting receivers of the retracting receiver subset R operate in conjunction (by sharing encryption information). It is assumed that it is desirable for some receivers to be able to continue to decrypt. In block 19, the system determines that the long-lived subset keys L 1 ,... Are in corresponding subsets of subsets S 1 ,... W w , which receivers are grouped according to the description below. Is initialized by allocating .L w , so that each subset S j has an associated long-life subset key L j . In the first ("complete subtree") method, subsets covering receivers that do not belong to the withdrawal set are booties created according to the description below. In the second ("subset difference") method, the subsets covering receivers not in the withdrawal set are the difference between the first subset and the small Booty completely contained within the first subset as described below. Is defined by

블록(20)에서, 시스템은 각각의 수신기 u에게 내용을 해독하는데 유용한 개인 정보 Iu를 공급함으로써 또한 개시된다. 개인정보 Iu에 대한 상세한 설명은 이하에 설명될 것이다. Iu가 수신기 u에 제공되는 비밀 정보라면, Sj의 각각의 수신기 u는 그의 Iu로부터 Lj를 추론해낼 수 있다. 이하에서 좀더 상세히 설명되는 바 와 같이, 소정의 철회집합 R에 대해, 비-철회 수신기들은 m개의 디스조인트 부집합 Si1,...Sim로 나뉘고 단기-수명 세션 키 K가 각각의 부집합 Si1,...Sim 와 연관된 장기-수명 부집합 Li1,...Lim로써 m번 암호화된다. 부집합 키들은 완전 부집합 방법에서는 명시된(explicit) 부집합 키들이며, 부집합 차이 방법에서는 부집합 라벨에 의해 유도된다. At block 20, the system is also initiated by supplying each receiver u with personal information I u useful for decrypting the content. A detailed description of the personal information I u will be described below. If I u is secret information provided to receiver u, then each receiver u of S j can infer L j from its I u . As described in more detail below, for a given withdrawal set R, the non-retracted receivers are divided into m disjoint subsets S i1 , ... S im and a short-lived session key K with each subset. Encrypted m times as the long-life subset L i1 , ... L im associated with S i1 , ... S im . The subset keys are explicit subset keys in the full subset method and are derived by the subset label in the subset difference method.

구체적으로, 블록(22)에서, 적어도 하나의 세션키 K가, 무선 또는 유선통신경로를 통해, 또는 CD 및 DVD와 같은 저장매체를 통해, 메시지 M에 브로드캐스트되는 내용을 암호화하기 위해 선택된다. 세션키 K는 각각의 메시지에 대하여 새롭게 선택되는 랜덤 비트 스트링이다. 바람직하게는, 메시지 M의 각각이 부분들을 암호화하기 위해 다수의 세션키들이 이용될 수 있다.Specifically, at block 22, at least one session key K is selected to encrypt the content broadcast in the message M, either via a wireless or wired communication path, or via a storage medium such as CD and DVD. The session key K is a randomly selected random bit string for each message. Preferably, multiple session keys may be used for each of the messages M to encrypt portions.

이하에서 설명되는 양 방법에서, 비-철회 수신기들은 트리를 이용하여 블록(24)에서 디스조인트 부집합 Si1,...Sim으로 나뉜다. 부집합들은 본명세서에서 "부트리"로 지칭되기도 하며, 첫 번째 방법에서는 부트리를 명백하게 고려하고 있으며 두 번째 방법에서는 부트리를 "제1 부트리에서 상기 제1 부트리에 완전히 포함된 제2 부트리를 제외한" 형태로서 간주한다. 각각의 부집합 Si1,...Sim은 각각의 부집합 키 Li1,...Lim와 연관되어 있다. 임의의 데이터 트리-유사 구조가 본명세서에서 고려되겠지만, 설명을 위해 트리는 완전이진트리(full binary tree)로서 가정된다. In both methods described below, the non-retracting receivers are divided into disjoint subsets Si , ... S im at block 24 using the tree. Subsets are sometimes referred to in this specification as "boottrees," in which the first method explicitly considers booties, and in the second method, a "boot tree" is a second part that is completely contained in the first booties in the first bootie. As "except tree". Each subset S i1 , ... S im is associated with each subset key L i1 , ... L im . Any data tree-like structure will be considered in this specification, but for the sake of explanation the tree is assumed to be a full binary tree.

블록(26)으로 진행하여, 일반적으로 세션키 K가 각각의 부집합 키Li1,...Lim로 각각 한번씩, m번 암호화된다. 최종적으로 브로드캐스트되는 암호문은 이하처럼 표현될 수 있는데, 메시지 M의 헤더를 나타내는 중괄호([])사이의 부분과 디스조인트 부집합 인덱스를 나타내는 i1,i2 ...im를 포함한다.Proceeding to block 26, generally the session key K is encrypted m times, once with each subset key L i1 , ... L im , respectively. The final broadcast ciphertext can be expressed as follows, including the portion between the curly braces ([]) representing the header of the message M and i 1 , i 2 ... i m representing the disjoint subset index.

<[i1,i2 ...im, ELi1(K),...,ELim(K)], FK (M)><[i 1 , i 2 ... i m , E Li 1 (K), ..., E Lim (K)], F K (M)>

일실시예에서, 암호 원시함수 FK는 메시지 M과 세션키 K에 의해 생성된 스트림 암호를 XOR함으로써 구현된다. 암호 원시함수 EL는 장기-수명 부집합 키들을 이용하여 수신기들(16)에 세션키 K를 전달하기 위한 방법이다. FK 및 EL를 위한 모든 암호화 알고리즘은 본 발명의 바람직한 실시예의 범위내에 있음을 이해하여야 한다. EL의 한가지 바람직한 실시예는 블록 암호의 프리픽스-절단(Prefix-Truncation) 사양이 될 수 있다. l이 EL의 블록 길이와 동일한 길이를 갖는 랜덤 스트링을 나타내고, K는 길이가, 예를 들어, 56 비트인 암호 FK의 단축키로 가정한다. [프리픽스-K-EL(l)/K]는 강한 암호를 제공한다. 따라서, 프리픽스-절단형 헤더는 다음과 같다.In one embodiment, cryptographic primitive F K is implemented by XORing the stream cipher generated by message M and session key K. Cryptographic primitive E L is a method for conveying session key K to receivers 16 using long-life subset keys. It should be understood that all encryption algorithms for F K and E L are within the scope of the preferred embodiment of the present invention. One preferred embodiment of E L may be a Prefix-Truncation specification of a block cipher. Assume that l represents a random string with a length equal to the block length of E L , and K is a shortcut for cipher F K having a length of, for example, 56 bits. [Prefix -K- E L (l) / K ] provides a strong encryption. Thus, the prefix-cut header is as follows.

<[ii,i2,,..,im,U, [Prefix-K-ELi1(U)]/K,...,Prefix -K-ELim(U)/K],FK(M)>. <[i i, i 2 ,, .., i m, U, [Prefix -K- E Li1 (U)] / K, ..., Prefix -K- E Lim (U) / K], F K (M)>.

이는 헤더길이를 약 m-L-대신에 m-K-비트로 줄여주는 장점을 갖는다. EL의 키 길이가 최소인 경우에, 주먹구구식 공격에서 대항자가 갖는 인자 m개의 장점을 제거하기 위해 다음 식이 이용될 수 있으며, 이는 동일한 스트링 l을 서로 다른 m개의 키들로 암호화함으로 인한 것이다. 스트링 l/ij가 암호화된다. 즉, This has the advantage of reducing the header length to mK-bit instead of about mL-. In the case where the key length of E L is minimal, the following equation can be used to eliminate the m advantages of the opponent in a bullish attack, because of encrypting the same string l with m different keys. The string l / i j is encrypted. In other words,

<[ii,i2,,..,im,U, [Prefix-L-ELi1(U/i1 )]/K,...,Prefix-L-ELim(U/im)/K],FK(M)>.<[i i , i 2 ,, .., i m , U, [Prefix -L- E Li1 (U / i 1 )] / K, ..., Prefix -L- E Lim (U / i m ) / K], F K (M)>.

암호 원시함수 E와 F를 구현하는 여러 가지 바람직한 방법들이 설명되었다. 이제, 수신기(16)에 의해 수행되는 암호해독 로직이 도시된 도 3을 참조한다. 블록(28)에서 시작하여, 각각의 비철회 수신기 u는 암호문에서 부집합 식별자 ij를 찾는데, 수신기는 부집합 Sij에 속하게 된다. 이하에서 설명되는 바와 같이, 수신기가 철회집합 R내에 속하는 경우에, 블록(28)의 결과는 널(null)이 될 것이다. 다음에, 블록(30)에서, 수신기가 그의 개인 정보 Iu를 이용하여 부집합 Sij에 대응하는 부집합키 Lij를 추출한다. 부집합키를 이용하여, 블록(32)에서 세션키 K가 결정된 후에, 블록(34)에서 세션키 K를 이용하여 메시지가 해독된다.Several preferred methods of implementing cryptographic primitives E and F have been described. Reference is now made to FIG. 3 where the decryption logic performed by the receiver 16 is shown. Beginning at block 28, each non-retracting receiver u finds the subset identifier i j in the ciphertext, which belongs to the subset S ij . As described below, if the receiver falls within the retracted set R, the result of block 28 will be null. Next, in block 30, the receiver extracts the subset key L ij corresponding to the subset S ij using its personal information I u . Using the subset key, after the session key K is determined at block 32, the message is decrypted using the session key K at block 34.

전술한 전체 로직을 수행하기 위한 두가지 방법이 이하에서 설명된다. 각각의 방법에서, 부집합들이 지정되고, 부집합들에 키들이 할당되고, 부집합들이 지정되고, 전체로부터 디스조인트 부집합을 이용하여 비-철회 수신기들을 커버하는 방법이 이용된다. 각각에서, 시스템내의 수신기 집합은 이진완전트리(이에 한정되는 것은 아님)와 같은 트리의 리프를 형성한다.Two methods for performing the overall logic described above are described below. In each method, a method is used that assigns subsets, assigns keys to subsets, assigns subsets, and covers non-retracting receivers using a disjoint subset from the whole. In each, the set of receivers in the system form a leaf of the tree, such as, but not limited to, a binary complete tree.

설명될 첫 번째 방법은 도 4-7에 도시된 완전 부트리 방법이다. 도 4의 블 록(36)에서 시작하여, 독립적이고 랜덤한 부집합 키 Li이 트리내의 각각의 노드 vi에 할당된다. 이러한 부집합키 Li은 노드 vi를 루트로 하는 모든 리프들을 포함하는 부집합에 대응한다. 그러면, 블록(38)에서, 각각의 수신기 u에 수신기로부터 루트까지의 직접 경로에 있는 모든 부집합 키들이 제공된다. 도 7을 참조하여 간단히 설명되는 바와 같이, 부집합 Si의 수신기 u에 노드 vi와 연관된 부집합키 Li뿐만 아니라, Si에 포함되는 수신기들과 트리의 루트사이에 존재하는 노드 P에 연관된 키들도 제공된다.The first method to be described is the full Booty method shown in FIGS. 4-7. Beginning with block 36 of FIG. 4, an independent random random subset key L i is assigned to each node v i in the tree. This subset key L i corresponds to the subset containing all the leaves rooted at node v i . Then, at block 38, each receiver u is provided with all subset keys in the direct path from the receiver to the route. As briefly described with reference to FIG. 7, not only the subset key L i associated with the node v i in the receiver u of the subset Si, but also the keys associated with the node P existing between the receivers included in Si and the root of the tree. Is also provided.

메시지를 전송하고 몇몇 수신기들의 메시지 해독 능력을 철회하고하고자 할 때, 비-철회 수신기들을 디스조인트 부집합들로 분할하기 위해 도 5의 로직이 호출된다. 블록(40)에서 개시되어, 철회 수신기 집합 R의 리프들에 의해 정의되는 스패닝 트리가 발견된다. 스패닝 트리는 "철회" 리프들을 연결시키는 완전이진트리의 최소 부트리이고, 이는 스테이너(Steiner) 트리일 수 있다. 블록(42)으로 진행하여, 트리에서 1차 노드(즉, 최소 트리에 직접 인접한 노드들)들에 인접한 루트를 갖는 부트리들이 식별된다. 이들 부트리들은 "커버(cover)"를 정의하고 부집합 Si1,...Sim 을 형성한다. 커버는 모든 비-철회 수신기들을 포함한다. 따라서, 블록(44)에서, 커버에 의해 정의된 부집합 키들을 이용하여 세션키 K가 암호화된다.When sending a message and wishing to withdraw the message decryption capability of some receivers, the logic of FIG. 5 is invoked to divide the non-retracted receivers into disjoint subsets. Beginning at block 40, a spanning tree is found that is defined by the leaves of the revocation receiver set R. The spanning tree is the minimum bootley of the full binary tree that connects the "retracted" leaves, which can be a Steiner tree. Proceeding to block 42, booties having roots adjacent to primary nodes in the tree (ie, nodes directly adjacent to the minimum tree) are identified. These booties define a "cover" and form a subset S i1 , ... S im . The cover includes all non-retracting receivers. Thus, at block 44, session key K is encrypted using the subset keys defined by the cover.

메시지를 해독하기 위해, 각각의 수신기는 도 6의 로직을 호출한다. 블록(46)에서 개시되어, 수신기의 임의의 조상 노드가 메시지 헤더내의 집합 i1,i2 ...im중에 있는지 판단함으로써 수신기의 조상 노드가 커버의 부집합 키와 연관되어 있는지의 여부가 판단된다. 이를 판단하기 위해, 완전 부트리 방법에서는 트리 내 자신의 위치와 조상 노드에 연관된 부집합 키로 구성되는 수신기의 개인정보 Iu가 이용된다. 조상 노드가 (수신기가 비-철회 수신기임을 나타내는) 메시지 헤더에서 발견되면, 세션키 K는 부집합 키를 이용하여 블록(48)에서 해독되며, 그 후에 블록(50)에서 메시지가 세션키 K를 이용하여 해독된다. To decrypt the message, each receiver invokes the logic of FIG. It is disclosed in block 46, whether or not by determining whether any ancestor node of the receiver in the set i 1, i 2 ... i m in the message header ancestor node of the receiver is associated with a subset key of the cover Judging. In order to determine this, the full Booty method uses the receiver's personal information I u , which consists of its location in the tree and a subset key associated with the ancestor node. If an ancestor node is found in the message header (indicating that the receiver is a non-retracting receiver), the session key K is decrypted at block 48 using the subset key, and then at block 50 the message is decoded. To be deciphered.

완전 부트리 방법에서, 헤더는 최대 r*log(N/r) 부집합 키들과 암호들을 포함한다. 이는 또한 키 및 암호들의 평균 개수이다. 더욱이, 각각의 수신기는 log N개의 키들을 저장하여야 하며, 각각의 수신기는 최대 log log N 연산 및 하나의 해독 연산을 이용하여 메시지를 처리한다.In the fully bootable method, the header contains up to r * log (N / r) subset keys and ciphers. This is also the average number of keys and ciphers. Moreover, each receiver must store log N keys, and each receiver processes the message using a maximum log log N operation and one decryption operation.

이제 도 8 내지 13을 참조하면, 수신기들을 철회하기 위한 부집합 차이 방법이 도시된다. 부집합 차이 방법에서, 각각의 수신기는 완전 부트리 방법보다 상대적으로 많은 개수의 키들( .5(logN)2 + .5logN +1개의 키)을 저장하여야 한다. 그러나, 메시지 헤더는 최대 2r-1개의 부집합 키들과 암호(평균 1.25r)를 포함할 뿐이며, 이는 완전 부트리 방법보다 실질적으로 짧다. 또한, 부집합 차이 방법에서, 메시지는 최대 log N번의 슈도랜덤 숫자 생성기 적용 및 하나의 해독 연산을 이용하여 처리된다. Referring now to FIGS. 8-13, a subset difference method for withdrawing receivers is shown. In the subset difference method, each receiver must store a relatively larger number of keys (.5 (logN) 2 + .5logN +1 keys) than the full Booty method. However, the message header only contains a maximum of 2r-1 subset keys and a cipher (average 1.25r), which is substantially shorter than the full Booty method. In addition, in the subset difference method, messages are processed using up to log N pseudorandom number generator applications and one decryption operation.

도 8 및 9를 참조하면, 부집합 차이 방법은 부집합들을 큰 부집합 A와 A에 완전히 포함되는 작은 부집합 B간의 차이로서 간주한다. 따라서, 도시된 바와 같 이, 큰 부트리는 노드 vi를 루트로 하며, 작은 부트리는 vi의 후손인 vj를 루트로 한다. 최종 부집합 Si,j는 "아니오"라고 라벨링된 (그리고, "예"라고 라벨링된 리프들보다 좁더 어두운 색깔로 칠해진) 리프들을 제외하고 vi아래의 모든 "예"리프들로 구성된다. 도 9는 이를 설명하며, 부집합 Si,j는 좀더 작은 삼각형 외부의 좀더 큰 삼각형 내부의 영역들에 의해 표현된다.8 and 9, the subset difference method regards the subsets as the difference between the large subsets A and the small subset B completely included in A. Thus, as shown, a large Booty is rooted at node v i and a small Booty is rooted at v j , a descendant of v i . The final subset S i, j consists of all the "yes" leaves below v i except for the leaves labeled "no" (and painted in a darker color than the leaves labeled "yes"). 9 illustrates this, and the subset S i, j is represented by the regions inside the larger triangle outside the smaller triangle.

부집합 차이 방법에 따라 메시지를 전송하고 몇몇 수신기들의 메시지 해독 능력을 철회하고자 할때, 도 10에 도시된 바와 같은 전술한 구조가 이용된다. 블록(52)에서 시작하여, 철회 수신기 집합 R의 리프들에 의해 정의되는 스패닝 트리가 발견된다. 스패닝 트리는 "철회" 리프들을 연결시키는 완전이진트리의 최소 부집합이며, 이는 스테이너 트리가 될 수 있다. 블록(54)로 진행하여, 커버 트리 T가 스패닝 트리로서 초기화된다. 그 다음에, 커버 트리 T가 최대 1개의 노드를 가질 때까지 커버 트리로부터 노드들이 제거되고 커버에 부트리들이 추가되는 반복적인 루프가 시작된다. 그 결과 비-철회 수신기들에 대한 커버가 정의된다.When sending a message according to the subset difference method and trying to withdraw the message decryption capability of some receivers, the above-described structure as shown in FIG. 10 is used. Beginning at block 52, a spanning tree is found that is defined by the leaves of the withdrawal receiver set R. The spanning tree is the minimum subset of full binary trees that connect the "retracted" leaves, which can be a strainer tree. Proceeding to block 54, the cover tree T is initialized as a spanning tree. Then, an iterative loop begins where nodes are removed from the cover tree and booties are added to the cover until cover tree T has at most one node. As a result, a cover for non-retracting receivers is defined.

좀더 구체적으로, 블록(54)에서 블록(56)으로 이동하여, 그들의 최소공통조상 v가 T 내의 어떠한 다른 리프들도 포함하지 않도록 하는 리프 vi 및 vj가 커버 트리 T에서 발견된다. 결정블록(57)에서, 단지 하나의 리프만이 커버 트리 T에 존재하는지 여부가 판단된다. 하나 이상의 리프가 존재하는 경우에, 로직은 블록(58)으로 이동하여 vi가 vl의 자손이고 vj가 vk의 자손이고 vl,vk가 v의 자식인 ( 즉, v와 vl,vk간에 중간 노드들 없이 v의 직접 자손이 되는) 노드들 vl, vk을 찾는다. 대조적으로, T에 하나의 리프만이 존재할 때, 로직은 결정블록(57)에서 블록(60)으로 이동하여, vi = vj = 단독 존재 리프(sole remaining leaf)로 설정하고, T의 루트에 v를 배치하고, vl = vk = 루트로 설정한다.More specifically, leaves v i and v j are found in cover tree T, moving from block 54 to block 56 such that their least common cov er v does not contain any other leaves in T. At decision block 57, it is determined whether only one leaf is present in the cover tree T. If more than one leaf exists, the logic and move to v i a v l progeny and v j are the descendants of v k to the block (58) v l, v k is v child (that is, the v and v l, v s is the direct descendants of v without any intermediate nodes) between the node k v l, v k look for. In contrast, when there is only one leaf in T, the logic moves from decision block 57 to block 60, setting v i = v j = sole remaining leaf and at the root of T. Place v and set v l = v k = root.

블록(58) 또는 블록(60)으로부터 로직은 결정블록(62)으로 이동한다. 선택블럭(62)에서, vl가 vi와 동일한지가 판단된다. 마찬가지로, vk가 vj 와 동일한지가 판단된다. vl가 vi와 동일하지 않다면, 로직은 블록(64)으로 이동하여 T에 부집합 Sl,i를 추가시키고, T로부터 v의 모든 자손들을 제거하여 v를 리프로 만든다. 마찬가지로, vk가 vj와 동일하지 않다면, 로직은 블록(64)으로 이동하여 T에 부집합 Sk,j를 추가시키고, T로부터 v의 모든 자손들을 제거하여 v를 리프로 만든다. 블록(64) 또는 결정블록(62)로부터 어떠한 도일성도 판단되지 않는다면, 로직은 블록(56)으로 되돌아간다.Logic from block 58 or block 60 moves to decision block 62. In the selection block 62, it is determined whether v l is equal to v i . Similarly, it is determined whether v k is equal to v j . If v l is not equal to v i , the logic moves to block 64 to add subset S l, i to T and remove all descendants of v from T to make v a leaf. Similarly, if v k is not equal to v j , the logic moves to block 64 to add subset S k, j to T and remove all descendants of v from T to make v a leaf. If no likelihood is determined from block 64 or decision block 62, the logic returns to block 56.

부집합 차이 키 할당방법에 대한 전술한 개요를 기반으로 하여, 특정의 바람직한 실시예가 이제 설명된다. 수신기가 속한 부집합의 전체 개수가 N인 경우에, 이러한 부집합들은 (또다른 부집합이 감해지는) 제1 부집합 i에 의해 정의되는 logN 클러스터들로 그룹핑될 수 있다. 전체 트리의 내부 노드들에 대응하는 각각의 l<i<N에 대하여, 독립적이고 랜덤한 라벨 LABELi이 선택되는데, 이는 형태 Si,j 의 모든 적법한 부집합들에 대한 라벨을 유도한다. 라벨들로부터, 부집합 키들이 도 출된다. 도 11은 이하에서 설명될 바람직한 라벨링 방법을 설명한다. Li로 라벨링된 노드는 부집합 Ti의 루트이고, 그의 자손들은 본 발명의 원칙에 따라 라벨링된다. Based on the foregoing overview of the subset difference key assignment method, certain preferred embodiments are now described. If the total number of subsets to which the receiver belongs is N, these subsets can be grouped into logN clusters defined by the first subset i (another subset is subtracted). For each l <i <N corresponding to inner nodes of the entire tree, an independent and random label LABEL i is selected, which leads to a label for all legal subsets of type S i, j . From the labels, subset keys are derived. 11 illustrates a preferred labeling method to be described below. The node labeled L i is the root of the subset T i and its descendants are labeled according to the principles of the invention.

G가 입력 길이를 세배로 늘리는 암호화 슈도랜덤 시퀀스 생성자라면, G_L(S)는 시드 S에 대한 G 출력의 세 번째 왼쪽을 나타내는 것이고, G_R(S)는 오른쪽 세 번째를 나타내는 것이며, G_M(S)는 중간 세 번째를 나타낸다. 라벨 LABELi를 갖는 노드 vi를 루트로 하는 커버 트리 T의 부트리 Ti를 고려해본다. 이 노드가 S로 라벨링되는 경우에, 이의 두 자식은 각각 G_L(S) 및 G_R(S)로 각각 라벨링된다. 집합 Si,j에 할당되는 부집합키 Li,j는 부집합 Ti로부터 유도되는 노드 v j의 LABELi,j 라벨의 G_M이다. 각각의 라벨 S는 세 개의 부분, 즉, 왼쪽 및 오른쪽 자식, 그리고 노드의 키에 대한 라벨들을 유도한다. 따라서, 노드의 라벨이 주어지면, 그의 모든 자손들에 대한 라벨 및 키들을 계산하는 것이 가능하다. 바람직한 실시예에서, 함수 G는 Secure Hashing Algorithm-1와 같은 암호 해쉬이며, 그밖에 다른 함수들도 이용될 수 있다. If G is an encrypted pseudorandom sequence generator that triples the input length, G_L (S) represents the third left side of the G output for the seed S, G_R (S) represents the third to the right, and G_M (S) Represents the middle third. Consider Booty Ti of cover tree T rooted at node v i with label LABEL i . If this node is labeled S, its two children are labeled G_L (S) and G_R (S), respectively. The subset key L i, j assigned to the set S i, j is G_M of the LABEL i, j label of the node v j derived from the subset T i . Each label S derives labels for three parts: the left and right children, and the node's key. Thus, given the label of a node, it is possible to calculate the labels and keys for all its descendants. In a preferred embodiment, function G is a cryptographic hash such as Secure Hashing Algorithm-1, and other functions may be used.

도 12는 부집합 차이 방법에 따라 수신기들이 어떻게 메시지를 해독하는지를 도시한다. 블록(66)에서 시작하여, 수신기는 연관된 라벨(수신기가 LABELi,j 및 부집합키 Li,j를 유도할 수 있도록 해주는 수신기의 개인정보의 부분)과 함께 그가 속한 부집합 Si,j을 찾는다. 라벨을 이용하여, 수신기는 블록(68)에서 최대 N번 함수 G값을 구함으로써 부집합키 Li,j를 계산한다. 그런 후에, 수신기는 후속되는 메시지 해독을 위해 블록(70)에서 부집합키를 이용하여 세션키 K를 해독한다.12 shows how receivers decrypt a message according to a subset difference method. Beginning at block 66, the receiver includes the associated label (the portion of the receiver's personal information that allows the receiver to derive LABEL i, j and the subset key L i, j ) and the subset S i, j to which it belongs. Find it. Using the label, the receiver calculates the subset key L i, j by obtaining the maximum N function G values at block 68. The receiver then decrypts the session key K using the subset key in block 70 for subsequent message decryption.

도 13은 부집합 차이 방법에서 수신기들에 라벨 및 이에 따른 부집합 키들이 어떻게 할당되는지를 도시한다. 본명세서에 도시된 라벨링 방법은 각각의 수신기가 저장하여야 하는 키의 개수를 최소화시키는데 이용된다.Figure 13 shows how labels and thus subset keys are assigned to receivers in the subset difference method. The labeling method shown in this specification is used to minimize the number of keys that each receiver must store.

블록(72)에서 시작하여, 각각의 수신기에 수신기 및 루트간의 직접경로에 있지 않고 직접경로로부터 매달려 있으면서, u의 조상인 임의의 노드 vi에 의해 유도되는 노드들의 라벨들이 제공된다. 이러한 라벨들은 블록(74)에서 수신기의 개인정보(Iu)를 형성하며, 후속하는 메시지 세션 키들은 블록(76)에서 라벨들로부터 유도된 부집합 키들로 암호화된다.Beginning at block 72, labels are provided for each receiver that are derived by any node v i that is an ancestor of u while not hanging in the direct path between the receiver and the root. These labels form the receiver's privacy I u at block 74 and subsequent message session keys are encrypted with a subset of keys derived from the labels at block 76.

도 14를 간단히 참조하면, 전술한 원칙이 설명된다. 수신기 u의 라벨 S를 갖는 모든 vi 조상에 대해, 수신기 u는 노드 vi 로부터 수신기 u에 이르는 직접 경로로부터 벗어나있는 모든 노드들(71)의 라벨들을 수신한다. 이하에서 좀더 자세히 설명되겠지만, 이들 라벨들은 바람직하게는 S로부터 모두 유도된다. 완전부트리 방법에 대한 표시 대비에 있어서, 도 8-14에 설명된 부집합 차이 방법에서, 수신기 u는 수신기 u와 노드 vi 사이에 있는 직접 경로내의 노드(73)로부터는 라벨을 수신하지 않는다. 라벨들을 이용하여, 수신기 u는 전술한 함수 G값을 구함으로써 노드 vi를 루트로 하는 (직접경로 집합을 제외한) 모든 집합들의 부집합 키들을 계 산할 수 있지만, 기타 다른 부집합 키들은 계산할 수 없다.Referring briefly to FIG. 14, the foregoing principles are described. For all v i ancestors with label S of receiver u, receiver u receives labels of all nodes 71 that deviate from the direct path from node v i to receiver u. As will be described in more detail below, these labels are preferably all derived from S. In terms of indication contrast for the full-boot method, in the subset difference method described in Figures 8-14, the receiver u does not receive a label from node 73 in the direct path between receiver u and node v i . . Using the labels, the receiver u can compute the subset keys of all sets (except the direct path set) rooted at node v i by obtaining the function G value described above, while the other subset keys can be calculated. none.

종래의 다중캐스트 시스템은 역방향 비밀성(secrecy)이 결여되어, 즉, 철회되었음에도 불구하고 계속적으로 청취중인 수신기는 모든 암호화 콘텐트를 기록할 수 있으며, (예를 들어, 재등록에 의해) 이후에 종종 유효한 새로운 키를 얻어 과거 콘텐트를 해독할 수 있다. 본 발명의 바람직한 실시예는, 철회 수신기 집합에, 아직 할당되지 않은 수신기 식별자 모두를 포함시킴으로써, 이러한 시나리오에서 역방향 비밀성의 결여를 치유하기 위해 이용될 수 있다. 이는 모든 수신기들이 순차대로 리프들에 할당되는 경우에 행해질 수 있다. 이러한 경우에, 모든 비할당된 식별자의 철회는 메시지 헤더 크기에 약간의 증가를 가져오지만, 이러한 식별자의 개수에 비례하여 늘어나는 것은 아니다.Conventional multicast systems lack reverse secrecy, i.e., despite being withdrawn, the receiver constantly listening can record all encrypted content, often afterwards (eg, by re-registration). You can get a valid new key to decrypt old content. Preferred embodiments of the present invention can be used to cure the lack of reverse secrecy in this scenario by including all of the receiver identifiers that have not yet been assigned to the revocation receiver set. This can be done if all receivers are sequentially assigned to the leaves. In this case, the revocation of all unassigned identifiers results in a slight increase in the message header size but not in proportion to the number of such identifiers.

본 발명의 바람직한 실시예는 또한 메시지 헤더에서 부집합 ij의 정확한 인코딩을 구비하고 수신기가 부집합 ij에 속하는지를 판단할 수 있는 신속한 방법을 제공하는 것이 바람직함을 인식한다. 노드가 루트로의 경로에 의해 표시되고, 0은 왼쪽 브랜치를 표시하며 1은 오른쪽 브랜치를 표시한다고 가정한다. 경로의 끝부분은 1 다음에 1개 이상의 0비트들이 이어지는 것으로서 표시된다. 따라서, 루트는 1000...000b이고, 루트의 가장 오른쪽 자식은 0100...000b이고, 가장 왼쪽 자식은 11000...000b이고, 리프는 xxxx...xxxx1b이다.The preferred embodiment of the present invention also recognizes that it is desirable to provide a fast way to have the correct encoding of subset i j in the message header and to determine if the receiver belongs to subset i j . Assume that a node is indicated by the path to the root, 0 indicates the left branch and 1 indicates the right branch. The end of the path is marked as 1 followed by one or more zero bits. Thus, the root is 1000 ... 000b, the rightmost child of the root is 0100 ... 000b, the leftmost child is 11000 ... 000b, and the leaf is xxxx ... xxxx1b.

여기서 인식되는 바와 같이, 좀더 큰 부집합 루트의 경로는 좀더 작은 부집합 루트의 경로의 부집합이므로, 부집합 차이는 좀더 작은 부트리의 루트에 큰 부 트리 루트까지의 경로 길이를 더한 것에 의하여 표시된다. 이를 이용하여, 수신기는 이하의 Intel Pentium 프로세서 루프를 실행시킴으로써 자신이 소정의 부집합 내에 있는지를 신속하게 판단할 수 있다.As will be appreciated here, since the path of the larger subset root is a subset of the path of the smaller subset root, the subset difference is indicated by adding the path length to the larger subtree root plus the root of the smaller bootie. do. Using this, the receiver can quickly determine if it is within a predetermined subset by executing the following Intel Pentium processor loop.

루프를 벗어나면, 다음의 레지스터들이 셋업된다: ECX는 수신기의 리프 노드를 포함하고, ESI는 메시지 버퍼를 가리키고(첫번째 바이트는 큰 부트리 루트에 대한 경로 길이이고, 다음 4개의바이트는 작은 트리의 루트임), 정적 테이블은 경로 길이에 의해 인덱스될 때 32개 비트들을 출력하는데, 첫 번째 비트는 1이고 나머지 비트들은 0이다.Out of the loop, the following registers are set up: ECX contains the leaf node of the receiver, ESI points to the message buffer (the first byte is the path length to the large Booty root, and the next four bytes are the small trees). Root), the static table outputs 32 bits when indexed by path length, with the first bit being 1 and the remaining bits being zero.

loop:MOV BYTE EBX, [ESI++]loop: MOV BYTE EBX, [ESI ++]

MOV DWORD EAX, [ESI++]MOV DWORD EAX, [ESI ++]

XOR EAX, ECX XOR EAX, ECX

AND EAX, TABLE[EBX]AND EAX, TABLE [EBX]

JNZ loopJNZ loop

수신기가 루프밖으로 나오면, 이는 그가 특정 부집합에 반드시 속하는 것은 아님을 의미한다. 이는 작은 제외된 부트리(smaller executed subtree)내에 있을 수 있으며, 그렇다면 루프로 리턴하여야 한다. 그러나, 대부분의 경우에 수신기들은 더 큰 부트리내도 없기 때문에, 루프에서 처리시간을 거의 보내지 않는다.
If the receiver comes out of the loop, it means that he does not necessarily belong to a particular subset. It can be in a small executed subtree, and if so, it should return to the loop. However, in most cases the receivers spend very little processing time in the loop since they have no larger bootstrines.

더 최적화된 부집합 차이 방법에서, 시스템 서버는 수백만개에 달할 수도 있는 각각의 모든 라벨을 기억할 필요가 없다. 대신에, i번째 노드의 라벨은 노드의 비밀 함수일 수 있다. 비밀 함수는 숫자 i에 적용된다면 I번째 노드의 라벨을 만들기 위해 비밀 키를 이용하는 3배 DES 암호가 될 수 있다.
In a more optimized subset difference method, the system server does not have to remember each and every label, which may reach millions. Instead, the label of the i th node may be a secret function of the node. The secret function, if applied to the number i, could be a triple DES cipher that uses the secret key to make the label of the I node.

Claims (32)

암호를 브로드캐스트하는 방법에 있어서,In the method of broadcasting a password, 사용자 그룹의 각각의 사용자에게 각각의 개인 정보 Iu를 할당하는 단계와,Assigning respective personal information I u to each user of the user group, 적어도 하나의 세션암호키 K를 선택하는 단계와,Selecting at least one session encryption key K, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누는 단계와,Dividing users who do not belong to the retraction set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im , and 상기 세션키 K에 대한 m개의 암호화된 버전을 만들기 위해 상기 세션키 K를 부집합 키Li1 ...Lim로써 암호화하는 단계와,Encrypting the session key K with a subset key L i1 ... L im to produce m encrypted versions of the session key K, 상기 사용자들을 그룹 S1,..,Sw로 나누는 단계 -"w"는 정수이고, 상기 그룹은 트리내의 부트리를 형성하며, 각각의 부집합 Si1 ...Sim은 노드 vi를 루트로 하는 부트리내의 모든 리프들을 포함하고, 상기 부트리 내의 적어도 각각의 노드는 각각의 부집합 키와 연관되며, 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트가 사용자들에게 제공되고, 상기 헤더는 최대 r*log(N/r) 부집합 키들과 암호를 포함(r은 철회 집합 R의 사용자 수이고 N은 전체 사용자 수)함-Dividing the users into groups S 1 , .., S w- " w " is an integer, the groups forming a bootie in the tree, and each subset S i1 ... S im defines node v i Includes all the leaves in the root bootie, at least each node in the bootie is associated with a respective subset key, at least one message content defining a header is provided to users, and the header Contains up to r * log (N / r) subset keys and passwords, where r is the number of users in revocation set R and N is the total number of users 를 포함하는 방법. How to include. 삭제delete 삭제delete 삭제delete 제1항에 있어서, 상기 철회 집합 R은 스패닝(spanning) 트리를 정의하고, 상기 스패닝 트리의 노드들에 첨부된 루트를 구비한 부트리들은 부집합을 정의하는 방법.2. The method of claim 1, wherein the revocation set R defines a spanning tree, and booties having a root attached to nodes of the spanning tree define a subset. 제1항에 있어서, 상기 트리는 루트 및 다수의 노드들을 포함하고, 각각의 노드는 적어도 하나의 연관 라벨을 구비하고, 각각의 부집합은 임의의 노드 vi를 루트로 하는 부트리에 속하면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리에는 속하지 않는 모든 리프들을 포함하는 방법.The method of claim 1, wherein the tree is a root and a number of, and comprising nodes, each node having at least one associated label, and each sub-set are belonging Rie boot to any node v i to the root of v i Any other node that is a descendant v A way to include all leaves that do not belong to the bootie rooted by j j . 암호를 브로드캐스트하는 방법에 있어서,In the method of broadcasting a password, 사용자 그룹의 각각의 사용자에게 각각의 개인 정보 Iu를 할당하는 단계와,Assigning respective personal information I u to each user of the user group, 적어도 하나의 세션암호키 K를 선택하는 단계와,Selecting at least one session encryption key K, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누는 단계와,Dividing users who do not belong to the retraction set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im , and 상기 세션키 K에 대한 m개의 암호화된 버전을 만들기 위해 상기 세션키 K를 부집합 키Li1 ...Lim로써 암호화하는 단계와,Encrypting the session key K with a subset key L i1 ... L im to produce m encrypted versions of the session key K, 상기 사용자들을 그룹 S1,..,Sw로 나누는 단계 -"w"는 정수이고 상기 그룹은 트리내의 부트리를 형성하며, 상기 트리는 루트와 다수의 노드를 포함하고 각각의 노드는 적어도 하나의 연관 라벨을 구비하며, 각각의 부집합은 임의의 노드 vi를 루트로하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함하며, 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트가 사용자들에게 제공되고 상기 헤더는 최대 2r-1개의 부집합 키들과 암호를 포함(r은 철회 집합 R의 사용자 수)함-Dividing the users into groups S 1 , .., S w- "w" is an integer and the group forms a bootie in the tree, the tree comprising a root and a plurality of nodes, each node having at least one comprises an associated label, each sub-set comprises an arbitrary node v i the while remaining within the subtree of the root v i of the progeny of any other node v j every leaf in a portion of a routing tree that does not belong, and At least one message content defining the header is provided to the users and the header contains a maximum of 2r-1 subset keys and a password (r is the number of users of the revocation set R). 를 포함하는 방법.How to include. 암호를 브로드캐스트하는 방법에 있어서,In the method of broadcasting a password, 사용자 그룹의 각각의 사용자에게 각각의 개인 정보 Iu를 할당하는 단계와,Assigning respective personal information I u to each user of the user group, 적어도 하나의 세션암호키 K를 선택하는 단계와,Selecting at least one session encryption key K, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누는 단계와,Dividing users who do not belong to the retraction set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im , and 상기 세션키 K에 대한 m개의 암호화된 버전을 만들기 위해 상기 세션키 K를 부집합 키Li1 ...Lim로써 암호화하는 단계와,Encrypting the session key K with a subset key L i1 ... L im to produce m encrypted versions of the session key K, 상기 사용자들을 그룹 S1,..,Sw로 나누는 단계 -"w"는 정수이고 상기 그룹은 트리내의 부트리를 형성하며, 상기 트리는 루트와 다수의 노드를 포함하고 각각의 노드는 적어도 하나의 연관 라벨을 구비하며, 각각의 부집합은 임의의 노드 vi를 루트로하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함하며, 각각의 사용자는 .5(logN)2 + .5logN + 1개의 키(N은 전체 사용자 수)를 저장하여야함-Dividing the users into groups S 1 , .., S w- "w" is an integer and the group forms a bootie in the tree, the tree comprising a root and a plurality of nodes, each node having at least one comprises an associated label, each sub-set comprises an arbitrary node v i the while remaining within the subtree of the root v i of the progeny of any other node v j every leaf in a portion of a routing tree that does not belong, and Each user must store .5 (logN) 2 + .5logN + 1 key, where N is the total number of users. 를 포함하는 방법.How to include. 암호를 브로드캐스트하는 방법에 있어서,In the method of broadcasting a password, 사용자 그룹의 각각의 사용자에게 각각의 개인 정보 Iu를 할당하는 단계와,Assigning respective personal information I u to each user of the user group, 적어도 하나의 세션암호키 K를 선택하는 단계와,Selecting at least one session encryption key K, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누는 단계와,Dividing users who do not belong to the retraction set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im , and 상기 세션키 K에 대한 m개의 암호화된 버전을 만들기 위해 상기 세션키 K를 부집합 키Li1 ...Lim로써 암호화하는 단계와,Encrypting the session key K with a subset key L i1 ... L im to produce m encrypted versions of the session key K, 상기 사용자들을 그룹 S1,..,Sw로 나누는 단계 -"w"는 정수이고 상기 그룹은 트리내의 부트리를 형성하며, 상기 트리는 루트와 다수의 노드를 포함하고 각각의 노드는 적어도 하나의 연관 라벨을 구비하며, 각각의 부집합은 임의의 노드 vi를 루트로하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함하며, 적어도 하나의 메시지로 콘텐트가 사용자들에게 제공되고 각각의 사용자는 최대 log N 개의 연산 및 1개의 해독 연산을 이용하여 상기 메시지를 처리(N은 전체 사용자 수)함-Dividing the users into groups S 1 , .., S w- "w" is an integer and the group forms a bootie in the tree, the tree comprising a root and a plurality of nodes, each node having at least one comprises an associated label, each sub-set comprises an arbitrary node v i the while remaining within the subtree of the root v i of the progeny of any other node v j every leaf in a portion of a routing tree that does not belong, and Content is provided to users in at least one message, and each user processes the message using up to log N operations and one decryption operation, where N is the total number of users. 를 포함하는 방법.How to include. 암호를 브로드캐스트하는 방법에 있어서,In the method of broadcasting a password, 사용자 그룹의 각각의 사용자에게 각각의 개인 정보 Iu를 할당하는 단계와,Assigning respective personal information I u to each user of the user group, 적어도 하나의 세션암호키 K를 선택하는 단계와,Selecting at least one session encryption key K, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누는 단계와,Dividing users who do not belong to the retraction set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im , and 상기 세션키 K에 대한 m개의 암호화된 버전을 만들기 위해 상기 세션키 K를 부집합 키Li1 ...Lim로써 암호화하는 단계와,Encrypting the session key K with a subset key L i1 ... L im to produce m encrypted versions of the session key K, 상기 사용자들을 그룹 S1,..,Sw로 나누는 단계 -"w"는 정수이고 상기 그룹은 트리내의 부트리를 형성하며, 상기 트리는 루트와 다수의 노드를 포함하고 각각의 노드는 적어도 하나의 연관 라벨을 구비하며, 각각의 부집합은 임의의 노드 vi를 루트로하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함하며, 상기 철회 집합 R은 스패닝 트리를 정의하고 상기 방법은Dividing the users into groups S 1 , .., S w- "w" is an integer and the group forms a bootie in the tree, the tree comprising a root and a plurality of nodes, each node having at least one comprises an associated label, each sub-set comprises an arbitrary node v i the while remaining within the subtree of the root v i of the progeny of any other node v j every leaf in a portion of a routing tree that does not belong, and , The retraction set R defines a spanning tree and the method 상기 스패닝 트리로서 커버(cover) 트리 T를 초기화하는 단계와,Initializing a cover tree T as the spanning tree; 상기 커버 트리 T가 최대(at most) 1개의 노드를 가질때까지 상기 커버 트리 T로부터 노드들을 제거하고 상기 커버 트리에 노드들을 추가시키는 단계를 반복하는 단계를 포함함-Removing the nodes from the cover tree T and adding the nodes to the cover tree until the cover tree T has at most one node. 를 포함하는 방법.How to include. 암호를 브로드캐스트하는 방법에 있어서,In the method of broadcasting a password, 사용자 그룹의 각각의 사용자에게 각각의 개인 정보 Iu를 할당하는 단계와,Assigning respective personal information I u to each user of the user group, 적어도 하나의 세션암호키 K를 선택하는 단계와,Selecting at least one session encryption key K, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누는 단계와,Dividing users who do not belong to the retraction set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im , and 상기 세션키 K에 대한 m개의 암호화된 버전을 만들기 위해 상기 세션키 K를 부집합 키Li1 ...Lim로써 암호화하는 단계와,Encrypting the session key K with a subset key L i1 ... L im to produce m encrypted versions of the session key K, 상기 사용자들을 그룹 S1,..,Sw로 나누는 단계 -"w"는 정수이고 상기 그룹은 트리내의 부트리를 형성하며, 상기 트리는 루트와 다수의 노드를 포함하고 각각의 노드는 적어도 하나의 연관 라벨을 구비하며, 각각의 부집합은 임의의 노드 vi를 루트로하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함하며, 각각의 노드는 적어도 하나의 그의 조상에 의해 유도가능한 적어도 하나의 라벨을 갖고 각각의 사용자에게 상기 사용자와 상기 루트간의 직접 경로에 속하지 않고 상기 직접경로로부터 벗어나 매달려 있는 모든 노드들의 라벨이 할당됨-Dividing the users into groups S 1 , .., S w- "w" is an integer and the group forms a bootie in the tree, the tree comprising a root and a plurality of nodes, each node having at least one comprises an associated label, each sub-set comprises an arbitrary node v i the while remaining within the subtree of the root v i of the progeny of any other node v j every leaf in a portion of a routing tree that does not belong, and Each node has at least one label derivable by at least one of its ancestors, and each user is assigned a label of all nodes hanging off the direct path without belonging to the direct path between the user and the route; 를 포함하는 방법.How to include. 컴퓨터 시스템에 로딩되어 실행될 때 컴퓨터로 하여금 제1항 또는 제5항 내지 제11항중 어느 한 항에 따른 방법의 단계들을 수행하도록 만드는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 기록매체.12. A computer readable recording medium comprising computer program code for causing a computer to perform the steps of the method according to any one of claims 1 to 5 when loaded into and executed on a computer system. 암호를 브로드캐스트하기 위한 장치에 있어서, In the apparatus for broadcasting a password, 사용자 그룹의 각각의 사용자에게 각각의 개인 정보 Iu를 할당하기 위한 수단과,Means for assigning respective personal information I u to each user of the user group, 적어도 하나의 세션 암호키 K를 선택하기 위한 수단과,Means for selecting at least one session encryption key K, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누기 위한 수단과,Means for dividing users who do not belong to the withdrawal set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im , and 상기 세션키 K에 대한 m개의 암호화된 버전을 만들기 위해 상기 세션키 K를 부집합 키Li1 ...Lim로써 암호화하기 위한 수단과,Means for encrypting the session key K with a subset key L i1 ... L im to produce m encrypted versions of the session key K, 상기 사용자들을 그룹 S1,..,Sw로 나누기 위한 수단 -"w"는 정수이고, 상기 그룹은 트리내의 부트리를 형성하며, 각각의 부집합 Si1 ...Sim은 노드 vi를 루트로 하는 부트리내의 모든 리프들을 포함하고, 상기 부트리 내의 적어도 각각의 노드는 각각의 부집합 키와 연관되며, 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트가 사용자들에게 제공되고, 상기 헤더는 최대 r*log(N/r) 부집합 키들과 암호를 포함(r은 철회 집합 R의 사용자 수이고 N은 전체 사용자 수)함-Means for dividing the users into groups S 1 , .., S w- "w" is an integer, the group forms a bootie in the tree, and each subset S i1 ... S im is a node v i Includes all the leaves in the bootie rooted at, wherein at least each node in the bootie is associated with a respective subset key, at least one message content defining a header is provided to users, The header contains a maximum of r * log (N / r) subset keys and passwords, where r is the number of users in revocation set R and N is the total number of users. 을 포함하는 장치.Device comprising a. 암호를 브로드캐스트하는 방법에 있어서,In the method of broadcasting a password, 사용자 그룹의 각각의 사용자에게 각각의 개인 정보 Iu를 할당하는 단계와,Assigning respective personal information I u to each user of the user group, 적어도 하나의 세션암호키 K를 선택하는 단계와,Selecting at least one session encryption key K, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누는 단계와,Dividing users who do not belong to the retraction set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im , and 상기 세션키 K에 대한 m개의 암호화된 버전을 만들기 위해 상기 세션키 K를 부집합 키Li1 ...Lim로써 암호화하는 단계 -암호함수 EL를 포함하는 헤더를 갖는 적어도 하나의 메시지로 된 콘텐트가 사용자에게 제공되고, 상기 방법은 암호함수 EL를 프리픽스-절단(prefix-truncate)하는 단계를 포함함-Encrypting the session key K with a subset key L i1 ... L im to produce m encrypted versions of the session key K, comprising at least one message having a header comprising a cryptographic function E L. Content is provided to the user, the method comprising prefix-truncate the cryptographic function E L- 를 포함하는 방법.How to include. 암호를 브로드캐스트하는 방법에 있어서,In the method of broadcasting a password, 사용자 그룹의 각각의 사용자에게 각각의 개인 정보 Iu를 할당하는 단계와,Assigning respective personal information I u to each user of the user group, 적어도 하나의 세션암호키 K를 선택하는 단계와,Selecting at least one session encryption key K, 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누는 단계와,Dividing users who do not belong to the retraction set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im , and 상기 세션키 K에 대한 m개의 암호화된 버전을 만들기 위해 상기 세션키 K를 부집합 키Li1 ...Lim로써 암호화하는 단계 -다수의 부분을 정의하는 적어도 하나의 메시지로 된 콘텐트가 사용자에게 제공되고, 각각의 부분은 각각의 세션 키로써 암호화됨-Encrypting the session key K with a subset key L i1 ... L im to create m encrypted versions of the session key K, wherein content of at least one message defining a plurality of portions is presented to the user. Provided, each portion encrypted with a respective session key- 를 포함하는 방법.How to include. 컴퓨터에 의해 이용가능한 프로그램 명령어를 포함하는 컴퓨터 프로그램 저장 장치를 포함하는 컴퓨터 프로그램 장치에 있어서,A computer program device comprising a computer program storage device comprising program instructions available by a computer, comprising: 상기 컴퓨터 프로그램 저장 장치는The computer program storage device 다수의 부집합 키들을 식별하기 위해 트리에 액세스하기 위한 로직 수단과,Logic means for accessing the tree to identify a plurality of subset keys; 세션키를 이용하여 메시지를 암호화하기 위한 로직 수단과,Logic means for encrypting the message using the session key; 세션키의 암호화 버전을 만들기 위해 각각의 부집합 키들을 이용하여 적어도 한번 세션키를 암호화하기 위한 로직 수단과,Logic means for encrypting the session key at least once using respective subset keys to produce an encrypted version of the session key, 다수의 상태 비-유지 수신기에 메시지 헤더내에 세션키 암호와 버전을 전송하기 위한 로직 수단 -상기 로직 수단은 적어도 하나의 메시지로 된 콘텐트를 수신기에 제공하며, 각각의 수신기는 최대 log log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리(N은 전체 수신기 개수)함-Logic means for sending a session key cryptogram and version in a message header to a plurality of stateless receivers, the logic means providing content to the receiver in at least one message, each receiver having a maximum of log log N operations Message using one decryption operation (where N is the total number of receivers) 을 포함하는 컴퓨터 프로그램 장치.Computer program device comprising a. 컴퓨터에 의해 이용가능한 프로그램 명령어를 포함하는 컴퓨터 프로그램 저장 장치를 포함하는 컴퓨터 프로그램 장치에 있어서,A computer program device comprising a computer program storage device comprising program instructions available by a computer, comprising: 상기 컴퓨터 프로그램 저장 장치는The computer program storage device 다수의 부집합 키들을 식별하기 위해 트리에 액세스하기 위한 로직 수단과,Logic means for accessing the tree to identify a plurality of subset keys; 세션키를 이용하여 메시지를 암호화하기 위한 로직 수단과,Logic means for encrypting the message using the session key; 세션키의 암호화 버전을 만들기 위해 각각의 부집합 키들을 이용하여 적어도 한번 세션키를 암호화하기 위한 로직 수단과,Logic means for encrypting the session key at least once using respective subset keys to produce an encrypted version of the session key, 다수의 상태 비-유지 수신기에 메시지 헤더내에 세션키 암호와 버전을 전송하기 위한 로직 수단과,Logic means for sending a session key cryptogram and version in a message header to a plurality of stateless receivers; 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누기 위한 로직 수단과,Logic means for dividing users who do not belong to the withdrawal set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im ; 상기 사용자들을 그룹 S1,..,Sw로 나누기 위한 로직 수단 -"w"는 정수이고 상기 그룹은 트리내의 부트리를 형성하며, 상기 트리는 루트와 다수의 노드를 포함하고 각각의 노드는 적어도 하나의 연관 라벨을 구비하며, 각각의 부집합은 임의의 노드 vi를 루트로하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함하며, 상기 로직 수단은 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신기에 제공하고 상기 헤더는 최대 2r-1개의 부집합 키들과 암호를 포함(r은 철회 집합 R의 수신기 수)함-Logic means for dividing the users into groups S 1 ,... S w- "w" is an integer and the group forms a bootie in the tree, the tree comprising a root and a plurality of nodes, each node at least includes a single associated labels, each of the sub-set is any node v i the while remaining within the subtree of the root v i of the progeny of any other node v j every leaf in a portion of the root tree that do not belong The logic means providing the receiver with content in at least one message defining a header, wherein the header includes at most 2r-1 subset keys and a cipher (r is the number of receivers in the revocation set R); 을 포함하는 컴퓨터 프로그램 장치.Computer program device comprising a. 컴퓨터에 의해 이용가능한 프로그램 명령어를 포함하는 컴퓨터 프로그램 저장 장치를 포함하는 컴퓨터 프로그램 장치에 있어서,A computer program device comprising a computer program storage device comprising program instructions available by a computer, comprising: 상기 컴퓨터 프로그램 저장 장치는The computer program storage device 다수의 부집합 키들을 식별하기 위해 트리에 액세스하기 위한 로직 수단과,Logic means for accessing the tree to identify a plurality of subset keys; 세션키를 이용하여 메시지를 암호화하기 위한 로직 수단과,Logic means for encrypting the message using the session key; 세션키의 암호화 버전을 만들기 위해 각각의 부집합 키들을 이용하여 적어도 한번 세션키를 암호화하기 위한 로직 수단과,Logic means for encrypting the session key at least once using respective subset keys to produce an encrypted version of the session key, 다수의 상태 비-유지 수신기에 메시지 헤더내에 세션키 암호와 버전을 전송하기 위한 로직 수단과,Logic means for sending a session key cryptogram and version in a message header to a plurality of stateless receivers; 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누기 위한 로직 수단과,Logic means for dividing users who do not belong to the withdrawal set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im ; 상기 사용자들을 그룹 S1,..,Sw로 나누기 위한 로직 수단 -"w"는 정수이고 상기 그룹은 트리내의 부트리를 형성하며, 상기 트리는 루트와 다수의 노드를 포함하고 각각의 노드는 적어도 하나의 연관 라벨을 구비하며, 각각의 부집합은 임의의 노드 vi를 루트로하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함하며, 각각의 수신기는 .5(logN)2 + .5logN + 1개의 키(N은 전체 수신기 수)를 저장하여야함-Logic means for dividing the users into groups S 1 ,... S w- "w" is an integer and the group forms a bootie in the tree, the tree comprising a root and a plurality of nodes, each node at least includes a single associated labels, each of the sub-set is any node v i the while remaining within the subtree of the root v i of the progeny of any other node v j every leaf in a portion of the root tree that do not belong Each receiver must store .5 (logN) 2 + .5logN + 1 key (N is the total number of receivers) 을 포함하는 컴퓨터 프로그램 장치. Computer program device comprising a. 컴퓨터에 의해 이용가능한 프로그램 명령어를 포함하는 컴퓨터 프로그램 저장 장치를 포함하는 컴퓨터 프로그램 장치에 있어서,A computer program device comprising a computer program storage device comprising program instructions available by a computer, comprising: 상기 컴퓨터 프로그램 저장 장치는The computer program storage device 다수의 부집합 키들을 식별하기 위해 트리에 액세스하기 위한 로직 수단과,Logic means for accessing the tree to identify a plurality of subset keys; 세션키를 이용하여 메시지를 암호화하기 위한 로직 수단과,Logic means for encrypting the message using the session key; 세션키의 암호화 버전을 만들기 위해 각각의 부집합 키들을 이용하여 적어도 한번 세션키를 암호화하기 위한 로직 수단과,Logic means for encrypting the session key at least once using respective subset keys to produce an encrypted version of the session key, 다수의 상태 비-유지 수신기에 메시지 헤더내에 세션키 암호와 버전을 전송하기 위한 로직 수단과,Logic means for sending a session key cryptogram and version in a message header to a plurality of stateless receivers; 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누기 위한 로직 수단과,Logic means for dividing users who do not belong to the withdrawal set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im ; 상기 사용자들을 그룹 S1,..,Sw로 나누기 위한 로직 수단 -"w"는 정수이고 상기 그룹은 트리내의 부트리를 형성하며, 상기 트리는 루트와 다수의 노드를 포함하고 각각의 노드는 적어도 하나의 연관 라벨을 구비하며, 각각의 부집합은 임의의 노드 vi를 루트로하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함하며, 상기 로직 수단은 수신기에 적어도 하나의 메시지로 된 콘텐트를 제공하고 각각의 수신기는 최대 log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리(N은 전체 수신기 수)함-Logic means for dividing the users into groups S 1 ,... S w- "w" is an integer and the group forms a bootie in the tree, the tree comprising a root and a plurality of nodes, each node at least includes a single associated labels, each of the sub-set is any node v i the while remaining within the subtree of the root v i of the progeny of any other node v j every leaf in a portion of the root tree that do not belong Wherein said logic means provides content to the receiver with at least one message and each receiver processes the message using at most log N operations and one decryption operation, where N is the total number of receivers. 을 포함하는 컴퓨터 프로그램 장치.Computer program device comprising a. 컴퓨터에 의해 이용가능한 프로그램 명령어를 포함하는 컴퓨터 프로그램 저장 장치를 포함하는 컴퓨터 프로그램 장치에 있어서,A computer program device comprising a computer program storage device comprising program instructions available by a computer, comprising: 상기 컴퓨터 프로그램 저장 장치는The computer program storage device 다수의 부집합 키들을 식별하기 위해 트리에 액세스하기 위한 로직 수단과,Logic means for accessing the tree to identify a plurality of subset keys; 세션키를 이용하여 메시지를 암호화하기 위한 로직 수단과,Logic means for encrypting the message using the session key; 세션키의 암호화 버전을 만들기 위해 각각의 부집합 키들을 이용하여 적어도 한번 세션키를 암호화하기 위한 로직 수단과,Logic means for encrypting the session key at least once using respective subset keys to produce an encrypted version of the session key, 다수의 상태 비-유지 수신기에 메시지 헤더내에 세션키 암호와 버전을 전송하기 위한 로직 수단과,Logic means for sending a session key cryptogram and version in a message header to a plurality of stateless receivers; 철회 집합 R에 속하지 않는 사용자들을 연관 부집합 키 Li1 ...Lim을 갖는 디스조인트 부집합 Si1 ...Sim으로 나누기 위한 로직 수단과,Logic means for dividing users who do not belong to the withdrawal set R into disjoint subsets S i1 ... S im with associative subset keys L i1 ... L im ; 상기 사용자들을 그룹 S1,..,Sw로 나누기 위한 로직 수단 -"w"는 정수이고 상기 그룹은 트리내의 부트리를 형성하며, 상기 트리는 루트와 다수의 노드를 포함하고 각각의 노드는 적어도 하나의 연관 라벨을 구비하며, 각각의 부집합은 임의의 노드 vi를 루트로하는 부트리내에 있으면서 vi의 자손인 임의의 다른 노드 vj를 루트로 하는 부트리 내에는 속하지 않는 모든 리프들을 포함하며, 상기 철회 집합 R은 스패닝 트리를 정의하고 상기 컴퓨터 프로그램 장치는Logic means for dividing the users into groups S 1 ,... S w- "w" is an integer and the group forms a bootie in the tree, the tree comprising a root and a plurality of nodes, each node at least includes a single associated labels, each of the sub-set is any node v i the while remaining within the subtree of the root v i of the progeny of any other node v j every leaf in a portion of the root tree that do not belong Wherein the revocation set R defines a spanning tree and the computer program device 상기 스패닝 트리로서 커버 트리 T를 초기화시키기 위한 로직 수단과,Logic means for initializing a cover tree T as the spanning tree; 상기 커버 트리 T가 최대 1개의 노드를 가질때까지 상기 커버 트리 T로부터 노드들을 제거하고 상기 커버 트리에 노드들을 추가시키는 동작을 반복적으로 수행하기 위한 로직 수단을 포함함-Logic means for repeatedly performing operations of removing nodes from the cover tree T and adding nodes to the cover tree until the cover tree T has at most one node; 을 포함하는 컴퓨터 프로그램 장치.Computer program device comprising a. 컴퓨터에 의해 이용가능한 프로그램 명령어를 포함하는 컴퓨터 프로그램 저장 장치를 포함하는 컴퓨터 프로그램 장치에 있어서,A computer program device comprising a computer program storage device comprising program instructions available by a computer, comprising: 상기 컴퓨터 프로그램 저장 장치는The computer program storage device 다수의 부집합 키들을 식별하기 위해 트리에 액세스하기 위한 로직 수단과,Logic means for accessing the tree to identify a plurality of subset keys; 세션키를 이용하여 메시지를 암호화하기 위한 로직 수단과,Logic means for encrypting the message using the session key; 세션키의 암호화 버전을 만들기 위해 각각의 부집합 키들을 이용하여 적어도 한번 세션키를 암호화하기 위한 로직 수단과,Logic means for encrypting the session key at least once using respective subset keys to produce an encrypted version of the session key, 다수의 상태 비-유지 수신기에 메시지 헤더내에 세션키 암호와 버전을 전송하기 위한 로직 수단 -상기 로직 수단은 암호함수 EL를 포함하는 헤더를 갖는 적어도 하나의 메시지로 된 콘텐트를 수신기에 제공하고, 상기 컴퓨터 프로그램 장치는 암호함수 EL를 프리픽스-절단하기 위한 로직 수단을 포함함-Logic means for sending a session key cryptogram and version in a message header to a plurality of stateless receivers, the logic means providing content to the receiver with at least one message having a header comprising a cryptographic function E L ; Said computer program apparatus comprising logic means for prefix-cutting cryptographic function E L- 을 포함하는 컴퓨터 프로그램 장치.Computer program device comprising a. 컴퓨터에 의해 이용가능한 프로그램 명령어를 포함하는 컴퓨터 프로그램 저장 장치를 포함하는 컴퓨터 프로그램 장치에 있어서,A computer program device comprising a computer program storage device comprising program instructions available by a computer, comprising: 상기 컴퓨터 프로그램 저장 장치는The computer program storage device 다수의 부집합 키들을 식별하기 위해 트리에 액세스하기 위한 로직 수단과,Logic means for accessing the tree to identify a plurality of subset keys; 세션키를 이용하여 메시지를 암호화하기 위한 로직 수단과,Logic means for encrypting the message using the session key; 세션키의 암호화 버전을 만들기 위해 각각의 부집합 키들을 이용하여 적어도 한번 세션키를 암호화하기 위한 로직 수단과,Logic means for encrypting the session key at least once using respective subset keys to produce an encrypted version of the session key, 다수의 상태 비-유지 수신기에 메시지 헤더내에 세션키 암호와 버전을 전송하기 위한 로직 수단 -상기 로직 수단은 다수의 부분을 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신기에 제공하고, 각각의 부분은 각각의 세션키로써 암호화됨-Logic means for sending a session key cryptogram and version in a message header to a plurality of stateless receivers, the logic means providing content to the receiver in at least one message defining a plurality of portions, each portion being Encrypted with each session key 을 포함하는 컴퓨터 프로그램 장치.Computer program device comprising a. 브로드캐스트 콘텐트를 암호화하는 단계와,Encrypting the broadcast content; 상기 브로드캐스트 콘텐트를 다수의 비-유지 수신기들과 적어도 하나의 철회 수신기에 전송하되 각각의 비-유지 수신기는 콘텐트를 해독할 수 있고 철회 수신기는 콘텐트를 해독할 수 없도록 하는 단계와,Transmitting the broadcast content to a plurality of non-holding receivers and at least one retracting receiver, wherein each non-holding receiver can decrypt the content and the retracting receiver cannot decrypt the content; 상기 사용자들을 그룹 S1,..,Sw로 나누는 단계 -"w"는 정수이고, 상기 그룹은 트리내의 부트리를 형성하며, 각각의 부집합 Si1 ...Sim은 노드 vi를 루트로 하는 부트리내의 모든 리프들을 포함하고, 상기 부트리 내의 적어도 각각의 노드는 각각의 부집합 키와 연관되며, 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트가 수신기에 제공되고, 상기 헤더는 최대 r*log(N/r) 부집합 키들과 암호를 포함(r은 철회 집합 R의 수신기 수이고 N은 전체 수신기 수)함- Dividing the users into groups S 1 , .., S w- " w " is an integer, the groups forming a bootie in the tree, and each subset S i1 ... S im defines node v i Includes all of the leaves in the root Booty, at least each node in the Booty is associated with a respective subset key, at least one message content defining the header is provided to the receiver, and the header is Contains up to r * log (N / r) subset keys and ciphers (r is the number of receivers in the retraction set R and N is the total number of receivers) 를 포함하는 방법을 컴퓨터가 실행하도록 만드는 명령어들로 프로그래밍된 컴퓨터.A computer programmed with instructions to cause a computer to execute a method comprising a. 브로드캐스트 콘텐트를 암호화하는 단계와,Encrypting the broadcast content; 상기 사용자들을 그룹 S1,..,Sw로 나누는 단계 -"w"는 정수이고, 상기 그룹은 트리내의 부트리를 형성하며, 각각의 부집합 Si1 ...Sim은 노드 vi를 루트로 하는 부트리내의 모든 리프들을 포함하고, 상기 부트리 내의 적어도 각각의 노드는 각각의 부집합 키와 연관됨- 와,Groups S 1, ... of the user, dividing by S w - "w" is an integer, the group forms a sub-tree in the tree, and each subset S i1 ... S im is the node v i Includes all the leaves in the rooted bootie, at least each node in the bootie associated with a respective subset key—and, 상기 브로드캐스트 콘텐트를 다수의 비-유지 수신기들과 적어도 하나의 철회 수신기에 전송하되 각각의 비-유지 수신기는 콘텐트를 해독할 수 있고 철회 수신기는 콘텐트를 해독할 수 없도록 하는 단계 -적어도 하나의 메시지로 된 콘텐트가 수신기들에 제공되며, 각각의 수신기는 최대 log log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리(N은 전체 수신기 수)함-Transmitting the broadcast content to a plurality of non-holding receivers and at least one retracting receiver, wherein each non-holding receiver can decrypt the content and the retracting receiver cannot decrypt the content-at least one message Content is provided to the receivers, and each receiver processes the message using up to log log N operations and one decryption operation (where N is the total number of receivers). 를 포함하는 방법을 컴퓨터가 실행하도록 만드는 명령어들로 프로그래밍된 컴퓨터.A computer programmed with instructions to cause a computer to execute a method comprising a. 브로드캐스트 콘텐트를 암호화하는 단계와,Encrypting the broadcast content; 상기 브로드캐스트 콘텐트를 다수의 비-유지 수신기들과 적어도 하나의 철회 수신기에 전송하되 각각의 비-유지 수신기는 콘텐트를 해독할 수 있고 철회 수신기는 콘텐트를 해독할 수 없도록 하는 단계 -암호함수 EL를 포함하는 헤더를 갖는 적어도 하나의 메시지로 된 콘텐트가 수신기에 제공되고, 상기 방법은 암호함수 EL를 프리픽스-절단하는 단계를 포함함-The broad cast content, a number of non-but sent to maintain the at least one revoked receiver with the receiver each non-holding receiver can decrypt the content revoked receiver comprising: so can decrypt the content-encryption function E L Wherein at least one message content is provided to the receiver having a header comprising a prefix, the method comprising prefix-cutting the cryptographic function E L. 를 포함하는 방법을 컴퓨터가 실행하도록 만드는 명령어들로 프로그래밍된 컴퓨터.A computer programmed with instructions to cause a computer to execute a method comprising a. 브로드캐스트 콘텐트를 암호화하는 단계와,Encrypting the broadcast content; 상기 브로드캐스트 콘텐트를 다수의 비-유지 수신기들과 적어도 하나의 철회 수신기에 전송하되 각각의 비-유지 수신기는 콘텐트를 해독할 수 있고 철회 수신기는 콘텐트를 해독할 수 없도록 하는 단계 -다수의 부분을 정의하는 적어도 하나의 메시지로 된 콘텐트가 수신기에 제공되고, 각각의 부분은 각각의 세션키로써 암호화됨-Transmitting the broadcast content to a plurality of non-holding receivers and at least one retracting receiver, wherein each non-holding receiver can decrypt the content and the retracting receiver cannot decrypt the content. The content of at least one message being defined is provided to the receiver, each part being encrypted with a respective session key- 를 포함하는 방법을 컴퓨터가 실행하도록 만드는 명령어들로 프로그래밍된 컴퓨터.A computer programmed with instructions to cause a computer to execute a method comprising a. 콘텐트 수신기에 있어서,In the content receiver, 각각의 개인 정보 Iu를 저장하기 위한 수단과,Means for storing respective personal information I u ; 다수의 부집합키들로 암호화된 적어도 하나의 세션 암호화 키 K -상기 세션 암호화키 K는 콘텐트를 암호화함- 를 수신하기 위한 수단과,Means for receiving at least one session encryption key K encrypted with a plurality of subset keys, wherein the session encryption key K encrypts content; 상기 콘텐트를 플레이하기 위해 상기 세션 키 K가 해독될 수 있도록 상기 개인 정보를 이용하여 적어도 하나의 부집합 키를 얻기 위한 수단 -상기 수신기는 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신하고, 상기 헤더는 최대 r*log(N/r)개의 부집합 키들과 암호를 포함(r은 철회 집합 R의 수신기 수이고 N은 전체 수신기 수)함- Means for obtaining at least one subset key using the personal information such that the session key K can be decrypted to play the content, the receiver receiving content in at least one message defining a header, The header contains at most r * log (N / r) subset keys and ciphers (r is the number of receivers in the revocation set R and N is the total number of receivers). 을 포함하는 수신기.Receiver comprising a. 콘텐트 수신기에 있어서,In the content receiver, 각각의 개인 정보 Iu를 저장하기 위한 수단과,Means for storing respective personal information I u ; 다수의 부집합키들로 암호화된 적어도 하나의 세션 암호화 키 K -상기 세션 암호화키 K는 콘텐트를 암호화함- 를 수신하기 위한 수단과,Means for receiving at least one session encryption key K encrypted with a plurality of subset keys, wherein the session encryption key K encrypts content; 상기 콘텐트를 플레이하기 위해 상기 세션 키 K가 해독될 수 있도록 상기 개인 정보를 이용하여 적어도 하나의 부집합 키를 얻기 위한 수단 -상기 수신기는 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신하고, 상기 수신기는 최대 log log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리(N은 전체 수신기 수)함-Means for obtaining at least one subset key using the personal information such that the session key K can be decrypted to play the content, the receiver receiving content in at least one message defining a header, The receiver processes the message using up to log log N operations and one decryption operation (N is the total number of receivers). 을 포함하는 수신기.Receiver comprising a. 콘텐트 수신기에 있어서,In the content receiver, 각각의 개인 정보 Iu를 저장하기 위한 수단과,Means for storing respective personal information I u ; 다수의 부집합키들로 암호화된 적어도 하나의 세션 암호화 키 K -상기 세션 암호화키 K는 콘텐트를 암호화함- 를 수신하기 위한 수단과,Means for receiving at least one session encryption key K encrypted with a plurality of subset keys, wherein the session encryption key K encrypts content; 상기 콘텐트를 플레이하기 위해 상기 세션 키 K가 해독될 수 있도록 상기 개인 정보를 이용하여 적어도 하나의 부집합 키를 얻기 위한 수단 -상기 수신기는 최대 2r-1개의 부집합 키들과 암호를 포함(r은 철회 집합 R의 수신기 수)하는 헤더를 갖는 적어도 하나의 메시지로 된 콘텐트를 수신함-Means for obtaining at least one subset key using the personal information such that the session key K can be decrypted to play the content, wherein the receiver comprises at most 2r-1 subset keys and an encryption (r Receive content in at least one message with a header number of revocation sets R) 을 포함하는 수신기.Receiver comprising a. 콘텐트 수신기에 있어서,In the content receiver, 각각의 개인 정보 Iu를 저장하기 위한 수단과,Means for storing respective personal information I u ; 다수의 부집합키들로 암호화된 적어도 하나의 세션 암호화 키 K -상기 세션 암호화키 K는 콘텐트를 암호화함- 를 수신하기 위한 수단과,Means for receiving at least one session encryption key K encrypted with a plurality of subset keys, wherein the session encryption key K encrypts content; 상기 콘텐트를 플레이하기 위해 상기 세션 키 K가 해독될 수 있도록 상기 개인 정보를 이용하여 적어도 하나의 부집합 키를 얻기 위한 수단 -상기 수신기는 .5(logN)2 + .5logN + 1개의 키(N은 전체 수신기 수)를 저장하여야함-Means for obtaining at least one subset key using the personal information such that the session key K can be decrypted to play the content, wherein the receiver receives .5 (logN) 2 + .5logN + 1 key (N Should store the total number of receivers) 을 포함하는 수신기.Receiver comprising a. 콘텐트 수신기에 있어서,In the content receiver, 각각의 개인 정보 Iu를 저장하기 위한 수단과,Means for storing respective personal information I u ; 다수의 부집합키들로 암호화된 적어도 하나의 세션 암호화 키 K -상기 세션 암호화키 K는 콘텐트를 암호화함- 를 수신하기 위한 수단과,Means for receiving at least one session encryption key K encrypted with a plurality of subset keys, wherein the session encryption key K encrypts content; 상기 콘텐트를 플레이하기 위해 상기 세션 키 K가 해독될 수 있도록 상기 개인 정보를 이용하여 적어도 하나의 부집합 키를 얻기 위한 수단 -적어도 하나의 메시지로 된 콘텐트가 상기 수신기에 제공되며, 상기 수신기는 최대 log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리(N은 전체 수신기 수)함-Means for obtaining at least one subset key using the personal information such that the session key K can be decrypted to play the content, wherein the content in at least one message is provided to the receiver, the receiver being at most Process the message using log N operations and one decryption operation (N is the total number of receivers) 을 포함하는 수신기.Receiver comprising a. 콘텐트 수신기에 있어서,In the content receiver, 각각의 개인 정보 Iu를 저장하기 위한 데이터 저장 디바이스와,A data storage device for storing respective personal information I u ; 다수의 부집합키들로 암호화된 적어도 하나의 세션 암호화 키 K를 수신하는 프로세싱 디바이스 -상기 세션 키는 콘텐트를 암호화하며, 상기 프로세싱 디바이스는 상기 콘텐트를 플레이하기 위해 상기 세션 키 K가 해독될 수 있도록 상기 개인 정보를 이용하여 적어도 하나의 부집합 키를 얻으며, 상기 수신기는 헤더를 정의하는 적어도 하나의 메시지로 된 콘텐트를 수신하고, 상기 수신기는 최대 log log N개의 연산과 하나의 해독 연산을 이용하여 메시지를 처리(N은 전체 수신기 수)함-A processing device for receiving at least one session encryption key K encrypted with a plurality of subset keys, the session key encrypting content, the processing device being capable of decrypting the session key K to play the content; Obtain at least one subset key using personal information, the receiver receiving content in at least one message defining a header, the receiver using a maximum of log log N operations and one decryption operation (N is the total number of receivers) 를 포함하는 수신기.Receiver comprising a.
KR1020037009628A 2001-01-26 2002-01-23 Method for broadcast encryption and key revocation of stateless receivers KR100543630B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/770,877 US7039803B2 (en) 2001-01-26 2001-01-26 Method for broadcast encryption and key revocation of stateless receivers
US09/770,877 2001-01-26
PCT/GB2002/000305 WO2002060116A2 (en) 2001-01-26 2002-01-23 Method for broadcast encryption

Publications (2)

Publication Number Publication Date
KR20030085125A KR20030085125A (en) 2003-11-03
KR100543630B1 true KR100543630B1 (en) 2006-01-20

Family

ID=25089976

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037009628A KR100543630B1 (en) 2001-01-26 2002-01-23 Method for broadcast encryption and key revocation of stateless receivers

Country Status (11)

Country Link
US (4) US7039803B2 (en)
EP (1) EP1354443B2 (en)
JP (1) JP2004520743A (en)
KR (1) KR100543630B1 (en)
CN (2) CN1976277B (en)
AT (1) ATE445269T1 (en)
AU (1) AU2002228163A1 (en)
DE (1) DE60233929D1 (en)
ES (1) ES2334109T5 (en)
TW (1) TWI264208B (en)
WO (1) WO2002060116A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015077B2 (en) 2005-05-09 2015-04-21 Samsung Electronics Co., Ltd. Method and apparatus for efficiently encrypting/decrypting digital content according to broadcast encryption scheme

Families Citing this family (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001099332A1 (en) * 2000-06-21 2001-12-27 Sony Corporation Information recording/reproducing apparatus and method
US8127326B2 (en) 2000-11-14 2012-02-28 Claussen Paul J Proximity detection using wireless connectivity in a communications system
US7861272B2 (en) 2000-11-14 2010-12-28 Russ Samuel H Networked subscriber television distribution
JP4581246B2 (en) * 2000-12-26 2010-11-17 ソニー株式会社 Information processing system, information processing method, and program recording medium
US7421082B2 (en) * 2000-12-28 2008-09-02 Sony Corporation Data delivery method and data delivery system using sets of passkeys generated by dividing an encryption key
JP4281252B2 (en) * 2001-01-16 2009-06-17 ソニー株式会社 Information recording apparatus, information reproducing apparatus, information recording method, information reproducing method, information recording medium, and program storage medium
US9520993B2 (en) 2001-01-26 2016-12-13 International Business Machines Corporation Renewable traitor tracing
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
US7590247B1 (en) 2001-04-18 2009-09-15 Mcafee, Inc. System and method for reusable efficient key distribution
US7043024B1 (en) * 2001-04-18 2006-05-09 Mcafee, Inc. System and method for key distribution in a hierarchical tree
FR2824212A1 (en) * 2001-04-25 2002-10-31 Thomson Licensing Sa METHOD FOR MANAGING A SYMMETRIC KEY IN A COMMUNICATION NETWORK AND DEVICES FOR IMPLEMENTING IT
US7181620B1 (en) * 2001-11-09 2007-02-20 Cisco Technology, Inc. Method and apparatus providing secure initialization of network devices using a cryptographic key distribution approach
JP3917507B2 (en) * 2002-01-28 2007-05-23 株式会社東芝 Content providing system, user system, tracking system, content providing method, encrypted content decrypting method, unauthorized user specifying method, encrypting device, decrypting device, and program
US7340603B2 (en) * 2002-01-30 2008-03-04 Sony Corporation Efficient revocation of receivers
JP3818503B2 (en) * 2002-04-15 2006-09-06 ソニー株式会社 Information processing apparatus and method, and program
US7092527B2 (en) * 2002-04-18 2006-08-15 International Business Machines Corporation Method, system and program product for managing a size of a key management block during content distribution
US7400732B2 (en) * 2002-07-25 2008-07-15 Xerox Corporation Systems and methods for non-interactive session key distribution with revocation
US7516470B2 (en) 2002-08-02 2009-04-07 Cisco Technology, Inc. Locally-updated interactive program guide
US7908625B2 (en) 2002-10-02 2011-03-15 Robertson Neil C Networked multimedia system
US7360235B2 (en) 2002-10-04 2008-04-15 Scientific-Atlanta, Inc. Systems and methods for operating a peripheral record/playback device in a networked multimedia system
US8046806B2 (en) 2002-10-04 2011-10-25 Wall William E Multiroom point of deployment module
US7545935B2 (en) * 2002-10-04 2009-06-09 Scientific-Atlanta, Inc. Networked multimedia overlay system
GB2394803A (en) * 2002-10-31 2004-05-05 Hewlett Packard Co Management of security key distribution using an ancestral hierarchy
US7305711B2 (en) * 2002-12-10 2007-12-04 Intel Corporation Public key media key block
US7450722B2 (en) * 2002-12-13 2008-11-11 General Instrument Corporation Subset difference method for multi-cast rekeying
US20040128259A1 (en) * 2002-12-31 2004-07-01 Blakeley Douglas Burnette Method for ensuring privacy in electronic transactions with session key blocks
US7801820B2 (en) * 2003-01-13 2010-09-21 Sony Corporation Real-time delivery of license for previously stored encrypted content
CN1739260B (en) * 2003-01-15 2011-12-28 松下电器产业株式会社 Work protection system, key data generating apparatus, and terminal device
US7487532B2 (en) 2003-01-15 2009-02-03 Cisco Technology, Inc. Optimization of a full duplex wideband communications system
US8094640B2 (en) 2003-01-15 2012-01-10 Robertson Neil C Full duplex wideband communications system for a local coaxial network
JP2004220317A (en) * 2003-01-15 2004-08-05 Sony Corp Mutual authentication method, program, recording medium, signal processing system, reproduction device, and information processor
DE602004029555D1 (en) * 2003-01-15 2010-11-25 Panasonic Corp CONTAINER SYSTEM, END UNIT, TERMINAL METHOD AND STORAGE MEDIUM
US8261063B2 (en) * 2003-02-03 2012-09-04 Hewlett-Packard Development Company, L.P. Method and apparatus for managing a hierarchy of nodes
JP3788438B2 (en) * 2003-03-24 2006-06-21 ソニー株式会社 Information recording medium, information processing apparatus, information processing method, and computer program
KR100974449B1 (en) * 2003-04-24 2010-08-10 엘지전자 주식회사 Method for managing a copy protection information of optical disc
KR100974448B1 (en) * 2003-04-24 2010-08-10 엘지전자 주식회사 Method for managing a copy protection information of optical disc
KR100972831B1 (en) * 2003-04-24 2010-07-28 엘지전자 주식회사 Protectiog method of encrypted data and reprodecing apparatus therof
KR20040092649A (en) * 2003-04-24 2004-11-04 엘지전자 주식회사 Method for managing a copy protection information of optical disc
JP4625011B2 (en) * 2003-05-21 2011-02-02 株式会社エヌ・ティ・ティ・ドコモ Broadcast encryption using RSA
JP4759513B2 (en) * 2003-06-02 2011-08-31 リキッド・マシンズ・インコーポレーテッド Data object management in dynamic, distributed and collaborative environments
CN1833400B (en) * 2003-08-05 2011-12-28 松下电器产业株式会社 Copyright protection system
US7610485B1 (en) * 2003-08-06 2009-10-27 Cisco Technology, Inc. System for providing secure multi-cast broadcasts over a network
CN1849660A (en) * 2003-09-10 2006-10-18 皇家飞利浦电子股份有限公司 Content protection method and system
US7813512B2 (en) * 2003-10-16 2010-10-12 Panasonic Corporation Encrypted communication system and communication device
KR20050078773A (en) * 2004-02-02 2005-08-08 삼성전자주식회사 Method of assigning user key for broadcast encryption
US7499550B2 (en) * 2004-02-09 2009-03-03 International Business Machines Corporation System and method for protecting a title key in a secure distribution system for recordable media content
JP4635459B2 (en) * 2004-03-15 2011-02-23 ソニー株式会社 Information processing method, decoding processing method, information processing apparatus, and computer program
JP2005286959A (en) * 2004-03-31 2005-10-13 Sony Corp Information processing method, decoding processing method, information processor and computer program
US8300824B1 (en) * 2004-04-08 2012-10-30 Cisco Technology, Inc. System and method for encrypting data using a cipher text in a communications environment
CN1954538B (en) * 2004-05-12 2012-06-20 艾利森电话股份有限公司 Key management messages for secure broadcast
US8249258B2 (en) * 2004-06-07 2012-08-21 National Institute Of Information And Communications Technology Communication method and communication system using decentralized key management scheme
JP4162237B2 (en) * 2004-06-24 2008-10-08 インターナショナル・ビジネス・マシーンズ・コーポレーション ENCRYPTED COMMUNICATION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, ENCRYPTION PROGRAM, AND DECRYPTION PROGRAM
KR100968181B1 (en) * 2004-06-24 2010-07-07 인터내셔널 비지네스 머신즈 코포레이션 Access control over multicast
US7266548B2 (en) * 2004-06-30 2007-09-04 Microsoft Corporation Automated taxonomy generation
KR100579515B1 (en) * 2004-10-08 2006-05-15 삼성전자주식회사 Apparatus and method of generating a key for broadcast encryption
US7516326B2 (en) * 2004-10-15 2009-04-07 Hewlett-Packard Development Company, L.P. Authentication system and method
US7454021B2 (en) * 2004-10-29 2008-11-18 Hewlett-Packard Development Company, L.P. Off-loading data re-encryption in encrypted data management systems
US7949135B2 (en) 2004-11-16 2011-05-24 Telefonaktiebolaget Lm Ericsson (Publ) Key distribution in systems for selective access to information
TWI277870B (en) * 2004-11-22 2007-04-01 Toshiba Corp Copyright management method, information recording/reproducing method and device, and information recording medium and method of manufacturing the medium
US8090105B2 (en) * 2004-11-24 2012-01-03 International Business Machines Corporation Broadcast encryption with dual tree sizes
US20060126831A1 (en) * 2004-12-14 2006-06-15 Cerruti Julian A Systems, methods, and media for adding an additional level of indirection to title key encryption
KR100811046B1 (en) * 2005-01-14 2008-03-06 엘지전자 주식회사 Method for managing digital rights of broadcast/multicast service
JP4599194B2 (en) * 2005-03-08 2010-12-15 株式会社東芝 Decoding device, decoding method, and program
KR100717005B1 (en) * 2005-04-06 2007-05-10 삼성전자주식회사 Method and apparatus for determining revocation key, and method and apparatus for decrypting thereby
EP1875660B1 (en) 2005-04-19 2018-10-24 Samsung Electronics Co., Ltd. Tag generation method in broadcast encryption system
KR100970391B1 (en) * 2005-04-19 2010-07-15 삼성전자주식회사 Method for Making Tag in Broadcast Encryption System
US20060265338A1 (en) * 2005-05-17 2006-11-23 Rutkowski Matt F System and method for usage based key management rebinding using logical partitions
KR100708133B1 (en) * 2005-05-25 2007-04-17 삼성전자주식회사 Method and apparatus for encrypting/decrypting efficiently according to broadcast encryption scheme
KR100708134B1 (en) * 2005-05-25 2007-04-17 삼성전자주식회사 Method and apparatus for encrypting/decrypting efficiently according to broadcast encryption scheme
KR101152311B1 (en) * 2005-06-09 2012-06-11 삼성전자주식회사 Key managing method in tree topology network for broadcast encryption
JP2008547312A (en) * 2005-06-23 2008-12-25 トムソン ライセンシング Multimedia access device registration system and method
US20070011735A1 (en) * 2005-07-06 2007-01-11 Cable Television Laboratories, Inc. Open standard conditional access system
US7876998B2 (en) 2005-10-05 2011-01-25 Wall William E DVD playback over multi-room by copying to HDD
US7523304B2 (en) * 2005-11-22 2009-04-21 Ntt Docomo, Inc. Generation of set coverings with free riders, and generation of ordered sets of meeting points, in systems which include, but are not limited to, systems for broadcast encryption and systems for certificate revocation
KR100803596B1 (en) * 2005-11-25 2008-02-19 삼성전자주식회사 Method and apparatus for decryption using external device or service on revocation mechanism, method and apparatus for supporting decryption therefor
US8306026B2 (en) * 2005-12-15 2012-11-06 Toshiba America Research, Inc. Last hop topology sensitive multicasting key management
US8176568B2 (en) * 2005-12-30 2012-05-08 International Business Machines Corporation Tracing traitor coalitions and preventing piracy of digital content in a broadcast encryption system
US7860990B2 (en) 2006-01-31 2010-12-28 Genband Us Llc Session data records and related alarming within a session over internet protocol (SOIP) network
US7865612B2 (en) * 2006-01-31 2011-01-04 Genband Us Llc Method and apparatus for partitioning resources within a session-over-internet-protocol (SoIP) session controller
US7861003B2 (en) 2006-01-31 2010-12-28 Genband Us Llc Adaptive feedback for session over internet protocol
KR100729139B1 (en) * 2006-02-13 2007-06-18 고려대학교 산학협력단 Modular method for broadcast encryption
FR2897736B1 (en) * 2006-02-22 2008-04-11 Viaccess Sa METHOD FOR ESTABLISHING A CRYPTOGRAPHIC KEY, NET HEAD AND RECEIVER FOR THIS METHOD, AND METHOD FOR TRANSMITTING SIGNALS
FR2899748B1 (en) * 2006-04-07 2008-11-28 Thales Sa EFFICIENT HYBRID DIFFUSION SCHEME, ADAPTED TO LOW BANDWIDTH
CN101060398A (en) * 2006-04-20 2007-10-24 松下电器产业株式会社 A new safety group safety certificate generating method, communication method, and network system
US8676713B2 (en) * 2006-05-30 2014-03-18 Dell Products L.P. Dynamic constraints for content rights
EP2022207B1 (en) * 2006-05-31 2018-10-10 Orange Cryptographic method with integrated encryption and revocation, system, device and programs for implementing this method
JP2007336059A (en) * 2006-06-13 2007-12-27 Toshiba Corp Information access management method and apparatus
KR20070119335A (en) * 2006-06-15 2007-12-20 삼성전자주식회사 Method of allocating a key of user for broadcast encryption
JP5005277B2 (en) * 2006-07-13 2012-08-22 日東電工株式会社 Patches and patch preparations
US8627482B2 (en) * 2006-07-24 2014-01-07 Thomson Licensing Method, apparatus and system for secure distribution of content
JP4179563B2 (en) * 2006-09-21 2008-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション Technology for managing cryptographic keys for cryptographic communications
KR101377455B1 (en) * 2006-10-09 2014-04-02 삼성전자주식회사 Method and apparatus of generating encryption key for broadcast encryption
JP2008113203A (en) * 2006-10-30 2008-05-15 Sony Corp Key generating device, encrypting device, receiver, key generation method, encryption method, key processing method, and program
JP4984827B2 (en) 2006-10-30 2012-07-25 ソニー株式会社 KEY GENERATION DEVICE, ENCRYPTION DEVICE, RECEPTION DEVICE, KEY GENERATION METHOD, ENCRYPTION METHOD, KEY PROCESSING METHOD, AND PROGRAM
US7986787B2 (en) * 2006-12-08 2011-07-26 International Business Machines Corporation System, method, and service for tracing traitors from content protection circumvention devices
US7978848B2 (en) * 2007-01-09 2011-07-12 Microsoft Corporation Content encryption schema for integrating digital rights management with encrypted multicast
KR20090000624A (en) * 2007-03-09 2009-01-08 삼성전자주식회사 Method for mutual authenticating with host device and system thereof
US7876895B2 (en) * 2007-05-09 2011-01-25 International Business Machines Corporation System, method, and service for performing unified broadcast encryption and traitor tracing for digital content
US7904717B2 (en) * 2007-06-19 2011-03-08 Oracle America, Inc. Method, apparatus, and manufacture for decryption of network traffic in a secure session
CA2693371C (en) * 2007-07-19 2013-12-10 Telcordia Technologies, Inc. Method for a public-key infrastructure providing communication integrity and anonymity while detecting malicious communication
JP5150175B2 (en) * 2007-09-05 2013-02-20 Kddi株式会社 Client terminal covering method and program in SD method
US7912062B2 (en) 2007-09-28 2011-03-22 Genband Us Llc Methods and apparatus for managing addresses related to virtual partitions of a session exchange device
US8824685B2 (en) * 2007-10-15 2014-09-02 Sony Corporation Method for detection of a hacked decoder
JP2009105853A (en) * 2007-10-25 2009-05-14 Kddi Corp Sd method corresponding to optional tree structure, and program
EP2068490A1 (en) 2007-12-05 2009-06-10 Nagravision S.A. Method to generate a private key in a Boneh-Franklin scheme
EP2073431A1 (en) 2007-12-21 2009-06-24 Nagravision S.A. Method to trace traceable parts of original private keys in a public-key cryptosystem
US8306220B2 (en) * 2008-01-17 2012-11-06 Nagravision S.A. Method to generate a private key in a boneh-franklin scheme
US7936882B2 (en) * 2008-01-17 2011-05-03 Nagravision S.A. Method to trace traceable parts of original private keys in a public-key cryptosystem
US20100290622A1 (en) * 2008-01-18 2010-11-18 Koninklijke Philips Electronics N.V. Wireless communication system and method for automatic node and key revocation
US8499149B2 (en) * 2008-02-20 2013-07-30 Hewlett-Packard Development Company, L.P. Revocation for direct anonymous attestation
US9729316B2 (en) * 2008-02-27 2017-08-08 International Business Machines Corporation Unified broadcast encryption system
US8391493B2 (en) * 2008-02-29 2013-03-05 The Boeing Company Probabilistic mitigation of control channel jamming via random key distribution in wireless communications networks
EP2279630A4 (en) * 2008-04-24 2015-03-11 Nokia Corp Mehtod, apparatus, and computer program product for providing internet protocol multicast transport
KR20090115565A (en) * 2008-05-02 2009-11-05 삼성전자주식회사 Method for transmitting content key and apparatus therefor
US8122501B2 (en) * 2008-06-20 2012-02-21 International Business Machines Corporation Traitor detection for multilevel assignment
US8108928B2 (en) * 2008-06-20 2012-01-31 International Business Machines Corporation Adaptive traitor tracing
US8422684B2 (en) * 2008-08-15 2013-04-16 International Business Machines Corporation Security classes in a media key block
US20100054479A1 (en) * 2008-09-02 2010-03-04 Industrial Technology Research Institute Drm key management system using multi-dimensional grouping techniques
US8189789B2 (en) * 2008-11-03 2012-05-29 Telcordia Technologies, Inc. Intrusion-tolerant group management for mobile ad-hoc networks
US8347081B2 (en) * 2008-12-10 2013-01-01 Silicon Image, Inc. Method, apparatus and system for employing a content protection system
EP2371082A1 (en) * 2008-12-23 2011-10-05 Telefonaktiebolaget LM Ericsson (publ) A key management method
US8571209B2 (en) 2009-01-19 2013-10-29 International Business Machines Recording keys in a broadcast-encryption-based system
KR101603133B1 (en) * 2009-09-21 2016-03-14 삼성전자주식회사 Apparatus and method for reducing the channel play time in portable terminal
US8254580B2 (en) * 2009-09-30 2012-08-28 Telefonaktiebolaget L M Ericsson (Publ) Key distribution in a hierarchy of nodes
CN102725737B (en) 2009-12-04 2016-04-20 密码研究公司 The encryption and decryption of anti-leak can be verified
EP2355503A1 (en) * 2010-02-04 2011-08-10 Nagravision S.A. Method to manage members of at least one group of decoders having access to audio/video data
EP2543158B1 (en) * 2010-03-03 2014-09-17 Nagravision S.A. Method to manage revocations in a group of terminals
CN102195775B (en) * 2010-03-15 2016-03-02 中兴通讯股份有限公司 A kind of encryption and decryption method of cloud computing key and device
US8396896B2 (en) 2010-11-10 2013-03-12 International Business Machines Corporation Assigning resources to a binary tree structure
JP5676331B2 (en) * 2011-03-24 2015-02-25 株式会社東芝 Root node and program
WO2013095521A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Instructions processors, methods, and systems to process blake secure hashing algorithm
US9425956B2 (en) * 2012-05-29 2016-08-23 Abb Technology Ag Method and system for transferring firmware or software to a plurality of devices
US8782440B2 (en) 2012-08-15 2014-07-15 International Business Machines Corporation Extending the number of applications for accessing protected content in a media using media key blocks
US20150237400A1 (en) * 2013-01-05 2015-08-20 Benedict Ow Secured file distribution system and method
US9425967B2 (en) * 2013-03-20 2016-08-23 Industrial Technology Research Institute Method for certificate generation and revocation with privacy preservation
GB2528874A (en) * 2014-08-01 2016-02-10 Bae Systems Plc Improvements in and relating to secret communications
US9639687B2 (en) 2014-11-18 2017-05-02 Cloudfare, Inc. Multiply-encrypting data requiring multiple keys for decryption
JP5845333B2 (en) * 2014-12-24 2016-01-20 株式会社東芝 Management apparatus, system, and method
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
JP6271808B2 (en) 2015-03-16 2018-01-31 株式会社東芝 Management apparatus, program, system and method
US10333909B2 (en) 2016-02-09 2019-06-25 Conduent Business Services, Llc Methods and systems for broadcasting targeted advertisements to mobile device
CN106878002B (en) 2016-07-05 2020-04-24 阿里巴巴集团控股有限公司 Permission revocation method and device
CA3068145A1 (en) * 2017-07-18 2019-01-24 Legic Identsystems Ag Method and devices for communicating securely between devices
EP3462571A1 (en) 2017-09-28 2019-04-03 Koninklijke Philips N.V. Authentication in a wireless power transfer system
JP2018038077A (en) * 2017-11-02 2018-03-08 株式会社東芝 Management device, program, system, and method
US10841078B2 (en) * 2018-07-26 2020-11-17 International Business Machines Corporation Encryption key block generation with barrier descriptors
CN109067520B (en) * 2018-07-26 2020-06-05 北京航空航天大学 Revocable broadcast encryption method and system based on hierarchical identity
CN110858835B (en) * 2018-08-24 2022-02-18 中国电信股份有限公司 Communication method, system and related device and computer readable storage medium
US11876903B2 (en) 2020-12-09 2024-01-16 International Business Machines Corporation Decentralized broadcast encryption and key generation facility
US11804949B2 (en) * 2021-03-19 2023-10-31 Raytheon Bbn Technologies Corp. Subscriber revocation in a publish-subscribe network using attribute-based encryption
US11558185B2 (en) 2021-03-19 2023-01-17 Raytheon Bbn Technologies Corp. Stream-based key management

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241597A (en) 1991-02-01 1993-08-31 Motorola, Inc. Method for recovering from encryption key variable loss
IL106796A (en) 1993-08-25 1997-11-20 Algorithmic Res Ltd Broadcast encryption
US6560340B1 (en) * 1995-04-03 2003-05-06 Scientific-Atlanta, Inc. Method and apparatus for geographically limiting service in a conditional access system
US5675649A (en) 1995-11-30 1997-10-07 Electronic Data Systems Corporation Process for cryptographic key generation and safekeeping
US5812670A (en) 1995-12-28 1998-09-22 Micali; Silvio Traceable anonymous transactions
US5748736A (en) * 1996-06-14 1998-05-05 Mittra; Suvo System and method for secure group communications via multicast or broadcast
FR2751817B1 (en) 1996-07-29 1998-09-11 Thomson Multimedia Sa CONDITIONAL ACCESS SYSTEM USING MULTIPLE ENCRYPTION KEY MESSAGES
DE19649292A1 (en) * 1996-11-28 1998-06-04 Deutsche Telekom Ag Access protection method for pay television
US6285991B1 (en) * 1996-12-13 2001-09-04 Visa International Service Association Secure interactive electronic account statement delivery system
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6690795B1 (en) * 1997-03-04 2004-02-10 Lucent Technologies Inc. Multiple keys for decrypting data in restricted-access television system
JP3864401B2 (en) * 1997-04-23 2006-12-27 ソニー株式会社 Authentication system, electronic device, authentication method, and recording medium
US6775382B1 (en) * 1997-06-30 2004-08-10 Sun Microsystems, Inc. Method and apparatus for recovering encryption session keys
US6397329B1 (en) * 1997-11-21 2002-05-28 Telcordia Technologies, Inc. Method for efficiently revoking digital identities
US6098056A (en) 1997-11-24 2000-08-01 International Business Machines Corporation System and method for controlling access rights to and security of digital content in a distributed information system, e.g., Internet
US6247127B1 (en) * 1997-12-19 2001-06-12 Entrust Technologies Ltd. Method and apparatus for providing off-line secure communications
JPH11187013A (en) 1997-12-24 1999-07-09 Ibm Japan Ltd Cryptographic key distribution system
US6084969A (en) * 1997-12-31 2000-07-04 V-One Corporation Key encryption system and method, pager unit, and pager proxy for a two-way alphanumeric pager network
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
US6118873A (en) * 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
JP4273535B2 (en) * 1998-05-12 2009-06-03 ソニー株式会社 Data transmission control method, data transmission system, data receiving apparatus and data transmitting apparatus
IL126472A0 (en) * 1998-10-07 1999-08-17 Nds Ltd Secure communications system
US6782475B1 (en) * 1999-01-15 2004-08-24 Terence E. Sumner Method and apparatus for conveying a private message to selected members
JP4214651B2 (en) * 1999-03-31 2009-01-28 ソニー株式会社 Data communication system and data management method
US6636968B1 (en) * 1999-03-25 2003-10-21 Koninklijke Philips Electronics N.V. Multi-node encryption and key delivery
US6263435B1 (en) 1999-07-06 2001-07-17 Matsushita Electric Industrial Co., Ltd. Dual encryption protocol for scalable secure group communication
US6684331B1 (en) * 1999-12-22 2004-01-27 Cisco Technology, Inc. Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure
US7200230B2 (en) * 2000-04-06 2007-04-03 Macrovision Corporation System and method for controlling and enforcing access rights to encrypted media
JP4023083B2 (en) 2000-04-06 2007-12-19 ソニー株式会社 Information processing system, information processing method, information recording medium, and program providing medium
JP2001352321A (en) 2000-04-06 2001-12-21 Sony Corp Information processing system, information processing method, and information recording medium, and program providing medium
US6961858B2 (en) * 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US6839436B1 (en) * 2000-10-16 2005-01-04 Lucent Technologies Inc. Method for providing long-lived broadcast encrypton
DE60117618T2 (en) * 2000-10-26 2006-12-14 General Instrument Corporation Initial viewing period for authorizing multimedia content
JP2002281013A (en) 2000-12-18 2002-09-27 Matsushita Electric Ind Co Ltd Key management device for protecting copyright, recording medium, reproduction device, recording device, key management method, reproduction method, key management program, and computer readable recording medium with key management program recorded
CN100499799C (en) * 2000-12-22 2009-06-10 爱迪德艾恩德霍芬公司 Transmission system of supplying conditional access for transmitted data
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
JP2003050745A (en) * 2001-08-07 2003-02-21 Sony Corp Information processor, information processing method and computer program
US20030200548A1 (en) * 2001-12-27 2003-10-23 Paul Baran Method and apparatus for viewer control of digital TV program start time

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015077B2 (en) 2005-05-09 2015-04-21 Samsung Electronics Co., Ltd. Method and apparatus for efficiently encrypting/decrypting digital content according to broadcast encryption scheme

Also Published As

Publication number Publication date
ES2334109T5 (en) 2013-05-03
EP1354443B2 (en) 2013-01-02
AU2002228163A1 (en) 2002-08-06
DE60233929D1 (en) 2009-11-19
US20020147906A1 (en) 2002-10-10
KR20030085125A (en) 2003-11-03
US7698551B2 (en) 2010-04-13
CN1489847A (en) 2004-04-14
US20020104001A1 (en) 2002-08-01
JP2004520743A (en) 2004-07-08
US20080192939A1 (en) 2008-08-14
CN1976277B (en) 2010-10-13
EP1354443B1 (en) 2009-10-07
US7039803B2 (en) 2006-05-02
CN1303777C (en) 2007-03-07
US7925025B2 (en) 2011-04-12
EP1354443A2 (en) 2003-10-22
ES2334109T3 (en) 2010-03-05
WO2002060116A3 (en) 2002-09-26
ATE445269T1 (en) 2009-10-15
US20050195980A1 (en) 2005-09-08
WO2002060116A2 (en) 2002-08-01
US7523307B2 (en) 2009-04-21
CN1976277A (en) 2007-06-06
TWI264208B (en) 2006-10-11

Similar Documents

Publication Publication Date Title
KR100543630B1 (en) Method for broadcast encryption and key revocation of stateless receivers
KR100562982B1 (en) Method for tracing traitor receivers in a broadcast encryption system
US7340054B2 (en) Information processing method, decrypting method, information processing apparatus, and computer program
JP2001358707A (en) Information processing system and method using cryptographic key block and program providing medium
WO2005099167A1 (en) Information processing method, decryption method, information processing device, and computer program
JP4162237B2 (en) ENCRYPTED COMMUNICATION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, ENCRYPTION PROGRAM, AND DECRYPTION PROGRAM
KR101022465B1 (en) Method of copying and decrypting encrypted digital data and apparatus therefor
WO2004028073A1 (en) Key management system
JP2006115464A (en) Information processing method, decoding method, information processing device, and computer program
JP4561074B2 (en) Information processing apparatus, information processing method, and computer program
JP4161859B2 (en) Information processing apparatus, information recording medium, information processing method, and computer program
JP2004229128A (en) Encryption data distribution system, information processor and information processing method, and computer program
JP4635459B2 (en) Information processing method, decoding processing method, information processing apparatus, and computer program
WO2009157050A1 (en) Information processing device and program
JP2005191805A (en) Encryption message distribution method, information processing device, information processing method, and computer program
Obied Broadcas t Encryption
JP2004320183A (en) Apparatus and method for information processing, as well as computer program
JP2005252916A (en) Information processing method and apparatus, decoding processing method, and computer program

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141215

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20171227

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 14