KR100763693B1 - 정보 처리 장치 및 처리 방법 - Google Patents

정보 처리 장치 및 처리 방법 Download PDF

Info

Publication number
KR100763693B1
KR100763693B1 KR1020027002190A KR20027002190A KR100763693B1 KR 100763693 B1 KR100763693 B1 KR 100763693B1 KR 1020027002190 A KR1020027002190 A KR 1020027002190A KR 20027002190 A KR20027002190 A KR 20027002190A KR 100763693 B1 KR100763693 B1 KR 100763693B1
Authority
KR
South Korea
Prior art keywords
key
information processing
decryption
node
leaf
Prior art date
Application number
KR1020027002190A
Other languages
English (en)
Other versions
KR20020041805A (ko
Inventor
도모유끼 아사노
요시또모 오사와
류지 이시구로
아쯔시 미쯔자와
다떼오 오이시
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20020041805A publication Critical patent/KR20020041805A/ko
Application granted granted Critical
Publication of KR100763693B1 publication Critical patent/KR100763693B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • G11B20/00115Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers wherein the record carrier stores a unique medium identifier
    • 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
    • G11B20/00195Circuits 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 using a device identifier associated with the player or recorder, e.g. serial numbers of playback apparatuses or MAC addresses
    • 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/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/00492Circuits 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 content or user data is encrypted
    • G11B20/00507Circuits 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 content or user data is encrypted wherein consecutive physical data units of the record carrier are encrypted with separate encryption keys, e.g. the key changes on a cluster or sector basis
    • 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/00492Circuits 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 content or user data is encrypted
    • G11B20/00528Circuits 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 content or user data is encrypted wherein each title is encrypted with a separate encryption key for each title, e.g. title key for movie, song or data file
    • 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/00855Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • H04L63/064Hierarchical key distribution, e.g. by multi-tier trusted parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Abstract

본 발명은 트리-구조 키 분포 구성을 포함한 KRB 분포에 의해 키 분포를 실행하기 위한 정보 기록/재생 장치에 관한 것이다. 상기 장치는 키-구조 키 분포 구성을 이용하여 키 갱신 블럭(KRB)과 함께 마스터 키, 미디어 키, 또는 콘텐츠 키와 같은 키를 전송한다. 수신 KRB에 기초된 특정 기록 매체의 키를 계산하고 얻은 후, 기록/재생 장치는 암호화 키를 사용하여 얻어진 키를 상기 장치에 특정한 키, 예를 들어 리프 키로 암호화하고, 장치의 기록 매체 또는 메모리에 저장한다. 따라서, 기록/재생 장치는 다음에 기록 매체 또는 콘텐츠를 사용하는 때에 단순히 암호화 키를 디코딩함으로써 키를 계산할 수 있고, 상기 장치가 기록 매체를 액세스하거나 콘텐츠를 사용할 때 요구되는 KRB 디코딩과 같은 계산상의 복잡함을 감소할 수 할 수 있어서, KRB 수신 측에서 효과적인 처리를 할 수 있다.
기록 매체, 프로그램, 키 갱신 블록, 리프 키, 노드 키, 미디어 키, 디바이스 키, 버전, 콘텐츠

Description

정보 처리 장치 및 처리 방법{INFORMATION PROCESSING DEVICE AND PROCESSING METHOD}
본 발명은 정보 처리 장치 및 처리 방법, 정보 기록 매체, 및 컴퓨터 프로그램에 관한 것으로, 특히, 트리(나무) 구조의 계층적 키 배신 방식을 이용하여 콘텐츠 데이터의 기록 혹은 재생에 필요한 키, 예를 들면, 마스터 키, 미디어 키 혹은 콘텐츠 키 등을 배신(配信) 혹은 취득하고, 이것을 이용하여 각 장치가 콘텐츠 데이터의 기록 또는 재생을 행하는 구성으로 한 정보 처리 장치 및 처리 방법, 정보 기록 매체와 컴퓨터 프로그램에 관한 것이다.
디지털 신호 처리 기술의 진보, 발전에 따라 최근에는, 정보를 디지털적으로 기록하는 기록 장치나 기록 매체가 보급되어 가는 추세이다. 이러한 디지털 기록 장치 및 기록 매체에 따르면, 예를 들면 화상이나 음성을 열화시키지 않고 기록, 재생을 반복하는 것이 가능하다. 이와 같이 디지털 데이터는 화질이나 음질을 유지한 상태 그대로 몇 번이나 복사를 반복하여 실행할 수 있기 때문에, 복사가 위법으로 행해진 기록 매체가 시장에 유통되면, 음악, 영화 등 각종 콘텐츠의 저작권자, 혹은 정당한 판매권자 등의 이익에 해를 입힐 수 있다. 최근에는, 이러한 디지털 데이터의 부정한 복사를 방지하기 위해, 디지털 기록 장치 및 기록 매체에 위 법인 복사를 방지하기 위한 다양한 시스템이 도입되어 있다.
예를 들면, MD(미니 디스크: MD는 상표) 장치에서, 위법인 복사를 방지하는 방법으로서, SCMS(Serial Copy Management System)가 채용되어 있다. SCMS는 데이터 재생측에서, 오디오 데이터와 함께 SCMS 신호를 디지털 인터페이스(DIF)로부터 출력하고, 데이터 기록측에서, 재생측으로부터의 SCMS 신호에 기초하여 재생측으로부터의 오디오 데이터의 기록을 제어함으로써 위법인 복사를 방지하는 시스템이다.
구체적으로는 SCMS 신호는, 오디오 데이터가 몇 번이라도 복사가 허용되는 무제한 복사(copy free)의 데이터인지, 1번만 복사가 허용되어 있는(copy once allowed) 데이터인지, 또는 복사가 금지되어 있는(copy prohibited) 데이터인지를 나타내는 신호이다. 데이터 기록측에서, DIF로부터 오디오 데이터를 수신하면,그 오디오 데이터와 함께 송신되는 SCMS 신호를 검출한다. 그리고, SCMS 신호가 무제한 복사(copy free)로 되어 있는 경우에는, 오디오 데이터를 SCMS 신호와 함께 미니 디스크에 기록한다. 또한, SCMS 신호가 복사를 1번만 허가(copy once allowed)로 되어 있는 경우에는, SCMS 신호를 복사 금지(copy prohibited)로 변경하여, 오디오 데이터와 함께 미니 디스크에 기록한다. 또한, SCMS 신호가 복사 금지(copy prohibited)로 되어 있는 경우에는, 오디오 데이터의 기록을 행하지 않는다. 이러한 SCMS를 사용한 제어를 행함으로써, 미니 디스크 장치에서는, SCMS에 의해 저작권을 갖는 오디오 데이터가 위법으로 복사되는 것을 방지하도록 되어 있다.
SCMS는, 상술된 바와 같이 SCMS 신호에 기초하여 재생측으로부터의 오디오 데이터의 기록을 제어하는 구성을 데이터를 기록하는 기기 자체가 갖고 있는 것이 전제이기 때문에, SCMS의 제어를 실행하는 구성을 갖지 않는 미니 디스크 장치가 제조된 경우에는, 대처하는 것이 곤란해진다. 그래서, 예를 들면, DVD 플레이어에서는 콘텐츠 스크램블 시스템을 채용함으로써, 저작권을 갖는 데이터의 위법 복사를 방지하는 구성으로 되어 있다.
콘텐츠 스크램블 시스템에서는, DVD-ROM(Read Only Memory)에 비디오 데이터나 오디오 데이터 등이 암호화되어 기록되어 있으며, 그 암호화된 데이터를 복호하는 데 이용하는 키(복호 키)가, 라이센스를 받은 DVD 플레이어에게 제공된다. 라이센스는 부정 복사를 행하지 않는 등의 소정의 동작 규정에 따르도록 설계된 DVD 플레이어에 대하여 제공된다. 따라서, 라이센스를 받은 DVD 플레이어에서는, 제공된 키를 이용하여 DVD-ROM에 기록된 암호화 데이터를 복호함으로써 DVD-ROM으로부터 화상이나 음성을 재생할 수 있다.
한편, 라이센스를 받고 있지 않은 DVD 플레이어는, 암호화된 데이터를 복호하기 위한 키를 갖고 있지 않기 때문에, DVD-ROM에 기록된 암호화 데이터의 복호를 행할 수 없다. 이와 같이, 콘텐츠 스크램블 시스템 구성에서는, 라이센스 시에 요구되는 조건을 충족시키고 있지 않은 DVD 플레이어는, 디지털 데이터를 기록한 DVD-ROM의 재생을 행할 수 없게 되어, 부정 복사가 방지되도록 되어 있다.
그러나, DVD-ROM에서 채용되어 있는 콘텐츠 스크램블 시스템은, 사용자에 의한 데이터의 기입이 불가능한 기록 매체(이하, ROM 미디어라고 함)를 대상으로 하고 있으며, 사용자에 의한 데이터의 기입이 가능한 기록 매체(이하, RAM 미디어라고 함)에의 적용에 대해서는 고려되어 있지 않다.
즉, ROM 미디어에 기록된 데이터가 암호화되어 있더라도, 그 암호화된 데이터를, 그대로 전부 RAM 미디어에 복사한 경우에는, 라이센스를 받은 정당한 장치에서 재생 가능한, 소위 해적판을 작성할 수 있게 된다.
그래서, 본 출원인은, 선특허 출원, 특개평11-224461호 공보(특원평10-25310호)에서, 개개의 기록 매체를 식별하기 위한 정보(이하, 매체 식별 정보라 기술함)를, 다른 데이터와 함께 기록 매체에 기록하고, 정당한 라이센스를 받고 있는 장치만 기록 매체의 매체 식별 정보에의 액세스가 가능해지는 구성을 제안하였다.
이 방법에서는, 기록 매체 상의 데이터는 매체 식별 정보와 라이센스를 받게 됨으로써 얻어지는 비밀 키(마스터 키)에 의해 암호화되고, 라이센스를 받고 있지 않은 장치가, 이 암호화된 데이터를 판독하였다고 해도, 의미가 있는 데이터를 얻는 것이 불가능하게 되어 있다. 또, 장치는 라이센스를 받을 때, 부정한 복제(위법 복사)를 할 수 없도록 그 동작이 규정된다.
라이센스를 받고 있지 않은 장치는, 매체 식별 정보에 액세스할 수 없으며, 또한, 매체 식별 정보는 개개의 매체마다 개별적인 값으로 되어 있기 때문에, 라이센스를 받고 있지 않은 장치가 기록 매체에 기록되어 있는, 암호화된 데이터의 전부를 새로운 기록 매체에 복제하였다고 해도, 그러한 방법으로 작성된 기록 매체에 기록된 데이터는, 라이센스를 받고 있지 않은 장치는 물론, 라이센스를 받은 장치에서도 정확하게 복호할 수 없기 때문에, 실질적으로 위법 복사가 방지되게 된다.
그런데, 상기한 구성에서는, 라이센스를 받은 장치에서 저장되는 마스터 키는 전체 기기에서 공통적인 것이 일반적이다. 이와 같이 복수의 기기에 대하여 공 통의 마스터 키를 저장하는 것은, 하나의 기기로 기록된 매체를 다른 기기로 재생가능하게 하기 (상호 운용성을 확보하기) 위해 필요한 조건이기 때문이다.
이러한 방식에서는, 공격자가 하나의 기기의 공격에 성공하고, 마스터 키를 추출한 경우, 전체 시스템에서 암호화되어 기록되어 있는 데이터를 복호할 수 있게 되어, 시스템 전체가 붕괴된다. 이것을 방지하기 위해서는, 어떠한 기기가 공격되어 마스터 키가 노출한 것이 발각된 경우, 마스터 키를 새로운 것으로 갱신하고, 공격에 굴복한 기기 이외의 전체 기기에 새롭게 갱신된 마스터 키를 제공하는 것이필요하게 된다. 이 구성을 실현하는 가장 단순한 방식으로서는, 개개의 기기에 고유의 키(디바이스 키)를 제공해 놓고, 새로운 마스터 키를 개개의 디바이스 키로 암호화한 값을 준비하고, 기록 매체를 통해 기기로 전송하는 방식이 고려되지만, 기기의 대수에 비례하여 전송하여야 할 전체 메시지량이 증가한다고 하는 문제가 있다.
상기 문제를 해결하는 구성으로서, 본 출원인은 각 정보 기록 재생 장치를 n분개의 트리의 각 리프(leaf)에 배치한 구성의 키 배신 방법을 이용하여, 기록 매체 혹은 통신 회선을 통해 콘텐츠 데이터의 기록 매체로의 기록 혹은 기록 매체로부터의 재생에 필요한 키(마스터 키 혹은 미디어 키)를 배신하고, 이것을 이용하여 각 장치가 콘텐츠 데이터의 기록, 재생을 행하도록 함으로써, 정당한 (비밀이 노출되지 않은) 장치에 대하여 적은 메시지량으로 마스터 키 혹은 미디어 키를 전송할 수 있는 구성을 먼저 제안하여, 이미 특허 출원(특원평2000-105328)하고 있다. 구체적으로는, 기록 매체에의 기록 혹은 기록 매체로부터의 재생에 필요한 키를 생성 하기 위해 필요한 키, 예를 들면 n분개의 트리의 각 리프를 구성하는 노드에 할당된 노드 키를 갱신 노드 키로서 설정하고, 갱신 노드 키를 정당한 기기만이 갖는 리프 키, 노드 키로 복호 가능한 양태로 암호화 처리한 정보를 포함하는 키 갱신 블록(KRB: Key Renewal Block)을 각 정보 기록 재생 장치에 배신하고, 키 갱신 블록(KRB)을 수신한 각 정보 기록 재생 장치의 KRB 복호 처리에 의해, 각 장치가 기록 혹은 기록 매체로부터의 재생에 필요한 키를 취득 가능하게 한 구성이다.
상술한 바와 같은 정보 기록 재생 장치를 n분개의 트리의 각 리프에 배치한 구성의 키 배신 방법을 이용한 경우, 예를 들면 기록 매체마다 할당되는 미디어 키를 키 갱신 블록(KRB)으로 암호화하여 배신한 경우, 각 정보 기록 재생 장치는 각 기록 매체에 액세스할 때마다, 즉, 기록 매체가 기록 재생 장치에 장착될 때마다, 키 갱신 블록(KRB) 및 디바이스 키를 이용한 미디어 키의 계산을 행하지 않으면 안된다. 이 계산은, 개개의 암호문의 복호에 요하는 시간과, 미디어 키를 암호화하는 노드 키로부터 기록 재생 장치가 존재하는 리프까지의 트리의 깊이의 곱에 비례하기 때문에, 장치 수가 많아 큰 기록 시스템에서는 이 처리의 오버헤드가 커진다고 하는 문제가 있다.
또한, 본 출원인은, 각 정보 기록 재생 장치를 n분개의 트리의 각 리프에 배치한 구성의 키 배신 방법을 이용하여, 기록 매체 혹은 통신 회선을 통해 콘테츠 데이터의 기록 매체에의 기록 혹은 기록 매체로부터의 재생에 필요한 암호 키로서의 콘텐츠 키를 제공하는 구성을 먼저 제안하여, 이미 특허 출원(특원2000-105329)하고 있다. 이것은, 예를 들면 통신 회선을 통해 콘텐츠 데이터와, 콘텐츠 데이터 를 암호화하고 있는 콘텐츠 키를 함께 송부하는 것으로, 콘텐츠 키는 암호화 데이터로서 송부하는 구성이다.
암호화 콘텐츠 키의 제공은, 예를 들면 n분개의 트리의 각 리프를 구성하는 노드에 할당한 노드 키를 갱신 노드 키로서 설정하고, 갱신 노드 키를 정당한 기기만이 갖는 리프 키, 노드 키로 복호 가능한 양태로 암호화 처리한 키 갱신 블록(KRB)을 이용하여 행해지며, 갱신 노드 키로 콘텐츠 키를 암호화하여 제공함으로써 정당한 기록 재생 장치만이 콘텐츠 키를 취득 가능하게 하고 있다.
상술한 바와 같은 정보 기록 재생 장치를 n분개의 트리의 각 리프에 배치한 구성의 키 배신 방법을 이용하여 암호화 콘텐츠 키를 제공하는 경우, 각 정보 기록 재생 장치는 콘텐츠를 이용할 때마다, 예를 들면, 기록 매체로부터 콘텐츠를 재생할 때마다, KRB을 디바이스 키(리프 키)를 이용하여 처리하고, 콘텐츠 키의 계산을 행하지 않으면 안 된다.
이 계산은, 개개의 암호문의 복호에 요하는 시간과, 콘텐츠 키를 암호화하는 노드 키로부터 데이터 처리 장치가 존재하는 리프까지의 트리의 깊이의 곱에 비례하기 때문에, 장치 수가 많아 큰 시스템에서는 이 처리의 오버헤드가 커진다고 하는 문제가 있다.
〈발명의 개시〉
본 발명은, 상술의 문제를 해결하는 것으로, 정보 기록 재생 장치를 n분개의 트리의 각 리프에 배치한 구성의 키 배신 방법을 이용한 구성에서, 키 갱신 블록(KRB)에 기초한 암호화 키 또는 복호 키의 산출 처리를 생략하고, 단시간에 필 요한 암호화 키 또는 복호 키를 취득 가능하게 한 구성을 제공하는 것을 목적으로 한다. 구체적으로는, 예를 들면 임의의 기록 재생 장치가 임의의 기록 매체의 미디어 키를 계산에 의해 취득한 후에, 그 취득한 미디어 키를, 그 기록 재생 장치에 고유의 암호 키를 이용하여 암호화하여 저장해 놓고, 다음에 그 기록 매체를 사용할 때, 그 암호문을 1회 복호하는 것만으로 미디어 키를 계산할 수 있는 구성으로서, 단시간에 필요한 암호화 키 또는 복호 키를 취득 가능하게 한 정보 처리 장치, 정보 처리 방법, 및 정보 기록 매체와 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.
또한, 본 발명은, 정보 기록 재생 장치를 n분개의 트리의 각 리프에 배치한 구성의 키 배신 방법을 이용한 콘텐츠 키의 제공 구성에 있어서, 키 갱신 블록(KRB)에 기초한 암호화 키 또는 복호 키의 산출 처리를 생략하여, 단시간에서 필요한 암호화 키 또는 복호 키로서의 콘텐츠 키를 취득 가능하게 한 구성을 제공하는 것을 목적으로 한다. 구체적으로는, 예를 들면 임의의 기록 재생 장치가 임의의 기록 매체에 저장된 콘텐츠의 콘텐츠 키를 계산에 의해 취득한 후에, 그 취득한 콘텐츠 키를, 그 기록 재생 장치에 고유의 암호 키를 이용하여 암호화하여 저장해 놓고, 다음에 그 콘텐츠를 재생할 때, 그 암호문을 1회 복호하는 것만으로 콘텐츠 키를 계산할 수 있는 구성으로서, 단시간에 필요한 암호화 키 또는 복호 키로서의 콘텐츠 키를 취득 가능하게 한 정보 처리 장치, 정보 처리 방법, 및 정보 기록 매체와 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.
본 발명은, 암호화된 데이터를 처리하는 정보 처리 장치로서, 이 장치는, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 장치 고유의 리프 키를 보유하는 기억 수단과, 암호화 처리를 실행하는 암호 처리 수단을 포함하며, 상기 암호 처리 수단은, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고, 그 판별 결과에 따라, 상기 기억 수단에 보유한 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행함과 함께, 상기 산출한 복호용 키에 대하여, 정보 처리 장치 고유의 키를 이용한 암호화 처리를 행하고, 암호화된 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장한다.
또한, 본 발명에 따른 암호화된 데이터를 처리하는 정보 처리 장치는, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 장치 고유의 리프 키를 보유하는 기억 수단과, 암호화 처리를 실행하는 암호 처리 수단을 포함하고, 상기 암호 처리 수단은, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고, 그 판별 결과에 따라, 상기 기억 수단에 보유한 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행함과 함께, 상기 산출한 복호용 키를, 상기 복호용 키의 갱신 정보로서의 세대 번호와 대응하여 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장한다.
또한, 본 발명에 따른 암호화된 데이터를 처리하는 정보 처리 장치는, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 장치 고유의 리프 키를 보유하는 기억 수단과, 암호화 처리를 실행하는 암호 처리 수단을 포함하고, 상기 암호 처리 수단은, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고, 그 판별 결과에 따라, 상기 기억 수단에 보유한 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행함과 함께, 상기 산출한 복호용 키를, 상기 복호용 키를 이용하여 복호되는 상기 데이터를 식별하기 위한 식별 정보와 대응하여 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장한다.
또한, 본 발명에 따른 암호화된 데이터를 처리하는 정보 처리 장치는, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 장치 고유의 리프 키를 보유하는 기억 수단과, 복호 처리를 실행하는 복호 처리 수단을 포함하며, 복호 처리 수단은 기록 매체 또는 정보 처리 장치 내의 기억 영역에 저장된 테이블을 판독하여, 암호화된 데이터의 복호 처리에 이용되는 복호용 키가 저장되어 있는지의 여부를 검색하여 복호용 키가 검출된 경우에는, 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 암호화된 복호용 키의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출하고, 복호용 키가 검출되지 않는 경우에는, 상기 기억 수단에 보유한 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출함과 함께, 상기 산출한 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 상기 테이블에 저장한다.
본 발명은, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의, 리프 키를 보유하고, 암호화된 데이터를 처리하는 정보 처리 장치에서 처리되는 정보 처리 방법으로서, 이 방법은 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고, 그 판별 결과에 따라, 정보 처리 장치에 보유되어 있는 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하며, 이 산출된 복호용 키에 대하여 정보 처리 장치 고유의 키를 이용한 암호화 처리를 행하고, 암호화된 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장한다.
또한, 본 발명은, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하고, 암호화된 데이터를 처리하는 정보 처리 장치에서 처리되는 정보 처리 방법으로서, 이 방법은, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고, 그 판별 결과에 따라, 정보 처리 장치에 보유되어 있는 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하며, 이 산출된 복호용 키를, 복호용 키의 갱신 정보로서의 세대 번호와 대응하여 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장한다.
또한, 본 발명은, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하고, 암호화된 데이터를 처리하는 정보 처리 장치에서 처리되는 정보 처리 방법으로서, 이 방법은 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고, 그 판별 결과에 따라, 정보 처리 장치에 보유되어 있는 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하고, 이 산출된 복호용 키를, 복호용 키를 이용하여 복호되는 데이터를 식별하기 위한 식별 정보와 대응하여 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장한다.
또한, 본 발명은, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하고, 암호화된 데이터를 처리하는 정보 처리 장치에서 처리되는 정보 처리 방법으로서, 이 방법은, 기록 매체 또는 정보 처리 장치 내의 기억 영역에 저장된 테이블을 판독하여, 암호화된 데이터의 복호 처리에 이용되는 복호용 키가 저장되어 있는지의 여부를 검색하고, 복호용 키가 검출된 경우에는, 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 암호화된 복호용 키의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출하고, 복호용 키가 검출되지 않은 경우에는, 정보 처리 장치에 보유되어 있는 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때에 이용되는 복호용 키를 산출함과 함께, 상기 산출한 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 상기 테이블에 저장한다.
본 발명은, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하는 정보 처리 장치에서 실행되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체로서, 이 프로그램은, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하는 단계와, 그 판별 결과에 따라, 정보 처리 장치에 보유되어 있는 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하는 단계와, 산출한 복호용 키에 대하여 정보 처리 장치 고유의 키를 이용한 암호화 처리를 행하는 단계와, 암호화된 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 단계를 포함한다.
또한, 본 발명은, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하는 정보 처리 장치에서 실행되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체로서, 이 프로그램은, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하는 단계와, 그 판별 결과에 따라, 정보 처리 장치에 보유되어 있는 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하는 단계와, 산출된 복호용 키를, 복호용 키의 갱신 정보로서의 세대 번호와 대응하여 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 단계를 포함한다.
또한, 본 발명은, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하는 정보 처리 장치에서 실행되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체로서, 이 프로그램은, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하는 단계와, 그 판별 결과에 따라, 정보 처리 장치에 보유되어 있는 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하는 단계와, 산출한 복호용 키를, 복호용 키를 이용하여 복호되는 데이터를 식별하기 위한 식별 정보와 대응하여 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 단계를 포함한다.
또한, 본 발명은, 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하고, 암호화된 데이터를 처리하는 정보 처리 장치에서 실행되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체로서, 이 프로그램은, 기록 매체 또는 정보 처리 장치 내의 기억 영역에 저장된 테이블을 판독하는 단계와, 암호화된 데이터의 복호 처리에 이용되는 복호용 키가 저장되어 있는지의 여부를 검색하는 단계와, 복호용 키가 검출된 경우에는, 기록 매체 또는 정보 처리 장치 내의 기억 영역에 저장된 암호화된 복호용 키의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출하는 단계와, 복호용 키가 검출되지 않은 경우에는, 정보 처리 장치에 보유되어 있는 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출하는 단계와, 상기 산출한 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 상기 테이블에 저장하는 단계를 포함한다.
그리고, 본 발명은, 기록된 정보가 정보 처리 장치에 의해 판독 가능하도록 구성된 정보 기록 매체로서, 정보 처리 장치에 고유의 키에 의해 암호화 처리를 실시한, 암호화된 데이터를 복호하기 위한 복호용 키가, 정보 처리 장치의 식별 정보와 관련지어 키 저장 테이블로서 기록되어 있다.
본 발명의 구성에서는, 트리 구조의 계층적 키 배신 방식을 이용함으로써, 키 갱신에 필요한 배신 메시지량을 작게 억제하고 있다. 즉, 각 기기를 n분개의 트리의 각 리프에 배치한 구성의 키 배신 방법을 이용하여, 기록 매체 혹은 통신 회선을 통해 콘텐츠 데이터의 기록 매체에의 기록 혹은 기록 매체로부터의 재생에 필요한 키(마스터 키, 미디어 키 혹은 콘텐츠 키)를 배신하고, 이것을 이용하여 각 장치가 콘텐츠 데이터의 기록, 재생을 행한다. 트리 구조의 키 배포 구성에 의해, 예를 들면 미디어 키의 갱신을 키 갱신 블록(KRB)과 함께 송신하고, 기록 재생 장치가 수신 KRB에 기초하여 임의의 기록 매체의 미디어 키를 계산하여 취득한 후에, 취득한 미디어 키를, 그 기록 재생 장치에 고유의 암호 키, 예를 들면 리프 키를 이용하여 암호화하여, 기록 매체, 또는 기록 재생 장치의 메모리에 저장한다. 따라서, 기록 재생 장치가, 다음에 그 기록 매체를 사용할 때, 그 암호화 키를 1회 복호하는 것만으로도 미디어 키를 계산할 수 있어, 기록 재생 장치가 기록 매체에 액세스할 때에 필요해지는 KRB 복호 처리 등의 계산량을 감소시키는 것이 가능해진다.
마찬가지로, 예를 들면 트리 구조의 키 배포 구성에 의해, 콘텐츠 암호 처리용의 콘텐츠 키를 키 갱신 블록(KRB)과 함께 송신하고, 기록 재생 장치가 수신 KRB에 기초하여 콘텐츠 키를 취득한 후에, 취득 콘텐츠 키를 그 기록 재생 장치에 고유의 암호 키, 예를 들면 리프 키를 이용하여 암호화하여, 기록 매체, 또는 기록 재생 장치의 메모리에 저장한다. 따라서, 기록 재생 장치가, 다음에 그 콘텐츠를 재생 이용할 때, 그 암호화 콘텐츠 키를 1회 복호하는 것만으로도 콘텐츠를 계산할 수 있어, 기록 재생 장치가 콘텐츠를 이용할 때마다 KRB 복호 처리를 실행할 필요를 배제할 수 있다.
또, 본 발명의 프로그램 제공 매체는, 예를 들면, 다양한 프로그램 코드를 실행 가능한 범용 컴퓨터 시스템에 대하여, 컴퓨터 프로그램을 컴퓨터 판독 가능한 형식으로 제공하는 매체이다. 매체는, CD나 FD, MO 등의 기록 매체, 혹은, 네트워크 등의 전송 매체 등, 그 형태는 특별히 한정되지 않는다.
이러한 프로그램 제공 매체는, 컴퓨터 시스템 상에서 소정의 컴퓨터 프로그램의 기능을 실현하기 위한, 컴퓨터 프로그램과 제공 매체와의 구조 상 또는 기능 상의 협동적 관계를 정의한 것이다. 다시 말하면, 그 제공 매체를 통해 컴퓨터 프로그램을 컴퓨터 시스템에 인스톨함으로써, 컴퓨터 시스템 상에서는 협동적 작용이 발휘되어, 본 발명의 다른 측면과 마찬가지의 작용 효과를 얻을 수 있는 것이다.
본 발명의 또 다른 목적, 특징이나 이점은 후술하는 본 발명의 실시예나 첨부하는 도면에 기초한, 보다 상세한 설명에 의해 명백하게 될 것이다.
도 1은 본 발명의 정보 기록 재생 장치의 구성예를 나타내는 블록도.
도 2A 및 도 2B는 본 발명의 정보 기록 재생 장치의 데이터 기록 처리 흐름을 나타내는 도면.
도 3A 및 도 3B는 본 발명의 정보 기록 재생 장치의 데이터 재생 처리 흐름을 나타내는 도면.
도 4는 본 발명의 정보 기록 재생 장치에 대한 미디어 키 등의 키의 암호화 처리에 대하여 설명하는 트리 구성도.
도 5A 및 도 5B는 본 발명의 정보 기록 재생 장치에 대한 미디어 키 등의 키 의 배포에 사용되는 키 갱신 블록(KRB)의 예를 나타내는 도면.
도 6은 정보 기록 재생 장치에서의 미디어 키의 키 갱신 블록(KRB)을 사용한 배포예와 복호 처리예를 나타내는 도면.
도 7은 본 발명의 정보 기록 재생 장치에서의 미디어 키를 사용한 데이터 기록 처리 시의 암호화 처리를 설명하는 블록도.
도 8은 본 발명의 정보 기록 재생 장치에서 적용 가능한 디스크 고유 키의 생성예를 설명하는 도면.
도 9는 본 발명의 정보 기록 재생 장치에서 적용 가능한 타이틀 고유 키의 생성 처리예를 나타내는 도면.
도 10은 본 발명의 정보 기록 재생 장치에서 적용 가능한 블록 키의 생성 방법을 설명하는 도면.
도 11은 본 발명의 정보 기록 재생 장치에서의 미디어 키를 사용한 데이터 재생 처리 시의 복호 처리를 설명하는 블록도.
도 12는 본 발명의 정보 기록 재생 장치에서의 미디어 키의 키 갱신 블록(KRB)을 사용한 배포예와 복호 처리, 키 저장 처리예를 나타내는 도면.
도 13은 본 발명의 정보 기록 재생 장치에서의 미디어 키의 키 갱신 블록(KRB)을 사용한 배포예와 복호 처리, 키 저장 처리 흐름(예 1)을 나타내는 도면.
도 14는 본 발명의 정보 기록 재생 장치에서의 미디어 키의 키 갱신 블록(KRB)을 사용한 배포예와 복호 처리, 키 저장 처리 흐름(예 2)을 나타내는 도 면.
도 15는 본 발명의 정보 기록 재생 장치에서의 미디어 키의 키 갱신 블록(KRB)을 사용한 배포예와 복호 처리, 키 저장 처리예를 나타내는 도면.
도 16은 본 발명의 정보 기록 재생 장치에서의 미디어 키의 키 갱신 블록(KRB)을 사용한 배포예와 복호 처리, 키 저장 처리 흐름을 나타내는 도면.
도 17은 본 발명의 정보 기록 재생 장치의 변형예에서의 미디어 키의 키 갱신 블록(KRB)을 사용한 배포예와 복호 처리, 키 저장 처리예를 나타내는 도면.
도 18은 본 발명의 정보 기록 재생 장치에 대한 콘텐츠 키 등의 키의 암호화 처리에 대하여 설명하는 트리 구성도.
도 19A 및 도 19B는 본 발명의 정보 기록 재생 장치에 대한 콘텐츠 키 등의 키의 배포에 사용되는 키 갱신 블록(KRB)의 예를 나타내는 도면.
도 20은 본 발명의 정보 기록 재생 장치에 대한 콘텐츠 및 콘텐츠 키의 제공 시의 데이터 구성예를 나타내는 도면.
도 21은 정보 기록 재생 장치에서의 콘텐츠 키의 키 갱신 블록(KRB)을 사용한 배포예와 복호 처리예를 나타내는 도면.
도 22는 본 발명의 정보 기록 재생 장치에서의 콘텐츠 키의 키 갱신 블록(KRB)을 사용한 배포예와 복호 처리, 키 저장 처리예를 나타내는 도면.
도 23은 본 발명의 정보 기록 재생 장치에서의 콘텐츠 키의 키 갱신 블록(KRB)을 사용한 콘텐츠 복호 처리, 키 저장 처리 흐름(예 1)을 나타내는 도면.
도 24는 본 발명의 정보 기록 재생 장치에서의 콘텐츠 키의 키 갱신 블록(KRB)을 사용한 콘텐츠 기록 처리와 키 저장 처리 흐름을 나타내는 도면.
도 25는 본 발명의 정보 기록 재생 장치에서의 콘텐츠 키의 키 갱신 블록(KRB)을 사용한 콘텐츠 복호 처리, 키 저장 처리예를 나타내는 도면.
도 26은 본 발명의 정보 기록 재생 장치에서의 콘텐츠 키의 키 갱신 블록(KRB)을 사용한 배포예와 복호 처리, 키 저장 처리 흐름을 나타내는 도면
도 27A 및 도 27B는 본 발명의 정보 기록 재생 장치에서의 데이터 기록 처리 시의 복사 제어 처리를 설명하는 흐름도.
도 28A 및 도 28B는 본 발명의 정보 기록 재생 장치에서의 데이터 재생 처리 시의 복사 제어 처리를 설명하는 흐름도.
도 29는 본 발명의 정보 기록 재생 장치에서 데이터 처리를 소프트웨어에 의해 실행하는 경우의 처리 수단 구성을 나타낸 블록도.
〈발명을 실시하기 위한 최량의 형태〉
이하, 본 발명의 구체적인 구성을 도면을 참조하여 설명한다.
도 1은 본 발명을 적용한 기록 재생 장치(100)의 일 실시예 구성을 나타내는 블록도이다. 기록 재생 장치(100)는 입출력 I/F(Interface: 120), MPEG(Moving Picture Experts Group)코덱(130), A/D, D/A 컨버터(141)를 구비한 입출력 I/F(Interface: 140), 암호 처리 수단(150), ROM(Read Only Memory: 160), CPU(Central Processing Unit: 170), 메모리(180), 기록 매체(195)의 기록 매체 인터페이스(I/F: 190)를 구비하고, 이들은 버스(110)에 의해 상호 접속되어 있다.
입출력 I/F(120)는 외부로부터 공급되는 화상, 음성, 프로그램 등의 각종 콘 텐츠를 구성하는 디지털 신호를 수신하여 버스(110) 상에 출력함과 함께, 버스(110) 상의 디지털 신호를 수신하여 외부로 출력한다. MPEG 코덱(130)은 버스(110)를 통해 공급되는 MPEG 부호화된 데이터를 MPEG 디코드하고, 입출력 I/F(140)로 출력함과 함께 입출력 I/F(140)로부터 공급되는 디지털 신호를 MPEG 인코드하여 패스(110) 상으로 출력한다. 입출력 I/F(140)는 A/D, D/A 컨버터(141)를 내장하고 있다. 입출력 I/F(140)는 외부로부터 공급되는 콘텐츠로서의 아날로그 신호를 수신하고, A/D, D/A 컨버터(141)로 A/D(Analog Digital) 변환함으로써 디지털 신호로서 MPEG 코덱(130)으로 출력함과 함께, MPEG 코덱(130)으로부터의 디지털 신호를 A/D, D/A 컨버터(141)로 D/A(Digital Analog) 변환함으로써 아날로그 신호로서 외부로 출력한다.
암호 처리 수단(150)은, 예를 들면, 1칩의 LSI(Large Scale Integrated Circuit)로 구성되며, 버스(110)를 통해 공급되는 콘텐츠로서의 디지털 신호를 암호화하거나, 또는 복호하여, 버스(110) 상으로 출력하는 구성을 갖는다. 또, 암호 처리 수단(150)은 1칩 LSI에 한하지 않고, 각종 소프트웨어 또는 하드웨어를 조합한 구성에 의해 실현하는 것도 가능하다. 소프트웨어 구성에 의한 처리 수단으로서의 구성에 대해서는 후단에서 설명한다.
ROM(160)은, 예를 들면, 기록 재생 장치마다 고유의, 혹은 복수의 기록 재생 장치의 그룹마다 고유의 디바이스 키인 리프 키와, 복수의 기록 재생 장치, 혹은 복수의 그룹에 공유의 디바이스 키인 노드 키를 기억하고 있다. CPU(170)는 메모리(180)에 기억된 프로그램을 실행함으로써, MPEG 코덱(130)이나 암호 처리 수단(150) 등을 제어한다. 메모리(180)는 예를 들면, 불휘발성 메모리로서, CPU(170)가 실행하는 프로그램이나, CPU(170)의 동작 상 필요한 데이터를 기억한다. 기록 매체 인터페이스(190)는 디지털 데이터를 기록 재생 가능한 기록 매체(195)를 구동함으로써, 기록 매체(195)로부터 디지털 데이터를 판독하여 (재생하여) 버스(110) 상으로 출력함과 함께, 버스(110)를 통해 공급되는 디지털 데이터를 기록 매체(195)에 공급하여 기록시킨다. 또, 프로그램을 ROM(160)에, 디바이스 키를 메모리(180)에 기억하는 구성으로 하여도 된다.
모뎀(200)은 전화 회선을 통해 외부의 장치와 접속한다. 예를 들면, 인터넷 서비스 프로바이더(ISP: Internet Service Provider)의 서버와 접속하고, 인터넷 상의 콘텐츠 배신 서버 등과의 통신로를 확립한다.
기록 매체(195)는, 예를 들면, DVD, CD 등의 광 디스크, 광 자기 디스크, 자기 디스크, 자기 테이프, 혹은 RAM 등의 반도체 메모리 등, 디지털 데이터의 기억 가능한 매체로서, 본 실시 형태에서는, 기록 매체 인터페이스(190)에 대하여 착탈 가능한 구성으로 한다. 단, 기록 매체(195)는 기록 재생 장치(100)에 내장하는 구성으로 하여도 된다.
다음에, 도 1의 기록 재생 장치에서의 기록 매체에 대한 데이터 기록 처리 및 기록 매체로부터의 데이터 재생 처리에 대하여, 도 2A, 도 2B 및 도 3A, 도 3B의 흐름도를 참조하여 설명한다. 외부로부터의 디지털 신호의 콘텐츠를 기록 매체(195)에 기록하는 경우에서는, 도 2A의 흐름도에 따른 기록 처리가 행해진다. 즉, 디지털 신호의 콘텐츠(디지털 콘텐츠)가, 예를 들면, IEEE(Institute of Electrical and Electronics Engineers) 1394 직렬 버스 등을 통해 입출력 I/F(120)에 공급되면, 단계 S201에서 입출력 I/F(120)는 공급되는 디지털 콘텐츠를 수신하고, 패스(110)를 통해 암호 처리 수단(150)으로 출력한다.
암호 처리 수단(150)는, 단계 S202에서 수신한 디지털 콘테츠에 대한 암호화 처리를 실행하고, 그 결과 얻어지는 암호화 콘텐츠를, 버스(110)를 통해 기록 매체 I/F(190)로 출력한다. 암호화 콘텐츠는 기록 매체 I/F(190)를 통해 기록 매체(195)에 기록(단계 S203)되고, 기록 처리를 종료한다.
또, IEEE 1394 직렬 버스를 통해 접속한 장치 상호간에서, 디지털 콘텐츠를 전송할 때의, 디지털 콘텐츠를 보호하기 위한 규격으로서, 본 특허 출원인인 소니주식회사를 포함한 5사에 의해, 5CDTCP(Five Company Digital Transmission Content Protection)(이하, 적절하게, DTCP라고 함)가 정해져 있지만, 이 DTCP에서는, 무제한 복사가 아닌 디지털 콘텐츠를 장치 상호간에서 전송하는 경우, 데이터 전송에 앞서서, 송신측과 수신측이 복사를 제어하기 위한 복사 제어 정보를 정확하게 취급할 수 있는 지에 대한 여부의 인증을 서로 행하고, 그 후, 송신측에서 디지털 콘텐츠를 암호화하여 전송하고, 수신측에서 그 암호화된 디지털 콘텐츠(암호화 콘텐츠)를 복호하도록 되어 있다.
이 DTCP에 규격에 기초한 데이터 송수신에서는, 데이터 수신측의 입출력 I/F(120)는 단계 S201에서, IEEE 1394 직렬 버스를 통해 암호화 콘텐츠를 수신하고, 그 암호화 콘텐츠를, DTCP에 규격에 준거하여 복호하고, 평문(平文)의 콘텐츠로서, 그 후 암호 처리 수단(150)으로 출력한다.
DTCP에 의한 디지털 콘텐츠의 암호화는 시간 변화하는 키를 생성하고, 그 키를 이용하여 행해진다. 암호화된 디지털 콘텐츠는 그 암호화에 이용한 키를 포함해서, IEEE 1394 직렬 버스 상으로 전송되고, 수신측에서는, 암호화된 디지털 콘텐츠를 거기에 포함되는 키를 이용하여 복호한다.
또, DTCP에 의하면, 정확하게는 키의 초기값과, 디지털 콘텐츠의 암호화에 이용하는 키의 변경 타이밍을 나타내는 플래그가, 암호화 콘텐츠에 포함된다. 그리고, 수신측에서는 그 암호화 콘텐츠에 포함되는 키의 초기값을, 또한, 그 암호화 콘텐츠에 포함되는 플래그의 타이밍으로 변경함으로써, 암호화에 이용된 키가 생성되고, 암호화 콘텐츠가 복호된다. 단, 여기서는, 암호화 콘텐츠에 그 복호를 행하기 위한 키가 포함되어 있다고 생각하여도 지장이 없기 때문에, 이하에서는, 그와 같이 생각하도록 한다. 또, DTCP의 규격서는 DTLA(Digital Transmission Licensing Administrator)로부터 인포메이션 버전(informational Version)을 누구라도 취득할 수 있다.
다음에, 외부로부터의 아날로그 신호의 콘텐츠를, 기록 매체(195)에 기록하는 경우의 처리에 대하여, 도 2B의 흐름도에 따라 설명한다. 아날로그 신호의 콘텐츠(아날로그 콘텐츠)가 입출력 I/F(140)에 공급되면, 입출력 I/F(140)는 단계 S221에서, 그 아날로그 콘텐츠를 수신하고, 단계 S222로 진행하며, 내장하는 A/D, D/A 컨버터(141)로 A/D 변환하여, 디지털 신호의 콘텐츠(디지털 콘텐츠)로 한다.
이 디지털 콘텐츠는 MPEG 코덱(130)에 공급되고, 단계 S223에서 MPEG 인코드, 즉 MPEG 압축에 의한 부호화 처리가 실행되고, 버스(110)를 통해 암호 처리 수 단(150)에 공급된다.
이하, 단계 S224, S225에서, 도 2A의 단계 S202, S203에서의 처리와 마찬가지의 처리가 행해진다. 즉, 암호 처리 수단(150)에서의 암호화 처리가 실행되고, 그 결과 얻어지는 암호화 콘텐츠를, 기록 매체(195)에 기록하여 기록 처리를 종료한다.
다음에, 기록 매체(195)에 기록된 콘텐츠를 재생하여, 디지털 콘텐츠, 혹은 아날로그 콘텐츠로서 출력하는 처리에 대하여 도 3A 및 도 3B의 흐름에 따라 설명한다. 디지털 콘텐츠로서 외부로 출력하는 처리는 도 3A의 흐름도에 따른 재생 처리로서 실행된다. 즉, 우선 처음에 단계 S301에서, 기록 매체 I/F(190)에 의해 기록 매체(195)에 기록된 암호화 콘텐츠가 판독되고, 버스(110)를 통해 암호 처리 수단(150)으로 출력된다.
암호 처리 수단(150)에서는, 단계 S302에서, 기록 매체 I/F(190)로부터 공급되는 암호화 콘텐츠가 복호 처리되고, 복호 데이터가 버스(110)를 통해 입출력 I/F(120)에 공급된다. 단계 S303에서, 입출력 I/F(120)는 디지털 콘텐츠를 외부로 출력하고, 재생 처리를 종료한다.
또, 입출력 I/F(120)는 단계 S303에서, IEEE 1394 직렬 버스를 통해 디지털 콘텐츠를 출력하는 경우에는, DTCP의 규격에 준거하여, 상술한 바와 같이, 상대 장치 사이에서 인증을 서로 행하고, 그 후, 디지털 콘텐츠를 암호화하여 전송한다.
기록 매체(195)에 기록된 콘텐츠를 재생하여, 아날로그 콘텐츠로서 외부로 출력하는 경우에서는, 도 3B의 흐름도에 따른 재생 처리가 행해진다.
즉, 단계 S321, S322에서, 도 3A의 단계 S301, S302에서의 경우와 각각 마찬가지의 처리가 행해지고, 이에 따라, 암호 처리 수단(150)에서 얻어진 복호된 디지털 콘텐츠는 버스(110)를 통해 MPEG 코덱(130)에 공급된다.
MPEG 코덱(130)에서는, 단계 S323에서, 디지털 콘텐츠가 MPEG 디코드, 즉 신장(伸長) 처리가 실행되어, 입출력 I/F(140)에 공급된다. 입출력 I/F(140)는, 단계 S324에서, MPEG 코덱(130)으로 MPEG 디코드된 디지털 콘텐츠를, 내장하는 A/D, D/A 컨버터(141)로 D/A 변환하여, 아날로그 콘텐츠로 한다. 그리고, 단계 S325로 진행하여, 입출력 I/F(140)는 그 아날로그 콘텐츠를 외부로 출력하고, 재생 처리를 종료한다.
다음에, 도 1에 도시한 기록 재생 장치가, 데이터를 기록 매체에 기록, 혹은 기록 매체로부터 재생할 때에 필요한 키, 예를 들면 마스터 키 혹은 미디어 키를, 각 기기에 배포하는 구성에 대하여 설명한다. 여기서, 마스터 키는 이 시스템에서 공통으로, 복수의 디바이스에서 공통으로 유지되는 키이며, 디바이스의 제조 시에 디바이스 내에 기록된다. 이 키 배신 시스템을 이용하는 디바이스 전부에서 공통적인 것이 바람직하다. 또한, 미디어 키는, 각 기록 매체에 고유의 키이며, 기록 매체의 제조 시에 기록 매체에 기록된다. 이상적으로는 모든 기록 매체마다 다른 키인 것이 바람직하지만, 기록 매체의 제조 공정의 제약 상, 복수의 기록 매체를 1그룹으로서, 그룹별로 바꾸는 것이 현실적이다. 예를 들면, 기록 매체의 제조 로트를 1그룹으로서, 로트마다 미디어 키를 바꾸도록 구성하여도 된다. 이하에서는, 이들 키를 갱신하는 예를 중심으로 기술하지만, 마스터 키가 기록되어 있지 않 는 디바이스 혹은 미디어 키가 기록되어 있지 않은 기록 매체에, 각각의 키를 배포 및 기록하기 위해 본 발명을 이용하는 것도 가능하다.
도 4는, 본 방식을 이용한 기록 시스템에서의 기록 재생 장치의 키의 배포 구성을 나타낸 도면이다. 도 4의 최하단에 나타내는 번호 0∼15가 개개의 기록 재생 장치이다. 즉, 도 4에 도시한 트리 구조의 각 리프가 각각의 기록 재생 장치에 상당한다.
각 디바이스 0∼15는, 제조 시(출하 시)에, 사전에 정해져 있는 초기 트리에서의, 자신의 리프로부터 루트에 이르기까지의 노드에 할당된 키(노드 키) 및 각 리프의 리프 키를 자신에게 저장한다. 도 4의 최하단에 나타내는 K0000∼K1111이 각 디바이스 0∼15로 각각 할당된 리프 키이며, 최상단의 KR로부터, 최하단으로부터 2번째의 절(노드)에 기재된 키: KR∼K111을 노드 키로 한다.
도 4에 도시한 트리 구성에서, 예를 들면 디바이스 0은 리프 키 K0000과, 노드 키: K000, K00, K0, KR을 소유한다. 디바이스 5는 K0101, K010, K01, K0, KR을 소유한다. 디바이스 15는 K1111, K111, K11, K1, KR을 소유한다. 또, 도 4의 트리에는 디바이스가 0∼15의 16개만 기재되며, 트리 구조도 4단 구성의 균형이 잡힌좌우 대칭 구성으로서 나타내고 있지만, 더욱 많은 디바이스가 트리 중에 구성되며, 또한, 트리의 각부에서 다른 단수 구성을 갖는 것이 가능하다.
또한, 도 4의 트리 구조에 포함되는 각 기록 재생기에는, 다양한 기록 매체, 예를 들면 DVD, CD, MD, 메모리스틱(상표) 등을 사용하는 다양한 타입의 기록 재생기가 포함되어 있다. 또한, 다양한 어플리케이션 서비스 공존하는 것이 상정된다. 이러한 다른 디바이스, 다른 어플리케이션의 공존 구성 상에 도 4에 도시한 키 배포 구성이 적용되어 있다.
이들 다양한 디바이스, 어플리케이션이 공존하는 시스템에서, 예를 들면 도 4의 점선으로 둘러싼 부분, 즉 디바이스 0, 1, 2, 3을 동일한 기록 매체를 이용하는 하나의 그룹으로서 설정한다. 예를 들면, 이 점선으로 둘러싼 그룹 내에 포함되는 디바이스에 대해서는, 통합하여, 공통의 콘텐츠를 암호화하여 프로바이더로부터 송부하거나, 공통으로 사용하는 마스터 키를 송부하거나, 혹은 각 디바이스로부터 프로바이더 혹은 결제 기관 등에 콘텐츠 요금의 지불 데이터를 역시 암호화하여 출력한다고 하는 처리가 실행된다. 콘텐츠 프로바이더, 혹은 결제 처리 기관 등, 각 디바이스와의 데이터 송수신을 행하는 기관은, 도 4의 점선으로 둘러싼 부분, 즉 디바이스 0, 1, 2, 3을 하나의 그룹으로서 일괄하여 데이터를 송부하는 처리를 실행한다. 이러한 그룹은 도 4의 트리 중에 복수개 존재한다.
또, 노드 키, 리프 키는, 임의의 하나의 키 관리 센터에 의해 통괄하여 관리하여도 되고, 각 그룹에 대한 다양한 데이터 송수신을 행하는 프로바이더, 결제 기관 등에 의해 그룹으로 관리하는 구성으로 하여도 된다. 이들 노드 키, 리프 키는 예를 들면 키의 누설 등의 경우에 갱신 처리가 실행되며, 이 갱신 처리는 키 관리 센터, 프로바이더, 결제 기관 등이 실행한다.
이 트리 구조에서, 도 4로부터 명백한 바와 같이, 하나의 그룹에 포함되는 4개의 디바이스 0, 1, 2, 3은 노드 키로서 공통의 키 K00, K0, KR을 보유한다. 이 노드 키 공유 구성을 이용함으로써, 예를 들면 공통의 마스터 키를 디바이스 0, 1, 2, 3에만 제공하는 것이 가능해진다. 예를 들면, 공통으로 보유하는 노드 키 K00 자체를 마스터 키로서 설정하면, 새로운 키 송부를 실행하지 않고 디바이스 0, 1, 2, 3만이 공통적인 마스터 키의 설정이 가능하다. 또한, 새로운 마스터 키 Kmaster를 노드 키 K00으로 암호화한 값 Enc(K00, Kmaster)를, 네트워크를 통해 혹은 기록 매체에 저장하여 디바이스 0, 1, 2, 3에 배포하면, 디바이스 0, 1, 2, 3만이 각각의 디바이스에서 보유하는 공유 노드 키 K00을 이용하여 암호 Enc(K00, Kmaster)를 풀어 마스터 키: Kmaster를 얻는 것이 가능해진다. 또, Enc(Ka, Kb)는 Kb를 Ka에 의해 암호화한 데이터인 것을 나타낸다.
또한, 임의의 시점 t에서, 디바이스 3이 소유하는 키: K0011, K001, K00, K0, KR이 공격자(해커)에 의해 해석되어 노출된 것이 발각된 경우, 그 이후, 시스템(디바이스 0, 1, 2, 3의 그룹)으로 송수신되는 데이터를 보호하기 위해, 디바이스 3을 시스템으로부터 분리할 필요가 있다. 그것을 위해서는, 노드 키: K001, K00, K0, KR을 각각 새로운 키 K(t)001, K(t)00, K(t)0, K(t)R로 갱신하고, 디바이스 0, 1, 2에 그 갱신 키를 전달할 필요가 있다. 여기서, K(t)aaa는, 키 Kaaa의 세대(Generation): t의 갱신 키인 것을 나타낸다.
갱신 키의 배포 처리에 대하여 설명한다. 키의 갱신은, 예를 들면, 도 5A에 나타낸다. 키 갱신 블록(KRB: Key Renewal Block)이라 불리우는 블록 데이터에 의해 구성되는 테이블을 예를 들면 네트워크, 혹은 기록 매체에 저장하여 디바이스 0, 1, 2에 공급함으로써 실행된다.
도 5A에 도시한 키 갱신 블록(KRB)에는, 노드 키의 갱신이 필요한 디바이스 만이 갱신 가능한 데이터 구성을 갖는 블록 데이터로서 구성된다. 도 5A 및 도 5B의 예는, 도 4에 도시한 트리 구조 중의 디바이스 0, 1, 2에서, 세대 t의 갱신 노드 키를 배포하는 것을 목적으로서 형성된 블록 데이터이다. 도 4로부터 명백한 바와 같이, 디바이스 0, 디바이스 1은 갱신 노드 키로서 K(t)00, K(t)0, K(t)R이 필요하며, 디바이스 2는 갱신 노드 키로서 K(t)001, K(t)00, K(t)0, K(t)R이 필요하다.
도 5A의 KRB에 도시된 바와 같이 KRB에는 복수의 암호화 키가 포함된다. 최하단의 암호화 키는 Enc(K0010, K(t)001)이다. 이것은 디바이스 2가 갖는 리프 키 K0010에 의해 암호화된 갱신 노드 키 K(t)001이며, 디바이스 2는 자신이 갖는 리프 키에 의해 이 암호화 키를 복호하여, K(t)001을 얻을 수 있다. 또한, 복호에 의해 얻은 K(t)001을 이용하여, 도 5A의 하단으로부터 2단째의 암호화 키 Enc(K(t)001, K(t)00)가 복호 가능해지고, 갱신 노드 키 K(t)00을 얻을 수 있다. 이하 순차적으로 도 5A의 상단으로부터 2단째의 암호화 키 Enc(K(t)00, K(t)0)를 복호하고, 갱신 노드 키 K(t)0, 도 5A의 상단으로부터 1단째의 암호화 키 Enc(K(t)0, K(t)R)를 복호하여 K(t)R을 얻는다. 한편, 디바이스 0, 1은 노드 키 K000은 갱신하는 대상에 포함되지 않고, 갱신 노드 키로서 필요한 것은 K(t)00, K(t)0, K(t)R이다. 디바이스 0, 1은 도 5A의 상단으로부터 3단째의 암호화 키 Enc(K000, K(t)00)를 복호하여 K(t)00을 취득하고, 이하, 도 5A의 상단으로부터 2단째의 암호화 키 Enc(K(t)00, K(t)0)를 복호하고, 갱신 노드 키 K(t)0, 도 5A의 상단으로부터 1단째의 암호화 키 Enc(K(t)0, K(t)R)를 복호하여 K(t)R을 얻는다. 이와 같이 하여, 디바이스 0, 1, 2는 갱신한 키 K(t)R을 얻는 것이 가능하게 된다. 또, 도 5A의 인덱스는 복호 키로서 사용하는 노드 키, 리프 키의 절대 번지를 나타낸다.
도 4에 도시한 트리 구조의 상위단의 노드 키: K(t)0, K(t)R의 갱신이 불필요하고, 노드 키 K00만의 갱신 처리가 필요한 경우에는, 도 5B의 키 갱신 블록(KRB)을 이용함으로써, 갱신 노드 키 K(t)00을 디바이스 0, 1, 2에 배포할 수 있다.
도 5B에 도시한 KRB는, 예를 들면 특정한 그룹의 정보 기억 장치에서 공유하는 새로운 마스터 키, 정보 기억 장치 고유의 디바이스 키 혹은 기록 매체에 고유의 미디어 키를 배포하는 경우에 이용 가능하다. 구체예로서, 도 4에 점선으로 나타내는 그룹 내의 디바이스 0, 1, 2, 3이 있는 기록 매체를 이용하고 있으며, 새로운 공통의 마스터 키 K(t)master가 필요하다고 한다. 이 때, 디바이스 0, 1, 2, 3의 공통의 노드 키 K00을 갱신한 K(t)00을 이용하여 새로운 공통의 갱신 마스터 키: K(t)master을 암호화한 데이터 Enc(K(t), K(t)master)를 도 5B에 도시한 KRB와 함께 배포한다. 이 배포에 의해 디바이스 4 등, 그 밖의 그룹의 기기에서는 복호되지 않은 데이터로서의 배포가 가능해진다. 미디어 키에 대해서도 마찬가지이다.
즉, 디바이스 0, 1, 2, 3은 KRB을 처리하여 얻은 K(t)00을 이용하여 상기 암호문을 복호하면, t 시점에서의 마스터 키: K(t)master나 미디어 키: K(t)media를 얻는 것이 가능해진다.
도 6에, 본 출원인의 선특허 출원인 특원평2000-105328에서 제안한 t 시점에서의 미디어 키 K(t)media를 얻는 처리예로서, K(t)00을 이용하여 새로운 공통의 미디어 키 K(t)media를 암호화한 데이터 Enc(K(t)00, K(t)media)와 도 5B에 도시한 KRB을 기록 매체를 통해 수령한 디바이스 2의 처리를 나타낸다.
도 4에 도시한 바와 같이, 어떤 기록 재생 시스템에는, 점선으로 둘러싸인, 디바이스 0, 1, 2, 3의 4개의 장치가 포함되도록 한다. 도 6은 디바이스 3이 리보크되었을 때, 기록 매체마다 할당되는 미디어 키를 사용하는 경우에, 기록 재생 장치(디바이스 2)가 기록 매체 상의 콘텐츠를 암호화 혹은 복호하기 위해 필요한 미디어 키를, 기록 매체에 저장되어 있는 KRB와 기록 재생 장치가 기억하는 디바이스 키를 이용하여 구할 때의 처리를 나타내고 있다.
디바이스 2의 메모리에는, 자신에게만 할당된 리프 키 K0010과, 그 곳으로부터 트리의 루트까지의 각 노드 001, 00, 0, R의 노드 키가 각각, K001, K00, K0, KR)이 안전하게 저장되어 있다. 디바이스 2는 도 6의 기록 매체에 저장되어 있는 KRB 중, 인덱스(index)가 0010의 암호문을 자신이 갖는 리프 키가 K0010으로 복호하여 노드 001의 노드 키 K(t)001을 계산하고, 다음에 그것을 이용하여 인덱스(index)가 001의 암호문을 복호하여 노드 00의 노드 키 K(t)00을 계산하고, 마지막으로 그것을 이용하여 암호문을 복호하여 미디어 키 K(t)media를 계산할 필요가 있다. 이 계산 횟수는 리프로부터 미디어 키를 암호화하는 노드까지의 깊이가 깊게 되는 데 비례하여 증가한다. 즉, 많은 기록 재생 장치가 존재하는 큰 시스템에서는 많은 계산이 필요해진다. 이와 같이 하여 계산되고, 취득된 미디어 키를 이용한 데이터의 암호화 처리, 복호 처리 양태에 대하여 이하, 설명한다.
도 7의 처리 블록도에 따라서, 암호 처리 수단(150)이 실행하는 데이터의 암 호화 처리 및 기록 매체에 대한 기록 처리의 일례에 대하여 설명한다.
기록 재생 장치(700)는 자신이 상술한 KRB에 기초하는 산출 처리에 의해 미디어 키를 취득한다.
다음에, 기록 재생 장치(700)는 예를 들면 광 디스크인 기록 매체(702)에 식별 정보로서의 디스크 ID(Disc ID)가 이미 기록되어 있는지의 여부를 검사한다. 기록되어 있으면, 디스크 ID(Disc ID)를 판독하고, 기록되어 있지 않으면, 암호 처리 수단(150)에서 랜덤하게, 혹은 사전에 정해진 예를 들면 난수 발생 등의 방법으로 디스크 ID(Disc ID: 1701)를 생성하고, 디스크에 기록한다. 디스크 ID(Disc ID)는 그 디스크에 하나 있으면 되므로, 리드인 영역 등에 저장하는 것도 가능하다.
기록 재생기(700)는, 다음에 미디어 키(701)와 디스크 ID를 이용하여, 디스크 고유 키(Disc Unique Key)를 생성한다. 디스크 고유 키(Disc Unique Key)의 구체적인 생성 방법으로서는, 도 8에 도시한 바와 같이, 블록 암호 함수를 이용한 해시 함수에 미디어 키와 디스크 ID(Disc ID)를 입력하여 얻어진 결과를 이용하는 예 1의 방법이나, FIPS(Federal Information Processing Standards Publications) 180-1로 정해져 있는 해시 함수 SHA-1에, 미디어 키와 디스크 ID(Disc ID)와의 비트 연결에 의해 생성되는 데이터를 입력하고, 그 160비트의 출력으로부터 필요한 데이터 길이만을 디스크 고유 키(Disc Unique Key)로서 사용하는 예 2의 방법을 적용할 수 있다.
다음에, 기록마다의 고유 키인 타이틀 키(Title Key)를 암호 처리 수단(150: 도 1 참조)에서 랜덤하게, 혹은 사전에 정해진 예를 들면 난수 발생 등의 방법으로 생성하여, 디스크(702)에 기록한다.
다음에, 디스크 고유 키(Disc Unique Key)와 타이틀 키(Title Key)와, 디바이스 ID, 혹은, 디스크 고유 키(Disc UniqUe Key)와 타이틀 키(Title Key)와, 디바이스 고유 키 중 어느 하나의 조합으로부터, 타이틀 고유 키(Title Unique Key)를 생성한다.
이 타이틀 고유 키(Title Unique Key) 생성의 구체적인 방법은, 도 9에 도시한 바와 같이, 블록 암호 함수를 이용한 해시 함수에 타이틀 키(Title Key)와 디스크 고유 키(Disc Unique Key)와, 디바이스 ID(재생 기기 제한을 하지 않는 경우) 혹은 디바이스 고유 키(재생 기기 제한을 하는 경우)를 입력하여 얻어진 결과를 이용하는 예 1의 방법이나, FIPS 180-1로 정해져 있는 해시 함수 SHA-1에, 미디어 키와 디스크 ID(Disc ID)와 디바이스 ID(재생 기기 제한을 하지 않은 경우) 혹은 디바이스 고유 키(재생 기기 제한을 하는 경우)와의 비트 연결에 의해 생성되는 데이터를 입력하고, 그 160비트의 출력으로부터 필요한 데이터 길이만을 타이틀 고유 키(Title Unique Key)로서 사용하는 예 2의 방법을 적용할 수 있다. 또, 재생 기기 제한이란, 기록 매체에 저장된 콘텐츠 데이터를 제한된 특정한 재생 기기에서만 재생 가능하게 하는 것을 의미한다.
또, 상기한 설명에서는, 미디어 키와 디스크 ID(Disc ID)로부터 디스크 고유 키(Disc Unique Key)를 생성하고, 이것과 타이틀 키(Title Key)와 디바이스 ID, 혹은 타이틀 키(Title Key)와 디바이스 고유 키로부터 타이틀 고유 키(Title Unique Key)를 각각 생성하도록 하고 있지만, 디스크 고유 키(Disc Unique Key)를 불요로 하여 미디어 키와 디스크 ID(Disc ID)와 타이틀 키(Title Key)와, 디바이스 ID 혹은 디바이스 고유 키로부터 직접 타이틀 고유 키(Title Unique Key)를 생성하여도 되며, 또한, 타이틀 키(Title Key)를 이용하지 않고서, 미디어 키(Master Key)와 디스크 ID(Disc ID)와, 디바이스로 ID 혹은 디바이스 고유 키로부터 타이틀 고유 키(Title Unique Key) 상당의 키를 생성하여도 된다.
또한, 도 7을 참조하여, 그 후의 처리를 설명한다. 피암호화 데이터로서 입력되는 블록 데이터의 선두의 제1∼4 바이트가 분리되어 출력되는 블록 시드(Block Seed)와, 앞에서 생성된 타이틀 고유 키(Title Unique Key)로부터, 그 블록의 데이터를 암호화하는 키인 블록 키(Block Key)가 생성된다.
블록 키(Block Key)의 생성 방법의 예를 도 10에 도시한다. 도 10에서는, 어느 것이나 32비트의 블록 시드(Block Seed)와, 64비트의 타이틀 고유 키(Title Unique Key)로부터, 64비트의 블록 키(Block Key)를 생성하는 예를 2가지 나타내고 있다.
상단에 나타낸 예 1은 키 길이 64비트, 입출력이 각각 64비트의 암호 함수를 사용하고 있다. 타이틀 고유 키(Title Unique Key)를 이 암호 함수의 키로 하여, 블록 시드(Block Seed)와 32비트의 상수(constant)를 연결한 값을 입력하여 암호화한 결과를 블록 키(Block Key)로 하고 있다.
예 2는 FIPS 180-1의 해시 함수 SHA-1을 이용한 예이다. 타이틀 고유 키(Title Unique Key)와 블록 시드(Block Seed)를 연결한 값을 SHA-1에 입력하고, 그 160비트의 출력을, 예를 들면 하위 64비트만 사용하는 등, 64비트로 축약한 것을 블록 키(Block Key)로 하고 있다.
또, 상기에서는 디스크 고유 키(Disc Unique key), 타이틀 고유 키(Title Unique Key), 블록 키(Block Key)를 각각 생성하는 예를 설명하였지만, 예를 들면, 디스크 고유 키(Disc Unique Key)와 타이틀 고유 키(Title Unique Key)의 생성을 실행하지 않고, 블록마다 미디어 키와 디스크 ID(Disc ID)와 타이틀 키(Title Key)와 블록 시드(Block Seed)와, 디바이스 ID, 혹은 디바이스 고유 키를 이용하여 블록 키(B1ock Key)를 생성하여도 된다.
블록 키가 생성되면, 생성된 블록 키(Block Key)를 이용하여 블록 데이터를 암호화한다. 도 7의 하단에 도시한 바와 같이, 블록 시드(Block Seed)를 포함한 블록 데이터의 선두의 제1∼m 바이트(예를 들면 m=8 바이트)는 분리(셀렉터 1608)되어 암호화 대상으로 하지 않고, m+1 바이트째로부터 최종 데이터까지를 암호화한다. 또, 암호화되지 않은 m 바이트 중에는 블록 시드로서의 제1∼4 바이트도 포함된다. 셀렉터에 의해 분리된 제11 바이트 이후의 데이터는, 암호 처리 수단(150)에 사전에 설정된 암호화 알고리즘에 따라 암호화된다. 암호화 알고리즘으로서는, 예를 들면 FIPS 46-2로 규정되는 DES(Data Encryption Standard)를 이용할 수 있다.
이상의 처리에 의해, 콘텐츠는 블록 단위로 세대 관리된 미디어 키, 블록 시드 등에 기초하여 생성되는 블록으로 암호화가 실시되어 기록 매체에 저장된다.
도 11은 기록 매체에 저장된 암호화 콘텐츠 데이터의 복호 및 재생 처리를 설명하는 블록도를 나타낸다.
재생 처리에서는, 도 7∼도 10을 참조하여 설명한 암호화 및 기록 처리와 마찬가지로, 미디어 키와 디스크 ID로부터 디스크 고유 키를 생성하고, 디스크 고유 키와, 타이틀 키로부터 타이틀 고유 키를 생성하고, 또한 타이틀 키와 기록 매체로부터 판독되는 블록 시드로부터 블록 키를 생성하여, 블록 키를 복호 키로서 이용하고, 기록 매체(702)로부터 판독되는 블록 단위의 암호화 데이터의 복호 처리를 실행한다.
상술된 바와 같이, 콘텐츠 데이터의 기록 매체에 대한 기록 시의 암호화 처리, 및 기록 매체로부터의 재생 시의 복호 처리에서는, KRB에 기초하여 미디어 키를 산출하고, 그 후 산출한 미디어 키와 다른 식별자 등에 기초하여 콘텐츠의 암호화 처리용의 키, 또는 복호 처리용의 키를 생성한다.
또, 상술한 예에서는, 미디어 키를 이용하여 콘텐츠 데이터의 암호화 처리, 및 복호 처리에 이용하는 키를 생성하는 구성을 설명하였지만, 미디어 키가 아니라, 복수의 기록 재생 장치에 공통의 마스터 키, 혹은 기록 재생기 고유의 디바이스 키를 KRB로부터 취득하고, 이에 기초하여 콘텐츠 데이터의 암호화 처리, 및 복호 처리에 이용하는 키를 생성하는 구성으로 하여도 된다. 또한, KRB로부터 얻어 되는 미디어 키, 마스터 키, 혹은 디바이스 키 자체를 콘텐츠 데이터의 암호화 처리, 및 복호 처리에 이용하는 키로서 적용하는 것도 가능하다.
어느 하나의 구성에서도, 디바이스는 데이터의 기록, 재생 시에서, 도 6의 기록 매체에 저장되어 있는 KRB에 기초한 복수회의 복호 처리에 의해, 데이터의 암 호화 또는 복호에 필요한 암호화 키 또는 그 암호화 키 생성용 데이터를 산출하는 것이 요청된다. 이 KRB 처리에 요하는 계산 횟수는, 상술한 바와 같이, 리프로부터 미디어 키를 암호화하는 노드까지의 깊이가 깊게 되는 데 비례하여 증가한다. 즉, 많은 기록 재생 장치가 존재하는 큰 시스템에서는 많은 계산이 필요해진다.
이들 처리를 경감하는 본 발명에서의 기록 재생 장치의 미디어 키의 취급 구성을 설명하는 도면을 도 12에 도시한다. 본 발명의 구성에서는, 임의의 기록 매체에 저장되어 있는 KRB로부터 기록 재생 장치가 미디어 키를 계산하는 부분까지는, 도 6의 처리와 마찬가지이지만, 본 발명에서는, 미디어 키를 자신만이 알 수 있는 키, 정보 기록 재생 장치 고유의 키, 예를 들면 트리 구조에서 자신만에게 할당되어 있는 리프 키를 이용하여 암호화하여, 사전에 기록 매체에 준비되어 있는 영역에, 기록 재생 장치의 식별 정보, 예를 들면 그 기록 재생 장치에 할당된 리프 번호와 함께 기록하는 구성으로 하였다. 도 12의 디바이스 2는 KRB의 처리에 의해 취득한 미디어 키 K(t)media를 자신이 갖는 리프 키 K0010으로 암호화하여, 기록 매체에 저장한다.
이와 같이, KRB의 복수단의 복호 처리에 의해 취득한 미디어 키를 재차 사용할 때, 새롭게 복수단의 복호 처리를 실행하지 않고, 간단한 복호 처리만으로 취득 가능해진다. 즉, 동일한 기록 재생 장치가 이 기록 매체를 2번째 이후에 액세스할 때에는, 일부러 KRB을 이용하여 대량의 계산을 행하지 않아도, 미디어 키 저장 테이블에 저장되어 있는 암호문을 자신의 고유 키로 복호함으로써 미디어 키를 얻는 것이 가능해진다. 또, 기록 디바이스에 저장된 암호화 미디어 키는, 디바이스 2에 고유의 리프 키에 의해서만 복호 가능하기 때문에, 다른 디바이스에 기록 매체를 장착하여도, 암호화 미디어 키를 복호하고 취득하는 것은 불가능하다.
본 발명에서의 기록 재생 장치가, 기록 매체에 액세스할 때, 즉, 예를 들면 기록 매체가 기록 재생 장치에 장착될 때 미디어 키를 얻는 흐름을 도 13에 도시한다. 도 13의 처리 흐름에 대하여 설명한다.
단계 S1301에서, 기록 재생 장치는 기록 매체에 기록되어 있는 미디어 키 저장 테이블을 판독한다. S1302에서 미디어 키 저장 테이블의 인덱스부를 보고, 자기 자신에 할당된 리프 번호가 있는지의 여부, 즉, 자신이 저장한 데이터가 있는지의 여부를 검사한다. 만일 그 데이터가 없으면 S1303으로 진행하고, 있으면 S 1309로 진행한다.
단계 S1303에서는, 기록 재생 장치는, 기록 매체로부터 KRB을 판독한다. 단계 S1304에서, 기록 재생 장치는, 단계 S1303에서 판독한 KRB과, 자신이 메모리에 저장하고 있는 리프 키(도 4의 디바이스 2에서의 K0010) 및 노드 키(도 4의 디바이스 2에서의 K001, K00...)를 이용하여, 식별 번호: 세대(도 7에서의 t)의 KRB에서의 노드 00의 키 K(t)00을 계산한다.
단계 S1305에서, 기록 매체로부터 Enc(K(t)00, K(t)media), 즉, K(t)00을 이용하여 미디어 키 K(t)media를 암호화한 값을 판독한다.
그리고, 단계 S1306에서, 이 암호문을 K(t)00을 이용하여 복호하여 K(t) media를 계산한다. 이와 같이 하여 계산한 미디어 키는, 그 기록 매체에의 데이터의 기록 및 재생 시의 암호화 및 복호에 사용한다.
또한, 단계 S1307에서는, 자신만이 갖는 리프 키(도 4의 디바이스 2에서의 K0010)를 이용하여 미디어 키 K(t)media를 암호화한다.
단계 S1308에서, S1307에서 작성한 암호문과, 자신의 식별 정보로 되는 리프 키의 번호(리프 번호) 0010을, 기록 매체의 미디어 키 저장 테이블에 기록하여, 처리를 종료한다.
단계 S1302에서, 자신이 저장한 암호문이 미디어 키 저장 테이블에 발견된 경우에는, S1309로 진행하고, 기록 재생 장치는 기록 매체로부터 그 암호문을 판독한다.
단계 S1310에서, 자신의 리프 키를 이용하여 그 암호문을 복호함으로써, 그 기록 매체의 미디어 키를 얻는다. 이것을 그 기록 매체에의 데이터의 기록 및 재생 시의 암호화 및 복호에 사용한다.
또, 상기한 처리에서, 단계 S1307 및 S1308의 처리는, 기록 매체의 미디어 키 저장 테이블에, 새롭게 1조의 인덱스(index)와 암호문을 기입할 수 있는 경우에만 행하는, 도 14와 같이 하는 것도 가능하다.
도 14에서, 단계 S1301 내지 S1306 및 S1307 내지 S1310은, 각각 도 13의 동일한 단계와 마찬가지이기 때문에 설명은 생략한다.
단계 S1401에서, 기록 재생 장치는 기록 매체의 미디어 키 저장 테이블에, 자신이 기록을 행하는 공간이 남아 있는 지의 여부를 확인한다. 공간이 남아 있으면 단계 S1307로 진행하여, S1308에서 암호문을 테이블에 기록하지만, 공간이 남아 있지 않으면 S1307 및 S1308의 처리를 스킵하여 종료한다.
상술한 실시예에서는, 앞의 도 12를 참조하여 설명한 바와 같이, 기록 매체에 개개의 기록 재생 장치가 이용하는 테이블을 배치하였지만, 본 실시예에서는, 도 15에 도시한 바와 같이, 개개의 기록 재생 장치 내에 기억 수단, 예를 들면 도 1에 도시한 기록 재생 장치(100)의 메모리(180)에, 기록 매체마다의 미디어 키를 저장한다.
기록 재생 장치(100)의 메모리(180)에 암호화 처리를 실시한 미디어 키를 저장하는 저장 양태는, 미디어 키의 세대 정보를 인덱스로 하여, 암호화 처리를 실시한 미디어 키를 대응한 미디어 키 저장 테이블 구성으로 하고 있다. 복수의 다른 세대의 미디어 키를 저장하는 경우를 고려한 구성으로 하고 있다.
상술의 실시예와 마찬가지의 전제에서, 본 실시예에서의 기록 재생 장치가, 기록 매체에 액세스할 때, 즉, 예를 들면 기록 매체가 기록 재생 장치에 장착될 때에 미디어 키를 얻는 흐름을 도 16에 도시한다.
단계 S1601에서, 기록 재생 장치는 기록 매체로부터 거기에 저장되어 있는 KRB 및 미디어 키의 식별 번호인 세대(도 15의 예에서는 t)를 판독한다.
단계 S1602에서, 기록 재생 장치는 자신 내부에 저장하고 있는 미디어 키 저장 테이블에 t라는 세대를 갖는 미디어 키가 저장되어 있는지의 여부를 검사한다. 저장되어 있지 않으면 단계 S1603으로 진행하고, 저장되어 있으면 단계 S1610으로 진행한다.
단계 S1603 내지 단계 S1606의 처리는, 각각 도 13의 단계 S1303 내지 단계 S1306의 각 처리와 마찬가지이기 때문에 설명을 생략하지만, 이들 처리 결과, 기록 재생 기기는 미디어 키를 얻는다. 이와 같이 하여 계산한 미디어 키는, 그 기록 매체에의 데이터의 기록 및 재생 시의 암호화 및 복호에 사용한다.
단계 S1607에서, 기록 재생 기기는 자신의 기록 수단의 미디어 키 저장 테이블에 새롭게 미디어 키를 저장하는 공간이 있는지의 여부를 확인한다. 공간이 있으면 단계 S1608로 진행하고, 없으면 단계 S1608 및 단계 S1609의 처리를 스킵한다.
단계 S1608에서는, 도 13의 단계 S1307과 마찬가지로, 자신의 리프 키를 이용하여 미디어 키를 암호화한다. 단계 S1609에서, 상기 암호문을 식별 정보: 세대와 함께 미디어 키 저장 테이블에 저장한다.
단계 S1602에서, 세대에 대응한 암호문이 미디어 키 저장 테이블에 발견된 경우에는 단계 S1610으로 진행하고, 기록 재생 장치는 미디어 키 저장 테이블에서 그 암호문을 판독한다. 단계 S1611에서, 도 13의 단계 S1310과 마찬가지로, 자신의 리프 키를 이용하여 그 암호문을 복호함으로써, 그 기록 매체의 미디어 키를 얻는다. 이것을 그 기록 매체에의 데이터의 기록 및 재생 시의 암호화 및 복호에 사용한다.
또, 상기한 실시예에서는, 미디어 키 저장 테이블에 미디어 키를 저장할 때, 자신의 리프 키를 이용하여 암호화하도록 하고 있지만, 예를 들면 미디어 키 저장 테이블의 내용이 외부로 노출하지 않고, 안전한 기록을 행할 수 있는 경우에는, 암호화가 반드시 필요하지는 않다. 즉, 도 17과 같이, KRB의 복호 처리에 의해 얻어지는 미디어 키 K(t)media를 그대로, 암호화하지 않고 인덱스로서의 세대에 대응시켜 저장하는 구성으로 하여도 된다. 이 경우에는, 미디어 키 K(t)media를 재차 사용하는 경우에는, 복호 처리가 불필요해진다.
또한, 상술의 실시예를 조합하여, 미디어 키 저장 테이블을 기록 매체와 기록 재생 장치의 양쪽에 갖게 하도록 하는 것도 가능하다.
또, 상술한 예에서는, KRB 처리에 기초하여 취득하는 키를 미디어 키로서 설명하였지만, 이 방법은, 미디어 키로 특화한 것이 아니라, 예를 들면 복수의 디바이스에 공통으로 저장된 마스터 키, 디바이스마다 고유의 디바이스 키에 적용하는 것도 물론 가능하다.
또, 상술한 예에서는, 키를 배신하기 위한 데이터를 키 갱신 블록(KRB)이라는 표현을 이용하여 설명하였지만, 키 갱신 블록은 키의 갱신에 한정되는 것이 아니라, 키의 배포 전반에 적응 가능한 것은, 상술한 설명으로부터 명백하다.
다음에, 도 1에 도시한 기록 재생 장치가, 데이터를 기록 매체에 기록, 혹은 기록 매체로부터 재생할 때 필요한 키, 예를 들면 콘텐츠 키를, 각 기기에 배포하는 구성에 대하여 설명한다. 여기서, 콘텐츠 키는 통신 매체 혹은 기록 매체를 통해 배포되는 암호화된 콘텐츠를 복호하기 위한 키이다. 도 18은 본 방식을 이용한 기록 시스템에서의 기록 재생 장치의 키의 배포 구성을 나타낸 도면이다. 도 18의 최하단에 나타내는 번호 0∼15가 개개의 기록 재생 장치이다. 즉 도 18에 도시한 트리 구조의 각 리프가 각각의 기록 재생 장치에 상당한다.
각 디바이스 0∼15는, 제조 시(출하 시)에 사전에 정해져 있는 초기 트리에서의, 자신의 리프로부터 루트에 이르기까지의 노드에 할당된 키(노드 키) 및 각 리프의 리프 키를 자신에게 저장한다. 도 18의 최하단에 나타내는 K0000∼K1111이 각 디바이스 0∼15에 각각 할당된 리프 키이고, 최상단의 KR로부터 최하단으로부터 2번째의 절(노드)에 기재된 키: KR∼K111을 노드 키로 한다.
도 18에 도시한 트리 구성에서, 예를 들면 디바이스 0은 리프 키 K0000과, 노드 키: K000, K00, K0, KR을 소유한다. 디바이스 5는 K0101, K010, K01, K0, KR을 소유한다. 디바이스 15는 K1111, K111, K11, K1, KR을 소유한다. 또, 도 18의 트리에는 디바이스가 0∼15의 16개만 기재되며, 트리 구조도 4단 구성의 균형이 잡힌 좌우 대칭 구성으로 나타내고 있지만, 더욱 많은 디바이스가 트리 중에 구성되며, 또한, 트리의 각 부에서 다른 단수 구성을 갖는 것이 가능하다.
또한, 도 18의 트리 구조에 포함되는 각 기록 재생기에는, 다양한 기록 매체, 예를 들면 DVD, CD, MD, 메모리스틱 등을 사용하는 다양한 타입의 기록 재생기가 포함되어 있다. 또한, 다양한 어플리케이션 서비스가 공존하는 것이 상정된다. 이러한 다른 디바이스, 다른 어플리케이션의 공존 구성 상에 도 18에 도시한 키 배포 구성이 적용되어 있다.
이들 다양한 디바이스, 어플리케이션이 공존하는 시스템에서, 예를 들면 도 18에 점선으로 둘러싼 부분, 즉 디바이스 0, 1, 2, 3을 동일한 기록 매체를 이용하는 하나의 그룹으로서 설정한다. 예를 들면, 이 점선으로 둘러싼 그룹 내에 포함되는 디바이스에 대해서는, 통합하여, 공통의 콘텐츠를 암호화하여 프로바이더로부터 송부하거나, 콘텐츠 키를 암호화하여 송부하거나, 공통으로 사용하는 마스터 키를 송부하거나, 혹은 각 디바이스로부터 프로바이더 혹은 결제 기관 등에 콘텐츠 요금의 지불 데이터를 역시 암호화하여 출력한다고 하는 처리가 실행된다. 콘텐츠 프로바이더, 혹은 결제 처리 기관 등, 각 디바이스와의 데이터 송수신을 행하는 기관은, 도 18의 점선으로 둘러싼 부분, 즉 디바이스 0, 1, 2, 3을 하나의 그룹으로서 일괄하여 데이터를 송부하는 처리를 실행한다. 이러한 그룹은, 도 18의 트리 중에 복수개 존재한다.
또, 노드 키, 리프 키는, 임의의 하나의 키 관리 센터에 의해 통괄하여 관리하여도 되고, 각 그룹에 대한 다양한 데이터 송수신을 행하는 프로바이더, 결제 기관 등에 의해 그룹마다 관리하는 구성으로 하여도 된다. 이들 노드 키, 리프 키는 예를 들면 키의 누설 등의 경우에 갱신 처리가 실행되며, 이 갱신 처리는 키 관리 센터, 프로바이더, 결제 기관 등이 실행한다.
이 트리 구조에서, 도 18로부터 명백한 바와 같이, 하나의 그룹에 포함되는 4개의 디바이스 0, 1, 2, 3은 노드 키로서 공통의 키 K00, K0, KR을 보유한다. 이 노드 키 공유 구성을 이용함으로써, 예를 들면 공통의 암호화 콘텐츠 키를 디바이스 0, 1, 2, 3에만 제공하는 것이 가능해진다. 예를 들면, 공통으로 보유하는 노드 키 K00 자체를 콘텐츠 키로서 설정하면, 새로운 키 송부를 실행하지 않고 디바이스 0, 1, 2, 3만이 공통의 콘텐츠 키의 설정이 가능하다. 또한, 새로운 콘텐츠 키 Kcontent를 노드 키 K00으로 암호화한 값 Enc(K00, Kcontent)를, 네트워크를 통해 혹은 기록 매체에 저장하여 디바이스 0, 1, 2, 3에 배포하면, 디바이스 0, 1, 2, 3만이, 각각의 디바이스에서 보유하는 공유 노드 키 K00을 이용하여 암호 Enc(K00, Kcontent)를 풀어 콘텐츠 키:Kcontent를 얻는 것이 가능해진다. 또, Enc(Ka, Kb)는 KB을 Ka에 의해 암호화한 데이터인 것을 나타낸다.
또한, 임의의 시점 t에서, 디바이스 3이 소유하는 키: K0011, K001, K00, K0, KR이 공격자(해커)에 의해 해석되어 노출한 것이 발각한 경우, 그 이후, 시스템(디바이스 0, 1, 2, 3의 그룹)으로 송수신되는 데이터를 지키기 위해, 디바이스 3을 시스템으로부터 분리할 필요가 있다. 그 때문에, 노드 키: K001, K00, K0, KR을 각각 새로운 키 K(t)001, K(t)00, K(t)0, K(t)R로 갱신하고, 디바이스 0, 1, 2에 그 갱신 키를 전달할 필요가 있다. 여기서, K(t)aaa는 키 Kaaa의 세대: t의 갱신 키인 것을 나타낸다.
다음에 갱신 키의 배포 처리에 대하여 설명한다. 키의 갱신은, 예를 들면, 도 19A에 도시한 키 갱신 블록(KRB)이라고 불리는 블록 데이터에 의해 구성되는 테이블을 예를 들면 네트워크, 혹은 기록 매체에 저장하여 디바이스 0, 1, 2에 공급함으로써 실행된다.
도 19A에 도시한 키 갱신 블록(KRB)에는, 노드 키의 갱신이 필요한 디바이스만이 갱신 가능한 데이터 구성을 갖는 블록 데이터로서 구성된다. 도 19A의 예는, 도 18에 도시한 트리 구조 중의 디바이스 0, 1, 2에서, 세대 t의 갱신 노드 키를 배포하는 것을 목적으로서 형성된 블록 데이터이다. 도 18로부터 명백한 바와 같이, 디바이스 0, 디바이스 1은 갱신 노드 키로서 K(t)00, K(t)0, K(t)R이 필요하고, 디바이스 2는 갱신 노드 키로서 K(t)001, K(t)00, K(t)0, K(t)R이 필요하다.
도 19A의 KRB에 도시한 바와 같이 KRB에는 복수의 암호화 키가 포함된다. 최하단의 암호화 키는 Enc(K0010, K(t)001)이다. 이것은 디바이스 2가 갖는 리프 키 K0010에 의해 암호화된 갱신 노드 키 K(t)001이고, 디바이스 2는, 자신이 갖는 리프 키에 의해 이 암호화 키를 복호하여, K(t)001을 얻을 수 있다. 또한, 복호에 의해 얻은 K(t)001을 이용하여, 도 19A의 하단으로부터 2단째의 암호화 키 Enc (K(t)001, K(t)00)가 복호 가능해져서, 갱신 노드 키 K(t)00을 얻을 수 있다. 이하 순차적으로, 도 19A의 상단으로부터 2단째의 암호화 키 Enc(K(t)00, K(t)0)를 복호하고, 갱신 노드 키 K(t)0, 도 19A의 상단으로부터 1단째의 암호화 키 Enc(K(t)0, K(t)R)를 복호하여 K(t)R을 얻는다. 한편, 디바이스 0, 1은 노드 키 K000은 갱신할 대상에 포함되지 않고, 갱신 노드 키로서 필요한 것은, K(t)00, K(t)0, K(t)R이다. 디바이스 0, 1은, 도 19A의 상단으로부터 3단째의 암호화 키 Enc(K000, K(t)00)를 복호하여 K(t)00을 취득하고, 이하, 도 19A의 상단으로부터 2단째의 암호화 키 Enc(K(t)00, K(t)0)를 복호하여, 갱신 노드 키 K(t)0, 도 19A의 상단으로부터 1단째의 암호화 키 Enc(K(t)0, K(t)R)를 복호하여 K(t)R을 얻는다. 이와 같이 하여, 디바이스 0, 1, 2는 갱신한 키 K(t)R을 얻을 수 있다. 또, 도 19A의 인덱스는 복호 키로서 사용하는 노드 키, 리프 키의 절대 번지를 나타낸다.
도 18에 도시한 트리 구조의 상위단의 노드 키: K(t)0, K(t)R의 갱신이 불필요하고, 노드 키 K00만의 갱신 처리가 필요한 경우에는, 도 19B의 키 갱신 블록(KRB)을 이용함으로써, 갱신 노드 키 K(t)00을 디바이스 0, 1, 2에 배포할 수 있다.
도 19B에 도시한 KRB는, 예를 들면 특정한 그룹에서 공유하는 콘텐츠 키, 또는 마스터 키, 혹은 기록 매체에 고유의 미디어 키를 배포하는 경우에 이용하고 있 다. 구체예로서, 도 18에 점선으로 나타내는 그룹 내의 디바이스 0, 1, 2, 3에 콘텐츠 키로 암호화한 콘텐츠를 제공함과 함께, 암호화 처리한 콘텐츠 키 K(s) content를 제공할 필요가 있도록 한다. 여기서 s는 콘텐츠를 식별하기 위한 콘텐츠 ID를 나타낸다. 이 때, 디바이스 0, 1, 2, 3의 공통의 노드 키 K00을 갱신한 K(t)00을 이용하여 공통의 콘텐츠 키: K(s)content를 암호화한 데이터 Enc(K(t), K(s)content)를 도 19B에 도시한 KRB와 함께 배포한다. 이 배포에 의해, 디바이스 4 등, 그 밖의 그룹의 기기에서는 복호되지 않은 데이터로서의 배포가 가능해진다. 미디어 키 등, 각종 키에 대해서도 마찬가지이다.
즉, 디바이스 0, 1, 2, 3은 KRB을 처리하여 얻은 K(t)00을 이용하여 상기 암호문을 복호하면, t 시점에서의 콘텐츠 키: K(s)content나 미디어 키: K(t)media를 얻는 것이 가능하게 된다.
상술한 키 자신 구성으로서의 트리 구조의 각 리프에 배치된 정보 기록 재생 장치에 대하여 음악 데이터 등의 콘텐츠를 콘텐츠 키로 암호화하여 제공하는 경우, 그 데이터 구성은, 도 20에 도시한 형태로 된다.
도 20에 도시한 바와 같이, 데이터는 키 배신부와, 콘텐츠 데이터부로 구성된다. 키 배신부는, 상술한 키 갱신 블록(KRB)을 갖고, 또한, 키 갱신 블록(KRB)의 처리에 의해 얻어지는 갱신 노드 키에 의해서 암호화된 콘텐츠 키: K(s) content를 포함하는 구성으로 되어 있다. 콘텐츠 데이터부는 콘텐츠 키: K(s) content에 의해 암호화된 콘텐츠: Enc(K(s) content, Content)가 저장되어 있다.
상술한 바와 같이 키 갱신 블록(KRB)의 처리에 의해 갱신 노드 키를 취득 가 능한 정보 기록 재생 장치는 다양하게 설정하는 것이 가능하며, 도 20과 같은 암호화 콘텐츠의 제공 구성을 취함으로써, 특정한 정보 처리 장치만이 복호 가능한 콘텐츠를 제공하는 것이 가능해진다.
도 21에, 본 출원인의 선특허 출원인 특원2000-105329에서 제안한 콘텐츠 ID=s의 콘텐츠 키 K(s)content에 의해 암호화된 콘텐츠를 이용하는 처리예로서, KRB을 K0010을 이용하여 처리하고, 콘텐츠 키 K(s)content를 취득하여, 암호화한 데이터 Enc(K(s)content, content)로부터 콘텐츠를 취득하는 디바이스 2의 처리를 나타낸다.
도 18에 도시한 바와 같이, 임의의 기록 재생 시스템에는, 점선으로 둘러싸인, 디바이스 0, 1, 2, 3의 4개의 장치가 포함하도록 한다. 도 21은, 디바이스 3이 리보크된 상태에서, 콘텐츠 키 K(s)content를 사용하는 경우에, 기록 재생 장치(디바이스 2)에서 수령하는 데이터의 처리를 나타내고 있다. 즉, 콘텐츠 키 K(s)content를, 기록 매체에 저장되어 있는 KRB에 기초하여 구할 때의 처리를 나타내고 있다.
디바이스 2의 메모리에는, 자신에게만 할당된 리프 키 K0010과, 그곳으로부터 트리의 루트까지의 각 노드 001, 00, 0, R의 노드 키(각각, K001, K00, K0, KR)이 안전하게 저장되어 있다. 디바이스 2는, 도 21의 기록 매체에 저장되어 있는 KRB 중, 인덱스(index)가 0010의 암호문을 자신이 갖는 리프 키 K0010으로 복호하여 노드 001의 노드 키 K(t)001을 계산하고, 다음에 그것을 이용하여 인덱스(index)가 001의 암호문을 복호하여 노드 00의 노드 키 K(t)00을 계산하고, 다음에 그것을 이용하여 인덱스(index)가 00의 암호문을 복호하여 노드 0의 노드 키 K(t)O을 계산하고, 마지막으로 그것을 이용하여 인덱스(index)가 O의 암호문을 복호하여 노드 R의 노드 키 K(t)R을 계산하고, 또한, 노드 키 K(t)R을 이용하여, Enc(K(t)R, K(s)content)를 풀어 콘텐츠 ID=s의 콘텐츠 키 K(s)content를 취득한다.
그 취득한 콘텐츠 키 K(s)content를 이용하여 콘텐츠 데이터부에 저장된 암호화 콘텐츠: Enc(K(s) content, Content)를 복호하여 콘텐츠를 얻는다.
이러한 처리 단계를 전부 실행함으로써, 암호화 콘텐츠의 복호 처리가 가능해진다. 상술한 바와 같이 키 갱신 블록(KRB)의 처리에 의해 갱신 노드 키를 취득하는 처리는, 반복하여 마찬가지의 복호 처리를 실행하는 것이 필요하며, 이 계산 횟수는, 리프로부터 콘텐츠 키를 암호화한 노드 키까지의 깊이가 깊게 되는 데 비례하여 증가한다. 즉, 많은 기록 재생 장치가 존재하는 큰 시스템에서는 많은 계산이 필요해진다.
정보 기록 재생 장치는, 콘텐츠의 재생 시에서, 예를 들면 기록 매체에 저장되어 있는 KRB에 기초한 복수회의 복호 처리에 의해 콘텐츠 키를 산출하는 것이 요청된다. 예를 들면 콘텐츠 키가, 콘텐츠마다 다른 키로서 설정되어 있는 경우에는, 각각의 콘텐츠의 재생마다 상술의 KRB 처리를 실행하는 것이 필요하게 된다.
이들 처리를 경감하는 본 발명에서의 기록 재생 장치의 콘텐츠 키의 취급 구성을 설명하는 도면을 도 22에 도시한다. 본 발명의 구성에서는, 임의의 기록 매체에 저장되어 있는 KRB에서, 기록 재생 장치가 콘텐츠 키를 계산하는 부분까지는, 도 21의 처리와 마찬가지이지만, 본 발명에서는, 콘텐츠 키를 자신만이 아는 키, 즉, 정보 기록 재생 장치 고유의 키, 예를 들면 트리 구조에서 자신만에게 할당되어 있는 리프 키를 이용하여 암호화하여, 예를 들면 사전에 기록 매체에 준비 되어 있는 영역에, 기록 재생 장치의 고유 키 식별 정보, 예를 들면 그 기록 재생 장치에 할당된 리프 번호와 함께 기록하는 구성으로 하였다. 예를 들면 도 22에 도시한 바와 같이 디바이스 2의 경우, 리프 키를 이용하여 암호화한 콘텐츠 키 Enc(K0010, K(s)content)는, 도 22에 도시한 바와 같이, 콘텐츠 키 저장 테이블로서, 대응 콘텐츠와 조로 하여 기록 매체에 저장한다.
이와 같은 콘텐츠 키 저장 테이블의 저장 구성을 채용함으로써, KRB의 복수단의 복호 처리에 의해 취득한 콘텐츠 키를 재차 사용할 때, 새롭게 복수단의 복호 처리를 실행하지 않고, 간단한 복호 처리만으로도 콘텐츠 키를 취득하는 것이 가능해진다. 즉, 동일한 기록 재생 장치가 이 기록 매체를 2번째 이후에 액세스할 때에는, 일부러 KRB을 이용하여 대량의 계산을 행하지 않더라도, 콘텐츠 키 저장 테이블에 저장하고 있는 암호문을 자신의 고유 키로 복호함으로써 콘텐츠 키를 얻는 것이 가능해진다. 또, 디바이스에 저장된 암호화 콘텐츠 키는, 그 디바이스에 고유의 리프 키에 의해서만 복호 가능하기 때문에, 다른 디바이스에 기록 매체를 장착하여도, 암호화 콘텐츠 키를 복호하여 취득하는 것은 불가능하다.
본 발명에서의 기록 재생 장치가, 콘텐츠를 이용할 때, 즉, 예를 들면 기록 매체가 기록 재생 장치에 장착되고, 암호화 콘텐츠 키를 취득하여 콘텐츠를 복호, 재생하는 처리를 나타내는 흐름을 도 23에 도시한다. 도 23의 처리 흐름에 대하여 설명한다. 이하는, 기록 매체로부터의 콘텐츠의 재생에 관하여 설명을 행하지만, 통신 매체로부터 콘텐츠를 취득하는 경우에서도 마찬가지이다.
단계 S701에서, 기록 재생 장치는 기록 매체에 기록되어 있는 콘텐츠와 함께 기록되어 있는 콘텐츠 키 저장 테이블을 판독한다.
단계 S702에서, 콘텐츠 키 저장 테이블의 인덱스부를 보고, 자신 자신에 할당된 리프 번호가 있는지의 여부, 즉, 자신이 저장한 데이터가 있는지의 여부를 검사한다. 만일 그 데이터가 없으면 단계 S703으로 진행하고, 있으면 단계 S710으로 진행한다.
단계 S703에서는, 기록 재생 장치는, 기록 매체로부터 KRB을 판독한다. 단계 S704에서, 기록 재생 장치는 단계 S703에서 판독한 KRB와, 자신이 메모리에 저장하고 있는 리프 키(도 18의 디바이스 2에서는, K0010) 및 노드 키(도 18의 디바이스 2에서는, K001, K00...)을 이용하여, 현재 자신이 재생하려고 하고 있는 콘텐츠의 식별 번호: 콘텐츠 ID (도 22에서의 ts)의 KRB에서의 노드 R의 키, 즉 루트 키 K(t)R을 계산한다. 또, 이 예에서는, 루트 키 K(t)R에 의해, 콘텐츠 키가 암호화되어 제공되어 있는 예를 나타내고 있지만, 루트 키보다 하위의 노드 키를 이용하여, 갱신 노드 키 K(t)xx를 설정하고, 그 갱신 노드 키 K(t)xx에 의해 콘텐츠 키를 암호화하여, 특정한 그룹에만 복호 가능한 콘텐츠 키를 배포하는 구성으로 한 경우에는, 그 갱신 노드 키를 계산에 의해 산출한다.
단계 S705에서, 기록 매체로부터 Enc(K(t)R, K(s)content), 즉, K(t)R을 이용하여 콘텐츠 키 K(s)content를 암호화한 값을 판독한다.
그리고 단계 S706에서, 이 암호문을 K(t)R을 이용하여 복호하여 K(s) content를 계산한다. 단계 S707에서는, 기록 재생 장치는 기록 매체 상의 그 콘텐츠의 콘텐츠 키 저장 테이블에, 자신이 기록을 행하는 스페이스가 남아 있는 지의 여부를 확인한다. 스페이스가 남아 있으면, 단계 S708로 진행하고, 스페이스가 남아 있지 않으면, 단계 S708 및 단계 S709의 처리를 스킵하여 단계 S712로 진행한다.
단계 S708에서는, 자신만이 갖는 리프 키(예를 들면, 도 18의 디바이스 2에서는, K0010)를 이용하여 콘텐츠 키 K(s)content를 암호화한다.
단계 S709에서, 단계 S708에서 작성한 암호문과, 자신의 식별 정보가 되는 리프 키의 번호(리프 번호) 0010(도 18의 디바이스 2의 경우)을, 기록 매체의 콘텐츠 키 저장 테이블에 기록하여, 단계 S712로 진행한다.
한편, 단계 S702에서, 자신이 저장한 암호문이 콘텐츠 키 저장 테이블에서 발견된 경우에는 S710으로 진행하고, 기록 재생 장치는 기록 매체로부터 그 암호문을 판독한다.
단계 S711에서, 자신의 리프 키를 이용하여 그 암호문을 복호함으로써, 그 콘텐츠의 콘텐츠 키를 얻어, 단계 S712로 진행한다. 단계 S712에서는, 기록 매체로부터 콘텐츠 데이터부를 판독하고, 단계 S706 또는 단계 S711에서 얻은 콘텐츠 키를 이용하여 복호함으로써 평문 데이터를 얻어, 이용한다.
이와 같이 함으로써, 기록 재생 기기가, 콘텐츠를 이용할 때마다 KRB을 이용하여 콘텐츠 키를 계산하는 처리를 대폭 감소시키는 것이 가능해진다.
콘텐츠를 기록 매체에 기록할 때는, 통신 매체 또는 기록 매체를 통해 전송 혹은 공급된 도 20에 도시한 콘텐츠, 즉 콘텐츠 데이터와, 키 배신부를 간단히 기록 매체에 기록한다. 이 때, 콘텐츠 재생 처리와 마찬가지로, 도 23의 단계 S701∼S709의 처리를 행한다. 이 처리 흐름을 도 24에 도시한다.
도 24의 콘텐츠 기록 시의 처리에서는, 도 23의 콘텐츠 재생 시의 처리와 거의 마찬가지의 처리가 실행된다. 단계 S801에서, 기록 재생 장치는 기록 매체에 기록되어 있는 콘텐츠 키 저장 테이블을 판독한다.
단계 S802에서, 콘텐츠 키 저장 테이블의 인덱스를 보고, 자기 자신에 할당된 리프 번호가 있는지의 여부, 즉, 자신이 저장한 데이터가 있는지의 여부를 검사한다. 만일 그 데이터가 없으면 단계 S803으로 진행하고, 있으면 단계 S812로 진행한다.
단계 S803에서는, 기록 재생 장치는, 기록 매체로부터 KRB을 판독한다. 단계 S804에서, 기록 재생 장치는 단계 S803에서 판독한 KRB와, 자신이 메모리에 저장하고 있는 리프 키(도 18의 디바이스 2에 있어서의 K0010) 및 노드 키(도 18의 디바이스 2에서의 K001, K00...)를 이용하여, 콘텐츠의 식별 번호: 콘텐츠 ID(도 22에서의 s)의 KRB에서의 노드 R의 키, 즉 루트 키 K(t)R을 계산한다.
단계 S805에서, 기록 매체로부터 Enc(K(t)R, K(s)content), 즉, K(t)R을 이용하여 콘텐츠 키 K(s)content를 암호화한 값을 판독한다.
그리고 단계 S806에서, 이 암호문을 K(t)R을 이용하여 복호하여 K(s)content를 계산한다. 단계 S807에서는, 기록 재생 장치는 기록 매체 상의 그 콘텐츠의 콘 텐츠 키 저장 테이블에, 자신이 기록을 행하는 스페이스가 남아 있는지의 여부를 확인한다. 스페이스가 남아 있으면 단계 S808로 진행하고, 스페이스가 남아 있지 않으면 단계 S808 및 단계 S809의 처리를 스킵하여 단계 S812로 진행한다.
또한, 단계 S808에서는, 자신만이 갖는 리프 키(예를 들면 도 18의 디바이스 2에서는 K0010)를 이용하여 콘텐츠 키 K(s)content를 암호화한다.
단계 S809에서, 단계 S808에서 작성한 암호문과, 자신의 식별 정보가 되는, 리프 키의 번호 0010(도 18의 디바이스 2의 경우)을, 기록 매체의 콘텐츠 키 저장 테이블에 기록하고, 단계 S812로 진행한다.
한편, 단계 S802에서, 자신이 저장한 암호문이 콘텐츠 키 저장 테이블에서 발견된 경우에는, 단계 S803∼S809를 스킵하여 단계 S812로 진행한다.
단계 S812에서는, 통신 매체 또는 기록 매체를 통해 전송 혹은 공급된 콘텐츠, 즉 콘텐츠 키K(s)content에서 암호화되어 있는 콘텐츠 데이터부와, 키 배신부를, 그대로 기록 매체에 저장한다. 또, 이 예에서는, 콘텐츠의 저장을 마지막으로 하고 있지만, 콘텐츠는 사전에 도 20에 도시한 바와 같이 암호화되어 있는 것으로, 단계 S801의 앞에 콘텐츠 기록 매체에 저장하여도 되고, 콘텐츠 저장 처리는 언제든지 실행하여도 된다.
이와 같이 데이터 기록 시의 콘텐츠 키를 자신의 장치 고유의 키, 예를 들어리프 키에 의해 암호화하여 기록 매체에 저장함으로써, 그 후, 기록 재생 기기가 콘텐츠를 이용할 때 KRB을 이용하여 콘텐츠 키를 계산하는 처리를 대폭 감소시키는 것이 가능해진다.
상술의 실시예에서는, 앞의 도 22를 참조하여 설명한 바와 같이, 개개의 기록 재생 장치가 이용하는 콘텐츠 키 저장 테이블을 기록 매체 상에 콘텐츠와 함께놓았지만, 본 실시예에서는, 도 25에 도시한 바와 같이, 개개의 기록 재생 장치 내에 기억 수단, 예를 들면 도 1에 도시한 기록 재생 장치(100)의 메모리(180)에, 콘텐츠 키를 저장한다.
기록 재생 장치(100)의 메모리(180)에 암호화 처리를 실시한 콘텐츠 키를 저장하는 저장 양태는, 콘텐츠 키의 콘텐츠 ID를 인덱스로 하여, 암호화 처리를 실시한 콘텐츠 키를 대응한 콘텐츠 키 저장 테이블 구성으로 하고 있다. 복수의 다른 콘텐츠 ID의 콘텐츠 키를 저장하는 경우를 고려한 구성으로 하고 있다.
상술의 실시예와 마찬가지의 전제에서, 본 실시예에서의 기록 재생 장치가, 콘텐츠를 이용할 때, 즉, 예를 들면 암호화 콘텐츠가 저장된 기록 매체가 기록 재생 장치에 장착되며, 암호화 콘텐츠를 복호하여 재생하는 흐름을 도 26에 도시한다.
단계 S1001에서, 기록 재생 장치는 기록 매체로부터, 자신이 재생하려고 하고 있는 콘텐츠의 식별 번호인 콘텐츠 ID(Content ID)(도 25의 예에서는 s)를 판독한다.
단계 S1002에서, 기록 재생 장치는 기록 장치 자신의 내부에 저장되어 있는 콘텐츠 키 저장 테이블에 s와 콘텐츠 ID를 갖는 콘텐츠 키가 저장되어 있는지의 여부를 검사한다. 저장되어 있지 않으면 단계 S1003으로 진행하여, 저장되어 있으면 단계 S1010으로 진행한다.
단계 S1003 내지 단계 S1006의 처리는, 각각 도 23의 단계 S703 내지 단계 S706의 각 처리와 마찬가지이기 때문에 설명을 생략하지만, 이들 처리 결과, 기록 재생 기기는 콘텐츠 키를 얻는다.
단계 S1007에서, 기록 재생 기기는 자신의 기록 수단의 콘텐츠 키 저장 테이블에 새롭게 콘텐츠 키를 저장하는 스페이스가 있는지의 여부를 확인한다. 스페이스가 있으면 단계 S1008로 진행하고, 없으면 단계 S1008 및 단계 S1009의 처리를 스킵한다.
단계 S1008에서는, 도 23의 단계 S708과 마찬가지로, 자신의 리프 키를 이용하여 콘텐츠 키를 암호화한다. 단계 S1009에서, 상기 암호문을, 식별 정보인 콘텐츠 ID와 함께 콘텐츠 키 저장 테이블에 저장하고, 단계 S1012로 진행한다.
단계 S1002에서, 콘텐츠 ID에 대응한 암호문이 콘텐츠 키 저장 테이블에 발견된 경우에는 단계 S1010으로 진행하고, 기록 재생 장치는 콘텐츠 키 저장 테이블에서 그 암호문을 판독한다. 단계 S1011에서, 도 23의 단계 S711과 마찬가지로, 자신의 리프 키를 이용하여 그 암호문을 복호함으로써, 그 콘텐츠의 콘텐츠 키를 얻어 단계 S1012로 진행한다.
단계 S1012에서는, 도 23의 단계 S712와 마찬가지로, 기록 매체로부터 콘텐츠 데이터부를 판독하고, 단계 S1006 또는 단계 S1011에서 얻은 콘텐츠 키를 이용하여 암호화 콘텐츠의 복호 처리를 실행하여, 음악 데이터 등의 콘텐츠의 평문 데이터를 얻어 재생 이용한다.
또, 상기한 실시예에서는, 콘텐츠 키 저장 테이블에 콘텐츠 키를 저장할 때 자신의 리프 키를 이용하여 암호화하도록 하고 있지만, 예를 들면 콘텐츠 키 저장 테이블의 내용이 외부로 노출하지 않고, 안전한 기록을 행할 수 있는 경우에는, 반드시 암호화는 필요하지 않다. 또한, 상기한 예에서는, 콘텐츠를 이용할 때 콘텐츠 키 저장 테이블에 자신의 리프로 암호화한 콘텐츠 키를 저장하도록 하고 있다. 이 콘텐츠를 기록 매체에 기록할 때, 즉, 콘텐츠 키를 이용하여 콘텐츠를 암호화하여 기록 매체에 저장하고, 그 암호화에 이용한 콘텐츠 키를 상술과 마찬가지로 콘텐츠 키 저장 테이블에 저장하는 처리를 행하는 구성으로 하여도 된다.
또한, 상술의 실시예를 조합하여, 콘텐츠 키 저장 테이블을 기록 매체와 기록 재생 장치의 양쪽에 갖게 하도록 하는 것도 가능하다. .
또, 상술의 예에서는, 키를 배신하기 위한 데이터를 키 갱신 블록(KRB)이라는 표현을 이용하여 설명하였지만, 키 갱신 블록은, 키의 갱신에 한정되는 것이 아니라, 키의 배포 전반에 적응 가능한 것은, 상술의 설명으로부터 명백하다.
그런데, 콘텐츠의 저작권자 등의 이익을 보호하기 위해서는 라이센스를 받은장치에서, 콘텐츠의 복사를 제어할 필요가 있다.
즉, 콘텐츠를 기록 매체에 기록하는 경우에는, 그 콘텐츠가, 복사해도 되는 (복사 가능)인지의 여부를 조사하여, 복사해도 되는 콘텐츠만을 기록하도록 할 필요가 있다. 또한, 기록 매체에 기록된 콘텐츠를 재생하여 출력하는 경우에는, 그 출력하는 콘텐츠가, 후에, 위법 복사되지 않도록 할 필요가 있다.
그래서, 그와 같은 콘텐츠의 복사 제어를 행하면서, 콘텐츠의 기록 재생을 행하는 경우의 도 1의 기록 재생 장치의 처리에 대하여, 도 27A 및 도 27B 및 도 28A, 도 28B의 흐름도를 참조하여 설명한다.
우선, 외부로부터의 디지털 신호의 콘텐츠를, 기록 매체에 기록하는 경우에서는, 도 27A의 흐름도에 따른 기록 처리가 행해진다. 도 27A의 처리에 대하여 설명한다. 여기서는, 도 1의 기록 재생기(100)를 예로 하여 설명한다. 디지털 신호의 콘텐츠(디지털 콘텐츠)가, 예를 들면, IEEE 1394 직렬 버스 등을 통해 입출력 I/F(120)에 공급되면, 단계 S1801에서, 입출력 I/F(120)는, 그 디지털 콘텐츠를 수신하여, 단계 S1802로 진행한다.
단계 S1802에서는, 입출력 I/F(120)는 수신한 디지털 콘텐츠가, 복사 가능인지의 여부를 판정한다. 즉, 예를 들면, 입출력 I/F(120)가 수신한 콘텐츠가 암호화되어 있지 않은 경우(예를 들면, 상술의 DTCP를 사용하지 않고, 평문의 콘텐츠가, 입출력 I/F(120)에 공급된 경우)에는, 그 콘텐츠는, 복사 가능이라고 판정된다.
또한, 기록 재생 장치(100)가 DTCP에 준거하고 있는 장치로 하고, DTCP에 따라 처리를 실행하도록 한다. DTCP에서는, 복사를 제어하기 위한 복사 제어 정보로서의 2비트의 EMI(Encryption Node Indicator)가 규정되어 있다. EMI가 00B(B는, 그 이전의 값이 2진수인 것을 나타냄)인 경우에는, 콘텐츠가 무제한 복사(copy-freely)인 것을 나타내며, EMI가 01B인 경우에는, 콘텐츠가, 그 이상의 복사를 할 수 없는 것(no-more-copies)인 것을 나타낸다. 또한, EMI가 10B인 경우에는, 콘텐츠가, 1번만 복사하여야 하는(Copy-one-generation) 것을 나타내며, EMI가 11B인 경우에는, 콘텐츠가 복사가 금지되어 있는 것(Copy-never)인 것을 나타낸다.
기록 재생 장치(100)의 입출력 I/F(120)에 공급되는 신호에 EMI가 포함되고, 그 EMI가, Copy-freely나 Copy-one-generation일 때는 콘텐츠는 복사 가능이라고 판정된다. 또한, EMI가 No-more-copies나 Copy-never일 때는, 콘텐츠는 복사 가능이 아니라고 판정된다.
단계 S1802에서, 콘텐츠가 복사 가능이 아니라고 판정된 경우, 단계 S1803∼S2804를 스킵하여, 기록 처리를 종료한다. 따라서, 이 경우에는, 콘텐츠는 기록 매체(10)에 기록되지 않는다.
또한, 단계 S1802에서, 콘텐츠가 복사 가능이라고 판정된 경우, 단계 S2803으로 진행하고, 이하, 단계 S1803∼S1804에서, 도 2A의 단계 S202, S203에서의 처리와 마찬가지의 처리가 행해진다. 즉, 암호 처리 수단(150)에서의 암호화 처리가 실행되고, 그 결과 얻어지는 암호화 콘텐츠를, 기록 매체(195)에 기록하여, 기록 처리를 종료한다.
또, EMI는 입출력 I/F(120)에 공급되는 디지털 신호에 포함되는 것으로, 디지털 콘텐츠가 기록되는 경우에는, 그 디지털 콘텐츠와 함께, EMI, 혹은, EMI와 마찬가지로 복사 제어 상태를 나타내는 정보(예를 들면, DTCP에서의 embedded CCI 등)도 기록된다.
이 때, 일반적으로는, Copy-One-Generation을 나타내는 정보는, 그 이상의 복사를 허용하지 않도록, No-more-copies로 변환되어 기록된다.
외부로부터의 아날로그 신호의 콘텐츠를, 기록 매체에 기록하는 경우에서는, 도 27B의 흐름도에 따른 기록 처리가 행해진다. 도 27B의 처리에 대하여 설명한다. 아날로그 신호의 콘텐츠(아날로그 콘텐츠)가, 입출력 I/F(140)에 공급되면, 입출력 I/F(140)는, 단계 S1811에서, 그 아날로그 콘텐츠를 수신하여, 단계 S1812으로 진행하고, 수신한 아날로그 콘텐츠가 복사 가능인지의 여부를 판정한다.
여기서, 단계 S1812의 판정 처리는, 예를 들면, 입출력 I/F(140)로 수신한 신호에, 매크로비전(Macrovision) 신호나, CGMS-A(Copy Generation Management System-Analog) 신호가 포함되는지 여부에 기초하여 행해진다. 즉, 매크로비전 신호는, VHS 방식의 비디오 카세트 테이프에 기록하면, 노이즈로 된 신호이고, 이것이 입출력 I/F(140)로 수신한 신호에 포함되는 경우에는, 아날로그 콘텐츠는 복사 가능이 아니라고 판정된다.
또한, 예를 들면, CGMS-A 신호는, 디지털 신호의 복사 제어에 이용되는 CGMS 신호를,아날로그 신호의 복사 제어에 적용한 신호로, 콘텐츠가 무제한 복사, 1번만 복사, 또는 복사가 금지되어 있는 것 중 어떠한 것인지를 나타낸다.
따라서, CGMS-A 신호가 입출력 I/F(140)로 수신한 신호에 포함되며, 또한, 그 CGMS-A 신호가, Copy-freely나 Copy-one-generation을 나타내고 있는 경우에는, 아날로그 콘텐츠는, 복사 가능이라고 판정된다. 또한, CGMS-A 신호가, Copy-never를 나타내고 있는 경우에는, 아날로그 콘텐츠는, 복사 가능이 아니라고 판정된다.
또한, 예를 들면, 매크로비전 신호도, CGMS-A 신호도, 입출력 I/F(140)로 수신한 신호에 포함되지 않는 경우에는, 아날로그 콘텐츠는, 복사 가능이라고 판정된다.
단계 S1812에서, 아날로그 콘텐츠가 복사 가능이 아니라고 판정된 경우, 단 계 S1813 내지 단계 S1816을 스킵하여, 기록 처리를 종료한다. 따라서, 이 경우에는, 콘텐츠는 기록 매체(195)에 기록되지 않는다.
또한, 단계 S1812에서, 아날로그 콘텐츠가 복사 가능이라고 판정된 경우, 단계 S1813으로 진행하고, 이하, 단계 S1813 내지 단계 S1816에서, 도 2B의 단계 S222 내지 단계 S225에서의 처리와 마찬가지의 처리가 행해지고, 이에 따라, 콘텐츠가 디지털 변환, MPEG 부호화, 암호화 처리가 이루어져 기록 매체에 기록되며, 기록 처리를 종료한다.
또, 입출력 I/F(140)로 수신한 아날로그 신호에, CGMS-A 신호가 포함되어 있는 경우에, 아날로그 콘텐츠를 기록 매체에 기록하기 위해서는, 그 CGMS-A 신호도, 기록 매체에 기록된다. 이 때, 일반적으로는, Copy-0ne-Generation을 나타내는 정보는, 그 이상의 복사를 허용하지 않도록 No-more-copies로 변환되어 기록된다. 단, 시스템에서 예를 들면「Copy-one-generation의 복사 제어 정보는, No-more-copies로 변환하지 않고 기록하거나, No-more-copies로서 취급한다」등의 룰이 정해져 있는 경우에는, 이것으로 한정되지는 않는다.
다음에, 기록 매체에 기록된 콘텐츠를 재생하여, 디지털 콘텐츠로서 외부로 출력하는 경우에서는, 도 28A의 흐름도에 따른 재생 처리가 행해진다. 도 28A의 처리에 대하여 설명한다. 최초로, 단계 S1901, 단계 S1902에서, 도 3A의 단계 S301, 단계 S302에서의 처리와 마찬가지의 처리가 행해지고, 이에 따라, 기록 매체로부터 판독된 암호화 콘텐츠가 암호 처리 수단(150)에서 복호 처리가 이루어져, 복호 처리가 실행된 디지털 콘텐츠는 버스(110)를 통해 입출력 I/F(120)에 공급된 다.
입출력 I/F(120)는, 단계 S1903에서, 거기에 공급되는 디지털 콘텐츠가, 후에 복사 가능한 것인지의 여부를 판정한다. 즉, 예를 들면, 입출력 I/F(120)에 공급되는 디지털 콘텐츠에 EMI, 혹은, EMI와 마찬가지로 복사 제어 상태를 나타내는 정보(복사 제어 정보)가 포함되지 않는 경우에는, 그 콘텐츠는, 후에 복사 가능한 것이라고 판정된다.
또한, 예를 들면, 입출력 I/F(120)에 공급되는 디지털 콘텐츠에 EMI 등의 복사 제어 정보가 포함되는 경우, 따라서, 콘텐츠의 기록 시에, DTCP의 규격에 따라 EMI가 기록된 경우에는, 그 EMI(기록된 EMI(Recorded EMI))가, Copy-freely일 때는 콘텐츠는, 후에 복사 가능한 것이라고 판정된다. 또한, EMI가, No-more-copies 일 때는 콘텐츠는 후에 복사 가능한 것이 아니라고 판정된다.
또, 일반적으로는, 기록된 EMI 등의 복사 제어 정보가, Copy-one-generation이나 Copy-never인 것은 아니다. Copy-one-generation의 EMI는 기록 시에 No-more-copies로 변환되고, 또한, Copy-never의 EMI를 갖는 디지털 콘텐츠는 기록 매체에 기록되지 않기 때문이다. 단, 시스템에서 예를 들면「Copy-one-generation의 복사 제어 정보는, No-more-copies로 변환하지 않고 기록하지만, No-more-copies로서 취급한다」등의 룰이 정해져 있는 경우에는, 이것으로 한정되지는 않는다.
단계 S1903에서, 콘텐츠가, 후에 복사 가능한 것이라고 판정된 경우, 단계 S1904로 진행하고, 입출력 I/F(120)는 그 디지털 콘텐츠를, 외부로 출력하고, 재생 처리를 종료한다.
또한, 단계 S1903에서, 콘텐츠가, 후에 복사 가능한 것이 아니라고 판정된 경우, 단계 S1903으로 진행하고, 입출력 I/F(120)는, 예를 들면, DTCP의 규격 등에 따라, 디지털 콘텐츠를, 그 디지털 콘텐츠가 후에 복사되지 않는 형태로 외부로 출력하고, 재생 처리를 종료한다.
즉, 예를 들면, 상술된 바와 같이, 기록된 EMI 등의 복사 제어 정보가, No-more-copies인 경우(혹은, 시스템에서 예를 들면「Copy-one-generation의 복사 제어 정보는, No-more-copies로 변환하지 않고 기록하지만, No-more-copies로서 취급한다」라는 룰이 정해져 있어서, 그 조건 하에서 기록된 EMI가 Copy-one-generation인 경우)에는, 콘텐츠는, 그 이상의 복사는 허용되지 않는다.
이 때문에, 입출력 I/F(120)는, DTCP의 규격에 따른, 상대의 장치 사이에서 인증을 서로 행하여, 상대가 정당한 장치인 경우(여기서는, DTCP의 규격에 준거한 장치인 경우)에는, 디지털 콘텐츠를 암호화하여, 외부로 출력한다.
다음에, 기록 매체에 기록된 콘텐츠를 재생하여, 아날로그 콘텐츠로서 외부로 출력하는 경우에서는, 도 28B의 흐름도에 따른 재생 처리가 행해진다. 도 28B의 처리에 대하여 설명한다. 단계 S1911 내지 S1914에서, 도 3B의 단계 S321 내지 S324에서의 처리와 마찬가지의 처리가 행해진다. 즉, 암호화 콘텐츠의 판독, 복호 처리, MPEG 디코드, D/A 변환이 실행된다. 이에 따라 얻어지는 아날로그 콘텐츠는 입출력 I/F(140)로 수신된다.
입출력 I/F(140)는 단계 S1915에서, 거기에 공급되는 콘텐츠가, 후에 복사 가능한 것인지의 여부를 판정한다. 즉, 기록되어 있던 콘텐츠에 EMI 등의 복사 제 어 정보가 함께 기록되어 있지 않은 경우에는, 그 콘텐츠는, 후에 복사 가능한 것이라고 판정된다.
또한, 콘텐츠의 기록 시에, 예를 들면, DTCP의 규격에 따라 EMI 등의 복사 제어 정보가 기록된 경우에는, 그 정보가, Copy-freely일 때는, 콘텐츠는 후에 복사 가능한 것이라고 판정된다.
또한, EMI 등의 복사 제어 정보가, No-more-copies인 경우, 혹은, 시스템에서 예를 들면「Copy-one-generation의 복사 제어 정보는, No-more-copies로 변환하지 않고서 기록하지만, No-more-copies로서 취급한다」라는 룰이 정해져 있다. 그 조건 하에서 기록된 EMI 등의 복사 제어 정보가 Copy-one-generation인 경우에는, 아날로그 콘텐츠는 후에 복사 가능한 것이 아니라고 판정된다.
또한, 예를 들면, 입출력 I/F(140)에 공급되는 콘텐츠에 CGMS-A 신호가 포함되는 경우, 따라서, 콘텐츠의 기록 시에, 그 콘텐츠와 함께 CGMS-A 신호가 기록된 경우에는, 그 CGMS-A 신호가, Copy-freely일 때는, 콘텐츠는 후에 복사 가능한 것이라고 판정된다. 또한, CGMS-A 신호가, Copy-never일 때는, 콘텐츠는, 후에 복사 가능한 것이 아니라고 판정된다.
단계 S1915에서, 콘텐츠가, 후에 복사 가능이라고 판정된 경우, 단계 S1916으로 진행하고, 입출력 I/F(140)는 거기에 공급된 아날로그 신호를, 그대로 외부로 출력하여, 재생 처리를 종료한다.
또한, 단계 S1915에서, 콘텐츠가 후에 복사 가능이 아니라고 판정된 경우, 단계 S1917로 진행하고, 입출력 I/F(140)는 아날로그 콘텐츠를, 그 아날로그 콘텐 츠가 후에 복사되지 않은 형태로 외부로 출력하고, 재생 처리를 종료한다.
즉, 예를 들면, 상술된 바와 같이, 기록된 EMI 등의 복사 제어 정보가, No-more-copies인 경우(혹은, 시스템에서 예를 들면「Copy-one-generation의 복사 제어 정보는, No-more-copies로 변환하지 않고 기록하지만, No-more-copies로서 취급한다」라는 룰이 정해져 있어, 그 조건 하에서 기록된 EMI 등의 복사 제어 정보가 Copy-one-generation인 경우)에는, 콘텐츠는, 그 이상의 복사는 허용되지 않는다.
이 때문에, 입출력 I/F(140)는 아날로그 콘텐츠에, 예를 들면, 매크로비전 신호나, Copy-never를 나타내는 CGMS-A 신호를 부가하여, 외부로 출력한다. 또한, 예를 들면, 기록된 CGMS-A 신호가, Copy-never인 경우에도, 콘텐츠는, 그 이상의 복사는 허용되지 않는다. 이 때문에, 입출력 I/F(140)는 CGMSA 신호를 Copy-never로 변경하고, 아날로그 콘텐츠와 함께 외부로 출력한다.
이상과 같이, 콘텐츠의 복사 제어를 행하면서, 콘텐츠의 기록 재생을 행함으로써, 콘텐츠에 허용된 범위 외의 복사(위법 복사)가 행해지는 것을 방지하는 것이 가능해진다.
또, 상술한 일련의 처리는, 하드웨어에 의해 행하는 것은 물론, 소프트웨어에 의해 행할 수도 있다. 즉, 예를 들면, 암호 처리 수단(150)은 암호화/복호 LSI로서 구성하는 것도 가능하지만, 범용의 컴퓨터나, 1칩의 마이크로 컴퓨터에 프로그램을 실행시킴에 따라 행하는 구성으로 하는 것도 가능하다. 일련의 처리를 소프트웨어에 의해 행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 범용의 컴퓨터나 1칩의 마이크로 컴퓨터 등에 인스톨된다. 도 29는, 상술한 일련의 처리 를 실행하는 프로그램이 인스톨되는 컴퓨터의 일 실시 형태의 구성예를 나타내고 있다.
프로그램은, 컴퓨터에 내장되어 있는 기록 매체로서의 하드디스크(2005)나 ROM(2003)에 사전에 기록해 둘 수 있다. 또는, 프로그램은 플로피 디스크, CD-ROM(Compact Disc Read Only Memory), MO(Magneto Optical) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 반도체 메모리 등의 제거 가능한 기록 매체(2010)에, 일시적 혹은 영속적으로 저장(기록)해 두는 것이 가능하다. 이러한 제거할 수 있는 기록 매체(2010)는, 소위 패키지 소프트웨어로서 제공할 수 있다.
또, 프로그램은, 상술한 바와 같은 제거 가능한 기록 매체(2010)로부터 컴퓨터에 인스톨하는 것 외에, 다운로드 사이트에서, 디지털 위성 방송용의 인공위성을 통해, 컴퓨터에 무선으로 전송하거나, LAN(Local Area Netvork), 인터넷이라고 하는 네트워크를 통해 컴퓨터에 유선으로 전송하고, 컴퓨터에서는, 그와 같이 하여 전송되어 오는 프로그램을, 통신부(2008)에서 수신하여, 내장하는 하드디스크(2005)에 인스톨하는 것이 가능하다.
컴퓨터는, CPU(Central Processing Unit: 2002)를 내장하고 있다. CPU(2002)에는 버스(2001)를 통해 입출력 인터페이스(2011)가 접속되어 있으며, CPU(2002)는 입출력 인터페이스(2010)를 통해 사용자에 의해 키보드나 마우스 등으로 구성되는 입력부(2707)가 조작됨으로써 지령 입력되면, 그에 따라서, ROM(2003)에 저장되어 있는 프로그램을 실행한다.
또는, CPU(2002)는 하드디스크(2005)에 저장되어 있는 프로그램, 위성 혹은 네트워크로부터 전송되고, 통신부(2008)에서 수신되어 하드디스크(2005)에 인스톨된 프로그램, 또는 드라이브(2009)에 장착된 제거할 수 있는 기록 매체(2010)로부터 판독되어 하드디스크(2005)에 인스톨된 프로그램을, RAM(2004)에 로드하여 실행한다.
이에 따라, CPU(2002)는 상술한 흐름도에 따른 처리, 혹은 상술한 블록도의 구성에 의해 행해지는 처리를 행한다. 그리고, CPU(2002)는 그 처리 결과를, 필요에 따라서, 예를 들면, 입출력 인터페이스(2011)를 통해 LCD(Liquid Crystal Display)나 스피커 등으로 구성되는 출력부(2006)로부터 출력, 혹은, 통신부(2008)로부터 송신, 나아가서는, 하드디스크(2005)에 기록시킨다.
여기서, 본 명세서에서, 컴퓨터에 각종 처리를 행하게 하기 위한 프로그램을 기술하는 처리 단계는, 반드시 흐름도로서 기재된 순서에 따라 시계열로 처리할 필요는 없고, 병렬적 혹은 개별로 실행되는 처리(예를 들면, 병렬 처리 혹은 오브젝트에 의한 처리)도 포함하는 것이다.
또한, 프로그램은, 하나의 컴퓨터에 의해 처리되는 것이어도 되고, 복수의 컴퓨터에 의해 분산 처리되는 것이어도 무방하다. 또한, 프로그램은, 먼 쪽의 컴퓨터에 전송되어 실행되는 것이어도 된다.
또, 본 실시 형태에서는, 콘텐츠의 암호화/복호를 행하는 블록을, 1칩의 암호화/복호 LSI로 구성하는 예를 중심으로 하여 설명하였지만, 콘텐츠의 암호화/복호를 행하는 블록은, 예를 들면, 도 1에 도시한 CPU(170)가 실행하는 1개의 소프트웨어 모듈로서 실현하는 것도 가능하다.
이상 특정한 실시예를 참조하면서, 본 발명에 대하여 상세히 설명해 왔다. 그러나, 본 발명의 요지를 일탈하지 않는 범위에서 당업자가 그 실시예의 수정이나 대용을 할 수 있는 것은 자명하다. 즉, 예시라는 형태로 본 발명을 개시한 것으로, 한정적으로 해석되어서는 안된다. 본 발명의 요지를 판단하기 위해서는, 이후에 기재하는 청구의 범위 란을 참작하여야 한다.
이상, 설명한 바와 같이, 본 발명의 정보 기록 재생 장치에 따르면, 트리 구조의 키 배포 구성에 의해, 콘텐츠 암호 키로서의 예를 들면 미디어 키의 갱신 데이터를 갱신 블록(KRB)과 함께 송신하는 구성으로 하고, 기록 재생 장치가 임의의 기록 매체의 미디어 키를 계산하여 취득한 후에, 취득한 미디어 키를, 그 기록 재생 장치에 고유의 암호 키, 예를 들면 리프 키를 이용하여 암호화하여, 기록 매체, 또는 기록 재생 장치의 메모리에 저장하는 구성으로 하였기 때문에, 기록 재생 장치가, 다음에 그 기록 매체를 사용할 때, 그 암호화 키를 1회 복호하는 것만으로 미디어 키를 계산할 수 있다. 따라서, 기록 재생 장치가 기록 매체에 액세스할 때 필요해지는 KRB 복호 처리 등의 계산량을 감소시키는 것이 가능해진다.
또한, 트리 구조의 키 배포 구성에 의해 콘텐츠 암호 키로서의 콘텐츠 키를 갱신 블록(KRB)과 함께 송신하는 구성으로 하고, 기록 재생 장치가 임의의 콘텐츠의 콘텐츠 키를 계산하여 취득한 후에, 취득한 콘텐츠 키를, 그 기록 재생 장치에 고유의 암호 키, 예를 들어 리프 키를 이용하여 암호화하여 암호문을 생성하고, 기록 매체, 또는 기록 재생 장치의 메모리에 저장하는 구성으로 하였기 때문에, 기록 재생 장치가, 다음에 그 콘텐츠를 사용할 때, 그 암호문을 1회 복호하는 것만으로도 콘텐츠 키를 계산할 수 있다. 따라서, 기록 재생 장치가 콘텐츠를 이용할 마다 필요한 KRB 복호 처리 등의 계산량을 감소시키는 것이 가능해진다.

Claims (33)

  1. 암호화된 데이터를 처리하는 정보 처리 장치에 있어서,
    복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 장치 고유의 리프 키를 보유하는 기억 수단과,
    암호화 처리를 실행하는 암호 처리 수단
    을 포함하며,
    상기 암호 처리 수단은,
    암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고,
    그 판별 결과에 따라, 상기 기억 수단에 보유한 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행함과 함께,
    상기 산출한 복호용 키에 대하여, 정보 처리 장치 고유의 키를 이용한 암호화 처리를 행하고,
    암호화된 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 것을 특징으로 하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 정보 처리 장치 고유의 키는, 상기 각 정보 처리 장치 고유의 리프 키인 것을 특징으로 하는 정보 처리 장치.
  3. 제1항에 있어서,
    상기 키 블록은, 상기 기억 수단에 기억된 노드 키를 갱신하기 위한 갱신 노드 키와 상기 복호용 키를 포함하고 있으며,
    상기 갱신 노드 키는, 하위 계층의 노드 키 또는 리프 키 중 적어도 어느 하나를 포함하는 키에 의해 암호화되어 있고,
    상기 복호용 키는, 상기 갱신 노드 키로 암호화되어 있으며,
    상기 암호 처리 수단은,
    상기 기억 수단에 보유한 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 갱신 노드 키를 복호하여 상기 갱신 노드 키를 취득함과 함께,
    상기 취득한 갱신 노드 키를 이용하여 상기 복호용 키를 산출하는 것을 특징으로 하는 정보 처리 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 암호 처리 수단은, 상기 정보 처리 장치 고유의 키를 이용하여 암호화된 상기 복호용 키를, 상기 정보 처리 장치 고유의 식별 정보와 대응하여 저장하는 것을 특징으로 하는 정보 처리 장치.
  6. 제1항에 있어서,
    상기 암호 처리 수단은, 상기 정보 처리 장치 고유의 키를 이용하여 암호화된 상기 복호용 키를, 상기 복호용 키로 복호되는 암호화된 데이터의 식별 정보와 대응하여 저장하는 것을 특징으로 하는 정보 처리 장치.
  7. 제1항에 있어서,
    상기 복호용 키는, 상기 암호화된 데이터를 복호하기 위한 콘텐츠 키인 것을 특징으로 하는 정보 처리 장치.
  8. 제1항에 있어서,
    상기 복호용 키는, 상기 기록 매체에 할당된 키이며, 암호화된 데이터를 복호하기 위해 이용되는 미디어 키인 것을 특징으로 하는 정보 처리 장치.
  9. 제1항에 있어서,
    상기 복호용 키는, 다른 정보 처리 장치와 공통으로 유지되는 키이며, 상기 암호화된 데이터를 복호하기 위해 이용되는 마스터 키인 것을 특징으로 하는 정보 처리 장치.
  10. 암호화된 데이터를 처리하는 정보 처리 장치에 있어서,
    복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 장치 고유의 리프 키를 보유하는 기억 수단과,
    암호화 처리를 실행하는 암호 처리 수단
    을 포함하며,
    상기 암호 처리 수단은,
    암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고,
    그 판별 결과에 따라, 상기 기억 수단에 보유한 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행함과 함께,
    상기 산출한 복호용 키를, 상기 복호용 키의 갱신 정보로서의 세대 번호와 대응하여 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 것을 특징으로 하는 정보 처리 장치.
  11. 암호화된 데이터를 처리하는 정보 처리 장치에 있어서,
    복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 장치 고유의 리프 키를 보유하는 기억 수단과,
    암호화 처리를 실행하는 암호 처리 수단
    을 포함하며,
    상기 암호 처리 수단은,
    암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고,
    그 판별 결과에 따라, 상기 기억 수단에 보유한 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행함과 함께,
    상기 산출한 복호용 키를, 상기 복호용 키를 이용하여 복호되는 상기 데이터를 식별하기 위한 식별 정보와 대응하여 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 것을 특징으로 하는 정보 처리 장치.
  12. 암호화된 데이터를 처리하는 정보 처리 장치에 있어서,
    복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 장치 고유의 리프 키를 보유하는 기억 수단과,
    복호 처리를 실행하는 복호 처리 수단
    을 포함하며,
    상기 복호 처리 수단은,
    기록 매체 또는 정보 처리 장치 내의 기억 영역에 저장된 테이블을 판독하여, 상기 암호화된 데이터의 복호 처리에 이용되는 복호용 키가 저장되어 있는지의 여부를 검색하고,
    복호용 키가 검출된 경우에는, 상기 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 암호화된 복호용 키의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출하며,
    복호용 키가 검출되지 않는 경우에는, 상기 기억 수단에 보유한 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출함과 함께, 상기 산출한 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 상기 테이블에 저장하는 것을 특징으로 하는 정보 처리 장치.
  13. 제12항에 있어서,
    상기 복호 처리 수단은, 복호용 키가 검출되지 않은 경우에는, 상기 기억 수단에 보유한 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 산출한 상기 복호용 키에 대하여 정보 처리 장치 고유의 키를 이용한 암호화 처리를 행하고, 상기 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장하는 것을 특징으로 하는 정보 처리 장치.
  14. 제12항에 있어서,
    상기 복호 처리 수단은, 복호용 키가 검출된 경우에는, 각 정보 처리 장치 고유의 키를 이용하여 암호화된 복호용 키를 복호하는 것을 특징으로 하는 정보 처리 장치.
  15. 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하여, 암호화된 데이터를 처리하는 정보 처리 장치에서 처리되는 정보 처리 방법에 있어서,
    암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고,
    그 판별 결과에 따라, 상기 정보 처리 장치에 보유되어 있는 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하며,
    상기 산출한 복호용 키에 대하여, 정보 처리 장치 고유의 키를 이용한 암호화 처리를 행하고,
    암호화된 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 것을 특징으로 하는 정보 처리 방법.
  16. 제15항에 있어서,
    상기 정보 처리 장치 고유의 키는, 상기 각 정보 처리 장치 고유의 리프 키인 것을 특징으로 하는 정보 처리 방법.
  17. 제15항에 있어서,
    상기 키 블록은, 상기 정보 처리 장치에 보유된 노드 키를 갱신하기 위한 갱 신 노드 키와 상기 복호용 키를 포함하고 있으며,
    상기 갱신 노드 키는, 하위계층의 노드 키 또는 리프 키 중 적어도 어느 하나를 포함하는 키에 의해 암호화되어 있고,
    상기 복호용 키는, 상기 갱신 노드 키로 암호화되어 있으며,
    상기 키 블록의 복호 처리는, 상기 정보 처리 장치에 보유된 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 갱신 노드 키를 복호하여 상기 갱신 노드 키 취득하는 처리이고,
    상기 복호용 키의 산출 처리는, 상기 취득한 갱신 노드 키를 이용하여 상기 복호용 키를 산출하는 처리인 것을 특징으로 하는 정보 처리 방법.
  18. 삭제
  19. 제15항에 있어서,
    상기 정보 처리 장치 고유의 키를 이용하여 암호화된 상기 복호용 키를, 상기 정보 처리 장치 고유의 식별 정보와 대응하여 저장하는 것을 특징으로 하는 정보 처리 방법.
  20. 제15항에 있어서,
    상기 정보 처리 장치 고유의 키를 이용하여 암호화된 상기 복호용 키를, 상기 복호용 키로 복호되는 암호화된 데이터의 식별 정보와 대응하여 저장하는 것을 특징으로 하는 정보 처리 방법.
  21. 제15항에 있어서,
    상기 복호용 키는, 상기 암호화된 데이터를 복호하기 위한 콘텐츠 키인 것을 특징으로 하는 정보 처리 방법.
  22. 제15항에 있어서,
    상기 복호용 키는, 상기 기록 매체에 할당된 키이며, 암호화된 데이터를 복호하기 위해 이용되는 미디어 키인 것을 특징으로 하는 정보 처리 방법.
  23. 제15항에 있어서,
    상기 복호용 키는, 다른 정보 처리 장치와 공통으로 유지되는 키이며, 상기 암호화된 데이터를 복호하기 위해 이용되는 마스터 키인 것을 특징으로 하는 정보 처리 방법.
  24. 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하여, 암호화 된 데이터를 처리하는 정보 처리 장치에서 처리되는 정보 처리 방법에 있어서,
    암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고,
    그 판별 결과에 따라, 상기 정보 처리 장치에 보유되어 있는 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하며,
    상기 산출한 복호용 키를, 상기 복호용 키의 갱신 정보로서의 세대 번호와 대응하여 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 것을 특징으로 하는 정보 처리 방법.
  25. 복수의 다른 정보 처리 장치를 리프로 한 계층트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하고, 암호화된 데이터를 처리하는 정보 처리 장치에서 처리되는 정보 처리 방법에 있어서,
    암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하고,
    그 판별 결과에 따라, 상기 정보 처리 장치에 보유되어 있는 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하며,
    상기 산출한 복호용 키를, 상기 복호용 키를 이용하여 복호되는 상기 데이터를 식별하기 위한 식별 정보와 대응하여 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 것을 특징으로 하는 정보 처리 방법.
  26. 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하여, 암호화된 데이터를 처리하는 정보 처리 장치에서 처리되는 정보 처리 방법에 있어서,
    기록 매체 또는 정보 처리 장치 내의 기억 영역에 저장된 테이블을 판독하여, 상기 암호화된 데이터의 복호 처리에 이용되는 복호용 키가 저장되어 있는지의 여부를 검색하고,
    복호용 키가 검출된 경우에는, 상기 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 암호화된 복호용 키의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출하며,
    복호용 키가 검출되지 않은 경우에는, 상기 정보 처리 장치에 보유되어 있는 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출함과 함께, 상기 산출한 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 상기 테이블에 저장하는 것을 특징으로 하는 정보 처리 방법.
  27. 제26항에 있어서,
    복호용 키가 검출되지 않은 경우에는, 상기 정보 처리 장치에 보유되어 있는 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 산출한 상기 복호용 키에 대하여 정보 처리 방법 고유의 키를 이용한 암호화 처리를 행하여, 상기 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장하는 것을 특징으로 하는 정보 처리 방법.
  28. 제26항에 있어서,
    복호용 키가 검출된 경우에는, 각 정보 처리 장치 고유의 키를 이용하여 암호화된 복호용 키를 복호하는 것을 특징으로 하는 정보 처리 방법.
  29. 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하는 정보 처리 장치에서 실행되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체로서,
    상기 프로그램은,
    암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하는 단계와,
    그 판별 결과에 따라, 상기 정보 처리 장치에 보유되어 있는 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하는 단계와,
    상기 산출한 복호용 키에 대하여, 정보 처리 장치 고유의 키를 이용한 암호화 처리를 행하는 단계와,
    암호화된 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  30. 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하는 정보 처리 장치에서 실행되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체로서,
    상기 프로그램은,
    암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하는 단계와,
    그 판별 결과에 따라, 상기 정보 처리 장치에 보유되어 있는 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하는 단계와,
    상기 산출한 복호용 키를, 상기 복호용 키의 갱신 정보로서의 세대 번호와 대응하여 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  31. 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하는 정보 처리 장치에서 실행되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체로서,
    상기 프로그램은,
    암호화된 데이터를 복호 처리할 때 이용되는 복호용 키의 취득을 위해, 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리가 필요한지 여부를 판별하는 단계와,
    그 판별 결과에 따라, 상기 정보 처리 장치에 보유되어 있는 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 상기 키 블록의 복호 처리를 실행하여, 상기 복호용 키의 산출 처리를 실행하는 단계와,
    상기 산출한 복호용 키를, 상기 복호용 키를 이용하여 복호되는 상기 데이터를 식별하기 위한 식별 정보와 대응하여 상기 정보 처리 장치 내의 기억 영역에 저장된 키 테이블에 저장하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  32. 복수의 다른 정보 처리 장치를 리프로 한 계층 트리 구조를 구성하는 각 노드에 고유의 노드 키와 각 정보 처리 방법 고유의 리프 키를 보유하여, 암호화된 데이터를 처리하는 정보 처리 장치에서 실행되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체로서,
    상기 프로그램은,
    기록 매체 또는 정보 처리 장치 내의 기억 영역에 저장된 테이블을 판독하는 단계와,
    상기 암호화된 데이터의 복호 처리에 이용되는 복호용 키가 저장되어 있는지의 여부를 검색하는 단계와,
    복호용 키가 검출된 경우에는, 상기 기록 매체 또는 상기 정보 처리 장치 내의 기억 영역에 저장된 암호화된 복호용 키의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출하는 단계와,
    복호용 키가 검출되지 않는 경우에는, 상기 정보 처리 장치에 보유되어 있는 상기 노드 키 또는 리프 키 중 적어도 어느 하나를 이용하여 복호 가능한 키 저장 데이터로서 구성되는 키 블록의 복호 처리를 실행하여, 암호화된 데이터를 복호 처리할 때 이용되는 복호용 키를 산출하는 단계와,
    상기 산출한 복호용 키를 복호용 키에 대한 갱신 정보로서의 세대 정보와 함께 상기 테이블에 저장하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  33. 삭제
KR1020027002190A 2000-06-21 2001-06-21 정보 처리 장치 및 처리 방법 KR100763693B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2000186173 2000-06-21
JPJP-P-2000-00186172 2000-06-21
JP2000186172 2000-06-21
JPJP-P-2000-00186173 2000-06-21
JPJP-P-2000-00243204 2000-08-10
JP2000243204 2000-08-10

Publications (2)

Publication Number Publication Date
KR20020041805A KR20020041805A (ko) 2002-06-03
KR100763693B1 true KR100763693B1 (ko) 2007-10-04

Family

ID=27343789

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027002190A KR100763693B1 (ko) 2000-06-21 2001-06-21 정보 처리 장치 및 처리 방법

Country Status (8)

Country Link
US (1) US7346169B2 (ko)
EP (4) EP1414181B1 (ko)
KR (1) KR100763693B1 (ko)
CN (1) CN1389043B (ko)
AU (1) AU7458301A (ko)
DE (4) DE60133359T2 (ko)
HK (1) HK1053916B (ko)
WO (1) WO2001099333A1 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2419972C (en) 2001-03-29 2011-10-25 Matsushita Electric Industrial Co., Ltd. Data protection system that protects data by encrypting the data
WO2003034425A1 (en) * 2001-10-12 2003-04-24 Koninklijke Philips Electronics N.V. Apparatus and method for reading or writing block-wise stored user data
US20040136372A1 (en) * 2003-01-10 2004-07-15 Dumitru Gruia Protecting data transmissions in a point-to-multipoint network
US7421742B2 (en) * 2003-01-15 2008-09-02 Sony Corporation Signal processing system, recording method, program, recording medium, reproduction device and information processing device
US7835520B2 (en) * 2003-02-20 2010-11-16 Zoran Corporation Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders
US7539307B2 (en) 2003-11-26 2009-05-26 International Business Machines Corporation System, method, and service for delivering enhanced multimedia content on physical media
JP4114605B2 (ja) * 2003-12-24 2008-07-09 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US7499550B2 (en) * 2004-02-09 2009-03-03 International Business Machines Corporation System and method for protecting a title key in a secure distribution system for recordable media content
US20050262361A1 (en) * 2004-05-24 2005-11-24 Seagate Technology Llc System and method for magnetic storage disposal
JP4717398B2 (ja) 2004-09-10 2011-07-06 キヤノン株式会社 データ処理装置の制御方法
JP4088899B2 (ja) * 2004-11-17 2008-05-21 ソニー株式会社 記録再生装置および記録再生方法、並びにプログラム
TWI277870B (en) * 2004-11-22 2007-04-01 Toshiba Corp Copyright management method, information recording/reproducing method and device, and information recording medium and method of manufacturing the medium
US7971070B2 (en) * 2005-01-11 2011-06-28 International Business Machines Corporation Read/write media key block
KR20060097514A (ko) * 2005-03-07 2006-09-14 삼성전자주식회사 로컬 서버에서 브로드캐스트 암호화 방식에 따라 암호화된컨텐트를 제공하는 방법 및 장치
JP2007013440A (ja) * 2005-06-29 2007-01-18 Toshiba Corp メディア鍵生成方法、メディア鍵生成装置、再生装置、及び記録再生装置
JP2007235260A (ja) * 2006-02-27 2007-09-13 Toshiba Corp コンテンツ記録装置、コンテンツ記録方法およびコンテンツ記録プログラム
JP2008022367A (ja) * 2006-07-13 2008-01-31 Toshiba Corp 暗号鍵情報保持方法および暗号鍵情報処理装置
US20080226078A1 (en) * 2007-03-12 2008-09-18 Microsoft Corporation Enabling recording and copying data
KR101391152B1 (ko) * 2007-04-05 2014-05-02 삼성전자주식회사 Ums 기기의 컨텐츠를 보호하기 위한 방법 및 장치
US20100002885A1 (en) * 2008-03-26 2010-01-07 Ericsson Inc. Efficient multiparty key exchange
US8108928B2 (en) * 2008-06-20 2012-01-31 International Business Machines Corporation Adaptive traitor tracing
US8122501B2 (en) * 2008-06-20 2012-02-21 International Business Machines Corporation Traitor detection for multilevel assignment
US8422684B2 (en) * 2008-08-15 2013-04-16 International Business Machines Corporation Security classes in a media key block
US9501429B2 (en) * 2008-09-05 2016-11-22 Vixs Systems Inc. Dynamic key and rule storage protection
US8594333B2 (en) * 2008-09-05 2013-11-26 Vixs Systems, Inc Secure key access with one-time programmable memory and applications thereof
US9432184B2 (en) * 2008-09-05 2016-08-30 Vixs Systems Inc. Provisioning of secure storage for both static and dynamic rules for cryptographic key information
US8571209B2 (en) 2009-01-19 2013-10-29 International Business Machines Recording keys in a broadcast-encryption-based system
US8250379B2 (en) * 2009-10-13 2012-08-21 Microsoft Corporation Secure storage of temporary secrets
KR101270991B1 (ko) * 2009-12-21 2013-06-04 한국전자통신연구원 계층적 역할 기반 접근 제어를 위한 키 트리 구성 및 키 분배 방법
CN104917787B (zh) * 2014-03-11 2018-10-23 中国电信股份有限公司 基于群组密钥的文件安全共享方法和系统
US9659190B1 (en) 2015-06-26 2017-05-23 EMC IP Holding Company LLC Storage system configured for encryption of data items using multidimensional keys having corresponding class keys
US10284534B1 (en) 2015-06-26 2019-05-07 EMC IP Holding Company LLC Storage system with controller key wrapping of data encryption key in metadata of stored data item
US9906361B1 (en) 2015-06-26 2018-02-27 EMC IP Holding Company LLC Storage system with master key hierarchy configured for efficient shredding of stored encrypted data items
US9774610B2 (en) * 2015-07-28 2017-09-26 Futurewei Technologies, Inc. Certificateless data verification with revocable signatures
US9779269B1 (en) 2015-08-06 2017-10-03 EMC IP Holding Company LLC Storage system comprising per-tenant encryption keys supporting deduplication across multiple tenants
US10339323B2 (en) * 2015-09-15 2019-07-02 Google Llc Group license encryption and decryption
US10326744B1 (en) 2016-03-21 2019-06-18 EMC IP Holding Company LLC Security layer for containers in multi-tenant environments
US10284557B1 (en) 2016-11-17 2019-05-07 EMC IP Holding Company LLC Secure data proxy for cloud computing environments
US10298551B1 (en) 2016-12-14 2019-05-21 EMC IP Holding Company LLC Privacy-preserving policy enforcement for messaging
US11128437B1 (en) 2017-03-30 2021-09-21 EMC IP Holding Company LLC Distributed ledger for peer-to-peer cloud resource sharing
US10664373B2 (en) * 2017-07-31 2020-05-26 Lg Chem, Ltd. Self-diagnosing microcontroller for reading correct channels of an analog-to-digital converter
US11063745B1 (en) 2018-02-13 2021-07-13 EMC IP Holding Company LLC Distributed ledger for multi-cloud service automation
US11128460B2 (en) 2018-12-04 2021-09-21 EMC IP Holding Company LLC Client-side encryption supporting deduplication across single or multiple tenants in a storage system
US11019033B1 (en) 2019-12-27 2021-05-25 EMC IP Holding Company LLC Trust domain secure enclaves in cloud infrastructure

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4771459A (en) * 1985-04-29 1988-09-13 U.S. Philips Corp. System for storing and distributing keys for cryptographically protected communication
US5150409A (en) * 1987-08-13 1992-09-22 Peter Elsner Device for the identification of messages
JPH09115241A (ja) * 1995-06-30 1997-05-02 Sony Corp データ記録装置及び方法、データ再生装置及び方法、並びに記録媒体
JPH11328850A (ja) * 1998-05-11 1999-11-30 Sony Corp 情報配信システム
EP0969667A2 (en) * 1998-07-02 2000-01-05 Matsushita Electric Industrial Co., Ltd. Pay broadcasting system with enhanced security against illegal access to a down loaded program in a subscriber terminal
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19511298B4 (de) * 1995-03-28 2005-08-18 Deutsche Telekom Ag Verfahren zur Erteilung und zum Entzug der Berechtigung zum Empfang von Rundfunksendungen und Decoder
EP0802535B1 (en) * 1995-10-09 2005-06-15 Matsushita Electric Industrial Co., Ltd. Information recording medium, information reproduction apparatus and information reproduction method
DE69733986T2 (de) * 1996-10-31 2006-01-26 Matsushita Electric Industrial Co., Ltd., Kadoma Vorrichtung zur verschlüsselten Kommunikation mit beschränkten Schaden bei Bekanntwerden eines Geheimschlüssels
DE19649292A1 (de) 1996-11-28 1998-06-04 Deutsche Telekom Ag Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems
US6069957A (en) * 1997-03-07 2000-05-30 Lucent Technologies Inc. Method and apparatus for providing hierarchical key system in restricted-access television system
US6359986B1 (en) * 1997-08-06 2002-03-19 Matsushita Electric Industrial Co., Ltd. Encryption system capable of specifying a type of an encrytion device that produced a distribution medium
US6307936B1 (en) * 1997-09-16 2001-10-23 Safenet, Inc. Cryptographic key management scheme
JPH11187013A (ja) * 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム
JPH11224461A (ja) 1998-02-06 1999-08-17 Sony Corp 情報処理装置、情報処理方法、提供媒体、および記録媒体
US6118873A (en) * 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
AU760436B2 (en) * 1998-10-16 2003-05-15 Matsushita Electric Industrial Co., Ltd. Production protection system dealing with contents that are digital production
US6263435B1 (en) * 1999-07-06 2001-07-17 Matsushita Electric Industrial Co., Ltd. Dual encryption protocol for scalable secure group communication
US6240188B1 (en) * 1999-07-06 2001-05-29 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
IL130963A (en) * 1999-07-15 2006-04-10 Nds Ltd Key management for content protection
US20020076204A1 (en) * 2000-12-18 2002-06-20 Toshihisa Nakano Key management device/method/program, recording medium, reproducing device/method, recording device, and computer-readable, second recording medium storing the key management program for copyright protection
US7995603B2 (en) * 2001-05-22 2011-08-09 Nds Limited Secure digital content delivery system and method over a broadcast network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4771459A (en) * 1985-04-29 1988-09-13 U.S. Philips Corp. System for storing and distributing keys for cryptographically protected communication
US5150409A (en) * 1987-08-13 1992-09-22 Peter Elsner Device for the identification of messages
JPH09115241A (ja) * 1995-06-30 1997-05-02 Sony Corp データ記録装置及び方法、データ再生装置及び方法、並びに記録媒体
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
JPH11328850A (ja) * 1998-05-11 1999-11-30 Sony Corp 情報配信システム
EP0969667A2 (en) * 1998-07-02 2000-01-05 Matsushita Electric Industrial Co., Ltd. Pay broadcasting system with enhanced security against illegal access to a down loaded program in a subscriber terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
The VersaKey Framework: Versatile Group Key Management(1999.09)

Also Published As

Publication number Publication date
US7346169B2 (en) 2008-03-18
DE60136861D1 (de) 2009-01-15
EP1221782A1 (en) 2002-07-10
DE60135681D1 (de) 2008-10-16
EP1416663B1 (en) 2008-09-03
EP1414181A1 (en) 2004-04-28
KR20020041805A (ko) 2002-06-03
EP1414181B1 (en) 2008-12-17
HK1053916B (zh) 2011-07-08
DE60133359D1 (de) 2008-05-08
CN1389043A (zh) 2003-01-01
EP1416662A1 (en) 2004-05-06
DE60137085D1 (de) 2009-01-29
US20020164034A1 (en) 2002-11-07
EP1416662B1 (en) 2008-12-03
WO2001099333A1 (fr) 2001-12-27
HK1053916A1 (en) 2003-11-07
EP1221782A4 (en) 2003-06-04
EP1416663A1 (en) 2004-05-06
AU7458301A (en) 2002-01-02
EP1221782B1 (en) 2008-03-26
DE60133359T2 (de) 2009-04-02
CN1389043B (zh) 2010-09-29

Similar Documents

Publication Publication Date Title
KR100763693B1 (ko) 정보 처리 장치 및 처리 방법
KR100740360B1 (ko) 정보 기록/재생 장치 및 방법
KR100746892B1 (ko) 정보 기록/재생 장치 및 방법
JP4595182B2 (ja) 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
JP4269501B2 (ja) 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
US20030051151A1 (en) Information processing apparatus, information processing method and program
US7093128B2 (en) Information recording/reproducing apparatus and method
US20050244001A1 (en) Information recording medium drive device
JP4078792B2 (ja) 情報記録装置、情報再生装置、暗号処理キー更新方法、並びにプログラム提供媒体
CA2372552A1 (en) Information recording/reproducing apparatus and method
JP2002244552A (ja) 情報再生装置、情報再生方法、および情報記録媒体、並びにプログラム記憶媒体
JP3988358B2 (ja) 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
JP2002236622A (ja) 情報再生装置、情報記録装置、情報再生方法、情報記録方法、および情報記録媒体、並びにプログラム記憶媒体
JP4547880B2 (ja) 情報処理装置、情報記録媒体再生装置、コンテンツ利用制御システム、および方法、並びにコンピュータ・プログラム
JP2002123429A (ja) 情報処理装置、情報処理方法、および情報記録媒体、並びにコンピュータ・プログラム
AU2005201512A1 (en) Information recording/playback apparatus and method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20110920

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20120917

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee