KR20050078773A - 브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법 - Google Patents

브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법 Download PDF

Info

Publication number
KR20050078773A
KR20050078773A KR1020040006607A KR20040006607A KR20050078773A KR 20050078773 A KR20050078773 A KR 20050078773A KR 1020040006607 A KR1020040006607 A KR 1020040006607A KR 20040006607 A KR20040006607 A KR 20040006607A KR 20050078773 A KR20050078773 A KR 20050078773A
Authority
KR
South Korea
Prior art keywords
node
user
user key
tree
grandchild
Prior art date
Application number
KR1020040006607A
Other languages
English (en)
Inventor
한성휴
김윤상
최양림
유용국
한희철
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020040006607A priority Critical patent/KR20050078773A/ko
Priority to US11/004,932 priority patent/US20050169481A1/en
Priority to PCT/KR2005/000228 priority patent/WO2005074186A1/en
Priority to CNA2005800001982A priority patent/CN1771689A/zh
Publication of KR20050078773A publication Critical patent/KR20050078773A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F1/00Treatment of water, waste water, or sewage
    • C02F1/24Treatment of water, waste water, or sewage by flotation
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F11/00Treatment of sludge; Devices therefor
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F7/00Aeration of stretches of water
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02BHYDRAULIC ENGINEERING
    • E02B15/00Cleaning or keeping clear the surface of open water; Apparatus therefor
    • E02B15/04Devices for cleaning or keeping clear the surface of open water from oil or like floating materials by separating or removing these materials
    • E02B15/06Barriers therefor construed for applying processing agents or for collecting pollutants, e.g. absorbent
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02BHYDRAULIC ENGINEERING
    • E02B15/00Cleaning or keeping clear the surface of open water; Apparatus therefor
    • E02B15/04Devices for cleaning or keeping clear the surface of open water from oil or like floating materials by separating or removing these materials
    • E02B15/08Devices for reducing the polluted area with or without additional devices for removing the material
    • E02B15/0857Buoyancy material
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/14Arrangements for conditional access to broadcast information or to broadcast-related services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/2585Generation of a revocation list, e.g. of client devices involved in piracy acts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F2103/00Nature of the water, waste water, sewage or sludge to be treated
    • C02F2103/007Contaminated open waterways, rivers, lakes or ponds
    • 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/601Broadcast encryption

Abstract

브로드캐스트 암호화를 위한 사용자 키 할당 방법이 개시된다. 본 발명에 따른 사용자 키 할당 방법은, 조부 노드, 부 노드 및 손자 노드가 계층적으로 연결된 하나 이상의 단위 트리를 포함하는 트리를 생성하고, 트리내의 모든 노드에 대하여, 상기 노드의 하위 노드를 식별하도록 생성된 사용자 키를 각 노드의 제 1 사용자 키로 할당하고, 단위 트리에 포함된 손자 노드를 각각 식별하는 노드 식별 사용자 키 중 해당 손자 노드를 제외한 나머지 손자 노드의 노드 식별 사용자 키를 해당 손자 노드의 제 2 사용자 키로 할당한다. 본 발명에 의하면, 암호화 센터가 각 사용자 기기로 전송하는 암호화 키 블록의 크기를 감소시킴으로써 네트워크 자원의 효율적 이용이 가능하다.

Description

브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법{Method of assigning user key for Broadcast Encryption}
본 발명은 사용자 키 할당 방법에 관한 것으로서, 보다 상세하게는 브로드캐스트 암호화를 이용한 콘텐츠 배포에 있어서, 권한 있는 사용자에게만 콘텐츠를 재생가능하게 하기 위한 사용자 키 할당 방법에 관한 것이다.
최근, 게임 프로그램, 음성 데이터, 화상 데이터, 문서 작성 프로그램 등, 여러가지 소프트웨어 데이터[이하, 이들을 콘텐츠(Content)라 함]가 인터넷 등의 네트워크를 통해, 또는 DVD, CD 등의 유통 가능한 기억 매체를 통해 유통되고 있다. 이들 유통 콘텐츠는 사용자가 소유한 PC(Personal Computer), 게임 기기 등의 기록 재생 기기에 부속하는 기록 디바이스, 예를 들면 메모리 카드, 하드디스크 등에 저장할 수 있으며, 일단 저장된 후에는 저장 매체로부터의 재생에 의해 이용 가능하게 된다.
게임 프로그램, 음악 데이터, 화상 데이터 등, 많은 소프트웨어 콘텐츠는 일반적으로 그 작성자, 판매자에게 반포권 등이 보유되어 있다. 따라서, 이들 콘텐츠 배포에 있어서는 일정한 이용 제한, 즉 정규 사용자에게만, 소프트웨어 사용을 허락하고, 허가가 없는 복제 등이 행해지지 않도록 하는, 즉 시큐러티를 고려한 구성을 하는 것이 일반적으로 되어 있다.
사용자에 대한 이용 제한을 실현하는 하나의 방법은 배포하는 콘텐츠를 암호화하고 권한 있는 사용자만으로하여금 콘텐츠를 복호화할 수 있는 수단을 획득하게 하는 것이다. 예를 들면, 인터넷 등을 통해 암호화된 음성 데이터, 화상 데이터, 게임 프로그램 등의 각종 콘텐츠를 배포함과 함께, 권한 있는 사용자라고 확인된 자에게만, 배포된 암호화 콘텐츠를 복호화하는 수단, 즉 콘텐츠 키를 부여하는 구성이다.
콘텐츠 키는 권한 있는 자에게만 배포되어야 한다. 따라서 배포되는 재생 기기가 만약 불법 복제됨으로써 권한 해제(revoked)되었다면 더 이상 그 기기는 권한 있는 사용자 기기로 간주되어서는 안된다. 이러한 불법 복제된 기기를 사용자에게 사용자 기기가 판매된 이후에 구별할 수 있는 암호화 처리 방식으로 브로드캐스트 암호화 방법(Broadcast Encryption Method)이 있다.
브로드캐스트 암호화 방법에 의하면, 콘텐츠를 전송할 때 콘텐츠를 암호화하는데 사용된 콘텐츠 키를 포함하는 암호화 키 블록을 함께 전송하고, 사용자 기기는 전송된 암호화 키 블록과 사용자 기기 자신이 가진 사용자 키 블록을 이용하여 콘텐츠 키를 생성한다.
이러한 브로드캐스트 암호화 방법은, 암호화 키 블록을 어떻게 형성하는가에 따라 완전 서브트리 방법(Complete Subtree Method, CS Method), 서브셋 차분 방법(Subset Difference Method, SD Method), 아사노 방법(Asano Method)등으로 나뉠 수 있다.
그러나, 이러한 종래의 브로드캐스트 암호화 방법에 의하면, 콘텐츠와 함께 전송되어야하는 암호화 키 블록의 데이터 크기가 사용자 노드 수가 증가할수록 이에 비례하여 증가한다. 실제 판매되는 사용자 기기의 개수를 고려할 때 암호화 키 블록의 데이터 량을 줄일 수 있다면 콘텐츠 배포가 더욱 간략화됨으로 인해 네트워크 자원의 효율적 이용을 달성할 수 있을 것이다.
따라서 본 발명은 전술한 과제를 해결하기 위해 안출된 것으로서, 브로드캐스트 암호화 방법을 이용한 콘텐츠 배포시 암호화 키 블록의 데이터 크기를 줄일 수 있는 새로운 브로드캐스트 암호화 방법을 제공하고자 한다.
전술한 과제를 해결하기 위한 본 발명에 따른 사용자 키 할당 방법은, 조부 노드, 부 노드 및 손자 노드가 계층적으로 연결된 하나 이상의 단위 트리를 포함하는 트리를 생성하는 단계; 상기 트리내의 모든 노드에 대하여, 상기 노드의 하위 노드를 식별하도록 생성된 사용자 키를 상기 노드의 제 1 사용자 키로 할당하는 단계; 상기 단위 트리에 대하여, 상기 단위 트리에 포함된 손자 노드를 각각 식별하는 노드 식별 사용자 키 중 상기 손자 노드를 제외한 나머지 손자 노드의 노드 식별 사용자 키를 상기 손자 노드의 제 2 사용자 키로 할당하는 단계를 포함한다.
또한 본 발명은, 트리 구조를 이용한 암호화 키 선택 방법에 있어서, 상기 트리의 각각의 노드에 대하여,상기 노드의 하위 노드를 식별하도록 생성된 사용자 키를 상기 노드의 제 1 사용자 키로 할당하는 단계; 상기 트리의 일부분으로서 조부 노드, 부 노드 및 손자 노드가 계층적으로 연결된 단위 트리에 대해, 상기 단위 트리에 포함된 손자 노드를 각각 식별하는 노드 식별 사용자 키 중 상기 손자 노드를 제외한 나머지 노드의 노드 식별 사용자 키를 상기 손자 노드의 제 2 사용자 키로 할당하는 단계; 상기 단위 트리 중, 오직 하나의 리보크된 사용자 노드를 포함하는, 리보크된 단위 트리를 추출하는 단계; 및 상기 제 2 사용자 키중에서, 리보크된 사용자 노드를 식별하는 노드 식별 사용자 키를 암호화 키로 선택하는 단계를 포함한다.
또한 본 발명은, 브로드캐스트 암호화를 위한 사용자 키 배포 방법에 있어서, 조부 노드, 부 노드 및 손자 노드가 계층적으로 연결된 하나이상의 단위 트리를 포함하는 트리를 생성하는 단계; 상기 트리내의 모든 노드에 대하여, 상기 노드의 하위 노드를 식별하도록 생성된 사용자 키를 상기 노드의 제 1 사용자 키로 할당하는 단계; 상기 단위 트리에 대하여, 상기 단위 트리에 포함된 손자 노드들 중 상기 손자 노드를 제외한 나머지 손자 노드를 식별하는 노드 식별 사용자 키를 상기 손자 노드의 제 2 사용자 키로 할당하는 단계; 상기 트리의 최하단 노드로부터 최상단 노드까지의 경로에 존재하는 모든 노드에 할당된 상기 제 1 사용자 키를 상기 최하단 노드에 대응하는 사용자 기기에 배포하는 단계; 및 상기 최하단 노드가 속한 모든 단위 트리에 할당된 제 2 사용자 키를 상기 최하단 노드에 대응하는 사용자 기기에 배포하는 단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명한다.
이하의 설명에서 사용될 용어는 다음과 같이 정의된다.
사용자 키는 브로드캐스트 암호화 방법에서 콘텐츠 키를 암호화하는데 사용되는 키를 의미한다. 또한 사용자 키는 각각의 사용자 기기에 배포되는 사용자 키 블록 또는 암호화 키 블록에 여러 가지 형태로 포함된다.
사용자 키 블록은 사용자 기기의 제조시에 사용자 기기 내부에 저장된 사용자 키들의 집합을 의미한다.
암호화 키 블록은 암호화 센터에서 권한 있는 사용자 기기만이 콘텐츠 키를 복호화할 수 있도록 사용자 키를 이용하여 암호화된 콘텐츠 키들의 집합이다. 사용자 키는 브로드캐스트 암호화 방법에 따라 여러 가지 형태로 선택되며, 본 발명은 이러한 여러 가지 형태중 하나이다.
사용자 노드는 브로드캐스트 암호화 방법에서 사용자 키 할당을 위해 사용되는 트리 구조에 포함된 노드들 중 최하단 노드이다. 또한 사용자 노드는 사용자 기기를 특정한다.
조부 노드(grandparent node)는 트리 구조의 일부분에서 최상단 노드를, 부 노드(parent node)는 하나의 조부 노드에 연결된 모든 하위 노드를, 손자 노드(son node)는 하나의 조부 노드에 연결된 부 노드에 연결된 모든 하위 노드를 의미한다.
메시지는 암호화 센터에서 사용자 기기에 보내는 데이터를 의미하며, 암호화된 콘텐츠 및 암호화 키 블록을 포함한다.
리보크된(revoked) 사용자 기기란 처음 제조시에는 권한 있는 사용자 기기였다가 복제됨으로써 권한을 박탈당한 기기를 의미한다. 리보크된 사용자 기기는 자신이 가진 사용자 키 블록으로부터 콘텐츠 키를 획득할 수 없다.
암호화 키는 암호화 키 블록의 생성에 이용되는 사용자 키를 의미하며, 리보크된 사용자 기기가 발견될 때마다 암호화 센터에 의해 변경된다.
커버한다(cover)라는 것은 트리 구조를 이용한 암호화 키 선택에 있어서, 리보크된 사용자 기기를 제외한 권한 있는 사용자 기기로하여금 콘텐츠 키를 획득할 수 있도록 암호화 키를 할당하는 것을 의미한다.
도 1는 본 발명의 일 실시예에 의한 콘텐츠 배포 방법을 나타내는 도면이다.
암호화 센터(200)는 콘텐츠 키 Kt를 이용하여 암호화된 콘텐츠를 사용자 기기(210,220,230,240)에게 배포한다. 이 때 콘텐츠 키 Kt 는 다수의 사용자 키 K1,K2,... 로 암호화되며, 암호화된 콘텐츠 키 E(K1,Kt), E(K2,Kt) E(K3,Kt), .... 는 암호화 키 블록(212,222,232,242)의 형태로 사용자 기기로 전송된다.
사용자 기기 (210,220,230,240)는 사용자 키 블록을 포함한다. 사용자 키 블록은 미리정해진 사용자 키 할당 방법에 따라 할당된 사용자 키(K1,K2,K3...)들을 포함한다. 할당된 사용자 키는 사용자 기기마다 다르다. 할당된 사용자 키들은 사용자 기기 제조시에 사용자 기기 내부에 미리 저장되며, 사용자에게 판매된 후에는 사용자에의해 변화될 수 없다.
도 2은 사용자 기기에 전송되는 메시지의 내부 구성을 나타내는 도면이다. 메시지(270)는 콘텐츠 키 Kt를 이용하여 암호화된 콘텐츠 E(Kt,Cont) (260) 및 암호화 키 블록(250)을 포함한다. 암호화 키 블록(250)은 사용자 키(K1,K2,...)로 암호화된 콘텐츠 키 E(K1,Kt), E(K2,Kt), E(K3,Kt),...를 포함한다. 암호화 키 블록(250)은 리보크된 사용자 기기가 발견될 때마다 암호화 센터(200)에 의해 변경되어 사용자 기기에 배포된다.
이하 도 3 내지 도 5를 참조하여 본 발명에 따른 사용자 키 배포 방법을 설명한다.
도 3는 본 발명의 일 실시예에 의한 사용자 키 할당 방법을 나타내는 도면이다.
도 3의 트리는 모두 3개의 레벨의 노드를 포함한다. 여기서 레벨은 노드의 계층적 구조의 순서(order)를 나타내며, 예를 들면 도 4에서 노드 1 은 트리의 제 1 레벨에 존재하고, 노드 2 내지 4 는 제 2 레벨에 존재하고, 노드 5 내지 13은 제 3 레벨에 존재한다. 최하단의 노드 5 내지 13 은 사용자 노드를 나타낸다.
본 발명에 따른 사용자 키 배포 방법은 제 1 사용자 키를 할당하는 제 1 단계 및 제 2 사용자 키를 할당하는 제 2 단계에 의해 수행된다.
이하 도 4를 참조하여 제 1 사용자 키를 생성하는 방법을 설명한다.
도 4는 제 1 사용자 키를 할당하는 방법을 나타내는 도면이다.
사용자 기기에 전송되는 사용자 키 블록은 복수의 사용자 키를 포함하며, 이러한 사용자 키는 도 4 에 도시된 바와 같은 트리 구조를 통해 각각의 사용자 기기에 할당된다. 트리 구조는 복수개의 노드들이 계층적으로 연결된다. 도 4에 의한 방법은 일반적으로 아사노 방법이라 불리운다. 아사노 방법에 의한 트리 구조는 부 노드(parent node)마다 3개의 자녀 노드(child node)가 연결된다. 그리고 각 노드에는 복수의 사용자 키들이 할당된다. 사용자 키들이 할당되는 방법은 다음과 같다.
먼저, 모든 노드마다, 예를 들면 K1_100, K1_010, K1_001, K1_110, K1_101, K1_011 와 같은 6개의 사용자 키가 할당된다. 여기서 첨자 1 은 사용자 키가 할당된 노드 번호를 나타내고, 첨자 111,100,... 는 해당 노드에 연결된 자녀 노드 중 리보크된 자녀 노드를 제외한 나머지 노드들을 커버(cover)할 수 있는 키를 나타낸다. 예를 들면 K1_110 은 이하에 연결된 좌측 자녀 노드, 중간 자녀 노드 및 우측 자녀 노드중 좌측 및 중간 자녀 노드에 있는 사용자 기기들을 모두 커버할 수 있는 키를 나타낸다. 여기서 '커버한다' 는 뜻은 리보크되지 않은 기기로 하여금 콘텐츠 키를 획득할 수 있게 하는 어떠한 수단을 제공한다는 의미이다.
또한, 루트 노드 즉 노드 1에는 K1_111 과 같은 하나의 사용자 키가 추가적으로 할당된다. 루트 노드는 더 이상 상위의 노드를 가지지 않기 때문에 자신을 식별하는 사용자 키를 가지고 있어야하기 때문이다.
도 4의 방법에서, 리보크된 사용자 기기를 제외하고 리보크되지 않은 사용자 기기에게만 콘텐츠 키를 제공하는 방법은 다음과 같다.
첫 번째 단계는 사용자 기기 제조시 사용자 키 블록을 배포하는 단계이다. 전술한 방법으로 각 노드에 할당된 사용자 키들 중에서, 트리 구조의 최하단에 위치한 사용자 노드와 관련된 사용자 키들을 해당 사용자 노드에 할당한다. 그 결과 해당 사용자 노드에 대응하는 사용자 기기는 할당된 사용자 키들을 포함하는 사용자 키 블록을 가진다. 예를 들면, 도 1에서 노드 5 에 대응되는 사용자 기기는 K1_111, K1_100, K1_101, K1_110, K2_100, K2_110, K2_100의 모두 7개 사용자 키들로 구성된 사용자 키 블록을 가지며, 노드 9 에 대응되는 사용자 기기는 K1_111, K1_011, K1_010, K1_110, K3_010, K3_011, K3_110의 모두 7개 사용자 키들로 구성된 사용자 키 블록을 가진다. 일반적으로 사용자 키 블록은 사용자 기기의 제조시 사용자 기기내에 미리 저장된후 각각의 사용자에게 배포되며 배포된 후에 변하지 않는 값이다.
두 번째 단계는 리보크된 사용자 기기가 발견되었을 때 암호화 키 블록을 배포하는 단계이다.
먼저, 리보크된 사용자 노드를 하위 노드로서 포함하는 모든 노드에 할당된 사용자 키들 중 리보크되지 않은 사용자 노드를 커버하는 키들만을 선택한다. 예를 들어 도 4 의 트리 구조에서 노드 5, 9 가 리보크된 사용자 노드라면, 노드 1 에 할당된 사용자 키들중에서 K1_001을, 노드 2에 할당된 사용자 키들 중에서 K_2,011을, 노드 3에 할당된 사용자 키들 중에서 K_3,101을 선택한다.
그 후, 선택된 사용자 키들로 암호화된 콘텐츠 키를 포함하는 암호화 키 블록 및 콘텐츠 키로 암호화된 콘텐츠를 모든 사용자 기기에게 전송한다. 모든 사용자 기기는 암호화 키 블록 및 암호화된 콘텐츠를 전송받지만, 콘텐츠를 복호화할 수 있는 콘텐츠 키는 선택된 사용자 키들로만 암호화되어 있기 때문에 리보크된 사용자 기기는 암호화된 콘텐츠 키를 복호화하는데 사용되는 사용자 키를 가지고 있지 않다. 따라서 리보크되지 않은 사용자 기기만이 콘텐츠 키를 획득할 수 있고 그 결과 콘텐트를 재생할 수 있다.
예를 들면 노드 5 및 9 가 리보크된 사용자 기기인 경우, 모든 사용자 기기에게 전송되는 암호화 키 블록은 콘텐츠 키 Kt를 사용자 키 K1_001, K2_011 및 K3_101 로 암호화한 콘텐츠 키 E(K1_001, Kt), E(K2_011,Kt) 및 E(K3_101,Kt)로 구성된다. 그 결과 노드 5 및 노드 9 에 대응되는 사용자 기기가 가진 사용자 키 블록에는 사용자 키 K1_001, K2_011 및 K3_101가 존재하지 않으므로, 노드 5 및 노드 9 에 대응하는 사용자 기기는 콘텐츠 키 Kt를 획득할 수 없다. 반면 노드 6,7에 대응하는 사용자 기기는 사용자 키 K2_011가 포함된 사용자 키 블록을 가지고 있고, 노드 8,10에 대응하는 사용자 기기는 사용자 키 K3_101가 포함된 사용자 키 블록을 가지고 있고, 노드 11,12,13 에 대응하는 사용자 기기는 사용자 키 K1_001가 포함된 사용자 키 블록을 가지고 있으므로, 노드 6,7,8,10,11,12,13 에 대응하는 사용자 기기는 모두 콘텐츠 키 Kt를 획득할 수 있다.
다시 도 3을 참조하면, 제 1 사용자 키를 생성하는 단계에서, 트리에 포함된 모든 노드는 도 4에 나타난 방법과 동일하게 할당된 사용자 키를 가진다. 따라서 노드 1 에는 사용자 키 K1_001, K1_010, K1_100, K1_011, K1_110, K1_101, K1_111가 할당되고, 노드 2 에는 사용자 키 K2_001, K2_010, K2_100, K2_011, K2_110, K2_101가 할당되고, 노드 3 에는 사용자 키 K3_001, K3_010, K3_100, K3_011, K3_110, K3_101가 할당되고, 노드 4 에는 사용자 키 K4_001, K4_010, K4_100, K4_011, K4_110, K4_101 가 할당된다.
도 3에서 노드 5 내지 노드 13 는 사용자 노드이므로 사용자 키가 할당되지 않는다. 그러나 만약 트리가 레벨 4이상의 노드들을 포함하여 노드 5 내지 13이 사용자 노드가 아니라면 사용자 키가 전술한 방법으로 할당된다. 제 1 단계에서 할당된 사용자 키를 제 1 사용자 키로 정의한다.
이하 다시 도 3을 참조하여 제 2 사용자 키를 생성하는 방법을 설명한다.
제 2 사용자 키를 생성하는 단계에서, 제 2 사용자 키가 하나의 단위 트리에 속한 모든 손자 노드마다 할당된다. 제 2 사용자 키는 하나의 단위 트리의 조부 노드와 손자 노드와의 관계에 의해 정해진다. 즉 제 2 사용자 키는 하나의 조부 노드에 속하는 해당 손자 노드에 대하여 해당 손자 노드를 식별하는 노드 식별 사용자 키를 제외한 나머지 노드 식별 사용자 키로 정의된다.
예를 들면 도 4의 단위 트리에서 손자 노드 5 내지 13 의 노드 식별 사용자 키는 각각 S1_5, S1_6, S1_7, S1_8, S1_9, S1_10, S1_11, S1_12, S1_13 이다. 따라서 노드 5 에는 S1_6, S1_7, S1_8, S1_9, S1_10, S1_11, S1_12, S1_13 이 할당되고, 노드 6 에는 S1_5, S1_7, S1_8, S1_9, S1_10, S1_11, S1_12, S1_13 이 할당되고, 노드 7 에는 S1_5, S1_6, S1_8, S1_9, S1_10, S1_11, S1_12, S1_13 이 할당되고, 노드 8 에는 S1_5, S1_6, S1_7, S1_9, S1_10, S1_11, S1_12, S1_13 이 할당되고, 노드 9 에는 S1_5, S1_6, S1_7, S1_8, S1_10, S1_11, S1_12, S1_13 이 할당되고, ......노드 13 에는 S1_5, S1_6, S1_7, S1_8, S1_9, S1_10, S1_11, S1_12 이 할당된다. 여기서 첨자 1 은 해당 노드가 포함된 트리의 최상위 노드의 번호를 의미하며, 첨자 5 내지 13 은 사용자 키가 할당된 노드의 번호를 의미한다.
도 3의 구조를 가지는 트리를 단위 트리로 정의한다. 즉 단위 트리란 하나의 조부 노드(grandparent node)의 하위에 연결된 소정의 수의 부 노드(parent node) 및 손자 노드(son node)를 가지는 전체 트리의 일부분이다. 부 노드 및 손자 노드의 수는 단위 노드가 걸친 레벨의 수에 따라 다르다. 도 3에 나타난 트리는 하나의 상위 노드에 대하여 3개의 하위 노드를 가지고, 단위 트리에 대하여 미리결정된 레벨의 수가 3 인 단위 노드이다.
각 노드에 할당된 제 2 사용자 키들의 집합은 제 2 사용자 키 세트로 정의된다. 예를 들면 도 4에서 KS1_5 는 {S1_6, S1_7, S1_8, S1_9, S1_10, S1_11, S1_12, S1_13}을 나타내고, KS1_7 은 {S1_5, S1_6, S1_8, S1_9, S1_10, S1_11, S1_12, S1_13}를 나타낸다.
각 노드에 할당된 제 2 사용자 키 세트가 포함하는 사용자 키의 수는 BN-1-1 이다. 여기서 B는 하나의 상위 노드에 연결된 하위 노드의 갯수를 나타내며, N 은 하나의 단위 트리에 포함된 레벨의 갯수이다. 예를 들면 도 4의 단위 트리에서 하나의 제 2 사용자 키 세트에 포함된 사용자 키의 수는 33-1 - 1 = 8 이다.
도 5 는 도 3의 단위 트리가 연결된 전체 트리 구조를 나타내는 도면이다.
만약 도 3에서 노드 5 내지 9가 최하위 노드 즉 사용자 노드가 아니라면, 노드 5 내지 9는 그 이하에 새로운 단위 트리를 가질 것이고 노드 5 내지 9 는 새로운 단위 노드의 조부 노드가 된다.
전체 트리는 하나이상의 단위 트리(510,520,530,540,...)를 포함한다. 도 4의 예에서, 하나의 단위 트리는 3개의 레벨에 걸쳐져 존재한다. 레이어는 단위 트리를 구성하는 레벨의 그룹으로 정의된다. 도 5에서, 즉 레이어 0 는 레벨 0 내지 2에 걸쳐있고, 레이어 1 은 레벨 2 내지 4에 걸쳐 있고, .... 레이어 R 은 레벨 L-2 내지 레벨 L 에 걸쳐 있다. 여기서 L 은 레벨 번호를 나타내며, L = N + 1 이다. 또한 R 은 레이어 번호를 나타내고 R = L/2 - 1 이다.
도 5에서, 하나의 단위 트리는 3개의 레벨에 걸쳐 존재하고, 3개의 레벨은 하나의 레이어를 이루므로, 하나의 단위 트리는 하나의 레이어 내에 존재한다. 그러나 하나의 레이어가 포함하는 단위 트리의 개수는 레이어에 따라 다르다. 하나의 레이어가 포함하는 단위 트리의 개수는 B2R 이다.
도 3 및 도 5의 전체 트리 구조에 따라, 전체 트리에 포함된 모든 노드마다 도 4에서 설명한 방법으로 생성된 제 1 사용자 키가 할당되고, 각 단위 트리마다 도 3에서 설명한 방법으로 생성된 제 2 사용자 키가 할당된다. 전체 트리에서 최하단 노드 즉 사용자 노드는 자신으로부터 최상단 노드까지의 경로에 존재하는 모든 노드에 할당된 제 1 사용자 키들 및 자신이 속한 모든 단위 트리에 할당된 제 2 사용자 키들을 가진다. 즉 사용자 노드에 대응되는 사용자 기기는 이러한 제 1 사용자 키들 및 제 2 사용자 키들을 포함하는 암호화 키 블록을 사용자 기기 제조시에 저장한다.
여기서 '사용자 노드가 속한 모든 단위 트리'란 해당 사용자 노드를 포함하는 단위 트리 또는 그 단위 트리와 상위 레이어에서 연결된 모든 단위 트리를 의미한다.
이하 도 6 내지 도 9를 참조하여 리보크된 사용자 기기가 발견되었을 때 암호화 키 블록의 생성 방법을 설명한다.
도 6 은 본 발명의 일 실시예에 따른 암호화 키 선택 방법을 나타내는 도면이다.
암호화 키의 선택은 암호화 센터가 리보크된 사용자 기기를 제외한 나머지 사용자 기기를 모두 커버할 수 있도록 수행되어야 한다.
도 6의 트리는 7개의 레벨(레벨 0 내지 6) 및 3개의 레이어(레이어 0 내지 2)로 구성되고, 리보크된 사용자 노드 377, 396 을 포함한다. 설명의 편의를 위해 각각의 단위 트리 1, 5, 41, 42, 43, 44, 45, 46 은 조부 노드가 노드 1, 5, 41, 42, 43, 44, 45, 46 인 단위 트리를 의미하는 것으로 정의한다.
우선, 리보크된 사용자 노드인 노드 377, 396 에 할당된 사용자 키를 알아보자.
노드 377에 할당된 제 1 사용자 키는 노드 126, 42, 14, 5, 2 및 1 에 할당된 제 1 사용자 키들 중 노드 377의 위치와 관련된 제 1 사용자 키이다. 즉 노드 377에 할당된 제 1 사용자 키는 K126_100, K126_110, K126_101, K42_010, K42_110, K42_011, K14_010, K14_110, K14_011, K5_100, K5_110, K5_101, K2_100, K2_110, K2_101, K1_100, K1_110, K1_101, K1,111 이다.
또한 노드 377에 할당된 제 2 사용자 키 세트는 KS42_377 및 KS1_5 이므로, 노드 377에 할당된 제 2 사용자 키는 KS42_377 = {S42_374, S42_375, S42_376, S42_378, S42_379, S42_380, S42_381, S42_382} 및 KS1_5 = {S1_6, S1_7, S1_8, S1_9, S1_10, S1_11, S1_12} 이다.
마찬가지로, 노드 396에 할당된 제 1 사용자 키는 노드 136, 44, 15, 5, 2 및 1 에 할당된 제 1 사용자 키들 중 노드 396의 위치와 관련된 제 1 사용자 키이다. 즉 노드 396에 할당된 제 1 사용자 키는 K132_010, K132_011, K132_110, K44_010, K44_110, K44_011, K15_100, K15_110, K15_101, K5_100, K5_110, K5_101, K2_100, K2_110, K2_101, K1_100, K1_110, K1_101, K1,111 이다.
또한 노드 396에 할당된 제 2 사용자 키 세트는 KS44_396 및 KS1_5 이므로, 노드 396에 할당된 제 2 사용자 키는 KS44_396 = {S44_392, S44_393, S44_394, S44_395, S44_397, S44_398, S44_399, S44_400} 및 KS1_5 = {S1_6, S1_7, S1_8, S1_9, S1_10, S1_11, S1_12} 이다.
이하 암호화 키 블록의 생성에 사용되는 사용자 키를 선택하는 방법을 설명한다.
리보크된 사용자가 노드 377 및 396 이므로, 센터에 의해 배포되는 암호화 키 블록은 노드 377 및 396 이 가지고 있지 않은 사용자 키로 암호화된 콘텐츠 키를 포함하여야 한다. 즉 암호화 키 블록의 생성에 사용되는 사용자 키는 노드 377 및 396이 가진 사용자 키를 제외함과 동시에 다른 노드들은 모두 커버할 수 있어야 한다.
먼저 레이어 0에서, 사용자 키 S1_5 는 노드 5 의 하위에 있는 사용자 노드 를 제외한 다른 모든 사용자 노드를 커버할 수 있다.
또한 레이어 1에서, 사용자 키 K5_001 은 노드 5 하위의 사용자 노드중 노드 16 하위에 있는 모든 사용자 노드를 커버할 수 있다.
또한 레이어 1에서, 사용자 키 K14_101 은 노드 41 및 43 이하에 있는 모든 사용자 노드 즉 노드 365 내지 373 및 노드 383 내지 391을 커버할 수 있다.
또한 레이어 1에서, 사용자 키 K15_011 은 노드 45 및 46 이하에 있는 모든 사용자 노드 즉 노드 401 내지 418을 커버할 수 있다.
또한 레이어 2에서, 사용자 키 S42,377 은 노드 42 이하의 노드들 중 노드 377을 제외한 나머지 모든 노드 즉 노드 374,375,376,378,379,380,381,382를 커버할 수 있다.
마지막으로 레이어 2에서, 사용자 키 S44_396 은 노드 44 이하의 노드들 중 노드 396을 제외한 나머지 모든 노드 즉 노드 392,393,394,395,397,398,399,400을 커버할 수 있다.
결국 전체 트리에서 리보크된 사용자 노드 377, 396을 제외한 나머지 모든 노드만을 커버하는 키는 S1_5, K5_001, K14_101, K15_011, S42_377, S44_396 이다. 따라서 센터에 의해 사용자 기기로 전송되는 암호화 키 블록은 6개의 사용자 키 S1_5, K5_001, K14_101, K15_011, S42_377, S44_396 으로 암호화된 콘텐츠 키로 구성된다.
암호화 키를 선택하는 방법은 다음과 같이 일반화될 수 있다.
먼저 리보크된 단위 트리를 추출한다. 여기서 리보크된 단위 트리란 i) 오직 하나의 리보크된 사용자 노드를 포함하는 단위 트리 또는 ii) 오직 하나의 리보크된 사용자 노드를 포함하는 단위 트리를 하위 트리로 오직 하나만 포함하는 단위 트리를 말한다. 따라서 도 6에서, 단위 트리 1, 42, 44는 리보크된 단위 트리이고, 단위 트리 5,41,43,45,46,... 는 리보크된 단위 트리가 아니다.
그 다음, 리보크된 단위 트리에 대해 할당된 제 2 사용자 키중에서, i) 리보크된 사용자 노드 또는 ii) 리보크된 사용자 노드를 그 하위에 포함하는 노드를 식별하는 노드 식별 사용자 키를 암호화 키 블록 생성에 사용할 사용자 키로 선택한다. 도 6에서, S1_5, S42_377, S44_396 이 암호화 키 블록 생성에 사용할 사용자 키로 선택된다. 왜냐하면 노드 377,396 은 리보크된 사용자 노드이어서 노드 377,396을 식별하는 노드 식별 사용자 키는 S42_377, S44_396 이고, 또한 노드 5 는 리보크된 사용자 노드를 그 하위에 포함하는 노드이어서 노드 5 을 식별하는 노드 식별 사용자 키는 S1_5 이기 때문이다.
마지막으로, 트리내의 각 노드에 할당된 제 1 사용자 키 중에서, 앞 단계에서 선택된 제 2 사용자 키에 의해 커버되지 않은 나머지 사용자 노드를 커버할 수 있는 제 1 사용자 키를 선택한다.
도 6에서, 커버되지 않고 남은 사용자 노드는 노드 41,43,45,46,47,48,49 이하의 모든 사용자 노드이다. 아사노 방법에 의하면, 도 4의 방법으로 할당된 제 1 사용자 키들 중에서, 제 1 사용자 키 K5_001 은 노드 47,48,49 이하의 모든 사용자 노드를 커버할 수 있으며, 제 1 사용자 키 K14_101 은 노드 41,43 이하의 모든 사용자 노드를 커버할 수 있으며, 제 1 사용자 키 K15_011 은 노드 45,46 이하의 모든 사용자 노드를 커버할 수 있다. 따라서 K5_001, K14_101 및 K15_011을 암호화 키 블록 생성에 이용될 사용자 키로 선택한다.
선택된 사용자 키는 콘텐츠 키를 암호화하는데 이용된다. 선택된 사용자 키로 암호화된 콘텐츠 키는 암호화 키 블록을 형성하여 트리에서 사용자 노드에 대응하는 각각의 사용자 기기에 전송된다.
도 7은 도 6과 동일한 트리의 경우 종래의 방법에 따른 암호화 키 선택 방법을 나타내는 도면이다.
도 7 에 도시된 바와 같이, 종래의 방법에 의하면 본 발명에서의 제 1 사용자 키만으로 암호화 키 블록을 생성한다. 따라서 종래의 방법에 의해 전체 트리의 모든 리보크되지 않은 노드를 커버할려면, K1_011, K2_011, K5_001, K14_101, K15_011, K42_101, K44_101, K126_011, K132_101 의 모두 9개의 사용자 키가 필요하다. 이는 도 6 에 도시된 본 발명에 따른 사용자 키 선택 방법과 비교하였을 때 암호화 키 블록의 생성에 필요한 사용자 키의 개수보다 3개가 더 많은 것이다. 결국 본 발명에 의하면, 암호화 키 블록에 포함된 암호화된 콘텐츠 키의 개수도 6개로 감소되어 메시지의 크기를 줄일 수 있다.
도 8 은 본 발명의 다른 실시예에 따른 암호화 키 선택 방법을 나타내는 도면이다.
도 6의 트리와는 달리, 도 8 의 트리는 하나의 리보크된 사용자 노드 377을 포함한다. 도 6에서와 같은 방법을 적용하여 선택된 사용자 키는 S1_5, S5_42, S42_377 이다. 이는 도 6에서와는 달리 노드 15에서 더 이상 리보크된 사용자 노드를 포함하지 않기 때문에 노드 5 이하의 모든 사용자 노드 중 노드 42 이하의 사용자 노드를 제외한 나머지 노드 41,43, 44,45,.......이하의 모든 사용자 노드를 모두 커버할 수 있기 때문이다.
도 9는 도 8과 동일한 트리의 경우 종래의 방법에 따른 암호화 키 선택 방법을 나타내는 도면이다.
도 9에 도시된 바와 같이, 도 8의 트리의 경우 종래의 방법에 의해 암호화 키 블록을 생성하려면, K1_011, K2_011, K5_011, K14_101, K42_101, K126_011의 모두 6 개의 사용자 키가 필요하다. 그러나 도 8 에 도시된 바와 같이 본 발명에 의하면 3개의 사용자 키만이 암호화 키 블록 생성에 사용되므로 메시지의 크기를 1/2 가량 감소시킬 수 있음을 알 수 있다.
한편, 전술한 사용자 키 할당 방법 및 이를 바탕으로 한 암호화 키 선택 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 사용자 키의 할당 및 암호하 키 선택을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
전술한 바와 같이 본 발명에 따른 사용자 키 할당 방법에 의하면, 하나의 리보크된 노드를 포함하는 단위 트리에 대하여는 하나의 키만 할당하게 함으로써 생성되는 암호화 키의 수를 감소시킬 수 있다.
또한 암호화 센터가 각 사용자 기기로 전송하는 암호화 키 블록의 크기도 감소되어 네트워크 자원의 효율적 이용이 가능하다.
도 1은 본 발명의 일 실시예에 의한 콘텐츠 배포 방법을 나타내는 도면.
도 2는 사용자 기기에 전송되는 메시지의 내부 구성을 나타내는 도면.
도 3은 본 발명의 일 실시예에 의한 사용자 키 할당 방법을 나타내는 도면.
도 4는 제 1 사용자 키 생성 방법을 나타내는 도면.
도 5 는 도 3의 단위 트리가 연결된 전체 트리 구조를 나타내는 도면.
도 6 은 본 발명의 일 실시예에 따른 암호화 키 선택 방법을 나타내는 도면.
도 7은 도 6과 동일한 트리의 경우 종래의 방법에 따른 암호화 키 선택 방법을 나타내는 도면.
도 8 은 본 발명의 다른 실시예에 따른 암호화 키 선택 방법을 나타내는 도면.
도 9는 도 8과 동일한 트리의 경우 종래의 방법에 따른 암호화 키 선택 방법을 나타내는 도면이다.

Claims (19)

  1. 브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법에 있어서,
    조부 노드, 부 노드 및 손자 노드가 계층적으로 연결된 하나 이상의 단위 트리를 포함하는 트리를 생성하는 단계;
    상기 트리내의 모든 노드에 대하여, 상기 노드에 연결된 하위 노드를 식별하도록 생성된 사용자 키를 상기 노드의 제 1 사용자 키로 할당하는 단계;
    상기 단위 트리에 대하여, 상기 단위 트리에 포함된 손자 노드를 각각 식별하는 노드 식별 사용자 키 중 상기 손자 노드를 제외한 나머지 손자 노드의 노드 식별 사용자 키를 상기 손자 노드의 제 2 사용자 키로 할당하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 제 1 사용자 키를 할당하는 단계는, 상기 노드에 연결된 하위 노드의 위치에 기초하여 사용자 키를 할당하는 것을 특징으로 하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 제 1 사용자 키를 할당하는 단계는, 상기 노드에 연결된 하위 노드의 개수에 기초하여 사용자 키를 할당하는 것을 특징으로 하는 방법.
  4. 제 3 항에 있어서, 상기 하위 노드의 개수는 3개인 것을 특징으로 방법.
  5. 제 4 항에 있어서, 상기 제 1 사용자 키를 할당하는 단계는,
    상기 하위 노드가 왼쪽에 위치함을 나타내는 제 1 사용자 키를 생성하는 단계;
    상기 하위 노드가 오른쪽에 위치함을 나타내는 제 1 사용자 키를 생성하는 단계;
    상기 하위 노드가 중앙에 위치함을 나타내는 제 1 사용자 키를 생성하는 단계;
    상기 하위 노드가 왼쪽 및 중앙에 위치함을 나타내는 제 1 사용자 키를 생성하는 단계;
    상기 하위 노드가 중앙 및 오른쪽에 위치함을 나타내는 제 1 사용자 키를 생성하는 단계; 및
    상기 하위 노드가 왼쪽 및 오른쪽에 위치함을 나타내는 제 1 사용자 키를 생성하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서, 상기 제 2 사용자 키를 할당하는 단계는,
    하나의 단위 트리에 포함된 모든 손자 노드에 대하여 상기 손자 노드를 식별하는 노드 식별 사용자 키를 생성하는 단계; 및
    상기 각 손자 노드마다, 상기 노드 식별 사용자 키 중 상기 손자 노드를 제외한 나머지 손자 노드의 노드 식별 사용자 키를 상기 손자 노드의 제 2 사용자 키로 할당하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  7. 트리 구조를 이용한 암호화 키 선택 방법에 있어서,
    상기 트리의 각각의 노드에 대하여, 상기 노드의 하위 노드를 식별하도록 생성된 사용자 키를 상기 노드의 제 1 사용자 키로 할당하는 단계;
    상기 트리의 일부분으로서 조부 노드, 부 노드 및 손자 노드가 계층적으로 연결된 단위 트리에 대해, 상기 단위 트리에 포함된 손자 노드를 각각 식별하는 노드 식별 사용자 키 중 상기 손자 노드를 제외한 나머지 노드의 노드 식별 사용자 키를 상기 손자 노드의 제 2 사용자 키로 할당하는 단계;
    상기 단위 트리 중, 오직 하나의 리보크된 사용자 노드를 포함하는, 리보크된 단위 트리를 추출하는 단계; 및
    상기 제 2 사용자 키중에서, 리보크된 사용자 노드를 식별하는 노드 식별 사용자 키를 암호화 키로 선택하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서, 상기 리보크된 단위 트리를 추출하는 단계는,
    상기 오직 하나의 리보크된 사용자 노드를 포함하는 오직 하나의 단위 트리를 하위 트리로 포함하는 단위 트리를 추출하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서, 상기 노드 식별 사용자 키를 선택하는 단계는,
    상기 제 2 사용자 키 중에서, 리보크된 사용자 노드를 하위에 포함하는 노드를 식별하는 노드 식별 사용자 키를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제 7 항에 있어서, 상기 제 1 사용자 키 중에서, 상기 선택된 제 2 사용자 키에 의해 커버되지 않은 나머지 사용자 노드를 커버할 수 있는 제 1 사용자 키를 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서, 상기 제 1 사용자 키를 선택하는 단계는,
    상기 제 1 사용자 키 중, 상기 리보크된 단위 트리를 제외한 나머지 단위 트리에 할당된 제 1 사용자 키를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제 7 항에 있어서, 상기 트리는 하나의 상위 노드에 대하여 3개의 하위 노드를 가지는 것을 특징으로 하는 방법.
  13. 제 12 항에 있어서, 상기 단위 트리는 하나의 조부 노드에 하나의 부 노드 및 하나의 손자 노드를 가지는 것을 특징으로 하는 방법.
  14. 브로드캐스트 암호화를 위한 사용자 키 배포 방법에 있어서,
    조부 노드, 부 노드 및 손자 노드가 계층적으로 연결된 하나이상의 단위 트리를 포함하는 트리를 생성하는 단계;
    상기 트리내의 모든 노드에 대하여, 상기 노드의 하위 노드를 식별하도록 생성된 사용자 키를 상기 노드의 제 1 사용자 키로 할당하는 단계;
    상기 단위 트리에 대하여, 상기 단위 트리에 포함된 손자 노드들 중 상기 손자 노드를 제외한 나머지 손자 노드를 식별하는 노드 식별 사용자 키를 상기 손자 노드의 제 2 사용자 키로 할당하는 단계;
    상기 트리의 최하단 노드로부터 최상단 노드까지의 경로에 존재하는 모든 노드에 할당된 상기 제 1 사용자 키를 상기 최하단 노드에 대응하는 사용자 기기에 배포하는 단계; 및
    상기 최하단 노드가 속한 모든 단위 트리에 할당된 제 2 사용자 키를 상기 최하단 노드에 대응하는 사용자 기기에 배포하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  15. 제 14 항에 있어서, 상기 제 2 사용자 키를 배포하는 단계는,
    상기 최하단 노드가 직접 속한 단위 트리에 할당된 제 2 사용자 키를 상기 사용자 기기에 배포하는 단계; 및
    상기 단위 트리와 연결된 모든 상부 단위 트리에 할당된 제 2 사용자 키를 상기 사용자 기기에 배포하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제 8 항에 있어서, 상기 제 1 사용자 키를 할당하는 단계는, 상기 노드에 연결된 하위 노드의 위치에 기초하여 사용자 키를 할당하는 것을 특징으로 하는 방법.
  17. 제 8 항 또는 제 9 항에 있어서, 상기 제 1 사용자 키를 할당하는 단계는, 상기 노드에 연결된 하위 노드의 개수에 기초하여 사용자 키를 할당하는 것을 특징으로 하는 방법.
  18. 제 8 항에 있어서, 상기 제 2 사용자 키를 할당하는 단계는,
    하나의 단위 트리에 포함된 모든 손자 노드에 대하여 상기 손자 노드를 식별하는 노드 식별 사용자 키를 생성하는 단계; 및
    상기 각 손자 노드마다, 상기 노드 식별 사용자 키 중 상기 손자 노드를 제외한 나머지 손자 노드의 노드 식별 사용자 키를 상기 손자 노드의 제 2 사용자 키로 할당하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  19. 제 1 항 내지 제 18 항중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040006607A 2004-02-02 2004-02-02 브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법 KR20050078773A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040006607A KR20050078773A (ko) 2004-02-02 2004-02-02 브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법
US11/004,932 US20050169481A1 (en) 2004-02-02 2004-12-07 Method of assigning user keys for broadcast encryption
PCT/KR2005/000228 WO2005074186A1 (en) 2004-02-02 2005-01-27 Method of assigning user keys for broadcast encryption
CNA2005800001982A CN1771689A (zh) 2004-02-02 2005-01-27 分配用于广播加密的用户密钥的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040006607A KR20050078773A (ko) 2004-02-02 2004-02-02 브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법

Publications (1)

Publication Number Publication Date
KR20050078773A true KR20050078773A (ko) 2005-08-08

Family

ID=36751976

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040006607A KR20050078773A (ko) 2004-02-02 2004-02-02 브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법

Country Status (4)

Country Link
US (1) US20050169481A1 (ko)
KR (1) KR20050078773A (ko)
CN (1) CN1771689A (ko)
WO (1) WO2005074186A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100615705B1 (ko) * 2004-02-09 2006-08-25 삼성전자주식회사 무선 네트워크에서 키 분배방법
KR100729139B1 (ko) * 2006-02-13 2007-06-18 고려대학교 산학협력단 브로드캐스트 암호화를 위한 모듈화 방법
US8509433B2 (en) 2006-10-09 2013-08-13 Samsung Electronics Co., Ltd. Method and apparatus of generating encryption key for broadcast encryption

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4984827B2 (ja) * 2006-10-30 2012-07-25 ソニー株式会社 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム
KR100862971B1 (ko) * 2007-07-26 2008-10-13 강릉대학교산학협력단 무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법
CN101325481B (zh) * 2008-07-29 2010-12-29 成都卫士通信息产业股份有限公司 一种分组授权控制方法
KR20140028342A (ko) * 2012-08-28 2014-03-10 삼성전자주식회사 브로드캐스트 암호화를 위한 키 관리 방법 및 브로드캐스트 암호화를 이용한 메시지 전송 방법
CN114900442B (zh) * 2022-05-27 2024-03-29 中金金融认证中心有限公司 用于对业务数据进行预测的方法及其相关产品

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL106796A (en) * 1993-08-25 1997-11-20 Algorithmic Res Ltd Broadcast encryption
JPH11187013A (ja) * 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム
JP4023083B2 (ja) * 2000-04-06 2007-12-19 ソニー株式会社 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
EP1204236A4 (en) * 2000-06-15 2008-03-05 Sony Corp SYSTEM AND METHOD FOR PROCESSING INFORMATION USING ENCRYPTION KEY BLOCK
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
US20030061481A1 (en) * 2001-09-26 2003-03-27 David Levine Secure broadcast system and method
KR20040044560A (ko) * 2001-10-26 2004-05-28 마츠시타 덴끼 산교 가부시키가이샤 키 관리장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100615705B1 (ko) * 2004-02-09 2006-08-25 삼성전자주식회사 무선 네트워크에서 키 분배방법
KR100729139B1 (ko) * 2006-02-13 2007-06-18 고려대학교 산학협력단 브로드캐스트 암호화를 위한 모듈화 방법
US8509433B2 (en) 2006-10-09 2013-08-13 Samsung Electronics Co., Ltd. Method and apparatus of generating encryption key for broadcast encryption
KR101377455B1 (ko) * 2006-10-09 2014-04-02 삼성전자주식회사 브로드캐스트 암호화를 위한 암호화 키 생성 방법 및 장치

Also Published As

Publication number Publication date
WO2005074186A1 (en) 2005-08-11
CN1771689A (zh) 2006-05-10
US20050169481A1 (en) 2005-08-04

Similar Documents

Publication Publication Date Title
US7269257B2 (en) System and method for processing information using encryption key block
US7957537B2 (en) Information processing system and method using encryption key block
JP4649407B2 (ja) コンテンツ再生システム
JP4870727B2 (ja) 暗号化を施すことによりデータを保護するデータ保護システム
CN101112036B (zh) 信息处理装置、信息记录介质制造装置和信息记录介质
US7272229B2 (en) Digital work protection system, key management apparatus, and user apparatus
US7707410B2 (en) Information processing system and method
US7706530B2 (en) Key information processing method, device thereof, and program
JP4179563B2 (ja) 暗号通信の暗号鍵を管理する技術
RU2411572C2 (ru) Устройство обработки информации, способ обработки информации и компьютерная программа
US7505599B2 (en) Information processing system and method for managing encrypted data with tag information
WO2002052780A1 (fr) Systeme et procede de traitement d'informations
JP2006020292A (ja) 情報処理方法、情報処理装置
KR20050034639A (ko) 지역 한정 재생 시스템
WO2005074186A1 (en) Method of assigning user keys for broadcast encryption
KR20040103746A (ko) 정보 관리 장치 및 방법, 기록 매체 및 프로그램
JP2004104602A (ja) 情報記録媒体、情報記録装置、情報再生装置、情報配信装置、それらの方法、それらのプログラムおよびそのプログラムを記録した記録媒体
JP4199472B2 (ja) 暗号化を施すことによりデータを保護するデータ保護システム
JP3689593B2 (ja) コンテンツ流通管理装置およびプログラム記録媒体
US8290155B2 (en) Information processing apparatus, information recording medium, information processing method and computer program
JP2003204321A (ja) 著作物保護システム及び鍵管理装置
WO2007093925A1 (en) Improved method of content protection
US20090177888A1 (en) Information processing device, key setting method, and program
JP2005006033A (ja) 鍵生成方法、鍵生成装置、コンテンツ配信装置、端末装置およびプログラム
JP2005109753A (ja) 鍵情報処理方法及びその装置、並びにプログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid