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

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

Info

Publication number
KR20060049340A
KR20060049340A KR1020050100726A KR20050100726A KR20060049340A KR 20060049340 A KR20060049340 A KR 20060049340A KR 1020050100726 A KR1020050100726 A KR 1020050100726A KR 20050100726 A KR20050100726 A KR 20050100726A KR 20060049340 A KR20060049340 A KR 20060049340A
Authority
KR
South Korea
Prior art keywords
key
node
nodes
special
user
Prior art date
Application number
KR1020050100726A
Other languages
Korean (ko)
Inventor
김대엽
김환준
박성준
천정희
진원일
김명환
조남수
유은선
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020050106604A priority Critical patent/KR101092543B1/en
Priority to EP13165231.5A priority patent/EP2621125B1/en
Priority to CNB2005800359704A priority patent/CN100551015C/en
Priority to PCT/KR2005/003842 priority patent/WO2006052111A1/en
Priority to EP12005033.1A priority patent/EP2515470B1/en
Priority to JP2007541106A priority patent/JP4755194B2/en
Priority to CA2581314A priority patent/CA2581314C/en
Priority to MX2007007007A priority patent/MX2007007007A/en
Priority to EP05820734.1A priority patent/EP1810510B1/en
Priority to US11/271,989 priority patent/US7929705B2/en
Publication of KR20060049340A publication Critical patent/KR20060049340A/en
Priority to JP2011082596A priority patent/JP5547682B2/en
Priority to JP2012134570A priority patent/JP5955117B2/en
Priority to US13/865,725 priority patent/USRE45191E1/en
Priority to US13/867,150 priority patent/USRE45213E1/en
Priority to JP2013097588A priority patent/JP6139965B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0827Key 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 distinctive intermediate devices or communication paths
    • 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]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

브로드캐스트 암호화를 위한 사용자 키 관리 방법이 개시된다. 본 발명은 순차적으로 배열된 각 노드에 노드 패스 아이디(Node Path ID)를 부여하는 단계, 각 노드에 노드 패스 아이디에 따라 임의의 씨드 키(Seed Value Key)를 부여하는 단계, 부여된 임의의 씨드 키에 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계, 및 생성된 키값들을 각 노드들에 순차적으로 부여하는 단계를 통해 구현된다. 본 발명에 의하면, 브로드캐스트 암호화에서 가장 중요한 전송량을 r 미만으로 줄일 수 있게 된다. 또한, 본 발명의 실시예들에서는 현재까지 가장 좋은 방법으로 알려진 SD와 비교하여 전송량이 크게 줄일 수가 있다는 장점이 있다.A method of managing user keys for broadcast encryption is disclosed. The present invention provides a method of assigning a node path ID to each of the nodes sequentially arranged, and assigning a seed value key to each node according to the node path ID. By repeatedly applying the hash function to the key to generate key values, and sequentially giving the generated key value to each node. According to the present invention, the most important transmission amount in broadcast encryption can be reduced to less than r. In addition, embodiments of the present invention has the advantage that the amount of transmission can be significantly reduced compared to the SD known as the best method up to now.

브로드캐스트 암호화, 해쉬 함수, 씨드 키, 해쉬 체인,계층구조 Broadcast encryption, hash functions, seed keys, hash chains, hierarchies

Description

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

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

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

도 3은 본 발명의 실시예에 따른 선형 구조의 각 노드에 일방향 키 체인을 매핑하여 키 값을 부여하는 절차를 나타낸 흐름도,3 is a flowchart illustrating a procedure of assigning a key value by mapping a one-way key chain to each node of a linear structure according to an embodiment of the present invention;

도 4는 본 발명의 실시예에 따른 선형 구조의 각 노드에 임의의 씨드 키를 부여하는 방법을 나타낸 도면,4 is a diagram illustrating a method of assigning an arbitrary seed key to each node of a linear structure according to an embodiment of the present invention;

도 5는 본 발명의 실시예에 따른 선형 구조의 각 노드에 일방향 키 체인을 매핑하는 방법을 나타낸 도면,5 is a diagram illustrating a method of mapping a one-way key chain to each node of a linear structure according to an embodiment of the present invention;

도 6은 본 발명의 실시예에 따른 선형 구조의 각 노드에 키 값을 대응시키는 방법을 나타낸 도면,6 is a diagram illustrating a method of mapping a key value to each node of a linear structure according to an embodiment of the present invention;

도 7은 본 발명의 실시예에 따른 선형 구조의 각 노드에 키 값이 대응된 결과를 나타낸 도면,7 is a view showing a result of a key value corresponding to each node of a linear structure according to an embodiment of the present invention;

도 8은 본 발명의 실시예에 따른 불법 사용자 사이 구간으로의 세션키 전달 절차를 나타낸 흐름도,8 is a flowchart illustrating a session key transfer procedure to an interval between illegal users according to an embodiment of the present invention;

도 9는 본 발명의 실시예에 따른 선형 구조에서의 구간의 정의를 나타낸 도면,9 is a view showing the definition of the interval in the linear structure according to an embodiment of the present invention,

도 10은 본 발명의 실시예에 따른 선형 구조의 구간으로 세션키를 전달하는 방법을 나타낸 도면,10 is a view showing a method for transmitting a session key in a section of a linear structure according to an embodiment of the present invention;

도 11은 본 발명의 실시예에 따른 각 노드의 사용자가 수신된 세션키에 의해 데이터를 복호화하는 절차를 나타낸 흐름도,11 is a flowchart illustrating a procedure of decrypting data by a session key received by a user of each node according to an embodiment of the present invention;

도 12는 본 발명의 변형된 제1 실시예에 따른 선형 구조에서의 특별 노드의 정의를 나타낸 도면,12 is a view showing the definition of a special node in the linear structure according to the first modified embodiment of the present invention;

도 13은 본 발명의 변형된 제1 실시예에 따른 선형 구조에서의 각 노드에 키 값을 대응시키는 방법을 나타낸 도면,FIG. 13 is a diagram showing a method for mapping a key value to each node in a linear structure according to a first modified embodiment of the present invention; FIG.

도 14는 본 발명의 변형된 제1 실시예에 따른 세션키 전송을 위해 구간을 나누는 방법을 나타낸 도면,14 is a diagram illustrating a method for dividing a section for transmitting a session key according to a first modified embodiment of the present invention;

도 15는 본 발명의 변형된 제1 실시예에 따른 다수의 구간으로 나누어진 경우 세션키를 전송하는 방법을 나타낸 도면,FIG. 15 is a diagram illustrating a method for transmitting a session key when divided into a plurality of sections according to a first modified embodiment of the present invention; FIG.

도 16은 본 발명의 변형된 제2 실시예에 따른 구간 설정 방법을 나타낸 도면,16 is a view showing a section setting method according to a second modified embodiment of the present invention;

도 17은 본 발명의 변형된 제2 실시예에 따른 선형 구조에서의 각 노드에 키 값을 대응시키는 방법을 나타낸 도면, 및FIG. 17 is a diagram showing a method of mapping a key value to each node in a linear structure according to a second modified embodiment of the present invention; and

도 18은 본 발명의 일실시예에 따른 환형구조의 노드그룹의 계층구조를 나타 내고 있다.18 illustrates a hierarchical structure of node groups having an annular structure according to an embodiment of the present invention.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

예컨대, 34번 사용자는 자신의 34번 키 값과 함께 17번 노드(209)의 키 값, 8번 노드(204)의 키 값, 4번 노드(202)의 키 값, 2번 노드(201)의 키 값을 가지게 된다. 이때, 상기 34번 사용자가 가지는 17번 노드(209)의 키 값은 35번 사용자도 함께 공유하고 있게 된다. 마찬가지로, 상기 34번 사용자가 가지는 8번 노드(204) 의 키 값은 32, 33, 35번 사용자도 함께 공유하게 된다.For example, user 34 has his own key value 34 along with the key value of node 17 (209), the key value of node 8 (204), the key value of node 4 (202), and node 2 (201). Will have a key value of. At this time, the key value of the node 17 (209) having the user 34 is also shared with the user 35. Similarly, the key value of node 204 of user 34 has the same 32, 33, and 35 users.

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

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

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

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

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

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

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

그 후, 2002년에는 SD 모델을 개선한 LSD 모델이 제안되었다. LSD 모델에서는 각 서브트리에 레이어(layer)를 사용하여 저장량을 O(log3 /2n)으로 줄였지만 대신 전송량이 SD 모델의 두배가 되었다.Then, in 2002, the LSD model was proposed, which improved the SD model. LSD model was a double of the sub with a layer (layer) on the tree but have an accumulation volume to O (log 3/2 n) a transmission rate SD model instead.

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

따라서, 본 발명의 목적은 선형 구조를 사용하여 각 노드별로 순차적으로 일방향 키 체인을 형성하며 키 값을 분배하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a user key management method for broadcast encryption in which a one-way key chain is sequentially formed for each node using a linear structure and distributes key values.

또한, 본 발명의 목적은 선형 구조를 사용하여 직선 상의 노드들 중에서 매 c번째 노드를 골라서 특별 노드로 설정하고, 특별 노드키에서부터 시작하는 특별 노드 체인을 생성하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법을 제공함에 있다.It is also an object of the present invention to select a c-th node among the nodes on a straight line using a linear structure as a special node, and user key management method for broadcast encryption to create a special node chain starting from the special node key. In providing.

또한, 본 발명의 목적은 한 명의 제외된 사용자를 포함하는 구간을 추가하여 전송 구간을 설정하여, 전송량을 줄일 수 있는 브로드캐스트 암호화를 위한 사용자 키 관리 방법을 제공함에 있다.It is also an object of the present invention to provide a user key management method for broadcast encryption that can reduce the amount of transmission by setting a transmission interval by adding a section including one excluded user.

상기 목적을 달성하기 위한 본 발명에 따른 키 관리 방법은, 순차적으로 배열된 각 노드에 노드 패스 아이디(Node Path ID)를 부여하는 단계,상기 각 노드에 상기 노드 패스 아이디에 따라 임의의 씨드 키(Seed Value Key)를 부여하는 단계, 상기 부여된 임의의 씨드 키에 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계, 및 상기 생성된 키값들을 상기 각 노드들에 순차적으로 부여하는 단계를 포함한다.The key management method according to the present invention for achieving the above object, the step of giving a node path ID (Node Path ID) to each of the nodes arranged sequentially, A random seed key according to the node path ID to each node ( Assigning a Seed Value Key), repeatedly applying a hash function to the given seed key, generating key values, and sequentially assigning the generated key values to the nodes.

바람직하게는, 상기 순차적으로 배열된 노드 중 N개의 노드로 이루어진 구간에 대한 암호화 키는, 상기 구간내의 첫번째 노드에 부여된 상기 씨드 키에 상기 해쉬함수를 N-1회 반복적으로 적용하여 생성된 키값으로 하는 것을 특징으로 한다.Preferably, the encryption key for the section consisting of N nodes among the sequentially arranged nodes, a key value generated by repeatedly applying the hash function N-1 times to the seed key given to the first node in the section. It is characterized by.

또한, 상기 구간은 인증받은 노드들로 이루어진 연속된 구간인 것을 특징으로 한다.In addition, the section is characterized in that the continuous section consisting of the authenticated nodes.

또한, 상기 구간은 하나 이상의 제외된 노드를 포함하며, 상기 제외된 노드에서는 각각 독립적인 해쉬함수를 적용하는 것을 특징으로 한다.In addition, the interval includes one or more excluded nodes, and each of the excluded nodes is characterized by applying an independent hash function.

한편, 본 발명에 따른 키 관리 방법은 순차적으로 배열된 노드에 임의의 씨드 키(Seed Value Key)를 부여하는 단계, 상기 부여된 임의의 씨드 키에 제1 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계, 상기 생성된 키값들을 상기 각 노드들에 순차적으로 부여하는 단계, 상기 순차적으로 배열된 노드들 중에서 일정간격에 따라 특별노드를 설정하는 단계, 상기 각 특별노드에는 임의의 특별 씨드 키(Special Seed Value Key)를 부여하는 단계, 상기 부여된 임의의 특별 씨드 키에 제2 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계, 및 상기 생성된 키값들을 상기 각 특별노드에 순차적으로 부여하는 단계를 포함한다.On the other hand, the key management method according to the present invention is to give a seed value (Seed Value Key) to sequentially arranged nodes, iteratively applying a first hash function to the given seed key to generate key values And sequentially assigning the generated key values to the nodes, setting a special node according to a predetermined interval among the sequentially arranged nodes, and assigning a special seed key to each special node. Assigning a Seed Value Key), repeatedly applying a second hash function to the given special seed key, generating key values, and sequentially assigning the generated key values to each special node. Include.

바람직하게는, 상기 특별노드들 중 제1 특별노드에 K라는 특별 노드키가 할당되었다면, 상기 제1 특별노드로부터 상기 일정간격만큼 떨어진 제2 특별노드에는 상기 K에 상기 제2 해쉬함수를 적용한 키값이 부여되는 것을 특징으로 한다.Preferably, if a special node key of K is assigned to a first special node among the special nodes, a key value of applying the second hash function to the second special node away from the first special node by the predetermined interval is applied to the K. It is characterized by being given.

또한, 상기 순차적으로 배열된 노드 중 N개의 노드로 이루어진 구간에 대한 암호화 키는, 상기 구간내의 첫번째 노드에 부여된 상기 씨드 키에 상기 해쉬함수를 N-1회 반복적으로 적용하여 생성된 키값으로 하는 것을 특징으로 한다.The encryption key for the section consisting of N nodes among the sequentially arranged nodes is a key value generated by repeatedly applying the hash function N-1 times to the seed key assigned to the first node in the section. It is characterized by.

또한, 상기 구간은 인증받은 노드들로 이루어진 연속된 구간인 것을 특징으로 한다.In addition, the section is characterized in that the continuous section consisting of the authenticated nodes.

또한, 상기 구간은 하나 이상의 제외된 노드를 포함하며, 상기 제외된 노드에서는 각각 독립적인 새로운 해쉬함수를 적용하는 것을 특징으로 한다.In addition, the interval includes one or more excluded nodes, and each of the excluded nodes is characterized by applying new independent hash functions.

한편, 본 발명에 따른 키 관리 방법은 환형 그룹을 형성하는 각 노드에 노드 패스 아이디(Node Path ID)를 부여하는 단계, 상기 각 노드에 상기 노드 패스 아이디에 따라 임의의 씨드 키(Seed Value Key)를 부여하는 단계, 상기 부여된 임의의 씨드 키에 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계, 및 상기 생성된 키값들을 상기 환형 그룹을 형성하는 각 노드들에 순차적으로 부여하는 단계를 포함한다.Meanwhile, in the key management method according to the present invention, a node path ID is assigned to each node forming an annular group, and a seed value is assigned to each node according to the node path ID. And generating a key value by repeatedly applying a hash function to the given seed key, and sequentially assigning the generated key values to each node forming the annular group. .

바람직하게는, 상기 환형그룹내의 N개의 노드로 이루어진 순환 구간에 대한 암호화 키는, 상기 순환 구간내의 첫번째 노드에 부여된 상기 씨드 키에 상기 해쉬함수를 N-1회 반복적으로 적용하여 생성된 키값으로 하는 것을 특징으로 한다.Preferably, the encryption key for the recursive section consisting of N nodes in the annular group is a key value generated by repeatedly applying the hash function N-1 times to the seed key assigned to the first node in the recursive section. Characterized in that.

또한, 상기 순환 구간은 인증받은 노드들로 이루어진 연속된 구간인 것을 특징으로 한다.In addition, the circular section is characterized in that the continuous section consisting of the authenticated nodes.

또한, 상기 환형 그룹을 형성하는 각 노드 아래 새로운 환형 그룹을 형성하는 노드들을 하부 구조로 링크시킴으로써, 환형의 그룹의 계층구조를 형성하는 것을 특징으로 한다.In addition, by linking the nodes forming the new annular group under each node forming the annular group to the substructure, thereby forming a hierarchy of annular groups.

또한, 상기 계층구조는 16층인 것을 특징으로 한다.In addition, the hierarchical structure is characterized in that the 16 layers.

또한, 상기 각 환형 그룹을 형성하는 각 노드의 개수는 동일한 것을 특징으로 한다.In addition, the number of each node forming each annular group is the same.

또한, 상기 환형그룹내의 N개의 노드로 이루어진 순환 구간은 하나 이상의 제외된 노드를 포함하며, 상기 제외된 노드에서는 각각 독립적인 해쉬함수를 적용하는 것을 특징으로 한다.In addition, the circular section consisting of N nodes in the annular group includes one or more excluded nodes, and each of the excluded nodes applies an independent hash function.

또한, 상기 환형 그룹을 형성하는 노드는 N개이며, 상기 노드 패스 아이디로서 '0'부터 'N-1'까지가 부여되는 것을 특징으로 한다.In addition, the number of nodes forming the annular group is N, characterized in that '0' to 'N-1' is given as the node path ID.

또한, 상기 계층구조에서 적어도 하나의 제외된 자식 노드를 갖는 노드는 제외된 노드로 간주되는 것을 특징으로 한다.In addition, a node having at least one excluded child node in the hierarchy may be regarded as an excluded node.

한편, 본 발명에 따른 키 관리 방법은, 환형 그룹을 형성하는 각 노드에 임의의 씨드 키(Seed Value Key)를 부여하는 단계, 상기 부여된 임의의 씨드 키에 제1 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계, 상기 생성된 키값들을 상기 환형 그룹을 형성하는 각 노드들에 순차적으로 부여하는 단계, 상기 환형 그룹을 형성하는 노드들 중에서 일정간격에 따라 특별노드를 설정하는 단계, 상기 각 특별노드에는 임의의 특별 씨드 키(Special Seed Value Key)를 부여하는 단계, 상기 부여된 임의의 특별 씨드 키에 제2 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계, 및 상기 생성된 키값들을 상기 각 특별노드에 순차적으로 부여하는 단계를 포함한다.On the other hand, in the key management method according to the present invention, by applying a seed value (Seed Value Key) to each node forming the annular group, by repeatedly applying a first hash function to the given seed key Generating key values, sequentially assigning the generated key values to each of the nodes forming the annular group, setting a special node according to a predetermined interval among the nodes forming the annular group, wherein each special Granting a random special seed key to a node, repeatedly applying a second hash function to the given special seed key, generating key values, and generating the generated key values. And sequentially giving special nodes.

바람직하게는, 상기 특별노드들 중 제1 특별노드에 K라는 특별 노드키가 할당되었다면, 상기 제1 특별노드로부터 상기 일정간격만큼 떨어진 제2 특별노드에는 상기 K에 상기 제2 해쉬함수를 적용한 키값이 부여되는 것을 특징으로 한다.Preferably, if a special node key of K is assigned to a first special node among the special nodes, a key value of applying the second hash function to the second special node away from the first special node by the predetermined interval is applied to the K. It is characterized by being given.

또한, 상기 환형그룹내의 N개의 노드로 이루어진 순환 구간에 대한 암호화 키는, 상기 순환 구간내의 첫번째 노드에 부여된 상기 씨드 키에 상기 해쉬함수를 N-1회 반복적으로 적용하여 생성된 키값으로 하는 것을 특징으로 한다.The encryption key for the recursive section consisting of N nodes in the annular group is a key value generated by repeatedly applying the hash function N-1 times to the seed key assigned to the first node in the recursive section. It features.

또한, 상기 순환 구간은 인증받은 노드들로 이루어진 연속된 구간인 것을 특 징으로 한다.In addition, the circular interval is characterized in that the continuous interval consisting of the authenticated nodes.

또한, 상기 순환 구간은 하나 이상의 제외된 노드를 포함하며, 상기 제외된 노드에서는 각각 독립적인 새로운 해쉬함수를 적용하는 것을 특징으로 한다.In addition, the cyclic interval includes one or more excluded nodes, and each of the excluded nodes applies a new hash function that is independent of each other.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, with reference to the drawings will be described the present invention in more detail.

<기본 실시예><Basic Example>

도 3은 본 발명의 실시예에 따른 선형 구조의 각 노드에 일방향 키 체인을 매핑하여 키 값을 부여하는 절차를 나타낸 흐름도이다. 도 3을 참조하면, 먼저 각각의 노드에 노드 패스 아이디(Node Path ID)를 부여한다(S301). 여기서, 노드 패스 아이디는 각 노드에 해당하는 사용자들을 구분하기 위해 필요한 아이디이다.3 is a flowchart illustrating a procedure of assigning a key value by mapping a one-way key chain to each node of a linear structure according to an embodiment of the present invention. Referring to FIG. 3, first, a node path ID is assigned to each node (S301). Here, the node path ID is an ID required to distinguish users corresponding to each node.

그 다음, 선형 구조상의 각 노드별로 노드 패스 아이디에 따라 임의의 씨드 키(Seed Value Key)를 부여한다(S302). 본 발명을 실시함에 있어서 임의의 씨드 키는 각각 독립적으로 램덤하게 결정될 수 있을 것이다.Next, an arbitrary seed key is assigned to each node of the linear structure according to the node path ID (S302). In the practice of the present invention, any seed key may be determined randomly independently of each other.

그 다음, 각 노드별로 부여된 임의의 씨드 키를 일방향 해쉬함수에 대입한 결과인 키값을 생성한다. 또한, 생성된 키값을 일방향 해쉬함수에 반복적으로 대입하여 키값들을 연속적으로 생성하여, 각 임의의 씨드 키에 따라 각 소정의 키 체인을 생성한다(S303). Next, a key value generated as a result of substituting an arbitrary seed key assigned to each node into the one-way hash function is generated. In addition, the generated key value is repeatedly substituted into the one-way hash function to generate key values continuously, thereby generating each predetermined key chain according to each arbitrary seed key (S303).

여기서 일방향 해쉬함수는, 여기서 일방향 해쉬 함수란, 임의의 길이의 입력값을 정해진 길이의 출력 값으로 압축하는 함수로서, 다음과 같은 성질을 갖고 있다. 일방향 해쉬 함수상에서는 주어진 출력값에 대하여 입력값을 구하는 것이 계산상 불가능하며, 주어진 입력값에 대하여 같은 출력값을 내는 또 다른 입력값을 찾 아내는 것이 계산상 불가능하다. 또한, 일방향 해쉬 함수상에서는 같은 출력값을 내는 임의의 서로 다른 두 입력값을 찾는 것 또한 계산상 불가능하다.The one-way hash function here is a function that compresses an input value of an arbitrary length into an output value of a predetermined length, and has a property as follows. On a one-way hash function, it is impossible to calculate the input value for a given output value, and it is impossible to find another input value that produces the same output value for a given input value. Also, it is not computationally possible to find any two different inputs that produce the same output on a one-way hash function.

전술한 바와 같은 성질을 만족하는 해쉬 함수는 데이터의 무결성, 인증, 부인 방지 등에서 응용되는 중요한 함수 중의 하나로서, 본 발명을 실시함에 있어서, 일방향 해쉬함수는 “HBES SHA-1”이 될 수 있을 것이다 The hash function that satisfies the aforementioned properties is one of important functions applied to data integrity, authentication, nonrepudiation, etc. In the present invention, the one-way hash function may be “HBES SHA-1”.

그 다음, S303단계에서의 각 씨드 키별로 생성된 키값들을 각 씨드 키가 부여된 노드의 다음 노드로부터 순차적으로 부여한다(S304). 본 발명을 실시함에 있어서, 키값들이 부여되는 방향은 각 노드들에 있어서, 일정성이 있어야 할 것이다.Next, key values generated for each seed key in step S303 are sequentially assigned from the next node of the node to which each seed key is assigned (S304). In practicing the present invention, the direction in which the key values are given should be constant for each node.

이하, 도 4 내지 도 6을 참조하여 전술한 키 값을 각 노드들에 부여하는 절차를 보다 구체적으로 설명한다. Hereinafter, a procedure of assigning the aforementioned key value to each node will be described in more detail with reference to FIGS. 4 to 6.

도 4는 본 발명의 실시예에 따른 선형 구조의 각 노드에 임의의 씨드 키를 부여하는 방법을 나타낸 도면이다. 도 4를 참조하면, 상기 각 노드별 임의의 씨드 키는 직선 상의 각 노드에 앞에서부터 순차적으로 매핑될 수 있다. 4 is a diagram illustrating a method of assigning an arbitrary seed key to each node of a linear structure according to an embodiment of the present invention. Referring to FIG. 4, any seed key for each node may be sequentially mapped to each node on a straight line from the front.

예컨대, 동일한 공간에 N개의 노드가 배열되어 있다고 가정할 경우, 각 노드에는 랜덤하게 선택된 씨드 키(key)값인 K1, K2, ..., KN 값이 하나씩 대응될 수 있다. 즉, 제1 노드(401)에는 K1 값, 제2 노드(402)에는 K2 값, 제3 노드(403)에는 K3 값, 제4 노드(404)에는 K4 값,..., 제N-1 노드(405)에는 KN -1 값, 제N 노드(406)에는 KN값의 랜덤하게 선택된 씨드 키 값이 대응된다.For example, assuming that N nodes are arranged in the same space, K 1 , K 2 , ..., K N values, which are randomly selected seed key values, may correspond to each node. That is, the first node 401, the K 1 value, the second node 402, the value K 2, the third node 403, the value K 3, the fourth node 404, the value K 4, ..., the N-1 node 405, the response will include a seed key value selected at random of the value K N K N -1 values, the node N 406.

이때, 상술한 바와 같이 각 씨드 키로부터 일방향 해쉬함수를 이용하여 일방 향 키 체인을 생성하게 된다. 일방향 키 체인을 생성하는 방법은 다음과 같다.At this time, as described above, the one-way key chain is generated from each seed key by using the one-way hash function. Here's how to create a one-way keychain:

만약, h가 {0,1)128 → {0,1)128인 일방향 해쉬함수라고 할 때, K로부터의 길이 c인 일방향 키 체인은 {K, h(K), h(h(K)) = h(2)(K), ..., h(c-1)(K)}가 된다. 상기 생성된 일방향 키 체인 값들은 앞에서부터 순차적으로 직선 상의 각 노드에 대응된다.If h is a one-way hash function with (0,1) 128 → (0,1) 128 , then the one-way keychain with length c from K is (K, h (K), h (h (K)) = h (2) (K), ..., h (c-1) (K)}. The generated one-way key chain values correspond to each node on a straight line sequentially from the front.

도 5는 본 발명의 실시예에 따른 선형 구조의 각 노드에 일방향 키 체인을 매핑하는 방법을 나타낸 도면이다. 도 5를 참조하면, 일방향 해쉬함수인 h를 이용하여 각 노드에서 시작하는 길이 c인 일방향 키 체인을 생성하여 매핑한다. 이때, 상기 c는 체인의 크기(chain size)를 의미한다.5 is a diagram illustrating a method of mapping a one-way key chain to each node of a linear structure according to an embodiment of the present invention. Referring to FIG. 5, a one-way key chain having a length c starting at each node is generated and mapped using the one-way hash function h. In this case, c means a chain size.

즉, 제i 노드(501)에는 씨드 키 값인 Ki값이 매핑되며, 제i+1 노드(502)에는 h(Ki)값이 매핑되며, 제i+2 노드(503)에는 h(h(Ki))값이 매핑되며, ..., 제i+c-1(504) 노드에는 h(c-1)(Ki) 값이 매핑된다.That is, a value of K i , which is a seed key value, is mapped to the i th node 501, a h (K i ) value is mapped to an i + 1 node 502, and h (h) is mapped to an i + 2 node 503. The (K i )) value is mapped, and the h (c-1) (K i ) value is mapped to the i + c-1 (504) node.

한편, 본 발명을 실시함에 있어서는 일방향 키 체인의 길이를 결정하는 값으로서, c값을 미리 설정하게 되며, 상기 c값에 따라 각 사용자들이 저장해야 하는 키의 수가 결정될 것이다. 따라서, 각 노드에 부여된 모든 씨드 키로부터 길이 c인 일방향 키 체인을 생성할 수가 있으며, 상기 생성된 일방향 키 체인 값을 각 노드에 부여할 수가 있게 된다. Meanwhile, in the practice of the present invention, the value of c is set in advance as a value for determining the length of the one-way key chain, and the number of keys to be stored by each user will be determined according to the value of c. Therefore, it is possible to generate a one-way key chain having a length of c from all seed keys assigned to each node, and to give each node the generated one-way key chain value.

그 결과, 각각의 노드에는 모두 c개의 키 값이 부여될 수 있게 된다. 다만 이때, 직선의 시작 부분과 끝 부분의 일부 노드에는 더 적은 수의 키가 할당될 수가 있다 즉, As a result, each node can be assigned c key values. However, fewer nodes may be assigned to some nodes at the beginning and the end of the straight line.

도 6은 본 발명의 실시예에 따른 선형 구조의 각 노드에 키 값을 대응시키는 방법을 나타낸 도면이다. 도 6을 참조하면, 제i 노드(601)에는 자신의 씨드 키인 Ki가 부여되며, 제i+1 노드(602)에는 Ki를 일방향 해쉬함수 연산한 값인 h(Ki)와 기부여된 자신의 키 값인 Ki +1이 부여된다. 또한, 제i+2 노드(603)에는 제i+1 노드(602)에 부여된 키 값을 일방향 함수 연산한 값과, 기부여된 자신의 키 값이 부여된다.6 is a diagram illustrating a method of mapping key values to respective nodes of a linear structure according to an embodiment of the present invention. 6, the i-th node 601 will be granted their seed key K i, the i + 1 node 602 has an assigned group and the value of h (K i) a one-way hash function computes a K i It is given its key value K i +1 . Further, the i + 2th node 603 is given a value obtained by performing a one-way function calculation on the key value assigned to the i + 1th node 602 and its own key value.

즉, Ki를 두번 일방향 해쉬함수 연산한 값인 h(h(Ki)와, Ki +1을 일방향 함수 연산한 값인 h(Ki +1)과, 자신의 씨드 키 값인 Ki +2가 부여된다. 동일한 방법에 의해 c번째 노드인 제i+c-1 노드(605)는 h(c-1)(Ki), h(c-2)(Ki +1), h(c-3)(Ki +2), ..., Ki +c-1 이 부여된다.In other words, the value computed one-way hash function is a two K i h (h (Ki) and, K i +1 the one-way function value calculated by h (K i +1), and their seed key value K i +2 is assigned By the same method, the c-th node i + c-1 node 605 is h (c-1) (K i ), h (c-2) (K i +1 ), h (c-3). ) (K i +2 ), ..., K i + c-1 .

따라서, 각 노드별로 대응되는 사용자는 해당 노드에 부여된 c개의 키를 사용자의 비밀키로서 부여받게 된다.Therefore, the user corresponding to each node is given c keys assigned to the node as the user's secret key.

이때, Ki=Ki ,i라 하고, i≤j에서 Ki ,j=h(j-i)(Ki ,j)라 정의하면, 사용자 ui가 저장하는 키 셋은 하기 수학식 1과 같이 나타낼 수 있다.In this case, if K i = K i , i , and i≤j to define K i , j = h (ji) (K i , j ), the key set stored by the user u i is represented by Equation 1 below. Can be represented.

Figure 112005060592933-PAT00001
Figure 112005060592933-PAT00001

또한, 상기 수학식 1에 따라 각 노드에 할당되는 키 값은 도 7에 도시된 표와 같다. 도 7은 본 발명의 실시예에 따른 선형 구조의 각 노드에 키 값이 대응된 결과를 나타낸 도면이다.In addition, key values assigned to each node according to Equation 1 are as shown in the table shown in FIG. 7. 7 is a diagram illustrating a result of a key value corresponding to each node of the linear structure according to the embodiment of the present invention.

상기 도 7을 참조하면, 사용자 uc의 키 값(701)은 도시된 바와 같이 c개의 키 값이 할당됨을 알 수 있다. 아울러, 본 발명에서는 전체의 사용자들을 하나 이상의 작은 부분 집합으로 분할하고, 상기 분할된 각 부분 집합에 세션키를 하나의 메시지를 이용하여 전달하는 방식을 사용할 수가 있다.Referring to FIG. 7, it can be seen that the key values 701 of the user u c are assigned c key values as shown. In addition, the present invention may use a method of dividing the entire user into one or more small subsets, and transmitting a session key to each of the divided subsets using one message.

도 8은 본 발명의 실시예에 따른 불법 사용자 사이 구간으로의 세션키 전달 절차를 나타낸 흐름도이다. 도 8을 참조하면, 먼저, 두명의 제외된 사용자(revoked user)들 사이에 위치한 정당한 사용자들의 연속된 배열을 구간으로 정의하고, 세션키 전달을 위하여 제외된 사용자들 사이에서의 구간을 설정(S801)한다. 그런 다음, 상기 설정된 각 구간을 부분 집합으로 하여 세션키를 전달(S802)하게 된다.8 is a flowchart illustrating a session key transfer procedure to an interval between illegal users according to an embodiment of the present invention. Referring to FIG. 8, first, a continuous array of legitimate users located between two revoked users is defined as a section, and a section between the excluded users for session key delivery is set (S801). )do. Thereafter, the set session is transmitted as a subset and the session key is transmitted (S802).

이때, 제외된 사용자가 연속적으로 위치하는 경우를 제외하고는 2명의 제외된 사용자 사이에 하나의 구간이 만들어진다. 따라서, 최대 r+1개의 구간을 이용하여 세션키를 전달할 수가 있게 된다. 그러나, 본 발명의 실시예에 따라 하나의 구간의 최대 길이를 c로 제한할 경우, 구간의 길이가 c보다 큰 구간에 대해서는 보다 많은 전송량이 요구된다.At this time, one section is created between two excluded users except when the excluded users are continuously located. Therefore, the session key can be delivered using a maximum of r + 1 intervals. However, when the maximum length of one section is limited to c according to an embodiment of the present invention, a larger amount of transmission is required for a section whose length is greater than c.

도 9는 본 발명의 실시예에 따른 선형 구조에서의 구간의 정의를 나타낸 도면이다. 도 9를 참조하면, 두 명의 제외된 사용자(revoked user)들(901, 903)의 사 이에 위치하는 연속된 인가된 사용자(privileged user)들의 모임을 구간(interval)(902)이라 정의한다.9 is a view showing the definition of the interval in the linear structure according to an embodiment of the present invention. Referring to FIG. 9, a collection of consecutive authorized users located between two revoked users 901 and 903 is defined as an interval 902.

한편, 상기와 같이 구간을 설정한 후, Ui에 해당하는 노드키 Ki에서 시작하는 일방향 키 체인을 확인(S803)하고, h(s)(Ki)의 값을 키로 이용하여 세션키(SK)를 암호화하여 송신(S804)한다. 결국, 상기 암호화된 메시지가 전송(S805)되게 된다.On the other hand, after setting the section as described above, check the one-way key chain starting from the node key K i corresponding to U i (S803), using the value of h (s) (K i ) as a key session key ( SK) is encrypted and transmitted (S804). As a result, the encrypted message is transmitted (S805).

보다 구체적으로 설명하면 다음과 같다. 구간 {ui, ui+1, ui+2, ..., ui+s}에 대해서(단, s는 c보다 작은 값일 경우) 세션키(session key, SK)를 전달하기 위해서, 센터(center)는 ui에 해당하는 노드키 Ki에서 시작하는 일방향 키 체인을 이용하게 된다. 상기 일방향 키 체인의 값 중에서 ui+s에 대응하는 키 값인 h(s)(Ki)의 값을 키로 이용하여 상기 세션키를 암호화하여 송신한다. 즉, E(K, M)이 K를 키로 하는 비밀키 암호 알고리즘일 때, E(h(s)(Ki), SK)의 메시지를 모든 사용자에게 전송하게 된다.More specifically described as follows. For the interval {u i , u i + 1 , u i + 2 , ..., u i + s } (where s is a value less than c), to pass the session key (SK), The center uses a one-way key chain starting from the node key K i corresponding to u i . The session key is encrypted by using a value of h (s) (K i ), which is a key value corresponding to u i + s , as a key among the values of the one-way key chain. That is, when E (K, M) is a secret key cryptographic algorithm whose key is K, the message of E (h (s) (K i ), SK) is transmitted to all users.

한편, 상술한 바에 따라 기부여된 키값들에 의해 상기 전송된 메시지를 복호화할 수 있는 사용자는 키 h(s)(Ki)를 구할 수 있는 사용자뿐이다. 따라서, 오직 구간 {ui, ui+1, ui+2, ..., ui+s}에 포함된 사용자만이 해당 키 값을 구할 수가 있게 된다.Meanwhile, as described above, the only user who can decrypt the transmitted message by the donated key values is the user who can obtain a key h (s) (K i ). Therefore, only the users included in the intervals {u i , u i + 1 , u i + 2 , ..., u i + s } can obtain the corresponding key values.

즉, 상기 구간에 포함된 사용자는 Ki로부터 시작하는 일방향 키 체인 중 한 개의 값을 알고 있으며, 상기 값이 h(s)(Ki)보다 왼쪽에 위치하기 때문에 일방향 함수 h를 자신의 값에 적용하여 h(s)(Ki)를 구할 수가 있게 된다. That is, the user included in the interval knows the value of one of the one-way keychains starting from K i , and since the value is located to the left of h (s) (K i ), the one-way function h is assigned to its value. By applying h (s) (K i ) can be obtained.

반면, 상기 구간에 포함되지 않은 사용자들 중에서 구간보다 왼쪽에 위치하는 사용자들은 Ki에 관련된 값을 전혀 구할 수 없으므로, h(s)(Ki)를 구할 수가 없게 된다. 또한, 구간의 오른쪽에 위치하는 사용자는 비록, 일방향 키 체인의 일부 값을 구할 수는 있을 지 모르지만, 일방향 함수의 일방향성 때문에 일방향 키 체인의 왼쪽 값을 구할 수는 없게 된다. On the other hand, among users who are not included in the section, users located to the left of the section cannot obtain a value related to K i , and thus cannot obtain h (s) (K i ). In addition, a user located on the right side of the interval may not be able to obtain the value of the left side of the one-way key chain because of the one-way function's one-way function, although it may be able to obtain some value of the one-way key chain.

따라서, 상기 해당 구간에 포함되지 않는 어떠한 사용자들이 공모를 한다 하더라도 h(s)(Ki)를 구하는 것은 불가능하게 되며, 이에 따라 세션키 또한 복구해 낼 수가 없게 된다.Therefore, even if any of the users not included in the corresponding section collude, it is impossible to obtain h (s) (K i ), and thus, the session key cannot be recovered.

도 10은 본 발명의 실시예에 따른 선형 구조의 구간으로 세션키를 전달하는 방법을 나타낸 도면이다. 도 10을 참조하면, 상술한 바와 같이 본 발명의 실시예에 따라 하나의 구간(interval)에 포함된 사용자들에게 세션키(SK)를 동시에 전달할 수가 있게 된다. 10 is a diagram illustrating a method of transmitting a session key in a section of a linear structure according to an embodiment of the present invention. Referring to FIG. 10, as described above, the session key SK may be simultaneously delivered to users included in one interval according to an embodiment of the present invention.

즉, 제외된 사용자가 제i 노드(1001)와 제i+t+i 노드(1005)에 위치하고, 상기 두 제외된 사용자 사이에 t+1명의 인가된 사용자(1002, 1003, 1004)가 있다고 가정할 경우, 상기 인가된 사용자만을 위하여 하나의 비밀키를 전송할 수 있다. 즉, E(K, m)이 K를 키로 하는 비밀키 암호방식이라 할 때, 상기 사용자 ui, ..., ui+t를 위한 세션키의 헤더(header)는 하기 수학식 2와 같이 나타낼 수 있다.That is, it is assumed that an excluded user is located at the i th node 1001 and an i + t + i node 1005, and there are t + 1 authorized users 1002, 1003, 1004 between the two excluded users. In this case, one private key may be transmitted only for the authorized user. That is, when E (K, m) is a secret key encryption method using K as a key, the header of the session key for the users u i , ..., u i + t is expressed by Equation 2 below. Can be represented.

Figure 112005060592933-PAT00002
Figure 112005060592933-PAT00002

도 11은 본 발명의 실시예에 따른 각 노드의 사용자가 수신된 세션키에 의해 데이터를 복호화하는 절차를 나타낸 흐름도이다. 도 11을 참조하면, 상술한 방법에 의해 전송된 키값에 의해 인가된 사용자들만이 수신 데이터를 복호할 수가 있게 된다. 즉, 암호화된 상기 헤더를 포함한 메시지를 수신(S1101)한 각 사용자들은 해당 구간 내의 사용자일 경우(S1102) 자신이 가지고 있는 키 값으로 상기 h(s)(Ki)를 연산하여 복호화(S1103)하게 되며, 반면 해당 구간 내의 사용자가 아닐 경우, 상기 h(s)(Ki)를 연산할 수가 없으므로 수신 데이터를 복호화하지 못하게 된다(S1104).11 is a flowchart illustrating a procedure of decrypting data by a session key received by a user of each node according to an embodiment of the present invention. Referring to Fig. 11, only users authorized by the key value transmitted by the above method can decode the received data. That is, each user who receives the message including the encrypted header (S1101) is a user within a corresponding interval (S1102) and decrypts by calculating the h (s) (K i ) with the key value of the user (S1103). On the other hand, if the user is not in the corresponding section, the operation h (s) (K i ) can not be calculated, so it is impossible to decode the received data (S1104).

보다 구체적으로 설명하면, 제i 노드 이전의 사용자(1002)들은 Ki의 값을 알 수 없으므로 키 값을 구할 수가 없으며, 제i+t 이후의 사용자들은 비록 Ki의 일방향 키 체인의 뒷부분을 알 수는 있지만 일방향 해쉬함수의 일방향 성질 때문에 h(s)(Ki)를 구할 수는 없게 된다. More specifically, the user 1002 before the i-th node cannot know the value of K i , and thus cannot obtain the key value, and the users after i + t know the latter part of the one-way key chain of K i . It is possible to calculate h (s) (K i ) because of the unidirectional nature of the hash function.

반면에 상기 구간에 포함된 모든 정당한 사용자들은 자신이 가지고 있는 키값들 중에서 Ki로부터 만들어진 값에 h를 반복적으로 적용하여 h(s)(Ki)값을 구할 수가 있게 된다.On the other hand, all legitimate users included in the interval can obtain the value of h (s) (K i ) by repeatedly applying h to a value generated from K i among their own key values.

한편, 상술한 본 발명의 실시예에서 모든 N명의 사용자 중에서 r명의 제외된 사용자가 포함된 경우에 대해 전송량을 산출해보면 다음과 같다.Meanwhile, in the above-described embodiment of the present invention, the amount of transmission is calculated for the case where r excluded users are included among all N users.

우선 각 사용자가 저장해야 하는 것은 최대 c개의 키 값이 된다. 이때, 전송량은 최악의 경우(worst case) r+(N-2r)/c 개로서, 이는 모든 제외된 사용자가 직선의 한 쪽에 모여있고, 나머지 부분은 정당한 사용자만이 모여 있는 경우에 발생한다. First of all, each user should store up to c key values. At this time, the transmission amount is the worst case r + (N-2r) / c, which occurs when all excluded users are gathered on one side of the straight line and the remaining parts are gathered by legitimate users.

또한, 제외된 사용자가 둘 이상 연속적으로 나타나는 경우에는 전송량이 줄어들기 때문에, 제외된 사용자와 정당한 사용자가 번갈아 가면서 위치하는 경우를 생각한다. 이때, N/c가 추가로 필요한 이유는 한 번의 전송으로 키를 전달할 수 있는 구간의 최대 길이를 c로 설정하였기 때문이다.In addition, when two or more excluded users appear consecutively, the amount of transmission is reduced. Therefore, a case in which the excluded users and legitimate users are alternately positioned is considered. In this case, the reason why N / c is additionally necessary is because the maximum length of a section that can transmit a key in one transmission is set to c.

또한, 사용자의 계산량은 최대 c번의 일방향 함수 계산과 비밀키 암호 알고리즘 한번으로 생각할 수 있으며, 이것을 N=1,000,000이고 r=50,000인 상황에서 산출해보면 하기 <표 1>과 같은 결과값을 얻을 수가 있게 된다.In addition, the user's computation amount can be thought of as one c-way function calculation and a secret key cryptographic algorithm at maximum c times. .

c(저장량)c (storage) 전송량(worst case)Worst case RatioRatio 5050 50,000+18,00050,000 + 18,000 1.36r1.36r 100100 50,000+9,00050,000 + 9,000 1.18r1.18r 200(약 3K)200 (about 3K) 50,000+4,50050,000 + 4,500 1.09r1.09r

이하, 상술한 본 발명의 실시예의 변형된 실시예들을 설명한다. 먼저, 변형된 제1 실시예는 상술한 실시예에서 구간의 길이를 c로 설정함에 따라 전송량이 r보다 커지는 것을 보완하기 위하여 긴 구간에 대해서 한 번의 전송만으로 키 값을 전송할 수 있는 방법이다. Hereinafter, modified embodiments of the above-described embodiment of the present invention will be described. First, the modified first embodiment is a method in which the key value can be transmitted by only one transmission over a long section in order to compensate for the transmission amount being larger than r by setting the length of the section to c in the above-described embodiment.

또한, 변형된 제2 실시예는 전송량을 r보다 줄이기 위하여 제외된 사용자의 위치부터 새로운 일방향 함수를 적용하는 방법이다. 아울러, 변형된 제3 실시예는 상기 변형된 제1 실시예 및 변형된 제2 실시예를 조합한 방법이다.In addition, the modified second embodiment is a method of applying a new one-way function from the position of the excluded user in order to reduce the transmission amount than r. In addition, the modified third embodiment is a method combining the modified first embodiment and the modified second embodiment.

<변형된 제1 실시예>Modified First Embodiment

상술한 실시예에서 전송량이 r보다 커지는 이유는 구간의 길이를 c로 한정하였기 때문이다. 따라서, 전송량을 좀 더 r에 가깝게 만들기 위해서는 상기와 같은 구간 한정에 따라 요구되는 전송량을 줄일 필요가 있다. 따라서, 상술한 기본 개념의 확장으로 이러한 긴 구간에 대해서 한 번의 전송으로 키를 전송할 수 있는 확장된 실시예를 제안한다.The reason why the transmission amount becomes larger than r in the above-described embodiment is that the length of the interval is limited to c. Therefore, in order to make the transmission amount closer to r, it is necessary to reduce the required transmission amount according to the above section limitation. Therefore, we propose an extended embodiment in which the key can be transmitted in one transmission for such a long period by extension of the above-described basic concept.

본 발명의 변형된 제1 실시예는 직선 상의 노드들 중에서 일정 간격(예를 들어, 매 c번째 노드)에 따라 특별노드(Special Node)를 설정한다. The modified first embodiment of the present invention sets a special node according to a predetermined interval (for example, every c-th node) among nodes on a straight line.

그런다음, 상기 특별노드마다 기존의 씨드 키와는 독립적인 특별 씨드 키(Special Seed Value Key)를 다시 랜덤하게 선택하여 대응시키고, 상기 특별 노드키에서부터 시작하는 특별 노드 체인을 생성하게 된다.Then, for each special node, a special seed key (Special Seed Value Key) independent of the existing seed key is randomly selected and corresponded again, and a special node chain starting from the special node key is generated.

도 12는 본 발명의 변형된 제1 실시예에 따른 선형 구조에서의 특별 노드의 정의를 나타낸 도면이다. 도 12를 참조하면, 매 c 번째 노드마다(1204, 1205) 특별 노드(1201, 1202, 1203)를 설정하게 된다. 상기 설정된 매 c 번째 노드마다 설정된 특별 노드(1201, 1202, 1203)에 각각 특별 씨드 키 부여하고, 상기 키로부터 길이가 c×c2인 일방향 키 체인을 구성하게 된다.12 is a diagram showing the definition of a special node in the linear structure according to the modified first embodiment of the present invention. Referring to FIG. 12, special nodes 1201, 1202, and 1203 are set for every c th node (1204, 1205). A special seed key is assigned to the special nodes 1201, 1202, and 1203, which are set at every c-th node, and a one-way key chain having a length of c × c 2 is formed from the key.

보다 구체적으로 설명하면, 상기 각 특별 노드(1201, 1202, 1203)마다 기존의 씨드 키와는 독립적인 특별 씨드 키를 다시 랜덤하게 선택하여 대응시키고, 새로운 일방향 해쉬함수를 이용하여, 각 특별 씨드 키별로, 상기 특별 씨드 키에서부터 시작하는 특별 노드 체인을 형성하게 된다. More specifically, for each of the special nodes 1201, 1202, and 1203, the special seed keys independent of the existing seed keys are randomly selected and corresponded again, and each special seed key is made using a new one-way hash function. Stars form a special node chain starting from the special seed key.

이때, c2가 새로운 상수라고 할 때, 상기 특별 노드 체인은 상술한 바와 같이 c×c2의 길이를 갖게 된다. 이하 도 13을 참조하여 특별 노드에 특별 노드 체인을 대응시키는 방법을 설명한다.In this case, when c 2 is a new constant, the special node chain has a length of c × c 2 , as described above. Hereinafter, a method of associating a special node chain with a special node will be described with reference to FIG. 13.

도 13은 본 발명의 변형된 제1 실시예에 따른 선형 구조에서의 각 노드에 키 값을 대응시키는 방법을 나타낸 도면이다. 변형된 제1 실시예에서 체인을 형성하는 방법은 기본적으로 상술한 기본 실시예에서와 동일한 방법을 사용하게 된다. 그러나, 다음 구간 {ui, ui+1, ui+2, ..., ui+s}이 특별 노드에서 시작하는 길이가 c를 넘어서는 구간이라고 할 때, 상기 구간에 대한 키 전송은 ui에서 시작하는 특별 노드 체인에 의해서 이루어진다. 이때, SK를 암호화하는 방식은 상술한 기본 실시예에서와 같다. 즉, ui에서 시작한 체인의 ui+s에 대응되는 값을 이용하여 SK를 암호화하여 전송하게 된다.FIG. 13 is a diagram showing a method of mapping a key value to each node in a linear structure according to the first modified embodiment of the present invention. The method of forming the chain in the first modified embodiment basically uses the same method as in the basic embodiment described above. However, when the next section {u i , u i + 1 , u i + 2 , ..., u i + s } is a section whose length starting at the special node exceeds c, the key transmission for the section is This is done by a special chain of nodes starting at u i . At this time, the method of encrypting SK is the same as in the above-described basic embodiment. That is, by using a value corresponding to the chain of u i + u i s started from and transmits to encrypt SK.

도 13을 참조하면, 제c 노드인 제1 특별 노드(1301)에 K라는 특별 노드키가 할당되었다면, 길이 c가 넘어선 제2c 노드인 제2 특별 노드(1302)에는 상기 K를 새로운 일방향 함수 h2(1304)로 일방향 함수 연산한 h2(K)의 특별 노드키(1305)가 할당된다. 마찬가지로 제3c 노드인 제3 특별 노드(1303)에는 상기 K를 새로운 일방향 함수 h2(1304)로 두번 일방향 함수 연산(즉, h2 (2)(1306))한 h2 (2)(K)가 부여된다.Referring to FIG. 13, if a special node key of K is assigned to a first special node 1301, which is a c node, the second special node 1302, which is a second c node having a length c and above, is given with a new one-way function h. The special node key 1305 of h 2 (K), which is a one-way function operation, is assigned to 2 (1304). Similarly Claim 3c node of the third special node 1303 is the one-way function computed twice the K to a new one-way function h 2 (1304) (i.e., h 2 (2) (1306 )) by h 2 (2) (K) Is given.

따라서, 제c+1 노드에는 제c 노드의 특별 씨드키 K를 h에 의해 일방향 함수 연산한 h(K)가 부여되고, 제c+2 노드에는 제c 노드의 특별 씨드키 K를 h에 의해 두번 일방향 함수 연산한 h(2)(K)가 부여된다. 마찬가지로, 제2c+1 노드에는 제2c 노드에 부여된 h2(K)를 h에 의해 일방향 함수 연산한 h(h2(K))가 부여되며, 제3c+1 노드에는 제3c 노드에 부여된 h2 (2)(K)를 h에 의해 일방향 함수 연산한 h(h2 (2)(K))가 부여된다.Therefore, h (K), which is a one-way function calculation of the special seed key K of node c, is given to node c + 1, and the special seed key K of node c is given to node c + 2, by h. The two-way function operation h (2) (K) is given. Similarly, the second c + 1 node is given h (h 2 (K)) of one-way function calculation of h 2 (K) given to the second c node, and the third c + 1 node is given to the third c node. a h 2 (2) (K) h (h 2 (2) (K)) calculated by the one-way function h to a is given.

이때, 1≤t<c 에 대해 c+t 번째 사용자는 자신의 씨드 키와 h2(K)를 함께 저장하게 된다. 따라서, 각 노드마다 총 c2개의 키를 추가로 저장하게 된다.At this time, for 1≤t <c, the c + t-th user stores his seed key and h 2 (K) together. Therefore, a total of c 2 keys are additionally stored for each node.

상술한 바와 같이 상기 본 발명의 변형된 제1 실시예에서는 각 노드마다 저장되는 키 값의 수가 증가하게 되지만, 전송하여야 하는 세션키의 크기는 줄어들게 된다.As described above, in the modified first embodiment of the present invention, the number of key values stored for each node is increased, but the size of the session key to be transmitted is reduced.

도 14는 본 발명의 변형된 제1 실시예에 따른 세션키 전송을 위해 구간을 나누는 방법을 나타낸 도면이다. 도 14를 참조하면, 도시된 바와 같이 많은 인가된 사용자(privileged user)들이 모여 있는 경우 단 두개의 구간(1401, 1402)으로 나누어 세션키를 전송할 수가 있게 된다.14 is a diagram illustrating a method of dividing a section for transmitting a session key according to a first modified embodiment of the present invention. Referring to FIG. 14, when many authorized users are gathered as shown in FIG. 14, the session key may be transmitted by dividing into only two intervals 1401 and 1402.

도 15는 본 발명의 변형된 제1 실시예에 따른 다수의 구간으로 나누어진 경우 세션키를 전송하는 방법을 나타낸 도면이다. 도 15를 참조하면, 도시된 바와 같이 4개의 구간(1501, 1502, 1503, 1504)으로 나누어져 있을 경우, E(h(2)h2 (2)(K), SK)와 같이 세션키를 구성하여 전송함으로써 인가된 사용자들만이 복호화할 수 있도록 구현하게 된다.FIG. 15 is a diagram illustrating a method for transmitting a session key when divided into a plurality of sections according to a first modified embodiment of the present invention. Referring to FIG. 15, when divided into four sections 1501, 1502, 1503, and 1504, a session key is assigned as E (h (2) h 2 (2) (K), SK). By constructing and transmitting, only authorized users can implement decryption.

따라서, 본 발명의 변형된 제1 실시예에 따라 h2 함수를 이용함으로써, 계산량을 줄이게 된다. 즉, 이때에는 최대 c+c2번의 일방향 함수 연산의 계산이 필요하게 된다.Thus, by using the h 2 function according to the first modified embodiment of the present invention, the amount of calculation is reduced. That is, at this time, calculation of a maximum of c + c two one-way function operations is required.

상술한 변형된 제1 실시예에 따르면, 사용자의 저장량은 기본 실시예에 비해 다소 증가하게 되나, 제외된 사용자의 수가 적은 경우에는 전송량을 크게 줄일 수가 있게 된다.According to the modified first embodiment described above, the storage amount of the user is slightly increased compared to the basic embodiment, but when the number of excluded users is small, the transmission amount can be greatly reduced.

<변형된 제2 실시예>Second Modified Embodiment

상술한 변형된 제1 실시예에서의 결과로 전송량을 r에 근사시킨 결과를 얻을 수가 있었다. 이는 현재까지 알려진 방법들 중에서 SD의 경우 전송량이 2r-1인 것과 비교할 때, 상당히 개선된 결과를 보여준다. 후술하는 변형된 제2 실시예에서는 상기 전송량을 r보다 줄일 수 있는 방법을 제안한다.As a result of the modified first embodiment described above, a result of approximating the transmission amount to r can be obtained. This shows a considerably improved result compared to 2r-1 in case of SD among the known methods. In the second modified embodiment described below, a method of reducing the transmission amount than r is proposed.

상기 변형된 제2 실시예의 기본 개념은 다음과 같다. 제외된 사용자(revoked user) 두 명 사이에 위치하는 사용자들의 집합을 구간으로 할 경우, 최악의 경우(worst case)를 생각할 때 구간의 전체 수는 절대 r보다 적어질 수 없게 된다. 이때, 각 구간에 대해서 각 한번씩의 전송이 필요하므로, 이러한 구간만을 생각할 경우에는 전송량이 r보다 작아지는 것은 불가능하게 된다. 따라서, 기본적인 구간에 다양한 모양의 구간을 추가할 필요가 발생한다.The basic concept of the modified second embodiment is as follows. If the interval is a set of users located between two revoked users, the total number of intervals can never be less than r when considering the worst case. At this time, since one transmission is required for each section, when only such a section is considered, the transmission amount cannot be smaller than r. Therefore, it is necessary to add various shapes of sections to the basic sections.

따라서, 본 발명의 변형된 제2 실시예에서는 하나 이상의 제외된 사용자를 포함하는 구간을 추가하여 전송 구간을 설정하게 된다. 이하 설명에서는 한 명의 제외된 사용자를 포함하는 구간이 추가되는 예로서 설명하며, 동일한 방법에 의해 둘 이상의 제외된 사용자를 포함하는 구간이 추가되는 경우로 확장하여 적용할 수있을 것이다. 예컨대, 총 3명의 제외된 사용자에 의해서 하나의 구간이 만들어지므로, 이상적인 경우에 있어서 r/2까지 전송량을 줄일 수가 있게 된다.Therefore, in the second modified embodiment of the present invention, a transmission section is set by adding a section including one or more excluded users. In the following description, a section including one excluded user is added as an example, and may be extended to a case in which a section including two or more excluded users is added by the same method. For example, since one section is made by a total of three excluded users, the transmission amount can be reduced to r / 2 in an ideal case.

도 16은 본 발명의 변형된 제2 실시예에 따른 구간 설정 방법을 나타낸 도면이다. 본 발명의 변형된 제2 실시예에서는 구간 내에 제외된 사용자를 포함하도록 하여 구간을 설정함으로써 전송량을 줄이고 저장량을 늘이게 된다. 즉, 두명의 제외된 사용자(revoked user)에 대해서 한 번에 키를 전송할 수가 있게 된다.16 is a diagram illustrating a section setting method according to a second modified embodiment of the present invention. In the second modified embodiment of the present invention, by setting the section to include the excluded users in the section, the amount of transmission is reduced and the amount of storage is increased. In other words, two revoked users can be sent at once.

이때, 한 명의 제외된 사용자가 추가되는 형태는 상기 도 16에 도시된 바와 같이 두 가지 경우만이 발생할 수 있다. 상기 두 가지 경우 중에서 (1)번의 경우에는 상술한 기본 실시예로서 해결이 가능하게 되며, (2)번의 경우에는 후술하는 변형된 제2 실시예에 따라 보다 효과적인 해결이 가능하게 된다.At this time, the form in which one excluded user is added may occur only in two cases as shown in FIG. 16. In case of (1), the solution can be solved as the above-described basic embodiment, and in case of (2), more effective solution is possible according to the modified second embodiment which will be described later.

상기 (2)번과 같은 구간에 대한 세션키의 전송은 다음과 같이 이루어지게 된다. 이때, 본 발명의 변형된 제2 실시예에 따라 새로운 일방향 해쉬함수인 g 함수가 필요하게 된다. 즉, 구간 {ui, ui+1, ui+2, ..., ui+s}가 제외된 사용자 ui+j를 포함한 구간이라고 할 때(이때, 전체 구간의 길이가 c를 넘지 않는 다고 가정한다), 센터(center)에서는 h(s-j)gh(j-2)(Ki)를 이용하여 SK를 암호화하게 된다.The transmission of the session key for the section as (2) is performed as follows. At this time, according to the second modified embodiment of the present invention, a new one-way hash function g function is required. That is, when the interval including the user u i + j excluding the interval {u i , u i + 1 , u i + 2 , ..., u i + s } (where the length of the entire interval is c In the center, we encrypt SK using h (sj) gh (j-2) (K i ).

상기 도 16에서는 한 명의 제외된 사용자가 추가되는 형태에 대해 설명하였으나, 상술한 바와 같이 복수의 제외된 사용자가 추가될 경우에도 본 발명이 동일하게 적용 가능할 것이다.In FIG. 16, a form in which one excluded user is added has been described, but the present invention may be equally applicable to the case where a plurality of excluded users are added as described above.

도 17은 본 발명의 변형된 제2 실시예에 따른 선형 구조에서의 각 노드에 키 값을 대응시키는 방법을 나타낸 도면이다. 도 17을 참조하면, 제외된 사용자(revoked user)가 나오기 전까지(1701, 1702, 1703, 1704)는 기본 실시예에서와 같은 일방향 키 체인을 따라서 오른쪽방향으로 해쉬함수'h'를 적용하다가, 제외된 사용자 ui+j의 위치(1705)에서는 일방향 해쉬함수'h' 대신 또다른 일방향 해쉬함수인 'g'를 사용하여 일방향 키 체인을 변형시킨다.FIG. 17 is a diagram illustrating a method of mapping a key value to each node in a linear structure according to a second modified embodiment of the present invention. Referring to FIG. 17, until a revoked user comes out (1701, 1702, 1703, 1704), the hash function 'h' is applied to the right direction along the one-way key chain as in the basic embodiment, and then excluded. In the position 1705 of the user u i + j , the one-way key chain is transformed by using another one-way hash function 'g' instead of the one-way hash function 'h'.

그런 다음, 제외된 사용자를 지난 후(1706, 1707)에는 다시 일방향 해쉬함수'h'를 사용하여 키값들을 생성하며 일방향 키 체인을 만들어 간다. 그리고, 세션키를 전송할 때에는 마지막 사용자의 위치에 해당하는 값으로 SK를 암호화하여 전송하게 된다.Then, after passing the excluded user (1706, 1707), the one-way hash function 'h' is used again to generate key values and to create a one-way key chain. When the session key is transmitted, SK is encrypted with a value corresponding to the location of the last user.

이때, 상기 두 일방향 함수 h와 g는 모두 공개된 함수이기 때문에 제외된 사용자의 왼쪽에 위치하는 사용자들은 쉽게 암호화에 사용된 키를 계산할 수가 있게 된다. 그러나, 제외된 사용자 ui+j의 경우는 gh(j-1)(Ki)의 값을 알아야만 그 뒤의 값을 계산할 수 있으므로, 센터에서는 hg(j-1)(Ki)의 값을 비밀로 하게 된다.In this case, since the two-way functions h and g are public functions, the users located to the left of the excluded user can easily calculate the key used for encryption. However, for the excluded user u i + j, the value of gh (j-1) (K i ) must be known before the value can be calculated, so the center can determine the value of hg (j-1) (K i ). It is kept secret.

한편, 제외된 사용자의 오른쪽에 위치하는 사용자들의 경우에는 각자 상기 체인 중에서 자신의 위치에 해당하는 값을 추가로 저장하고 있어야 한다. 이때, 구간의 길이를 c로 설정할 경우, 그 수를 계산해 보면 1+2+3+...+(c-2)가 된다. 즉, 각 사용자는 (c-1)(c-2)/2의 키를 추가로 저장하여야 한다.On the other hand, in the case of users located on the right side of the excluded user, each of the chains must additionally store a value corresponding to their position. At this time, if the length of the interval is set to c, the number is 1 + 2 + 3 + ... + (c-2). That is, each user must additionally store the key of (c-1) (c-2) / 2.

상술한 본 발명의 변형된 제2 실시예를 살펴보면, 총 저장량은 c+(c-1)(c-2)/2, 즉 O(c2)이지만, 전송량은 r/2 +(N-2r)/c로 앞의 r 부분이 r/2로 줄어든 것을 알 수 있다. 또한, 계산량은 기본 실시예에서와 같이 최대 c번의 일방향 함수 연산의 계산이 된다.Looking at the second modified embodiment of the present invention described above, the total storage amount is c + (c-1) (c-2) / 2, that is, O (c 2 ), but the transmission amount is r / 2 + (N-2r) You can see that / r is reduced to r / 2 with / c. Also, the amount of calculation is a calculation of up to c one-way function operations as in the basic embodiment.

상술한 N=1,000,000 및 r=50,000인 경우에 대해서 계산해보면, 하기 <표 2>와 같은 결과를 얻을 수 있게 된다.If the above calculation is made for the case of N = 1,000,000 and r = 50,000, the result as shown in Table 2 can be obtained.

cc 저장량Storage 전송량(worst case)Worst case RatioRatio 6464 1,9551,955 25,000+14,00025,000 + 14,000 0.78r0.78r 100100 4,9514,951 25,000+9,00025,000 + 9,000 0.68r0.68r

상기 <표 2>를 참조하면, 전송량에 있어서 앞의 r부분은 r/2로 크게 줄었으나, 뒤에 더해지는 (N-2r)/c가 커졌음을 알 수 있다.Referring to <Table 2>, it can be seen that the former portion of r has been greatly reduced to r / 2, but the (N-2r) / c added later is larger.

한편, 상술한 변형된 제2 실시예의 방법은 일반적인 경우로 확장할 수가 있게 된다. 즉, 저장량이 O(c3)으로 증가하면서, 세 명의 제외된 사용자를 포함한 구간에 한 번의 전송으로 키를 전송하도록 구현할 수가 있게 된다. 따라서, 상술한 바와 같이 하나 뿐만아니라 복수의 제외된 사용자를 포함하는 구간에 대해서도 적용이 가능하게 된다.On the other hand, the above-described modified second embodiment can be extended to the general case. That is, as the storage amount increases to O (c 3 ), it is possible to implement to transmit a key in one transmission in a section including three excluded users. Therefore, as described above, it is possible to apply not only to one but also to a section including a plurality of excluded users.

<변형된 제3 실시예>Modified Third Embodiment

마지막 실시예로서 본 발명의 변형된 제3 실시예는 상술한 변형된 제1 실시예 및 제2 실시예를 동시에 적용한 실시예이다. 이러한 경우 최악의 경우가 길이 c인 구간에 제외된 사용자가 한 명씩 포함되어 있는 경우에 발생한다. 그 이유는 길이가 c보다 작은 구간에 두 명 이상의 제외된 사용자가 포함되어 있는 경우에는 상술한 변형된 제2 실시예를 이용하여 제외된 사용자 두 명을 한번의 전송으로 해결할 수가 있기 때문이다. 이러한 최악의 경우에서의 전송량을 계산해 보면, r/2+(N-2r)/2(c-2)이고, 저장량은 c+c2+(c-1)(c-2)/2이다.As a final embodiment, the modified third embodiment of the present invention is an embodiment in which the modified first and second embodiments described above are applied simultaneously. In this case, the worst case occurs when one user is excluded from a section of length c. This is because when two or more excluded users are included in the section whose length is smaller than c, the two excluded users can be solved by one transmission using the modified second embodiment. The worst case transmission amount is r / 2 + (N-2r) / 2 (c-2) and the storage amount is c + c 2 + (c-1) (c-2) / 2.

상기 전송량에 대한 식은 r이 N/c보다 큰 경우에 적용할 수 있다. 만약, r이 N/c보다 작은 경우에는 다른 결과를 얻게 된다. 예컨대, r=0인 경우를 가정해 보면, 필요한 전송량은 N/(c×c2)가 된다. 이때, r이 점차로 늘어나면서 제외된 사용자가 포함된 길이 c인 구간에 대해서 한 번의 전송이 필요하고 남은 부부에서는 변형된 제1 실시예에서의 방법이 적용되므로 대략 r+(N-cr)/(c×c2)의 전송량이 필요하게 됨을 알 수 있다. The formula for the transmission amount can be applied when r is greater than N / c. If r is less than N / c, you get a different result. For example, assuming that r = 0, the required transmission amount is N / (c × c 2 ). At this time, as r gradually increases, one transmission is required for a section of length c including an excluded user, and in the remaining couple, the method of the modified first embodiment is applied, so that r + (N-cr) / (c It can be seen that a transmission amount of × c 2 ) is required.

즉, N/(c×c2)를 초기값으로 하여 기울기가 2인 직선을 이루게 된다. 동일한 방법으로 증가하던 전송량은 r이 N/c 인 시점을 전환점으로 하여 r/2+(N-2r)/2(c-2)로 바뀌게 된다.That is, a straight line having a slope of 2 is formed by setting N / (c × c 2 ) as an initial value. In the same way, the increased transmission amount is changed to r / 2 + (N-2r) / 2 (c-2) using the point of time when r is N / c.

상술한 변형된 제3 실시예에 따르면, 사용자의 저장량은 기본 실시예에 비해 다소 증가하게 되나, 제외된 사용자의 수가 적은 경우에는 전송량을 크게 줄일 수가 있게 된다.According to the third modified embodiment described above, the storage amount of the user is slightly increased compared to the basic embodiment, but when the number of excluded users is small, the transmission amount can be greatly reduced.

<변형된 제4 실시예>Modified Embodiment 4

본 발명의 변형된 제4 실시예는 전술한 선형구조에서의 기본 실시예 및 변형된 제1 실시예 내지 변형된 제3 실시예를 환형구조에서 적용하는 방법을 제안한다.The modified fourth embodiment of the present invention proposes a method of applying the basic embodiment in the above-described linear structure and the modified first to modified third embodiments in the annular structure.

먼저, 상술한 실시예들에서의 선형 구조(straight line structure)를 환형 구조(circular structure)로 용이하게 재구성할 수 있다. 즉, u1에서 uN까지의 N 명의 사용자들을 가지는 직선 L을 고려할 때, 상기 L의 두 끝점을 연결시키게 되면, 상기 직선은 환형 구조가 된다.First, the straight line structure in the above-described embodiments can be easily reconfigured into a circular structure. That is, considering a straight line L having N users from u 1 to u N , when the two end points of the L are connected, the straight line has an annular structure.

상기 환형 구조에서 기설정된 구간에 대해 상술한 기본 실시예에서와 같은 모든 일방향 키 체인 방법이 적용될 수 있다. 예컨대, 사용자 uN 노드에서 시작되는 일방향 키 체인을 구성할 수 있다.In the annular structure, all one-way keychain methods as in the above-described basic embodiment can be applied to the predetermined section. For example, one-way key chain can be constructed starting from user u N node.

상술한 선형 구조를 가지는 기본 실시예에서는, 상기 사용자 uN 노드에서 시작되는 일방향 키 체인은 KN,N의 하나의 키를 가지게 된다. 한편, 본 발명의 변형된 제4 실시예에 따른 환형 구조에서는 상기 uN과 u1을 연결하여 계속 일방향 키 체인을 형성하게 되므로, 상기 사용자 uN 노드에서 시작되는 일방향 키 체인은 하기 <수학식 3>과 같은 c개의 키 값을 가지게 된다.In the basic embodiment having the above-described linear structure, the one-way key chain starting at the user u N node has one key of K N, N. Meanwhile, in the annular structure according to the fourth modified embodiment of the present invention, since the u N and u 1 are continuously connected to form a one-way key chain, the one-way key chain starting from the user u N node is represented by the following equation. It will have c key values like 3>.

Figure 112005060592933-PAT00003
Figure 112005060592933-PAT00003

이를 일반화하여 ui 노드에서 시작되는 일방향 키 체인은 하기 <수학식 4>와 같이 나타낼 수 있다.Generalizing this, the one-way key chain starting from the node u i can be expressed as Equation 4 below.

Figure 112005060592933-PAT00004
Figure 112005060592933-PAT00004

이에 따라, 환형구조에서도 전술한 변형된 제1 실시예에서의 구간의 길이를 c로 설정함에 따라 전송량이 r보다 커지는 것을 보완하기 위하여 긴 구간에 대해서 한 번의 전송만으로 키 값을 전송할 수 있는 방법이 적용가능할 것이며,Accordingly, in the annular structure, the key value can be transmitted by only one transmission over the long section to compensate for the transmission amount being larger than r by setting the length of the section in the above-described modified first embodiment to c. Will be applicable,

아울러, 환형구조에서도 전술한 변형된 제2 실시예에서의 전송량을 r보다 줄이기 위하여 제외된 사용자의 위치부터 새로운 일방향 함수를 적용하는 방법이 적용가능할 것이고, 또한 전술한 변형된 제3 실시예에서의 변형된 제1 실시예 및 변 형된 제2 실시예를 조합한 방법이 적용가능할 것이다.In addition, in the annular structure, a method of applying a new one-way function from the position of the excluded user to reduce the amount of transmission in the above-described second modified embodiment may be applicable, and also in the above-described modified third embodiment A method combining the modified first embodiment and modified second embodiment will be applicable.

<변형된 제5 실시예> Modified Fifth Embodiment

본 발명의 변형된 제5실시예는 계층 구조를 가지는 환형 구조를 제안한다. The fifth modified embodiment of the present invention proposes an annular structure having a hierarchical structure.

도 18은 본 발명의 일실시예에 따른 환형구조의 노드그룹의 계층구조를 나타내고 있다.18 shows a hierarchical structure of node groups of an annular structure according to an embodiment of the present invention.

도 18을 참조하면, 계층 구조상의 각 환형구조의 노드그룹은 c개의 노드로 구성되어 있다. 이때, 각 사용자는 상기 계층 구조의 모든 가지 노드들(즉, 환형 구조들)에서의 각 점에 대응된다. 만약, 상기 계층 구조가 루트 노드(root node)를 제외하고, 16계층으로 구성된다면, 상기 계층구조에는 c16의 사용자들을 대응할 수가 있게 된다.Referring to Fig. 18, the node group of each annular structure in the hierarchical structure is composed of c nodes. In this case, each user corresponds to each point in all branch nodes (ie, annular structures) of the hierarchy. If the hierarchical structure consists of 16 hierarchies except for a root node, the hierarchical structure can correspond to users of c 16 .

따라서, 각 계층에서의 그룹 노드별로 상술한 바와 같은 키 체인들을 가지는 환형 구조를 구성할 수 있게 되며, 이때, 상기 각 노드에 대응되는 사용자들은 자신의 부모 노드에 할당된 모든 키 값들을 가지게 된다.Accordingly, it is possible to configure an annular structure having the above-described key chains for each group node in each layer, wherein users corresponding to each node have all key values assigned to their parent nodes.

상기 구조에서 적어도 하나의 제외된 사용자를 포함하는 자식 노드를 가지는 각 노드는 제외된 노드(Revoked Node)로 간주된다. 따라서, 암호화할 때 먼저 센터에서는 상기 제외된 노드들을 표시하게 된다. 그런다음, 상기 센터에서는 상기 제외된 노드들의 부모 노드들을 계층구조를 따라서 표시해 나가게 된다.Each node having a child node that includes at least one excluded user in the structure is considered a excluded node. Therefore, when encrypting, the center first displays the excluded nodes. The center then displays the parent nodes of the excluded nodes along the hierarchy.

이러한 과정이 루트 노드까지 완료되며, 만약 적어도 하나의 제외된 노드가 있다면, 루트 노드는 제외된 노드가 될 것이다.This process is completed up to the root node, and if there is at least one excluded node, the root node will be the excluded node.

상기 제외된 노드들을 확인한 후에, 센터에서는 각 계층에서의 구간들을 설정하게 된다. 도시된 바와 같이 제0 계층의 위에서는 하나의 노드만을 포함하게 된다.After identifying the excluded nodes, the center sets sections in each layer. As shown, only one node is included above the zeroth layer.

먼저, 센터에서는 제0 계층의 환형 그룹에서 순환구간들을 설정하고, 상기 설정된 각 순환구간에 대해 구간 키로서 세션 키를 암호화하게 된다. 그런다음, 센터에서는 제1 계층에 대하여 상기 제0 계층에서의 제외된 노드들의 차일드에 해당하는 환형 그룹만을 고려하게 된다. 상기와 같은 과정을 제15 계층까지 진행된다.First, the center sets the cycle sections in the annular group of the 0th layer, and encrypts the session key as the interval key for each of the cycles. The center then considers only the annular group corresponding to the children of the excluded nodes in the 0 layer for the first layer. The above process proceeds to the fifteenth layer.

예컨대, 하나의 제외된 사용자를 가지는 경우를 고려하면, 상기 표시하는 과정에서 모든 계층에서 하나의 제외된 노드가 발생하게 된다. 또한, 암호화 단계에서는 제0 계층에서 하나의 제외된 노드가 있기 때문에 상기 센터에서는 하나의 노드를 제외한 순환구간에 대한 구간 키로서 세션 키를 암호화하게 된다. 한편, 제1 계층에 대하여 센터에서는 상기 제0 계층에서의 제외된 노드의 차일드에 해당하는 하나의 환형 그룹만을 고려하게 된다.For example, in the case of having one excluded user, one excluded node is generated in all hierarchies in the displaying process. In addition, in the encryption step, since there is one excluded node in the 0th layer, the center encrypts the session key as the interval key for the cyclic interval except for one node. On the other hand, for the first layer, the center considers only one annular group corresponding to the child of the excluded node in the 0 layer.

인증받은 노드들의 차일드에 해당하는 환형그룹을 구성하는 각 노드들은 상기 자신의 부모노드에게 부여된 세션 키를 얻을 수 있게 된다. 따라서, 결과적으로 센터에서는 16번 암호화함으로써 전체 계층 구조에 대한 암호화를 처리할 수가 있게 된다.Each node constituting the annular group corresponding to the child of the authenticated nodes can obtain the session key granted to the parent node. Therefore, as a result, the center can process encryption for the entire hierarchy by encrypting 16 times.

상술한 변형된 제4 실시예에서는 이전 실시예들보다 많은 사용자들에 대한 암호화를 처리할 수 있으며, 그 결과로서 보다 더 많은 키가 필요하게 된다. 반면, 상술한 제2 실시예에서보다 전송 오버헤드(TO)를 현저히 감소시킬 수가 있게 된다. The modified fourth embodiment described above can handle encryption for more users than the previous embodiments, and as a result, more keys are needed. On the other hand, the transmission overhead TO can be significantly reduced than in the above-described second embodiment.

즉, 변형된 제4 실시예에서의 계층을 k계층이라 하고, 각 환형 그룹에 포함된 노드의 개수를 각각 c개라고 하면, 상기 변형된 제4 실시예에서 각 사용자의 저장 오버헤드(storage overhead)는 kc+(c-1)(c-2)/2로서 (k-1)c개의 키들이 증가된다. That is, if the hierarchy in the fourth modified embodiment is called k-layer and the number of nodes included in each annular group is c, respectively, the storage overhead of each user in the modified fourth embodiment is described. ) Is kc + (c-1) (c-2) / 2, where (k-1) c keys are incremented.

반면, 전송 오버해드(transmission overhead)는 ck-1/2 < r인 경우 약 r/2+3N/4c 가 된다. 이는 r < N/6인 경우 상기 변형된 제4 실시예가 상술한 변형된 제2 실시예에서보다 적은 전송 오버헤드를 가지게 됨을 알 수 있다.On the other hand, the transmission overhead is about r / 2 + 3N / 4c when c k-1 / 2 <r. It can be seen that when r <N / 6, the modified fourth embodiment has less transmission overhead than in the modified second embodiment described above.

아울러, 상술한 설명에서는 하나의 제외된 사용자를 포함하는 구간(1-punctured)에 대해 적용하였으나 상기 변형된 제2 실시예에서 상술한 바와 같이 복수의 제외된 사용자를 포함하는 구간(p-punctured)에 대해서도 적용할 수 있음은 자명하다. 또한, 상술한 계층 구조의 보다 많은 계층들에 대해서도 상기 제외된 사용자에 대한 구간 설정 및 전송 방법들을 사용할 수가 있다.In addition, in the above description, although it is applied to a section (1-punctured) including one excluded user, the section including a plurality of excluded users as described above in the modified second embodiment (p-punctured) Applicable to also is obvious. In addition, even more hierarchies of the above-described hierarchical structure may use interval setting and transmission methods for the excluded user.

이상으로 본 발명에 따른 각 실시예들을 설명하였다. 한편, 상술한 실시예들을 브로드캐스트 암호화에 실제 적용함에 있어서 모든 사용자들이 시스템의 초기에 동시 가입하는 것을 생각하기는 힘들다. 즉, 센터는 미래에 추가될 사용자들을 위해서 미리 키를 설정해 두어야 하는데, 이러한 키는 기본적으로 제외된 상태로 유지되어야 한다. 그렇지 않다면, 새로 가입한 사용자가 과거에 전달된 메시지를 복구할 수 있게 되기 때문이다.The embodiments of the present invention have been described above. On the other hand, in actual application of the above-described embodiments to broadcast encryption, it is difficult to think of all users joining the system at the same time. In other words, the center must set keys in advance for users to be added in the future, and these keys must be left out by default. If not, the newly subscribed user can recover the messages delivered in the past.

대다수의 브로드캐스트 암호화의 경우 전송량이 r에 의존하는 것을 생각할 때, 이것은 센터에게 큰 부담이 될 수 있다.In the case of the majority of broadcast encryption, considering the amount of transmission depends on r, this can be a heavy burden on the center.

따라서, 새로운 사용자들의 키를 미리 만들어 놓지 않고 나중에 추가하는 기능은 매우 중요하다. 상기에서 제안된 실시예들은 언제든지 새로운 사용자가 추가될 때마다 직선의 오른쪽에 새 노드를 추가하면 쉽게 해결된다. 이때, 계산량은 새로운 랜덤값을 선택하는 것과 일방향 함수 연산 몇 번 정도가 추가되므로 매우 효율적으로 사용자 추가를 수행할 수가 있게 된다. 물론 다른 사용자들의 키에는 아무런 영향을 미치지 않게 된다.Therefore, the ability to add new users later without creating a key is very important. The proposed embodiments are easily solved by adding a new node to the right of the straight line whenever a new user is added at any time. At this time, the amount of computation is added to select a new random value and a number of one-way function operations can be added very efficiently. Of course, this will not affect other users' keys.

반면, 사용자의 대체 측면에서 살펴보면 이것은 시스템이 오랜 시간 동안 사용된 후의 유지 보수에 관계가 있다. 시스템이 오랜 시간동안 유지된 경우, 영구적으로 제외된 사용자들은 항상 제외된 상태로 유지되므로 전송량이 r에 의존하는 대부분의 방법들에서 전송량을 증가시키는 큰 요인이 된다. On the other hand, in terms of user alternatives, this relates to maintenance after the system has been in use for a long time. When the system is maintained for a long time, permanently excluded users are always left out, which is a big factor in increasing the throughput in most methods where the throughput depends on r.

이러한 경우 영구 제외된 사용자의 키를 제거한 후, 새로운 사용자를 그 위치에 추가하여 제외된 사용자의 수를 줄이는 것이 필요하다. 종래의 보간(Interpolation) 등의 방법에서는 이러한 사용자 대체가 비교적 자유롭게 실행될 수 있지만 계층 등의 구조를 이용한 방법에서는 상당히 힘든 작업이다. SD의 경우를 살펴보면, 한 명의 사용자를 대체하기 위해서 루트 노드의 키가 새로 바뀌어야 하므로 모든 사용자의 키를 갱신하여야 한다.In this case, after removing the keys of permanently excluded users, it is necessary to add new users to the location to reduce the number of excluded users. In the conventional method such as interpolation, such user substitution can be executed relatively freely, but it is a very difficult task in the method using a structure such as hierarchy. In the case of SD, the root node's key must be changed to replace one user, so all the user's keys must be updated.

한편, 상술한 본 발명에 따른 실시예들에서는 상기 SD 등의 트리를 이용한 방법들에서보다 비교적 쉽게 적용할 수가 있다. 즉, 한 사용자를 대체하려면 기본 실시예에서의 경우 총 2c명의 사용자들의 키를 갱신하면 된다.On the other hand, in the embodiments according to the present invention described above can be applied relatively easily than in the method using the tree, such as the SD. That is, in order to replace one user, in the basic embodiment, a total of 2c users' keys are updated.

트레이터(Traitor)는 정당한 사용자 중에서 자신의 비밀키를 유출하여 불법적인 사용자들이 메시지를 볼 수 있도록 도와주는 사용자를 말한다. 트레이터 추적은 이러한 불법적인 사용자들이 있는 경우, 그들이 지닌 키로부터 키를 유출시킨 사용자를 찾아내는 알고리즘을 말한다. A Trader is a user who leaks his private key from legitimate users and helps illegal users to view the message. Trader tracking is an algorithm that, when there are such illegal users, finds the user who has leaked a key from their key.

이러한, 트레이터 추적에 대한 여러가지 결과가 알려져 있는데, 각 사용자의 키가 모두 구별 가능하고, 여러 사용자들의 키로부터 새로운 키를 생성하는 것이 불가능할 경우에는 기본적으로 트레이터 추적이 가능하다고 알려져 있다. 한편, 상술한 제안된 본 발명의 실시예들은 이러한 성질들을 만족시키므로 트레이터 추적이 가능하게 된다.Such various results of the tracer are known, and it is known that the tracer is basically possible when it is impossible to generate a new key from each user's keys and it is impossible to generate a new key from the keys of the multiple users. On the other hand, the above-described proposed embodiments of the present invention satisfy these properties, so that tracer tracking is possible.

아울러, 기본 실시예를 공개키를 이용하는 방식으로 변형하여 각 사용자의 비밀키를 2개로 줄이는 것이 가능하다. 이 경우 필요한 공개키는 O(c2)가 된다. 이러한 변형은 공개키의 크기가 제한적이지 않은 응용분야에 사용할 때, 큰 도움을 줄 수가 있다In addition, the basic embodiment can be modified in a manner using a public key to reduce the secret key of each user to two. In this case, the required public key is O (c 2 ). This variant can be of great help in applications where the size of the public key is not limited.

결론적으로 다양한 브로드캐스트 암호화 방법들 중에서 현재 가장 효과적인 CS 및 SC 방법과 본 발명과 비교 결과를 하기 <표 3>에서 나타내었다. 이때, 상술한 결과에서와 같이 N=1,000,000 및 r=50,000인 경우이다.In conclusion, the most effective CS and SC method among various broadcast encryption methods and the present invention are shown in Table 3 below. In this case, N = 1,000,000 and r = 50,000 as in the above-described results.

cc c2c2 저장량Storage 전송량(worst case)Worst case 기본실시예Basic embodiment 200200 -- 200(2K)200 (2K) 50,000+4,500 (1.1r)50,000 + 4,500 (1.1r) 변형된 제2실시예Modified Second Embodiment 6464 -- 1,9551,955 25,000+14,000 (0.78r)25,000 + 14,000 (0.78r) 변형된 제3실시예Modified Third Embodiment 6464 2020 1,9951,995 25,000+7,260 (0.64r)25,000 + 7,260 (0.64r) 변형된 제4실시예Modified fourth embodiment 100100 100100 5,1515,151 25,000+4,500 (0.59r)25,000 + 4,500 (0.59r) CSCS -- -- 2020 r*(log(N/r)) (4r)r * (log (N / r)) (4r) SDSD -- -- 200200 100,000 (2r)100,000 (2r)

상기 <표 3>을 참조하면, 본 발명의 실시예들에서 브로드캐스트 암호화에서 가장 중요한 전송량을 r 미만으로 줄일 수 있게 된다. 즉, 본 발명의 실시예들에서는 현재까지 가장 좋은 방법으로 알려진 SD와 비교하여 전송량이 크게 줄어들었음을 알 수 있다. 아울러, 상술한 실제 적용에 필요한 여러가지 특성들을 포함하게 된다.Referring to Table 3, in the embodiments of the present invention, the most important transmission amount in broadcast encryption can be reduced to less than r. That is, in the embodiments of the present invention, it can be seen that the transmission amount is greatly reduced compared to the SD known as the best method. In addition, it will include various properties necessary for the practical application described above.

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

아울러, 본 발명에 따르면 여러 사용자가 공모를 하여도 새로운 키를 만들어 낼 수 없을 뿐만 아니라, 불법 디코더가 만들어졌을 경우 공모한 사용자의 키가 그대로 사용되므로 추적을 할 수 있다는 장점이 있다. 또한, 시퀀스의 뒷부분에 원하는 만큼의 사용자를 자유롭게 추가할 수가 있다.In addition, according to the present invention, it is not only possible to generate a new key even if several users collude, but also when the illegal decoder is made, the key of the collaborating user is used as it is, so it can be tracked. You can also add as many users as you want later in the sequence.

Claims (23)

순차적으로 배열된 각 노드에 노드 패스 아이디(Node Path ID)를 부여하는 단계;Assigning a node path ID to each node arranged sequentially; 상기 각 노드에 상기 노드 패스 아이디에 따라 임의의 씨드 키(Seed Value Key)를 부여하는 단계;Assigning a seed value to each node according to the node path ID; 상기 부여된 임의의 씨드 키에 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계; 및Generating key values by repeatedly applying a hash function to the given seed key; And 상기 생성된 키값들을 상기 각 노드들에 순차적으로 부여하는 단계;를 포함하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.And sequentially assigning the generated key values to each of the nodes. 제 1항에 있어서, The method of claim 1, 상기 순차적으로 배열된 노드 중 N개의 노드로 이루어진 구간에 대한 암호화 키는,The encryption key for the section consisting of N nodes of the sequentially arranged nodes, 상기 구간내의 첫번째 노드에 부여된 상기 씨드 키에 상기 해쉬함수를 N-1회 반복적으로 적용하여 생성된 키값으로 하는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.And a key value generated by repeatedly applying the hash function N-1 times to the seed key assigned to the first node in the interval. 제 2항에 있어서,The method of claim 2, 상기 구간은 인증받은 노드들로 이루어진 연속된 구간인 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.The interval is a user key management method for broadcast encryption, characterized in that the continuous interval consisting of the authenticated nodes. 제 2항에 있어서,The method of claim 2, 상기 구간은 하나 이상의 제외된 노드를 포함하며, 상기 제외된 노드에서는 각각 독립적인 해쉬함수를 적용하는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.The interval includes at least one excluded node, and the excluded node applies a separate hash function to each user key management method for broadcast encryption. 순차적으로 배열된 노드에 임의의 씨드 키(Seed Value Key)를 부여하는 단계;Assigning a seed value (Seed Value Key) to sequentially arranged nodes; 상기 부여된 임의의 씨드 키에 제1 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계; Iteratively applying a first hash function to the given seed key to generate key values; 상기 생성된 키값들을 상기 각 노드들에 순차적으로 부여하는 단계;Sequentially assigning the generated key values to the nodes; 상기 순차적으로 배열된 노드들 중에서 일정간격에 따라 특별노드를 설정하는 단계;Setting a special node according to a predetermined interval among the sequentially arranged nodes; 상기 각 특별노드에는 임의의 특별 씨드 키(Special Seed Value Key)를 부여하는 단계;Assigning a special seed key to each special node; 상기 부여된 임의의 특별 씨드 키에 제2 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계; 및Iteratively applying a second hash function to the given special seed key to generate key values; And 상기 생성된 키값들을 상기 각 특별노드에 순차적으로 부여하는 단계;를 포함하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.And sequentially assigning the generated key values to each special node. 제 5항에 있어서,The method of claim 5, 상기 특별노드들 중 제1 특별노드에 K라는 특별 노드키가 할당되었다면, 상기 제1 특별노드로부터 상기 일정간격만큼 떨어진 제2 특별노드에는 상기 K에 상기 제2 해쉬함수를 적용한 키값이 부여되는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.If a special node key of K is assigned to a first special node among the special nodes, a key value obtained by applying the second hash function to K is assigned to a second special node that is separated from the first special node by the predetermined interval. A user key management method for broadcast encryption. 제 5항에 있어서,The method of claim 5, 상기 순차적으로 배열된 노드 중 N개의 노드로 이루어진 구간에 대한 암호화 키는, 상기 구간내의 첫번째 노드에 부여된 상기 씨드 키에 상기 해쉬함수를 N-1회 반복적으로 적용하여 생성된 키값으로 하는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.The encryption key for the section consisting of N nodes among the sequentially arranged nodes is a key value generated by repeatedly applying the hash function N-1 times to the seed key given to the first node in the section. User key management method for broadcast encryption. 제 7항에 있어서,The method of claim 7, wherein 상기 구간은 인증받은 노드들로 이루어진 연속된 구간인 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.The interval is a user key management method for broadcast encryption, characterized in that the continuous interval consisting of the authenticated nodes. 제 7항에 있어서,The method of claim 7, wherein 상기 구간은 하나 이상의 제외된 노드를 포함하며, 상기 제외된 노드에서는 각각 독립적인 새로운 해쉬함수를 적용하는 것을 특징으로 하는 브로드캐스트 암호 화를 위한 사용자 키 관리 방법.The interval includes one or more excluded nodes, wherein the excluded nodes each apply a new hash function that is independent of each other. 환형 그룹을 형성하는 각 노드에 노드 패스 아이디(Node Path ID)를 부여하는 단계;Assigning a Node Path ID to each node forming the annular group; 상기 각 노드에 상기 노드 패스 아이디에 따라 임의의 씨드 키(Seed Value Key)를 부여하는 단계;Assigning a seed value to each node according to the node path ID; 상기 부여된 임의의 씨드 키에 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계; 및Generating key values by repeatedly applying a hash function to the given seed key; And 상기 생성된 키값들을 상기 환형 그룹을 형성하는 각 노드들에 순차적으로 부여하는 단계;를 포함하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.And sequentially assigning the generated key values to each of the nodes forming the annular group. 제 10항에 있어서,The method of claim 10, 상기 환형그룹내의 N개의 노드로 이루어진 순환 구간에 대한 암호화 키는,The encryption key for the recursive section consisting of N nodes in the annular group, 상기 순환 구간내의 첫번째 노드에 부여된 상기 씨드 키에 상기 해쉬함수를 N-1회 반복적으로 적용하여 생성된 키값으로 하는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.And a key value generated by repeatedly applying the hash function N-1 times to the seed key assigned to the first node in the circulation section. 제 11항에 있어서,The method of claim 11, 상기 순환 구간은 인증받은 노드들로 이루어진 연속된 구간인 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.The circular interval is a user key management method for broadcast encryption, characterized in that the continuous interval consisting of the authenticated nodes. 제 10항에 있어서, The method of claim 10, 상기 환형 그룹을 형성하는 각 노드 아래 새로운 환형 그룹을 형성하는 노드들을 하부 구조로 링크시킴으로써, 환형의 그룹의 계층구조를 형성하는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.Linking nodes forming a new annular group under each node forming the annular group into a substructure to form a hierarchy of annular groups. 제 13항에 있어서, The method of claim 13, 상기 계층구조는 16층인 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리방법.The hierarchical structure is a user layer management method for broadcast encryption, characterized in that the 16 layers. 제 13항에 있어서, The method of claim 13, 상기 각 환형 그룹을 형성하는 각 노드의 개수는 동일한 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리방법.And the number of each node forming each annular group is the same. 제 10항에 있어서,The method of claim 10, 상기 환형그룹내의 N개의 노드로 이루어진 순환 구간은 하나 이상의 제외된 노드를 포함하며, 상기 제외된 노드에서는 각각 독립적인 해쉬함수를 적용하는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.The recursive section consisting of N nodes in the annular group includes one or more excluded nodes, and each of the excluded nodes applies an independent hash function. 제 10항에 있어서,The method of claim 10, 상기 환형 그룹을 형성하는 노드는 N개이며, 상기 노드 패스 아이디로서 '0'부터 'N-1'까지가 부여되는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.The number of nodes forming the annular group is N, the user key management method for broadcast encryption, characterized in that '0' to 'N-1' is given as the node path ID. 제 13항에 있어서,The method of claim 13, 상기 계층구조에서 적어도 하나의 제외된 자식 노드를 갖는 노드는 제외된 노드로 간주되는 것을 특징으로 하는 브로드 캐스트 암호화를 위한 사용자 키 관리방법.And a node having at least one excluded child node in the hierarchy is considered an excluded node. 환형 그룹을 형성하는 각 노드에 임의의 씨드 키(Seed Value Key)를 부여하는 단계;Assigning a seed value to each node forming the annular group; 상기 부여된 임의의 씨드 키에 제1 해쉬함수를 반복적으로 적용하여 키값들을 생성하는 단계; Iteratively applying a first hash function to the given seed key to generate key values; 상기 생성된 키값들을 상기 환형 그룹을 형성하는 각 노드들에 순차적으로 부여하는 단계;Sequentially assigning the generated key values to the nodes forming the annular group; 상기 환형 그룹을 형성하는 노드들 중에서 일정간격에 따라 특별노드를 설정하는 단계;Setting a special node according to a predetermined interval among the nodes forming the annular group; 상기 각 특별노드에는 임의의 특별 씨드 키(Special Seed Value Key)를 부여하는 단계;Assigning a special seed key to each special node; 상기 부여된 임의의 특별 씨드 키에 제2 해쉬함수를 반복적으로 적용하여 키 값들을 생성하는 단계; 및Iteratively applying a second hash function to the given special seed key to generate key values; And 상기 생성된 키값들을 상기 각 특별노드에 순차적으로 부여하는 단계;를 포함하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.And sequentially assigning the generated key values to each special node. 제 19항에 있어서,The method of claim 19, 상기 특별노드들 중 제1 특별노드에 K라는 특별 노드키가 할당되었다면, 상기 제1 특별노드로부터 상기 일정간격만큼 떨어진 제2 특별노드에는 상기 K에 상기 제2 해쉬함수를 적용한 키값이 부여되는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.If a special node key of K is assigned to a first special node among the special nodes, a key value obtained by applying the second hash function to K is assigned to a second special node that is separated from the first special node by the predetermined interval. A user key management method for broadcast encryption. 제 19항에 있어서,The method of claim 19, 상기 환형그룹내의 N개의 노드로 이루어진 순환 구간에 대한 암호화 키는, The encryption key for the recursive section consisting of N nodes in the annular group, 상기 순환 구간내의 첫번째 노드에 부여된 상기 씨드 키에 상기 해쉬함수를 N-1회 반복적으로 적용하여 생성된 키값으로 하는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.And a key value generated by repeatedly applying the hash function N-1 times to the seed key assigned to the first node in the circulation section. 제 21항에 있어서,The method of claim 21, 상기 순환 구간은 인증받은 노드들로 이루어진 연속된 구간인 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.The circular interval is a user key management method for broadcast encryption, characterized in that the continuous interval consisting of the authenticated nodes. 제 21항에 있어서,The method of claim 21, 상기 순환 구간은 하나 이상의 제외된 노드를 포함하며, 상기 제외된 노드에서는 각각 독립적인 새로운 해쉬함수를 적용하는 것을 특징으로 하는 브로드캐스트 암호화를 위한 사용자 키 관리 방법.The recursive section includes one or more excluded nodes, wherein the excluded nodes each apply a new hash function that is independent of each other.
KR1020050100726A 2004-11-12 2005-10-25 Method of managing a key of user for broadcast encryption KR20060049340A (en)

Priority Applications (15)

Application Number Priority Date Filing Date Title
KR1020050106604A KR101092543B1 (en) 2004-11-12 2005-11-08 Method of managing a key of user for broadcast encryption
MX2007007007A MX2007007007A (en) 2004-11-12 2005-11-12 Method of managing user key for broadcast encryption.
EP05820734.1A EP1810510B1 (en) 2004-11-12 2005-11-12 Method of managing user key for broadcast encryption
PCT/KR2005/003842 WO2006052111A1 (en) 2004-11-12 2005-11-12 Method of managing user key for broadcast encryption
EP12005033.1A EP2515470B1 (en) 2004-11-12 2005-11-12 Method of managing user key for broadcast encryption
JP2007541106A JP4755194B2 (en) 2004-11-12 2005-11-12 User key management method for broadcast encryption
CA2581314A CA2581314C (en) 2004-11-12 2005-11-12 Method of managing user key for broadcast encryption
EP13165231.5A EP2621125B1 (en) 2004-11-12 2005-11-12 Method of Managing User Key for Broadcast Encryption
CNB2005800359704A CN100551015C (en) 2004-11-12 2005-11-12 The method of the user key of management broadcast enciphering
US11/271,989 US7929705B2 (en) 2004-11-12 2005-11-14 Method of managing user key for broadcast encryption
JP2011082596A JP5547682B2 (en) 2004-11-12 2011-04-04 User key management method for broadcast encryption
JP2012134570A JP5955117B2 (en) 2004-11-12 2012-06-14 User key management method for broadcast encryption
US13/865,725 USRE45191E1 (en) 2004-11-12 2013-04-18 Method of managing user key for broadcast encryption
US13/867,150 USRE45213E1 (en) 2004-11-12 2013-04-22 Method of managing user key for broadcast encryption
JP2013097588A JP6139965B2 (en) 2004-11-12 2013-05-07 User key management method for broadcast encryption

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040092431 2004-11-12
KR20040092431 2004-11-12

Publications (1)

Publication Number Publication Date
KR20060049340A true KR20060049340A (en) 2006-05-18

Family

ID=37149920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050100726A KR20060049340A (en) 2004-11-12 2005-10-25 Method of managing a key of user for broadcast encryption

Country Status (1)

Country Link
KR (1) KR20060049340A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8121974B2 (en) 2006-10-10 2012-02-21 Samsung Electronics Co., Ltd. Method of generating node indentifier in tree structure
US8509433B2 (en) 2006-10-09 2013-08-13 Samsung Electronics Co., Ltd. Method and apparatus of generating encryption key for broadcast encryption

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8509433B2 (en) 2006-10-09 2013-08-13 Samsung Electronics Co., Ltd. Method and apparatus of generating encryption key for broadcast encryption
US8121974B2 (en) 2006-10-10 2012-02-21 Samsung Electronics Co., Ltd. Method of generating node indentifier in tree structure

Similar Documents

Publication Publication Date Title
KR101092543B1 (en) Method of managing a key of user for broadcast encryption
KR101152311B1 (en) Key managing method in tree topology network for broadcast encryption
KR100737876B1 (en) The hierarchial threshold tree-based broadcast encryption method
US7848525B2 (en) Hybrid broadcast encryption method
KR100579515B1 (en) Apparatus and method of generating a key for broadcast encryption
US7752435B2 (en) Method for managing user key for broadcast encryption
US8290154B2 (en) Methods and apparatuses for key generation, encryption and decryption in broadcast encryption
KR100670017B1 (en) Method for broadcast encryption based on the combination
KR100640058B1 (en) Method of managing a key of user for broadcast encryption
US8054973B2 (en) User key management method for broadcast encryption (BE)
Pal et al. Efficient and secure key management for conditional access systems
KR20060049340A (en) Method of managing a key of user for broadcast encryption
Naor et al. Protecting cryptographic keys: The trace-and-revoke approach
KR100701884B1 (en) Method of managing a key of user for broadcast encryption
Zhao et al. Tracing and revoking scheme for dynamic privileges against pirate rebroadcast
Yi et al. Wireless broadcast encryption based on smart cards