KR20050034639A - 지역 한정 재생 시스템 - Google Patents

지역 한정 재생 시스템 Download PDF

Info

Publication number
KR20050034639A
KR20050034639A KR1020047014578A KR20047014578A KR20050034639A KR 20050034639 A KR20050034639 A KR 20050034639A KR 1020047014578 A KR1020047014578 A KR 1020047014578A KR 20047014578 A KR20047014578 A KR 20047014578A KR 20050034639 A KR20050034639 A KR 20050034639A
Authority
KR
South Korea
Prior art keywords
key
content
encrypted
information
unit
Prior art date
Application number
KR1020047014578A
Other languages
English (en)
Inventor
도시히사 나카노
히데시 이시하라
나오키 야마모토
마코토 다테바야시
Original Assignee
마츠시타 덴끼 산교 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마츠시타 덴끼 산교 가부시키가이샤 filed Critical 마츠시타 덴끼 산교 가부시키가이샤
Publication of KR20050034639A publication Critical patent/KR20050034639A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00188Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00246Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00253Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00557Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein further management data is encrypted, e.g. sector headers, TOC or the lead-in or lead-out areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00739Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction is associated with a specific geographical region
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/216Rewritable discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • G11B2220/2575DVD-RAMs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

영화 및 음악과 같은 컨텐츠의 저작권을 보호하기 위해, 전 세계를 6개의 지역으로 분할한 6개의 지역 중 하나를 나타내는 지역 코드가 DVD 비디오 디스크 및 재생 장치에 할당된다. 그러나, 재생 장치는 디스크의 지역 코드와 재생 장치의 지역 코드를 확인하는 기능을 불법으로 우회하는 것이 존재한다. 본 발명은 지역 한정 시청을 가능하게 하는 지역 한정 시청 시스템을 제공하여, 지역 코드의 확인을 우회하는 재생 장치가 컨텐츠를 정확하게 재생하지 못하도록 방지한다. 컨텐츠 기록 장치는 내부에 저장된 지역 코드에 기초하여 컨텐츠를 암호화하고, 암호화된 컨텐츠를 기록 매체에 기록한다. 컨텐츠 재생 장치는 내부에 저장된 지역 코드에 기초하여 컨텐츠를 복호화하여 컨텐츠를 재생한다.

Description

지역 한정 재생 시스템{REGION RESTRICTIVE PLAYBACK SYSTEM}
본 발명은 디지털 저작물을 공급하여 재생하는 기술에 관한 것으로, 특히 디지털 저작물의 재생을 디지털 저작물이 공급되는 지역으로 한정하는 기술에 관한 것이다.
디지털 저작물의 부정 사용을 방지하고 저작권 등을 보호하기 위한 여러 가지 기술이 존재한다.
영화 및 음악 클립과 같은 컨텐츠의 저작권을 보호하고 판매권을 제한하는 것을 목적으로 하는 기술이 문헌 1에 개시되어 있다. 이 기술에 따르면, 세계를 6개의 지역으로 분할하여, 이 지역 중 하나를 각각 나타내는 지역 코드를 DVD 비디오 디스크 및 플레이어에 부여한다. 플레이어에 보유된 지역 코드가 디스크에 기록되어 있는 적어도 하나의 지역 코드와 일치할 때에만 컨텐츠가 재생될 수 있다. 여기에서, 플레이어는 하나의 지역 코드를 갖지만, 디스크는 2 이상의 지역 코드를 가질 수 있다. 모든 지역 코드가 기록되어 있는 디스크는 사실상 지역적인 한정을 갖지 않는다.
문헌 1
미국 특허 제6,141,483호 "데이터를 기록하는 기록 매체, 기록 매체 상에 기록되어 있는 데이터를 재생하는 재생 장치, 및 네트워크 등을 통해 기록 매체 상에 기록되어 있는 데이터를 재생하는 데이터 재생 시스템".
문헌 2
나카노, 오모리 및 다테바야시의 "디지털 컨텐츠를 보호하기 위한 키 관리 방법(Digital content, Hogo-you Kagi Kanri Houshiki)" 2001년 1월, Symposium on Cryptography and Information Security 2001, SCIS2001, 5A-5.
그러나, 디스크 상에 기록되어 있는 것과 같은 지역 코드를 갖도록 개조되거나, 디스크 및 플레이어의 지역 코드를 확인하는 기능을 우회하도록 개조된 플레이어가 존재한다. 그러한 플레이어는 디지털 저작물을 부정하게 사용하기 때문에 문제가 있다.
도 1은 디지털 저작물 보호 시스템(10)의 구성의 블록도이다.
도 2는 키 관리 장치(100)의 구성의 블록도이다.
도 3은 트리 구조 테이블(D100)의 데이터 구조의 일례를 나타내는 도면이다.
도 4는 트리 구조(T100)의 개념도이다.
도 5는 무효화된 노드를 포함하는 트리 구조(T200)의 개념도이다.
도 6은 노드 무효화 패턴의 일례를 나타내는 데이터 구조도이다.
도 7은 복수의 암호화 매체키를 포함하는 키 정보의 일례를 나타내는 데이터 구조도이다.
도 8은 기록 매체 장치(300a)의 구성을 나타내는 블록도이다.
도 9는 재생 장치(400a)의 구성을 나타내는 블록도이다.
도 10은 사용자 장치에 디바이스키를 할당하는 동작, 키 정보를 생성하여 키 정보를 기록 장치에 기록하는 동작, 및 사용자 장치가 컨텐츠를 암호화 또는 복호화하는 동작을 나타내고, 특히 디바이스키가 부정한 제 3자에 의해 노출될 때까지의 각 장치의 동작을 나타내는 플로우차트이다.
도 11은 디바이스키가 부정한 제 3자에 의해 노출된 후, 노출된 디바이스키가 대응하고 있는 트리 구조내의 노드를 무효화시키는 동작, 새로운 키 정보를 생성하여 생성된 키 정보를 기록 매체에 기입하는 동작, 및 사용자 장치가 컨텐츠를 암호화 또는 복호화하는 동작을 나타내는 플로우차트이다.
도 12는 키 구조 구성부(101)에 의한 트리 구조 테이블을 생성하여 생성된 트리 구조 테이블을 트리 구조 저장부(102)에 기입하는 동작을 나타내는 플로우차트이다.
도 13은 디바이스키 할당부(103)에 의한 디바이스키 및 ID 정보를 각 사용자 장치에 출력하는 동작을 나타내는 플로우차트이다.
도 14는 트리 구조 갱신부(105)에 의한 트리 구조를 갱신하는 동작을 나타내는 플로우차트이다.
도 15는 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 플로우차트이다.
도 16은 키 정보 생성부(107)에 의한 키 정보를 생성하는 동작을 나타내는 플로우차트이다.
도 17은 기록 장치(300a)내의 특정부(303)에 의한 기록 매체(500b)에 저장되어 있는 키 정보 중에서 하나의 암호화된 매체키를 지정하는 동작을 나타내는 플로우차트이다.
도 18은 제 1 실시예에서, 무효화된 사용자 장치가 트리 구조내의 특정 리프 근방에 집중적으로 발생할 가능성이 있는 경우의 예로서 트리 구조의 일례를 나타내는 도면이다.
도 19는 제 2 실시예에서, 무효화된 사용자 장치가 트리 구조내의 특정 리프 근방에 집중적으로 발생하는 경우의 특수한 NRP를 나타내는 트리 구조도이다.
도 20은 트리 구조 테이블(D400)의 데이터 구조의 일례를 나타내는 도면이다.
도 21은 헤더 정보(D500)의 데이터 구조의 일례를 나타내는 도면이다.
도 22는 키 정보(D600)의 데이터 구조의 일례를 나타내는 도면이다.
도 23은 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 도 24에 이어지는 플로우차트이다.
도 24는 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 도 25에 이어지는 플로우차트이다.
도 25는 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 도 26에 이어지는 플로우차트이다.
도 26은 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 도 25로부터 이어지는 플로우차트이다.
도 27은 기록 장치(300a)내의 특정부(303)에 의한 기록 매체(500b)에 저장되어 있는 키 정보 중에서 하나의 암호화된 매체키를 지정하는 동작을 나타내는 플로우차트이다.
도 28은 제 3 실시예에서의 특수한 NRP를 나타내는 트리 구조도이다.
도 29는 헤더 정보(D700)의 데이터 구조의 일례를 나타내는 도면이다.
도 30은 키 정보(D800)의 데이터 구조의 일례를 나타내는 도면이다.
도 31은 헤더 정보를 생성하는 동작의 도 32에 이어지는 플로우차트이다.
도 32는 헤더 정보를 생성하는 동작의 도 33에 이어지는 플로우차트이다.
도 33은 헤더 정보를 생성하는 동작의 도 34에 이어지는 플로우차트이다.
도 34는 헤더 정보를 생성하는 동작의 도 33으로부터 이어지는 플로우차트이다.
도 35는 기록 장치(300a)내의 특정부(303)에 의한 기록 매체(500b)에 저장되어 있는 키 정보 중에서 하나의 암호화된 매체키를 지정하는 동작을 나타내는 플로우차트이다.
도 36은 제 4 실시예에서, 복수의 NRP가 어떻게 배열되는지를 나타내는 트리 구조도이다.
도 37은 트리 구조 테이블(D1000)의 데이터 구조의 일례를 나타내는 도면이다.
도 38은 헤더 정보(D900)의 데이터 구조의 일례를 나타내는 도면이다.
도 39는 키 구조 구성부(101)에 의한 트리 구조 테이블을 생성하여 생성된 트리 구조 테이블을 트리 구조 저장부(102)에 기입하는 동작을 나타내는 플로우차트이다.
도 40은 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 도 41에 이어지는 플로우차트이다.
도 41은 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 도 40으로부터 이어지는 플로우차트이다.
도 42는 기록 장치(300a)내의 특정부(303)에 의한 기록 매체(500b)에 저장되어 있는 키 정보 중에서 하나의 암호화된 매체키를 지정하는 동작을 나타내는 플로우차트이다.
도 43은 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 도 44에 이어지는 플로우차트이다.
도 44는 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 도 45에 이어지는 플로우차트이다.
도 45는 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 도 46에 이어지는 플로우차트이다.
도 46은 키 정보 헤더 생성부(106)에 의한 헤더 정보를 생성하는 동작을 나타내는 도 45로부터 이어지는 플로우차트이다.
도 47은 기록 장치(300a)내의 특정부(303)에 의한 기록 매체(500b)에 저장되어 있는 키 정보 중에서 하나의 암호화된 매체키를 지정하는 동작을 나타내는 플로우차트이다.
도 48은 디지털 저작물 보호 시스템(10f)의 구성을 나타내는 블록도이다.
도 49는 무효화 디바이스 KeyA, KeyB 및 KeyE가 할당되는 노드를 포함하는 트리 구조(T700)의 개념도이다.
도 50은 헤더 정보(D1000) 및 키 정보(D1010)를 나타내는 데이터 구조도이다.
도 51은 기록 장치(300a)의 특정부(303)에 의한 암호화된 매체키를 지정하는 동작을 나타내는 플로우차트이다.
도 52는 컨텐츠 배포 시스템(2000)의 구성을 나타내는 블록도이다.
도 53은 컨텐츠 기록 장치(2100)의 구성을 나타내는 블록도이다.
도 54는 기록 매체(2120)의 데이터 구조도이다.
도 55는 컨텐츠 재생 장치(2400)의 구성을 나타내는 블록도이다.
도 56은 컨텐츠 기록 장치(2100)의 동작을 나타내는 플로우차트이다.
도 57은 컨텐츠 재생 장치(2400)의 동작을 나타내는 플로우차트이다.
도 58은 컨텐츠 배포 시스템(3000)의 구성을 나타내는 블록도이다.
도 59는 컨텐츠 배포 시스템(3000)에 사용되는 트리 구조(T3000)를 나타내는 개략도이다.
도 60은 컨텐츠 기록 장치(3100)의 구성을 나타내는 블록도이다.
도 61은 기록 매체(3120a)의 데이터 구조도이다.
도 62는 기록 매체(3120b)의 데이터 구조도이다.
도 63은 기록 매체(3120c)의 데이터 구조도이다.
도 64는 컨텐츠 재생 장치(3400)의 구성을 나타내는 블록도이다.
도 65는 컨텐츠 기록 장치(3100)의 동작을 나타내는 플로우차트이다.
도 66은 컨텐츠 재생 장치(3400)의 동작을 나타내는 플로우차트이다.
도 67은 컨텐츠 배포 시스템(3000)에 사용되는 다른 트리 구조를 나타내는 개략도이다.
도 68은 기록 매체(3120d)의 데이터 구조도이다.
상술한 문제점을 해결하기 위해, 본 발명의 목적은 내부의 지역 정보가 부정하게 변경되거나, 지역 정보의 확인을 우회하도록 부정하게 개조된 재생 장치에서 컨텐츠가 정확하게 재생되는 것을 방지함으로써 지역 한정 재생을 달성하는 지역 한정 재생 시스템, 공급 장치, 재생 장치, 기록 매체 및 컴퓨터 프로그램을 제공하기 위한 것이다.
상술한 목적을 달성하기 위해, 본 발명은 디지털 컨텐츠를 암호화하여 암호화된 디지털 컨텐츠를 기록하는 기록 장치와, 암호화된 디지털 컨텐츠가 기록되는 기록 매체와, 기록 매체로부터 암호화된 디지털 컨텐츠를 판독하여 판독한 암호화된 디지털 컨텐츠를 복호화하는 재생 장치로 구성되는 지역 한정 시청 시스템이다. 기록 장치는 지역을 지정하는 적어도 하나의 지역 코드를 보유하고, 적어도 하나의 지역 코드 중에서 기록 매체 상에 기록될 암호화된 디지털 컨텐츠의 복호화가 허가되는 지역의 지역 코드를 선택하며, 선택된 지역 코드에 기초하여 디지털 컨텐츠를 암호화하고, 암호화된 디지털 컨텐츠를 기록 매체에 기록한다. 재생 장치는 지역 코드 중 하나를 보유하고, 기록 매체로부터 암호화된 디지털 컨텐츠를 판독하며, 보유된 지역 코드에 기초하여 암호화된 디지털 컨텐츠를 복호화한다.
또한, 지역 한정 시청 시스템에서, 기록 장치는 재생 장치의 디바이스키를 보유하고, (1) 디바이스키 데이터로 암호화된 매체키 데이터인 암호화된 매체키 데이터와, (2) 암호화된 디지털 컨텐츠를 기록 매체에 기록한다. 여기에서, 암호화된 디지털 컨텐츠는 적어도 매체키 데이터 및 선택된 지역 코드로부터 암호화된 키 데이터를 먼저 생성하고, 암호화된 키 데이터에 기초하여 디지털 컨텐츠를 암호화함으로써 생성된다. 재생 장치는 기록 매체로부터 2개의 암호화된 데이터를 판독하고, 디바이스키 데이터로 암호화된 매체키 데이터를 복호화함으로써, 매체키 데이터를 획득하며, 적어도 복호화에 의해 획득된 매체키 데이터 및 지역 코드로부터 복호화키 데이터를 생성하고, 복호화키 데이터에 기초하여 암호화된 디지털 컨텐츠를 복호화한다.
또한, 지역 한정 시청 시스템에서, 기록 장치 및 재생 장치는 지역 코드를 보유하는 대신에, 각 지역 코드에 설정된 비밀 정보를 보유한다.
또한, 지역 한정 시청 시스템에서, 기록 장치는 또한 선택된 지역 코드를 기록 매체에 기록하고, 재생 장치는 재생 장치에 의해 보유된 지역 코드와 기록 매체 상에 기록되어 있는 지역 코드가 일치하는지의 여부를 판정한다. 재생 장치는 상기 2개의 지역 코드가 일치하지 않을 때 후속 처리를 실행하지 않고, 상기 2개의 지역 코드가 일치할 때에만 후속 처리를 실행한다.
또한, 지역 한정 시청 시스템에서, 기록 장치 및 재생 장치 중 적어도 하나의 처리가 IC 카드 상에 제공되고, IC 카드가 삽입되는 기록 장치 또는 재생 장치만이 디지털 컨텐츠의 암호화 또는 복호화를 실행한다.
또한, 본 발명은 디지털 컨텐츠를 암호화하여 암호화된 디지털 컨텐츠를 기록 매체에 기록하는 기록 장치이다. 기록 장치는 지역을 지정하기 위한 적어도 하나의 지역 코드를 보유하고, 적어도 하나의 지역 코드 중에서 기록 매체에 기록되는 암호화된 디지털 컨텐츠가 복호화될 수 있게 하는 지역 코드를 선택하며, 선택된 지역 코드에 기초하여 디지털 컨텐츠를 암호화하고, 암호화된 디지털 컨텐츠를 기록 매체에 기록한다.
또한, 재생 장치의 디바이스키를 보유하는 기록 장치는 (1) 디바이스키 데이터로 암호화된 매체키 데이터인 암호화된 매체키 데이터와, (2) 암호화된 디지털 컨텐츠를 기록 매체에 기록한다. 여기에서, 암호화된 디지털 컨텐츠는 먼저 적어도 매체키 데이터 및 선택된 지역 코드로부터 암호화된 키 데이터를 생성하고, 암호화된 키 데이터에 기초하여 디지털 컨텐츠를 암호화함으로써 생성된다.
또한, 본 발명은 기록 매체로부터 암호화된 디지털 컨텐츠를 판독하여 판독된 디지털 컨텐츠를 복호화하는 재생 장치이다. 하나의 지역 코드를 보유하는 재생 장치는 기록 매체로부터 암호화된 디지털 컨텐츠를 판독하고, 보유하는 지역 코드에 기초하여 판독한 암호화된 디지털 컨텐츠를 복호화한다.
또한, 재생 장치는 기록 매체로부터 3개의 암호화된 데이터를 판독하고, 디바이스키로 암호화된 매체키 데이터를 복호화하여 매체키 데이터를 획득하며, 적어도 복호화에 의해 획득된 매체키 데이터 및 지역 코드로부터 복호화 키 데이터를 생성하고, 복호화 키 데이터에 기초하여 암호화된 디지털 컨텐츠를 복호화한다.
또한, 본 발명은 데이터가 기록되는 기록 매체이다. 기록 장치는 지역을 지정하기 위한 지역 코드에 기초하여 암호화된 디지털 컨텐츠인 암호화된 디지털 컨텐츠를 기록 매체에 기록한다.
또한, 본 발명은 데이터가 기록되는 기록 매체이다. 재생 장치의 디바이스키를 보유하는 기록 장치는 (1) 디바이스키 데이터로 암호화된 매체키 데이터인 암호화된 매체키 데이터와, (2) 암호화된 디지털 컨텐츠를 기록 매체에 기록한다. 여기에서, 암호화된 디지털 컨텐츠는 먼저 적어도 매체키 데이터 및 선택된 지역 코드로부터 암호화된 키 데이터를 생성하고 암호화된 키 데이터에 기초하여 디지털 컨텐츠를 암호화함으로써 생성된다.
또한, 본 발명은 디지털 컨텐츠를 암호화하여 암호화된 디지털 컨텐츠를 기록하는 기록 장치와, 암호화된 디지털 컨텐츠가 기록되는 기록 매체와, 기록 매체로부터 암호화된 디지털 컨텐츠를 판독하여 판독한 암호화된 디지털 컨텐츠를 복호화하는 재생 장치로 구성되는 지역 한정 시청 시스템이다. 기록 장치는 부분적으로 다른 재생 장치와 공유되는 재생 장치에 의해 보유된 디바이스키 사이의 관계를 특정하는 하나의 트리 구조를 이용하여 재생 장치에 의해 보유된 디바이스키를 관리한다. 기록 장치는 또한 특정 지역에 대한 트리의 일부에 대응하여 트리 구조내의 최하위 계층에 대응하는 재생 장치를 관리한다. 기록 장치는 기록 매체 상에 기록되는 암호화된 디지털 컨텐츠의 복호화가 허가되는 지역에 대한 트리 부분의 최상위 위치에 대응하는 디바이스키를 선택하고, 선택된 디바이스키에 기초하여 디지털 컨텐츠를 암호화하며, 암호화된 디지털 컨텐츠를 기록 매체에 기록한다. 복수의 디바이스키를 보유하는 재생 장치는 기록 매체로부터 암호화된 디지털 컨텐츠를 판독하고, 복수의 디바이스키에 기초하여 암호화된 디지털 컨텐츠를 복호화한다.
또한, 본 발명은 디지털 컨텐츠를 암호화하여 암호화된 디지털 컨텐츠를 기록하는 기록 장치와, 암호화된 디지털 컨텐츠가 기록되는 기록 매체와, 기록 매체로부터 암호화된 디지털 컨텐츠를 판독하여 암호화된 디지털 컨텐츠를 복호화하는 재생 장치로 구성되는 지역 한정 시청 시스템이다. 기록 장치는 부분적으로 다른 재생 장치와 공유되는 재생 장치에 의해 보유된 디바이스키 사이의 관계를 특정하는 트리 구조를 이용하여 재생 장치에 의해 보유된 디바이스키를 관리하고, 기록 매체 상에 기록되는 암호화된 디지털 컨텐츠의 복호화가 허가되는 지역의 트리 구조내의 최상위 레벨에 대응하는 모든 디바이스키를 선택하며, 선택된 디바이스키에 기초하여 디지털 컨텐츠를 암호화하고, 암호화된 컨텐츠를 기록 매체에 기록한다. 복수의 디바이스키를 보유하는 재생 장치는 기록 매체로부터 암호화된 디지털 컨텐츠를 판독하고, 복수의 보유된 디바이스키에 기초하여 암호화된 디지털 컨텐츠를 복호화한다.
또한, 본 발명은 디지털 컨텐츠를 암호화하여 암호화된 디지털 컨텐츠를 기록 매체에 기록하는 기록 장치이다. 기록 장치는 또한 특정 지역에 대한 트리의 일부에 대응하여 트리 구조내의 최하위 계층에 대응하는 재생 장치를 관리한다. 기록 장치는 기록 매체 상에 기록되는 암호화된 디지털 컨텐츠의 복호화가 허가되는 지역에 대한 트리 부분의 최상위 위치에 대응하는 디바이스키를 선택하고, 선택된 디바이스키에 기초하여 디지털 컨텐츠를 암호화하며, 암호화된 디지털 컨텐츠를 기록 매체에 기록한다.
또한, 본 발명은 디지털 컨텐츠를 암호화하여 암호화된 디지털 컨텐츠를 기록 매체에 기록하는 기록 장치이다. 기록 장치는 각 지역에 대해 다른 재생 장치와 부분적으로 공유되는 보유된 디바이스키 사이의 관계를 특정하는 하나의 트리 구조를 이용하여 재생 장치에 의해 보유되는 디바이스키를 관리한다. 기록 장치는 기록 매체 상에 기록되는 암호화된 디지털 컨텐츠의 복호화가 허가되는 지역에 대한 트리내의 최상위 위치에 대응하는 디바이스키를 선택하고, 선택된 디바이스키에 기초하여 디지털 컨텐츠를 암호화하며, 암호화된 디지털 컨텐츠를 기록 매체에 기록한다.
또한, 본 발명은 암호화된 디지털 컨텐츠가 기록되는 기록 매체이다. 암호화된 디지털 컨텐츠는 다른 재생 장치와 부분적으로 공유되는 보유된 디바이스키 사이의 관계를 특정하는 하나의 트리 구조를 이용하여, 재생 장치에 의해 보유된 디바이스키를 관리하는 기록 장치에 의해 암호화되어 있다. 기록 장치는 또한 특정 지역에 대한 트리의 일부에 대응하여 트리 구조내의 최하위 계층에 대응하는 재생 장치를 관리한다. 기록 장치는 기록 매체 상에 기록되는 암호화된 디지털 컨텐츠의 복호화가 허가되는 지역에 대한 트리 부분의 최상위 위치에 대응하는 디바이스키를 선택하고, 선택된 디바이스키에 기초하여 디지털 컨텐츠를 암호화하며, 암호화된 디지털 컨텐츠를 기록 매체에 기록한다.
또한, 본 발명은 암호화된 디지털 컨텐츠가 기록되는 기록 매체이다. 기록 장치는 기록 매체 상에 기록되는 암호화된 디지털 컨텐츠의 복호화가 허가되는 지역에 대한 트리내의 최상위 위치에 대응하는 디바이스키를 선택하고, 선택된 디바이스키에 기초하여 디지털 컨텐츠를 암호화하며, 암호화된 디지털 컨텐츠를 기록 매체에 기록한다.
또한, 본 발명은 디지털 컨텐츠를 암호화하여 암호화된 디지털 컨텐츠를 기록하는 기록 장치와, 암호화된 디지털 컨텐츠가 기록되는 기록 매체와, 기록 매체로부터 암호화된 디지털 컨텐츠를 판독하여 판독한 암호화된 디지털 컨텐츠를 복호화하는 재생 장치로 구성되는 지역 한정 시청 시스템이다. 지역을 특정하는 하나의 지역 코드만을 보유하는 기록 장치는 지역 코드에 기초하여 디지털 컨텐츠를 암호화하여 암호화된 디지털 컨텐츠를 기록 매체에 기록한다. 하나의 지역 코드만을 보유하는 재생 장치는 기록 매체로부터 암호화된 디지털 컨텐츠를 판독하고, 지역 코드에 기초하여 암호화된 디지털 컨텐츠를 복호화한다.
1. 제 1 실시예
이하 본 발명의 제 1 실시예로서의 디지털 저작물 보호 시스템(10)을 설명한다.
1.1 디지털 저작물 보호 시스템(10)의 구성
디지털 저작물 보호 시스템(10)은 도 1에 나타내는 바와 같이, 키 관리 장치(100), 키 정보 기록 장치(200), 기록 장치(300a, 300b, 300c, …)(이하 "기록 장치(300a 등)"이라 한다) 및 재생 장치(400a, 400b, 400c, …)(이하 "재생 장치(400a 등)"이라 한다)으로 구성되어 있다.
키 관리 장치(100)는 키 정보 기록 장치(200)에 의해 기록 매체(500a)에 키 정보를 미리 기억시킴으로써, 키 정보가 기록된 기록 매체(500b)가 미리 생성된다. 기록 매체(500a)는 정보가 기록되어 있지 않은 DVD-RAM(Digital Versatile Disc Random Access Memory)과 같은 기록 가능 매체이다. 또한, 키 관리 장치(100)는 키 정보를 암호화하는 디바이스키를 각 기록 장치(300a 등) 및 각 재생 장치(400a 등)에 각각 할당하고, 할당된 디바이스키, 디바이스키를 식별하는 디바이스키 식별 정보, 및 특정 기록 장치 또는 재생 장치를 식별하는 ID 정보를 각각의 기록 장치(300a 등) 및 재생 장치(400a 등)에 미리 배포한다.
기록 장치(300a)는 디지털화된 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성하고, 생성한 암호화된 컨텐츠를 기록 매체(500b)에 기록함으로써, 기록 매체(500c)가 생성된다. 재생 장치(400a)는 기록 매체(500c)로부터 암호화된 컨텐츠를 판독하고, 판독한 암호화된 컨텐츠를 복호화하여 원래의 컨텐츠를 획득한다. 기록 장치(300b 등)는 기록 장치(300a)와 동일한 방식으로 동작하고, 재생 장치(400b 등)는 재생 장치(400a)와 동일한 방식으로 동작한다.
이하 "사용자 장치"는 기록 장치(300b 등) 및 재생 장치(400b 등)을 칭하는데 사용된다.
1.1.1 키 관리 장치(100)
키 관리 장치(100)는 도 2에 나타내는 바와 같이, 트리 구조 구성부(101), 트리 구조 저장부(102), 디바이스키 할당부(103), 무효화 장치 지정부(104), 키 구조 갱신부(105), 키 정보 헤더 생성부(106) 및 키 정보 생성부(107)로 구성된다.
특히, 키 관리 장치(100)는 마이크로컴퓨터, ROM(Read Only Memory: 판독 전용 메모리), RAM(Random Access Memory: 랜덤 액세스 메모리), 하드 디스크 유닛, 디스플레이 유닛, 키보드 및 마우스를 포함하는 컴퓨터 시스템이다. 컴퓨터 프로그램이 RAM 또는 하드 디스크 유닛에 저장되어 있다. 키 관리 장치(100)는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 그 기능을 달성한다.
(1) 트리 구조 저장부(102)
특히, 트리 구조 저장부(102)는 하드 디스크 유닛으로 구성되고, 도 3에 나타내는 바와 같이, 트리 구조 테이블(D100)을 갖는다.
트리 구조 테이블(D100)은 트리 구조의 일례로서 도 4에 나타내는 트리 구조(T100)에 대응하고, 트리 구조(T100)을 표현하기 위한 데이터 구조를 나타낸다. 후술하는 바와 같이, 트리 구조(T100)를 표현하기 위한 데이터 구조는 트리 구조 구성부(101)에 의해 트리 구조 테이블(D100)로서 생성되어 트리 구조 저장부(102)에 저장된다.
<트리 구조(T100)>
트리 구조(T100)는 도 4에 나타내는 바와 같이, 5개의 계층, 즉 계층 0 내지 계층 4를 갖는 이진 트리이다. 트리 구조(T100)가 이진 트리이기 때문에, 트리 구조(T100)내의 각 노드(리프(leaf)는 제외)는 2개의 경로를 통해 노드의 하위측의 2개의 노드에 접속된다. 루트인 하나의 노드가 계층 0에 포함되고, 2개의 노드가 계층 1에 포함되며, 4개의 노드가 계층 2에 포함되고, 8개의 노드가 계층 3에 포함되며, 리프인 16개의 노드가 계층 4에 포함되어 있다. "하위측"이란 트리 구조의 리프측을 칭하고, "상위측"은 트리 구조의 루트측을 칭한다.
트리 구조(T100)내의 노드(리프는 제외)를 직접적으로 하위 노드와 접속하는 2개의 경로의 각각에는 하나의 번호가 할당되고, 좌측 경로에는 "0"이 할당되며 우측 경로에는 "1"이 할당된다. 여기에서, 도 4의 좌측 노드를 접속하도록 노드의 좌측으로 하향 분기하는 경로는 좌측 경로라고 한다. 우측 노드를 접속하도록 노드의 우측으로 하향 분기하는 경로는 우측 경로라고 한다.
노드명이 각 노드에 할당된다. 루트 노드의 명은 "루트"이다. 계층 1로부터 하향의 계층들의 각각의 노드에는 노드명으로서 문자열이 부여된다. 문자열내의 문자의 수는 계층의 번호와 동일하고, 루트로부터 노드에 도달할 때까지 노드와 동일한 경로상의 각 노드에 이 순서로 할당되는 번호를 배열함으로써 생성된다. 예를 들어, 계층 1내의 2개의 노드의 노드명은 각각 "0" 및 "1"이다. 계층 2내의 4개의 노드의 노드명은 각각 "00", "01", "10" 및 "11"이다. 계층 3내의 8개의 노드의 노드명은 각각 "000", "001", "010", "011", …, "101", "110" 및 "111"이다. 계층 4내의 16개의 노드의 노드명은 각각 "0000", "0001", "0010", "0011", …, "1100", "1101", "1110" 및 "1111"이다.
<트리 구조 테이블(D100)>
트리 구조 테이블(D100)은 트리 구조(T100)내의 노드와 동일한 수의 노드 정보를 포함한다. 각각의 노드 정보는 트리 구조(T100)내의 노드 중 하나에 대응한다.
각각의 노드 정보는 디바이스키 및 무효화 플래그를 포함한다.
각 노드명은 특정 노드 정보가 대응하는 노드를 식별한다.
각 디바이스키는 하나의 노드 정보에 대응하는 하나의 노드에 할당된다.
또한, 각 무효화 플래그는 노드 정보에 대응하는 디바이스키가 무효화되었는지의 여부를 나타낸다. "0"으로 설정된 무효화 플래그는 디바이스키가 무효화되지 않은 것을 나타내지만, "1"로 설정된 무효화 플래그는 디바이스키가 무효화되는 것을 나타낸다.
각각의 노드 정보는 아래의 순서 규칙 1로 나타내는 순서로 트리 구조 테이블(D100)에 저장된다. 순서 규칙 1은 기록 장치(300a 등) 및 재생 장치(400a 등)가 트리 구조 테이블(D100)로부터 노드 정보를 순차적으로 판독할 때도 적용된다.
(a) 각 계층내의 노드에 대응하는 노드 정보는 트리 구조(T100)내의 계층 번호의 내림차순으로 트리 구조 테이블(D100)에 저장된다. 특히, 먼저 계층 0내의 하나의 루트에 대응하는 하나의 노드 정보가 저장된 후, 계층 1내의 2개의 노드에 대응하는 2개의 노드 정보가 저장되며, 이어서 계층 2내의 4개의 노드에 대응하는 4개의 노드 정보가 저장되는 등과 동일한 방식으로 저장된다.
(b) 각 계층 내에서는, 계층내의 각 노드에 대응하는 노드 정보가 노드명의 내림차순으로 저장된다.
특히, 노드 정보는 도 3에 나타내는 트리 구조 테이블(D100)내에 아래의 순서로 저장된다.
"루트", "0", "1", "00", "01", "10", "11", "000", "001", "010", "011", …, "101", "110", "111", "0000", "0001", "0010", "0011", …, "1100", "1101", "1110", "1111".
여기에서, 노드 정보가 저장되는 순서는 각 노드 정보에 포함되는 노드명에 의해 나타낸다.
(2) 트리 구조 구성부(101)
트리 구조 구성부(101)는 이하 설명하는 바와 같이, 디바이스키를 관리하기 위한 n진 데이터 구조를 구성하여, 구성된 트리 구조를 트리 구조 저장부(102)에 저장한다. 여기에서, n은 2 이상의 정수이다. 일례로서, n=2이다.
트리 구조 구성부(101)는 먼저 노드명으로서 "루트"를 갖는 노드 정보를 생성하여, 생성된 노드 정보를 트리 구조 저장부(102)내의 트리 구조 테이블에 기입한다.
이어서, 트리 구조 구성부(101)는 계층 1내의 2개의 노드를 식별하는 노드명 "0" 및 "1"을 생성하고, 생성된 노드명 "0" 및 "1"을 각각 포함하는 2개의 노드 정보를 생성하며, 2개의 생성된 노드 정보를 트리 구조 저장부(102)내의 트리 구조 테이블에 상술한 순서로 기입한다.
이어서, 트리 구조 구성부(101)는 계층 2내의 4개의 노드를 식별하는 4개의 노드명 "00", "01", "10" 및 "11"을 생성하고, 각각 "00", "01", "10" 및 "11"을 포함하는 4개의 노드 정보를 생성하며, 4개의 생성된 노드 정보를 트리 구조 테이블에 상술한 순서로 추가한다.
이후에, 트리 구조 구성부(101)는 계층 3 및 계층 4에 대하여 노드 정보를 상술한 순서로 생성하고, 생성된 노드 정보를 트리 구조 테이블에 상술한 방법과 동일한 방식으로 기입한다.
이어서, 트리 구조 구성부(101)는 트리 구조내의 각 노드에 대해 난수를 이용하여 디바이스키를 생성하고, 생성된 디바이스키를 각각의 노드에 대응하여 트리 구조에 기입한다.
(3) 디바이스키 할당부(103)
디바이스키 할당부(103)는 후술하는 바와 같이, 사용자 장치가 아직 할당되지 않은 리프 및 디바이스키가 할당되는 사용자 장치에 대응하여 디바이스키를 선택하고, 선택된 디바이스키를 사용자 장치에 출력한다.
디바이스키 할당부(103)는 4 비트 길이의 변수 ID를 갖는다.
디바이스키 할당부(103)는 후술하는 처리 (a) 내지 (f)를 16회 실행한다. 매회 변수 ID는 값 "0000", "0001", "0010", …, "1110" 및 "1111" 중 하나를 갖는다. 상기 처리를 16회 실행함으로써, 디바이스키 할당부(103)는 ID 정보 및 5개의 디바이스키를 16개의 사용자 장치의 각각에 할당한다.
(a) 디바이스키 할당부(103)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 노드명 "루트"를 포함하는 노드 정보를 획득하고, 획득된 노드 정보로부터 디바이스키를 추출한다. 추출된 디바이스키는 루트에 할당되는 디바이스키이다.
(b) 디바이스키 할당부(103)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 변수 ID의 헤드 비트인 노드명을 포함하는 노드 정보를 획득하고, 획득된 노드 정보로부터 디바이스키를 추출한다. 이하 이러한 디바이스키를 디바이스키 A라고 한다.
(c) 디바이스키 할당부(103)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 변수 ID의 헤드 2 비트인 노드명을 포함하는 노드 정보를 획득하고, 획득된 노드 정보로부터 디바이스키를 추출한다. 이하 이러한 디바이스키를 디바이스키 B라고 한다.
(d) 디바이스키 할당부(103)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 변수 ID의 헤드 3 비트인 노드명을 포함하는 노드 정보를 획득하고, 획득된 노드 정보로부터 디바이스키를 추출한다. 이하 이러한 디바이스키를 디바이스키 C라고 한다.
(e) 디바이스키 할당부(103)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 변수 ID의 4 비트인 노드명을 포함하는 노드 정보를 획득하고, 획득된 노드 정보로부터 디바이스키를 추출한다. 이하 이러한 디바이스키를 디바이스키 D라고 한다.
(f) 디바이스키 할당부(103)는 ID 정보, 루트에 할당되는 디바이스키, 각 노드에 할당되는 디바이스키 A, B, C 및 D, 및 5개의 디바이스키 식별 정보를 사용자 장치내의 키 정보 저장부에 기입한다. ID 정보는 변수 ID이고, 식별 정보의 5개의 디바이스키는 각각 5개의 디바이스키를 식별한다.
이러한 방식으로, 각 사용자 장치내의 키 정보 저장부는 도 8에 일례로서 나타내는 바와 같이, ID 정보, 5개의 디바이스키 식별 정보 및 5개의 디바이스키를 저장한다. 여기에서, 5개의 디바이스키 식별 정보 및 5개의 디바이스키는 대응하여 저장된다. 각각의 디바이스키 식별 정보는 대응하는 디바이스키가 할당되는 계층의 번호(계층 번호)이다.
이러한 방식으로, ID 정보 및 5개의 디바이스키가 16개의 사용자 장치의 각각에 할당된다.
일례로서, 도 4에 나타내는 트리 구조(T100)는 상술한 바와 같이, 5개의 계층을 갖는 2진 트리이고, 16개의 리프를 포함한다. 여기에서, 16개의 사용자 장치가 있다고 가정하면, 각각의 사용자 장치는 리프 중 하나에 대응한다. 각 사용자 장치에는 대응하는 리프로부터 루트까지의 경로상의 노드에 할당되는 디바이스키가 제공된다. 예를 들어, 사용자 장치 1에는 5개의 디바이스키 IK1, KeyH, KeyD, KeyB 및 KeyA가 제공된다. 또한, 사용자 장치 1에는 예컨대, ID 정보 "0000"이 제공되고, 사용자 장치 14에는 ID 정보 "1101"이 제공된다.
(4) 무효화 장치 지정부(104)
무효화 장치 지정부(104)는 키 관리 장치(100)의 관리자로부터 무효화될 적어도 하나의 사용자 장치를 식별하는 적어도 하나의 ID 정보를 수신하고, 수신된 ID 정보를 키 구조 갱신부(105)에 출력한다.
(5) 키 구조 갱신부(105)
키 구조 갱신부(105)는 무효화 장치 지정부(104)로부터 적어도 하나의 ID 정보를 수신하고, ID 정보를 수신할 때, 적어도 하나의 ID 정보의 각각에 대해 아래의 처리 (a) 내지 (d)를 실행한다.
(a) 키 구조 갱신부(105)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 수신된 ID 정보를 노드명으로서 포함하는 노드 정보를 획득하고, 획득된 노드 정보에 무효화 플래그 "1"을 부가하며, 무효화 플래그 "1"이 부가된 노드 정보를 획득된 노드 정보가 저장되는 트리 구조 테이블내의 위치에 기입함으로써, 무효화 플래그가 부가된 노드 정보로 원래의 노드 정보를 재기입한다.
(b) 키 구조 갱신부(105)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 수신된 ID 정보의 헤드 3 비트를 노드명으로서 포함하는 노드 정보를 획득하고, 획득된 노드 정보에 무효화 플래그 "1"을 부가하며, 상술한 바와 동일한 방식으로 트리 구조 테이블내의 원래의 노드 정보를 재기입한다.
(c) 키 구조 갱신부(105)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 수신된 ID 정보의 헤드 2 비트를 노드명으로서 포함하는 노드 정보를 획득하고, 획득된 노드 정보에 무효화 플래그 "1"을 부가하며, 상술한 바와 동일한 방식으로 트리 구조 테이블내의 원래의 노드 정보를 재기입한다.
(d) 키 구조 갱신부(105)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 "루트"를 노드명으로서 포함하는 노드 정보를 획득하고, 획득된 노드 정보에 무효화 플래그 "1"을 부가하며, 상술한 바와 동일한 방식으로 트리 구조 테이블내의 원래의 노드 정보를 재기입한다.
설명한 바와 같이, 키 구조 갱신부(105)는 무효화 장치 지정부(104)로부터 수신된 ID 정보에 기초하여, 트리 구조내의 수신된 정보로 나타내는 리프로부터 루트까지의 경로상의 모든 노드를 무효화시킨다.
도 4에 나타내는 트리 구조(T100)에서 ID 정보 "0000", "1010" 및 "1011"로 나타내는 사용자 장치가 무효화되는 것으로 가정하면, 노드가 상술한 방식으로 무효화된 트리 구조(T200)를 도 5에 나타내고 있다.
또한, 트리 구조 테이블(D100)은 트리 구조(T200)에 대응하는 무효화 플래그를 갖는다.
트리 구조(T200)에서, ID 정보 "0000"으로 나타내는 사용자 장치 1에 대응하는 리프로부터 루트까지의 경로상의 모든 노드, ID 정보 "1010"으로 나타내는 사용자 장치 11에 대응하는 리프로부터 루트까지의 경로상의 모든 노드, 및 ID 정보 "1011"로 나타내는 사용자 장치 12에 대응하는 리프로부터 루트까지의 경로상의 모든 노드는 ×표로 표시되어 있다. 각 ×표는 무효화 노드를 나타낸다.
무효화 노드 중 하나에 대응하는 트리 구조 테이블(D100)내의 각각의 노드 정보에는 무효화 플래그가 부가되어 있다.
(6) 키 정보 헤더 생성부(106)
키 정보 헤더 생성부(106)는 다수의 계층을 나타내는 변수 i와, 계층내의 노드명을 나타내는 변수 j를 갖는다.
키 정보 헤더 생성부(106)는 트리 구조내의 각 계층에 대하여 후술하는 처리 (a)를 실행한다. 매회 키 정보 헤더 생성부(106)는 상기 처리를 실행하고, 계층 번호를 나타내는 변수 i는 값 "0", "1", "2" 또는 "3"을 갖는다.
(a) 키 정보 헤더 생성부(106)는 변수 i로 나타내는 계층 번호를 갖는 계층내의 각 노드에 대해 처리 (a-1) 내지 (a-3)을 실행한다. 여기에서, 처리 (a-1) 내지 (a-3)의 대상인 노드의 명은 변수 j로 나타낸다.
(a-1) 키 정보 헤더 생성부(106)는 트리 구조 저장부(102)내의 트리 구조로부터 변수 j 및 "0"을 결합하여 획득되는 노드명을 포함하는 노드 정보와, 변수 j 및 "1"을 결합하여 획득되는 노드명을 포함하는 노드 정보를 획득한다.
이러한 방식으로 획득되는 2개의 노드 정보는 변수 j로 나타내는 대상 노드에 직접적으로 하위에 있는(즉, 접속되어 바로 아래에 있는) 2개의 노드에 대응한다.
(a-2) 키 정보 헤더 생성부(106)는 2개의 획득된 노드 정보의 각각에 포함되는 무효화 플래그가 "0"인지의 여부를 검사한다. 둘다 "0"이 아닌 경우, 키 정보 헤더 생성부(106)는 2개의 획득된 노드 정보에 각각 포함되는 2개의 무효화 플래그를 2개의 노드 정보가 트리 구조 테이블에 저장되는 순서로 배열함으로써 노드 무효화 패턴(이하 "NRP")을 생성한다.
특히, 2개의 획득된 노드 정보의 무효화 플래그가 각각 "0" 및 "0"일 때, 키 정보 헤더 생성부(106)는 NRP를 생성하지 않는다.
또한, 2개의 획득된 노드 정보의 무효화 플래그가 각각 "1" 및 "0"일 때, 키 정보 헤더 생성부(106)는 NRP {10}을 생성한다.
2개의 획득된 노드 정보의 무효화 플래그가 각각 "0" 및 "1"일 때, 키 정보 헤더 생성부(106)는 NRP {01}을 생성한다.
2개의 획득된 노드 정보의 무효화 플래그가 각각 "1" 및 "1"일 때, 키 정보 헤더 생성부(106)는 NRP {11}을 생성한다.
(a-3) 키 정보 헤더 생성부(106)는 생성된 NRP를 키 정보 기록 장치(200)에 출력한다.
상술한 방식으로, 키 정보 헤더 생성부(106)는 계층내의 각 노드에 대하여 대상 노드의 2개의 직접적인 하위 노드가 무효화되는지의 여부를 검사하고, 2개의 하위 노드 중 어느 하나 또는 둘다가 무효화될 때 상술한 바와 같은 무효화 패턴을 생성한다. 도 5에 나타내는 트리 구조(T200)에서, 생성된 각 NRP는 ×표가 표시된 대응하는 노드 근방에 나타내고 있다.
또한, 키 정보 헤더 생성부(106)는 상술한 처리에서 NRP를 출력하기 때문에, 도 5에 나타내는 예에서는 도 6에 일례로서 나타내는 복수의 NRP가 생성되어 출력된다. 키 정보 헤더 생성부(106)는 이들 NRP를 헤더 정보로서 출력한다.
도 5에 나타내는 트리 구조(T200)에서, 사용자 장치 1, 사용자 장치 11 및 사용자 장치 12가 무효화된다. 여기에서, 무효화되는 각 사용자 장치에 대응하는 리프로부터 루트까지의 경로 상에 있는 노드(다시 말하면, 도 5에 ×표로 표시된 노드)는 무효화 노드라고 한다. 또한, NRP는 하나의 노드에 대한 2개의 자노드(child node)의 상태를 좌측에서 우측으로의 순서로 결합함으로써 만들어진다. 여기에서, "1"은 무효화된 자노드를 표현하는데 사용되지만, "0"은 무효화되지 않은 자노드를 표현하는데 사용된다. n진 트리에 있어서, 각 무효화 패턴은 n 비트 길이인 정보이다. 트리 구조(T200)내의 루트(T201)의 자노드는 모두 무효화되므로, 루트(T201)의 무효화 패턴은 {11}로 표현된다. 노드(T202)의 무효화 패턴은 {10}으로 표현된다. 노드(T203)는 무효화 노드이지만, 그 노드는 리프이기 때문에, 어떠한 자노드도 갖지 않고 무효화 패턴을 갖지도 않는다.
도 6에 일례로서 나타내는 바와 같이, 헤더 정보(D200)는 NRP {11}, {10}, {10}, {10}, {01}, {10} 및 {11}로 구성되며, 이들 NRP는 상술한 순서로 헤더 정보(D200)에 포함되어 있다.
노드 정보 패턴이 배열되어 있는 헤더 정보(D200)내의 위치가 설정된다. 이들 위치는 상술한 반복 처리에 따라 설정된다. 도 6에 나타내는 바와 같이, NRP {11}, {10}, {10}, {10}, {01}, {10} 및 {11}은 각각 "0", "1", "2", "3", "4", "5" 및 "6"으로 정해진 위치에 배열된다.
상술한 바와 같이, 키 정보 헤더 생성부(106)는 적어도 하나의 무효화 노드의 NRP를 추출하고, 추출된 적어도 하나의 NRP를 키 정보의 헤더 정보로서 키 정보 기록 장치(20)에 출력한다. 여기에서, 키 정보 헤더 생성부(106)는 레벨 순으로 배열한다. 바꿔 말하면, 키 정보 헤더 생성부(106)는 복수의 NRP를 최상위 계층으로부터 최하위 계층까지의 순서로 배열하고, 동일한 계층의 NRP를 좌측으로부터 우측으로 배열한다. NRP는 어떤 종류의 규칙에 기초하여 배열되면 된다. 예를 들어, 동일한 계층내의 NRP는 우측으로부터 좌측으로 배열되어도 된다.
(7) 키 정보 생성부(107)
키 정보 생성부(107)는 키 정보 헤더 생성부(106)와 같이, 계층 번호를 나타내는 변수 i와, 계층내의 노드명을 나타내는 변수 j를 갖는다.
키 정보 생성부(107)는 계층 0을 제외한 각 계층에 대해 이하의 처리 (a)를 실행한다. 각 계층에 대해 처리 (a)를 실행할 때, 계층 번호를 나타내는 변수 i는 값 "1", "2" 또는 "3"을 보유한다.
(a) 키 정보 생성부(107)는 변수 i로 나타내는 계층 번호를 갖는 계층내의 각 노드에 대해 처리 (a-1) 내지 (a-3)을 실행한다. 여기에서, 처리 (a-1) 내지 (a-3)의 대상인 노드의 명은 변수 j로 나타낸다.
(a-1) 키 정보 생성부(107)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 변수 j를 포함하는 노드 정보를 노드명으로서 획득하고, 획득된 노드 정보내의 무효화 플래그가 "1" 또는 "0"인지를 판정한다.
(a-2) 무효화 플래그가 "0"인 경우, 키 정보 생성부(107)는 암호화가 대상 노드의 직접적인 상위에 접속되는 노드에 대응하는 디바이스키를 사용하여 실행되었는지의 여부를 추가로 판정한다.
(a-3) 암호화가 대상 노드의 직접적인 상위에 접속되는 노드에 대응하는 디바이스키를 사용하여 실행되지 않은 경우, 키 정보 생성부(107)는 획득된 노드 정보로부터 디바이스키를 추출하고, 추출된 디바이스키를 이용하여 생성된 매체키를 암호화 알고리즘 E1을 적용하여 암호화하여, 암호화된 매체키를 생성한다.
암호화된 매체키 = E1 (디바이스키, 매체키)
여기에서, E (A, B)는 데이터 B가 키 A를 이용하여 암호화 알고리즘 E를 적용하여 암호화되는 것을 나타낸다.
암호화 알고리즘 E1의 일례로서 DES(Data Encryption Standard)가 있다.
이어서, 키 정보 생성부(107)는 생성한 암호화된 매체키를 키 정보 기록 장치(200)에 출력한다.
무효화 플래그가 "1"인 경우, 또는 암호화가 실행된 경우, 키 정보 생성부(107)는 처리 (a-3)을 실행하지 않는다.
키 정보 생성부(107)는 상술한 바와 같이 반복적으로 상술한 처리를 실행하기 때문에, 도 5에 나타내는 예에서는, 도 7에 일례로 나타내는 바와 같이 복수의 암호화된 매체키가 생성되어 출력된다. 키 정보 생성부(107)는 복수의 암호화된 매체키를 키 정보(D300)로서 출력한다.
매체키가 키 정보(D300)에 저장되는 위치가 설정된다. 이들 위치는 상술한 처리에 따라 설정된다. 도 7에 나타내는 바와 같이, 암호화된 매체키 E1 (keyE, 매체키), E1 (keyG, 매체키), E1 (keyI, 매체키), E1(keyL, 매체키) 및 E1 (IK2, 매체키)는 각각 "0", "1", "2", "3" 및 "4"로 정해진 위치에 저장된다.
1.1.2 키 정보 기록 장치(200)
키 정보 기록 장치(200)는 키 정보 헤더 생성부(106)로부터 헤더 정보를 수신하고, 키 정보 생성부(107)로부터 키 정보를 수신하며, 수신된 헤더 정보 및 키 정보를 기록 매체(500a)에 기입한다.
1.1.3 기록 매체(500a, 500b 및 500c)
기록 매체(500a)는 DVD-RAM과 같은 기록 가능 매체로서 어떠한 종류의 정보도 저장하고 있지 않다.
기록 매체(500b)는 상술한 방식으로 헤더 정보가 부가되어 있는 키 정보가 키 관리 장치(100) 및 키 정보 기록 장치(200)에 기입된 기록 매체(500a)이다.
기록 매체(500c)는 상술한 방식으로 암호화된 컨텐츠가 기록 장치(300a 등) 중 어느 하나에 기입된 기록 매체(500b)이다.
도 8에 나타내는 바와 같이, 헤더 정보가 부가되어 있는 키 정보 및 암호화된 컨텐츠는 기록 매체(500c)에 기록된다.
1.1.4 기록 장치(300a 등)
기록 장치(300a 등)는 도 8에 나타내는 바와 같이, 키 정보 저장부(301), 복호화부(302), 특정부(303), 암호화부(304) 및 컨텐츠 저장부(305)로 구성된다. 기록 장치(300b 등)는 기록 장치(300a)와 동일한 구성을 가지므로, 그 설명은 생략한다.
기록 장치(300a 등)는 마이크로프로세서, ROM 및 RAM을 포함한다. 컴퓨터 프로그램이 RAM에 저장되어 있다. 기록 장치(300a)는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 그 기능을 달성한다.
기록 매체(500b)가 기록 장치(300a)에 적재된다. 기록 장치(300a)는 복호화될 암호화된 매체키 및 사용될 디바이스키의 위치를 특정하기 위해, 기록 장치(300a) 자체에 저장되어 있는 ID 정보에 기초하여 기록 매체(500b)에 저장된 헤더 정보를 분석하고, 특정된 디바이스키를 사용하여 암호화된 매체키를 복호화하여 결국 매체키를 획득한다. 이어서, 기록 장치(300a)는 획득된 매체키를 이용하여 디지털화된 컨텐츠를 암호화하고, 암호화된 컨텐츠를 기록 매체(500b)에 기록한다.
(1) 키 정보 저장부(301)
키 정보 저장부(301)는 ID 정보, 5개의 디바이스키, 및 5개의 디바이스키를 각각 식별하기 위한 5개의 디바이스키 식별 정보를 저장하는 영역을 갖는다.
(2) 특정부(303)
특정부(303)는 키 관리 장치(100)내의 키 정보 헤더 생성부(106)가 상술한 순서 규칙 1에 따르는 키 정보의 헤더 정보를 생성하였다는 가정 하에 동작한다.
특정부(303)는 키 정보 저장부(301)로부터 ID 정보를 판독한다. 특정부(303)는 또한 기록 매체(500b)로부터 헤더 정보 및 키 정보를 판독한다. 이어서, 특정부(303)는 판독된 ID 정보 및 판독된 헤더 정보를 이용하여 헤더 정보를 최상위로부터 순차적으로 검사함으로써 키 정보내의 하나의 암호화된 매체키의 위치 X를 특정하고, 암호화된 매체키를 복호화할 때 사용될 디바이스키를 식별하는 디바이스키 식별 정보를 특정한다. 암호화된 매체키의 위치 X를 특정하고, 디바이스키 식별 정보를 특정하는 동작의 상세한 설명은 후술한다.
이어서, 특정부(303)는 특정된 매체키 및 특정된 디바이스키 식별 정보를 복호화부(302)에 출력한다.
(3) 복호화부(302)
복호화부(302)는 특정부(303)로부터 암호화된 매체키 및 디바이스키 식별 정보를 수신한다. 암호화된 매체키 및 디바이스키 식별 정보를 수신할 때, 복호화부(302)는 키 정보 저장부(301)로부터 수신된 디바이스키 식별 정보에 의해 식별되는 디바이스키를 판독하고, 판독된 디바이스키를 이용하여 복호화 알고리즘 D1을 적용하여 수신한 암호화된 매체키를 복호화하여 매체키를 생성한다.
매체키 = D1 (디바이스키, 암호화된 매체키)
여기에서, D (A ,B)는 키 A를 이용하여 복호화 알고리즘 D를 적용하여 암호화된 데이터 B를 복호화하여 원래의 데이터를 생성하는 것을 나타낸다.
또한, 복호화 알고리즘 D1은 암호화 알고리즘 E1에 대응하고, 암호화 알고리즘 E1을 적용하여 암호화된 데이터를 복호화하는 알고리즘이다.
이어서, 복호화부(302)는 생성된 매체키를 키 정보 갱신부(304)에 출력한다.
도 8에 나타내는 각 블록은 접속선에 블록에 접속되지만, 일부 접속선은 생략되어 있다. 여기에서, 각 접속선은 신호 및 정보가 전송되는 경로를 나타낸다. 또한, 복호화부(302)를 나타내는 블록에 접속하는 접속선 중, 키 표시로 도시되어 있는 선은 정보가 복호화부(302)에 전송되는 경로를 키로서 나타낸다. 이것은 키 정보 갱신부(304)에 대해서 동일하며, 다른 도면에서의 다른 블록에 대해서도 동일하다.
(4) 컨텐츠 저장부(305)
컨텐츠 저장부(305)는 디지털화된 음악과 같은 디지털 저작물인 컨텐츠를 저장한다.
(5) 암호화부(304)
암호화부(304)는 복호화부(302)로부터 매체키를 수신하고, 컨텐츠 저장부(305)로부터 컨텐츠를 판독한다. 이어서, 암호화부(304)는 판독된 컨텐츠를 수신된 매체키를 이용하여 암호화 알고리즘 E2를 적용하여 암호화하여 암호화된 컨텐츠를 생성한다.
암호화된 컨텐츠 = E2 (매체키, 컨텐츠)
여기에서, 암호화 알고리즘 E2는 예컨대, DES 암호화 알고리즘이다.
이어서, 암호화부(304)는 생성한 암호화된 컨텐츠를 기록 매체(500b)에 기입한다. 그 결과, 암호화된 컨텐츠가 기입된 기록 매체(500c)가 생성된다.
1.1.5 재생 장치(400a, 400b, 400c, …)
재생 장치(400a)는 도 9에 나타내는 바와 같이, 키 정보 저장부(401), 특정부(402), 복호화부(403), 복호화부(404) 및 재생부(405)로 구성된다. 재생 장치(400b 등)는 재생 장치(400a)와 동일한 구성을 가지므로, 그 설명은 생략한다.
재생 장치(400a)는 특히 마이크로프로세서, ROM 및 RAM을 포함한다. 컴퓨터 프로그램이 RAM에 저장되어 있다. 재생 장치(400a)는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 그 기능을 달성한다.
여기에서, 키 정보 저장부(401), 특정부(402) 및 복호화부(403)는 각각 키 정보 저장부(301), 특정부(303) 및 복호화부(302)와 동일한 구성을 가지므로, 그 설명은 생략한다.
기록 매체(500c)가 재생 장치(400a)에 적재된다. 재생 장치(400a)는 재생 장치(400a) 자체가 저장하는 ID 정보에 기초하여 복호화될 암호화된 매체키 및 사용될 디바이스키의 위치를 특정하기 위해 기록 매체(500c)에 저장된 헤더 정보를 분석하고, 특정한 암호화된 매체키를 특정된 디바이스키를 이용하여 복호화하여 매체키를 획득한다. 이어서, 재생 장치(400a)는 기록 매체(500c)에 저장되어 있는 암호화된 컨텐츠를 획득된 매체키를 이용하여 복호화하여 컨텐츠를 재생한다.
(1) 복호화부(404)
복호화부(404)는 복호화부(403)로부터 매체키를 수신하고, 기록 매체(500c)로부터 암호화된 컨텐츠를 판독하며, 판독한 암호화된 컨텐츠를 수신된 매체키를 이용하여 복호화 알고리즘 D2를 적용하여 복호화하여 컨텐츠를 생성하고, 생성된 컨텐츠를 재생부(405)에 출력한다.
컨텐츠 = D2 (매체키, 암호화된 컨텐츠)
여기에서, 복호화 알고리즘 D2는 암호화 알고리즘 E2에 대응하고, 암호화 알고리즘 E2를 적용하여 암호화된 데이터를 복호화하는 알고리즘이다.
(2) 재생부(405)
재생부(405)는 복호화부(404)로부터 컨텐츠를 수신하고, 수신된 컨텐츠를 재생한다. 예를 들어, 컨텐츠가 음악인 경우, 재생부(405)는 컨텐츠를 오디오로 변환하여 오디오를 출력한다.
1.2 디지털 저작물 보호 시스템(10)의 동작
이하 디지털 저작물 보호 시스템(10)의 동작을 설명한다.
1.2.1 디바이스키를 할당하고, 기록 매체를 생성하며, 컨텐츠를 암호화 또는 복호화하는 동작
여기에서는, 도 10의 플로우차트를 사용하여, 디바이스 키를 각 사용자 장치에 할당하는 동작, 키 정보를 생성하여 키 정보를 기록 매체에 기입하는 동작 및 사용자 장치에 의해 컨텐츠를 암호화 또는 복호화하는 동작을 설명한다. 특히, 디바이스키가 제 3자에 의해 부정하게 노출될 때까지의 동작을 설명한다.
키 관리 장치(100)내의 트리 구조 구성부(101)는 트리 구조를 나타내는 트리 구조 테이블을 생성하고, 생성된 트리 구조 테이블을 트리 구조 저장부(102)에 기입한다(단계 S101). 이어서, 트리 구조 구성부(101)는 트리 구조의 각 노드에 대한 디바이스키를 생성하고, 각각의 노드에 대응하여 생성된 각 디바이스키를 트리 구조 테이블에 기입한다(단계 S102). 이어서, 디바이스키 할당부(103)는 디바이스키, 디바이스키 정보 및 ID 정보를 대응하는 사용자 장치에 출력한다(단계 S103 내지 S104). 사용자 장치의 키 정보 저장부는 디바이스키, 디바이스키 식별 정보 및 ID 정보를 수신하여(단계 S104), 수신된 디바이스키, 디바이스키 식별 정보 및 ID 정보를 기록한다(단계 S111).
이러한 방식으로, 디바이스키, 디바이스키 식별 정보 및 ID 정보가 기록되어 있는 사용자 장치가 생성되고, 생성된 사용자 장치가 사용자에게 판매된다.
이어서, 키정보 생성부(107)는 매체키를 생성하고(단계 S105), 키 정보를 생성하며(단계 S106), 생성된 키 정보를 키 정보 기록 장치(200)를 통해 기록 매체(500a)에 출력한다(단계 S107 내지 S108). 기록 매체(500a)는 키 정보를 저장한다(단계 S121).
이러한 방식으로, 키 정보가 기록되어 있는 기록 매체(500b)가 생성되어 사용자에게 예컨대, 판매에 의해 배포된다.
이어서, 키 정보가 기록되어 있는 기록 매체가 사용자 장치에 적재되고, 사용자 장치는 기록 매체로부터 키 정보를 판독하며(단계 S131), 판독된 키 정보를 사용하여 사용자 장치 자체에 할당되는 암호화된 매체키를 특정하고(단계 S132), 매체키를 복호화한다(단계 S133). 그 후, 사용자 장치는 암호화된 매체키를 사용하여 컨텐츠를 암호화하여, 암호화된 컨텐츠를 기록 매체(500b)에 기입하거나, 기록 매체(500c)로부터 기록되어 있는 암호화된 컨텐츠를 판독하여, 판독한 암호화된 컨텐츠를 매체키를 사용하여 복호화하여 컨텐츠를 생성한다(단계 S134).
이러한 방식으로, 암호화된 컨텐츠가 사용자 장치에 의해 기록 매체(500b)에 기입되고, 기록 매체(500c)에 기록되어 있는 암호화된 컨텐츠가 판독되어 사용자 장치에 의해 복호화된 후 재생된다.
이어서, 제 3자가 어떤 종류의 수단에 의해 디바이스키를 부정하게 획득한다. 제 3자는 컨텐츠를 부정하게 유통시키고, 정당한 사용자 장치의 복제물인 불법 장치를 생산하여 판매한다.
키 관리 장치(100)의 관리자 또는 컨텐츠의 저작권자는 컨텐츠가 부정하게 유통되거나 불법 장치가 유통되는 것을 발견하고, 그에 따라 디바이스키가 누출된 것을 알게 된다.
1.2.2 디바이스키가 노출된 후의 동작
여기에서는, 도 11의 플로우차트를 사용하여, 디바이스키가 제 3자에 의해 부정하게 노출된 후에, 노출된 디바이스키에 대응하는 트리 구조내의 노드를 무효화시키는 동작, 새로운 키 정보를 생성하여 생성된 키 정보를 기록 매체에 기입하는 동작 및 사용자 장치에 의해 컨텐츠를 암호화 또는 복호화하는 동작을 설명한다.
키 관리 장치(100)의 무효화 장치 지정부(104)는 무효화될 적어도 하나의 사용자 장치에 관한 적어도 하나의 ID 정보를 수신하여, 수신된 ID 정보를 키 구조 갱신부(105)에 출력한다(단계 S151). 이어서, 키 구조 갱신부(105)는 ID 정보를 수신하고, 수신된 ID 정보를 사용하여 트리 구조를 갱신한다(단계 S152). 키 정보 헤더 생성부(106)는 헤더 정보를 생성하여, 생성된 헤더 정보를 키 정보 기록 장치(200)에 출력한다(단계 S153). 키 정보 생성부(107)는 매체키를 생성하고(단계 S154), 키 정보를 생성하며(단계 S155), 생성된 키 정보를 키 정보 기록 장치(200)를 통해 출력하고(단계 S156 내지 S157), 키 정보를 기록 매체(500a) 상에 기록한다(단계 S161).
이러한 방식으로, 키 정보가 기록되어 있는 기록 매체(500b)가 생성된 후 예컨대, 판매에 의해 사용자에게 배포된다.
이어서, 키 정보가 기록되어 있는 기록 매체가 사용자 장치에 적재되고, 사용자 장치는 기록 매체로부터 키 정보를 판독하며(단계 S171), 판독된 키 정보를 사용하여 사용자 장치 자체에 할당되어 있는 암호화된 매체키를 특정하고(단계 S172), 매체키를 복호화한다(단계 S173). 그 후, 사용자 장치는 복호화된 매체키를 이용하여 컨텐츠를 암호화하여 암호화된 컨텐츠를 기록 매체(500b)에 기입하거나, 기록 매체(500c)에 기록되어 있는 암호화된 컨텐츠를 판독하여 판독한 암호화된 컨텐츠를 매체키를 이용하여 복호화하여 컨텐츠를 생성한다(단계 S174).
이러한 방식으로, 암호화된 컨텐츠가 사용자 장치에 의해 기록 매체(500b)에 기입되고, 기록 매체(500c)에 기록되어 있는 암호화된 컨텐츠가 사용자 장치에 의해 판독되어 복호화된 후 재생된다.
1.2.3 트리 구조를 구성하고 저장하는 동작
여기에서는, 도 12의 플로우차트를 사용하여, 트리 구조 구성부(101)에 의해 트리 구조 테이블을 생성하여 트리 구조 테이블을 트리 구조 저장부(102)에 기입하는 동작을 설명한다. 여기에서 설명하는 동작은 도 10의 플로우차트에서의 단계 S101의 상세한 설명이다.
트리 구조 구성부(101)는 "루트"를 노드명으로 포함하는 노드 정보를 생성하여 생성된 노드 정보를 트리 구조 저장부(102)내의 트리 구조 테이블에 기입한다(단계 S191).
이어서, 트리 구조 구성부(101)는 계층 i(i=1,2,3,4)에 대해 이후의 단계 S193 내지 S194를 반복한다.
트리 구조 구성부(101)는 2i개의 문자의 열을 노드명으로 생성하고(단계 S193), 2i개의 문자의 열을 노드명으로 포함하는 노드 정보를 트리 구조 테이블에 순서대로 기입한다(단계 S194).
1.2.4 디바이스키 및 ID 정보를 사용자 장치에 출력하는 동작
여기에서는, 도 13의 플로우차트를 사용하여, 디바이스키 할당부(103)에 의해 디바이스키 및 ID 정보를 사용자 장치에 출력하는 동작을 설명한다. 여기에서 설명하는 동작은 도 10의 플로우차트에서의 단계 S103의 상세한 설명이다.
디바이스키 할당부(103)는 변수 ID를 "0000", "0001", "0010", …, "1110" 및 "1111"이 되도록 변화시키고, 각 변수 ID에 대해 이후의 단계 S222 내지 S227을 반복한다.
디바이스키 할당부(103)는 루트에 할당되는 디바이스키를 획득하고(단계 S222), 노드명이 변수 ID의 헤드 비트인 노드에 할당되는 디바이스키 A를 획득하며(단계 S223), 노드명이 변수 ID의 헤드 2 비트인 노드에 할당되는 디바이스키 B를 획득하고(단계 S224), 노드명이 변수 ID의 헤드 3 비트인 노드에 할당되는 디바이스키 C를 획득하며(단계 S225), 노드명이 변수 ID의 헤드 4 비트인 노드에 할당되는 디바이스키 D를 획득하고(단계 S226), 각 노드에 할당되는 디바이스키 A, B, C 및 D를 사용자 장치에 출력한다(단계 S227).
1.2.5 트리 구조를 갱신하는 동작
여기에서는, 도 14의 플로우차트를 사용하여, 키 구조 갱신부(105)에 의해 트리 구조를 갱신하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S152의 상세한 설명이다.
키 구조 갱신부(105)는 무효화 장치 지정부(104)로부터 수신되는 적어도 하나의 ID 정보의 각각에 대해 이후의 단계 S242 내지 S246을 실행한다.
키 구조 갱신부(105)는 수신된 ID 정보를 노드명으로 포함하는 노드 정보를 획득하고, 획득된 노드 정보에 무효화 플래그 "1"을 부가한다(단계 S242).
이어서, 키 구조 갱신부(105)는 수신된 ID 정보의 헤드 3 비트를 노드명으로 포함하는 노드 정보를 획득하고, 획득된 노드 정보에 무효화 플래그 "1"을 부가한다(단계 S243).
이어서, 키 구조 갱신부(105)는 수신된 ID 정보의 헤드 2 비트를 노드명으로 포함하는 노드 정보를 획득하여 획득된 노드 정보에 무효화 플래그 "1"을 부가한다(단계 S244).
이어서, 키 구조 갱신부(105)는 수신된 ID 정보의 헤드 비트를 노드명으로 포함하는 노드 정보를 획득하여 획득된 노드 정보에 무효화 플래그 "1"을 부가한다(단계 S245).
이어서, 키 구조 갱신부(105)는 "루트"를 노드명으로 포함하는 노드 정보를 획득하여 획득된 노드 정보에 무효화 플래그 "1"을 부가한다(단계 S246).
1.2.6 헤더 정보를 생성하는 동작
여기에서는, 도 15의 플로우차트를 사용하여, 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S153의 상세한 설명이다.
키 정보 헤더 생성부(106)는 계층 0으로부터 계층 3까지의 각 계층에 대해 단계 S262 내지 S266을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S263 내지 S265를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 직접적인 하위 노드를 선택하고(단계 S263), 2개의 선택된 노드에 무효화 플래그가 부가되어 있는지의 여부를 검사하여 NRP를 생성하며(단계 S264), 생성된 무효화 패턴을 출력한다(단계 S265).
1.2.7 키 정보를 생성하는 동작
여기에서는, 도 16의 플로우차트를 사용하여, 키 정보 생성부(107)에 의해 키 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S155의 상세한 설명이다.
키 정보 생성부(107)는 계층 1로부터 계층 3까지의 각 계층에 대해 단계 S282 내지 S287을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S283 내지 S286을 추가로 실행한다.
키 정보 생성부(107)는 무효화 플래그 "1"이 대상 노드에 부가되어 있는지의 여부를 판정한다. 무효화 플래그 "1"이 부가되어 있지 않은 경우(단계 S283), 키 정보 생성부(107)는 암호화가 대상 노드의 상위 노드에 대응하는 디바이스키를 사용하여 실행되었는지의 여부를 추가로 판정한다. 암호화가 실행되지 않은 경우(단계 S284), 키 정보 생성부(107)는 트리 구조 테이블로부터 대상 노드에 대응하는 디바이스키를 획득하고(단계 S285), 획득된 디바이스키를 사용하여 생성된 매체키를 암호화하여 암호화된 매체키를 생성하며, 암호화된 매체키를 출력한다(단계 S286).
무효화 플래그 "1"이 대상 노드에 부가되어 있는 경우(단계 S283), 또는 암호화가 실행된 경우(단계 S284), 키 정보 생성부(107)는 단계 S285 내지 S286을 실행하지 않는다.
1.2.8 키 정보를 특정하는 동작
여기에서는, 도 17의 플로우차트를 사용하여, 기록 장치(300a)의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보로부터 암호화된 매체키를 특정하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S172의 상세한 설명이다.
또한, 재생 장치(400a)의 특정부(402)에 의해 실행되는 동작은 특정부(303)에 의해 실행되는 동작과 동일하므로, 그 설명은 생략한다.
특정부(303)는 암호화된 매체키의 위치를 나타내는 변수 X, 사용자 장치 자체에 관련된 NRP의 위치를 나타내는 변수 A, 계층내의 NRP의 수를 나타내는 변수 W 및 트리 구조내의 계층의 수를 나타내는 변수 D를 갖는다. 여기에서, 사용자 장치 자체에 관련된 NRP는 사용자 장치에 할당되는 리프로부터 루트까지의 경로 상에 있는 트리 구조내의 노드의 NRP를 나타낸다.
특정부(303)는 이하의 절차에 따라 계층 i=0에서 계층 i=D-1까지를 분석한다.
특정부(303)는 변수 A=0, 변수 W=1 및 변수 i=0을 초기값으로 설정한다(단계 S301).
특정부(303)는 변수 i와 값 D를 비교하여, 변수 i가 값 D보다 큰 경우(단계 S302), 사용자 장치는 무효화 장치이므로, 특정부(303)는 상기 처리를 종료시킨다.
변수 i가 값 D 이하인 경우(단계 S302), 특정부(303)는 ID 정보의 최상위 i번째 비트의 값에 대응하는 비트 위치에 있는 값 B가 "0"인지 "1"인지를 검사하여 값 B가 대응하는 것이 NRP의 좌측 비트 및 우측 비트 중 어느 것인지를 결정한다(단계 S303). 여기에서, 도 4에 나타내는 바와 같이, 트리 구조내의 좌측 경로에 "0"이 할당되고, 우측 경로에 "1"이 할당되어 있으며, ID 정보가 이러한 규칙에 기초하여 구성되어 있기 때문에, ID 정보의 최상위 i번째 비트의 값 "0"은 A번째 NRP의 좌측 비트에 대응하지만, 값 "1"은 A번째 NRP의 우측 비트에 대응한다.
값 B=0인 경우(단계 S303), 특정부(303)는 지금까지 검사된 NRP 중에서 비트가 모두 값 "1"을 갖지 않는 NRP의 수를 카운트하고, 카운트된 값을 변수 X로 설정한다. 이러한 방식으로 획득된 변수 X는 암호화된 매체키의 위치를 나타낸다. 또한, 이 포인트에서의 변수 i는 디바이스키를 식별하기 위한 디바이스키 식별 정보이다(단계 S307). 특정부(303)는 그 후 상기 처리를 종료시킨다.
값 B=1인 경우(단계 S303), 특정부(303)는 계층 i내의 W개의 모든 NRP의 "1"의 수를 카운트하고 카운트된 값을 변수 W로 설정한다. 이러한 방식으로 획득된 변수 W는 이후의 계층 i+1내의 NRP의 수를 나타낸다(단계 S304).
이어서, 특정부(303)는 계층 i내의 첫번째 NRP로부터 시작하여 대응하는 비트 위치의 NRP까지의 "1"의 수를 카운트하고 카운트된 값을 변수 A로 설정한다. 여기에서, 대응하는 비트 위치의 값은 카운트되지 않는다. 이러한 방식으로 획득된 변수 A는 이후의 계층 i+1내의 NRP 중에서 사용자 장치 자체에 관련된 NRP의 위치를 나타낸다(단계 S305).
이어서, 특정부(303)는 변수 i=i+1을 계산하고(단계 S306) 단계 S302로 제어를 이동시켜 상술한 처리를 반복한다.
1.2.9 키 정보를 특정하는 동작의 구체예
이하 도 6 및 도 7에 나타내는 헤더 정보 및 키 정보를 이용하여 암호화된 매체를 특정할 때까지 도 5에 나타내는 무효화되지 않은 사용자 장치 14에 의한 동작의 하나의 구체예를 설명한다. 여기에서, 사용자 장치 14에는 ID 정보 "1101" 및 디바이스키 "KeyA", "KeyC", "KeyG", "KeyN" 및 "IK14"가 할당되어 있다고 가정한다.
<단계 1> 사용자 장치 14에 할당된 ID 정보 "1101"의 최상위 비트의 값이 "1"이기 때문에, 특정부(303)는 첫번째 NRP {11}의 우측 비트를 검사한다(단계 S303).
<단계 2> 첫번째 NRP {11}의 우측 비트의 값이 "1"이기 때문에, 특정부(303)는 분석을 계속한다(단계 S303, B=1).
<단계 3> 특정부(303)는 계층 0내의 NRP {11}내의 "1"의 수를 카운트한다. 카운트된 값이 "2"이기 때문에, 특정부(303)는 이후의 계층 1내에 2개의 NRP가 존재하는 것을 알게 된다(단계 S304).
<단계 4> 특정부(303)는 대응하는 비트 위치까지 NRP내의 "1"의 수를 카운트한다. 대응하는 비트 위치의 값은 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 이후의 계층 1에 대응하는 NRP는 계층 1내의 위치 1에 있다(단계 S305).
<단계 5> 이어서, ID 정보 "1101"의 최상위로부터 두번째 비트의 값이 "1"이기 때문에, 특정부(303)는 계층 1내의 첫번째 NRP {10}의 우측 비트를 검사한다(단계 S303).
<단계 6> 여기에서, 계층 1내의 첫번째 NRP {10}의 우측 비트의 값이 "0"이기 때문에, 특정부(303)는 분석을 종료한다(단계 S303, B=0).
<단계 7> 특정부(303)는 지금까지 분석된 NRP 중에서 비트가 모두 값 "1"을 갖지 않는 NRP의 수를 카운트한다. 최후에 검사된 NRP는 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 암호화된 매체키는 키 정보내의 위치 1에 있다(단계 S307).
<단계 8> 도 7에 나타내는 바와 같이, 키 정보내의 위치 1에 저장된 암호화된 매체키는 E1 (KeyG, 매체키)이다.
사용자 장치 14는 KeyG를 갖는다. 따라서, 사용자 장치 14는 KeyG를 사용하여 암호화된 매체키를 복호화하여 매체키를 획득할 수 있다.
1.3 결론
상술한 바와 같이, 제 1 실시예에 따르면, 복수의 NRP가 기록 매체에 미리 저장된 키 정보의 헤더 정보에 레벨 순서로 배열되므로, 키 정보의 크기가 소형화된다. 또한, 플레이어는 복호화될 암호화된 매체키를 효율적으로 특정할 수 있다.
2. 제 2 실시예
여기에서는 제 1 실시예의 변형으로서 제 2 실시예를 설명한다.
제 1 실시예에서는, 도 18에 일례로서 나타내는 바와 같이, 무효화된 사용자 장치가 트리 구조내의 특정 리프 근방에 발생할 가능성이 있다. 이 경우에는, 키 관리 장치(100)가 기록 매체에 기입하는 키 정보의 헤더 정보 내에 {11}인 NRP가 다수 존재한다. 도 18에 나타내는 예에서, 트리 구조(T300)의 좌반부의 리프는 모두 무효화 장치에 대응하므로, 키 정보내의 헤더 정보에 포함되는 11개의 NRP 중 8개는 {11}이다.
도 18에 나타내는 예에서, 트리 구조(T300)의 좌측상의 모든 장치가 무효화되기 때문에, 계층 1의 좌측 노드 및 그 하위 노드 모두가 무효화 노드인 것을 나타내는 경우, 좌반부내의 각각 노드에 대응하는 NRP를 헤더 정보로서 기록할 필요가 없다.
이를 위해, 제 2 실시예에서는 디지털 저작물 보호 시스템(10b)(도시 생략)은 무효화 장치가 특정 리프 근방에 집중적으로 발생하는 경우에 헤더 정보의 데이터 크기를 감소시킬 수 있다.
키 관리 장치(100)는 제 1 실시예에서 설명한 바와 같이, 키 정보의 헤더 정보로서 NRP를 생성한다. 여기에서, 1 비트가 NRP의 헤드에 추가된다. 추가된 비트 "1"은 특정 노드의 자손 노드에 할당되는 모든 사용자 장치가 무효화된 장치인 것을 의미한다. 도 19에서, 노드 T401 및 노드 T402의 자손 노드에 할당되는 모든 장치가 무효화되지 않으므로, 헤드 비트는 "0"이고, 노드 T401 및 노드 T402의 NRP는 각각 {011} 및 {010}으로 표현된다. 노드 T403의 자손 노드에 할당되는 모든 장치는 무효화되기 때문에, 노드 T403에 대한 NRP는 {111}로 표현된다. 키 관리 장치(100)는 노드 T403의 자손 노드에 대한 어떠한 NRP도 기록 매체에 기입하지 않는다.
2.1 디지털 저작물 보호 시스템(10b)의 구성
디지털 저작물 보호 시스템(10b)은 디지털 저작물 보호 시스템(10)과 유사한 구성을 갖는다. 여기에서는, 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10b)의 특징을 설명한다.
제 2 실시예에서는, 도 19에 나타내는 바와 같이, 사용자 장치 1 내지 8 및 사용자 장치 12가 무효화되어 있다.
2.1.1 키 관리 장치(100)
디지털 저작물 보호 시스템(10b)의 키 관리 장치(100)는 제 1 실시예에서 설명한 것과 유사한 구성을 갖는다. 여기에서는 제 1 실시예에서의 키 관리 장치(100)와 다른 제 2 실시예에서의 키 관리 장치(100)의 특징을 설명한다.
(1) 트리 구조 저장부(102)
트리 구조 저장부(102)는 트리 구조 테이블(D100) 대신에, 도 20에 나타내는 트리 구조 테이블(D400)을 일례로서 갖는다.
트리 구조 테이블(D400)은 일례로서 도 19에 나타내는 트리 구조(T400)에 대응하고, 트리 구조(T400)을 표현하기 위한 데이터 구조이다.
트리 구조 테이블(D400)은 트리 구조(T400)내의 노드의 수와 같은 다수의 노드 정보를 포함한다. 노드 정보는 트리 구조(T400)내의 노드에 각각 대응한다.
각각의 노드 정보는 노드명, 디바이스키, 무효화 플래그 및 NRP를 포함한다.
노드명, 디바이스키 및 무효화 플래그는 제 1 실시예에서 설명한 것과 같으므로, 여기에서 그 설명은 생략한다.
NRP는 3 비트로 구성된다. 최상위 비트는 상술한 바와 같이, 대응하는 노드명으로 나타내는 자손 노드에 할당되는 모든 사용자 장치는 무효화된 장치이다. 하위 2 비트의 컨텐츠는 제 1 실시예에서 설명한 NRP와 동일하다.
(2) 키 정보 헤더 생성부(106)
NRP의 헤드 비트가 "1"인 경우, 키 정보 헤더 생성부(106)는 노드의 자손 노드에 할당되는 모든 사용자 장치가 무효화된 장치인 것을 나타내는 NRP를 생성하고, 생성된 NRP를 키 정보 기록 장치(200)에 출력한다. NRP의 생성은 후술한다.
키 정보 헤더 생성부(106)는 일례로서 도 21에 나타내는 헤더 정보(D500)를 생성한다. 헤더 정보(D500)는 NRP {011}, {111}, {010}, {001} 및 {001}로 구성되며, 이들은 헤더 정보(D500)내에 상술한 순서로 포함된다. 또한, 도 21에 나타내는 바와 같이, NRP {011}, {111}, {010}, {001} 및 {001}은 각각 "0", "1", "2", "3" 및 "4"로 정해진 위치에 배열된다.
(3) 키 정보 생성부(107)
키 정보 생성부(107)는 일례로서 도 22에 나타내는 키 정보(D600)를 생성한다. 키 정보(D600)는 3개의 암호화된 매체키를 포함한다. 암호화된 매체키는 디바이스키 KeyG, KeyL 및 IK11을 각각 이용하여 매체키를 암호화함으로써 생성된다.
복수의 암호화된 매체키의 각각이 키 정보(D600)에 저장되어 있는 위치가 설정된다. 도 22에 나타내는 바와 같이, 암호화된 매체키 E1 (KeyG, 매체키), E1 (KeyL, 매체키) 및 E1 (IK11, 매체키)가 각각 키 정보(D600)내의 "0", "1" 및 "2"로 정해진 위치에 배열된다.
2.1.2 기록 장치(300a)
기록 장치(300a)는 제 1 실시예에서 설명한 기록 장치(300)와 유사한 구성을 갖는다. 여기에서는, 기록 장치(300)와 다른 기록 장치(300a)의 특징을 설명한다.
(1) 특정부(303)
특정부(303)는 판독된 ID 정보 및 판독된 헤더 정보를 이용하여 최상위로부터 순차적으로 헤더 정보를 검사함으로써 키 정보내의 암호화된 매체키의 위치 X를 특정한다. 암호화된 매체키의 위치 X를 특정하는 동작의 상세한 설명은 후술한다.
2.2 디지털 저작물 보호 시스템(10b)의 동작
이하 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10b)의 동작의 특징을 설명한다.
2.2.1 헤더 정보를 생성하는 동작
여기에서는 도 23 내지 도 26에 나타내는 플로우차트를 사용하여 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S153의 상세한 설명이다.
키 정보 헤더 생성부(106)는 계층 0으로부터 계층 3까지의 각 계층에 대해 단계 S322 내지 S327을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S323 내지 S326을 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 직접적인 하위 노드를 선택하고(단계 S323), 2개의 선택된 노드의 각각에 무효화 플래그가 부가되어 있는지의 여부를 검사하여 NRP를 생성하며(단계 S324), 생성된 NRP의 헤드에 값 "0"을 갖는 확장 비트를 부가하고(단계 S325), 확장 비트가 부가된 NRP를 트리 구조 테이블내의 대상 노드에 대응하는 노드 정보에 부가한다(단계 S326).
이러한 방식으로, 단계 S321 내지 S328의 반복이 종료된 후, 제 1 실시예에서 설명한 바와 동일한 방법으로 각각의 노드 정보에 NRP가 부가된다. 여기에서, 각 NRP의 헤드에 값 "0"(1 비트)이 부가된다.
이어서, 키 정보 헤더 생성부(106)는 계층 3으로부터 계층 0까지의 각 계층에 대해 단계 S330 내지 S335를 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S331 내지 S334를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 직접적인 하위에 접속되는 2개의 노드를 선택하고(단계 S331), 2개의 선택된 노드에 각각 무효화 플래그 {111}이 부가되어 있는지의 여부를 검사한다. 2개의 선택된 노드가 리프인 경우, 키 정보 헤더 생성부(106)는 무효화 플래그가 선택된 노드 모두에 부가되어 있는지의 여부를 검사한다(단계 S332).
선택된 하위 노드에 모두 NRP {111}이 부가되어 있는 경우에만, 또는 2개의 선택된 노드가 리프인 경우 2개의 선택된 하위 노드 모두에 무효화 플래그가 부가된 경우에만(단계 S333), 키 정보 헤더 생성부(106)는 대상 노드에 부가되는 NRP의 헤드 비트를 "1"로 재기입한다(단계 S334).
이러한 방식으로, 키 정보 헤더 생성부(106)가 단계 S329 내지 S336의 반복을 종료한 후, {111}이 NRP {111}을 갖는 2개의 하위 노드의 상위 노드에 부가된다.
이어서, 키 정보 헤더 생성부(106)는 계층 2로부터 계층 0까지의 각 계층에 대해 단계 S338 내지 S343을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S339 내지 S342를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 직접적인 하위 노드를 선택하고(단계 S339), 2개의 선택된 노드에 각각 무효화 패턴 {111}이 부가되어 있는지의 여부를 검사한다(단계 S340).
선택된 하위 노드에 모두 무효화 패턴 {111}이 부가되어 있는 경우에만(단계 S341), 키 정보 헤더 생성부(106)는 트리 구조 테이블로부터 선택된 2개의 하위 노드에 부가된 각각의 NRP를 제거한다(단계 S342).
이어서, 키 정보 헤더 생성부(106)는 트리 구조 테이블에 저장된 NRP를 순서대로 판독 및 출력한다(단계 S345).
이러한 방식으로, NRP의 헤드 비트가 "1"인 경우, 노드의 자손 노드에 할당되는 사용자 장치가 모두 무효화된 장치인 것을 나타내는 NRP가 생성된다.
2.2.2 키 정보를 특정하는 동작
여기에서는, 도 27에 나타내는 플로우차트를 사용하여, 기록 장치(300a)내의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보로부터 하나의 암호화된 매체키를 특정하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11에 나타내는 플로우차트에서의 단계 S172의 상세한 설명이다.
특정부(303)에 의해 암호화된 매체키를 특정하는 동작은 제 1 실시예에서 설명한 동작과 유사하므로, 이하 제 1 실시예와 다른 특정부(303)의 특징에 중점을 두어 설명한다.
값 B=0인 경우(단계 S303), 특정부(303)는 지금까지 검사된 NRP 중에서 하위 2 비트가 모두 값 "1"을 갖지 않는 NRP의 수를 카운트하고, 카운트된 값을 변수 X로 설정한다. 이러한 방식으로 획득된 변수 X는 암호화된 매체키의 위치를 나타낸다(단계 S307a). 그 후, 특정부(303)는 상기 처리를 종료시킨다.
값 B=1인 경우(단계 S303), 특정부(303)는 계층 i내의 W개의 NRP내의 모든 "1"을 카운트한다. 그러나, 최상위 비트가 "1"인 NRP는 카운트되지 않는다. 카운트된 값은 변수 W로 설정된다. 이러한 방식으로 획득된 변수 W는 이후의 계층 i+1내의 NRP의 수를 나타낸다(단계 S304a).
이어서, 특정부(303)는 첫번째 NRP로부터 시작하여 대응하는 비트 위치의 NRP까지의 "1"의 수를 카운트하고, 카운트된 값을 변수 A로 설정한다. 여기에서, 대응하는 비트 위치의 값은 카운트되지 않는다. 이러한 방식으로 획득된 변수 A는 이후의 계층 i+1내의 NRP 중에서 사용자 장치 자체에 관련된 NRP의 위치를 나타낸다(단계 S305a).
2.2.3 키 정보를 특정하는 동작의 구체예
이하 도 21 및 도 22에 나타내는 헤더 정보 및 키 정보를 이용하여 암호화된 매체를 특정할 때까지 도 19에 나타내는 무효화되지 않은 사용자 장치 10에 의한 동작의 하나의 구체예를 설명한다. 여기에서, 사용자 장치 10에는 ID 정보 "1001" 및 디바이스키 "KeyA", "KeyC", "KeyF", "KeyL" 및 "IK10"이 할당되어 있다고 가정한다.
<단계 1> 사용자 장치 10에 할당된 ID 정보 "1001"의 최상위 비트의 값이 "1"이기 때문에, 특정부(303)는 첫번째 NRP {011}의 2개의 하위 비트의 우측 비트를 검사한다(단계 S303).
<단계 2> 첫번째 NRP {011}의 2개의 하위 비트의 우측 비트의 값이 "1"이기 때문에, 특정부(303)는 분석을 계속한다(단계 S303, B=1).
<단계 3> 특정부(303)는 계층 0내의 NRP {011}의 2개의 하위 비트내의 "1"의 수를 카운트한다. 카운트된 값이 "2"이기 때문에, 특정부(303)는 이후의 계층 1내에 2개의 NRP가 존재하는 것을 알게 된다(단계 S304a).
<단계 4> 특정부(303)는 대응하는 비트 위치까지 NRP {011}의 2개의 하위 비트내의 "1"의 수를 카운트한다. 이 때, 대응하는 비트 위치의 값은 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 이후의 계층 1에 대응하는 NRP는 계층 1내의 위치 1에 있다(단계 S305).
<단계 5> 이어서, ID 정보 "1001"의 최상위로부터 두번째 비트의 값이 "0"이기 때문에, 특정부(303)는 계층 1내의 첫번째 NRP {010}의 2개의 하위 비트의 좌측 비트를 검사한다(단계 S303).
<단계 6> 여기에서, 계층 1내의 첫번째 NRP {010}의 2개의 하위 비트의 좌측 비트의 값이 "1"이기 때문에, 특정부(303)는 분석을 계속한다(단계 S303, B=1).
<단계 7> 특정부(303)는 계층 1내의 2개의 NRP {111} 및 {010}의 2개의 하위 비트내의 "1"의 수를 카운트한다. 최상위 비트가 "1"인 NRP는 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 특정부(303)는 이후의 계층 2내에 하나의 NRP가 존재하는 것을 알게 된다(단계 S304a).
<단계 8> 특정부(303)는 대응하는 비트 위치까지 NRP내의 "1"의 수를 카운트한다. 이 때, 대응하는 비트 위치의 값은 카운트되지 않는다. 카운트된 값이 "0"이기 때문에, 이후의 계층 2에서의 대응하는 NRP의 위치는 계층 2내의 위치 0이다(단계 S305a).
<단계 9> ID 정보 "1001"의 세번째 비트의 값이 "0"이기 때문에, 특정부(303)는 계층 2내의 0번째 NRP {001}의 2개의 하위 비트의 좌측 비트를 검사한다(단계 S303).
<단계 10> 여기에서, 계층 2내의 0번째 NRP의 2개의 하위 비트의 좌측 비트의 값이 "0"이기 때문에, 특정부(303)는 분석을 종료한다(단계 S303, B=0).
<단계 11> 특정부(303)는 지금까지 분석된 NRP 중에서 비트가 모두 값 "1"이 아닌 NRP의 수를 카운트한다. 최후에 검사된 NRP는 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 암호화된 매체키의 위치는 키 정보내의 위치 1이다(단계 S307a).
<단계 12> 도 22에 나타내는 바와 같이, 키 정보내의 위치 1에 저장된 암호화된 매체키는 E1 (KeyL, 매체키)이다.
사용자 장치 10은 KeyL을 갖는다. 따라서, 사용자 장치 10은 KeyL을 사용하여 암호화된 매체키를 복호화하여 매체키를 획득할 수 있다.
상술한 제 2 실시예에서는, 특정 노드의 자손 노드의 모든 사용자 장치가 무효화된 경우에, 추가되는 비트는 "1"이다. 그러나, 리프의 계층수가 변화하는 트리 구조의 경우에는, 추가된 비트 "1"은 종단을 나타내는 플래그로서 사용될 수도 있다.
3. 제 3 실시예
제 2 실시예에서는, 자손 노드가 모두 무효화된 장치인 것을 나타내는 비트를 노드의 NRP의 헤드에 추가함으로써, 무효화된 장치가 특정 리프 근방에 집중적으로 발생하는 경우 헤더 정보의 크기를 더욱 감소시키는 방법을 나타내었다.
제 3 실시예에서는, NRP에 비트를 추가하는 대신에, 노드의 모든 자손 노드가 무효화된 장치인지의 여부를 판정하는데 특정 패턴 {00}을 갖는 NRP가 사용된다. {00}은 계층 0을 제외한 어떠한 계층에도 사용되지 않기 때문에, 여기에서 사용된다. 이하 제 2 실시예와 비교하여 헤더 정보의 크기를 더욱 감소시킬 수 있는 디지털 저작물 보호 시스템(10c)(도시 생략)을 설명한다.
여기에서는 도 28에 나타내는 바와 같이, 사용자 장치 1 내지 사용자 장치 8 및 사용자 장치 12가 무효화된다. 제 3 실시예에서는, NRP가 제 1 실시예에서 나타내는 바와 같지만, 특정 노드의 자손 노드의 모든 사용자 장치가 무효화된 장치인 경우 노드의 NRP는 {00}으로 표현된다. 도 28에서의 노드 T501의 자손 노드가 모두 무효화된 장치이기 때문에, 노드 T501의 NRP는 {00}으로 표현된다.
3.1 디지털 저작물 보호 시스템(10c)의 구성
디지털 저작물 보호 시스템(10c)은 디지털 저작물 보호 시스템(10)과 유사한 구성을 갖는다. 여기에서는 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10c)의 특징을 설명한다.
3.1.1 키 관리 장치(100)
디지털 저작물 보호 시스템(10c)의 키 관리 장치(100)는 제 1 실시예에서 설명한 키 관리 장치(100)와 유사한 구성을 갖는다. 여기에서는 제 1 실시예에서의 키 관리 장치(100)와 다른 제 3 실시예에서의 키 관리 장치(100)의 특징을 설명한다.
(1) 키 정보 헤더 생성부(106)
NRP가 {00}인 경우, 키 정보 헤더 생성부(106)는 노드의 자손 노드에 할당되는 모든 사용자 장치가 무효화된 장치인 것을 나타내는 NRP를 생성하고, 생성된 NRP를 키 정보 기록 장치(200)에 출력한다. 생성된 NRP는 후술한다.
키 정보 헤더 생성부(106)는 일례로서 도 29에 나타내는 헤더 정보(D700)를 생성한다. 헤더 정보(D700)는 NRP {11}, {00}, {10}, {01} 및 {01}로 구성되고, 이들은 상술한 순서로 헤더 정보(D700)에 포함되어 있다. 또한, 도 29에 나타내는 바와 같이, NRP {11}, {00}, {10}, {01} 및 {01}은 각각 "0", "1", "2", "3" 및 "4"로 정해진 위치에 위치된다.
(2) 키 정보 생성부(107)
키 정보 생성부(107)는 일례로서 도 30에 나타내는 키 정보(D800)를 생성한다. 키 정보(D800)는 3개의 암호화된 매체키를 포함한다. 암호화된 매체키는 디바이스키 KeyG, KeyL 및 IK11를 각각 이용하여 매체키를 암호화함으로써 생성된다.
복수의 암호화된 매체키의 각각이 키 정보(D800)에 저장되는 위치가 설정된다. 도 30에 나타내는 바와 같이, 암호화된 매체키 E1 (KeyG, 매체키), E1 (KeyL, 매체키) 및 E1 (IK11, 매체키)는 키 정보(D800) 내에 "0", "1" 및 "2"로 정해진 위치에 각각 배열된다.
3.1.2 기록 장치(300a)
디지털 저작물 보호 시스템(10c)의 기록 장치(300a)는 제 1 실시예에서 설명한 기록 장치(300)와 유사한 구성을 갖는다. 여기에서는 기록 장치(300)와 다른 기록 장치(300a)의 특징을 설명한다.
(1) 특정부(303)
특정부(303)는 ID 정보 및 헤더 정보를 이용하여 최상위로부터 헤더 정보를 순차적으로 검사함으로써 키 정보내의 암호화된 매체키의 위치 X를 특정한다. 암호화된 매체키의 위치 X를 특정하는 동작의 상세한 설명은 후술한다.
3.2 디지털 저작물 보호 시스템(10c)의 동작
이하의 설명은 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10c)의 동작의 특징에 중점을 둔 것이다.
3.2.1 헤더 정보를 생성하는 동작
여기에서는 도 31 내지 도 34에 나타내는 플로우차트를 사용하여, 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S153의 상세한 설명이다.
키 정보 헤더 생성부(106)는 계층 0으로부터 계층 3까지의 각 계층에 대해 단계 S322 내지 S327을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S323 내지 S326a를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 직접적인 하위 노드를 선택하고(단계 S323), 2개의 선택된 노드의 각각에 무효화 플래그가 부가되어 있는지의 여부를 검사하여 NRP를 생성하며(단계 S324), 트리 구조 테이블내의 노드 정보에 확장 비트가 부가되어 있는 NRP를 대상 노드에 부가한다(단계 S326a).
이러한 방식으로, 단계 S321 내지 S328의 반복을 종료한 후, 제 1 실시예에서 설명한 것과 동일한 방법으로 각각의 노드 정보에 NRP가 부가되어 있다.
이어서, 키 정보 헤더 생성부(106)는 계층 3으로부터 계층 0까지의 각 계층에 대해 단계 S330 내지 S335를 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S331 내지 S334a를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 하위 노드를 선택하고(단계 S331), 2개의 선택된 노드의 각각에 NRP {11}이 부가되어 있는지의 여부를 검사한다. 선택된 2개의 노드가 리프인 경우, 키 정보 헤더 생성부(106)는 선택된 노드에 모두 무효화 플래그가 부가되어 있는지의 여부를 검사한다(단계 S332).
선택된 하위 노드에 모두 NRP {11}이 부가되어 있는 경우에만, 또는 2개의 선택된 하위 노드가 리프인 경우에는 선택된 하위 노드에 모두 무효화 플래그가 부가되어 있는 경우에만(단계 S333), 키 정보 헤더 생성부(106)는 대상 노드에 부가된 NRP를 {00}으로 재기입한다(단계 S334a).
키 정보 헤더 생성부(106)가 이러한 방식으로 단계 S329 내지 S336의 반복을 종료한 경우, NRP {11}을 갖는 2개의 하위 노드의 상위 노드에 {00}이 부가된다.
이어서, 키 정보 헤더 생성부(106)는 계층 2로부터 계층 0까지의 각 계층에 대해 단계 S338 내지 S343을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S339 내지 S342a를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 하위 노드를 선택하고(단계 S339), 2개의 선택된 노드의 각각에 무효화 패턴 {00}이 부가되어 있는지의 여부를 검사한다(단계 S340a).
선택된 하위 노드 모두에 무효화 패턴 {00}이 부가되어 있는 경우에만(단계 S341a), 키 정보 헤더 생성부(106)는 트리 구조 테이블로부터 선택된 2개의 하위 노드에 부가된 각각의 NRP를 삭제한다(단계 S342a).
이어서, 키 정보 헤더 생성부(106)는 트리 구조 테이블에 저장되어 있는 NRP를 순서대로 판독 및 출력한다(단계 S345).
이러한 방식으로, NRP가 {00}인 경우, 노드의 자손 노드에 할당된 모든 사용자 장치가 무효화된 장치인 것을 나타내는 NRP가 생성된다.
3.2.2 키 정보를 특정하는 동작
여기에서는 도 35에 나타내는 플로우차트를 사용하여, 기록 장치(300a)내의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보로부터 하나의 암호화된 매체키를 특정하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S172의 상세한 설명이다.
특정부(303)에 의해 암호화된 매체키를 특정하는 동작은 제 1 실시예에서 설명한 동작과 유사하므로, 이하의 설명은 제 1 실시예와 다른 동작의 특징에 중점을 둔 것이다.
값 B=0인 경우(단계 S303), 특정부(303)는 지금까지 검사된 NRP 중에서 비트가 모두 값 "1"을 갖지 않고 모두 값 "0"을 갖지 않는 NRP의 수를 카운트한다. 비트가 모두 "0"인 NRP의 수는 계층 0에 대해서만 카운트된다. 특정부(303)는 카운트된 값을 변수 X로 설정한다. 이러한 방식으로 획득된 변수 X는 암호화된 매체키의 위치를 나타낸다. 또한, 이 포인트에서의 변수 i는 디바이스키를 식별하는 디바이스키 식별 정보이다(단계 S307b). 그 후, 특정부(303)는 상기 처리를 종료한다.
3.2.3 키 정보를 특정하는 동작의 구체예
이하 도 29 및 도 30에 나타내는 헤더 정보 및 키 정보를 이용하여 암호화된 매체를 특정할 때까지 도 28에 나타내는 무효화되지 않은 사용자 장치 10에 의한 동작의 하나의 구체예를 설명한다. 여기에서, 사용자 장치 10에는 ID 정보 "1001" 및 디바이스키 "KeyA", "KeyC", "KeyF", "KeyL" 및 "IK10"이 할당되어 있다고 가정한다.
<단계 1> 사용자 장치 10에 할당된 ID 정보 "1001"의 최상위 비트의 값이 "1"이기 때문에, 특정부(303)는 첫번째 NRP {11}의 우측 비트를 검사한다(단계 S303).
<단계 2> 첫번째 NRP {11}의 우측 비트의 값이 "1"이기 때문에, 특정부(303)는 분석을 계속한다(단계 S303, B=1).
<단계 3> 특정부(303)는 계층 0내의 NRP {11}내의 "1"의 수를 카운트한다. 카운트된 값이 "2"이기 때문에, 특정부(303)는 이후의 계층 1내에 2개의 NRP가 존재하는 것을 알게 된다(단계 S304).
<단계 4> 특정부(303)는 대응하는 비트 위치까지 NRP내의 "1"의 수를 카운트한다. 이 때, 대응하는 비트 위치의 값은 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 이후의 계층 1에서의 대응하는 NRP는 계층 1내의 위치 1에 있다(단계 S305).
<단계 5> 이어서, ID 정보 "1001"의 최상위로부터 두번째 비트의 값이 "0"이기 때문에, 특정부(303)는 계층 1내의 첫번째 NRP {10}의 우측 비트를 검사한다(단계 S303).
<단계 6> 여기에서, 계층 1내의 첫번째 NRP {10}의 우측 비트의 값이 "0"이기 때문에, 특정부(303)는 분석을 종료한다(단계 S303, B=1).
<단계 7> 특정부(303)는 계층 1내의 2개의 NRP내의 "1"의 수를 카운트한다. NRP {00}은 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 특정부(303)는 이후의 계층 2내에 하나의 NRP가 존재하는 것을 알게 된다(단계 S304).
<단계 8> 특정부(303)는 대응하는 비트 위치까지 NRP내의 "1"의 수를 카운트한다. 이 때, 대응하는 비트 위치의 값은 카운트되지 않는다. 카운트된 값이 "0"이기 때문에, 이후의 계층 2에서의 대응하는 NRP의 위치는 계층 2내의 위치 0이다(단계 S305).
<단계 9> ID 정보 "1001"의 세번째 비트의 값이 "0"이기 때문에, 특정부(303)는 계층 2내의 위치 0에서의 NRP {001}의 2개의 하위 비트의 좌측 비트를 검사한다(단계 S303).
<단계 10> 여기에서, 계층 2내의 0번째 NRP {01}의 2개의 하위 비트의 좌측 비트의 값이 "0"이기 때문에, 특정부(303)는 분석을 종료한다(단계 S303, B=0).
<단계 11> 특정부(303)는 지금까지 분석된 NRP 중에서 비트가 모두 값 "1"이 아닌 NRP의 수를 카운트한다. 최후에 검사된 NRP는 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 암호화된 매체키의 위치는 키 정보내의 위치 1이다(단계 S307a).
<단계 12> 도 30에 나타내는 바와 같이, 키 정보내의 위치 1에 저장된 암호화된 매체키는 E1 (KeyL, 매체키)이다.
사용자 장치 10은 KeyL을 갖는다. 따라서, 사용자 장치 10은 KeyL을 사용하여 암호화된 매체키를 복호화하여 매체키를 획득할 수 있다.
4. 제 4 실시예
제 1 실시예에서는, NRP가 최상위 계층으로부터 최하위 계층까지 순서대로 배열되고, 동일한 계층의 NRP가 좌측으로부터 우측으로 순서대로 배열되어 있다.
제 4 실시예에서는, NRP를 다른 순서로 출력하는 디지털 저작물 보호 시스템(10d)(도시 생략)을 설명하고 있다.
4.1 디지털 저작물 보호 시스템(10d)의 구성
디지털 저작물 보호 시스템(10d)은 디지털 저작물 보호 시스템(10)과 유사한 구성을 갖는다. 여기에서는 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10d)의 특징을 설명한다.
4.1.1 키 관리 장치(100)
디지털 저작물 보호 시스템(10d)의 키 관리 장치(100)는 제 1 실시예에서 설명한 것과 유사한 구성을 갖는다. 여기에서는 제 1 실시예에서의 키 관리 장치(100)와 다른 제 2 실시예에서의 키 관리 장치(100)의 특징을 설명한다.
(1) 트리 구조 구성부(102)
트리 구조 구성부(102)는 구체적으로는 하드 디스크 유닛으로 구성되어 있고, 도 37에 나타내는 바와 같이, 일례로서 도 37에 나타내는 트리 구조 테이블(D1000)을 갖는다.
트리 구조 테이블(D1000)은 일례로서 도 36에 나타내는 트리 구조(T600)에 대응하고, 트리 구조(T600)를 표현하기 위한 데이터 구조이다. 후술하는 바와 같이, 트리 구조(T600)를 표현하기 위한 데이터 구조는 트리 구조 구성부(101)에 의해 트리 구조 테이블(D1000)로서 생성되어 트리 구조 구성부(102)에 기입된다.
<트리 구조(T600)>
트리 구조(T600)는 도 36에 나타내는 바와 같이, 계층 0 내지 계층 4의 5개의 계층을 갖는 이진 트리이다.
각 계층에 포함되는 노드의 수는 트리 구조(T100)와 동일하다. 또한, 상위측의 노드로부터 하위측의 노드까지의 경로에 할당되는 수는 트리 구조(T100)에서와 동일하다. 무효화된 노드는 ×표로 표시되어 있다.
트리 구조(T600)의 루트인 노드의 노드명은 공백이다. 다른 노드의 노드명은 트리 구조(T100)에서와 동일하다.
각 노드명은 4자리로 표현되어 있다. 루트인 노드의 노드명은 4개의 공백이다. 노드명 "0"은 구체적으로는 문자 "0" + 하나의 공백 + 하나의 공백 + 하나의 공백이다. 노드명 "00"은 문자 "0" + 문자 "0" + 하나의 공백 + 하나의 공백이다. 노드명 "101"은 문자 "1" + 문자 "0" + 문자 "1" + 하나의 공백이다. 노드명 "1111"은 문자 "1" + 문자 "1" + 문자 "1" + 문자 "1"이다. 다른 노드명은 유사하게 형성된다.
트리 구조(T600)에서, 각 노드 근방의 "{10}" 등은 NRP를 나타낸다. 또한, 각 노드 근방의 원내의 번호는 NRP가 출력되는 순서를 나타낸다.
<트리 구조 테이블(D1000)>
트리 구조 테이블(D1000)은 트리 구조(T1000)내의 노드의 수와 동일한 다수의 노드 정보를 포함한다. 각각의 노드 정보는 트리 구조(T1000)내의 노드 중 하나에 대응한다.
각각의 노드 정보는 디바이스키 및 무효화 플래그를 포함한다. 노드명, 디바이스키 및 무효화 플래그는 트리 구조 테이블(D100)에서와 동일하므로, 여기에서는 그 설명은 생략한다.
각각의 노드 정보는 아래의 순서 규칙 2에 의해 나타내는 순서로 트리 구조 테이블(D1000)에 저장된다. 이러한 순서 규칙 2는 노드 정보가 기록 장치(300a 등) 및 재생 장치(400a 등)에 의해 트리 구조 테이블(D1000)로부터 순차적으로 판독되는 경우 적용된다.
(a) 루트인 노드에 대응하는 노드 정보는 트리 구조 테이블(D1000)의 최상위에 저장된다.
(b) 특정 노드에 대응하는 하나의 노드 정보가 트리 구조 테이블(D1000)에 저장된 후, 노드가 2개의 하위 노드를 갖는 경우, 노드 정보는 아래의 방식으로 배열된다. 2개의 하위 노드의 좌측 노드 및 동일한 경로상의 그 이하의 하위 좌측 노드 모두에 각각 대응하는 노드 정보가 저장된다. 그 후, 2개의 하위 노드의 우측 노드와 우측 노드의 그 이하의 하위 우측 노드 모두에 각각 대응하는 노드 정보가 저장된다.
(c) (b)내에서, (b)가 재적용된다.
구체적으로는, 도 37에 나타내는 트리 구조 테이블(D1000)내의 노드 정보는 아래의 순서로 저장된다.
공백(루트를 나타냄), "0", "00", "000", "0000", "0001", "001", "0010", "0011", "01", "010", …, "11", "110", "1100", "1101", "111", "1110" 및 "1111".
(2) 트리 구조 구성부(101)
트리 구조 구성부(101)는 후술하는 바와 같이, 디바이스키를 관리하기 위해 n진 데이터 구조를 구성하고, 구성된 트리 구조를 트리 구조 저장부(102)에 저장한다. 여기에서, n은 2 이상의 정수이다. 일례로서, n=2이다.
트리 구조 구성부(101)에 의해 트리 구조를 구성하고, 구성된 트리 구조를 트리 구조 저장부(102)에 저장하는 동작의 상세한 설명은 후술한다.
트리 구조 구성부(101)는 난수를 이용하여 트리 구조내의 각 노드에 대한 디바이스키를 생성하고, 생성된 각 디바이스키를 각각의 노드에 대응하여 트리 구조 테이블에 기입한다.
(3) 키 정보 헤더 생성부(106)
키 정보 헤더 생성부(106)는 복수의 NRP를 생성하고, 생성된 NRP를 헤더 정보로서 키 정보 기록 장치(200)에 출력한다. NRP를 생성하는 동작의 상세한 설명은 후술한다.
키 정보 헤더 생성부(106)에 의해 생성되는 헤더 정보의 일례를 도 38에 나타낸다. 도 38에 나타내는 헤더 정보(D900)는 NRP {11}, {11}, {11}, {10}, {01}, {11}, {10}, {10}, {10}, {01}, {11}로 구성되며, 상술한 순서로 헤더 정보(D900)에 포함되어 있다.
헤더 정보(D900)내에 각각의 노드 정보 패턴이 배치되는 위치가 설정된다. 도 38에 나타내는 바와 같이, NRP {11}, {11}, {11}, {10}, {01}, {11}, {10}, {10}, {10}, {01}, {11}이 헤더 정보(D900)내에 각각 "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" 및 "10"으로 정해지는 위치에 배열된다.
(4) 키 정보 생성부(107)
키 정보 생성부(107)는 상술한 트리 구조 테이블 내에 노드 정보가 저장되어 있는 것과 동일한 순서로 무효화되지 않은 노드에 대응하는 각 디바이스키를 이용하여 매체키를 암호화함으로써 암호화된 매체키를 생성하고, 생성한 암호화된 매체키를 키 정보로서 출력한다.
이하 키 정보 생성부(107)에 의해 생성되어 출력되는 키 정보의 일례를 나타낸다.
키 정보는 디바이스키 "IK2", "IK3", "IK6", "IK8", "KeyL" 및 "KeyG"를 각각 이용하여 매체키를 암호화함으로써 생성되는 암호화된 매체키 E1 (IK2, 매체키), E1 (IK3, 매체키), E1 (IK6, 매체키), E1 (IK8, 매체키), E1 (KeyL, 매체키) 및 E1 (KeyG, 매체키)로 구성된다. 암호화된 매체키 E1 (IK2, 매체키), E1 (IK3, 매체키), E1 (IK6, 매체키), E1 (IK8, 매체키), E1 (KeyL, 매체키) 및 E1 (KeyG, 매체키)는 키 정보 내에 각각 "0", "1", "2", "3", "4", "5" 및 "6"으로 정해지는 위치에 배열된다.
4.1.2 기록 장치(300a)
디지털 저작물 보호 시스템(10d)의 기록 장치(300a)는 제 1 실시예에서 설명한 것과 유사한 구성을 갖는다. 여기에서는 제 1 실시예와 다른 제 2 실시예의 기록 장치(300a)의 특징을 설명한다.
(1) 특정부(303)
특정부(303)는 판독된 ID 정보 및 판독된 헤더 정보를 이용하여 최상위로부터 순차적으로 헤더 정보를 검사함으로써 하나의 암호화된 매체키의 키 정보내의 위치 X를 특정한다. 암호화된 매체키의 위치 X를 특정하는 동작의 상세한 설명은 후술한다.
4.2 디지털 저작물 보호 시스템(10d)의 동작
이하의 설명은 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10d)의 동작의 특징에 중점을 둔 것이다.
4.2.1 트리 구조를 구성하고 저장하는 동작
여기에서는 도 39의 플로우차트를 이용하여 트리 구조 구성부(101)에 의해 트리 구조 테이블을 생성하고 트리 구조 테이블을 트리 구조 저장부(102)에 기입하는 동작을 설명한다. 여기에서 설명하는 동작은 도 10의 플로우차트에서의 단계 S101의 상세한 설명이다.
트리 구조 구성부(101)는 공백 노드명을 포함하는 하나의 노드 정보를 생성하고, 생성된 노드 정보를 트리 구조 데이터 테이블에 기입한다(단계 S401).
이어서, 트리 구조 구성부(101)는 계층 i(i = 1, 2, 3, 4)에 대해 아래의 단계 S403 내지 S404를 반복한다.
트리 구조 구성부(101)는 2i개의 문자열을 노드명으로서 생성한다. 구체적으로는, i = 1인 경우, 트리 구조 구성부(101)는 21 = 2개의 문자열 "0" 및 "1"을 생성한다. i = 2인 경우, 트리 구조 구성부(101)는 22 = 4개의 문자열 "00", "01", "10" 및 "11"을 생성한다. i = 3인 경우, 트리 구조 구성부(101)는 23 = 8개의 문자열 "000", "001", "010", … 및 "111"을 생성한다. i = 4인 경우, 트리 구조 구성부(101)는 24 = 16개의 문자열 "0000", "0001", "0010", "0011", … 및 "1111"을 생성한다. 이어서, 트리 구조 구성부(101)는 생성된 노드명 중 하나를 각각 포함하는 노드 정보를 트리 구조 테이블에 기입한다(단계 S404).
이어서, 트리 구조 구성부(101)는 트리 구조 테이블내의 노드 정보를 노드명의 내림차순으로 재배열하고, 트리 구조 테이블내의 노드 정보를 새롭게 배열된 노드 정보로 재기입한다(단계 S406).
이러한 방식으로, 트리 구조 테이블은 도 37에 나타내는 예와 같이 생성된다. 생성된 트리 구조 테이블(D1000)은 상술한 순서 규칙 2에 따르는 노드 정보를 포함한다. 이 단계에서 디바이스키는 트리 구조 테이블(D1000)에 아직 기록되어 있지 않다.
4.2.2 헤더 정보를 생성하는 동작
여기에서는 도 40 및 도 41의 플로우차트를 이용하여 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S153의 상세한 설명이다.
키 정보 헤더 생성부(106)는 순서 규칙 2에 따라 트리 구조 테이블로부터 한번에 하나의 노드 정보를 판독하려고 시도한다(단계 S421).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S422), 키 정보 헤더 생성부(106)는 단계 S427로 진행한다.
키 정보 헤더 생성부(106)가 모든 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S422), 키 정보 헤더 생성부(106)는 판독된 노드 정보에 대응하는 대상 노드의 2개의 하위 노드에 대응하는 2개의 노드 정보를 판독한다(단계 S423).
대상 노드가 하위 노드를 갖는 경우(단계 S424), 키 정보 헤더 생성부(106)는 2개의 하위 노드에 대응하는 판독된 2개의 노드 정보에 무효화 플래그가 부가되어 있는지의 여부를 검사하고, NRP를 생성한다(단계 S425). 그 후, 키 정보 헤더 생성부(106)는 생성된 NRP를 대상 노드에 대응하는 판독된 노드 정보에 추가하고(단계 S426), 단계 S421로 복귀하여 상기 처리를 반복한다.
대상 노드가 하위 노드를 갖지 않는 경우(단계 S424), 키 정보 헤더 생성부(106)는 단계 S421로 복귀하여 상기 처리를 반복한다.
이어서, 키 정보 헤더 생성부(106)는 순서 규칙 2에 따르는 순서로 트리 구조 테이블로부터 노드 정보를 판독하려고 시도한다(단계 S427).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S422), 키 정보 헤더 생성부(106)는 상기 처리를 종료한다.
키 정보 헤더 생성부(106)가 모든 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S428), 키 정보 헤더 생성부(106)는 판독된 노드 정보에 NRP가 부가되어 있는지의 여부를 검사하고, 판독된 노드 정보에 NRP가 부가되어 있는 경우(단계 S429) 부가된 NRP를 출력한다(단계 S430). 그 후, 키 정보 헤더 생성부(106)는 단계 S427로 복귀하여 상기 처리를 반복한다.
판독된 노드 정보에 NRP가 부가되어 있지 않은 경우(단계 S429), 키 정보 헤더 생성부(106)는 단계 S427로 복귀하여 상기 처리를 반복한다.
4.2.3 키 정보를 특정하는 동작
여기에서는 도 42의 플로우차트를 이용하여 기록 장치(300a)의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보로부터 암호화된 매체키를 특정하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S172의 상세한 설명이다.
또한, 재생 장치(400a)의 특정부(402)에 의해 실행되는 동작은 특정부(303)의 동작과 동일하므로, 그 설명은 생략한다.
특정부(303)는 변수 i, 변수 L, 변수 X, 플래그 F, 값 D 및 포인터 A를 갖는다. 변수 i는 검사될 ID 정보의 비트 위치를 나타낸다. 변수 L은 현재 검사되고 있는 NRP가 포함되는 계층을 나타낸다. 변수 X는 경로가 분기하는 포인트에 노드의 계층을 저장한다. 플래그 F(초기값 F = 0)는 NRP를 검사할 것인지의 여부를 판정하기 위한 것이다. 값 D는 트리 구조내의 계층의 수를 나타낸다. 포인터 A는 검사될 NRP의 위치를 나타낸다.
특정부(303)는 변수 i = 0, 변수 L = 0, 플래그 F = 0, 변수 X = 0 및 포인터 A = 0으로 설정한다(단계 S1300).
이어서, 특정부(303)는 변수 L이 계층의 수 D-1 미만인지의 여부를 판정한다. 변수 L이 계층 수 D-1 이상인 경우(단계 S1301), 특정부(303)는 변수 X의 최종 계층 번호를 변수 L에 입력한다. 변수 X는 후입선출 변수이고, 그로부터 출력되는 값은 삭제된다. 바꿔 말하면, 계층 0, 계층 2 및 계층 3이 순서대로 변수 X에 입력되는 경우, 계층 3이 먼저 출력된 후 삭제되고, 이어서 계층 2가 출력된다(단계 S1313). 그 후, 특정부(303)는 단계 S1301로 복귀하여 상기 처리를 반복한다.
변수 L이 계층의 수 D-1 미만인 경우(단계 S1301), 특정부(303)는 변수 i = 변수 L인지의 여부를 판정한다. 변수 i가 변수 L과 같지 않은 경우(단계 S1302), 특정부(303)는 단계 S1310으로 진행한다.
변수 i = 변수 L인 경우(단계 S1302), 특정부(303)는 플래그 F = 0인지의 여부를 판정한다. 플래그 F가 0과 같지 않은 경우(단계 S1303), 특정부(303)는 플래그 F를 0으로 설정하고(단계 S1309) 단계 S1310으로 진행한다.
플래그 F = 0인 경우(단계 S1303), 특정부(303)는 ID 정보의 최상위 i번째 비트의 값에 따라 A번째 NRP에 대응하는 비트 위치의 값 B를 검사하고, 변수 i = i + 1로 설정한다(단계 S1304).
이어서, 특정부(303)는 값 B = 1인지의 여부를 검사하고, B가 1이 아닌 경우(단계 S1305), ID 정보가 할당되어 있는 장치가 무효화되지 않았다고 판정하며, 상기 처리를 종료한다.
값 B = 1인 경우(단계 S1305), 특정부(303)는 변수 i ≠ D - 1인지의 여부를 판정하고, 변수 i가 1과 같은 경우(단계 S1306), ID 정보가 할당되어 있는 장치가 무효화된 것으로 판정하며, 상기 처리를 종료한다.
이어서, 변수 i ≠ D - 1인 경우(단계 S1306), 특정부(303)는 NRP가 {11}이고 ID 정보의 i-1번째 값이 "1"인지의 여부를 판정한다. 상기 판정이 부정인 경우(단계 S1307), 특정부(303)는 단계 S1310으로 진행한다.
상기 판정이 긍정인 경우(단계 S1307), 특정부(303)는 플래그 F = 1로 설정하고(단계 S1308), L = L + 1로 설정하며(단계 S1310), NRP가 {11}인 경우, 특정부(303)는 NRP의 계층 번호를 변수 X로 저장한다(단계 S1311). 그 후, 특정부(303)는 A = A + 1로 설정하고(단계 S1312), 단계 S1310으로 복귀한다.
5. 제 5 실시예
제 4 실시예에서는, NRP가 순서 규칙 2에 따라 배열되어 있다.
이하 설명하는 제 5 실시예에서는, 디지털 저작물 보호 시스템(10e)(도시 생략)이 제 4 실시예의 디지털 저작물 보호 시스템(10d)에서와 동일한 방식으로 순서 규칙 2에 따라 NRP를 배열하고 출력하지만, 무효화된 장치가 특정 리프 근방에 집중적으로 발생할 때 제 2 실시예에서 설명한 디지털 저작물 보호 시스템(10b)에서와 동일한 방식으로 헤더 정보의 데이터량을 감소시킨다.
5.1 디지털 저작물 보호 시스템(10e)의 구성
디지털 저작물 보호 시스템(10e)은 디지털 저작물 보호 시스템(10d)과 유사한 구성을 갖는다. 여기에서는, 디지털 저작물 보호 시스템(10d)과 다른 디지털 저작물 보호 시스템(10e)의 특징을 설명한다.
5.1.1 키 관리 장치(100)
디지털 저작물 보호 시스템(10e)의 키 관리 장치(100)는 제 4 실시예에서 설명한 키 관리 장치(100d)와 유사한 구성을 갖는다. 여기에서는 키 관리 장치(100d)와 다른 키 관리 장치(100)의 특징을 설명한다.
(1) 트리 구조 저장부(102)
트리 구조 저장부(102)는 트리 구조 테이블을 갖는다. 트리 구조 저장부(102)내의 트리 구조 테이블은 제 4 실시예에서 설명한 트리 구조 테이블(D1000)과 동일한 구성을 갖고, 트리 구조 테이블에 포함되는 각각의 노드 정보는 NRP를 추가로 포함하고 있다.
(2) 키 정보 헤더 생성부(106)
키 정보 헤더 생성부(106)는 복수의 NRP를 생성하고, 생성된 NRP를 헤더 정보로서 키 정보 기록 장치(200)에 출력한다. 각 NRP는 제 2 실시예에서 설명한 바와 같이 3비트로 구성된다.
NRP를 생성하는 동작의 상세한 설명은 후술한다.
5.1.2 기록 장치(300a)
디지털 저작물 보호 시스템(10e)의 기록 장치(300a)는 제 4 실시예에서 설명한 기록 장치(300a)와 유사한 구성을 갖는다. 여기에서는 제 4 실시예에서 설명한 기록 장치(300a)와 다른 기록 장치(300a)의 특징을 설명한다.
(1) 특정부(303)
특정부(303)는 ID 정보 및 헤더 정보를 이용하여 최상위로부터 순차적으로 헤더 정보를 검사함으로써 하나의 암호화된 매체키의 위치 X를 특정한다. 암호화된 매체키의 위치 X를 특정하는 동작의 상세한 설명은 후술한다.
5.2 디지털 저작물 보호 시스템(10e)의 동작
이하의 설명은 디지털 저작물 보호 시스템(10d)과 다른 디지털 저작물 보호 시스템(10e)의 동작의 특징에 중점을 둔 것이다.
5.2.1 헤더 정보를 생성하는 동작
여기에서는 도 43 내지 도 46의 플로우차트를 이용하여 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S153의 상세한 설명이다.
키 정보 헤더 생성부(106)는 순서 규칙 2에 따라 트리 구조 테이블로부터 한번에 하나의 노드 정보를 판독하려고 시도한다(단계 S451).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S452), 키 정보 헤더 생성부(106)는 단계 S458로 진행한다.
키 정보 헤더 생성부(106)가 모든 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S452), 키 정보 헤더 생성부(106)는 판독된 노드 정보에 대응하는 대상 노드의 2개의 직접적인 하위 노드에 대응하는 2개의 노드 정보를 판독한다(단계 S453).
대상 노드가 하위 노드를 갖는 경우(단계 S454), 키 정보 헤더 생성부(106)는 2개의 하위 노드에 대응하는 판독된 2개의 노드 정보에 무효화 플래그가 부가되어 있는지의 여부를 검사하고, NRP를 생성하며(단계 S455), 생성된 NRP의 헤드에 값 "0"의 확장 비트를 부가한다(단계 S456). 그 후, 키 정보 헤더 생성부(106)는 확장 비트가 부가되어 있는 NRP를 대상 노드에 대응하는 노드 정보에 추가하고(단계 S457), 단계 S451로 복귀하여 상기 처리를 반복한다.
대상 노드가 하위 노드를 갖지 않는 경우(단계 S454), 키 정보 헤더 생성부(106)는 단계 S451로 복귀하여 상기 처리를 반복한다.
이어서, 키 정보 헤더 생성부(106)는 순서 규칙 2에 따르는 순서로 트리 구조 테이블로부터 노드 정보를 판독하려고 시도한다(단계 S458).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S459), 키 정보 헤더 생성부(106)는 단계 S465로 진행한다.
키 정보 헤더 생성부(106)가 모든 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S459), 키 정보 헤더 생성부(106)는 판독된 노드 정보의 모든 직접적인 하위 노드에 대응하는 모든 노드 정보를 판독한다(단계 S460).
대상 노드가 하위 노드를 갖는 경우(단계 S461), 키 정보 헤더 생성부(106)는 모든 하위 노드에 대응하는 모든 판독된 노드 정보에 무효화 플래그가 부가되어 있는지의 여부를 검사하고(단계 S462), 모든 하위 노드에 무효화 플래그가 부가되어 있는 경우에만(단계 S463), 키 정보 헤더 생성부(106)는 대상 노드에 대응하는 노드 정보에 부가된 NRP의 최상위 비트를 "1"로 재기입한다(단계 S464).
이어서, 키 정보 헤더 생성부(106)는 단계 S458로 복귀하여 상기 처리를 반복한다.
대상 노드가 하위 노드를 갖지 않는 경우(단계 S461), 키 정보 헤더 생성부(106)는 단계 S458로 복귀하여 상기 처리를 반복한다.
이어서, 키 정보 헤더 생성부(106)는 순서 규칙 2에 따라 트리 구조 테이블로부터 한번에 하나의 노드 정보를 판독하려고 시도한다(단계 S465).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S466), 키 정보 헤더 생성부(106)는 단계 S472로 진행한다.
키 정보 헤더 생성부(106)가 모든 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S466), 키 정보 헤더 생성부(106)는 판독된 노드 정보에 대응하는 대상 노드의 모든 하위 노드에 대응하는 모든 노드 정보를 판독한다(단계 S467).
대상 노드가 하위 노드를 갖는 경우(단계 S468), 키 정보 헤더 생성부(106)는 모든 하위 노드에 대응하는 모든 판독된 노드 정보에 NRP {111}이 부가되어 있는지의 여부를 검사하고(단계 S469), 모든 판독된 노드 정보에 NRP {111}이 부가되어 있는 경우에만(단계 S470), 키 정보 헤더 생성부(106)는 각각의 노드 정보에 삭제 플래그를 부가한다(단계 S471).
이어서, 키 정보 헤더 생성부(106)는 단계 S465로 복귀하여 상기 처리를 반복한다.
대상 노드가 하위 노드를 갖지 않는 경우(단계 S468), 키 정보 헤더 생성부(106)는 단계 S465로 복귀하여 상기 처리를 반복한다.
이어서, 키 정보 헤더 생성부(106)는 순서 규칙 2에 따라 트리 구조 테이블로부터 한번에 하나의 노드 정보를 판독하려고 시도한다(단계 S472).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S473), 키 정보 헤더 생성부(106)는 상기 처리를 종료한다.
키 정보 헤더 생성부(106)가 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S473), 키 정보 헤더 생성부(106)는 판독된 노드 정보에 NRP가 부가되어 있는지의 여부를 검사하고, 판독된 노드 정보에 NRP가 부가되어 있는 경우(단계 S474), 판독된 노드 정보에 삭제 플래그가 부가되어 있는지의 여부를 검사한다. 삭제 플래그가 부가되어 있지 않은 경우(단계 S475), 키 정보 헤더 생성부(106)는 부가된 NRP를 출력한다(단계 S476). 그 후, 키 정보 헤더 생성부(106)는 단계 S472로 복귀하여 상기 처리를 반복한다.
판독된 노드 정보에 NRP가 부가되어 있지 않은 경우(단계 S474), 또는 판독된 노드 정보에 삭제 플래그가 부가되어 있는 경우(단계 S475), 키 정보 헤더 생성부(106)는 단계 S472로 복귀하여 상기 처리를 반복한다.
5.2.2 키 정보를 특정하는 동작
여기에서는 도 47의 플로우차트를 이용하여 기록 장치(300a)의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보로부터 암호화된 매체키를 특정하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S172의 상세한 설명이다.
또한, 재생 장치(400a)의 특정부(402)에 의해 실행되는 동작은 상기 특정부(303)에 의해 실행되는 동작과 동일하므로, 그 설명은 생략한다.
여기에서는 도 42에 나타내는 플로우차트와 다른 특징을 설명한다.
제 4 실시예와 유사하게, 특정부(303)는 변수 i, 변수 L, 변수 X, 플래그 F, 값 D 및 포인터 A를 갖는다. 변수 i는 검사될 ID 정보의 비트 위치를 나타낸다. 변수 L은 현재 검사되고 있는 NRP가 포함되는 계층을 나타낸다. 변수 X는 경로가 분기하는 포인트에 노드의 계층을 저장한다. 플래그 F(초기값 F = 0)는 NRP를 검사할 것인지의 여부를 판정하기 위한 것이다. 값 D는 트리 구조내의 계층의 수를 나타낸다. 포인터 A는 검사될 NRP의 위치를 나타낸다.
값 B = 1인 경우(단계 S1305), NRP의 최상위 비트가 "1"인 경우에만(단계 S1316), 특정부(303)는 변수 i = D - 1로 설정하고, 변수 L = D - 1로 설정한다(단계 S1317).
더욱이, NRP가 {11}이고 NRP의 최상위 비트가 "1"이 아닌 경우, 특정부(303)는 NRP의 계층 번호를 변수 X로 저장한다(단계 S1311).
6. 다른 변형예
본 실시예는 상기 실시예들에 기초하여 설명하였지만, 본 발명은 이에 한정되는 것은 아니다. 이하와 같은 예들도 또한 본 발명에 포함된다.
(1) 본 발명은 상기 실시예들에서 설명한 종래의 무효화 방법을 이용하는 것에 한정하는 것은 아니다. 아래의 조건, 즉, 키 관리 장치가 트리 구조를 보유하고, 기록 장치 및/또는 재생 장치가 트리 구조의 리프에 할당되며, 노드와 관련된 디바이스키가 기록 장치 및/또는 재생 장치에 할당되고, 키 관리 장치가 트리 구조를 이용하여 디바이스키의 무효화를 실행하며, 키 정보를 생성하는 조건이 충족되는 경우, 노드에 디바이스키를 할당하는 어떠한 방법 및 디바이스키를 기록 장치 및/또는 재생 장치에 할당하는 어떠한 방법도 제공 가능하다.
(2) 트리 구조는 상기 실시예들에서 설명한 이진 트리로 한정되는 것은 아니다. 일반적으로, 본 발명은 n진 트리에 의해 실현 가능하다. 이 경우에, ID 정보는 하나의 노드로부터 아래로 파생하는 n개의 경로에 0 내지 n-1을 할당하고, 상기 실시예들에서 설명한 바와 같이, 리프로부터 루트까지 상기 경로에 할당되는 값을 최상위로터 순서대로 결합시킴으로써 설정된다.
(3) DVD-RAM과 같은 기록 가능 매체의 일례가 상술한 실시예들에 사용되었지만, 본 발명은 DVD-Video와 같은 미리 기록된 매체(pre-recorded media)에 대해서도 유사한 방식으로 실현될 수 있다.
이하 미리 기록된 매체용의 디지털 저작물 보호 시스템(10f)을 설명한다.
디지털 저작물 보호 시스템(10f)은 도 48에 나타내는 바와 같이, 키 관리 장치(100), 데이터 기록 장치(1701) 및 데이터 재생 장치(1703a, 1703b, 1703c 등(이하 "기록 장치(1703a 등)"이라 함)로 구성된다.
상기 실시예들에서 설명한 바와 같이, 키 관리 장치(100)는 헤더 정보가 부가되어 있는 키 정보 및 컨텐츠키를 데이터 기록 장치(1701)에 출력하고, 복수의 디바이스키, 각 디바이스키에 대한 식별 정보 및 ID 정보를 데이터 재생 장치(1703a 등)에 출력한다.
미리 기록된 매체인 기록 매체(500a)가 데이터 기록 장치(1701)에 적재된다. 데이터 기록 장치(1701)는 키 관리 장치(100)로부터 키 정보 및 매체키를 수신하고, 매체키를 이용하여 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성하며, 생성한 암호화된 컨텐츠 및 수신된 키 정보를 기록 매체(500b)에 기입한다. 이러한 방식으로, 암호화된 컨텐츠 및 키 정보가 기입되어 있는 기록 매체(500d)가 생산된다.
기록 매체(500d)가 시장에 유통되어 사용자가 상기 기록 매체(500d)를 취득한다. 사용자는 기록 매체(500d)를 데이터 재생 장치(1703a)에 적재한다.
데이터 재생 장치(1703a)는 복수의 디바이스키, 디바이스키에 대한 식별 정보 및 ID 정보를 미리 키 관리 장치(100)로부터 수신한다. 기록 매체(500d)가 데이터 재생 장치(1703a)에 적재되면, 데이터 재생 장치(1703a)는 기록 매체(500d)로부터 키 정보 및 암호화된 컨텐츠를 판독하고, 키 정보로부터 암호화된 매체키를 특정하며, 디바이스키를 이용하여 특정한 암호화된 매체키를 복호화하고, 획득된 매체키를 이용하여 암호화된 컨텐츠를 복호화하여 컨텐츠를 생성한다.
상기 실시예들에 나타내는 키 관리 장치(100)와 동일한 종류의 동작이 기록 매체에 기록되어 있는 헤더 정보의 크기를 제어할 수 있고, 데이터 재생 장치에 대해 복호화될 암호화된 매체키를 효율적으로 특정할 수 있다.
(4) 본 발명은 상기 실시예들에서 설명한 바와 같은 디지털 컨텐츠의 저작권 보호에 적용되는 것으로 한정되는 것은 아니지만, 예를 들어, 특정한 회원(들)과 다른 회원에게 정보를 제공하기 위한 회원제 정보 제공 시스템에서의 조건부 액세스를 목적으로 이용될 수 있다.
(5) 상기 실시예들에서는, 기록 매체를 이용하여 배포되는 키 정보 및 암호화된 컨텐츠를 일례로 설명하였지만, 기록 매체 대신에 인터넷으로 대표되는 통신 매체가 이용될 수 있다.
(6) 키 관리 장치 및 정보 기록 장치가 하나의 장치로 일체화될 수 있다.
(7) 본 발명은 디바이스키가 n진 트리내의 각 노드에 미리 할당되고, 리프로부터 루트까지의 경로상의 모든 디바이스키가 리프에 대응하는 사용자 장치에 할당되는 상기 실시예들에서 설명한 디바이스키를 할당하는 방법에 한정되는 것은 아니다.
미리 디바이스키를 n진 트리내의 모든 노드가 아니라 일부 노드에 할당하는 것도 가능하다.
더욱이, 리프로부터 루트까지의 경로상의 모든 디바이스키가 아니라 경로상의 일부의 디바이스키를 리프에 대응하는 사용자 장치에 할당하는 것도 가능하다.
(8) 예를 들어, 도 4의 트리 구조를 취하여, 디바이스키가 누출되지 않은 초기 상태에 있다고 가정하면, 암호화된 매체키는 디바이스키 A를 이용하여 매체키를 암호화함으로써 생성된다.
이제 사용자 장치 1 내지 16 중 하나가 제 3자에 의해 부정하게 해킹되어, 디바이스키 A가 노출되고 디바이스키 A만을 갖는 클론(clone) 디바이스가 제조된다고 가정한다. 클론 디바이스가 디바이스키 A만을 갖고 있기 때문에, 사용자 장치 1 내지 16 중 어느 것이 해킹되었는지를 특정하는 것은 불가능하다. 더욱이, 클론 디바이스가 디바이스키 A를 갖고 있기 때문에, 정확한 매체키를 획득하는 것은 가능하다.
이러한 상황에서, 디바이스키 A만을 무효화시킬 필요가 있고, 모든 디바이스를 커버할 수 있는, 바꿔 말하면 모든 디바이스에 공통인 디바이스키를 이용하여 매체키를 암호화할 필요가 있다. 여기에서 모든 디바이스를 커버하는 디바이스키를 이용하는 이유는 어떤 디바이스가 해킹되었는지를 판정하는 것이 불가능하기 때문이다.
이것에 대처하기 위해, 매체키가 디바이스키 B 및 디바이스키 C를 각각 이용하여 암호화되어 2개의 암호화된 디바이스키를 생성한다.
이어서, 키 B가 노출되는 경우, 디바이스키 B가 무효화되고, 매체키가 디바이스키 C, 디바이스키 D 및 디바이스키 E를 각각 이용하여 암호화되어 3개의 암호화된 매체키를 생성한다.
이것이 트리내의 계층의 수와 동일한 다수의 횟수 반복되는 경우, 최종적으로는 어떤 디바이스가 해킹되었는지를 특정할 수 있게 된다.
상술한 상황에 대처하기 위해, 디바이스키 A가 무효화되는 경우에만 디바이스키 A에 대응하는 노드에 NRP {100}이 부가된다. 도 4의 트리 구조의 경우에는, NRP {100}이 루트에 부가되어 있다.
NRP {100}의 헤드 비트 "1"은 노드가 무효화되어 있는 것을 나타내고, 헤드 비트 "1" 이후의 비트열 "00"은 노드의 2개의 직접적인 하위 노드가 무효화되지 않은 것을 나타낸다.
바꿔 말하면, 도 4의 트리 구조의 경우에는, NRP {100}이 루트에 부가되어 있는 경우, 이것은 디바이스키 B 및 디바이스키 C를 각각 이용하여 매체키를 암호화함으로써 생성된 2개의 암호화된 매체키가 있는 것을 의미한다. 이러한 방식으로, NRP의 헤드 비트 "1"은 노드 아래에 2개의 암호화된 매체키가 존재하는 것을 의미한다고 말할 수 있다.
반면에, 제 2 실시예에서 설명한 바와 같이, NRP가 {111}인 경우, 헤드 비트 "1"은 노드 아래에 NRP가 존재하지 않는 것을 나타낸다.
이하 이것을 더욱 상세하게 설명한다.
<키 관리 장치(100)>
여기에서는 키 관리 장치(100)가 도 4에 나타내는 트리 구조(T100)을 생성하고, 도 4에 나타내는 바와 같이, 각 노드에 디바이스키를 할당하고 각 리프에 사용자 장치를 할당한다고 가정한다.
이 후에, 도 49에 나타내는 바와 같이, 노드 T701, T702 및 T703에 각각 할당되는 디바이스키 KeyA, KeyB 및 KeyE가 상술한 바와 같이 누출된다. 키 관리 장치(100)는 디바이스키 KeyA, KeyB 및 KeyE를 무효화시키고, 헤더 정보 및 키 정보를 생성하여 생성된 헤더 정보 및 키 정보를 키 정보 기록 장치(200)를 통해 기록 매체에 기입한다.
(a) 디바이스키 KeyA, KeyB 및 KeyE의 무효화
키 관리 장치는 디바이스키 KeyA, KeyB 및 KeyE를 각각 포함하는 노드 정보에 무효화 플래그 "1"을 부가한다.
(b) 헤더 정보의 생성
키 관리 장치(100)는 무효화 플래그가 부가되어 있는 노드 정보를 포함하는 트리 구조 테이블을 이용하여 루트 T701에 부가하는 NRP {010}을 생성하고, 생성된 NRP {010}을 키 정보 기록 장치(200)를 통해 헤더 정보의 일부로서 기록 매체에 기입한다. 여기에서, NRP의 헤드 비트 "0"은 루트 T701의 직접적인 하위 노드 중 하나가 무효화되고, 나머지 하위 노드는 무효화되지 않은 것을 나타낸다. 더욱이, 상기 실시예들에서 설명한 바와 같이, 하위 2비트 "10"은 루트 T701의 2개의 직접적인 하위 노드 중에서 좌측 노드 T702가 무효화되고 우측 노드 T704는 무효화되지 않은 것을 나타낸다.
이어서, 키 관리 장치(100)는 노드 T702에 부가하는 NRP {001}을 생성하고, 생성된 NRP {001}을 키 정보 기록 장치(200)를 통해 헤더 정보의 일부로서 기록 매체에 기입한다. 여기에서, NRP의 헤드 비트 "0"은 노드 T702의 직접적인 하위 노드 중 하나가 무효화되고 나머지 직접적인 하위 노드는 무효화되지 않은 것을 나타낸다. 더욱이, 상기 실시예들에서 설명한 바와 같이, 하위 2비트 "01"은 루트 T702의 2개의 직접적인 하위 노드 중에서 좌측 노드 T705가 무효화되지 않고, 우측 노드 T703이 무효화된 것을 나타낸다.
이어서, 키 관리 장치(100)는 노드 T703에 부가하는 NRP {100}을 생성하고, 생성된 NRP {100}을 키 정보 기록 장치(200)를 통해 헤더 정보의 일부로서 기록 매체에 기입한다. NRP {100}은 상술한 바와 같이, 노드 T703의 2개의 직접적인 하위 노드 T706 및 T707의 어느 것도 무효화되지 않고, 노드 T706 및 T707이 각각 암호화된 매체키를 갖는 것을 나타낸다.
이러한 방식으로, 도 50에 나타내는 헤더 정보(D1000)가 기록 매체에 기입된다. 도 50에 나타내는 바와 같이, 헤더 정보(D1000)는 NRP {010}, {001} 및 {100}의 상술한 순서로 구성된다.
(c) 키 정보의 생성
이어서, 키 관리 장치(100)는 일부 무효화되지 않은 디바이스키를 이용하여 매체키를 암호화하여 암호화된 매체키를 생성하고, 생성한 암호화된 매체키를 포함하는 키 정보와 NRP를 포함하는 헤더 정보를 키 정보 기록 장치(200)를 통해 기록 매체에 기입한다. 키 정보는 아래의 방법으로 생성된다.
첫째로, 키 관리 장치(100)는 최상위 계층상의 노드에 할당되는 디바이스키를 이용하여 매체키를 암호화하여 암호화된 매체키를 생성한다. 여기에서는 도 49에 나타내는 바와 같이, 무효화되지 않은 디바이스키 중에서 최상위 계층상의 디바이스키가 노드 T704에 할당되는 디바이스키 KeyC이다. 따라서, 키 관리 장치(100)는 디바이스키 KeyC를 이용하여 매체키를 암호화하여, 암호화된 매체키 E1 (KeyC, 매체키)를 생성하고, 생성한 암호화된 매체키 E1 (KeyC, 매체키)를 키 정보 기록 장치(200)를 통해 기록 매체에 기입한다.
이어서, 키 관리 장치(100)는 디바이스키 KeyC가 할당되는 노드 T704 및 노드 T704의 모든 하위 노드를 제외한 최상위 계층상의 노드에 할당되는 디바이스키를 이용하여 매체키를 암호화하여, 암호화된 매체키를 생성한다. 여기에서, 적용 가능한 노드는 노드 T705이기 때문에, 키 관리 장치(100)는 노드 T705에 할당되는 디바이스키 KeyD를 이용하여 매체키를 암호화하여 암호화된 매체키 E1 (KeyD, 매체키)를 생성하고, 생성한 암호화된 매체키 E1 (KeyD, 매체키)를 키 정보 기록 장치(200)를 통해 기록 매체에 기입한다.
이어서, 키 관리 장치(100)는 디바이스키 KeyC가 할당되는 노드 T704 및 디바이스키 KeyD가 할당되는 노드 T705와 노드 T704 및 T705의 각각의 모든 하위 노드를 제외한 최상위 계층상의 노드에 할당되는 디바이스키를 이용하여 매체키를 암호화하여, 암호화된 매체키를 생성한다. 여기에서, 적용 가능한 노드는 노드 T706이기 때문에, 키 관리 장치(100)는 노드 T706에 할당되는 디바이스키 KeyJ를 이용하여 매체키를 암호화하여 암호화된 매체키 E1 (KeyJ, 매체키)를 생성하고, 생성한 암호화된 매체키 E1 (KeyJ, 매체키)를 키 정보 기록 장치(200)를 통해 기록 매체에 기입한다.
이어서, 키 관리 장치(100)는 디바이스키 KeyK를 이용하여 상기와 동일한 방식으로 매체키를 암호화하여 암호화된 매체키 E1(KeyK, 매체키)를 생성하고, 생성한 암호화된 매체키 E1(KeyK, 매체키)를 키 정보 기록 장치(200)를 통해 기록 매체에 기입한다.
이러한 방식으로, 도 50에 나타내는 키 정보(D1010)가 기록 매체에 기입된다. 도 50에 나타내는 바와 같이, 암호화된 매체키 E1(KeyC, 매체키), E1(KeyD, 매체키), E1(KeyJ, 매체키) 및 E1(KeyK, 매체키)의 상술한 순서로 구성된다.
<기록 장치(300a)>
도 51의 플로우차트를 이용하여 기록 장치(300a)의 특정부(303)에 의해 상술한 바와 같이 기록 매체에 저장되어 있는 헤더 정보 및 키 정보로부터 하나의 암호화된 매체키를 특정하는 동작을 설명한다.
특정부(303)는 암호화된 매체키의 위치를 나타내는 변수 X, 사용자 장치 자체에 관련된 NRP의 위치를 나타내는 변수 A, 특정 계층내의 NRP의 수를 나타내는 변수 W 및 처리의 대상인 계층의 수를 나타내는 변수 i를 갖는다.
특정부(303)는 변수 A = 0, 변수 W = 1 및 변수 i = 0을 초기값으로서 설정한다(단계 S301).
이어서, 특정부(303)는 ID 정보의 최상위 i번째 비트의 값에 대응하는 비트 위치에 있는 값 B가 "0"인지 "1"인지를 검사한다(단계 S303). 여기에서는 상기 실시예들에서 설명한 바와 같이, 대응하는 비트 패턴은 트리 구조내의 좌측 경로에 "0"이 할당되고, 우측 경로에 "1"이 할당되는 규칙에 기초하여 구성되는 ID 정보이다. 따라서, ID 정보의 최상위 i번째 비트의 값 "0"은 A번째 NRP의 하위 2비트의 좌측 비트에 대응하고, 최상위 i번째 비트의 값 "1"은 A번째 NRP의 하위 2비트의 우측 비트에 대응한다.
이어서, 값 B = 0인 경우(단계 S303), 특정부(303)는 아래의 방법으로 헤드 NRP로부터 최종적으로 검사된 NRP까지의 각 NRP를 검사한다. A번째 NRP는 포함되지 않는다.
(a) NRP의 최상위 비트가 "0"이고, 하위 2비트는 "11"이 아닌 경우, 특정부(303)는 변수 X에 "1"을 가산한다.
(b) NRP의 최상위 비트가 "1"인 경우, 특정부(303)는 하위 2비트에 포함되는 "0"의 수를 변수 X에 가산한다.
최종적으로 검사된 A번째 NRP에 대하여, 특정부(303)는 NRP의 최상위 비트가 "1"인 경우에만 변수 X에 대응하는 비트까지의 "0"의 수를 가산한다. 여기에서, 대응하는 비트 자체는 포함되지 않는다. 이러한 방법으로 획득되는 변수 X는 암호화된 매체키의 위치를 나타낸다. 더욱이, 이 포인트에서의 변수 i는 디바이스키를 특정하는 디바이스 식별 정보이다(단계 S307c). 그 후, 특정부(303)는 상기 처리를 종료한다.
반면에, 값 B = 1인 경우(단계 S303), 특정부(303)는 NRP의 최상위 비트가 "1"인지의 여부를 추가로 판정하고, NRP의 최상위 비트가 "1"인 경우(단계 S308) 사용자 장치가 무효화되기 때문에 상기 처리를 종료한다.
NRP의 최상위 비트가 "1"이 아닌 경우(단계 S308), 특정부(303)는 계층 i내의 W개의 NRP 모두의 하위 비트에 포함되지 않는 "1"의 수를 카운트하고, 카운트된 값을 변수 W로 설정한다. 최상위 비트가 "1"인 NRP는 카운트되지 않는다. 이러한 방법으로 획득된 변수 W는 이후의 계층 i + 1내의 NRP의 수를 나타낸다(단계 S304c).
이어서, 특정부(303)는 계층 i내의 첫번째 NRP로부터 대응하는 비트 위치까지 각 NRP의 하위 2비트에 포함되는 "1"의 수를 카운트하고, 카운트된 값을 변수 A로 설정한다. 여기에서, 대응하는 비트 위치는 카운트되지 않는다. 더욱이, 최상위 비트가 "1"인 NRP도 카운트되지 않는다. 이러한 방법으로 획득되는 변수 A는 이후의 계층 i + 1내의 NRP 중에서 사용자 장치 자체에 관련된 NRP의 위치를 나타낸다(단계 S305c).
이어서, 특정부(303)는 변수 i = i + 1을 계산하고(단계 S306), 단계 S303으로 이동하여 상술한 처리를 반복한다.
이러한 방법으로, 키 관리 장치는 기록 장치에 헤더 정보 및 키 정보를 기입할 수 있고, 재생 장치는 트리 구조내의 리프로부터 루트까지의 경로상의 디바이스키가 무효화되는 경우 뿐만 아니라 트리 구조내의 일부 노드에 할당되는 디바이스키가 무효화되는 경우에도 암호화된 매체키를 특정할 수 있다.
(9) 예를 들어, 도 4의 트리 구조를 취하여 어떠한 디바이스키도 누출되지 않았고 트리 구조내의 어떠한 노드도 무효화되지 않은 초기 상태에 트리가 있다고 가정한다.
이 경우에, 키 관리 장치는 루트에 대응하는 디바이스키 KeyA를 이용하여 매체키를 암호화하여 암호화된 매체키를 생성한다. 이어서, 키 관리 장치는 트리 구조 내에 무효화된 노드가 존재하지 않고, 모든 노드가 유효하다(즉, 무효화되지 않음)는 것을 나타내는 하나의 특정 NRP {00}를 생성한다. 그 후, 키 관리 장치는 생성한 암호화된 매체키 및 생성한 NRP {00}을 키 정보 기록 장치를 통해 기록 매체에 기입한다.
더욱이, 이 경우에는, 재생 장치가 기록 매체로부터 NRP를 판독하여, 판독된 NRP만이 {00}이고 기록 매체에 기록된 다른 NRP는 존재하지 않는다고 판정하면, 재생 장치는 트리 구조 내에 무효화된 노드가 존재하지 않는다고 판정한다. 그 후, 재생 장치는 기록 매체에 기록되어 있는 암호화된 매체키를 판독하고, 판독한 암호화된 매체키를 재생 장치에 의해 저장된 디바이스키 중에서 루트에 대응하는 디바이스키인 디바이스키 KeyA를 이용하여 복호화하여 매체키를 생성한다.
기록 장치는 또한 이 경우에 재생 장치와 동일한 방식으로 동작한다.
7. 제 6 실시예
이하 본 발명의 다른 실시예로서 컨텐츠 배포 시스템(2000)을 설명한다.
7.1 컨텐츠 배포 시스템(2000)의 구성
컨텐츠 배포 시스템(2000)은 도 52에 나타내는 바와 같이, 컨텐츠 서버 장치(2200), 컨텐츠 기록 장치(2100) 및 컨텐츠 재생 장치(2400 내지 2400x)로 구성된다. 여기에서, 컨텐츠 재생 장치의 총 수는 n이다.
컨텐츠 서버 장치(2200) 및 컨텐츠 기록 장치(2100)는 컨텐츠 제공자에 의해 보유되고, LAN에 의해 서로 접속된다. 컨텐츠 서버 장치(2200)는 영화 및 음악과 같은 디지털 저작물인 컨텐츠를 저장한다. 컨텐츠 기록 장치(2100)는 컨텐츠 서버 장치(2200)로부터 컨텐츠 및 컨텐츠키를 획득하고, n개의 디바이스키에 기초하여 매체키를 암호화하여 n개의 암호화된 매체키를 획득하며, 매체키 및 S개의 지역 코드에 기초하여 S개의 암호화키를 생성하고, 생성된 S개의 암호화키를 이용하여 컨텐츠키를 암호화하여 S개의 암호화된 컨텐츠키를 생성하며, 컨텐츠키를 이용하여 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성하고, n개의 암호화된 매체키, S개의 암호화된 컨텐츠키 및 암호화된 컨텐츠를 기록 매체(2120)에 기입한다.
기록 매체(2120)가 판매되어 이 기록 매체(2120)를 구입한 사용자에 의해 획득된다.
컨텐츠 재생 장치(2400)는 사용자에 의해 보유되고, 사용자가 기록 매체(2120)를 컨텐츠 재생 장치(2400) 내에 장착한다. 이어서, 사용자로부터의 명령에 따라, 컨텐츠 재생 장치(2400)는 기록 매체(2120)로부터 하나의 암호화된 매체키를 선택하여 판독하고, S개의 암호화된 컨텐츠키 및 암호화된 컨텐츠를 판독하며, 암호화된 매체키를 디바이스키를 이용하여 복호화하여 매체키를 생성하고, 생성된 매체키 및 내부에 저장되어 있는 지역 코드에 기초하여 복호화키를 생성하며, 생성된 복호화키를 이용하여 S개의 암호화된 컨텐츠키를 복호화하여 S개의 컨텐츠키를 생성하고, 생성된 S개의 컨텐츠키 중에서 하나의 정확한 컨텐츠키를 선택하며, 선택된 정확한 컨텐츠키를 이용하여 암호화된 컨텐츠를 복호화하여 컨텐츠를 생성한다. 이어서, 컨텐츠 재생 장치(2400)는 생성된 컨텐츠로부터 비디오 신호 및 오디오 신호를 생성하고, 생성된 오디오 신호 및 비디오 신호를 컨텐츠 재생 장치(2400)에 접속되어 있는 스피커(2422) 및 모니터(2421)에 출력한다.
다른 컨텐츠 재생 장치는 컨텐츠 재생 장치(2400)와 동일한 방식으로 동작한다.
7.2 컨텐츠 서버 장치(2200)의 구성
컨텐츠 서버 장치(2200)는 마이크로프로세서, ROM, RAM, 하드 디스크 유닛, 디스플레이 유닛, 통신 유닛, 키보드, 마우스 등으로 구성되는 컴퓨터 시스템이다. 컴퓨터 프로그램이 RAM 또는 하드 디스크 유닛에 저장되어 있다. 컨텐츠 서버 장치(2200)는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 그 기능을 달성한다.
통신 유닛은 LAN을 통해 컨텐츠 기록 장치(2100)에 접속되어 있고, 컨텐츠 기록 장치(2100)에 및 컨텐츠 기록 장치(2100)로부터 정보를 송신 및 수신한다.
하드 디스크 유닛은 영화 및 음악과 같은 디지털 저작물인 복수의 컨텐츠를 미리 저장하고, 각 컨텐츠에 대응하는 컨텐츠키를 또한 저장한다. 각 컨텐츠키는 대응하는 컨텐츠를 암호화할 때 사용되는 키 정보이다.
컨텐츠 서버 장치(2200)는 컨텐츠 기록 장치(2100)로부터의 명령에 응답하여, 하드 디스크로부터 컨텐츠 및 컨텐츠키를 판독하고, 판독된 컨텐츠 및 컨텐츠키를 LAN을 통해 컨텐츠 기록 장치(2100)에 송신한다.
7.3 컨텐츠 기록 장치(2100)의 구성
컨텐츠 기록 장치(2100)는 도 53에 나타내는 바와 같이, 디바이스키 저장부(2101), 매체키 저장부(2102), 매체키 데이터 생성부(2103), 지역 코드 저장부(2104), 암호화키 생성부(2105), 컨텐츠키 암호화부(2106), 컨텐츠 암호화부(2107), 제어부(2108), 입력부(2109), 디스플레이부(2110), 송/수신부(2111) 및 출력부(2112)로 구성된다.
컨텐츠 서버 장치(2200)와 유사하게, 컨텐츠 기록 장치(2100)는 마이크로프로세서, ROM, RAM 등으로 구성되는 컴퓨터 시스템이다. 컴퓨터 프로그램이 RAM에 저장되어 있다. 컨텐츠 기록 장치(2100)는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 그 기능의 일부를 달성한다.
(1) 디바이스키 저장부(2101), 매체키 저장부(2102) 및 지역 코드 저장부(2104)
디바이스키 저장부(2101)는 n개의 컨텐츠 재생 장치에 각각 대응하는 n개의 디바이스키 구체적으로는 디바이스키 1 내지 디바이스키 n을 미리 비밀리에 저장한다. 각 디바이스키는 예컨대, 64비트 길이이다.
매체키 저장부(2102)는 고유의 매체키를 미리 저장하고, 고유의 매체키는 각각 기록 매체에 고유하며, 예를 들어, 64비트 길이이다.
매체키는 각각의 기록 매체에 고유한 것으로 한정되는 것은 아니다. 예를 들어, 하나의 매체키가 동일한 컨텐츠가 기록되어 있는 기록 매체에 고유할 수도 있다. 바꿔 말하면, 동일한 컨텐츠를 저장하는 복수의 기록 매체에 대해 동일한 매체키가 설정될 수도 있다. 다른 방법으로는, 특정 매체키가 동일한 저작권자에 의해 소유되는 저작권을 갖는 컨텐츠가 기록되어 있는 기록 매체에 고유할 수도 있다. 더욱이, 특정 매체키는 동일한 제공자에 의해 제공되는 기록 매체에 고유할 수도 있다.
지역 코드 저장부(2104)는 6개의 지역 코드를 미리 저장한다. 각 지역 코드는 문헌 1에 기술되어 있는 바와 같이, 세계의 6개의 지역 중 한 지역의 코드를나타낸다. 구체적으로는, 지역 코드는 0x0001, 0x0002 내지 0x0006이다. 여기에서, 0x0001과 나머지 지역 코드는 16진 표기로 되어 있다.
(2) 매체키 데이터 생성부(2103)
매체키 데이터 생성부(2103)는 디바이스키 저장부(2101)로부터 n개의 디바이스키를 판독하고, 매체키 저장부(2102)로부터 매체키를 판독하며, 각각의 판독된 n개의 디바이스키를 각각 이용하여 암호화 알고리즘 E3을 적용함으로써 판독된 매체키를 암호화하여 n개의 암호화된 매체키
E3 (디바이스키 1, 매체키),
E3 (디바이스키 2, 매체키),
E3 (디바이스키 n, 매체키)를 생성한다.
여기에서, 암호화 알고리즘은 예컨대, DES이다.
이어서, 매체키 데이터 생성부(2103)는 출력부(2112)를 통해 기록 매체(2120)의 매체키 데이터 기록 영역(2121)(후술함)에 생성한 n개의 암호화된 매체키를 기입한다. 여기에서, n개의 암호화된 매체키는 디바이스키 1, 2 내지 n에 대응하는 순서로 기입된다.
(3) 암호화키 생성부(2105)
암호화키 생성부(2105)는 매체키 저장부(2102)로부터 매체키를 판독하고, 컨텐츠 기록 장치(2100)의 조작자로부터의 명령에 따라, 입력부(2109) 및 제어부(2108)를 통해 지역 코드 저장부(2104)에 저장되어 있는 지역 코드 중에서 컨텐츠의 재생이 허가되는 지역의 S개의 지역 코드를 선택한다. 여기에서, 1S6이다.
이어서, 선택된 각각의 지역 코드에 대해, 암호화키 생성부(2105)는 판독된 매체키 및 지역 코드를 상술한 순서로 연결하여 연결 데이터를 생성하고, SHA-1과 같은 해시 함수인 일방향 함수를 생성한 연결 데이터에 적용한다. 여기에서, 예컨대, 암호화 알고리즘이 DES인 경우, 출력값의 최상위 56비트가 암호화키로 사용된다. 이러한 방식으로, S개의 암호화키 K1, K2 내지 KS가 생성된다.
이어서, 암호화키 생성부(2105)는 S개의 생성된 암호화키 K1, K2 내지 KS를 컨텐츠키 암호화부(2106)에 출력한다.
예를 들어, 컨텐츠 재생 허가가 지역 코드 0x0001 및 0x0005 중 하나로 표시되는 지역에 속하는 컨텐츠 재생 장치에 한정되는 예를 취하면, 암호화키 생성부(2105)는 2개의 지역 코드 0x0001 및 0x0005를 선택하고, 2개의 암호화키 K1 및 K5를 생성하며, 2개의 암호화키 K1 및 K5를 컨텐츠키 암호화부(2106)에 출력한다.
(4) 컨텐츠키 암호화부(2106)
컨텐츠키 암호화부(2106)는 컨텐츠 서버 장치(2200)로부터 송/수신부(2111)를 통해 컨텐츠키를 수신하고, S개의 암호화키 K1, K2 내지 KS를 수신하며, 고정 데이터 및 수신된 컨텐츠키를 연결하여 연결 데이터를 생성한다. 여기에서, 고정 데이터는 예컨대, 0x0000이다. 이러한 고정 데이터는 복호화 중에 복호화된 데이터가 정확한지의 여부를 판정하기 위해 사용된다. 이어서, 컨텐츠키 암호화부(2106)는 수신된 각각의 암호화키를 이용하여 연결 데이터에 암호화 알고리즘 E4를 적용하여 S개의 암호화된 컨텐츠키
E4 (K1, 고정 데이터 + 컨텐츠키),
E4 (K2, 고정 데이터 + 컨텐츠키),
E4 (KS, 고정 데이터 + 컨텐츠키)를 생성한다. 컨텐츠키 암호화부(2106)는 출력부(2112)를 통해 기록 매체(2120)의 암호화된 컨텐츠 기록 영역(2122)(후술함)에 생성한 S개의 암호화된 컨텐츠키를 기입한다.
여기에서, "+"는 연결을 나타내는 연산자이다.
암호화 알고리즘 E4는 예컨대, DES이다.
일례로서, 컨텐츠키 암호화부(2106)는 2개의 암호화키 K1 및 K5를 수신하여 2개의 암호화된 컨텐츠키
E4 (K1, 고정 데이터 + 컨텐츠키),
E4 (K5, 고정 데이터 + 컨텐츠키)를 생성하여 생성한 2개의 암호화된 컨텐츠키를 기입한다.
(5) 컨텐츠 암호화부(2107)
컨텐츠 암호화부(2107)는 컨텐츠 서버 장치(2200)로부터 송/수신부(2111)를 통해 컨텐츠키 및 컨텐츠를 수신하고, 수신된 컨텐츠키를 이용하여 수신된 컨텐츠에 암호화 알고리즘 E5를 적용하여 암호화된 컨텐츠 E5 (컨텐츠키, 컨텐츠)를 생성하며, 생성한 암호화된 컨텐츠를 출력부(2112)를 통해 기록 매체(2120)의 암호화된 컨텐츠 기록 영역(2123)(후술함)에 기입한다.
여기에서, 암호화 알고리즘 E5는 예컨대, DES이다.
(6) 제어부(2108), 입력부(2109) 및 디스플레이부(2110)
제어부(2108)는 컨텐츠 기록 장치(2100)의 구성 요소를 제어한다. 입력부(2109)는 컨텐츠 기록 장치(2100)의 조작자로부터 명령 및 정보를 수신하고, 수신한 명령 및 정보를 제어부(2108)에 출력한다. 디스플레이부(2110)는 제어부(2108)의 제어 하에 여러 가지 정보를 디스플레이한다.
(7) 송/수신부(2111) 및 출력부(2112)
송/수신부(2111)는 LAN을 통해 컨텐츠 서버 장치(2200)에 접속되어 있고, 제어부(2108)의 제어 하에 컨텐츠 서버 장치(2200)로부터 컨텐츠 및 컨텐츠키를 수신하며, 수신한 컨텐츠 및 컨텐츠키를 컨텐츠 암호화부(2107)에 출력하고, 수신한 컨텐츠키를 컨텐츠키 암호화부(2106)에 출력한다.
출력부(2112)는 기록 매체(2120) 상에 매체키 데이터 기록 영역(2121), 암호화된 컨텐츠키 기록 영역(2122) 및 암호화된 컨텐츠 기록 영역(2123)을 형성하고, n개의 암호화된 매체키, S개의 암호화된 컨텐츠키 및 암호화된 컨텐츠를 각각의 영역에 기입한다.
7.4 기록 매체(2120)의 구성
기록 매체(2120)는 DVD-Video와 같은 미리 기록된 매체이다. 초기 상태에서는 기록 매체(2120)에 기입된 정보는 존재하지 않는다.
컨텐츠 기록 장치(2100)에 의해 기록 매체(2120)에 정보가 기입된 경우, 기록 매체(2120)는 도 54에 나타내는 바와 같이, 매체키 데이터 기록 영역(2121), 암호화된 컨텐츠 기록 영역(2122) 및 암호화된 컨텐츠 기록 영역(2123)을 갖는다.
도 54는 기록 매체(2120)에 기록되어 있는 데이터의 구체예를 나타낸다. 이 예에서는, 컨텐츠 재생 장치의 총 수는 상술한 바와 같이, n개이고, 각 재생 장치는 디바이스키 1 내지 n 중에서 하나의 고유의 디바이스키를 가지며, 컨텐츠의 재생은 지역 코드 0x0001 또는 0x0005로 나타내는 영역에 속하는 재생 장치에게만 허가된다.
n개의 암호화된 매체키가 매체키 데이터 기록 영역(2121)에 기록되어 있다. 2개의 암호화된 컨텐츠키가 암호화된 컨텐츠키 기록 영역(2122)에 기록되어 있고, 하나의 암호화된 컨텐츠가 암호화된 컨텐츠 기록 영역(2123)에 기록되어 있다.
7.5 컨텐츠 재생 장치(2400)의 구성
컨텐츠 재생 장치(2400)는 도 55에 나타내는 바와 같이, 디바이스키 저장부(2401), 제어부(2402), 매체키 복호화부(2403), 지역 코드 저장부(2404), 복호화키 생성부(2405), 컨텐츠키 복호화부(2406), 컨텐츠 복호화부(2407), 구동부(2408), 재생부(2409), 입력부(2410) 및 디스플레이부(2411)로 구성된다.
컨텐츠 재생 장치(2400)는 구체적으로는 마이크로프로세서, ROM, RAM 등으로 구성되는 컴퓨터 시스템이다. 컴퓨터 프로그램이 RAM에 저장되어 있다. 컨텐츠 재생 장치(2400)는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 그 기능을 달성한다.
다른 컨텐츠 재생 장치는 컨텐츠 재생 장치(2400)와 동일한 구성을 가지므로 여기에서 설명은 생략한다.
(1) 디바이스키 저장부(2401) 및 지역 코드 저장부(2404)
디바이스키 저장부(2401)는 디바이스키를 비밀리에 저장하고, 컨텐츠 재생 장치(2400)에 고유하게 할당되는 키 정보이다.
지역 코드 저장부(2404)는 하나의 지역 코드를 미리 저장한다. 구체적으로는, 지역 코드는 0x0001이다. 0x0001은 컨텐츠 재생 장치(2400)가 판매되는 지역을 나타낸다.
(2) 매체키 복호화부(2403)
매체키 복호화부(2403)는 기록 매체(2120)의 매체키 데이터 기록 영역(2121)으로부터 구동부(2408)를 통해 암호화된 매체키를 판독한다. 여기에서, 판독한 암호화된 매체키는 컨텐츠 재생 장치에 할당되는 장치 번호(1, 2 내지 n 중 하나)에 대응하는 위치에 기록되어 있는 암호화된 매체키이다.
예를 들어, 컨텐츠 재생 장치에 할당된 장치 번호가 "5"인 경우, 매체키 복호화부(2403)는 기록 매체(2120)의 매체키 데이터 기록 영역(2121)에 기록되어 있는 n개의 암호화된 매체키 중 최상위로부터 5번째에 있는 암호화된 매체키를 판독한다.
이어서, 매체키 복호화부(2403)는 디바이스키 저장부(2401)로부터 디바이스키를 판독하고, 판독한 디바이스키를 이용하여 판독한 암호화된 매체키에 복호화 알고리즘 D3을 적용하여 매체키를 생성하며, 생성된 매체키를 복호화키 생성부(2405)에 출력한다.
여기에서, 복호화 알고리즘 D3은 예컨대, DES인 암호화 알고리즘 E3을 이용하여 생성된 암호문을 복호화하기 위한 알고리즘이다.
(3) 복호화키 생성부(2405)
복호화키 생성부(2405)는 매체키 복호화부(2403)로부터 매체키를 수신하고, 지역 코드 저장부(2404)로부터 지역 코드를 판독한다.
이어서, 복호화키 생성부(2405)는 수신된 매체키 및 판독된 지역 코드를 이용하여 암호화키 생성부(2105)와 동일한 방식으로 하나의 복호화키를 생성하여 생성된 복호화키를 컨텐츠키 복호화부(2406)에 출력한다.
(4) 컨텐츠키 복호화부(2406)
컨텐츠키 복호화부(2406)는 복호화키 생성부(2405)로부터 복호화키를 수신하고, 기록 매체(2120)의 암호화된 컨텐츠키 기록 영역(2122)으로부터 구동부(2408)를 통해 S개의 암호화된 컨텐츠키를 판독하며, 수신된 복호화키를 이용하여 판독한 S개의 암호화된 컨텐츠키에 암호화 알고리즘 D4를 적용하여 S개의 연결 데이터를 생성하고, 생성된 연결 데이터 중에서 헤드가 0x0000인 하나의 연결 데이터를 선택한다. 이어서, 컨텐츠키 복호화부(2406)는 선택된 연결 데이터의 헤드로부터 0x0000을 삭제하고, 생성된 컨텐츠키를 컨텐츠 복호화부(2407)에 출력한다.
여기에서, 복호화 알고리즘 D4는 예컨대, DES인 암호화 알고리즘 E4를 이용하여 생성된 암호문을 복호화하기 위한 알고리즘이다.
컨텐츠키 복호화부(2406)는 암호화된 컨텐츠키 기록 영역(2122)로부터 하나의 암호화된 컨텐츠키를 판독하고, 복호화키를 이용하여 판독한 암호화된 컨텐츠키를 복호화하여 연결 데이터를 생성하며, 연결 데이터의 최상위가 0x0000인지의 여부를 판정한다. 최상위가 0x0000인 경우, 컨텐츠키 복호화부(2406)는 최상위로부터 0x0000을 삭제하고 컨텐츠키를 생성한다. 최상위가 0x0000이 아닌 경우, 컨텐츠키 복호화부(2406)는 최상위가 0x0000인 연결 데이터를 찾을 때까지 암호화된 컨텐츠키를 계속적으로 판독 및 복호화한다.
(5) 컨텐츠 복호화부(2407)
컨텐츠 복호화부(2407)는 컨텐츠키 복호화부(2406)로부터 컨텐츠키를 수신하고, 기록 매체(2120)의 암호화된 컨텐츠 기록 영역(2123)으로부터 구동부(2408)를 통해 암호화된 컨텐츠를 판독하며, 수신된 컨텐츠키를 이용하여 판독한 암호화된 컨텐츠에 복호화 알고리즘 D5를 적용하여 컨텐츠를 생성하고, 생성된 컨텐츠를 재생부(2409)에 출력한다.
(6) 재생부(2409)
재생부(2409)는 컨텐츠 복호화부(2407)로부터 컨텐츠를 수신하고, 수신한 컨텐츠를 내부 디지털 AV 처리부에서 아날로그 비디오 및 오디오 신호로 변환하며, 생성된 비디오 신호 및 오디오 신호를 각각 모니터(2421) 및 스피커(2422)에 출력한다.
(7) 제어부(2402), 입력부(2410), 디스플레이부(2411) 및 구동부(2408)
제어부(2402)는 컨텐츠 재생 장치(2400)의 구성 요소를 제어한다. 입력부(2410)는 컨텐츠 재생 장치(2400)의 조작자로부터 명령 및 정보를 수신하고, 수신한 명령 및 정보를 제어부(2402)에 출력한다. 디스플레이부(2411)는 제어부(2402)의 제어 하에 여러 가지 정보를 디스플레이한다. 구동부(2408)는 기록 매체로부터 정보를 판독한다.
7.6 컨텐츠 배포 시스템의 동작
이하 컨텐츠 배포 시스템(2000)의 동작을 설명한다.
(1) 컨텐츠 기록 장치(2100)의 동작
이하 도 56의 플로우차트를 이용하여 컨텐츠 기록 장치(2100)의 동작을 설명한다.
매체키 데이터 생성부(2103)는 디바이스키 저장부(2101)에 저장되어 있는 디바이스키를 이용하여 매체키 저장부(2102)에 저장되어 있는 매체키를 암호화하여 암호화된 매체키를 생성하고, 생성한 암호화된 매체키를 기록 매체(2120)의 매체키 데이터 기록 영역(2121)에 기록한다(단계 S2201).
이어서, 암호화키 생성부(2105)는 지역 코드 저장부(2104)에 저장되어 있는 지역 코드 중에서 컨텐츠의 재생이 허가되는 지역(들)의 적어도 하나의 지역 코드를 선택하고(단계 S2202), 선택된 적어도 하나의 지역 코드 및 매체키로부터 컨텐츠를 암호화하기 위한 적어도 하나의 암호화키를 생성한다. 여기에서, 생성된 암호화키의 수는 선택된 지역 코드의 수와 일치한다(단계 S2203).
이어서, 컨텐츠키 암호화부(2106)는 생성된 적어도 하나의 암호화키를 이용하여 컨텐츠를 암호화하여 적어도 하나의 암호화된 컨텐츠키를 생성하고, 적어도 하나의 생성한 암호화된 컨텐츠키를 기록 매체(2120)의 암호화된 컨텐츠키 기록 영역(2122)에 기입한다(단계 S2204).
이어서, 컨텐츠 암호화부(2107)는 컨텐츠키를 이용하여 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성하고, 생성한 암호화된 컨텐츠를 기록 매체(2120)의 암호화된 컨텐츠 기록 영역(2123)에 기록한다(단계 S2205).
(2) 컨텐츠 재생 장치(2400)의 동작
이하 도 57의 플로우차트를 이용하여 컨텐츠 재생 장치(2400)의 동작을 설명한다.
매체키 복호화부(2403)는 기록 매체(2120)의 매체키 데이터 기록 영역(2121)으로부터 선택되어 판독되는 암호화된 매체키를 이용하여 디바이스키 저장부(2401)에 저장되어 있는 디바이스키를 복호화하여 매체키를 생성한다(단계 S2501).
매체키 생성부(2405)는 생성된 매체키 및 지역 코드 저장부(2404)에 저장되어 있는 지역 코드에 기초하여 암호화된 컨텐츠키를 복호화하기 위한 복호화키를 생성한다(S2502).
컨텐츠키 복호화부(2406)는 생성된 복호화키를 이용하여 기록 매체(2120)의 암호화된 컨텐츠키 기록 영역(2122)으로부터 판독되는 적어도 하나의 암호화된 컨텐츠키를 복호화하여 적어도 하나의 컨텐츠키를 생성하고, 생성된 컨텐츠키 중에서 정확한 컨텐츠키를 특정한다(단계 S2503).
컨텐츠 복호화부(2407)는 생성된 컨텐츠키를 이용하여 기록 매체(2120)의 암호화된 컨텐츠 기록 영역(2123)으로부터 판독되는 암호화된 컨텐츠를 복호화하여 컨텐츠를 생성한다(단계 S2504).
재생부(2409)는 생성된 컨텐츠를 아날로그 비디오 및 오디오 신호로 변환하고, 비디오 신호 및 오디오 신호를 각각 모니터(2421) 및 스피커(2422)에 출력한다(단계 S2505).
7.7 결론
제 6 실시예의 컨텐츠 배포 시스템(2000)에서, 컨텐츠 기록 장치는 지역 코드 및 매체키를 이용하여 생성되는 컨텐츠키를 암호화하고, 생성한 컨텐츠키를 기록 매체에 기록한다. 컨텐츠가 재생되도록 허가되는 지역을 나타내는 지역 코드를 갖는 컨텐츠 재생 장치는, 상기 지역 코드가 기록 매체에 암호화된 매체키를 기록할 때 사용되는 지역 코드와 일치하는 경우, 컨텐츠 재생 장치의 지역 코드로부터 생성되는 복호화키 및 매체키를 이용하여 암호화된 컨텐츠를 복호화하기 위한 정확한 컨텐츠키를 획득할 수 있게 된다.
반면에, 기록 매체에 암호화된 컨텐츠를 기록할 때 사용되는 지역 코드와 컨텐츠 재생 장치의 지역 코드가 일치하지 않는 경우, 컨텐츠 재생 장치는 정확한 컨텐츠키를 획득할 수 없으므로, 암호화된 컨텐츠를 복호호할 수 없게 된다.
이러한 방식으로, 컨텐츠를 암호화 및 복호화할 때 지역 코드를 사용함으로써, 컨텐츠의 시청이 지역에 따라 한정될 수 있다.
7.8 변형예
(1) 본 발명은 컨텐츠 기록 장치(2100)가 LAN을 통해 컨텐츠 서버 장치(2200)에 접속되어, 컨텐츠 서버 장치(2200)로부터 컨텐츠 및 컨텐츠키를 획득하는 제 6 실시예에서 설명한 구성을 갖는 것에 한정되는 것은 아니다.
그 대신에, 컨텐츠 기록 장치(2100)는 인터넷을 통해 컨텐츠 서버 장치(2200)에 접속되어, 컨텐츠 서버 장치(2200)로부터 인터넷을 통해 컨텐츠 및 컨텐츠키를 획득할 수도 있다.
다른 방법으로는, 컨텐츠 및 컨텐츠키가 디지털 방송 송신 장치에 의해 디지털 방송파로 방송될 수도 있고, 컨텐츠 기록 장치(2100)가 디지털 방송파를 수신하여 디지털 방송파로부터 컨텐츠 및 컨텐츠키를 추출할 수도 있다.
또 다른 방법은 컨텐츠 기록 장치(2100)가 내부에 컨텐츠키 및 컨텐츠를 저장하거나, 필요한 경우 내부에 컨텐츠키를 생성하는 것이다. 더욱이, 컨텐츠 기록 장치(2100)는 컨텐츠를 생성하는 구성을 가질 수 있다. 예를 들어, 컨텐츠 기록 장치(2100)는 카메라 및 동화상을 인코딩하는 인코딩부를 구비하여 인코딩된 동화상을 컨텐츠로서 생성할 수 있다.
(2) 본 발명의 지역 정보는 제 6 실시예에서 설명한 바와 같은 공개 정보에 한정되는 것은 아니다.
지역 코드에 대응하는 비밀 정보가 설정되고, 컨텐츠 기록 장치 및 컨텐츠 재생 장치가 비밀 정보를 누출되지 않도록 엄격하게 관리하는 다른 구성도 가능하다. 여기에서, 상기 장치들은 비밀 정보 및 매체키로부터 암호화 및 복호화키를 생성한다.
(3) 컨텐츠 기록 장치는 기록 매체에 컨텐츠의 재생이 허가되는 지역을 나타내는 지역 코드를 그대로 기록할 수 있고, 컨텐츠 재생 장치는 먼저 기록 매체상의 지역 코드와 자체의 지역 코드를 비교하여, 이들 지역 코드가 일치하지 않는 경우 추가의 처리를 중단한다.
(4) 기록 매체에 기록되어 있는 암호화된 매체키 중에서 컨텐츠 재생 장치의 디바이스키를 이용하여 암호화된 매체키를 특정하는 경우, 컨텐츠 재생 장치는 예를 들어, 매체키의 최하위 8비트를 각각 "1"로서 미리 설정하고, 컨텐츠 재생 장치는 암호화된 매체키를 복호화함으로써 획득되는 데이터의 최하위 8비트가 모두 "1"인지의 여부를 검사하고, 최하위 8비트가 모두 "1"인 경우 암호화된 매체키가 성공적으로 복호화된 것으로 판정하는 하나의 구성도 가능하다.
이러한 종류의 사전 검사에 의해 매체키가 신뢰할 수 있게 획득될 수 있고, 컨텐츠 재생 장치에 접속되어 있는 스피커가 잘못 복호화된 데이터로 인해 생성되는 노이즈 등에 의해 파괴되는 것을 방지할 수 있게 된다.
(5) 제 6 실시예의 컨텐츠 기록 장치(2100)의 컨텐츠키 암호화부(2106)는 고정 데이터 및 컨텐츠키를 연결시킨다. 더욱이, 매체키의 일부는 (4)에서 상술한 바와 같은 특정값이다. 이것은 암호화된 컨텐츠키 또는 암호화된 매체키를 복호화할 때, 정확한 원래의 컨텐츠키 또는 매체키가 획득되었는지의 여부를 확인하기 위한 것이다.
정확한 원래의 데이터가 설명한 바와 같이 획득되었는지의 여부를 확인하기 위하여 아래의 구성이 제공될 수도 있다.
복호화용으로 사용되는 복호화키에 복호화키를 식별하는 ID가 할당될 수 있다. 컨텐츠 기록 장치는 어떤 키가 암호화에 사용되었는지를 나타내도록, 바꿔 말하면 어떤 키가 복호화용으로 사용할지를 나타내도록 상기 ID를 암호문에 부가한다. 복호화할 때, 컨텐츠 재생 장치는 재생 장치에 의해 보유되는 키의 ID와 암호문에 부가된 ID를 비교하고, 상기 ID들이 일치하는 경우 암호문을 복호화한다.
(6) 제 6 실시예에서는, 컨텐츠 기록 장치(2100)의 매체키 저장부(2102)는 기록 매체에 고유한 매체키를 미리 저장하고 있지만, 미리 저장하는 대신에, 매체키는 필요한 경우 생성되어도 된다.
8. 제 7 실시예
이하 본 발명의 다른 실시예로서의 컨텐츠 배포 시스템(3000)을 설명한다.
상술한 제 6 실시예에서는, 디바이스키를 갖는 어떤 컨텐츠 재생 장치가 매체키를 획득할 수 있다. 지역에 따라 컨텐츠의 시청을 한정하는 것은 매체키가 획득된 후에 지역 코드를 이용하여 달성된다.
이에 대하여, 제 7 실시예에서는, 디바이스키를 갖고 있을 지라도, 컨텐츠 재생 장치는 재생 장치가 컨텐츠의 재생이 허가되는 지역에 속하지 않는 경우 정확한 매체키를 획득할 수 없다. 이하 상세히 설명하는 바와 같이, 이러한 구성에 의해 지역에 따라 컨텐츠의 사용이 한정되게 할 수 있다.
8.1 컨텐츠 배포 시스템(3000)의 구성
컨텐츠 배포 시스템(3000)은 도 58에 나타내는 바와 같이, 키 관리 장치(3300), 컨텐츠 서버 장치(3200), 컨텐츠 기록 장치(3100) 및 컨텐츠 재생 장치(3400 내지 3400x)로 구성된다. 여기에서, 컨텐츠 재생 장치의 총 수는 n개이다.
제 7 실시예에서는, 각 컨텐츠 재생 장치에 의해 보유되는 디바이스키가 트리 구조를 이용하여 관리된다. 트리 구조를 이용하여 키를 관리하는 방법은 예컨대, 문헌 1에 개시되어 있다.
여기에서, 컨텐츠 서버 장치(3200)는 컨텐츠 서버 장치(2200)와 동일한 구성을 가지므로 여기에서 설명은 생략한다.
8.2 키 관리 장치(3300)의 구성
키 관리 장치(3300)는 키 관리 장치(100)와 동일한 구성을 갖고, 도 59에 나타내는 트리 구조(T3000)를 갖는다. 도 59는 트리 구조내의 노드에 대응하여 부여된 디바이스키, 리프에 대응하여 부여된 컨텐츠 재생 장치 및 리프에 대응하여 부여된 지역을 나타내는 지역 코드의 일례를 나타낸다.
도 59에 나타내는 바와 같이, 트리 구조(T3000)는 도 4에 나타내는 트리 구조(T100)와 동일한 5개의 계층을 갖는 이진 트리이다. 디바이스키는 트리 구조(T3000)내의 노드에 대응하여 부여된다.
구체적으로는, 도 59에 나타내는 바와 같이, 디바이스키 "Kr"은 계층 0 상에 있는 노드(루트) T3001에 대응하고 있다. 디바이스키 "Kp" 및 "Kq"는 계층 1 상에 있는 노드 T3002 및 T3003에 각각 대응하고 있다. 디바이스키 "Ki", "Kj", "Km" 및 "Kn"은 계층 2 상에 있는 노드 T3004 내지 T3007에 각각 대응하고 있다. 디바이스키 "Ka", "Kb", "Kc", "Kd", "Ke", "Kf", "Kg" "Kh"는 계층 3 상에 있는 노드 T3008 내지 T3015에 각각 대응하고 있다. 또한, 디바이스키 "K0" 내지 "K15"는 계층 4 상에 있는 노드(리프) T3021 내지 T3036에 각각 대응하고 있다.
컨텐츠 재생 장치 0 내지 15는 리프 T3021 내지 T3036에 각각 대응하고 있다. 또한, 컨텐츠 재생 장치는 자신들이 속하는 지역(즉, 컨텐츠 재생 장치가 판매되어 사용될 수 있는 지역)에 배치된다. 구체적으로는, 컨텐츠 재생 장치 0 내지 3은 지역 0에 속하고, 컨텐츠 재생 장치 4 내지 7은 지역 1에 속하며, 컨텐츠 재생 장치 8 내지 11은 지역 2에 속하고, 컨텐츠 재생 장치 12 내지 15는 지역 3에 속한다.
바꿔 말하면, 대응하는 컨텐츠 재생 장치를 식별하는 장치 번호 및 지역을 나타내는 지역 코드가 각각의 리프 T3021 내지 T3036에 대응하고 있다.
키 관리 장치(3300)는 키 관리 장치(100)과 동일한 방식으로 각 컨텐츠 재생 장치에 대응하는 리프로부터 루트까지의 경로상의 모든 디바이스키를 송신하고, 또한 컨텐츠 재생 장치의 지역 코드를 디바이스키와 함께 송신한다.
예를 들어, 키 관리 장치(3300)는 5개의 디바이스키 "K0", "Ka", "Ki", "Kp" 및 "Kr"과, 지역 0을 나타내는 지역 코드 0x0000을 컨텐츠 재생 장치 0에 송신한다.
또한, 키 관리 장치(3300)는 트리 구조(T3000), 트리 구조(T3000)내의 노드에 대응하고 있는 모든 디바이스키, 리프에 대응하고 있는 컨텐츠 재생 장치를 나타내는 장치 번호 및 리프에 대응하고 있는 지역 코드를 컨텐츠 기록 장치(3100)에 송신한다.
8.3 컨텐츠 기록 장치(3100)의 구성
컨텐츠 기록 장치(3100)는 도 60에 나타내는 바와 같이, 디바이스키 저장부(3101), 매체키 저장부(3102), 매체키 데이터 생성부(3103), 컨텐츠키 암호화부(3104), 컨텐츠 암호화부(3105), 제어부(3108), 입력부(3109), 디스플레이부(3110), 송/수신부(3111) 및 출력부(3112)로 구성된다.
컨텐츠 기록 장치(3100)는 컨텐츠 기록 장치(2100)와 유사한 컴퓨터 시스템이다.
(1) 디바이스키 저장부(3101)
디바이스키 저장부(3101)는 트리 구조(T3000)를 갖고, 컨텐츠 재생 장치의 모든 디바이스키를 저장한다. 또한, 디바이스키 저장부(3101)는 리프에 대응하는 컨텐츠 재생 장치의 장치 번호와, 리프에 대응하는 지역 코드를 저장한다. 이것은 키 관리 장치(3300)로부터 송신되는 정보이다.
구체적으로는, 도 59에 나타내는 트리 구조(T3000)의 경우에는, 디바이스키 저장부(3101)는 디바이스키 K0 내지 K15 및 Ka 내지 Kr을 저장한다.
(2) 매체키 저장부(3102)
매체키 저장부(3102)는 고유의 매체키를 미리 저장하고, 고유의 매체키는 각각 기록 매체에 고유한 것이다. 여기에서, 각 매체키는 예컨대, 64비트 길이이고, 최하위 8비트는 모두 "1"이다. 최하위 8비트는 매체키의 복호화가 성공인지의 여부를 판정하는데 사용된다.
(3) 매체키 데이터 생성부(3103)
매체키 데이터 생성부(3103)는 매체키 저장부(3102)로부터 매체키를 판독한다.
이어서, 매체키 데이터 생성부(3103)는 컨텐츠 기록 장치(3100)의 조작자로부터 입력부(3109) 및 제어부(3108)를 통해 컨텐츠의 재생이 허가되는 지역을 나타내는 지역 코드를 수신하고, 수신된 지역 코드로 나타내는 지역에 속하는 재생 장치에 의해서만 보유되고 다른 지역에 속하는 컨텐츠 재생 장치에 의해 보유되지 않는 디바이스키로부터 S개의 디바이스키를 선택한다. 이들 중에서, 최상위 계층 상에 있는 디바이스키(들)가 선택된다. 여기에서, S1이다.
이어서, 매체키 데이터 생성부(3103)는 선택된 S개의 디바이스키를 이용하여 판독된 매체키에 암호화 알고리즘 E3을 적용하여 S개의 암호화된 매체키를 생성하고, 생성한 S개의 암호화된 매체키를 기록 매체(3120)의 매체키 데이터 기록 영역(3121)에 기록한다.
도 59의 트리 구조(T3000)를 참조하고, 컨텐츠의 재생이 허가되는 지역의 일례로 지역 0을 취하면, 지역 0에서 컨텐츠 재생 장치 0 내지 3에만 할당되는 디바이스키는 "Ki", "Ka", "Kb", "K0", "K1", "K2" 및 "K3"이다. 이들 디바이스키 중에서, 최상위 계층 상의 디바이스키는 "Ki"이다. 결국, 매체키 데이터 생성부(3103)는 디바이스키 "Ki"를 선택하여 하나의 암호화된 매체키 E3 (Ki, 매체키)를 생성한다.
또 다른 예로서 컨텐츠의 재생이 지역 1, 지역 2 및 지역 3에서 허가되는 예를 취하면, 지역 1에 속하는 컨텐츠 재생 장치 4 내지 7에만 할당되는 디바이스키는 "Kj", "Kc", "Kd", "K4", "K5", "K6" 및 "K7"이고, 이들 디바이스키 중에서 최상위 계층 상에 있는 디바이스키는 "Kj"이다. 지역 2 및 지역 3에 속하는 컨텐츠 재생 장치 8 내지 15에만 할당되는 디바이스키는 "Kq", "Km", "Kn", "Ke", "Kf", "Kg", "Kh" 및 "K8"이고, 이들 디바이스키 중에서 최상위 계층 상에 있는 디바이스키는 "Kq"이다. 결국, 매체키 데이터 생성부(3103)는 디바이스키 "Kj" 및 "Kq"를 선택하여 2개의 암호화된 매체키 E3 (Kj, 매체키) 및 E3 (Kq, 매체키)를 생성한다.
또 다른 예로서, 컨텐츠의 재생이 지역 0, 지역 1, 지역 2 및 지역 3에서 바꿔 말하면, 모든 지역에서 허가되는 경우, 매체키 데이터 생성부(3103)는 디바이스키 "Kr"을 선택하여 하나의 암호화된 매체키 E3 (Kr, 매체키)를 생성한다.
(4) 컨텐츠키 암호화부(3104)
컨텐츠키 암호화부(3104)는 매체키 저장부(3102)로부터 매체키를 판독하고, 컨텐츠 서버 장치(3200)로부터 컨텐츠키를 획득하며, 판독된 매체키를 이용하여 획득된 컨텐츠키에 암호화 알고리즘 E4를 적용하여 암호화된 매체키 E4 (매체키, 컨텐츠키)를 생성하고, 생성한 암호화된 컨텐츠키를 기록 매체(3120)의 암호화된 컨텐츠키 기록 영역(3122)에 기록한다.
(5) 컨텐츠 암호화부(3105)
컨텐츠 암호화부(3105)는 컨텐츠 서버 장치(3200)로부터 컨텐츠 및 컨텐츠키를 획득하고, 획득된 컨텐츠키를 이용하여 획득된 컨텐츠에 암호화 알고리즘 E5를 적용하여 암호화된 컨텐츠 E5 (컨텐츠키, 컨텐츠)를 생성하며, 생성한 암호화된 컨텐츠를 기록 매체(3120)의 암호화된 컨텐츠 기록 영역(3123)에 기록한다.
(6) 나머지 구성
제어부(3108), 입력부(3109), 디스플레이부(3110), 송/수신부(3111) 및 출력부(3112)는 컨텐츠 기록 장치(2100)의 제어부(2108), 입력부(2109), 디스플레이부(2110), 송/수신부(2111) 및 출력부(2112)와 동일하므로, 여기에서 설명은 생략한다.
8.4 기록 매체(3120)의 구성
기록 매체(3120)는 기록 매체(2120)와 유사한 DVD-Video와 같은 미리 기록된 매체이다. 초기 상태에서 기록 매체 상에 기입되어 있는 정보는 존재하지 않는다.
도 61은 컨텐츠가 재생되도록 허가된 지역이 도 59에 나타내는 트리 구조(T3000)에서의 지역 0인 일례에서, 컨텐츠 기록 장치(3100)에 의해 기록 매체(3120a)에 기입되어 있는 정보를 나타낸다. 기록 매체(3120a)는 매체키 데이터 기록 영역(3121a), 암호화된 컨텐츠키 기록 영역(3122a) 및 암호화된 컨텐츠 기록 영역(3123a)를 구비한다. 하나의 암호화된 매체키 E3 (Ki, 매체키)가 매체키 데이터 기록 영역(3121a)에 기록되어 있고, 암호화된 컨텐츠키 E4 (매체키, 컨텐츠키) 및 암호화된 컨텐츠 E5 (컨텐츠키, 컨텐츠)가 각각 암호화된 컨텐츠키 기록 영역(3122a) 및 암호화된 컨텐츠 기록 영역(3123a)에 기록되어 있다.
도 62는 컨텐츠가 재생되도록 허가된 지역이 지역 1, 지역 2 및 지역 3인 일례에서, 컨텐츠 기록 장치(3100)에 의해 기록 매체(3120b)에 기입되어 있는 정보를 나타낸다. 기록 매체(3120b)는 매체키 데이터 기록 영역(3121b), 암호화된 컨텐츠키 기록 영역(3122b) 및 암호화된 컨텐츠 기록 영역(3123b)를 구비한다. 2개의 암호화된 매체키 E3 (Kj, 매체키) 및 E3 (Kq, 매체키)가 매체키 데이터 기록 영역(3121b)에 기록되어 있고, 암호화된 컨텐츠키 E4 (매체키, 컨텐츠키) 및 암호화된 컨텐츠 E5 (컨텐츠키, 컨텐츠)가 각각 암호화된 컨텐츠키 기록 영역(3122b) 및 암호화된 컨텐츠 기록 영역(3123b)에 기록되어 있다.
도 63은 컨텐츠가 재생되도록 허가된 지역이 지역 0, 지역 1, 지역 2 및 지역 3 바꿔 말하면, 모든 지역인 일례에서, 컨텐츠 기록 장치(3100)에 의해 기록 매체(3120c)에 기입되어 있는 정보를 나타낸다. 기록 매체(3120c)는 매체키 데이터 기록 영역(3121c), 암호화된 컨텐츠키 기록 영역(3122c) 및 암호화된 컨텐츠 기록 영역(3123c)를 구비한다. 하나의 암호화된 매체키 E3 (Kr, 매체키)가 매체키 데이터 기록 영역(3121c)에 기록되어 있고, 암호화된 컨텐츠키 E4 (매체키, 컨텐츠키) 및 암호화된 컨텐츠 E5 (컨텐츠키, 컨텐츠)가 각각 암호화된 컨텐츠키 기록 영역(3122c) 및 암호화된 컨텐츠 기록 영역(3123c)에 기록되어 있다.
8.5 컨텐츠 재생 장치(3400)의 구성
컨텐츠 재생 장치(3400)는 도 64에 나타내는 바와 같이, 디바이스키 저장부(3401), 제어부(3402), 매체키 복호화부(3403), 컨텐츠키 복호화부(3406), 컨텐츠 복호화부(3407), 구동부(3408), 재생부(3409), 입력부(3410) 및 디스플레이부(3411)로 구성된다. 입력부(3410)에는 모니터(3421) 및 스피커(3422)가 접속되어 있다.
컨텐츠 재생 장치(3400)는 컨텐츠 재생 장치(2400)와 유사하게 컴퓨터 시스템이다.
다른 컨텐츠 재생 장치는 컨텐츠 재생 장치(3400)와 동일한 구성을 가지므로, 여기에서 설명은 생략한다.
(1) 디바이스키 저장부(3401)
디바이스키 저장부(3401)는 디바이스키를 비밀리에 저장한다. 여기에서, 디바이스키 저장부(3401)는 도 59에 나타내는 트리 구조(T3000)에서 루트 T3001로부터 컨텐츠 재생 장치(3400)가 대응하고 있는 리프까지의 경로상의 모든 디바이스키를 저장한다.
(2) 매체키 복호화부(3403)
매체키 복호화부(3403)는 디바이스키 저장부(3401)로부터 모든 디바이스키를 판독하고, 구동부(3408)를 통해 기록 매체(3120)의 매체키 데이터 기록 영역(3121)으로부터 모든 암호화된 매체키를 판독한다.
이어서, 매체키 복호화부(3403)는 각각의 디바이스키를 이용하여 판독한 각각의 암호화된 매체키에 복호화 알고리즘 D3을 적용하여 복호화된 데이터를 생성하고, 각각의 생성한 복호화된 데이터가 매체키인지의 여부를 판정한다. 매체키 복호화부(3403)는 이러한 판정을 복호화된 데이터의 최하위 8비트가 모두 "1"인지의 여부를 검사하여 실행하고, 최하위 8비트가 모두 "1"인 경우 매체키의 복호화가 성공이며 복호화된 데이터가 매체키라고 판정한다. 최하위 8비트가 모두 "1"이 아닌 경우, 매체키 복호화부(3403)는 암호화된 매체키의 복호화가 실패한 것으로 판정한다.
복호화된 데이터가 매체키라고 판정된 경우, 매체키 복호화부(3403)는 생성한 복호화된 데이터를 매체키로서 컨텐츠키 복호화부(3406)에 출력한다.
매체키 복호화부(3403)가 매체키가 존재하지 않는다고 판정하는 경우 이후의 처리는 중단된다.
(3) 컨텐츠키 복호화부(3406)
컨텐츠키 복호화부(3406)는 매체키 복호화부(3403)로부터 매체키를 수신하고, 기록 매체(3120)의 암호화된 컨텐츠키 기록 영역(3122)으로부터 구동부(3408)를 통해 암호화된 컨텐츠키를 판독하며, 수신된 매체키를 이용하여 판독한 암호화된 컨텐츠키에 복호화 알고리즘 D4를 적용하여 컨텐츠키를 생성하고, 생성된 컨텐츠키를 컨텐츠 복호화부(3407)에 출력한다.
(4) 컨텐츠 복호화부(3407)
컨텐츠 복호화부(3407)는 컨텐츠키 복호화부(3406)로부터 컨텐츠키를 수신하고, 기록 매체(3120)의 암호화된 컨텐츠 기록 영역(3123)으로부터 구동부(3408)를 통해 암호화된 컨텐츠를 판독하며, 수신된 컨텐츠키를 이용하여 판독한 암호화된 컨텐츠에 복호화 알고리즘 D5를 적용하여 컨텐츠를 생성하고, 생성된 컨텐츠를 재생부(3409)에 출력한다.
(5) 나머지 구성 요소
재생부(3409), 제어부(3402), 입력부(3410), 디스플레이부(3411) 및 구동부(3408)는 컨텐츠 재생 장치(2400)의 재생부(2409), 제어부(2402), 입력부(2410), 디스플레이부(2411) 및 구동부(2408)와 각각 동일한 구성을 가지므로, 그 설명은 생략한다.
8.6 컨텐츠 배포 시스템(3000)의 동작
(1) 컨텐츠 기록 장치(3100)의 동작
이하 도 65에 나타내는 플로우차트를 이용하여 컨텐츠 기록 장치(3100)의 동작을 설명한다.
매체키 데이터 생성부(3103)는 디바이스키 저장부(3101)에 저장되어 있고 컨텐츠의 재생이 허가되는 지역에 속하는 컨텐츠 재생 장치에만 보유되는 디바이스키 중에서 트리 구조내의 최상위 계층 상에 있는 적어도 하나의 디바이스키를 선택한다(단계 S3101). 이어서, 매체키 데이터 생성부(3103)는 적어도 하나의 디바이스키를 이용하여 매체키 저장부(3102)에 저장되어 있는 매체키를 암호화하여 적어도 하나의 암호화된 매체키를 생성하고, 생성된 적어도 하나의 암호화된 매체키를 기록 매체(3120)의 매체키 데이터 기록 영역(3121)에 기록한다(단계 S3102).
이어서, 컨텐츠키 암호화부(3104)는 매체키를 이용하여 획득된 컨텐츠키를 암호화하여 암호화된 컨텐츠키를 생성하고, 생성한 암호화된 컨텐츠키를 기록 매체(3120)의 암호화된 컨텐츠키 기록 영역(3122)에 기록한다(단계 S3103).
그 후, 컨텐츠 암호화부(3105)는 획득된 컨텐츠키를 이용하여 획득된 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성하고, 암호화된 컨텐츠를 기록 매체(3120)의 암호화된 컨텐츠 기록 영역(3123)에 기록한다(단계 S3104).
(2) 컨텐츠 재생 장치(3400)의 동작
이하 도 66에 나타내는 플로우차트를 이용하여 컨텐츠 재생 장치(3400)의 동작을 설명한다.
매체키 복호화부(3403)는 디바이스키 저장부(3401)에 저장되어 있는 디바이스키를 이용하여 기록 매체(3120)의 매체키 데이터 기록 영역(3121)으로부터 판독한 암호화된 매체키를 복호화하여 매체키를 획득한다(단계 S3201).
컨텐츠키 복호화부(3406)는 획득한 매체키를 이용하여 기록 매체(3120)의 암호화된 컨텐츠키 기록 영역(3122)으로부터 판독한 암호화된 컨텐츠키를 복호화하여 컨텐츠키를 생성한다(단계 S3202).
컨텐츠 복호화부(3407)는 생성한 컨텐츠키를 이용하여 기록 매체(3120)의 암호화된 컨텐츠 기록 영역(3123)으로부터 판독한 암호화된 컨텐츠를 복호화하여 컨텐츠를 생성한다(단계 S3203).
재생부(3409)는 생성한 컨텐츠를 아날로그 비디오 및 오디오 신호로 변환하여 비디오 신호 및 오디오 신호를 각각 모니터(3421) 및 스피커(3422)에 출력한다(단계 S3204).
8.7 결론
본 발명에서는, 컨텐츠의 재생이 허가되는 지역에 속하는 컨텐츠 재생 장치는 컨텐츠 재생 장치의 디바이스키를 이용하여 암호화된 컨텐츠를 복호화하기 위한 정확한 컨텐츠키를 획득할 수 있다. 반면에, 컨텐츠의 재생이 허가되지 않은 지역에 속하는 컨텐츠 재생 장치는 컨텐츠 재생 장치의 디바이스키를 이용할지라도 정확한 컨텐츠키를 획득할 수 없으므로, 암호화된 컨텐츠를 정확하게 복호화할 수 없다.
이러한 방식으로, 컨텐츠의 재생이 허가되는 지역에 속하는 컨텐츠 재생 장치만이 암호화된 컨텐츠를 복호화하는데 필요한 컨텐츠키를 획득할 수 있다. 따라서, 컨텐츠의 시청이 지역에 따라 한정될 수 있다.
8.8 변형예
(1) 컨텐츠 기록 장치(3100)가 인터넷을 통해 컨텐츠 서버 장치(3200)에 접속되어 있고, 컨텐츠 기록 장치(3100)가 인터넷을 통해 컨텐츠 서버 장치(3200)로부터 컨텐츠 및 컨텐츠키를 획득하는 하나의 가능한 구성이 있다.
다른 방법으로는, 컨텐츠 및 컨텐츠키는 디지털 방송 송신 장치에 의해 디지털 방송파로 방송될 수 있고, 컨텐츠 기록 장치(3100)가 디지털 방송파를 수신하여 컨텐츠 및 컨텐츠키를 추출할 수 있다.
또 다른 방법은 컨텐츠 기록 장치(3100)가 컨텐츠키 및 컨텐츠를 내부에 저장하거나, 필요한 경우 컨텐츠키를 내부에 생성하는 것이다.
(2) 재생이 모든 지역에서 허가되는 경우, 재생이 지역에 따라 한정되지 않은 컨텐츠가 기록되어 있는 기록 매체가 하나의 트리 구조인 경우에는 루트의 디바이스키를 이용하고 복수의 트리인 경우에는 각 루트의 디바이스키를 이용하여 실현될 수 있다.
(3) 본 발명은 제 7 실시예에서 설명한 하나의 트리 구조의 예에 한정되는 것은 아니다.
도 67에 나타내는 바와 같이, 각 지역이 독립적인 트리 구조를 갖는 다른 구조도 있다. 도 67에서, 트리 구조 T3101, T3102, T3103 및 T3104는 지역 0, 지역 1, 지역 2, 지역 3에 각각 대응하고, 트리 구조 T3101, T3102, T3103 및 T3104의 루트에 할당되는 디바이스키는 각각 "Ki", "Kj", "Km" 및 "Kn"이다.
이 경우에, 컨텐츠의 재생이 모든 지역에서 허가되는 경우, 4개의 디바이스키 "Ki", "Kj", "Km" 및 "Kn"가 선택되고, 매체키가 각각의 선택된 디바이스키로 각각 암호화될 수 있다.
도 68은 이러한 방식으로 생성되는 기록 매체(3120d)의 일례를 나타낸다. 도 68에 나타내는 바와 같이, 기록 매체(3120d)는 매체키 데이터 기록 영역(3121d), 암호화된 컨텐츠키 기록 영역(3122d) 및 암호화된 컨텐츠 기록 영역(3123d)을 구비한다. 4개의 암호화된 매체키 E3 (Ki, 매체키), E3 (Kj, 매체키), E3 (Km, 매체키) 및 E3 (Kn, 매체키)가 매체키 데이터 기록 영역(3121d)에 기록되어 있다. 암호화된 컨텐츠키 E4 (매체키, 컨텐츠키)가 암호화된 컨텐츠키 기록 영역(3122d)에 기록되어 있고, 암호화된 컨텐츠 (컨텐츠키, 컨텐츠)가 암호화된 컨텐츠 기록 영역(3123d)에 기록되어 있다.
(4) 복수의 트리 구조가 이용되는 경우, 모든 트리 구조가 동일한 수의 계층을 가질 필요는 없고, 트리 구조의 계층의 수가 지역간에 변화할 수 있다. 더욱이, 트리 구조가 이진 트리일 필요도 없다. 그 대신에, 트리는 3진 트리이어도 되고, 다른 트리가 다른 구조를 가질 수도 있다.
(5) 컨텐츠 기록 장치가 컨텐츠의 재생이 허가되는 지역을 나타내는 지역 코드를 기록 매체에 기록하고, 컨텐츠 재생 장치가 지역 코드를 내부에 저장하고 있으며, 먼저 기록 매체상의 지역 코드와 자체의 지역 코드를 비교하고, 이들 지역 코드가 일치하지 않는 경우 이후의 처리를 중단하는 하나의 가능한 구성이 있다.
추가의 가능한 구성은 상술한 바와 같이, 매체키의 최하위 8비트가 모두 미리 "1"로 설정되고, 재생 장치가 8비트를 검사하여 복호화가 성공인지의 여부를 판정하는 것이다. 이러한 종류의 사전 검사로 인해, 정확한 매체키가 확인될 수 있고, 컨텐츠 재생 장치에 접속되어 있는 스피커가 잘못 복호화된 데이터로 인해 생성되는 노이즈 등에 의해 파괴되는 것을 방지할 수 있게 된다.
(6) 제 6 및 제 7 실시예에서 사용된 예들은 컨텐츠 재생 장치의 디바이스키를 관리하는 컨텐츠 기록 장치와, DVD-Video와 같은 미리 기록된 매체인 기록 매체를 설명하고 있다. 그러나, 본 발명은 그러한 구성에 한정되는 것은 아니다.
다른 구성의 일례로서, 디바이스키 또는 지역 코드가 컨텐츠 재생 장치와 동일한 방식으로 컨텐츠 기록 장치에 부여되고, 기록 매체가 DVD-RAM과 같은 기록 가능 매체인 것도 있다. 기록 장치가 예를 들어, 지역 0에 속하고, 지역 0용인 기록 매체에만 컨텐츠를 정확하게 (다른 장치들과 호환 가능하게) 기록할 수 있다. 유사하게, 지역 0에 속하는 재생 장치만이 기록된 컨텐츠를 재생할 수 있다. 이러한 구성으로 인해, 기록 매체의 사용, 기록 및 시청이 지역에 따라 한정될 수 있다.
(7) 본 발명은 컨텐츠 재생 장치가 내부의 복호화부를 구비하는 제 6 및 제 7 실시예에서 설명한 구성에 한정되는 것은 아니다.
다른 구성의 일례로서, 복호화부가 IC 카드에 포함되어 있고, IC 카드가 삽입되는 컨텐츠 재생 장치가 IC 카드 내에 여러 가지 유형의 데이터를 생성할 수 있거나 컨텐츠를 복호화 및 획득할 수 있는 것이 있다.
이러한 종류의 IC 카드를 사용하는 구성은 예를 들어, 버스를 통해 컨텐츠키가 도난될 위험성을 감소시킨다. 여기에서, 모든 처리 유닛이 IC 카드 내에 제공될 필요는 없다. 적어도 하나의 처리 유닛이 IC 카드 내에 제공되는 것으로 충분하다. 추가의 가능한 구성은 컨텐츠 기록 장치의 적어도 하나의 처리 유닛이 IC 카드 내에 제공되는 것이다.
(8) 본 발명은 컨텐츠가 컨텐츠키에 의해 암호화되는 제 6 및 제 7 실시예에서 설명한 구성에 한정되는 것은 아니다.
제 6 실시예에서의 가능한 다른 구성은 컨텐츠가 매체키 및 지역 코드로부터 생성된 암호화키에 의해 암호화되는 것이다. 제 7 실시예에서는, 컨텐츠가 매체키에 의해 암호화될 수도 있다.
또한, 암호화의 레벨은 제 2 컨텐츠키를 제공하고, 제 2 컨텐츠키를 컨텐츠키로 암호화하며, 컨텐츠를 제 2 암호화키로 암호화함으로써 증가될 수 있다.
(9) 제 6 및 제 7 실시예에서의 예는 디지털 컨텐츠의 저작권을 보호하기 위해 본 발명을 이용하는 것이지만, 본 발명은 이러한 용도에 한정되는 것은 아니다.
본 발명은 예를 들어, 정보가 특정 지역의 회원에게 제공되도록 한정하는 회원제 정보 제공 시스템에 사용될 수도 있다.
(10) 키 정보 및 암호화된 컨텐츠는 제 6 및 제 7 실시예에서 설명한 바와 같이, 기록 매체에 기록되어 배포되는 것에 한정되는 것은 아니다.
기록 매체 대신에, 키 정보 및 암호화된 데이터는 예를 들어, 인터넷으로 대표되는 통신 매체를 통해 송신될 수도 있다.
이 경우에, 컨텐츠 배포 시스템은 컨텐츠 서버 장치(2200), 6개의 웹 서버 장치 및 n개의 컨텐츠 재생 장치로 구성된다. 6개의 웹 서버 장치는 전용 회선을 통해 컨텐츠 서버 장치(2200)에 접속되어 있다. 여기에서, 컨텐츠 서버 장치(2200)는 컨텐츠 배포 시스템(2000)의 컨텐츠 서버 장치(2200)와 동일하다. n개의 컨텐츠 재생 장치가 인터넷을 통해 6개의 웹 서버 장치에 접속될 수도 있다.
각각의 웹 서버 장치는 세계를 분할한 6개의 지역 중 하나에 대응하고, 대응하는 지역을 나타내는 지역 코드를 내부에 저장한다.
각각의 n개의 컨텐츠 재생 장치는 6개의 지역 중 하나에 대응하고, 대응하는 지역의 지역 코드를 내부에 저장한다. 이것은 컨텐츠 배포 시스템(2000)의 컨텐츠 재생 장치(2400)와 동일하다.
각 웹 서버 장치는 컨텐츠 배포 시스템(2000)의 컨텐츠 서버 장치(2200)로부터 컨텐츠 및 컨텐츠키를 수신하고, 컨텐츠 기록 장치(2100)와 유사한 방식으로 n개의 매체키, 하나의 암호화된 컨텐츠키 및 암호화된 컨텐츠를 생성한다. 여기에서, 웹 서버 장치와 컨텐츠 기록 장치(2100) 사이의 차이는 웹 서버 장치가 내부에 저장되어 있는 지역 코드를 이용하여 암호화된 컨텐츠키를 생성하는 것이다. 웹 서버 장치는 생성한 n개의 암호화된 매체키, 하나의 암호화된 컨텐츠키 및 암호화된 컨텐츠를 내부에 저장하고, 컨텐츠 재생 장치로부터의 요구에 응답하여 n개의 암호화된 매체키, 암호화된 컨텐츠키, 암호화된 컨텐츠를 인터넷을 통해 컨텐츠 재생 장치에 송신한다.
여기에서, 매체키는 컨텐츠가 제공될 때마다 특정 컨텐츠에 고유하게 할당되는 키 정보이다. 이와 달리, 각 컨텐츠는 고유의 매체키를 구비할 수도 있다. 바꿔 말하면, 동일한 매체키가 동일한 컨텐츠에 대해 설정될 수도 있다. 또한, 매체키는 동일한 저작권자에게 고유한 것이거나, 컨텐츠의 동일한 컨텐츠 제공자에게 고유한 것이어도 된다.
각 컨텐츠 재생 장치는 웹 서버 장치 중 하나에 요구를 송신하고, 웹 서버 장치로부터 n개의 암호화된 매체키, 암호화된 컨텐츠키 및 암호화된 컨텐츠를 수신한다. 그 후, 컨텐츠 재생 장치는 컨텐츠 배포 시스템(2000)의 컨텐츠 재생 장치(2400)와 동일한 방식으로 복호화하여 재생한다.
각 웹 서버 장치는 상기에서 하나의 지역에 대응하고 있지만, 각각의 웹 서버 장치는 복수의 지역에 대응해도 된다. 그러한 경우에, 웹 서버 장치는 각각의 대응하는 지역을 나타내는 복수의 지역 코드를 내부에 저장하고, 지역 코드를 이용하여 지역 코드와 동일한 수의 암호화된 컨텐츠키를 생성한다.
앞에서 나타낸 바와 같이, 컨텐츠 배포 시스템(2000)에서는, 컨텐츠의 재생은 컨텐츠가 기록 매체에 저장되어 배포되는 대신에 네트워크를 통해 배포되는 경우 지역에 따라 제한될 수 있다.
상술한 구성은 또한 컨텐츠 배포 시스템(3000)에 적용될 수도 있다.
웹 서버가 대응하는 지역 내에 존재할 필요는 없다.
(11) 제 6 및 제 7 실시예에서 설명한 컨텐츠 기록 장치는 컨텐츠 재생 장치로부터의 시청 요구에 응답하여 암호화된 컨텐츠를 생성하여 배포해도 되고, 상기 요구에 응답하여 사용자에게 요금을 부과해도 된다.
9. 기타 변형예
본 실시예는 상기 실시예들에 기초하여 설명하였지만, 본 발명은 그에 한정되는 것은 아니다. 아래와 같은 예가 또한 본 발명에 포함된다.
(1) 상술한 각각의 장치는 마이크로프로세서, ROM, RAM, 하드 디스크 유닛, 디스플레이 유닛, 키보드, 마우스 등으로 구성되는 컴퓨터 시스템이다. 컴퓨터 프로그램이 RAM 또는 하드 디스크에 저장되어 있다. 각 장치는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 그 기능의 일부 또는 모두를 달성한다.
(2) 본 발명은 상기에 의해 나타내는 방법이어도 된다. 또한, 상기 방법은 컴퓨터에 의해 실현되는 컴퓨터 프로그램이어도 되고, 컴퓨터 프로그램의 디지털 신호이어도 된다.
또한, 본 발명은 컴퓨터 프로그램 또는 디지털 신호를 저장하는 플렉시블 디스크, 하드 디스크, CD-ROM(컴팩트 디스크-판독 전용 메모리), MO(자기-광학), DVD, DVD-ROM(디지털 다기능 디스크-판독 전용 메모리), DVD-RAM, BD(블루레이 디스크) 또는 반도체 메모리와 같은 컴퓨터 판독 가능 기록 매체 장치이어도 된다. 더욱이, 본 발명은 상술한 기록 매체 장치 중 어느 하나에 기록되는 컴퓨터 프로그램 또는 디지털 신호이어도 된다.
또한, 본 발명은 전기 통신 회선, 무선 또는 유선 통신 회선, 또는 인터넷으로 대표되는 네트워크로 송신되는 컴퓨터 프로그램 또는 디지털 신호이어도 된다.
또한, 본 발명은 마이크로프로세서 및 메모리를 포함하는 컴퓨터 시스템이어도 되고, 메모리는 컴퓨터 프로그램을 저장하며, 마이크로프로세서는 컴퓨터 프로그램에 따라 동작한다.
더욱이, 상기 프로그램 또는 디지털 신호를 기록 매체에 전송하거나, 상기 프로그램 또는 디지털 신호를 네트워크 등을 통해 전송함으로써, 상기 프로그램 또는 디지털 신호가 다른 독립적인 컴퓨터 시스템에 의해 실행되어도 된다.
(3) 본 발명은 상술한 실시예 및 변형예의 임의의 조합이어도 된다.
10. 전체 결론
이상 명확하게 설명한 바와 같이, 본 발명의 개시한 제 1 실시예에 따르면, 기록 매체에 미리 기록된 헤더 정보로서 레벨 순서로 NRP를 배열함으로써, 키 정보의 크기가 소형화될 수 있고, 플레이어에 의한 복호화될 암호화된 매체키의 효율적인 특정이 가능하다.
또한, 개시한 제 2 실시예에 따르면, 헤더 정보로서 1비트를 노드의 자손이 모두 무효화된 장치인지의 여부를 나타내도록 NRP의 헤드에 추가함으로써, 무효화 장치가 트리 구조의 특정부에서 발생하는 경우에 헤더 정보의 크기가 감소될 수 있다.
또한, 개시한 제 3 실시예에 따르면, 헤더 정보는, 특정 패턴에 따라 특정 노드의 모든 자손 노드가 무효화 장치인지의 여부를 판정함으로써, 그 크기가 더욱 감소될 수 있다.
또한, 개시한 제 4 및 제 5 실시예에 따르면, 제 1 내지 제 3 실시예에서 나타내는 것과 다른 순서로 NRP를 배열하는 것이 가능하게 된다.
또한, 제 6 실시예에서는, 암호화된 컨텐츠를 복호화할 때 지역 코드를 직접 이용하거나, 각 지역 코드에 대해 설정된 비밀 정보를 이용함으로써, 컨텐츠의 재생이 허가되지 않은 지역에 속하는 재생 장치는 암호화된 컨텐츠를 복호화하기 위한 컨텐츠키를 획득할 수 없다. 이로 인해, 컨텐츠의 이용이 지역에 따라 한정될 수 있게 된다.
더욱이, 제 7 실시예에서는, 트리 구조를 이용하여 키를 관리하는 방법을 이용하거나, 트리 구조를 지역으로 분할하거나 각 지역에 대해 독립적인 트리 구조를 가짐으로써, 컨텐츠의 재생이 허가되지 않은 지역에 속하는 재생 장치는 지역 코드 또는 각 지역 코드에 대해 설정된 비밀 정보를 이용하지 않고도, 암호화된 컨텐츠를 복호화하기 위한 컨텐츠키를 획득하는 것이 방지된다. 이로 인해, 컨텐츠의 이용이 지역에 따라 한정될 수 있게 된다.
11. 발명의 효과
상술한 바와 같이, 본 발명은 컨텐츠의 재생이 지역에 따라 한정되는 지역 한정 재생 시스템이고, 이러한 지역 한정 재생 시스템은, 지역을 나탄는 제 1 지역 정보에 기초하여 컨텐츠를 암호화하여 암호화된 정보를 생성하고, 생성한 암호화된 정보를 공급하는 공급 장치와, 지역을 나타내는 제 2 지역 정보를 미리 저장하고, 암호화된 정보를 획득하며, 제 2 지역 정보에 기초하여 획득한 암호화된 정보를 복호화하려고 시도하고, 암호화된 정보가 성공적으로 복호화될 때 복호화의 결과로서 컨텐츠를 생성하며, 생성한 컨텐츠를 재생하는 재생 장치를 포함한다.
상술한 구성에 따르면, 상기 공급 장치는 지역을 나타내는 제 1 지역 정보에 기초하여 컨텐츠를 암호화하여 생성한 암호화된 정보를 공급한다. 상기 재생 장치는 미리 저장된 제 2 지역 정보에 기초하여 획득한 암호화된 정보를 복호화려고 시도하고, 복호화가 성공적으로 실행될 때 그 결과로서 컨텐츠를 생성한다. 따라서, 제 2 지역 정보가 부정하게 변경되거나, 제 2 지역 정보에 따른 확인 기능을 우회한 재생 장치는 암호화된 정보를 정확하게 복호화할 수 없게 된다. 이러한 방식으로, 그러한 재생 장치는 컨텐츠를 정확하게 재생할 수 없게 된다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
또한, 본 발명은 컨텐츠의 재생이 지역에 따라 한정되는 컨텐츠를 공급하는 공급장치이며, 이러한 공급 장치는, 지역을 나타내는 지역 정보에 기초하여 컨텐츠를 암호화하여 암호화된 정보를 생성하는 생성부와, 생성한 암호화된 정보를 공급하는 공급부를 포함한다.
상술한 구성에 따르면, 상기 공급 장치는 지역을 나타내는 지역 정보에 기초하여 컨텐츠를 암호화하고, 생성한 암호화된 정보를 공급한다. 따라서, 미리 저장된 지역 정보가 부정하게 변경되거나 지역 정보에 따른 확인 기능을 우회한 재생 장치는 암호화된 정보를 정확하게 복호화할 수 없게 된다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 공급부는 생성한 암호화된 정보를 배포되는 기록 매체에 기입하거나, 생성한 암호화된 정보를 네트워크를 통해 송신함으로써 생성한 암호화된 정보를 공급해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 기록 매체를 통해 또는 네트워크를 통해 암호화된 정보를 신뢰성 있게 공급할 수 있다.
여기에서, 상기 생성부는 컨텐츠 및 컨텐츠에 대응하는 컨텐츠키를 저장하는 컨텐츠 저장 서브 유닛과, 상기 컨텐츠 저장 서브 유닛으로부터 컨텐츠 및 컨텐츠키를 판독하는 판독 서브 유닛과, 지역을 식별하는 지역 코드를 지역 정보로서 저장하는 지역 코드 저장 서브 유닛과, 지역 코드에 기초하여 컨텐츠키를 암호화하여 암호화된 컨텐츠키 정보를 생성하고, 컨텐츠키를 이용하여 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성함으로써, 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 생성하는 암호화 서브 유닛을 포함해도 되고, 상기 공급부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 공급한다.
상술한 구성에 따르면, 상기 공급 장치는 지역을 나타내는 지역 정보에 기초하여 컨텐츠키를 암호화하여 암호화된 컨텐츠키 정보를 생성하고, 컨텐츠키를 이용하여 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성하며, 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 공급한다. 따라서, 미리 저장되어 있는 지역 코드가 부정하게 변경되거나, 지역 코드에 따른 확인 기능이 우회되는 재생 장치는 암호화된 컨텐츠키 정보를 정확하게 복호화할 수 없다. 이러한 방식으로, 그러한 재생 장치는 컨텐츠키를 획득할 수 없고, 컨텐츠를 정확하게 재생할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 암호화 서브 유닛은 컨텐츠의 공급을 위해 설정된 매체키를 획득하고, 획득한 매체키를 암호화하여 암호화된 매체키를 생성하며, 지역 코드 및 매체키를 이용하여 컨텐츠키를 암호화하여 암호화된 컨텐츠키를 생성함으로써, 암호화된 매체키 및 암호화된 컨텐츠키로 구성되는 암호화된 컨텐츠키 정보를 생성해도 되고, 상기 공급부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 공급해도 되며, 상기 암호화된 컨텐츠키 정보는 암호화된 매체키 및 암호화된 컨텐츠키로 구성되어 있다.
상술한 구성에 따르면, 상기 공급 장치는 컨텐츠의 공급을 위해 설정되어 있는 매체키를 획득하고, 매체키를 암호화하여 암호화된 매체키를 생성하며, 지역 코드 및 매체키를 이용하여 컨텐츠키를 암호화하여 암호화된 컨텐츠키를 생성한다. 따라서, 상기 공급 장치는 암호화된 매체키 및 암호화된 컨텐츠키로 구성되는 암호화된 컨텐츠키 정보를 공급한다. 따라서, 미리 저장되어 있는 지역 코드가 부정하게 변경되거나, 지역 코드에 따른 확인 기능이 우회되는 재생 장치는 암호화된 컨텐츠키를 정확하게 복호화할 수 없다. 이러한 방식으로, 그러한 재생 장치는 컨텐츠키를 획득할 수 없고, 컨텐츠를 정확하게 재생할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 암호화 서브 유닛은 지역 코드 및 매체키를 이용하여 암호화키를 생성하고, 생성된 암호화키를 이용하여 컨텐츠키를 암호화해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 지역 코드 및 매체키를 이용하여 암호화키를 생성하고, 생성된 암호화키를 이용하여 컨텐츠키를 암호화한다. 따라서, 미리 저장되어 있는 지역 코드가 부정하게 변경되거나, 제 2 지역 정보에 따른 확인 기능이 우회되는 재생 장치는 상기 암호화키와 동일한 암호화키를 생성할 수 없다. 이러한 방식으로, 그러한 재생 장치는 암호화된 컨텐츠키를 정확하게 복호화할 수 없고, 컨텐츠를 획득할 수 없으며, 컨텐츠를 정확하게 재생할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 암호화 서브 유닛은 지역 코드 및 매체키를 연결하여 연결 데이터에 일방향 함수를 적용함으로써 암호화키를 생성해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 지역 코드 및 매체키를 연결하여 생성된 연결 데이터에 일방향 함수를 적용함으로써 암호화키를 생성한다. 따라서, 암호화키는 지역 코드 및 매체키 모두의 값에 의존하여 생성된다. 결국, 미리 저장되어 있는 지역 코드가 부정하게 변경되거나, 지역 정보에 따른 확인 기능이 우회되는 재생 장치는 상기 암호화키와 동일한 복호화키를 생성할 수 없다.
여기에서, 상기 암호화 서브 유닛은 하나의 재생 장치에 고유한 디바이스키를 획득하고, 획득한 디바이스키를 이용하여 매체키를 암호화해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 하나의 재생 장치에 고유한 디바이스키를 이용하여 매체키를 암호화한다. 따라서, 암호화에 이용된 것과 동일한 디바이스키를 갖는 재생 장치만이 암호화된 매체키를 복호화하여 매체키를 생성할 수 있다.
여기에서, 상기 암호화 서브 유닛은 다른 재생 장치에 고유한 다른 디바이스키를 추가로 획득하고, 획득한 다른 디바이스키를 이용하여 매체키를 암호화하여 다른 암호화된 매체키를 생성해도 되며, 상기 공급부는 다른 암호화된 매체키를 추가로 포함하는 암호화된 정보를 공급해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 다른 재생 장치에 고유한 다른 디바이스키를 이용하여 매체키를 추가로 암호화한다. 따라서, 상기 디바이스키와 동일한 디바이스키를 갖는 재생 장치와 상기 다른 디바이스키와 동일한 다른 디바이스키를 갖는 다른 재생 장치만이 암호화된 매체키를 복호화하여 매체키를 획득할 수 있다.
여기에서, 상기 공급부는 미리 정해진 순서로 배열되는 암호화된 매체키 및 다른 암호화된 매체키를 공급해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 미리 정해진 순서로 배열되는 암호화된 매체키 및 다른 암호화된 매체키를 공급한다. 따라서, 상기 재생 장치는 미리 정해진 순서로 배열되는 암호화된 매체키 및 다른 암호화된 매체키로부터 자신을 위해 사용하는 암호화된 매체키를 특정할 수 있다.
여기에서, 상기 암호화부는 고정된 문자열을 포함하는 매체키를 획득하고, 획득한 매체키를 암호화하여 암호화된 매체키 및 다른 암호화된 매체키를 생성해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 고정된 문자열을 포함하는 매체키를 암호화하여 암호화된 매체키 및 다른 암호화된 매체키를 생성한다. 따라서, 재생 장치가 고유의 문자열을 복호화할 수 있는 경우, 자신을 위해 사용하는 암호화된 매체키를 지정할 수 있다.
여기에서, 상기 지역 코드 저장 서브 유닛은 다른 지역을 식별하는 다른 지역 코드를 추가로 저장해도 되고, 상기 암호화 서브 유닛은 다른 지역 코드에 기초하여 컨텐츠키를 암호화하여 다른 암호화된 컨텐츠키 정보를 생성함으로써, 암호화된 컨텐츠키 정보, 다른 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 생성해도 되며, 상기 공급부는 암호화된 컨텐츠키 정보, 다른 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 공급해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 다른 지역 코드에 기초하여 컨텐츠키를 추가로 암호화하여 다른 암호화된 컨텐츠키 정보를 생성함으로써, 암호화된 컨텐츠키 정보, 다른 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 추가로 생성한다. 따라서, 지역 코드 및 다른 지역 코드를 갖는 다른 재생 장치는 각각 암호화된 정보를 복호화하여 재생할 수 있다.
여기에서, 상기 암호화 서브 유닛은 고정된 문자열과 컨텐츠키를 연결하고, 생성한 연결 데이터를 지역 코드 및 다른 지역 코드에 기초하여 각각 암호화하여 암호화된 컨텐츠키 정보 및 다른 암호화된 컨텐츠키 정보를 생성해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 지역 코드 및 다른 지역 코드에 기초하여 고정된 문자열 및 컨텐츠키를 연결한 결과 생성되는 데이터를 암호화하여 암호화된 컨텐츠키 정보 및 다른 암호화된 컨텐츠키 정보를 생성한다. 따라서, 고유의 문자열을 복호화할 수 있는 경우, 상기 재생 장치는 자신을 위해 사용되는 암호화된 키 정보를 특정할 수 있다.
여기에서, 상기 판독부는 고정된 문자열을 포함하는 컨텐츠키를 판독해도 되고, 상기 암호화부는 획득한 컨텐츠를 암호화해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 고정된 문자열을 포함하는 컨텐츠키를 암호화한다. 따라서, 암호화된 컨텐츠 정보를 복호화하여 고정된 문자열을 포함하는 복호화된 데이터를 생성할 수 있는 경우, 상기 재생 장치는 자신을 위해 사용되는 컨텐츠키로서 복호화된 데이터를 특정할 수 있다.
여기에서, 상기 생성부는 컨텐츠 및 컨텐츠에 대응하는 컨텐츠키를 저장하는 컨텐츠 저장 서브 유닛과, 상기 컨텐츠 및 컨텐츠에 대응하는 컨텐츠키를 판독하는 판독 서브 유닛과, 지역을 식별하는 지역 코드에 대응하는 비밀 정보를 지역 정보로서 저장하는 지역 코드 저장 서브 유닛과, 비밀 정보에 기초하여 컨텐츠키를 암호화하여 암호화된 컨텐츠키 정보를 생성하고, 컨텐츠키를 이용하여 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성함으로써, 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 생성하는 암호화 서브 유닛을 포함해도 되고, 상기 공급부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 공급해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 지역을 나타내는 지역 코드에 대응하는 비밀 정보에 기초하여 컨텐츠키를 암호화하여 암호화된 컨텐츠키 정보를 생성한다. 따라서, 비밀 정보를 나타내는 재생 장치만이 암호화된 컨텐츠키 정보를 복호화하여 컨텐츠키를 생성할 수 있다.
여기에서, 상기 생성부는 컨텐츠 및 컨텐츠에 대응하는 컨텐츠키를 저장하는 컨텐츠 저장 서브 유닛과, 상기 컨텐츠 및 컨텐츠키를 판독하는 판독 서브 유닛과, 트리 구조 시스템을 구성하는 복수의 노드를 구비하고, 각 노드가 하나 이상의 재생 장치에 의해 보유되는 상이한 디바이스키에 대응하며, 각 리프가 상이한 재생 장치 및 재생 장치가 속하는 지역에 대응하는 트리 구조 저장 서브 유닛과, 상기 트리 구조 시스템으로부터 지역 정보로서 상기 지역에 속하는 재생 장치에 의해서만 보유되고, 다른 지역에 속하는 재생 장치에 의해서는 보유되지 않는 디바이스키 중에서 디바이스키를 선택하는 선택 서브 유닛과, 선택된 디바이스키에 기초하여 컨텐츠키를 암호화하여 암호화된 컨텐츠키 정보를 생성하고, 상기 컨텐츠키를 이용하여 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성함으로써, 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 생성하는 암호화 서브 유닛을 포함해도 되고, 상기 공급부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 공급해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 상기 트리 구조 시스템으로부터 지역 정보로서 상기 지역에 속하는 재생 장치에 의해서만 보유되고, 다른 지역에 속하는 재생 장치에 의해서는 보유되지 않는 디바이스키 중 최상위 레벨 상에 있는 디바이스키를 선택한다. 상기 공급 장치는 선택된 디바이스키에 기초하여 컨텐츠키를 암호화하여 암호화된 컨텐츠키 정보를 생성한다. 따라서, 미리 저장되어 있는 지역 정보가 부정하게 변경되거나, 지역 정보에 따른 확인 기능이 우회되는 재생 장치는 암호화된 컨텐츠키를 정확하게 복호화할 수 없다. 이러한 방식으로, 그러한 재생 장치는 컨텐츠키를 획득할 수 없고, 컨텐츠를 정확하게 재생할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 암호화 서브 유닛은 컨텐츠의 제공을 위해 설정된 매체키를 획득하고, 선택된 디바이스키를 이용하여 획득한 매체키를 암호화하여 암호화된 매체키를 생성하며, 획득한 매체키를 이용하여 컨텐츠키를 암호화하여 암호화된 컨텐츠키를 생성함으로써, 암호화된 매체키 및 암호화된 컨텐츠키로 구성되는 암호화된 컨텐츠키 정보를 생성해도 되고, 상기 공급부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 공급해도 되며, 상기 암호화된 컨텐츠키 정보는 암호화된 매체키 및 암호화된 컨텐츠키로 구성되어 있다.
상술한 구성에 따르면, 상기 공급 장치는 선택된 디바이스키를 이용하여 컨텐츠의 제공을 위해 설정된 매체키를 암호화하여 암호화된 매체키를 생성하며, 매체키를 이용하여 컨텐츠키를 암호화하여 암호화된 컨텐츠키를 생성함으로써, 암호화된 매체키 및 암호화된 컨텐츠키로 구성되는 암호화된 컨텐츠키 정보를 생성한다. 따라서, 미리 저장되어 있는 지역 정보가 부정하게 변경되거나, 지역 정보에 따른 확인 기능이 우회되는 재생 장치는 암호화된 매체키를 정확하게 복호화할 수 없다. 이러한 방식으로, 그러한 재생 장치는 암호화된 컨텐츠키를 복호화하여 컨텐츠키를 획득할 수 없고, 컨텐츠를 복호화할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 트리 구조 시스템은 하나의 트리 구조로 구성되어도 되고, 상기 트리 구조내의 각 노드는 하나 이상의 재생 장치에 의해 보유되는 상이한 디바이스키에 대응하며, 상기 트리 구조내의 각 리프는 상이한 재생 장치 및 재생 장치가 속하는 지역에 대응하고, 상기 선택 서브 유닛은 상기 트리 구조로부터 디바이스키를 선택해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 하나의 트리 구조로 구성되는 트리 구조 시스템을 갖는다. 따라서, 상기 공급 장치는 상기 트리 구조 시스템을 용이하게 관리할 수 있다.
여기에서, 상기 트리 구조 시스템은 재생 장치가 속하는 지역의 수와 동일하고 상기 지역에 각각 대응하는 복수의 트리 구조를 포함해도 되고, 각 트리 구조는 복수의 노드를 가지며, 각 노드는 대응하는 지역내의 하나 이상의 재생 장치에 의해 보유되는 디바이스키 중 상이한 디바이스키에 대응하고, 각 리프는 대응하는 지역에 속하는 재생 장치 중 상이한 재생 장치에 대응하며, 상기 선택 서브 유닛은 상기 지역에 대응하는 트리 구조의 루트에 대응하는 디바이스키를 선택해도 된다.
상술한 구성에 따르면, 상기 공급 장치에 의해 보유된 상기 트리 구조 시스템은 지역과 동일한 수의 트리 구조를 포함한다. 따라서, 상기 공급 장치는 지역마다 트리 구조를 용이하게 관리할 수 있다.
여기에서, 상기 공급 장치는 암호화된 정보와 함께 지역을 식별하는 지역 코드를 공급해도 된다.
상술한 구성에 따르면, 상기 공급 장치는 지역 코드를 추가로 공급한다. 따라서, 상기 재생 장치는 획득한 지역 코드와 재생 장치의 지역 코드를 비교할 수 있다.
여기에서, 상기 생성부는 휴대용 IC 카드로 구성될 수도 있다.
상술한 구성에 따르면, 상기 공급 장치내의 생성부는 IC 카드로 구성된다. 따라서, 공급 장치를 사용하고 사용 후에 상기 공급 장치로부터 IC 카드를 제거할 때 IC 카드를 공급 장치에 삽입함으로써, 상기 공급 장치의 공급부가 IC 카드를 구비하지 않은 자에 의해 사용되는 것이 방지될 수 있다.
또한, 본 발명은 지역에 따라 컨텐츠의 재생을 한정하는 재생 장치이며, 상기 재생 장치는, 지역을 나타내는 제 2 지역 정보를 미리 저장하는 저장부와, 지역을 나타내는 제 1 지역 정보에 기초하여 컨텐츠를 암호화함으로써 생성되는 암호화된 정보를 획득하는 획득부와, 제 2 지역 정보에 기초하여 획득한 암호화된 정보를 복호화하려고 시도하고, 암호화된 정보가 성공적으로 복호화된 경우 복호화의 결과로서 컨텐츠를 생성하는 복호화부와, 생성된 컨텐츠를 재생하는 재생부를 포함한다.
상술한 구성에 따르면, 상기 재생 장치는 지역을 나타내는 제 1 지역 정보에 기초하여 컨텐츠를 암호화함으로써 생성되는 암호화된 컨텐츠를 획득하고, 저장되어 있는 제 2 지역 정보에 기초하여 획득한 암호화된 정보를 복호화하려고 시도하며, 암호화된 정보가 성공적으로 복호화된 경우 그 결과로서 컨텐츠를 생성한다. 따라서, 제 2 지역 정보가 변경되거나, 지역 정보에 따른 확인 기능이 우회되는 재생 장치는 암호화된 정보를 정확하게 복호화할 수 없다. 이러한 방식으로, 그러한 재생 장치는 컨텐츠를 정확하게 재생할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 획득부는 기록 매체로부터 암호화된 정보를 판독함으로써, 또는 네트워크를 통해 암호화된 정보를 수신함으로써 암호화된 정보를 획득해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 기록 매체를 통해 또는 네트워크를 통해 암호화된 정보를 신뢰성 있게 획득할 수 있다.
여기에서, 상기 저장부는 제 2 지역 정보로서 지역을 식별하는 제 2 지역 코드를 미리 저장해도 되고, 상기 획득부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 획득해도 되며, 상기 암호화된 컨텐츠키 정보는 지역을 식별하는 제 1 지역 코드에 기초하여 컨텐츠키를 암호화함으로써 생성된 것이고, 상기 암호화된 컨텐츠는 컨텐츠키를 이용하여 컨텐츠를 암호화함으로써 생성된 것이며, 상부 복호화부는 지역을 식별하는 제 2 지역 코드에 기초하여 암호화된 컨텐츠키 정보를 복호화하려고 시도하고, 상기 제 2 지역 코드는 제 2 지역 정보로서 사용되며, 상기 암호화된 컨텐츠키 정보가 성공적으로 복호화된 경우 복호화의 결과로서 컨텐츠키를 생성하고, 생성된 컨텐츠키를 이용하여 컨텐츠를 복호화하여 컨텐츠를 생성한다.
상술한 구성에 따르면, 상기 재생 장치는 제 2 지역 코드에 기초하여 암호화된 컨텐츠키 정보를 복호화하려고 시도하고, 상기 복호화가 성공적으로 실행된 경우 컨텐츠키를 생성한다. 그 후, 상기 재생 장치는 생성된 컨텐츠키를 이용하여 암호화된 컨텐츠를 복호화하여 컨텐츠를 생성한다. 따라서, 제 2 지역 정보가 부정하게 변경되거나, 제 2 지역 정보에 따른 확인 기능이 우회되는 재생 장치는 암호화된 컨텐츠키 정보를 정확하게 복호화할 수 없다. 이러한 방식으로, 그러한 재생 장치는 컨텐츠키를 획득할 수 없고, 컨텐츠를 정확하게 재생할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 획득부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 획득해도 되고, 상기 암호화된 컨텐츠키 정보는 암호화된 매체키 및 암호화된 컨텐츠키로 구성되며, 상기 암호화된 매체키는 컨텐츠의 제공을 위해 설정된 매체키를 암호화함으로써 생성된 것이고, 상기 암호화된 컨텐츠키는 제 1 지역 코드 및 매체키를 이용하여 컨텐츠키를 암호화함으로써 생성된 것이며, 상기 복호화부는 획득한 암호화된 매체키를 복호화하여 매체키를 생성하고, 제 2 지역 코드 및 생성된 매체키를 이용하여 암호화된 컨텐츠키를 복호화하려고 시도하며, 암호화된 컨텐츠키가 성공적으로 복호화되는 경우 복호화의 결과로서 컨텐츠키를 생성해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 제 1 지역 코드 및 매체키를 이용하여 컨텐츠키를 암호화함으로써 생성된 암호화된 컨텐츠키를 획득하고, 제 2 지역 코드 및 매체키를 이용하여 암호화된 컨텐츠키를 복호화하려고 시도한다. 따라서, 제 2 지역 정보가 부정하게 변경되거나, 제 2 지역 정보에 따른 확인 기능이 우회되는 재생 장치는 암호화된 컨텐츠키를 정확하게 복호화할 수 없다. 이러한 방식으로, 그러한 재생 장치는 컨텐츠키를 획득할 수 없고, 컨텐츠를 정확하게 복호화할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 복호화부는 제 2 지역 코드 및 매체키를 이용하여 복호화키를 생성하고, 생성된 복호화키를 이용하여 암호화된 컨텐츠키를 복호화하려고 시도해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 제 2 지역 코드 및 매체키를 이용하여 생성된 복호화키를 이용하여 암호화된 컨텐츠키를 복호화하려고 시도한다. 따라서, 제 2 지역 코드가 부정하게 변경되거나, 제 2 지역 코드에 따른 확인 기능이 우회되는 재생 장치는 컨텐츠를 정확하게 복호화할 수 없다. 이러한 방식으로, 그러한 재생 장치는 컨텐츠키를 획득할 수 없고, 컨텐츠를 복호화할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 복호화부는 제 2 지역 코드 및 매체키를 연결하고 생성된 연결 데이터에 일방향 함수를 적용함으로써 복호화키를 생성해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 제 2 지역 코드 및 매체키를 연결한 결과 생성되는 데이터에 일방향 함수를 적용함으로써 복호화키를 생성한다. 따라서, 제 2 지역 코드가 부정하게 변경되거나, 제 2 지역 코드에 따른 확인 기능이 우회되는 재생 장치는 복호화키를 정확하게 생성할 수 없다. 이러한 방식으로, 그러한 재생 장치는 컨텐츠키를 획득할 수 없고, 컨텐츠를 복호화할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 획득부는 재생 장치에 고유한 디바이스키를 이용하여 매체키를 암호화함으로써 생성된 암호화된 매체키를 획득해도 되고, 상기 복호화부는 디바이스키를 이용하여 암호화된 매체키를 복호화하려고 시도하고, 암호화된 매체키가 성공적으로 복호화되는 경우 복호화의 결과로서 매체키를 생성해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 재생 장치에 고유한 디바이스키를 이용하여 매체키를 암호화함으로써 생성된 암호화된 매체키를 획득하고, 고유의 디바이스키를 이용하여 암호화된 매체키를 복호화하려고 시도한다. 따라서, 상기 재생 장치만이 암호화된 매체키를 복호화할 수 있다.
여기에서, 상기 획득부는 다른 재생 장치에 고유한 다른 디바이스키를 이용하여 매체키를 암호화함으로써 생성된 다른 암호화된 매체키를 추가로 획득해도 되고, 상기 복호화부는 암호화된 매체키 및 다른 암호화된 매체키 중 하나를 재생 장치에 이용하는 암호화된 매체키로서 특정하고, 특정한 암호화된 매체키를 복호화하려고 시도해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 재생 장치의 고유의 키 및 다른 재생 장치의 다른 고유의 키를 각각 이용하여 매체키를 암호화함으로써 생성된 암호화된 매체키 및 다른 암호화된 매체키 중에서 재생 장치에 의해 사용하는 암호화된 매체키를 특정한다. 따라서, 상기 재생 장치는 특정한 매체키로부터 매체키를 생성하고, 컨텐츠키를 생성한 후 컨텐츠를 생성한다.
여기에서, 상기 획득부는 미리 정해진 순서로 배열되어 있는 암호화된 매체키 및 다른 암호화된 매체키를 획득해도 되고, 상기 복호화부는 상기 미리 정해진 순서로 특정된 위치에 있는 암호화된 매체키 및 다른 암호화된 매체키 중 하나를 추출함으로써 재생 장치에서 사용하는 암호화된 매체키를 특정해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 미리 정해진 순서로 배열되어 있는 암호화된 매체키 및 다른 암호화된 매체키를 획득하고, 상기 미리 정해진 순서로 특정된 위치에 있는 하나의 암호화된 매체키를 추출함으로써 신뢰성 있게 재생 장치에 의해 사용하는 암호화된 매체키를 특정할 수 있다.
여기에서, 상기 획득부는 고정된 문자열을 포함하는 매체키를 암호화함으로써 각각 생성된 암호화된 매체키 및 다른 암호화된 매체키를 획득해도 되고, 상기 복호화부는 재생 장치에 고유한 디바이스키를 이용하여 암호화된 매체키 및 다른 암호화된 매체키를 각각 복호화하려고 시도하고, 그 결과 생성된 복호화된 데이터 중 고정된 문자열을 포함하는 암호화된 데이터를 매체키로서 인식해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 고정된 문자열을 포함하는 매체키를 암호화함으로써 각각 생성되는 암호화된 매체키 및 다른 암호화된 매체키를 획득하고, 암호화된 매체키 및 다른 암호화된 매체키를 복호화하려고 시도한다. 생성된 암호화된 데이터 중에서, 상기 재생 장치는 고정된 문자열을 포함하는 것을 매체키로서 간주한다. 따라서, 상기 재생 장치는 재생 장치에 의해 사용될 암호화된 매체키를 특정할 수 있다.
여기에서, 상기 획득부는 다른 지역을 식별하는 다른 지역 코드에 기초하여 컨텐츠키를 암호화함으로써 생성된 다른 암호화된 컨텐츠키 정보를 추가로 획득해도 되고, 상기 복호화부는 제 2 지역 코드에 기초하여 다른 암호화된 컨텐츠키를 복호화하려고 시도하고, 암호화된 컨텐츠키를 복호화함으로써 생성되는 복호화된 데이터 및 다른 암호화된 컨텐츠키를 복호화함으로써 생성되는 복호화된 데이터 중에서 성공적으로 복호화된 복호화 데이터를 특정하며, 특정한 복호화된 데이터를 컨텐츠키로서 인식하고, 그것에 의해 컨텐츠키를 생성해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 지역을 식별하는 제 2 지역 코드 및 다른 지역을 식별하는 다른 지역 코드에 기초하여 컨텐츠를 암호화함으로써 생성된 암호화된 컨텐츠키 정보 및 다른 암호화된 컨텐츠키 정보를 각각 획득한다. 그 후, 상기 재생 장치는 제 2 지역 코드에 기초하여 암호화된 컨텐츠키 정보 및 다른 암호화된 컨텐츠키 정보를 복호화하고, 성공적으로 복호화된 컨텐츠키 정보를 지정함으로써, 암호화된 컨텐츠키 정보 중에서 재생 장치용의 암호화된 컨텐츠키 정보를 지정한다.
여기에서, 상기 획득부는 고정된 문자열 및 컨텐츠키를 연결함으로써 획득되는 연결 데이터를 제 2 지역 코드 및 다른 지역 코드에 기초하여 암호화함으로써 생성된 암호화된 컨텐츠키 정보 및 다른 암호화된 컨텐츠키 정보를 각각 획득해도 되고, 상기 복호화부는 암호화된 컨텐츠키 정보를 복호화함으로써 생성되는 복호화된 데이터 및 고정된 문자열을 포함하는 다른 암호화된 컨텐츠키 정보를 복호화함으로써 생성되는 복호화된 데이터 중 하나로부터 고정된 문자열을 삭제하여 컨텐츠키를 생성해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 제 2 지역 코드 및 다른 지역 코드에 기초하여 고정된 문자열 및 컨텐츠키를 연결한 결과 생성되는 데이터를 암호화함으로써 생성된 암호화된 컨텐츠키 정보 및 다른 암호화된 컨텐츠키 정보를 각각 획득한다. 상기 재생 장치는 암호화된 컨텐츠키 정보에 의해 생성되는 복호화된 데이터 및 고정된 문자열을 포함하는 다른 암호화된 컨텐츠키 정보에 의해 생성되는 복호화된 데이터 중 하나로부터 고정된 문자열을 삭제함으로써 컨텐츠키를 생성한다. 이러한 방식으로, 상기 재생 장치는 복수의 암호화된 컨텐츠키 정보 중에서 재생 장치용의 암호화된 컨텐츠키를 신뢰성 있게 특정할 수 있다.
여기에서, 상기 획득부는 제 2 지역 코드 및 지역 코드에 기초하여 고정된 문자열을 포함하는 컨텐츠키를 암호화함으로써 생성된 암호화된 컨텐츠키 정보 및 다른 암호화된 컨텐츠키 정보를 각각 획득해도 되고, 상기 복호화부는 암호화된 컨텐츠키 정보를 복호화함으로써 생성되는 복호화된 데이터 및 고정된 문자열을 포함하는 다른 암호화된 컨텐츠키 정보를 복호화함으로써 생성되는 복호화된 데이터 중 하나를 컨텐츠키로서 인식해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 제 2 지역 코드 및 다른 지역 코드에 기초하여 고정된 문자열을 포함하는 컨텐츠키를 암호화함으로써 생성된 암호화된 컨텐츠키 정보 및 다른 암호화된 컨텐츠키 정보를 각각 획득한다. 암호화된 컨텐츠키 정보 및 다른 암호화된 컨텐츠키 정보를 복호화함으로써 생성되는 생성한 복호화된 데이터 중에서, 상기 재생 장치는 고정된 문자열을 포함하는 것을 컨텐츠키로서 간주한다. 이러한 방식으로, 암호화된 컨텐츠키 정보 중에서 재생 장치에 의해 사용될 암호화된 컨텐츠키 정보를 신뢰성 있게 특정할 수 있고, 컨텐츠키를 획득할 수 있다.
여기에서, 상기 저장부는 지역을 식별하는 제 2 지역 코드에 대응하는 제 2 비밀 정보를 제 2 지역 정보로서 미리 저장해도 되고, 상기 획득부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 획득해도 되며, 상기 암호화된 컨텐츠키 정보는 제 1 비밀 정보에 기초하여 컨텐츠키를 암호화함으로써 생성된 것이고, 상기 제 1 비밀 정보는 제 1 지역 정보로서 사용되고 지역을 식별하는 제 1 지역 코드에 대응하는 것이며, 상기 암호화된 컨텐츠는 컨텐츠키를 이용하여 컨텐츠를 암호화함으로써 생성된 것이고, 상기 복호화부는 제 2 비밀 정보에 기초하여 암호화된 컨텐츠키 정보를 복호화하려고 시도하고, 암호화된 컨텐츠키 정보가 성공적으로 복호화된 경우 복호화의 결과로서 컨텐츠키를 생성하며, 컨텐츠키를 이용하여 암호화된 컨텐츠를 복호화하여 컨텐츠를 생성해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 지역을 식별하는 제 1 지역 코드에 대응하는 제 1 지역 정보로서 사용되는 제 1 비밀 정보에 기초하여 암호화된 컨텐츠키인 암호화된 컨텐츠키 정보를 획득한다. 상기 재생 장치는 저장되어 있는 제 2 비밀 정보에 기초하여 암호화된 컨텐츠키 정보를 복호화하려고 시도한다. 따라서, 제 2 비밀 정보를 알고 있는 재생 장치만이 암호화된 컨텐츠키 정보를 복호화하여 컨텐츠키를 생성할 수 있다.
여기에서, 상기 저장부는 트리 구조 시스템의 하나의 리프로부터 루트까지의 경로상의 노드에 대응하고 있는 복수의 디바이스키를 제 2 지역 정보로서 저장해도 되고, 상기 리프는 재생 장치에 대응하고 있으며, 상기 획득부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 획득해도 되고, 상기 암호화된 컨텐츠키 정보는 트리 구조 시스템내의 하나의 노드에 대응하는 디바이스키에 기초하여 컨텐츠키를 암호화함으로써 생성된 것이며, 상기 암호화된 컨텐츠는 컨텐츠키를 이용하여 컨텐츠를 암호화함으로써 생성된 것이고, 상기 복호화부는 저장되어 있는 디바이스키에 각각 기초하여 암호화된 컨텐츠키 정보를 복호화하려고 시도하며, 암호화된 컨텐츠가 성공적으로 복호화된 경우 복호화의 결과로서 컨텐츠를 생성하고, 생성된 컨텐츠키를 이용하여 암호화된 컨텐츠를 복호화하여 컨텐츠를 생성해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 각각 제 2 지역 정보로서 복수의 디바이스키의 각각에 기초하여 암호화된 컨텐츠키 정보를 복호화하려고 시도한다. 따라서, 제 2 지역 정보가 부정하게 변경되거나, 제 2 지역 정보에 따른 확인 기능이 우회되는 재생 장치는 암호화된 컨텐츠키 정보를 정확하게 복호화할 수 없다. 따라서, 그러한 재생 장치는 컨텐츠키를 획득할 수 없고, 컨텐츠를 복호화할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 획득부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 획득해도 되고, 상기 암호화된 컨텐츠키 정보는 암호화된 매체키 및 암호화된 컨텐츠키로 구성되며, 상기 암호화된 매체키는 디바이스키를 이용하여 컨텐츠의 제공을 위해 설정된 매체키를 암호화함으로써 생성된 것이고, 상기 암호화된 컨텐츠키는 매체키를 이용하여 컨텐츠키를 암호화함으로써 생성된 것이며, 상기 복호화부는 각각 디바이스키에 기초하여 암호화된 매체키를 복호화하려고 시도하고, 암호화된 매체키가 성공적으로 복호화된 경우 복호화의 결과로서 매체키를 생성하며, 생성된 매체키를 이용하여 암호화된 컨텐츠키를 복호화하여 컨텐츠키를 생성해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 제 2 지역 정보로서 디바이스키를 이용하여 컨텐츠의 제공을 위해 설정된 매체키를 암호화함으로써 생성된 암호화된 매체키를 획득한다. 상기 재생 장치는 복수의 저장되어 있는 디바이스키를 각각 기초로 하여 암호화된 매체키를 복호화하려고 시도한다. 따라서, 제 2 지역 정보가 부정하게 변경되거나, 제 2 지역 정보에 따른 확인 기능이 우회되는 재생 장치는 암호화된 컨텐츠키 정보를 정확하게 복호화할 수 없다. 이러한 방식으로, 그러한 재생 장치는 매체키를 획득할 수 없고, 컨텐츠키를 획득할 수 없으므로, 컨텐츠를 획득할 수 없다. 그 결과, 재생은 지역에 따라 한정될 수 있다.
여기에서, 상기 트리 구조 시스템은 하나의 트리 구조로 구성되어도 되고, 트리 구조내의 각 노드는 하나 이상의 재생 장치에 의해 보유된 다른 디바이스키에 대응하며, 트리 구조내의 각 리프는 다른 재생 장치 및 재생 장치가 속하는 지역에 대응하고, 상기 저장부에 저장된 디바이스키는 트리 구조내의 하나의 리프로부터 루트까지의 경로상의 노드에 대응하며, 상기 리프는 재생 장치에 대응하고, 상기 획득부는 트리 구조내의 하나의 노드에 대응하는 디바이스키에 기초하여 컨텐츠키를 암호화함으로써 생성된 암호화된 컨텐츠키 정보를 획득해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 하나의 트리 구조로 구성되는 트리 구조 시스템내의 하나의 노드에 대응하는 디바이스키를 사용한다. 따라서, 트리 구조 시스템을 관리하는 관리 장치는 관리를 용이하게 할 수 있다.
여기에서, 상기 트리 구조 시스템은 재생 장치가 속하는 지역의 수와 동일하고 지역에 각각 대응하는 복수의 트리 구조를 포함해도 되고, 각 트리 구조는 복수의 노드를 가지며, 각 노드는 대응하는 지역내의 하나 이상의 재생 장치에 의해 보유된 디바이스키 중 다른 디바이스키에 대응하고, 각 리프는 대응하는 지역에 속하는 재생 장치 중 다른 재생 장치에 대응하며, 상기 저장부에 저장되어 있는 디바이스키는 재생 장치가 속하는 지역에 대응하는 트리 구조내의 하나의 리프로부터 루트까지의 경로상의 노드에 대응해도 되고, 상기 리프는 재생 장치에 대응하며, 상기 획득부는 트리 구조내의 하나의 노드에 대응하는 디바이스키에 기초하여 컨텐츠키를 암호화함으로써 생성된 암호화된 컨텐츠키 정보를 획득해도 된다.
상술한 구성에 따르면, 상기 재생 장치는 지역과 동일한 수의 트리 구조를 포함하는 트리 구조 시스템에서 지역에 대응하는 트리 구조내의 하나의 노드에 대응하는 디바이스키를 사용한다. 따라서, 상기 트리 구조 시스템을 관리하는 관리 장치는 각 지역에 대한 트리 구조를 용이하게 관리할 수 있다.
여기에서, 상기 저장부는 지역을 식별하는 제 2 지역 코드를 제 2 지역 정보로서 미리 저장해도 되고, 상기 획득부는 암호화된 정보와 함께 지역을 식별하는 제 3 지역 코드를 추가로 획득해도 되며, 상기 복호화부는 암호화된 정보를 복호화하기 전에, 제 2 지역 코드와 제 3 지역 코드를 비교하고, 제 2 및 제 3 지역 코드가 일치하지 않는 경우 암호화된 정보의 복호화를 중단하며, 제 2 및 제 3 지역 코드가 일치하는 경우 암호화된 정보의 복호화를 시도해도 된다.
상술한 구성에 따르면, 암호화된 정보를 복호화하기 전에, 상기 재생 장치는 제 2 지역 코드와 획득한 제 3 지역 코드를 비교하고, 이들 지역 코드가 일치하지 않는 경우 암호화된 정보의 복호화를 중단한다. 따라서, 재생은 지역에 따라 쉽게 한정될 수 있고, 2개의 지역 코드가 일치하지 않는 경우 불필요한 암호화된 정보의 복호화가 방지된다.
여기에서, 상기 복호화부는 휴대용 IC 카드로 구성되어도 된다.
상술한 구성에 따르면, 상기 재생 장치의 복호화부는 휴대용 IC 카드이다. 따라서, 재생 장치를 사용할 때 재생 장치에 IC 카드를 삽입하고, 사용 후에 재생 장치로부터 IC 카드를 제거함으로써, 상기 재생 장치의 복호화부는 IC 카드를 구비하지 않은 자에 의해 사용되는 것이 방지될 수 있다.
상술한 디지털 저작물 보호 시스템 및 컨텐츠 배포 시스템은 컨텐츠 공급자가 음악, 영화 및 소설 등의 디지털 저작물을 사용자에게 제공하는 산업에서 사업용으로 바꿔 말하면, 반복적이고 연속적으로 사용될 수 있다.
본 발명은 디지털화된 저작물을 DVD 등의 기록 매체 상에 저장하여 시장에 유통시키거나, 네트워크를 통해 그러한 저작물을 배포함으로써 디지털화된 저작물을 공급하는 산업에 특히 적합하다.

Claims (56)

  1. 컨텐츠의 재생이 지역에 따라 한정되는 지역 한정 재생 시스템으로서,
    지역을 나타내는 제 1 지역 정보에 기초하여 컨텐츠를 암호화하여 암호화된 정보를 생성하고, 상기 생성한 암호화된 정보를 공급하는 공급 장치와,
    지역을 나타내는 제 2 지역 정보를 미리 저장하고, 상기 암호화된 정보를 획득하며, 상기 제 2 지역 정보에 기초하여 상기 획득한 암호화된 정보의 복호화를 시도하고, 상기 암호화된 정보가 성공적으로 복호화될 때 복호화의 결과로서 컨텐츠를 생성하며, 상기 생성한 컨텐츠를 재생하는 재생 장치를 포함하는 것을 특징으로 하는 지역 한정 재생 시스템.
  2. 컨텐츠의 재생이 지역에 따라 한정되는 컨텐츠를 공급하는 공급 장치로서,
    지역을 나타내는 지역 정보에 기초하여 컨텐츠를 암호화하여 암호화된 정보를 생성하는 생성부와,
    상기 생성한 암호화된 정보를 공급하는 공급부를 포함하는 것을 특징으로 하는 공급 장치.
  3. 제 2 항에 있어서,
    상기 공급부는 상기 생성한 암호화된 정보를 배포되는 기록 매체에 기입함으로써, 또는 상기 생성한 암호화된 정보를 네트워크를 통해 송신함으로써, 상기 생성한 암호화된 정보를 공급하는 것을 특징으로 하는 공급 장치.
  4. 제 3 항에 있어서,
    상기 생성부는,
    상기 컨텐츠 및 상기 컨텐츠에 대응하는 컨텐츠키를 저장하는 컨텐츠 저장 서브 유닛과,
    상기 컨텐츠 저장 서브 유닛으로부터 상기 컨텐츠 및 컨텐츠키를 판독하는 판독 서브 유닛과,
    상기 지역 정보로서 지역을 나타내는 지역 코드를 저장하는 지역 코드 저장 서브 유닛과,
    상기 지역 코드에 기초하여 상기 컨텐츠키를 암호화하여 암호화된 컨텐츠키 정보를 생성하고, 상기 컨텐츠키를 이용하여 상기 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성함으로써, 상기 암호화된 컨텐츠키 정보 및 상기 암호화된 컨텐츠로 구성되는 암호화된 정보를 생성하는 암호화 서브 유닛을 포함하며,
    상기 공급부는 상기 암호화된 컨텐츠키 정보 및 상기 암호화된 컨텐츠로 구성되는 상기 암호화된 정보를 공급하는 것을 특징으로 하는 공급 장치.
  5. 제 4 항에 있어서,
    상기 생성부는,
    상기 공급 장치 외부의 소스로부터 상기 컨텐츠 및 컨텐츠키를 획득하여, 획득한 컨텐츠 및 컨텐츠키를 상기 컨텐츠 저장 서브 유닛에 기입하는 획득 서브 유닛을 추가로 포함하는 것을 특징으로 하는 공급 장치.
  6. 제 4 항에 있어서,
    상기 생성부는,
    상기 컨텐츠 및 컨텐츠키를 생성하고, 상기 생성한 컨텐츠 및 생성한 컨텐츠키를 상기 컨텐츠 저장 서브 유닛에 기입하는 컨텐츠 생성 서브 유닛을 추가로 포함하는 것을 특징으로 하는 공급 장치.
  7. 제 4 항에 있어서,
    상기 암호화 서브 유닛은 상기 컨텐츠의 제공을 위해 설정된 매체키를 획득하고, 상기 획득한 매체키를 암호화하여 암호화된 매체키를 생성하고, 상기 지역 코드 및 매체키를 이용하여 상기 컨텐츠키를 암호화함으로써, 상기 암호화된 매체키 및 암호화된 컨텐츠키로 구성되는 암호화된 컨텐츠키 정보를 생성하며,
    상기 공급부는 상기 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 상기 암호화된 정보를 공급하고, 상기 암호화된 컨텐츠키 정보는 상기 암호화된 매체키 및 상기 암호화된 컨텐츠키로 구성되는 것을 특징으로 하는 공급 장치.
  8. 제 7 항에 있어서,
    상기 암호화 서브 유닛은 상기 지역 코드 및 상기 매체키를 이용하여 암호화키를 생성하고, 상기 생성한 암호화키를 이용하여 상기 컨텐츠키를 암호화하는 것을 특징으로 하는 공급 장치.
  9. 제 8 항에 있어서,
    상기 암호화 서브 유닛은 연결 데이터가 생성되도록 상기 지역 코드 및 상기 매체키를 연결함으로써, 또 상기 연결 데이터에 일방향 함수를 적용함으로써 상기 암호화키를 생성하는 것을 특징으로 하는 공급 장치.
  10. 제 7 항에 있어서,
    상기 암호화 서브 유닛은 하나의 재생 장치에 고유한 디바이스키를 획득하고, 상기 획득한 디바이스키를 이용하여 상기 매체키를 암호화하는 것을 특징으로 하는 공급 장치.
  11. 제 10 항에 있어서,
    상기 암호화 서브 유닛은 다른 재생 장치에 고유한 다른 디바이스키를 추가로 획득하고, 상기 획득한 다른 디바이스키를 이용하여 상기 매체키를 암호화하여 다른 암호화된 매체키를 획득하며,
    상기 공급부는 상기 다른 암호화된 매체키를 추가로 포함하는 상기 암호화된 정보를 공급하는 것을 특징으로 하는 공급 장치.
  12. 제 11 항에 있어서,
    상기 공급부는 미리 정해진 순서로 배열되는 상기 암호화된 매체키 및 상기 다른 암호화된 매체키를 공급하는 것을 특징으로 하는 공급 장치.
  13. 제 11 항에 있어서,
    상기 암호화부는 고정된 문자열을 포함하는 매체키를 획득하고, 상기 획득한 매체키를 암호화하여 상기 암호화된 매체키 및 상기 다른 암호화된 매체키를 생성하는 것을 특징으로 하는 공급 장치.
  14. 제 4 항에 있어서,
    상기 지역 코드 저장 서브 유닛은 다른 지역을 식별하는 다른 지역 코드를 추가로 저장하고,
    상기 암호화 서브 유닛은 상기 다른 지역 코드에 기초하여 상기 컨텐츠키를 추가로 암호화하여 다른 암호화된 컨텐츠키 정보를 생성함으로써, 상기 암호화된 컨텐츠키 정보, 상기 다른 암호화된 컨텐츠키 정보 및 상기 암호화된 컨텐츠로 구성되는 상기 암호화된 정보를 생성하며,
    상기 공급부는 상기 암호화된 컨텐츠키 정보, 상기 다른 암호화된 컨텐츠키 정보 및 상기 암호화된 컨텐츠로 구성되는 상기 암호화된 정보를 공급하는 것을 특징으로 하는 공급 장치.
  15. 제 14 항에 있어서,
    상기 암호화 서브 유닛은 고정된 문자열 및 상기 컨텐츠키를 연결하고, 그 결과로서의 연결 데이터를 상기 지역 코드 및 상기 다른 지역 코드에 각각 기초하여 암호화하여, 암호화된 컨텐츠키 정보 및 다른 암호화된 컨텐츠키 정보를 생성하는 것을 특징으로 하는 공급 장치.
  16. 제 14 항에 있어서,
    상기 판독부는 고정된 문자열을 포함하는 상기 컨텐츠키를 판독하고,
    상기 암호화부는 상기 획득한 컨텐츠를 암호화하는 것을 특징으로 하는 공급 장치.
  17. 제 3 항에 있어서,
    상기 생성부는,
    상기 컨텐츠 및 상기 컨텐츠에 대응하는 컨텐츠키를 저장하는 컨텐츠 저장 서브 유닛과,
    상기 컨텐츠 및 상기 컨텐츠에 대응하는 컨텐츠키를 판독하는 판독 서브 유닛과,
    상기 지역을 식별하는 지역 코드에 대응하는 비밀 정보를 상기 지역 정보로서 저장하는 지역 코드 저장 서브 유닛과,
    상기 비밀 정보에 기초하여 상기 컨텐츠키를 암호화하여 암호화된 컨텐츠키 정보를 생성하고, 상기 컨텐츠키를 이용하여 상기 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성함으로써, 상기 암호화된 컨텐츠키 정보 및 상기 암호화된 컨텐츠로 구성되는 암호화된 정보를 생성하는 암호화 서브 유닛을 포함하며,
    상기 공급부는 상기 암호화된 컨텐츠키 정보 및 상기 암호화된 컨텐츠로 구성되는 상기 암호화된 정보를 공급하는 것을 특징으로 하는 공급 장치.
  18. 제 17 항에 있어서,
    상기 생성부는,
    상기 공급 장치 외부의 소스로부터 상기 컨텐츠 및 컨텐츠키를 획득하고, 상기 획득한 컨텐츠 및 컨텐츠키를 상기 컨텐츠 저장 서브 유닛에 기입하는 획득 서브 유닛을 추가로 포함하는 것을 특징으로 하는 공급 장치.
  19. 제 17 항에 있어서,
    상기 생성부는,
    상기 컨텐츠 및 컨텐츠키를 생성하고, 상기 생성한 컨텐츠 및 컨텐츠키를 상기 컨텐츠 저장 서브 유닛에 기입하는 컨텐츠 생성 서브 유닛을 추가로 포함하는 것을 특징으로 하는 공급 장치.
  20. 제 3 항에 있어서,
    상기 생성부는,
    상기 컨텐츠 및 상기 컨텐츠에 대응하는 컨텐츠키를 저장하는 컨텐츠 저장 서브 유닛과,
    상기 컨텐츠 및 상기 컨텐츠키를 판독하는 판독 서브 유닛과,
    각 노드가 하나 이상의 재생 장치에 보유되는 다른 디바이스키에 대응하며, 각 리프가 다른 재생 장치 및 상기 재생 장치가 속하는 지역에 대응하는 트리 구조 시스템을 구성하는 복수의 노드를 구비하는 트리 구조 저장 서브 유닛과,
    상기 트리 구조 시스템으로부터, 상기 지역 정보로서, 상기 지역에 속하는 재생 장치에서만 보유되고 다른 지역에 속하는 재생 장치에서는 보유되지 않는 디바이스키 중에서 하나의 디바이스키를 선택하는 선택 서브 유닛과,
    상기 선택된 디바이스키에 기초하여 상기 컨텐츠키를 암호화하여 암호화된 컨텐츠키 정보를 생성하고, 상기 컨텐츠키를 이용하여 상기 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성함으로써, 상기 암호화된 컨텐츠키 정보 및 상기 암호화된 컨텐츠로 구성되는 암호화된 정보를 생성하는 암호화 서브 유닛을 포함하며,
    상기 공급부는 상기 암호화된 컨텐츠키 정보 및 상기 암호화된 컨텐츠로 구성되는 상기 암호화된 정보를 공급하는 것을 특징으로 하는 공급 장치.
  21. 제 20 항에 있어서,
    상기 생성부는,
    상기 공급 장치 외부의 소스로부터 상기 컨텐츠 및 컨텐츠키를 획득하고, 상기 획득한 컨텐츠 및 컨텐츠키를 상기 컨텐츠 저장 서브 유닛에 기입하는 획득 서브 유닛을 추가로 포함하는 것을 특징으로 하는 공급 장치.
  22. 제 20 항에 있어서,
    상기 생성부는,
    상기 컨텐츠 및 컨텐츠키를 생성하고, 상기 생성한 컨텐츠 및 컨텐츠키를 상기 컨텐츠 저장 서브 유닛에 기입하는 컨텐츠 생성 서브 유닛을 추가로 포함하는 것을 특징으로 하는 공급 장치.
  23. 제 20 항에 있어서,
    상기 암호화 서브 유닛은 상기 컨텐츠의 제공을 위해 설정된 매체키를 획득하고, 상기 획득한 매체키를 상기 선택된 디바이스키를 이용하여 암호화하여 암호화된 매체키를 생성하고, 상기 획득한 매체키를 이용하여 상기 컨텐츠키를 암호화하여 암호화된 컨텐츠키를 생성함으로써, 상기 암호화된 매체키 및 암호화된 컨텐츠키로 구성되는 암호화된 컨텐츠키 정보를 생성하며,
    상기 공급부는 상기 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 상기 암호화된 정보를 공급하고, 상기 암호화된 컨텐츠키 정보는 상기 암호화된 매체키 및 상기 암호화된 컨텐츠키로 구성되는 것을 특징으로 하는 공급 장치.
  24. 제 23 항에 있어서,
    상기 트리 구조 시스템은 하나의 트리 구조로 구성되고, 상기 트리 구조내의 각 노드는 하나 이상의 재생 장치에 보유되는 다른 디바이스키에 대응하며, 상기 트리 구조내의 각 리프는 다른 재생 장치 및 상기 재생 장치가 속하는 지역에 대응하고,
    상기 선택 서브 유닛은 상기 트리 구조로부터 상기 디바이스키를 선택하는 것을 특징으로 하는 공급 장치.
  25. 제 23 항에 있어서,
    상기 트리 구조 시스템은 상기 재생 장치가 속하는 지역의 수와 동일하고, 상기 지역에 각각 대응하는 복수의 트리 구조를 포함하고, 각 트리 구조는 복수의 노드를 구비하며, 각 노드는 대응하는 지역내의 하나 이상의 재생 장치에 보유되는 디바이스키 중 다른 하나에 대응하고, 각 리프는 상기 대응하는 지역에 속하는 상기 재생 장치 중 다른 하나에 대응하며,
    상기 선택 서브 유닛은 상기 지역에 대응하는 상기 트리 구조의 루트에 대응하는 디바이스키를 선택하는 것을 특징으로 하는 공급 장치.
  26. 제 3 항에 있어서,
    상기 공급 장치는 상기 암호화된 정보와 함께, 상기 지역을 식별하는 지역 코드를 공급하는 것을 특징으로 하는 공급 장치.
  27. 제 3 항에 있어서,
    상기 생성부는 휴대용 IC 카드로 구성되는 것을 특징으로 하는 공급 장치.
  28. 지역에 따라 컨텐츠의 재생을 한정하는 재생 장치로서,
    지역을 나타내는 제 2 지역 정보를 미리 저장하는 저장부와,
    지역을 나타내는 제 1 지역 정보에 기초하여 컨텐츠를 암호화함으로써 생성되는 암호화된 정보를 획득하는 획득부와,
    상기 제 2 지역 정보에 기초하여 상기 획득한 암호화된 정보의 복호화를 시도하고, 상기 암호화된 정보가 성공적으로 복호화될 때 복호화의 결과로서 컨텐츠의 생성을 시도하는 복호화부와,
    상기 생성된 컨텐츠를 재생하는 재생부를 포함하는 것을 특징으로 하는 재생 장치.
  29. 제 28 항에 있어서,
    상기 획득부는 기록 매체로부터 상기 암호화된 정보를 판독함으로써, 또는 네트워크를 통해 상기 암호화된 정보를 수신함으로써, 상기 암호화된 정보를 획득하는 것을 특징으로 하는 재생 장치.
  30. 제 29 항에 있어서,
    상기 저장부는 지역을 식별하는 제 2 지역 코드를 상기 제 2 지역 정보로서 미리 저장하고,
    상기 획득부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 획득하고, 상기 암호화된 컨텐츠키 정보는 지역을 식별하는 제 1 지역 코드에 기초하여 컨텐츠키를 암호화함으로써 생성된 것이며, 상기 제 1 지역 코드는 상기 제 1 지역 정보로서 사용된 것이고, 상기 암호화된 컨텐츠는 상기 컨텐츠키를 이용하여 컨텐츠를 암호화함으로써 생성된 것이며,
    상기 복호화부는, 상기 지역을 식별하며 상기 제 2 지역 정보로서 사용되는 제 2 지역 코드에 기초하여 상기 암호화된 컨텐츠키 정보의 복호화를 시도하고, 상기 암호화된 컨텐츠키 정보가 성공적으로 복호화될 때 복호화의 결과로서 컨텐츠키를 생성하고, 상기 생성된 컨텐츠키를 이용하여 상기 컨텐츠를 복호화하여 컨텐츠를 생성하는 것을 특징으로 하는 재생 장치.
  31. 제 30 항에 있어서,
    상기 획득부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 획득하고, 상기 암호화된 컨텐츠키 정보는 암호화된 매체키 및 암호화된 컨텐츠키로 구성되며, 상기 암호화된 매체키는 컨텐츠의 제공을 위해 설정된 매체키를 암호화함으로써 생성된 것이고, 상기 암호화된 컨텐츠키는 상기 제 1 지역 코드 및 상기 매체키를 이용하여 컨텐츠키를 암호화함으로써 생성된 것이며,
    상기 복호화부는 상기 획득한 암호화된 매체키를 복호화하여 매체키를 생성하고, 상기 제 2 지역 코드 및 상기 생성된 매체키를 이용하여 상기 암호화된 컨텐츠키의 복호화를 시도하며, 상기 암호화된 컨텐츠키가 성공적으로 복호화될 때 복호화의 결과로서 컨텐츠키를 생성하는 것을 특징으로 하는 재생 장치.
  32. 제 31 항에 있어서,
    상기 복호화부는 상기 제 2 지역 코드 및 상기 매체키를 이용하여 복호화키를 생성하고, 상기 생성된 복호화키를 사용하여 상기 암호화된 컨텐츠키의 복호화를 시도하는 것을 특징으로 하는 재생 장치.
  33. 제 32 항에 있어서,
    상기 복호화부는 상기 제 2 지역 코드 및 상기 매체키를 연결하고, 그 결과로서 생성된 연결 데이터에 일방향 함수를 적용함으로써, 상기 복호화키를 생성하는 것을 특징으로 하는 재생 장치.
  34. 제 31 항에 있어서,
    상기 획득부는 상기 재생 장치에 고유한 디바이스키를 이용하여 상기 매체키를 암호화함으로써 생성된 암호화된 매체키를 획득하고,
    상기 복호화부는 상기 디바이스키를 사용하여 상기 암호화된 매체키의 복호화를 시도하며, 상기 암호화된 매체키가 성공적으로 복호화될 때 복호화의 결과로서 매체키를 생성하는 것을 특징으로 하는 재생 장치.
  35. 제 34 항에 있어서,
    상기 획득부는 다른 재생 장치에 고유한 다른 디바이스키를 이용하여 상기 매체키를 암호화함으로써 생성된 다른 암호화된 매체키를 추가로 획득하고,
    상기 복호화부는 상기 암호화된 매체키 및 상기 다른 암호화된 매체키 중 하나를 상기 재생 장치에 사용하는 암호화된 매체키로서 특정하며, 상기 특정한 암호화된 매체키의 복호화를 시도하는 것을 특징으로 하는 재생 장치.
  36. 제 35 항에 있어서,
    상기 획득부는 미리 정해진 순서로 배열되는 상기 암호화된 매체키 및 상기 다른 암호화된 매체키를 획득하고,
    상기 복호화부는 상기 미리 정해진 순서로 특정 위치에 있는 상기 암호화된 매체키 및 상기 다른 암호화된 매체키 중 하나를 추출함으로써 상기 재생 장치에 사용하는 암호화된 매체키를 특정하는 것을 특징으로 하는 재생 장치.
  37. 제 35 항에 있어서,
    상기 획득부는 고정된 문자열을 포함하는 상기 매체키를 암호화함으로써 각각 생성된 상기 암호화된 매체키 및 상기 다른 암호화된 매체키를 획득하고,
    상기 복호화부는 상기 재생 장치에 고유한 디바이스키를 이용하여 상기 암호화된 매체키 및 상기 다른 암호화된 매체키의 복호화를 각각 시도하며, 그 결과로서의 복호화된 데이터 중에서 상기 고정된 문자열을 포함하는 복호화된 데이터를 상기 매체키로서 인식하는 것을 특징으로 하는 재생 장치.
  38. 제 30 항에 있어서,
    상기 획득부는 다른 지역을 식별하는 다른 지역 코드에 기초하여 상기 컨텐츠키를 암호화함으로써 생성된 다른 암호화된 컨텐츠키 정보를 추가로 획득하고,
    상기 복호화부는 상기 제 2 지역 코드에 기초하여 상기 다른 암호화된 컨텐츠키의 복호화를 시도하며, 상기 암호화된 컨텐츠키를 복호화함으로써 생성되는 복호화된 데이터 및 상기 다른 암호화된 컨텐츠키를 복호화함으로써 생성되는 복호화된 데이터 중에서 성공적으로 복호화된 복호화 데이터를 특정하고, 상기 특정한 복호화 데이터를 상기 컨텐츠키로서 인식함으로써 상기 컨텐츠키를 생성하는 것을 특징으로 하는 재생 장치.
  39. 제 38 항에 있어서,
    상기 획득부는 상기 제 2 지역 코드 및 다른 지역 코드에 각각 기초하여 고정된 문자열 및 상기 컨텐츠키를 연결함으로써 획득되는 연결 데이터를 암호화함으로써 생성된 상기 암호화된 컨텐츠키 정보 및 상기 다른 암호화된 컨텐츠키 정보를 획득하고,
    상기 복호화부는 상기 암호화된 컨텐츠키 정보를 복호화함으로써 생성되는 복호화된 데이터 및 상기 고정된 문자열을 포함하는 상기 다른 암호화된 컨텐츠키 정보를 복호화함으로써 생성되는 복호화된 데이터 중 하나로부터 상기 고정된 문자열을 삭제함으로써 상기 컨텐츠키를 생성하는 것을 특징으로 하는 재생 장치.
  40. 제 38 항에 있어서,
    상기 획득부는 상기 제 2 지역 코드 및 상기 지역 코드에 각각 기초하여 고정된 문자열을 포함하는 상기 컨텐츠키를 암호화함으로써 생성된 상기 암호화된 컨텐츠키 정보 및 상기 다른 암호화된 컨텐츠키 정보를 획득하고,
    상기 복호화부는 상기 암호화된 컨텐츠키 정보를 복호화함으로써 생성되는 복호화된 데이터 및 상기 고정된 문자열을 포함하는 상기 다른 암호화된 컨텐츠키 정보를 복호화함으로써 생성되는 복호화된 데이터 중 하나를 상기 컨텐츠키로서 인식하는 것을 특징으로 하는 재생 장치.
  41. 제 29 항에 있어서,
    상기 저장부는 지역을 식별하는 제 2 지역 코드에 대응하는 제 2 비밀 정보를 상기 제 2 지역 정보로서 미리 저장하고,
    상기 획득부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 획득하고, 상기 암호화된 컨텐츠키 정보는 제 1 비밀 정보에 기초하여 컨텐츠키를 암호화함으로써 생성된 것이며, 상기 제 1 비밀 정보는 상기 제 1 지역 정보로서 사용되고 지역을 식별하는 제 1 지역 코드에 대응하며, 상기 암호화된 컨텐츠는 상기 컨텐츠키를 이용하여 컨텐츠를 암호화함으로써 생성된 것이고,
    상기 복호화부는 상기 제 2 비밀 정보에 기초하여 상기 암호화된 컨텐츠키 정보의 복호화를 시도하며, 상기 암호화된 컨텐츠키 정보가 성공적으로 복호화될 때 복호화의 결과로서 컨텐츠키를 생성하고, 상기 컨텐츠키를 이용하여 상기 암호화된 컨텐츠를 복호화하여 컨텐츠를 생성하는 것을 특징으로 하는 재생 장치.
  42. 제 29 항에 있어서,
    상기 저장부는 트리 구조 시스템내의 하나의 리프로부터 루트까지의 경로상의 노드에 대응하는 복수의 디바이스키를 상기 제 2 지역 정보로서 저장하고, 상기 리프는 상기 재생 장치에 대응하며,
    상기 획득부는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되는 암호화된 정보를 획득하고, 상기 암호화된 컨텐츠키 정보는 상기 트리 구조 시스템내의 하나의 노드에 대응하는 디바이스키에 기초하여 컨텐츠키를 암호화함으로써 생성된 것이며, 상기 암호화된 컨텐츠는 상기 컨텐츠키를 이용하여 컨텐츠를 암호화함으로써 생성된 것이고,
    상기 복호화부는 상기 저장되어 있는 디바이스키에 각각 기초하여 상기 암호화된 컨텐츠키 정보의 복호화를 시도하며, 상기 암호화된 컨텐츠가 성공적으로 복호화될 때 복호화의 결과로서 컨텐츠를 생성하고, 상기 생성된 컨텐츠키를 이용하여 상기 암호화된 컨텐츠를 복호화하여 컨텐츠를 생성하는 것을 특징으로 하는 재생 장치.
  43. 제 42 항에 있어서,
    상기 획득부는 상기 암호화된 컨텐츠키 정보 및 상기 암호화된 컨텐츠로 구성되는 상기 암호화된 정보를 획득하고, 상기 암호화된 컨텐츠키 정보는 암호화된 매체키 및 암호화된 컨텐츠키로 구성되며, 상기 암호화된 매체키는 상기 디바이스키를 이용하여 컨텐츠의 제공을 위해 설정된 매체키를 암호화함으로써 생성된 것이고, 상기 암호화된 컨텐츠키는 상기 매체키를 이용하여 상기 컨텐츠키를 암호화함으로써 생성된 것이며,
    상기 복호화부는 상기 디바이스키에 각각 기초하여 상기 암호화된 매체키의 복호화를 시도하고, 상기 암호화된 매체키가 성공적으로 복호화될 때 복호화의 결과로서 매체키를 생성하며, 상기 생성된 매체키를 이용하여 상기 암호화된 컨텐츠를 복호화하여 컨텐츠키를 생성하는 것을 특징으로 하는 재생 장치.
  44. 제 43 항에 있어서,
    상기 트리 구조 시스템은 하나의 트리 구조로 구성되고, 상기 트리 구조내의 각 노드는 하나 이상의 재생 장치에 보유되는 다른 디바이스키에 대응하며, 상기 트리 구조내의 각 리프는 다른 재생 장치 및 상기 재생 장치가 속하는 지역에 대응하고,
    상기 저장부에 저장되어 있는 상기 디바이스키는 상기 트리 구조내의 하나의 리프로부터 루트까지의 경로상의 노드에 대응하며, 상기 리프는 상기 재생 장치에 대응하고,
    상기 획득부는 상기 트리 구조내의 하나의 노드에 대응하는 디바이스키에 기초하여 컨텐츠키를 암호화함으로써 생성된 상기 암호화된 컨텐츠키 정보를 획득하는 것을 특징으로 하는 재생 장치.
  45. 제 43 항에 있어서,
    상기 트리 구조 시스템은 상기 재생 장치가 속하는 지역의 수와 동일하고, 상기 지역에 각각 대응하는 복수의 트리 구조를 포함하고, 각 트리 구조는 복수의 노드를 구비하며, 각 노드는 대응하는 지역내의 하나 이상의 재생 장치에 보유되는 디바이스키 중 다른 하나에 대응하고, 각 리프는 상기 대응하는 지역에 속하는 상기 재생 장치 중 다른 하나에 대응하며,
    상기 저장부에 저장되어 있는 상기 디바이스키는 상기 재생 장치가 속하는 지역에 대응하는 상기 트리 구조내의 하나의 리프로부터 루트까지의 경로상의 노드에 대응하며, 상기 리프는 상기 재생 장치에 대응하고,
    상기 획득부는 상기 트리 구조내의 하나의 노드에 대응하는 디바이스키에 기초하여 컨텐츠키를 암호화함으로써 생성된 상기 암호화된 컨텐츠키 정보를 획득하는 것을 특징으로 하는 재생 장치.
  46. 제 29 항에 있어서,
    상기 저장부는 상기 지역을 식별하는 제 2 지역 코드를 상기 제 2 지역 정보로서 미리 저장하고,
    상기 획득부는 상기 암호화된 정보와 함께, 상기 지역을 식별하는 제 3 지역 코드를 추가로 획득하며,
    상기 복호화부는 상기 암호화된 정보를 복호화하기 전에 상기 제 2 지역 코드 및 상기 제 3 지역 코드를 비교하고, 상기 제 2 및 제 3 지역 코드가 일치하지 않을 때 상기 암호화된 정보의 복호화를 중단하며, 상기 제 2 및 제 3 지역 코드가 일치할 때 상기 암호화된 정보의 복호화를 시도하는 것을 특징으로 하는 재생 장치.
  47. 제 29 항에 있어서,
    상기 복호화부는 휴대용 IC 카드로 구성되는 것을 특징으로 하는 재생 장치.
  48. 지역을 나타내는 지역 정보에 기초하여 컨텐츠를 암호화함으로써 생성된 암호화된 정보를 저장하는 것을 특징으로 하는 컴퓨터 판독 가능 기록 매체.
  49. 제 48 항에 있어서,
    상기 암호화된 정보는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되고, 상기 암호화된 컨텐츠키 정보는 지역 코드에 기초하여 컨텐츠키를 암호화함으로써 생성된 것이며, 상기 지역 코드는 지역을 식별하고 상기 지역 정보로서 사용되며, 상기 암호화된 컨텐츠는 상기 컨텐츠키를 이용하여 상기 컨텐츠를 암호화함으로써 생성된 것을 특징으로 하는 컴퓨터 판독 가능 기록 매체.
  50. 제 48 항에 있어서,
    상기 암호화된 정보는 암호화된 컨텐츠키 정보 및 암호화된 컨텐츠로 구성되고, 상기 암호화된 컨텐츠키 정보는 디바이스키에 기초하여 컨텐츠키를 암호화함으로써 생성된 것이며, 상기 디바이스키는 상기 지역 정보로서 사용되며, 상기 암호화된 컨텐츠는 상기 컨텐츠키를 이용하여 상기 컨텐츠를 암호화함으로써 생성된 것이고,
    상기 지역 정보로서 선택된 상기 디바이스키는 지역에 속하는 재생 장치에만 보유되고 다른 지역에 속하는 재생 장치에 보유되지 않는 디바이스키 중에서 선택되며,
    상기 트리 구조 시스템은 상기 지역의 수와 동일하고, 상기 지역에 각각 대응하는 복수의 트리 구조를 포함하고, 각 트리 구조는 복수의 노드를 구비하며, 각 노드는 대응하는 지역내의 하나 이상의 재생 장치에 보유되는 디바이스키 중 다른 하나에 대응하고, 각 리프는 상기 대응하는 지역에 속하는 상기 재생 장치 중 다른 하나에 대응하는 것을 특징으로 하는 컴퓨터 판독 가능 기록 매체.
  51. 재생이 지역에 따라 한정되는 컨텐츠를 공급하는 공급 장치에서 사용하는 공급 방법으로서,
    지역을 나타내는 지역 정보에 기초하여 컨텐츠를 암호화하여 암호화된 정보를 생성하는 생성 단계와,
    상기 생성한 암호화된 정보를 공급하는 공급 단계를 포함하는 것을 특징으로 하는 공급 방법.
  52. 컨텐츠의 재생이 지역에 따라 한정되는 컨텐츠를 공급하는 공급 장치에서 사용하는 공급 프로그램으로서,
    지역을 나타내는 지역 정보에 기초하여 컨텐츠를 암호화하여 암호화된 정보를 생성하는 생성 단계와,
    상기 생성한 암호화된 정보를 공급하는 공급 단계를 포함하는 것을 특징으로 하는 공급 프로그램.
  53. 제 52 항에 있어서,
    컴퓨터 판독 가능 기록 매체에 기록되는 것을 특징으로 하는 공급 프로그램.
  54. 지역에 따라 컨텐츠의 재생을 한정하고, 지역을 나타내는 제 2 지역 정보를 미리 저장하는 저장부를 포함하는 재생 장치에 사용하는 재생 방법으로서,
    지역을 나타내는 제 1 지역 정보에 기초하여 컨텐츠를 암호화함으로써 생성되는 암호화된 정보를 획득하는 획득 단계와,
    상기 제 2 지역 정보에 기초하여 상기 획득한 암호화된 정보의 복호화를 시도하고, 상기 암호화된 정보가 성공적으로 복호화될 때 복호화의 결과로서 컨텐츠의 생성을 시도하는 복호화 단계와,
    상기 생성된 컨텐츠를 재생하는 재생 단계를 포함하는 것을 특징으로 하는 재생 방법.
  55. 지역에 따라 컨텐츠의 재생을 한정하고, 지역을 나타내는 제 2 지역 정보를 미리 저장하는 저장부를 포함하는 재생 장치에 사용하는 재생 프로그램으로서,
    지역을 나타내는 제 1 지역 정보에 기초하여 컨텐츠를 암호화함으로써 생성되는 암호화된 정보를 획득하는 획득 단계와,
    상기 제 2 지역 정보에 기초하여 상기 획득한 암호화된 정보의 복호화를 시도하고, 상기 암호화된 정보가 성공적으로 복호화될 때 복호화의 결과로서 컨텐츠의 생성을 시도하는 복호화 단계와,
    상기 생성된 컨텐츠를 재생하는 재생 단계를 포함하는 것을 특징으로 하는 재생 프로그램.
  56. 제 55 항에 있어서,
    컴퓨터 판독 가능 기록 매체에 기록되는 것을 특징으로 하는 재생 프로그램.
KR1020047014578A 2002-09-03 2003-08-28 지역 한정 재생 시스템 KR20050034639A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00258017 2002-09-03
JP2002258017 2002-09-03

Publications (1)

Publication Number Publication Date
KR20050034639A true KR20050034639A (ko) 2005-04-14

Family

ID=31973009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047014578A KR20050034639A (ko) 2002-09-03 2003-08-28 지역 한정 재생 시스템

Country Status (6)

Country Link
US (1) US20040076404A1 (ko)
EP (1) EP1459317A2 (ko)
KR (1) KR20050034639A (ko)
CN (1) CN1653538A (ko)
AU (1) AU2003260951A1 (ko)
WO (1) WO2004023474A2 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8574074B2 (en) 2005-09-30 2013-11-05 Sony Computer Entertainment America Llc Advertising impression determination
WO2007130681A2 (en) 2006-05-05 2007-11-15 Sony Computer Entertainment America Inc. Advertisement rotation
US8751310B2 (en) 2005-09-30 2014-06-10 Sony Computer Entertainment America Llc Monitoring advertisement impressions
JP3965126B2 (ja) * 2002-03-20 2007-08-29 松下電器産業株式会社 コンテンツを再生する再生装置
US20060248595A1 (en) * 2003-08-08 2006-11-02 Koninklijke Philips Electronics N.V. Reproducing encrypted content using region keys
EP1668905A1 (en) * 2003-09-22 2006-06-14 Koninklijke Philips Electronics N.V. Method and device for digital broadcasting
US20050125254A1 (en) * 2003-12-03 2005-06-09 Roy Schoenberg Key maintenance method and system
JP4583069B2 (ja) * 2004-05-18 2010-11-17 パイオニア株式会社 鍵管理システム、及び再生装置
US8763157B2 (en) 2004-08-23 2014-06-24 Sony Computer Entertainment America Llc Statutory license restricted digital media playback on portable devices
WO2006041179A1 (ja) * 2004-10-15 2006-04-20 Vodafone K.K. 連係動作方法及び通信端末装置
JP2006173820A (ja) * 2004-12-14 2006-06-29 Yokogawa Electric Corp 配信データの暗号化および復号化方法ならびに監視システム
US20080049934A1 (en) * 2004-12-14 2008-02-28 Senichi Onoda Management Server Device, Content Repoduction Device, and Recording Medium
US20070118425A1 (en) 2005-10-25 2007-05-24 Podbridge, Inc. User device agent for asynchronous advertising in time and space shifted media network
US10657538B2 (en) 2005-10-25 2020-05-19 Sony Interactive Entertainment LLC Resolution of advertising rules
US11004089B2 (en) 2005-10-25 2021-05-11 Sony Interactive Entertainment LLC Associating media content files with advertisements
US8676900B2 (en) 2005-10-25 2014-03-18 Sony Computer Entertainment America Llc Asynchronous advertising placement based on metadata
EP1953671A4 (en) * 2005-10-31 2010-12-29 Panasonic Corp CONTENT DATA STRUCTURE AND MEMORY CARD
JP4264551B2 (ja) * 2005-12-08 2009-05-20 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
US8832466B1 (en) 2006-01-27 2014-09-09 Trustwave Holdings, Inc. Methods for augmentation and interpretation of data objects
US8929553B2 (en) 2006-03-31 2015-01-06 International Business Machines Corporation Using identifier tags and authenticity certificates for detecting counterfeited or stolen brand objects
US8769558B2 (en) 2008-02-12 2014-07-01 Sony Computer Entertainment America Llc Discovery and analytics for episodic downloaded media
US8763090B2 (en) 2009-08-11 2014-06-24 Sony Computer Entertainment America Llc Management of ancillary content delivery and presentation
WO2011111370A1 (ja) * 2010-03-11 2011-09-15 パナソニック株式会社 記録システム、再生システム、鍵配信サーバ、記録装置、記録媒体装置、再生装置、記録方法、及び、再生方法
US10074013B2 (en) 2014-07-23 2018-09-11 Gopro, Inc. Scene and activity identification in video summary generation
US9685194B2 (en) 2014-07-23 2017-06-20 Gopro, Inc. Voice-based video tagging
US9734870B2 (en) * 2015-01-05 2017-08-15 Gopro, Inc. Media identifier generation for camera-captured media

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW412734B (en) * 1996-12-26 2000-11-21 Toshiba Corp Storage medium for recording data, regeneration device for regenerating data recorded in the storage medium, and regeneration system for regenerating data recorded in the storage medium via network
US6397329B1 (en) * 1997-11-21 2002-05-28 Telcordia Technologies, Inc. Method for efficiently revoking digital identities
JP2001358707A (ja) * 2000-06-15 2001-12-26 Sony Corp 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP2002108710A (ja) * 2000-07-24 2002-04-12 Sony Corp 情報処理システム、情報処理方法、および情報処理装置、並びにプログラム提供媒体
US7120254B2 (en) * 2000-10-30 2006-10-10 Geocodex Llc Cryptographic system and method for geolocking and securing digital information
US7188085B2 (en) * 2001-07-20 2007-03-06 International Business Machines Corporation Method and system for delivering encrypted content with associated geographical-based advertisements
US20040009815A1 (en) * 2002-06-26 2004-01-15 Zotto Banjamin O. Managing access to content

Also Published As

Publication number Publication date
EP1459317A2 (en) 2004-09-22
AU2003260951A1 (en) 2004-03-29
AU2003260951A8 (en) 2004-03-29
US20040076404A1 (en) 2004-04-22
WO2004023474A2 (en) 2004-03-18
WO2004023474A3 (en) 2004-07-08
CN1653538A (zh) 2005-08-10

Similar Documents

Publication Publication Date Title
KR20050034639A (ko) 지역 한정 재생 시스템
JP4870727B2 (ja) 暗号化を施すことによりデータを保護するデータ保護システム
US7272229B2 (en) Digital work protection system, key management apparatus, and user apparatus
US7346170B2 (en) Information processing system and method
US7738662B2 (en) Information processing system and method
US7283633B2 (en) Information recording and/or reproducing method and information recording and/or reproducing device
US20030081786A1 (en) Key management apparatus
KR20050094429A (ko) 콘텐츠 배포시스템, 콘텐츠 기록장치 및 기록방법, 콘텐츠재생장치 및 재생방법, 및 컴퓨터 프로그램
JPH10106148A (ja) 暗号化方法、復号方法、記録再生装置、復号装置、復号化ユニット装置、記録媒体、記録媒体の製造方法および鍵の管理方法
JP4543927B2 (ja) 記録システムおよび方法、記録装置および方法、入力装置および方法、出力装置および方法、再生システムおよび方法、再生装置および方法、記録媒体、並びにプログラム
JP2010522950A (ja) コンテンツデータを提供する装置および方法
JP2008545316A (ja) キーブロック型認証のためのシステム及び方法
CN100401411C (zh) 信息记录/再现处理设备和方法,记录介质和计算机程序
JP4199472B2 (ja) 暗号化を施すことによりデータを保護するデータ保護システム
KR20060133958A (ko) 콘텐츠 보호 방법 및 시스템
JP4220213B2 (ja) 著作物保護システム、鍵管理装置及び利用者装置
KR101148497B1 (ko) 저작권 보호 시스템
JP2004118830A (ja) 地域限定再生システム
JP2003204321A (ja) 著作物保護システム及び鍵管理装置
US7925893B2 (en) Copyright protection system, modular exponentiation operation apparatus, and modular exponentiation operation method
JP3792236B2 (ja) 記録媒体、情報再生装置および情報再生方法
JP4383084B2 (ja) 公開鍵証明書の無効化リスト生成装置、無効判定装置及び認証システム
JP4170304B2 (ja) 暗号化を施すことによりデータを保護するデータ保護システム
JP2007207410A (ja) 記録媒体、記録媒体の初期化方法並びに記録媒体上での暗号化方法及び暗号化装置並びに復号化装置並びに音響・映像・データ装置
JP2006179172A (ja) 記録媒体、情報再生装置および情報再生方法

Legal Events

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