KR100980899B1 - 정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 이용권 관리 장치 및 방법, 및 기록 매체 - Google Patents

정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 이용권 관리 장치 및 방법, 및 기록 매체 Download PDF

Info

Publication number
KR100980899B1
KR100980899B1 KR1020037016352A KR20037016352A KR100980899B1 KR 100980899 B1 KR100980899 B1 KR 100980899B1 KR 1020037016352 A KR1020037016352 A KR 1020037016352A KR 20037016352 A KR20037016352 A KR 20037016352A KR 100980899 B1 KR100980899 B1 KR 100980899B1
Authority
KR
South Korea
Prior art keywords
information
key
content
key information
usage right
Prior art date
Application number
KR1020037016352A
Other languages
English (en)
Other versions
KR20040103749A (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 KR20040103749A publication Critical patent/KR20040103749A/ko
Application granted granted Critical
Publication of KR100980899B1 publication Critical patent/KR100980899B1/ko

Links

Images

Classifications

    • 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/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00181Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software using a content identifier, e.g. an international standard recording code [ISRC] or a digital object identifier [DOI]
    • 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
    • G11B20/00333Circuits 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 the key being stored in header data, e.g. in sector headers
    • 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/00536Circuits 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 encrypted content data is subjected to a further, iterated encryption, e.g. interwoven encryption
    • 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/0071Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a purchase action
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • 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]
    • G06F21/107License processing; Key processing
    • 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
    • H04L2209/601Broadcast encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Television Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 콘텐츠의 부정한 이용을 방지할 수 있도록 하는 정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 이용권 관리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것이다. 콘텐츠 서버(3)로부터 제공된 콘텐츠의 EKB로부터 루트 키 Kroot가 취득된다. 또한, 취득된 루트 키 Kroot에 의해, 데이터 E(Kroot, Kekb)가 복호되어 EKB 키 Kekb가 취득된다. 한편, 라이센스 서버(4)로부터 제공된 이용권에는 데이터 E(Kpub, Ksub)가 포함되어 있으며, 개별 키 Kpri에 의해 복호되어 서브 키 Ksub가 취득된다. EKB 키 Kekb와 서브 키 Ksub에 의해 콘텐츠 키 Kc가 생성되며, 생성된 콘텐츠 키 Kc에 의해 콘텐츠가 복호된다. 본 발명은 인터넷 등의 네트워크를 통해 제공되는 콘텐츠를 이용하는 퍼스널 컴퓨터 등에 적용할 수 있다.
Figure R1020037016352
암호화 복호부, 콘텐츠 서버, 라이센스 서버, 과금 서버, 인터넷

Description

정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 이용권 관리 장치 및 방법, 및 기록 매체{INFORMATION PROCESSING DEVICE AND METHOD, INFORMATION PROVIDING DEVICE AND METHOD, USE RIGHT MANAGEMENT DEVICE AND METHOD, AND RECORDING MEDIUM}
본 발명은 정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 이용권 관리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것으로, 특히, 콘텐츠의 부정한 이용을 확실히 방지할 수 있도록 하는 정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 이용권 관리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것이다.
최근, 각종 브로드밴드 환경이 정비되어 있으며, 음악 데이터나 동화상 데이터 등의 각종 콘텐츠의 배신 서비스가 본격적으로 개시되기 시작하고 있다.
예를 들면, 「PressPlay(상표)」 등의 정기 구독형(subscription형)의 음악 배신 서비스가 행해지고 있으며, 이 음악 배신 서비스에서는 사용자는 월정 정액 요금을 지불함으로써, 미리 설정되어 있는 조건의 범위 내(예를 들면, 스트리밍 재생의 경우 1000곡까지 재생 가능하며, 다운로드하여 퍼스널 컴퓨터의 하드 디스크에 보존하는 경우 100곡까지 보존 가능하고, CD(Compact Disk)-R로 기입(복사)하는 경우 20곡까지 복사 가능 등의 조건 범위 내)에서 음악 콘텐츠를 이용할 수 있다.
그런데, 이러한 배신 서비스에 의한 콘텐츠의 제공을 받는 사용자의 권리 정보를 관리하는 시스템으로서, 예를 들면, 일본 특허 공개 제2001-352321호 공보에는 복수의 서비스에 대응하는 노드를 트리 형상으로 배치하여 이루어지는 시스템에서, 소정의 서비스에 대응하는 노드로부터, 그 서비스에 속하는 각각의 리프 노드(디바이스)까지의 패스 상에 존재하는 노드에 설정되어 있는 키 정보(DNK(Device Node Key))를 포함하는 유효화 키 블록(EKB(Enabling Key Block))을 이용하는 것이 개시되어 있다.
이 시스템에서는 임의의 서비스에서 배신되는 콘텐츠에 EKB가 부가되어 있으며, 개개의 디바이스에 대하여 제공되고 있는 DNK를 이용하여, EKB에 포함되는 갱신된 키 정보를 취득시킴으로써, 서비스를 이용할 수 있는 디바이스를 관리하고 있다. 이 경우에, DNK를 이용하여 EKB로부터, 갱신된 키 정보를 취득할 수 없는 디바이스는 그 후, 서비스의 제공을 받을 수 없다.
그리고, 이것에 의해, 콘텐츠를 제공하는 서버와 디바이스와의 사이에서 인증 처리 등을 그 때마다 행하지 않고, 각각의 디바이스에서의 콘텐츠의 이용을 관리할 수 있도록 한 것이다.
그러나, 이 EKB를 이용하는 시스템에서는 EKB에 기술되어 있는 정보가 판독된 경우, 그 정보에 의해 임의의 서비스로부터 배신되는 모든 콘텐츠(동일한 EKB가 부가되어 있는 모든 콘텐츠)를 이용할 수 있다는 과제가 있었다.
예를 들면, 도 1에 도시한 바와 같은 포맷에 의해, 서비스 A로부터 데이터 1 및 데이터 2가 제공되어 있는 경우, 데이터 1의 EKB에 기술되어 있는 내용을 취득 한 디바이스 A는, 취득한 키 정보를 이용함으로써 데이터 1에 포함되는 콘텐츠 1 뿐만 아니라, 데이터 2에 포함되는 콘텐츠 2도 이용할 수 있다.
즉, 도 1에 도시한 바와 같이, 데이터 1은 EKB, EKB에 포함되는 루트 키(시스템의 루트의 노드에 대응하는 키)(Kroot)에 의해 암호화된 콘텐츠 키 1(Kc1), 및 콘텐츠 키 1에 의해 암호화된 콘텐츠 1(Content 1)로 구성되어 있으며, 디바이스 A는 EKB로부터 루트 키를 취득한 경우, 루트 키에 의해 콘텐츠 키 1을 복호하여, 취득한 콘텐츠 키 1에 의해 콘텐츠 1을 복호할 수 있다.
또한, 디바이스 A는 데이터 1과 마찬가지의 포맷인 데이터 2에 포함되어 있는 콘텐츠 키 2(Kc2)를 데이터 1의 EKB로부터 취득한 루트 키를 이용하여 취득할 수 있어서, 취득한 콘텐츠 키 2에 의해 콘텐츠 2(Content 2)를 복호할 수 있다.
따라서, 데이터 1로부터 루트 키가 취득된 디바이스에서는 예를 들면, 다른 디바이스로부터 기록 매체에 기록되어 제공된 것 등, 데이터 2가 어떠한 권리도 없이 취득된 것이어도 그것을 이용할 수 있게 되어서, 이러한 부정한 이용에 의해 콘텐츠의 정당한 유통이 방해됨과 함께, 콘텐츠를 제공하는 사업자의 이익이 손해를 보게 된다
<발명의 개시>
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 콘텐츠가 부정하게 이용되는 것을 확실하게 방지할 수 있도록 하는 것이다.
본 발명의 정보 처리 장치는, 제3 키 정보에 의해 암호화된 콘텐츠 데이터와, 제1 키 정보를 포함하는 콘텐츠를 취득하는 콘텐츠 취득 수단과, 제2 키 정보 를 포함하는, 콘텐츠의 이용에 관한 정보로서의 이용권을 취득하는 이용권 취득 수단과, 콘텐츠 취득 수단에 의해 취득된 콘텐츠에 포함되는 제1 키 정보와, 이용권 취득 수단에 의해 취득된 이용권으로부터 추출된 제2 키 정보에 기초하여, 제3 키 정보를 생성하는 키 정보 생성 수단과, 키 정보 생성 수단에 의해 생성된 제3 키 정보에 의해 콘텐츠 데이터를 복호하는 복호 수단을 포함하는 것을 특징으로 한다.
이용권의 제공을 관리하는 이용권 관리 장치에 대하여, 개별 키 정보, 및 이용권을 관리하는 시스템 상에서의 정보 처리 장치에 대응하는 디바이스 노드 키를 요구하는 요구 수단과, 요구 수단에 의한 요구에 따라 이용권 관리 장치로부터 제공되는 개별 키 정보 및 디바이스 노드 키를 취득하는 취득 수단을 더 포함하도록 할 수 있다.
키 정보 생성 수단은, 제1 키 정보를 취득 수단에 의해 취득된 디바이스 노드 키에 기초하여 콘텐츠로부터 추출할 수 있어서, 제2 키 정보를 취득 수단에 의해 취득된 개별 키 정보에 기초하여 이용권으로부터 추출할 수 있다.
제1 키 정보와 제2 키 정보의 배타적 논리합 연산의 결과를 제3 키 정보로 하도록 하여도 된다.
본 발명의 정보 처리 장치의 정보 처리 방법은, 제3 키 정보에 의해 암호화된 콘텐츠 데이터와, 제1 키 정보를 포함하는 콘텐츠를 취득하는 콘텐츠 취득 단계와, 제2 키 정보를 포함하는, 콘텐츠의 이용에 관한 정보로서의 이용권을 취득하는 이용권 취득 단계와, 콘텐츠 취득 단계의 처리에 의해 취득된 콘텐츠에 포함되는 제1 키 정보와, 이용권 취득 단계의 처리에 의해 취득된 이용권으로부터 추출된 제2 키 정보에 기초하여, 제3 키 정보를 생성하는 키 정보 생성 단계와, 키 정보 생성 단계의 처리에 의해 생성된 제3 키 정보에 의해 콘텐츠 데이터를 복호하는 복호 단계를 포함하는 것을 특징으로 한다.
본 발명의 정보 처리 장치의 기록 매체는, 제3 키 정보에 의해 암호화된 콘텐츠 데이터와, 제1 키 정보를 포함하는 콘텐츠의 취득을 제어하는 콘텐츠 취득 제어 단계와, 제2 키 정보를 포함하는, 콘텐츠의 이용에 관한 정보로서의 이용권의 취득을 제어하는 이용권 취득 제어 단계와, 콘텐츠 취득 제어 단계의 처리에 의해 취득된 콘텐츠에 포함되는 제1 키 정보와, 이용권 취득 제어 단계의 처리에 의해 취득된 이용권으로부터 추출된 제2 키 정보에 기초하여, 제3 키 정보의 생성을 제어하는 키 정보 생성 제어 단계와, 키 정보 생성 제어 단계의 처리에 의해 생성된 제3 키 정보에 의해 콘텐츠 데이터의 복호를 제어하는 복호 제어 단계를 컴퓨터에 실행시키는 프로그램이 기록되어 있는 것을 특징으로 한다.
본 발명의 프로그램은, 제3 키 정보에 의해 암호화된 콘텐츠 데이터와, 제1 키 정보를 포함하는 콘텐츠의 취득을 제어하는 콘텐츠 취득 제어 단계와, 제2 키 정보를 포함하는, 콘텐츠의 이용에 관한 정보로서의 이용권의 취득을 제어하는 이용권 취득 제어 단계와, 콘텐츠 취득 제어 단계의 처리에 의해 취득된 콘텐츠에 포함되는 제1 키 정보와, 이용권 취득 제어 단계의 처리에 의해 취득된 이용권으로부터 추출된 제2 키 정보에 기초하여, 제3 키 정보의 생성을 제어하는 키 정보 생성 제어 단계와, 키 정보 생성 제어 단계의 처리에 의해 생성된 제3 키 정보에 의해 콘텐츠 데이터의 복호를 제어하는 복호 제어 단계를 컴퓨터에 실행시키는 것을 특 징으로 한다.
본 발명의 정보 제공 장치는, 제1 키 정보 및 제2 키 정보를 생성함과 함께, 정보 처리 장치가 제1 키 정보 및 제2 키 정보에 기초하여 취득 가능한 제3 키 정보를 생성하는 키 정보 생성 수단과, 키 정보 생성 수단에 의해 생성된 제3 키 정보에 의해 콘텐츠 데이터를 암호화하는 암호화 수단과, 정보 처리 장치가 갖는 개별 키 정보에 의해 취득 가능한 제1 키 정보를 포함하는, 콘텐츠를 생성하는 콘텐츠 생성 수단과, 콘텐츠의 이용에 관한 정보로서의 이용권의 정보 처리 장치에 대한 제공을 관리하는 이용권 관리 장치에 대하여, 제2 키 정보를 제공하는 제공 수단을 포함하는 것을 특징으로 한다.
본 발명의 정보 제공 장치의 정보 제공 방법은, 제1 키 정보 및 제2 키 정보를 생성함과 함께, 정보 처리 장치가 제1 키 정보 및 제2 키 정보에 기초하여 취득 가능한 제3 키 정보를 생성하는 키 정보 생성 단계와, 키 정보 생성 단계의 처리에 의해 생성된 제3 키 정보에 의해 콘텐츠 데이터를 암호화하는 암호화 단계와, 정보 처리 장치가 갖는 개별 키 정보에 의해 취득 가능한 제1 키 정보를 포함하는, 콘텐츠를 생성하는 콘텐츠 생성 단계와, 콘텐츠의 이용에 관한 정보로서의 이용권의 정보 처리 장치에 대한 제공을 관리하는 이용권 관리 장치에 대하여, 제2 키 정보를 제공하는 제공 단계를 포함하는 것을 특징으로 한다.
본 발명의 정보 제공 장치의 기록 매체는, 제1 키 정보 및 제2 키 정보의 생성과 함께, 정보 처리 장치가 제1 키 정보 및 제2 키 정보에 기초하여 취득 가능한 제3 키 정보의 생성을 제어하는 키 정보 생성 제어 단계와, 키 정보 생성 제어 단 계의 처리에 의해 생성된 제3 키 정보에 의한 콘텐츠 데이터의 암호화를 제어하는 암호화 제어 단계와, 정보 처리 장치가 갖는 개별 키 정보에 의해 취득 가능한 제1 키 정보를 포함하는, 콘텐츠의 생성을 제어하는 콘텐츠 생성 제어 단계와, 콘텐츠의 이용에 관한 정보로서의 이용권의 정보 처리 장치에 대한 제공을 관리하는 이용권 관리 장치에 대한, 제2 키 정보의 제공을 제어하는 제공 제어 단계를 컴퓨터에 실행시키는 프로그램이 기록되어 있는 것을 특징으로 한다.
본 발명의 프로그램은, 제1 키 정보 및 제2 키 정보의 생성과 함께, 정보 처리 장치가 제1 키 정보 및 제2 키 정보에 기초하여 취득 가능한 제3 키 정보의 생성을 제어하는 키 정보 생성 제어 단계와, 키 정보 생성 제어 단계의 처리에 의해 생성된 제3 키 정보에 의한 콘텐츠 데이터의 암호화를 제어하는 암호화 제어 단계와, 정보 처리 장치가 갖는 개별 키 정보에 의해 취득 가능한 제1 키 정보를 포함하는, 콘텐츠의 생성을 제어하는 콘텐츠 생성 제어 단계와, 콘텐츠의 이용에 관한 정보로서의 이용권의 정보 처리 장치에 대한 제공을 관리하는 이용권 관리 장치에 대한 제2 키 정보의 제공을 제어하는 제공 제어 단계를 컴퓨터에 실행시키는 것을 특징으로 한다.
본 발명의 이용권 관리 장치는, 정보 처리 장치에 대하여 콘텐츠를 제공하는 정보 제공 장치로부터, 제2 키 정보를 취득하는 취득 수단과, 정보 처리 장치로부터의 요구에 따라, 정보 처리 장치에서 사용되는 콘텐츠에 대응하는 이용권을 생성하는 생성 수단과, 생성 수단에 의해 생성된 이용권을 정보 처리 장치에 제공하는 이용권 제공 수단을 포함하는 것을 특징으로 한다. 또한, 그 생성 수단은 정보 처 리 장치가 갖는 개별 키 정보에 대응하는 공개 키 정보에 의해, 취득 수단에 의해 취득된 제2 키 정보를 암호화하여 얻어진 정보가 포함되는 이용권을 생성하는 것을 특징으로 한다.
정보 처리 장치로부터의 요구에 따라, 개별 키 정보, 및 이용권을 관리하는 시스템 상에서의 정보 처리 장치에 대응하는 디바이스 노드 키를 정보 처리 장치에 제공하는 제공 수단을 더 포함하는 것을 특징으로 한다.
본 발명의 이용권 관리 장치의 이용권 관리 방법은, 정보 처리 장치에 대하여 콘텐츠를 제공하는 정보 제공 장치로부터, 제2 키 정보를 취득하는 취득 단계와, 정보 처리 장치로부터의 요구에 따라, 정보 처리 장치에서 사용되는 콘텐츠에 대응하는 이용권을 생성하는 생성 단계와, 생성 단계의 처리에 의해 생성된 이용권을 정보 처리 장치에 제공하는 이용권 제공 단계를 포함하는 것을 특징으로 한다. 또한, 그 생성 단계의 처리에 의해, 정보 처리 장치가 갖는 개별 키 정보에 대응하는 공개 키 정보에 의해 제2 키 정보가 암호화되어 얻어진 정보가 포함되는 이용권이 생성되는 것을 특징으로 한다.
본 발명의 이용권 관리 장치의 기록 매체는 정보 처리 장치에 대하여 콘텐츠를 제공하는 정보 제공 장치로부터, 제2 키 정보의 취득을 제어하는 취득 제어 단계와, 정보 처리 장치로부터의 요구에 따라, 정보 처리 장치에서 사용되는 콘텐츠에 대응하는 이용권의 생성을 제어하는 생성 제어 단계와, 생성 제어 단계의 처리에 의해 생성된 이용권의 정보 처리 장치에 대한 제공을 제어하는 이용권 제공 제어 단계를 컴퓨터에 실행시키는 프로그램이 기록되어 있는 것을 특징으로 한다. 또한, 생성 제어 단계의 처리에 의해, 정보 처리 장치가 갖는 개별 키 정보에 대응하는 공개 키 정보에 의해 제2 키 정보가 암호화되어 얻어진 정보가 포함되는 이용권이 생성되는 것을 특징으로 한다.
본 발명의 프로그램은 정보 처리 장치에 대하여 콘텐츠를 제공하는 정보 제공 장치로부터, 제2 키 정보의 취득을 제어하는 취득 제어 단계와, 정보 처리 장치로부터의 요구에 따라, 정보 처리 장치에서 사용되는 콘텐츠에 대응하는 이용권의 생성을 제어하는 생성 제어 단계와, 생성 제어 단계의 처리에 의해 생성된 이용권의 정보 처리 장치에 대한 제공을 제어하는 이용권 제공 제어 단계를 컴퓨터에 실행시키는 것을 특징으로 한다. 또한, 생성 제어 단계의 처리에 의해, 정보 처리 장치가 갖는 개별 키 정보에 대응하는 공개 키 정보에 의해 제2 키 정보가 암호화되어 얻어진 정보가 포함되는 이용권이 생성되는 것을 특징으로 한다.
본 발명의 정보 처리 장치 및 방법, 및 프로그램에서는 제3 키 정보에 의해 암호화된 콘텐츠 데이터와, 제1 키 정보를 포함하는 콘텐츠가 취득됨과 함께, 제2 키 정보를 포함하는, 콘텐츠의 이용에 관한 정보로서의 이용권이 취득된다. 또한, 콘텐츠에 포함되는 제1 키 정보와, 이용권으로부터 추출된 제2 키 정보에 기초하여, 제3 키 정보가 생성되며, 생성된 제3 키 정보에 의해 콘텐츠 데이터가 복호된다.
본 발명의 정보 제공 장치 및 방법, 및 프로그램에서는 제1 키 정보 및 제2 키 정보가 생성됨과 함께, 정보 처리 장치가 제1 키 정보 및 제2 키 정보에 기초하여 취득 가능한 제3 키 정보가 생성된다. 또한, 생성된 제3 키 정보에 의해 콘텐 츠 데이터가 암호화되며, 정보 처리 장치가 갖는 개별 키 정보에 의해 취득 가능한 제1 키 정보를 포함하는 콘텐츠가 생성된다. 또한, 콘텐츠의 이용에 관한 정보로서의 이용권의 정보 처리 장치에 대한 제공을 관리하는 이용권 관리 장치에 대하여 제2 키 정보가 제공된다.
본 발명의 이용권 관리 장치 및 방법, 및 프로그램에서는 정보 처리 장치에 대하여 콘텐츠를 제공하는 정보 제공 장치로부터, 제2 키 정보가 취득되며, 정보 처리 장치로부터의 요구에 따라, 정보 처리 장치에서 사용되는 콘텐츠에 대응하는 이용권이 생성된다. 또한, 생성된 이용권이 정보 처리 장치에 제공된다. 생성되는 이용권에는 정보 처리 장치가 갖는 개별 키 정보에 대응하는 공개 키 정보에 의해 제2 키 정보를 암호화하여 얻어진 정보가 포함된다.
도 1은 종래의 콘텐츠의 복호 처리를 나타내는 모식도.
도 2는 본 발명을 적용한 콘텐츠 제공 시스템의 구성예를 나타내는 도면.
도 3은 도 2의 클라이언트의 구성예를 나타내는 블록도.
도 4는 키의 구성을 도시하는 도면.
도 5는 카테고리 노드를 나타내는 도면.
도 6은 노드와 디바이스의 대응예를 나타내는 도면.
도 7은 유효화 키 블록의 구성예를 나타내는 도면.
도 8은 유효화 키 블록의 다른 구성예를 나타내는 도면.
도 9는 유효화 키 블록 이용 모식도.
도 10은 유효화 키 블록의 포맷의 예를 나타내는 도면.
도 11은 유효화 키 블록의 태그 구성을 설명하는 도면.
도 12는 본 발명을 적용한 키 정보 분할 모식도.
도 13은 도 2의 클라이언트의 서비스 데이터 취득 처리를 설명하는 흐름도.
도 14는 서비스 데이터의 예를 나타내는 도면.
도 15는 도 2의 라이센스 서버의 서비스 데이터 제공 처리를 설명하는 흐름도.
도 16은 도 2의 콘텐츠 서버의 콘텐츠 생성 처리를 설명하는 흐름도.
도 17은 콘텐츠의 포맷의 예를 나타내는 도면.
도 18은 도 2의 라이센스 서버의 서브 키 취득 처리를 설명하는 흐름도.
도 19는 도 2의 클라이언트의 다운로드 처리를 설명하는 흐름도.
도 20은 도 2의 콘텐츠 서버의 콘텐츠 제공 처리를 설명하는 흐름도.
도 21은 도 2의 클라이언트의 재생 처리를 설명하는 흐름도.
도 22는 도 21의 단계 S73에서의 이용권 취득 처리의 상세를 설명하는 흐름도.
도 23은 도 2의 라이센스 서버의 이용권 제공 처리를 설명하는 흐름도.
도 24는 이용권의 예를 나타내는 도면.
도 25는 도 21의 단계 S77에서의 복호 처리의 상세를 설명하는 흐름도.
도 26은 도 25의 처리를 모식적으로 나타내는 도면.
<발명을 실시하기 위한 최량의 형태>
도 2는 본 발명을 적용한 콘텐츠 제공 시스템의 구성을 나타내고 있다. 인터넷(2)에는, 클라이언트(1-1, 1-2)(이하, 이들 클라이언트를 개개로 구별할 필요가 없는 경우, 단순히 클라이언트(1)라 함)가 접속되어 있다. 이 예에서는 클라이언트가 2개만 도시되어 있지만, 인터넷(2)에는 임의의 개수의 클라이언트가 접속된다.
또한, 인터넷(2)에는 클라이언트(1)에 대하여 콘텐츠를 제공하는 콘텐츠 서버(3), 콘텐츠 서버(3)가 제공하는 콘텐츠를 이용하는 데 필요한 이용권을 클라이언트(1)에 대하여 부여하는 라이센스 서버(4), 및 클라이언트(1)가 이용권을 수취한 경우에, 그 클라이언트(1)에 대하여 과금 처리를 행하는 과금 서버(5)가 접속되어 있다.
이들 콘텐츠 서버(3), 라이센스 서버(4), 및 과금 서버(5)도, 임의의 개수만 인터넷(2)에 접속된다.
도 3은 클라이언트(1)의 구성을 나타내고 있다.
도 3에서, CPU(Central Processing Unit)(21)는 ROM(Read Only Memory)(22)에 기억되어 있는 프로그램, 또는 기억부(28)로부터 RAM(Random Access Memory)(23)에 로드된 프로그램에 따라 각종 처리를 실행한다. 타이머(20)는 계시 동작을 행하여, 시각 정보를 CPU(21)에 공급한다. RAM(23)에는 또한, CPU(21)가 각종 처리를 실행하는 데에 필요한 데이터 등도 적절하게 기억된다.
암호화 복호부(24)는 콘텐츠를 암호화함과 함께, 이미 암호화되어 있는 콘텐츠를 복호하는 처리를 행한다. 코덱부(25)는 예를 들면, ATRAC(Adaptive Transform Acoustic Coding)3 방식 등에 의해 콘텐츠를 인코드하여, 입출력 인터페이스(32)를 통해 드라이브(30)에 접속되어 있는 반도체 메모리(44)에 공급하여 기록시킨다. 혹은, 또한 코덱부(25)는 드라이브(30)를 통해 반도체 메모리(44)로부터 판독한, 인코드되어 있는 데이터를 디코드한다. 반도체 메모리(44)는 예를 들면, 메모리 스틱(상표) 등에 의해 구성된다.
CPU(21), ROM22, RAM(23), 암호화 복호부(24), 및 코덱부(25)는 버스(31)를 통해 서로 접속되어 있다. 이 버스(31)에는 또한, 입출력 인터페이스(32)도 접속되어 있다.
입출력 인터페이스(32)에는 키보드, 마우스 등으로 이루어지는 입력부(26), CRT(Cathode Ray Tube), LCD(Liquid Crystal Display) 등으로 이루어지는 디스플레이 및 스피커 등으로 이루어지는 출력부(27), 하드 디스크 등으로 구성되는 기억부(28), 모뎀, 터미널 어댑터 등으로 구성되는 통신부(29)가 접속되어 있다. 통신부(29)는 인터넷(2)을 통한 통신 처리를 행한다. 통신부(29)는 또한, 다른 클라이언트와의 사이에서, 아날로그 신호 또는 디지털 신호의 통신 처리를 행한다.
입출력 인터페이스(32)에는 또한, 필요에 따라 드라이브(30)가 접속되며, 자기 디스크(41), 광 디스크(42), 광 자기 디스크(43), 혹은 반도체 메모리(44) 등이 적절하게 장착되어, 이들로부터 판독된 컴퓨터 프로그램이 필요에 따라 기억부(28)에 인스톨된다.
또, 도시는 생략하지만, 콘텐츠 서버(3), 라이센스 서버(4), 과금 서버(5)도, 도 3에 도시한 클라이언트(1)와 기본적으로 마찬가지의 구성을 갖는 컴퓨터에 의해 구성된다. 따라서, 이하의 설명에서는 도 3의 구성은 콘텐츠 서버(3), 라이센스 서버(4), 과금 서버(5) 등의 구성으로서도 인용된다.
본 발명에서는 도 4에 도시한 바와 같이, 브로드캐스트 인크립션(Broadcast사 Encryption) 방식의 원리에 기초하여, 디바이스와 키가 관리된다. 키는 계층 트리 구조로 되어, 최하단의 리프(leaf)가 개개의 디바이스 고유의 키에 대응한다. 본 발명의 시스템에 이용되는 계층 트리 구조 키 관리에 대해서는, 일본 특허 공개 제2001-352321호 공보에 기재되어 있다. 도 4의 예의 경우, 번호 0부터 번호15까지의 16개의 디바이스에 대응하는 키가 생성된다.
각 키는 도면 중 동그라미 모양으로 나타나는 트리 구조의 각 노드에 대응하여 규정된다. 이 예에서는, 최상단의 루트 노드에 대응하여 루트 키 KR(적절하게는, Kroot라고도 함)이 규정되며, 2단째의 노드에 대응하여 키 K0, K1이 규정된다. 또한, 3단째의 노드에 대응하여 키 K00 내지 K11이 규정되며, 제4단째의 노드에 대응하여 키 K000 내지 키 K111이 규정된다. 그리고, 최하단의 노드로서의 리프(디바이스 노드)에, 키 K0000 내지 K1111이 각각 대응되어 있다.
계층 구조로 되어 있기 때문에, 예를 들면, 키 K0010과 키 K0011의 상위 키는 K001로 되며, 키 K000과 키 K001의 상위 키는 K00으로 되어 있다. 이하, 마찬가지로, 키 K00과 키 K01의 상위 키는 K0으로 되며, 키 K0과 키 K1의 상위 키는 KR로 되어 있다.
콘텐츠를 이용하는 키는 최하단의 디바이스 노드(리프)로부터, 최상단의 루트 노드까지의 1개의 패스의 각 노드에 대응하는 키에 의해 관리된다. 예를 들면, 번호 3의 리프에 대응하는 디바이스에서, 콘텐츠를 이용하기 위한 키는 키 K0011, K001, K00, K0, KR을 포함하는 패스의 각 키에 의해 관리된다.
본 발명의 시스템에서는 도 5에 도시한 바와 같이, 도 4의 원리에 기초하여 구성되는 키 시스템으로, 디바이스의 키와 콘텐츠의 키의 관리가 행해진다. 도 5의 예에서는, 8+24+32단의 노드가 트리 구조로 되어, 루트 노드로부터 하위의 8단까지의 각 노드에 카테고리가 대응된다. 여기에서의 카테고리란 예를 들면, 메모리 스틱 등의 반도체 메모리를 사용하는 기기의 카테고리, 혹은 디지털 방송을 수신하는 기기의 카테고리인 카테고리를 의미한다. 그리고, 이 카테고리 노드 중의 1개의 노드에, 이용권을 관리하는 시스템으로서 본 시스템(적절하게는, T 시스템이라 함)이 대응한다.
즉, T 시스템의 노드보다 더 하위 계층인 24단의 노드에 대응하는 키에 의해, 서비스 프로바이더, 혹은 서비스 프로바이더가 제공하는 서비스가 대응된다. 따라서, 도 5의 예에서는 224(약 16메가)의 서비스 프로바이더, 혹은 서비스를 규정할 수 있다. 또한, 최하단의 32단의 계층에 의해, 232(약 4기가)의 사용자(클라이언트(1))를 규정할 수 있다. 최하단의 32단의 노드로부터 T 시스템의 노드까지의 패스 상의 각 노드에 대응하는 키가 DNK(Device Node Key)를 구성하며, 최하단의 리프에 대응하는 ID가 리프 ID로 된다.
콘텐츠를 암호화한 콘텐츠 키는 갱신된 루트 키 KR'에 의해 암호화되며, 상위 계층의 갱신 노드 키는 그 바로 근처 하위 계층의 갱신 노드 키를 이용하여 암 호화되고, EKB(Enabling Key Block : 유효화 키 블록)(도 7을 참조하여 후술함) 내에 배치된다.
EKB에서의 말단으로부터 1개 위의 단의 갱신 노드 키는 EKB의 말단 노드 키 혹은 리프 키에 의해 암호화되어, EKB 내에 배치된다. 클라이언트(1)는 서비스 데이터에 기술되어 있는 DNK 중 어느 하나의 키를 이용하여, 콘텐츠와 함께 배포되는 EKB에 기술되어 있는 바로 근처의 상위 계층의 갱신 노드 키를 복호하고, 복호하여 얻은 노드 키를 이용하여, EKB에 기술되어 있는, 또한 그 위의 계층의 갱신 노드 키를 복호한다. 마찬가지의 처리를 순차 행함으로써, 클라이언트(1)는 갱신 루트 키 KR'을 얻을 수 있다. 서비스 데이터는 클라이언트(1)에 대한 정보를 등록했을 때에 라이센스 서버(4)로부터 공급되는 것이며, 이 서비스 데이터와, 후술하는 특정한 콘텐츠의 이용을 허가하는 정보인 이용권의 조합을 라이센스라 한다.
도 6은 계층 트리 구조의 카테고리의 분류의 구체적인 예를 나타내는 도면이다.
도 6에서, 계층 트리 구조의 최상단에는 루트 키 KR2301이 설정되며, 이하의 중간단에는 노드 키 2302가 설정되고, 최하단에는 리프 키 2303이 설정된다. 각 디바이스는 개개의 리프 키와, 리프 키로부터 루트 키에 이르는 일련의 노드 키, 루트 키로 이루어지는 디바이스 노드 키(DNK)를 보유한다.
최상단으로부터 제M단째(도 5의 예에서는 M=8)의 소정의 노드가 카테고리 노드(2304)로서 설정된다. 즉, 제M단째의 노드 각각이 특정 카테고리의 디바이스 설정 노드로 된다. 제M단의 1개의 노드를 정점으로 하여 M+1단 이하의 노드, 리프는 그 카테고리에 포함되는 디바이스에 관한 노드 및 리프로 된다.
예를 들면, 도 6의 제M단째의 1개의 노드(2305)에는 카테고리[메모리 스틱(상표)]가 설정되며, 이 노드 이하에 연속해있는 노드, 리프는 메모리 스틱을 사용한 여러가지 디바이스를 포함하는 카테고리 전용 노드 또는 리프로서 설정된다. 즉, 노드(2305) 이하가 메모리 스틱의 카테고리에 정의되는 디바이스의 관련 노드, 및 리프의 집합으로서 정의된다.
M단으로부터 수단분(數段分) 하위의 단을 서브 카테고리 노드(2306)로서 설정할 수 있다. 도 6의 예에서는, 카테고리[메모리 스틱] 노드(2305)의 2단 아래의 노드에, 메모리 스틱을 사용한 디바이스의 카테고리에 포함되는 서브 카테고리 노드로서, [재생 전용기]의 노드(2306)가 설정되어 있다. 또한, 서브 카테고리 노드인 재생 전용기의 노드(2306) 이하에, 재생 전용기의 카테고리에 포함되는 음악 재생 기능을 갖는 전화 노드(2307)가 설정되며, 또한 그 하위에, 음악 재생 기능을 갖는 전화의 카테고리에 포함되는 [PHS] 노드(2308)와, [휴대 전화] 노드(2309)가 설정되어 있다.
카테고리, 서브 카테고리는 디바이스의 종류뿐만 아니라, 예를 들면, 임의의 메이커, 콘텐츠 프로바이더, 결제 기관 등이 독자적으로 관리하는 노드, 즉 처리 단위, 관할 단위, 혹은 제공 서비스 단위 등, 임의의 단위(이들을 총칭하여 이하, 엔터티라 함)로 설정하는 것이 가능하다.
예를 들면, 1개의 카테고리 노드를 게임 기기 메이커가 판매하는 게임 기기 XYZ 전용 정점 노드로서 설정함으로써, 메이커가 판매하는 게임 기기 XYZ에, 그 정 점 노드 이하의 하단의 노드 키, 리프 키를 저장하여 판매할 수 있으며, 그 후, 그 정점 노드 키 이하의 노드 키, 리프 키에 의해 구성되는 EKB를 생성하여 배신함으로써, 암호화 콘텐츠의 배신 처리, 각종 키의 배신 처리, 갱신 처리 등을 정점 노드 이하의 디바이스(게임 기기 XYZ)에 대해서만 행할 수 있다.
즉, 정점 노드에 속하지 않는, 다른 카테고리의 노드에 속하는 디바이스에는 전혀 영향을 미치게 하지 않고, 키의 갱신 등을 실행할 수 있다.
또한, 임의의 시점 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의 갱신 키인 것을 나타낸다.
갱신 키의 배포 처리에 대하여 설명한다. 키의 갱신은 예를 들면, 도 7에 도시되는 EKB에 의해 구성되는 테이블을 네트워크를 통해, 혹은 소정의 기록 매체에 저장하여 디바이스 0, 1, 2에 공급함으로써 실행된다. 또, EKB는 도 4에 도시한 바와 같은 트리 구조를 구성하는 각 리프(최하단의 노드)에 대응하는 디바이스에, 새롭게 갱신된 키를 배포하기 위한 암호화 키에 의해 구성된다.
도 7에 도시되는 EKB는, 노드 키의 갱신이 필요한 디바이스만이 갱신 가능한 데이터 구성을 갖는 블록 데이터로서 구성된다. 도 7의 예는, 도 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을 제공하는 것이 필요하다.
도 7의 EKB에 도시한 바와 같이, EKB에는 복수의 암호화 키가 포함되며, 예를 들면, 도 7의 최하단의 암호화 키는 Enc(K0010, K (t) 001)이다. 이것은 디바이스 2가 갖는 리프 키 K0010에 의해 암호화된 갱신 노드 키 K (t) 001이며, 디바이스 2는 자기 자신이 갖는 리프 K0010에 의해 암호화 키를 복호하고, 갱신 노드 키 K (t) 001을 취득할 수 있다.
또한, 디바이스 2는 복호에 의해 얻은 갱신 노드 키 K (t) 001을 이용하여, 도 7의 아래에서부터 2단째의 암호화 키 Enc(K (t) 001, K (t) 00)를 복호할 수 있어서, 갱신 노드 키 K (t) 00을 취득할 수 있다.
디바이스 2는 마찬가지로, 도 7의 위에서부터 2단째의 암호화 키 Enc(K (t) 00, K (t) 0)를 복호함으로써, 갱신 노드 키 K (t) 0을 취득할 수 있고, 이것을 이용하여, 도 7의 위에서부터 1단째의 암호화 키 Enc(K (t) 0, K (t) R)를 복호함으로써, 갱신 루트 키 K (t) R을 취득할 수 있다.
한편, 노드 키 K000은 갱신하는 대상의 키에 포함되어 있지 않으며, 노드 0, 1이 갱신 노드 키로서 필요한 것은 K (t) 00, K (t) 0, K (t) R이다.
노드 0, 1은 디바이스 키 K0000, K0001을 이용하여, 도 7의 위에서부터 3단째의 암호화 키 Enc(K000, K (t) 00)를 복호함으로써 갱신 노드 키 K (t) 00을 취득하고, 마찬가지로, 순차적으로, 도 7의 위에서부터 2단째의 암호화 키 Enc(K (t) 00, K (t) 0)를 복호함으로써, 갱신 노드 키 K (t) 0을 취득하고, 또한, 도 7의 위에서부터 1단째의 암호화 키 Enc(K (t) 0, K (t) R)를 복호함으로써, 갱신 루트 키 K (t) R을 취득한다. 이와 같이 하여, 디바이스 0, 1, 2는 갱신한 키 K (t) R을 얻을 수 있다.
또, 도 7의 인덱스는 도면의 우측에 도시되는 암호화 키를 복호하기 위한 복호 키로서 사용하는 노드 키, 리프 키의 절대 번지를 나타낸다.
도 4에 도시되는 트리 구조의 상위단의 노드 키 K (t) 0, K (t) R의 갱신이 불필요하며, 노드 키 K00만의 갱신 처리가 필요한 경우에는 도 8의 EKB를 이용함으로써, 갱신 노드 키 K (t) 00을 디바이스 0, 1, 2에 배포할 수 있다.
도 8에 도시되는 EKB는 예를 들면, 특정한 그룹에서 공유되는 새로운 콘텐츠 키를 배포하는 경우에 이용 가능하다.
예를 들면, 도 4의 일점 쇄선으로 나타내는 그룹 내의 디바이스 0, 1, 2, 3이 임의의 기록 매체를 이용하고 있으며, 이들 디바이스에 대하여 새로운 공통 콘텐츠 키 K (t) con을 설정할 것을 필요로 한다. 이 때, 디바이스 0, 1, 2, 3의 공통 노드 키 K00을 갱신한 K (t) 00에 의해, 새로운 공통 갱신 콘텐츠 키 K (t) con이 암호화된 데이터 Enc(K (t) 00, K (t) con)가, 도 8에 도시되는 EKB와 함께 배포된다. 이 배포에 의해, 디바이스 4 등, 그 밖의 그룹의 기기가 복호할 수 없는 데이터로서의 배포가 가능해진다.
즉, 디바이스 0, 1, 2는 EKB를 처리하여 얻은 키 K (t) 00을 이용하여 암호화 데이터를 복호함으로써, t 시점에서의 콘텐츠 키 K (t) con을 얻을 수 있다.
도 9는 t 시점에서의 콘텐츠 키 K (t) con을 얻는 처리의 예로서, K (t) 00에 의해 새로운 공통의 콘텐츠 키 K (t) con이 암호화된 데이터 Enc(K (t) 00, K (t) con)와, 도 8에 도시되는 EKB가 소정의 기록 매체를 통해 제공된 디바이스 0의 처리를 모식적으로 나타내는 도면이다. 즉, 도 9의 예는 EKB에 의한 암호화 메시지데이터를 콘텐츠 키 K (t) con으로 한 예이다.
도 9에 도시한 바와 같이, 디바이스 0은 기록 매체에 저장되어 있는 세대 t 시점의 EKB와, 그 자체에 미리 준비되어 있는 노드 키 K000을 이용하여, 상술한 바와 같은 EKB 처리(키를 순차적으로 푸는 처리)에 의해, 노드 키 K (t) 00을 생성한다. 또한, 디바이스 0은 복호한 갱신 노드 키 K (t) 00을 이용하여, 갱신 콘텐츠 키 K (t) con을 복호하고, 그것을 후에 사용하기 위해 그 자체만이 갖는 리프 키 K0000으로, 갱신 콘텐츠 키 K (t) con을 암호화하여 저장한다.
도 10은 EKB의 포맷의 예를 나타내는 도면이며, 이러한 각종 정보로 이루어지는 EKB가 콘텐츠 데이터의 헤더에 포함된다.
버전(61)은 EKB의 버전을 도시하는 식별자이다. 이 버전(61)은 최신 EKB를 식별하는 기능과, 콘텐츠와의 대응 관계를 나타내는 기능을 갖는다. 깊이(62)는 EKB의 배포처의 디바이스에 대한 계층 트리의 계층 수를 나타낸다. 데이터 포인터(63)는 EKB 내의 데이터부(66)의 위치를 나타내는 포인터이며, 태그 포인터(64) 및 서명 포인터(65)는 태그부(67) 및 서명(68)의 위치를 각각 나타내는 포인터이다.
데이터부(66)에는 예를 들면, 갱신하는 노드 키가 암호화되어 얻어진 데이터가 저장된다. 예를 들면, 도 9에 도시한 바와 같은, 갱신된 노드 키에 관한 각 암호화 키 등이 데이터부(66)에 저장된다.
태그부(67)는 데이터부(66)에 저장된, 암호화된 노드 키, 리프 키의 위치 관계를 나타내는 태그이다. 이 태그 부여 룰을 도 11을 참조하여 설명한다.
도 11의 예에서는 송부되는 데이터는 도 11B에 도시한 바와 같이, 도 7의 암호화 키로 되어 있다. 또, 암호화 키에 포함되는 탑 노드의 어드레스를 탑 노드 어드레스로 한다.
이 예에서는, 루트 키의 갱신 키 K (t) R이 포함되어 있기 때문에, 탑 노드 어드레스는 KR로 된다. 이 때, 예를 들면, 최상단의 데이터 Enc(K (t) 0, K (t) R)는 도 11A에 도시하는 계층 트리에 나타내는 위치 P0에 대응한다. 다음 단의 데이터는 Enc(K (t) 00, K (t) 0)이고, 트리 상에서는 이전 데이터 Enc(K (t) 0, K (t) R)의 좌측 아래의 위치 P00에 대응한다.
즉, 트리 구조의 소정의 위치로부터 보았을 때, 그 아래에 데이터가 있는 경우에는 태그가 0으로 설정되며, 데이터가 없는 경우에는 태그가 1로 설정된다. 태그는{좌측(L) 태그, 우측(R) 데이터}으로서 설정된다.
도 11B의 최상단의 데이터 Enc(K (t) 0, K (t) R)에 대응하는 위치 P0의 좌측 아래의 위치 P00에는 데이터가 있기 때문에 L 태그=0으로 되며, 위치 P0의 우측 아래에는 데이터가 없기 때문에 R 태그=1로 된다. 이하, 모든 데이터에 태그가 설정되며, 도 11C에 도시하는 데이터 열, 및 태그 열이 구성된다.
태그는 대응하는 데이터 Enc(Kxxx, Kyyy)가 트리 구조의 어디에 위치하고 있는 것일지를 나타내기 위해 설정된다. 데이터부(66)에 저장되는 키 데이터 Enc(Kxxx, Kyyy)…는 단순히 암호화된 키의 나열 데이터에 불과하지만, 상술한 태그에 의해 데이터로서 저장된 암호화 키의 트리 상의 위치가 판별 가능해진다. 태그를 이용하지 않고, 도 7 또는 도 8에 도시한 바와 같이, 암호화 데이터에 대응시킨 노드 인덱스를 이용하여, 예를 들면,
0 : Enc(K (t) 0, K (t) R)
00 : Enc(K (t) 00, K (t) 0)
000 : Enc(K(t) 000, K (t) 00)
…과 같은 데이터 구성으로 하는 것도 가능하지만, 이러한 인덱스를 이용한 구성으로 한 경우, 그 데이터량이 증대하여, 네트워크를 통한 배신 등에서는 바람직하지 않다. 이것에 대하여, 이상과 같은 태그를 키의 위치를 나타내는 색인 데이터로서 이용함으로써, 보다 적은 데이터량으로 키의 위치의 판별이 가능해진다.
도 10의 설명으로 되돌아가서, 서명(Signature)(68)은 EKB를 발행한, 예를 들면, 키 관리 센터(라이센스 서버(4)), 콘텐츠 프로바이더(콘텐츠 서버(3)), 결제 기관(과금 서버(5)) 등이 실행하는 전자 서명이다. EKB를 수령한 디바이스는, EKB에 포함되는 서명을 검증함으로써, 취득한 EKB가 정당한 발행자가 발행한 EKB인지 여부를 판정한다.
도 12는, 이상과 같은 키 관리 시스템에서, 콘텐츠를 복호하기 위한 콘텐츠 키 Kc가 클라이언트(1)에 의해 취득될 때까지의 처리를 모식적으로 나타내는 도면이다.
도 12의 좌단에 나타내는 DNK는 등록 시에 생성되는 서비스 데이터에 포함되어, 라이센스 서버(4)로부터 클라이언트(1)에 제공된다. 또한, 후술하는 바와 같이 서비스 데이터에는 클라이언트(1)에 고유의 개별 키 Kpri가 포함되어 있으며, 그 키 정보도 제공된다(도 12의 우단).
클라이언트(1)는 임의의 콘텐츠와, 그 콘텐츠를 이용하기 위한 조건 등이 기술된 이용권을 취득하여, 사용자의 지시에 따라 콘텐츠를 이용할 때, 처음에, 서비스 데이터에 의해 취득된 DNK을 이용하여, 콘텐츠의 EKB에 포함되는 EKB 키 Kekb를 취득한다. 또한, 클라이언트(1)는 서비스 데이터에 의해 취득된 개별 키 Kpri를 이용하여, EKB 키 Kekb에 대응하는, 이용권에 포함되는 서브 키 Ksub를 취득한다. 또, 도 12에서, EKB(Kekb)는 EKB 키 Kekb가, EKB에 포함되는 루트 키 Kroot에 의해 암호화되어 있는 것을 나타내고 있다.
클라이언트(1)는 EKB 키 Kekb와 서브 키 Ksub를 취득했을 때, 이들 키 정보에 기초하여, 콘텐츠를 복호하기 위한 콘텐츠 키 Kc를 배타적 논리합 연산에 의해 생성하고, 생성한 콘텐츠 키 Kc를 이용하여 콘텐츠(콘텐츠 데이터)를 복호한다.
이와 같이, EKB에 포함되는 EKB 키 Kekb와, 이용권에 포함되는 서브 키 Ksub에 기초하여 생성된 콘텐츠 키 Kc에 의해 콘텐츠를 이용할 수 있도록 함으로써(키 정보를 분할하여 클라이언트(1)에 제공함으로써), 만일 EKB의 내용이 판독된 경우 라도, 거기에 기술되어 있는 키 정보만으로는 콘텐츠를 이용할 수 없게 된다. 즉, 콘텐츠를 이용하기 위해서는 EKB(콘텐츠), 콘텐츠를 이용하기 위한 이용권, 및 서비스 데이터가 필요해진다.
이하, 분할되어 제공된 키 정보에 기초하여 콘텐츠를 이용하기까지의 클라이언트(1), 콘텐츠 서버(3), 및 라이센스 서버(4)의 처리에 대하여, 흐름도를 참조하여 설명한다.
처음에, 도 13의 흐름도를 참조하여, 서비스 데이터를 취득하는 클라이언트(1)의 처리에 대하여 설명한다.
입력부(26)가 조작되어, 라이센스 서버(4)에 대한 액세스가 사용자에 의해 지시되었을 때, 클라이언트(1)의 CPU(21)는 단계 S1에서 통신부(29)를 제어하여, 인터넷(2)을 통해 라이센스 서버(4)에 액세스한다. 단계 S2에서, 입력부(26)가 조작되어, 제공을 받는 서비스가 사용자에 의해 지정되었을 때, CPU(21)는 이 지정 정보를 수취하여, 라이센스 서버(4)에 대하여 지정된 서비스를 이용하기 위한 서비스 데이터를 요구한다.
도 15의 흐름도를 참조하여 후술하는 바와 같이, 이 통지를 받은 라이센스 서버(4)는 서비스 데이터를 송신하기 때문에, CPU(21)는 단계 S3에서 라이센스 서버(4)로부터 송신된 서비스 데이터를 수신하여, 단계 S4로 진행하여, 하드 디스크 등에 의해 구성되는 기억부(28)에 서비스 데이터를 기억시킨다.
도 14는 클라이언트(1)에 제공되는 서비스 데이터의 예를 나타내는 도면이다. 도 14에 도시한 바와 같이, 서비스 데이터에는 클라이언트(1)를 식별하는 리 프 ID, EKB에 기술되어 있는 키 정보를 복호하기 위한 DNK, 클라이언트(1)에 대하여 개별적으로 부여되는 개별 키 Kpri, 개별 키 Kpri에 대응하는 공개 키 Kpub가 포함되어 있다. 또한, 서비스 데이터에는 라이센스 서버(4)가 갖는 개별 키에 대응하는, 라이센스 서버(4)의 공개 키, 및 서비스 데이터의 증명서가 포함되어 있다.
다음으로, 도 15의 흐름도를 참조하여, 도 13에 도시되는 처리에 대응하여 실행되는, 라이센스 서버(4)의 서비스 데이터 제공 처리에 대하여 설명한다.
단계 S11에서, 라이센스 서버(4)의 CPU(21)는 클라이언트(1)로부터 액세스를 받았는지 여부를 판정하고, 액세스를 받았다고 판정할 때까지 대기한다. 라이센스 서버(4)의 CPU(21)는 단계 S11에서, 클라이언트(1)로부터 액세스를 받았다고 판정한 경우, 단계 S12로 진행하여 클라이언트(1)로부터 요구된 서비스를 이용하기 위한, 도 14에 도시되는 것 같은 각종 정보가 기술된 서비스 데이터를 생성한다.
단계 S13에서, 라이센스 서버(4)의 CPU(21)는 통신부(29)를 제어하며, 단계 S12에서 생성한 서비스 데이터를 서비스의 디폴트의 사용 조건을 나타내는 정보와 함께 클라이언트(1)에 송신한다.
이상과 같은 처리에 의해, 클라이언트(1)에 의해 서비스 데이터가 취득된다. 또, 이상과 같은 처리에 의해 서비스 데이터가 클라이언트(1)에 제공되는 것은 아니며, 클라이언트(1)에 미리 저장된 상태(클라이언트(1)의 제조 단계에서 저장된 상태)로, 그 클라이언트(1)의 사용자에게 제공되도록 하여도 된다.
다음으로, 도 16의 흐름도를 참조하여, 클라이언트(1)에 제공하는 콘텐츠를 생성하는 콘텐츠 서버(3)의 처리에 대하여 설명한다. 또, 콘텐츠 서버(3)로부터 제공되는 콘텐츠에 포함되는 음악 데이터나 영상 데이터 등의 그 자체의 콘텐츠 데이터는 콘텐츠 홀더(도시 생략)에 의해 제공된 것이다.
단계 S21에서, 콘텐츠 서버(3)의 CPU(21)는 클라이언트(1)에 제공하는 콘텐츠(콘텐츠 데이터)를 암호화하는 콘텐츠 키 Kc를 생성한다. 또한, CPU(21)는 단계 S22에서, 클라이언트(1)에서 콘텐츠 키 Kc를 생성하기 위해 필요한 서브 키 Ksub를 생성한다. 상술한 바와 같이, 이 서브 키 Ksub는 이용권에 포함되는 형태로, 라이센스 서버(4)로부터 클라이언트(1)에 제공된다.
CPU(21)는 단계 S23에서, 서브 키 Ksub와 EKB 키 Kekb에 기초하여, 클라이언트(1)가 콘텐츠 키 Kc를 생성할 수 있도록 그 EKB 키 Kekb를 생성한다. 구체적으로는 CPU(21)는 단계 S21에서 생성한 콘텐츠 키 Kc와, 단계 S22에서 생성한 서브 키 Ksub의 배타적 논리합 연산(Exclusive OR)을 행하여, 그 연산 결과를 EKB 키 Kekb로 한다.
단계 S24에서, CPU(21)는 단계 S23에서 생성한 EKB 키 Kekb를 EKB에 포함되는 루트 키 Kroot에 의해 암호화하여, E(Kroot, Kekb)를 취득한다. 또한, CPU(21)는 단계 S25에서, 단계 S21에서 생성한 콘텐츠 키 Kc를 이용하여, 클라이언트(1)에 제공하는 콘텐츠(Content)에 암호화를 실시하여, E(Kc, Cont)를 취득한다.
CPU(21)는 단계 S26에서, 단계 S24에서 취득한 E(Kroot, Kekb), 및 단계 S25에서 취득한 E(Kc, Cont)를 포함하는 포맷의 콘텐츠를 생성하여, 그것을 기억부(28)에 보존한다.
도 17은 콘텐츠 서버(3)에 의해 생성되는 콘텐츠의 포맷의 예를 나타내는 도면이다.
도 17에 도시한 바와 같이, 기본적으로, 콘텐츠는 헤더(Header)와 데이터(Data)(콘텐츠 데이터)에 의해 구성된다.
헤더에는 콘텐츠 정보(Content information), URL(Uniform Resource Locator), 라이센스 ID(License ID), 클라이언트(1)에 부여된 DNK에 의해 암호화된 Kroot를 포함하는 EKB, EKB로부터 취득된 키 Kroot에 의해 EKB 키 Kekb가 암호화되어 얻어진 E(Kroot, Kekb), 콘텐츠의 속성을 나타내는 속성 정보(Attribute), 및 헤더의 서명(Signatures)이 기술되어 있다.
콘텐츠 정보에는, 데이터로서 저장되어 있는 콘텐츠를 식별하기 위한 콘텐츠 ID(CID) 및 콘텐츠의 코덱 방식을 나타내는 정보 등이 포함되어 있다.
URL은, 그 콘텐츠를 이용하기 위해 필요한 이용권을 취득할 때 액세스하는, 라이센스 서버(4)의 어드레스를 나타내고 있다. 콘텐츠의 속성에는, 콘텐츠 ID, 콘텐츠의 제공자를 식별하기 위한 식별 정보로서의 리코드 컴퍼니 ID, 아티스트를 식별하기 위한 식별 정보로서의 아티스트 ID, 및 유니크 ID 등이 포함된다. 본 실시예에서는, 속성은 이용권의 대상으로 되는 콘텐츠를 특정하기 위해 사용된다.
데이터는 임의의 수의 암호화 블록(Encryption Block)에 의해 구성된다. 각 암호화 블록은 이니셜 벡터(IV(Initial Vector)), 시드(Seed), 및 콘텐츠를 키 K' c에 의해 암호화한 데이터 EK' c(data)에 의해 구성되어 있다.
키 K' c는 다음 식에 의해 나타낸 바와 같이, 콘텐츠 키 Kc와, 난수로 설정되는 값 Seed를 해시 함수에 적용하여 연산된 값에 의해 구성된다.
K' c=Hash(Kc, Seed)
이니셜 벡터 IV와 시드 Seed는 암호화 블록마다 다른 값이 설정된다.
예를 들면, 콘텐츠의 암호화는 콘텐츠의 데이터를 8 바이트 단위로 구분하여, 그 구분마다 행해진다. 후단의 8 바이트의 암호화는, 전단의 8 바이트의 암호화의 결과를 이용하여 행해지는 CBC(Cipher Block Chaining) 모드로 행해진다.
CBC 모드의 경우, 최초의 8 바이트의 콘텐츠를 암호화할 때, 그 전단의 8 바이트의 암호화 결과가 존재하지 않기 때문에, 최초의 8 바이트의 콘텐츠를 암호화할 때에는 이니셜 벡터 IV를 초기값으로 하여 암호화가 행해진다.
CBC 모드에 의한 암호화를 행함으로써, 1개의 암호화 블록이 해독되었다고 하여도, 그 영향이 다른 암호화 블록에 미치는 것을 억제할 수 있다. 또, 콘텐츠가 다른 암호화 방식에 의해 암호화되도록 하여도 된다.
이상과 같은 포맷으로 콘텐츠를 구성함으로써, 콘텐츠를 취득한 클라이언트(1)는 서비스 데이터에 의해 미리 부여되어 있는 DNK를 이용하여 루트 키 Kroot를 복호하며, 취득한 루트 키 Kroot에 의해, EKB 키 Kekb를 복호할 수 있다. 또한, 클라이언트(1)는 EKB 키 Kekb와, 이용권에 포함되어 있는 서브 키 Ksub에 기초하여 콘텐츠 키 Kc를 생성하며, 그것을 이용하여 콘텐츠를 복호할 수 있다.
도 16의 설명으로 되돌아가서, 단계 S27에서, 콘텐츠 서버(3)의 CPU(21)는 단계 S22에서 생성한 서브 키 Ksub를 인터넷(2)을 통해, 또는 소정의 기록 매체를 통해 라이센스 서버(4)에 제공한다.
콘텐츠 서버(3)에 의한 서브 키 Ksub의 제공에 따라, 라이센스 서버(4)에서는 도 18의 흐름도에 나타내는 처리가 행해진다.
단계 S41에서, 라이센스 서버(4)의 CPU(21)는 콘텐츠 서버(3)로부터 서브 키 Ksub가 취득되었는지 여부를 판정한다. CPU(21)는 서브 키 Ksub가 취득되었다고 판정할 때까지 대기하여, 예를 들면, 인터넷(2)을 통해 서브 키 Ksub를 나타내는 정보가 송신되었다고 판정한 경우, 단계 S42로 진행하여 그것을 취득한다. 취득된 서브 키 Ksub는 기억부(28)에 기억되어, 클라이언트(1)로부터 이용권이 요구되었을 때, 그 이용권에 포함되어 클라이언트(1)에 제공된다.
다음으로, 도 19의 흐름도를 참조하여, 콘텐츠 서버(3)로부터 콘텐츠의 제공을 받는 클라이언트(1)의 처리에 대하여 설명한다.
클라이언트(1)의 CPU(21)는 사용자로부터 콘텐츠 서버(3)에 액세스할 것을 지시받았을 때, 단계 S51에서 콘텐츠 서버(3)에 액세스한다. 단계 S52에서, 사용자가 입력부(26)를 조작하여 제공을 받는 콘텐츠를 지정하면, CPU(21)는 이 지정 정보를 수취하여, 콘텐츠 서버(3)에 지정된 콘텐츠의 콘텐츠 ID를 통지한다.
도 20의 흐름도를 참조하여 후술하는 바와 같이, 이 통지를 받은 콘텐츠 서버(3)는 콘텐츠를 송신하기 때문에, 단계 S53에서 CPU(21)는 송신된 콘텐츠를 수신하며, 단계 S54에서 그 콘텐츠를 기억부(28)에 기억시킨다.
다음으로, 도 20의 흐름도를 참조하여, 클라이언트(1)에 의한 도 19의 처리에 대응하여 실행되는, 콘텐츠 서버(3)의 콘텐츠 제공 처리에 대하여 설명한다.
단계 S61에서, 콘텐츠 서버(3)의 CPU(21)는 클라이언트(1)로부터 액세스를 받을 때까지 대기하여, 액세스를 받았다고 판정했을 때, 단계 S62로 진행하여, 클라이언트(1)로부터 송신된 콘텐츠 ID를 취득한다.
이 콘텐츠 ID는 클라이언트(1)가 도 19의 단계 S52에서 통지한 정보이다.
단계 S63에서, 콘텐츠 서버(3)의 CPU(21)는 기억부(28)에 기억되어 있는 콘텐츠 데이터 중에서, 단계 S62의 처리에서 취득한 콘텐츠 ID에 의해 지정된 콘텐츠 데이터를 판독한다. 단계 S64에서, CPU(21)는 통신부(29)를 제어하여, 판독한 콘텐츠 데이터를 포함하는 콘텐츠를, 콘텐츠를 요구한 클라이언트(1)에 송신한다.
다음으로, 도 21의 흐름도를 참조하여, 콘텐츠를 재생하는 클라이언트(1)의 처리에 대하여 설명한다.
단계 S71에서, 클라이언트(1)의 CPU(21)는 사용자가 입력부(26)를 조작함으로써 지시한 콘텐츠의 식별 정보(CID)를 취득한다. CID는 예를 들면, 콘텐츠의 타이틀이나, 기억되어 있는 각 콘텐츠에 부여되어 있는 번호 등에 의해 구성된다. CPU(21)는 콘텐츠가 지시되면, 그 콘텐츠의 속성(Attributes)을 판독한다. 이 속성은 도 17에 도시한 바와 같이, 콘텐츠의 헤더에 기술되어 있는 것이다.
단계 S72에서, CPU(21)는 단계 S71에서 판독된 속성이 각 이용권에 포함되어 있는 콘텐츠 조건을 만족하는 이용권이 클라이언트(1)에 의해 이미 취득되어, 기억부(28)에 기억되어 있는지의 여부를 판정한다. 또한, 이용권이 취득되어 있지 않은 경우에는 단계 S73으로 진행하여, CPU(21)는 이용권 취득 처리를 실행한다. 이 이용권 취득 처리의 상세는 도 22의 흐름도를 참조하여 후술한다.
단계 S72에서, 이용권이 이미 취득되어 있다고 판정된 경우, 또는 단계 S73에서, 이용권 취득 처리가 실행되어 이용권이 취득된 경우, 단계 S74로 진행하여, CPU(21)는 취득되어 있는 이용권이 유효 기한 내의 것인지 여부를 판정한다. 이용권이 유효 기한 내의 것인지 여부는 이용권의 기술 내용으로서의 유효 기한(도 24 참조)과, 타이머(20)에 의해 계시되어 있는 현재 일시가 비교되고 판단된다.
이용권의 유효 기한이 이미 만료되어 있다고 판정된 경우, CPU(21)는 단계 S75로 진행하여 이용권 갱신 처리를 실행한다. 단계 S75에서 실행되는 이용권 갱신 처리는 기본적으로는, 단계 S73에서 실행되는 이용권 취득 처리과 마찬가지의 처리이다.
단계 S74에서, 이용권이 유효 기한 내의 것이라고 판정된 경우, 또는 단계 S75에서 이용권이 갱신된 경우, 단계 S76으로 진행하여, CPU(21)는 기억부(28)에 기억되어 있는, 이용권에 포함되는 사용조건 및 사용 상태를 판독하여, 재생 조건을 충족시키고 있는지의 여부를 판정한다.
단계 S76에서, 이용권에 포함되는 사용 조건 및 사용 상태에 기초하여, 재생이 허가된 것으로 판정된 경우에는, 단계 S77로 진행하여 CPU(21)는 콘텐츠를 기억부(28)로부터 판독하고, RAM(23)에 저장시킨다. 그리고, 단계 S78에서, CPU(21)는 RAM(23)에 기억된 콘텐츠를 복호하는 처리를 실행한다. 단계 S78에서 행해지는 콘텐츠 복호 처리에 대해서는 도 25의 흐름도를 참조하여 후술한다.
CPU(21)는 단계 S79에서, 암호화 복호부(24)에 의해 복호된 콘텐츠를 코덱부(25)에 공급하여 디코드시킨다. 그리고, CPU(21)는 코덱부(25)에 의해 디코 드된 데이터를 입출력 인터페이스(32)를 통해 출력부(27)에 공급하고, 디지털 아날로그 변환시켜서, 스피커로부터 출력시킨다.
다음으로, 도 22의 흐름도를 참조하여, 도 21의 단계 S73에서 행해지는 이용권 취득 처리의 상세에 대하여 설명한다.
단계 S81에서, 클라이언트(1)의 CPU(21)는 콘텐츠의 헤더에 기술되어 있는 URL을 취득한다. 상술한 바와 같이, 이 URL은 그 콘텐츠를 이용하기 위해 필요한 이용권을 취득할 때 액세스하는 라이센스 서버(4)의 어드레스를 나타내고 있다. 단계 S82에서, CPU(21)는 통신부(29)를 제어하며, 단계 S81에서 취득한 URL, 즉 라이센스 서버(4)에 액세스한다.
이 액세스에 따라, 라이센스 서버(4)는 클라이언트(1)에 대하여, 구입하는 이용권(콘텐츠를 사용하는 데 필요한 이용권)을 지정하는 이용권 지정 정보, 사용자 ID, 및 패스워드의 입력을 요구한다(후술하는 도 23의 단계 S102). CPU(21)는 이 요구를 출력부(27)의 표시부에 표시시킨다. 사용자는 이 표시에 기초하여, 입력부(26)를 조작하여, 이용권 지정 정보, 사용자 ID, 및 패스워드를 입력한다. 또, 이 사용자 ID와 패스워드는 클라이언트(1)의 사용자가 인터넷(2)을 통해 라이센스 서버(4)에 액세스하여, 미리 취득해 둔 것이다.
CPU(21)는 단계 S83에서, 입력부(26)로부터 입력된 이용권 지정 정보를 취득하고, 단계 S84에서 사용자 ID 및 패스워드를 취득한다. CPU(21)는 단계 S85에서, 통신부(29)를 제어하여, 입력된 사용자 ID와 패스워드, 이용권 지정 정보, 및 서비스 데이터에 포함되는 리프 ID를 포함하는 이용권 요구를 라이센스 서버(4)에 송신 시킨다.
라이센스 서버(4)는 도 23을 참조하여 후술하는 바와 같이, 사용자 ID와 패스워드, 및 이용권 지정 정보에 기초하여 생성한 이용권을 송신하거나(단계 S111), 또는 조건이 만족되지 않는 경우에는 이용권을 송신하지 않는다(단계 S114).
단계 S86에서, CPU(21)는 라이센스 서버(4)로부터 이용권이 송신되었는지 여부를 판정하여, 이용권이 송신되었다고 판정한 경우, 단계 S87로 진행하여, 수신한 이용권을 기억부(28)에 기억시킨다.
단계 S86에서, 이용권이 송신되지 않는다고 판정한 경우, CPU(21)는 단계 S88로 진행하여, 콘텐츠의 재생 처리를 금지하는 등의 에러 처리를 실행한다.
또, 도 22에 나타내는 이용권 취득 처리는, 각 사용자가 콘텐츠를 취득하기 전에 미리 행해두도록 하는 것도 가능하다.
다음으로, 도 23의 흐름도를 참조하여, 도 22의 클라이언트(1)의 이용권 취득 처리에 대응하여 실행되는, 라이센스 서버(4)의 이용권 제공 처리에 대하여 설명한다.
단계 S101에서, 라이센스 서버(4)의 CPU(21)는 클라이언트(1)로부터 액세스를 받을 때까지 대기하여, 액세스를 받았을 때 단계 S102로 진행하여, 액세스한 클라이언트(1)에 대하여, 각 이용권에 관한 정보를 포함하는 이용권의 리스트를 송신함과 함께, 사용자 ID와 패스워드, 및 이용권 지정 정보의 송신을 요구한다. 클라이언트(1)로부터 사용자 ID와 패스워드, 리프 ID 및 이용권 지정 정보(이용권 ID이어도 됨)가 송신되었을 때(도 22의 단계 S85의 처리), 라이센스 서버(4)의 CPU(21) 는 통신부(29)를 통해 이것을 취득한다.
라이센스 서버(4)의 CPU(21)는 단계 S103에서, 통신부(29)로부터 과금 서버(5)에 액세스하여, 사용자 ID와 패스워드에 대응하는 사용자의 여신 처리를 요구한다. 과금 서버(5)는 인터넷(2)을 통해 라이센스 서버(4)로부터 여신 처리의 요구를 받으면, 그 사용자 ID와 패스워드에 대응하는 사용자의 과거 지불 이력 등을 조사하여, 그 사용자가 과거에 이용권의 대가의 미불 실적이 있는지 여부 등을 조사하여, 그와 같은 실적이 없는 경우에는 이용권의 부여를 허용하는 여신 결과를 송신하고, 미불 실적 등이 있는 경우에는 이용권 부여 불허가의 여신 결과를 송신한다. 또, 클라이언트(1)의 사용자는 과금 서버(5)에 대하여, 자기 자신의 사용자 ID, 패스워드, 과금처의 정보 등을 미리 등록하고 있다.
단계 S104에서, 라이센스 서버(4)의 CPU(21)는 과금 서버(5)로부터의 여신 결과가 이용권을 부여하는 것을 허용하는 것인지의 여부를 판정하여, 이용권의 부여가 허용되어 있는 경우에는 단계 S105로 진행하며, 단계 S102의 처리에서 취득된 이용권 지정 정보에 대응하는 이용권을, 기억부(28)에 기억되어 있는 이용권의 중으로부터 추출한다. 기억부(28)에 기억되어 있는 이용권에는 이용권 ID, 버전, 작성 일시, 유효 기한 등의 정보가 기술되어 있다.
단계 S106에서, CPU(21)는 그 이용권에, 클라이언트(1)로부터 통지된 리프 ID를 부가한다. 또한, 단계 S107에서, CPU(21)는 단계 S105에서 선택된 이용권에 대응되고 있는 사용 조건을 선택한다. 또, 단계 S102의 처리에서 사용자로부터 사용 조건이 지정된 경우에는 그 사용 조건이 미리 준비되어 있는 사용 조건에 부가 된다. CPU(21)는 선택한 사용 조건을 이용권에 부가한다. 사용 조건은 이용권에 미리 부가되어 있어도 된다.
단계 S108에서, CPU(21)는 라이센스 서버(4)의 개별 키에 의해 이용권에 서명한다.
CPU(21)는 단계 S109에서, 콘텐츠 서버(3)로부터 통지된 서브 키 Ksub를 클라이언트(1)의 개별 키 Kpri(도 14)에 대응하는 라이센스 서버(4)의 공개 키 Kpub를 이용하여 암호화하여, E(Kpub, Ksub)를 취득한다. CPU(21)는 단계 S110에서, 단계 S109에서 취득한 E(Kpub, Ksub)를 단계 S105로 선택한 이용권에 부가한다.
도 24는 이상과 같은 처리에 의해 생성되는 이용권의 예를 나타내는 도면이다.
버전은 메이저 버전 및 마이너 버전을 도트로 구획하여, 이용권의 버전을 기술하는 정보이다. 프로파일은 10진의 정수값으로부터 기술되어, 이용권의 기술 방법에 대한 제한을 규정하는 정보이다. 이용권 ID는 16진 상수로 기술되는, 이용권을 식별하기 위한 식별 정보이다. 작성 일시는 이용권이 작성된 일시를 나타낸다. 유효 기한은 이용권의 유효 기한을 나타낸다. 9999년 23시 59분 59초인 유효 기한은 유효 기한에 제한이 없다는 것을 도시한다. 사용 조건에는 그 이용권에 기초하여 콘텐츠를 사용하는 것이 가능한 사용 기한, 그 이용권에 기초하여, 콘텐츠를 재생하는 것이 가능한 재생 기한, 콘텐츠의 최대 재생 횟수, 그 이용권에 기초하여 콘텐츠를 복사하는 것이 가능한 횟수(허용되는 복사 횟수), 최대 체크 아웃 횟수, 그 이용권에 기초하여 콘텐츠를 CD-R에 기록할 수 있는지 여부, PD(Portable Device)에 복사하는 것이 가능한 횟수, 이용권의 이동이 가능한지 여부, 사용 로그를 취하는 의무의 유무 등을 나타내는 정보가 포함된다. 사용 조건의 전자 서명은 사용 조건에 대응하는 전자 서명이다.
상수는 사용 조건 또는 사용 상태에서 참조되는 상수이다. 리프 ID는 클라이언트를 식별하기 위한 식별 정보이다. 전자 서명은 이용권 전체에 대응하는 전자 서명이다. 증명서는 라이센스 서버(4)의 공개 키를 포함하는 증명서이다.
또한, 클라이언트(1)의 기억부(28)에는 이용권의 사용 조건과 아울러, 콘텐츠나 이용권의 상태를 나타내는 정보인 사용 상태(콘텐츠 조건)가 기억된다. 사용 상태에는 대응하는 이용권에 기초하여 콘텐츠를 재생한 횟수, 콘텐츠를 복사한 횟수, 콘텐츠를 체크아웃한 횟수, 콘텐츠를 처음으로 재생한 일시, 콘텐츠를 CD-R에 기록한 횟수, 기타 콘텐츠 혹은 이용권에 관한 이력 정보 등을 나타내는 정보가 포함된다. 콘텐츠의 재생 조건의 판정은 이용권에 포함되는 사용 조건과, 기억부(28)에 이용권과 함께 기억되어 있는 사용 상태를 기초로 행해진다. 예를 들면, 사용 상태에 기억되어 있는 콘텐츠를 재생한 횟수가 사용 조건에 포함되는 콘텐츠 최대 재생 횟수보다 적은 경우에는 재생 조건이 만족하고 있다고 판정된다.
또, 이용권에는 단계 S109의 처리에 의해 생성된 E(Kpub, Ksub)가 포함되어 있다.
도 23의 설명으로 되돌아가서, 단계 S111에서 CPU(21)는 이상과 같이 하여 생성한 이용권을 통신부(29)로부터 클라이언트(1)로 송신시킨다.
단계 S112에서, 라이센스 서버(4)의 CPU(21)는 단계 S111에서 송신한 이용권 의 내용을 단계 S102의 처리에서 취득한 사용자 ID와 패스워드에 대응시켜서 기억부(28)에 기억시킨다. 또한, 단계 S113에서, CPU(21)는 과금 처리를 실행한다.
구체적으로는, CPU(21)는 통신부(29)로부터 과금 서버(5)에, 사용자 ID와 패스워드에 대응하는 사용자에 대한 과금 처리를 요구한다. 과금 서버(5)는 이 과금 요구에 기초하여, 그 사용자에 대한 과금 처리를 실행한다. 상술한 바와 같이, 이 과금 처리에 대하여, 사용자가 지불을 행하지 않았던 경우에는 이후, 그 사용자는 이용권의 부여를 요구하였다고 하여도, 이용권을 받을 수 없게 된다.
즉, 이 경우에는 과금 서버(5)로부터 이용권의 부여를 불허가로 하는 여신 결과가 송신되기 때문에, 단계 S104로부터 단계 S114로 진행하며, CPU(21)는 클라이언트(1)에 대하여 이용권을 부여할 수 없는 취지의 메시지를 출력하는 등의 에러 처리를 실행한다.
다음으로, 도 25의 흐름도를 참조하여, 도 21의 단계 S78에서 행해지는, 콘텐츠를 재생하는 클라이언트(1)의 처리의 상세에 대하여 설명한다.
단계 S121에서, 클라이언트(1)의 CPU(21)는 서비스 데이터에 의해 미리 제공되어 있는 DNK에 의해, 콘텐츠의 EKB(도 17)에 포함되는 키 정보를 복호하여, 루트 키 Kroot를 취득한다.
단계 S122에서, CPU(21)는 단계 S121에서 취득한 루트 키 Kroot를 이용하여 E(Kroot, Kekb)를 복호하여, EKB 키 Kekb를 취득한다.
CPU(21)는 단계 S123에서, 이용권에 포함되고 있는 E(Kpub, Ksub)를 라이센스 서버(4)의 공개 키 Kpub에 대응하는 개별 키 Kpri(서비스 데이터에 의해 미리 취득되어 있는 개별 키)를 이용하여 복호하여, 서브 키 Ksub를 취득한다.
CPU(21)는 단계 S124에서, 단계 S122에서 취득한 EKB 키 Kekb와, 단계 S123에서 취득한 서브 키 Ksub에 기초하여, 콘텐츠 키 Kc를 생성한다. 구체적으로는, CPU(21)는 EKB 키 Kekb와 서브 키 Ksub의 배타적 논리합 연산을 행하여, 그 연산 결과를 콘텐츠 키 Kc로서 취득한다.
단계 S125에서, CPU(21)는 단계 S124에서 취득한 콘텐츠 키 Kc를 이용하여, E(Kc, Cont)를 복호하여, 콘텐츠를 취득한다.
그 후, 취득된 콘텐츠는 도 21의 단계 S79에서, CPU(21)의 제어에 의해 재생되어, 출력부(27)로부터 출력된다.
도 26은 이상과 같이 하여 클라이언트(1)에 의해 행해지는 콘텐츠의 재생 처리를 모식적으로 나타내는 도면이다. 도 26에서, S121 내지 S125는 도 25의 단계 S121 내지 S125의 각각의 처리에 대응한다. 또한, 도 26에서, 콘텐츠는 주된 정보만이 나타나 있다.
도 26에 도시한 바와 같이, 클라이언트(1)에서는 콘텐츠 서버(3)로부터 취득된 콘텐츠에 배치되어 있는 EKB가 클라이언트(1)에 대하여 미리 부여되어 있는 DNK에 의해 처리되어, 루트 키 Kroot가 취득된다(단계 S121).
또한, EKB의 우측 옆에 배치되어 있는 E(Kroot, Kekb)가 루트 키 Kroot에 의해 복호되어, EKB 키 Kekb가 취득된다(단계 S122).
한편, 라이센스 서버(4)로부터 제공된 이용권에 포함되는 E(Kpub, Ksub)가 서비스 데이터에 의해 클라이언트에 미리 부여되어 있는 개별 키 Kpri에 의해 복호 되어, 서브 키 Ksub가 취득된다(단계 S123).
그리고, 서브 키 Ksub와 EKB 키 Kekb에 기초하는 배타적 논리합 연산이 행해져서, 그 출력으로서의 콘텐츠 키 Kc가 생성되며(단계 S124), 생성된 콘텐츠 키 Kc에 의해 콘텐츠의 우단에 배치되어 있는 E(Kc, Cont)가 복호되어, 콘텐츠(Content)가 취득된다(단계 S125).
이상과 같이, DNK에 기초하여 EKB로부터 루트 키 Kroot를 취득하는 오프 라인의 인증, 및 공개 키 Kpub에 의해 암호화된 서브 키 Ksub를 개별 키 Kpri에 의해 복호하는 오프 라인의 인증을 조합함으로써, 첫번째로, EKB의 내용이 부정하게 판독된 경우라도, 콘텐츠의 이용에는 개별 키 Kpri가 필요해지기 때문에, 부정한 콘텐츠의 이용을 방지할 수 있다.
또한, 두번째로, 소정의 기간, 클라이언트(1)의 사용자가 라이센스 서버(4)에 액세스하지 않은 경우라도, EKB의 정보를 변경하여 서비스에 속하는 다른 클라이언트에 배포함으로써, 부정한 행위를 행하는 클라이언트(1)의 무효화(루트 키 Kroot를 취득할 수 없게 하는 것)가 가능해진다.
또한, 세번째로, 콘텐츠가 음악 콘텐츠인 경우에, 시청용 콘텐츠를 DNK만으로 암호화하여, 구입용 콘텐츠를 EKB 키 Kekb와 서브 키 Ksub에 의해 취득되는 콘텐츠 키 Kc에 의해 암호화함으로써, 콘텐츠만을 다운로드하여 시청용 콘텐츠를 이용하여, 구입용 콘텐츠를 실제로 구입할 때에만 사용자에 의해 이용권을 취득시키는 등과 같이 서비스에 폭을 갖게 할 수 있다.
또한, 상기 실시예에서는 콘텐츠를 이용하기 위해 필요한 이용권을 특정하기 위해 콘텐츠의 속성과 이용권의 콘텐츠 조건을 이용하였지만, 이것에 한하지 않는다. 예를 들면, 콘텐츠에, 해당 콘텐츠를 이용하기 위해 필요한 이용권의 이용권 ID를 포함하도록 하여도 되며, 이 경우, 콘텐츠를 지정하면 그것을 이용하기 위해 필요한 이용권은 일의적으로 결정되기 때문에, 양자의 매칭을 결정하는 처리를 행할 필요는 없다.
본 발명에 따르면, 콘텐츠를 제공할 수 있다.
또한, 본 발명에 따르면, 부정한 콘텐츠의 이용을 방지할 수 있다.

Claims (17)

  1. 제1 키 정보와 제2 키 정보에 기초하여 생성된 제3 키 정보에 의해 콘텐츠 데이터를 복호하여 사용하는 정보 처리 장치에 있어서,
    상기 제3 키 정보에 의해 암호화된 상기 콘텐츠 데이터와, 상기 제1 키 정보를 포함하는 콘텐츠를 취득하는 콘텐츠 취득 수단과,
    상기 제2 키 정보를 포함하는, 상기 콘텐츠의 이용에 관한 정보로서의 이용권을 취득하는 이용권 취득 수단과,
    상기 콘텐츠 취득 수단에 의해 취득된 상기 콘텐츠에 포함되는 상기 제1 키 정보와, 상기 이용권 취득 수단에 의해 취득된 상기 이용권으로부터 추출된 상기 제2 키 정보에 기초하여, 상기 제3 키 정보를 생성하는 키 정보 생성 수단과,
    상기 키 정보 생성 수단에 의해 생성된 상기 제3 키 정보에 의해 상기 콘텐츠 데이터를 복호하는 복호 수단과,
    상기 이용권의 제공을 관리하는 이용권 관리 장치에 대하여, 개별 키 정보, 및 상기 이용권을 관리하는 시스템 상에서의 상기 정보 처리 장치에 대응하는 디바이스 노드 키를 요구하는 요구 수단과,
    상기 요구 수단에 의한 요구에 따라, 상기 이용권 관리 장치로부터 제공되는 상기 개별 키 정보 및 상기 디바이스 노드 키를 취득하는 취득 수단
    을 포함하는 것을 특징으로 하는 정보 처리 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 키 정보 생성 수단은, 상기 제1 키 정보를, 상기 취득 수단에 의해 취득된 상기 디바이스 노드 키에 기초하여 상기 콘텐츠로부터 추출하는 것을 특징으로 하는 정보 처리 장치.
  4. 제1항에 있어서,
    상기 키 정보 생성 수단은, 상기 제2 키 정보를, 상기 취득 수단에 의해 취득된 상기 개별 키 정보에 기초하여 상기 이용권으로부터 추출하는 것을 특징으로 하는 정보 처리 장치.
  5. 제1항에 있어서,
    상기 키 정보 생성 수단은, 상기 제1 키 정보와 상기 제2 키 정보의 배타적 논리합 연산의 결과를 상기 제3 키 정보로 하는 것을 특징으로 하는 정보 처리 장치.
  6. 제1 키 정보와 제2 키 정보에 기초하여 생성된 제3 키 정보에 의해 콘텐츠 데이터를 복호하여 사용하는 정보 처리 장치의 정보 처리 방법에 있어서,
    상기 제3 키 정보에 의해 암호화된 상기 콘텐츠 데이터와, 상기 제1 키 정보를 포함하는 콘텐츠를 취득하는 콘텐츠 취득 단계와,
    상기 제2 키 정보를 포함하는, 상기 콘텐츠의 이용에 관한 정보로서의 이용권을 취득하는 이용권 취득 단계와,
    상기 콘텐츠 취득 단계의 처리에 의해 취득된 상기 콘텐츠에 포함되는 상기 제1 키 정보와, 상기 이용권 취득 단계의 처리에 의해 취득된 상기 이용권으로부터 추출된 상기 제2 키 정보에 기초하여, 상기 제3 키 정보를 생성하는 키 정보 생성 단계와,
    상기 키 정보 생성 단계의 처리에 의해 생성된 상기 제3 키 정보에 의해 상기 콘텐츠 데이터를 복호하는 복호 단계와,
    상기 이용권의 제공을 관리하는 이용권 관리 장치에 대하여, 개별 키 정보, 및 상기 이용권을 관리하는 시스템 상에서의 상기 정보 처리 장치에 대응하는 디바이스 노드 키를 요구하는 요구 단계와,
    상기 요구 단계의 처리에 의한 요구에 따라, 상기 이용권 관리 장치로부터 제공되는 상기 개별 키 정보 및 상기 디바이스 노드 키를 취득하는 취득 단계
    를 포함하는 것을 특징으로 하는 정보 처리 방법.
  7. 제1 키 정보와 제2 키 정보에 기초하여 생성된 제3 키 정보에 의해 콘텐츠 데이터를 복호하여 사용하는 정보 처리 장치의 기록 매체에 있어서,
    상기 제3 키 정보에 의해 암호화된 상기 콘텐츠 데이터와, 상기 제1 키 정보를 포함하는 콘텐츠의 취득을 제어하는 콘텐츠 취득 제어 단계와,
    상기 제2 키 정보를 포함하는, 상기 콘텐츠의 이용에 관한 정보로서의 이용권의 취득을 제어하는 이용권 취득 제어 단계와,
    상기 콘텐츠 취득 제어 단계의 처리에 의해 취득된 상기 콘텐츠에 포함되는 상기 제1 키 정보와, 상기 이용권 취득 제어 단계의 처리에 의해 취득된 상기 이용권으로부터 추출된 상기 제2 키 정보에 기초하여, 상기 제3 키 정보의 생성을 제어하는 키 정보 생성 제어 단계와,
    상기 키 정보 생성 제어 단계의 처리에 의해 생성된 상기 제3 키 정보에 의한 상기 콘텐츠 데이터의 복호를 제어하는 복호 제어 단계와,
    상기 이용권의 제공을 관리하는 이용권 관리 장치에 대하여, 개별 키 정보, 및 상기 이용권을 관리하는 시스템 상에서의 상기 정보 처리 장치에 대응하는 디바이스 노드 키에 대한 요구를 제어하는 요구 제어 단계와,
    상기 요구 제어 단계의 처리에 의한 요구에 따라, 상기 이용권 관리 장치로부터 제공되는 상기 개별 키 정보 및 상기 디바이스 노드 키의 취득을 제어하는 취득 제어 단계
    를 포함하는 것을 특징으로 하는 컴퓨터가 판독할 수 있는 프로그램이 기록되어 있는 기록 매체.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제1 키 정보와 제2 키 정보에 기초하여 생성된 제3 키 정보에 의해 콘텐츠 데이터를 복호하여 사용하는 정보 처리 장치에 대하여, 상기 콘텐츠 데이터 및 그것에 부수하는 정보를 포함하는 콘텐츠의 이용에 관한 정보로서의 이용권의 제공을 관리하는 이용권 관리 장치에 있어서,
    상기 정보 처리 장치에 대하여 상기 콘텐츠를 제공하는 정보 제공 장치로부터, 상기 제2 키 정보를 취득하는 취득 수단과,
    상기 정보 처리 장치로부터의 요구에 따라, 상기 정보 처리 장치에서 사용되는 상기 콘텐츠에 대응하는 상기 이용권을 생성하는 생성 수단과,
    상기 생성 수단에 의해 생성된 상기 이용권을 상기 정보 처리 장치에 제공하는 이용권 제공 수단과,
    상기 정보 처리 장치로부터의 요구에 따라, 개별 키 정보, 및 상기 이용권을 관리하는 시스템 상에서의 상기 정보 처리 장치에 대응하는 디바이스 노드 키를 상기 정보 처리 장치에 제공하는 제공 수단
    을 포함하며,
    상기 생성 수단은, 상기 개별 키 정보에 대응하는 공개 키 정보에 의해, 상기 취득 수단에 의해 취득된 상기 제2 키 정보를 암호화하여 얻어진 정보가 포함되는 상기 이용권을 생성하는 것을 특징으로 하는 이용권 관리 장치.
  14. 삭제
  15. 제1 키 정보와 제2 키 정보에 기초하여 생성된 제3 키 정보에 의해 콘텐츠 데이터를 복호하여 사용하는 정보 처리 장치에 대하여, 상기 콘텐츠 데이터 및 그것에 부수하는 정보를 포함하는 콘텐츠의 이용에 관한 정보로서의 이용권의 제공을 관리하는 이용권 관리 장치의 이용권 관리 방법에 있어서,
    상기 정보 처리 장치에 대하여 상기 콘텐츠를 제공하는 정보 제공 장치로부터, 상기 제2 키 정보를 취득하는 취득 단계와,
    상기 정보 처리 장치로부터의 요구에 따라, 상기 정보 처리 장치에서 사용되는 상기 콘텐츠에 대응하는 상기 이용권을 생성하는 생성 단계와,
    상기 생성 단계의 처리에 의해 생성된 상기 이용권을 상기 정보 처리 장치에 제공하는 이용권 제공 단계와,
    상기 정보 처리 장치로부터의 요구에 따라, 개별 키 정보, 및 상기 이용권을 관리하는 시스템 상에서의 상기 정보 처리 장치에 대응하는 디바이스 노드 키를 상기 정보 처리 장치에 제공하는 제공 단계
    를 포함하며,
    상기 생성 단계의 처리에 의해, 상기 개별 키 정보에 대응하는 공개 키 정보에 의해 상기 제2 키 정보가 암호화되어 얻어진 정보가 포함되는 상기 이용권이 생성되는 것을 특징으로 하는 이용권 관리 방법.
  16. 제1 키 정보와 제2 키 정보에 기초하여 생성된 제3 키 정보에 의해 콘텐츠 데이터를 복호하여 사용하는 정보 처리 장치에 대하여, 상기 콘텐츠 데이터 및 그것에 부수하는 정보를 포함하는 콘텐츠의 이용에 관한 정보로서의 이용권의 제공을 관리하는 이용권 관리 장치의 기록 매체에 있어서,
    상기 정보 처리 장치에 대하여 상기 콘텐츠를 제공하는 정보 제공 장치로부터, 상기 제2 키 정보의 취득을 제어하는 취득 제어 단계와,
    상기 정보 처리 장치로부터의 요구에 따라, 상기 정보 처리 장치에서 사용되는 상기 콘텐츠에 대응하는 상기 이용권의 생성을 제어하는 생성 제어 단계와,
    상기 생성 제어 단계의 처리에 의해 생성된 상기 이용권의 상기 정보 처리 장치에 대한 제공을 제어하는 이용권 제공 제어 단계와,
    상기 정보 처리 장치로부터의 요구에 따라, 개별 키 정보, 및 상기 이용권을 관리하는 시스템 상에서의 상기 정보 처리 장치에 대응하는 디바이스 노드 키의, 상기 정보 처리 장치에 대한 제공을 제어하는 제공 제어 단계
    를 포함하며,
    상기 생성 제어 단계의 처리에 의해, 상기 개별 키 정보에 대응하는 공개 키 정보에 의해 상기 제2 키 정보가 암호화되어 얻어진 정보가 포함되는 상기 이용권이 생성되는 것을 특징으로 하는 컴퓨터가 판독할 수 있는 프로그램이 기록되어 있는 기록 매체.
  17. 삭제
KR1020037016352A 2002-04-15 2003-04-10 정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 이용권 관리 장치 및 방법, 및 기록 매체 KR100980899B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00111554 2002-04-15
JP2002111554A JP4326186B2 (ja) 2002-04-15 2002-04-15 情報処理装置および方法
PCT/JP2003/004545 WO2003088563A1 (fr) 2002-04-15 2003-04-10 Dispositif et procede de traitement d'information, dispositif et procede generant l'information, dispositif et procede de gestion du droit d'utilisation, support d'enregistrement et programme correspondants

Publications (2)

Publication Number Publication Date
KR20040103749A KR20040103749A (ko) 2004-12-09
KR100980899B1 true KR100980899B1 (ko) 2010-09-07

Family

ID=29243277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037016352A KR100980899B1 (ko) 2002-04-15 2003-04-10 정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 이용권 관리 장치 및 방법, 및 기록 매체

Country Status (6)

Country Link
US (1) US20050044046A1 (ko)
EP (1) EP1496642B1 (ko)
JP (1) JP4326186B2 (ko)
KR (1) KR100980899B1 (ko)
CN (1) CN1328873C (ko)
WO (1) WO2003088563A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3818504B2 (ja) * 2002-04-15 2006-09-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP2004186814A (ja) * 2002-11-29 2004-07-02 Fujitsu Ltd 共通鍵暗号化通信システム
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7594275B2 (en) * 2003-10-14 2009-09-22 Microsoft Corporation Digital rights management system
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
CN1930625B (zh) * 2004-03-09 2010-05-12 松下电器产业株式会社 内容播放设备
CN100571132C (zh) * 2004-03-22 2009-12-16 国际商业机器公司 多密钥内容处理系统和方法
US7568096B2 (en) * 2004-04-23 2009-07-28 Microsoft Corporation Rendering digital content in a content protection system according to a plurality of chained digital licenses
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
JP2006285607A (ja) * 2005-03-31 2006-10-19 Sony Corp コンテンツ情報提供システム,コンテンツ情報提供サーバ,コンテンツ再生装置,コンテンツ情報提供方法,コンテンツ再生方法,およびコンピュータプログラム
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
JP2007304849A (ja) * 2006-05-11 2007-11-22 Sony Corp 管理装置、情報処理装置、管理方法および情報処理方法
JP2007336058A (ja) * 2006-06-13 2007-12-27 Toshiba Corp 情報アクセス管理方法および装置およびライトワンスメディア
EP2082349A2 (en) * 2006-11-14 2009-07-29 Sandisk Corporation Methods and apparatuses for linking content with license
US20080114772A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Method for connecting to a network location associated with content
US20080112562A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Methods for linking content with license
US8327454B2 (en) 2006-11-14 2012-12-04 Sandisk Technologies Inc. Method for allowing multiple users to access preview content
US8079071B2 (en) 2006-11-14 2011-12-13 SanDisk Technologies, Inc. Methods for accessing content based on a session ticket
US20080114693A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Method for allowing content protected by a first DRM system to be accessed by a second DRM system
US8763110B2 (en) 2006-11-14 2014-06-24 Sandisk Technologies Inc. Apparatuses for binding content to a separate memory device
WO2008088163A1 (en) 2007-01-15 2008-07-24 Samsung Electronics Co., Ltd. Rights object acquisition method of mobile terminal in digital right management system
US9147049B2 (en) * 2007-08-16 2015-09-29 Honeywell International Inc. Embedded building conroller with stored software license information
US9071843B2 (en) * 2009-02-26 2015-06-30 Microsoft Technology Licensing, Llc RDP bitmap hash acceleration using SIMD instructions
EP2227015B1 (en) * 2009-03-02 2018-01-10 Irdeto B.V. Conditional entitlement processing for obtaining a control word
CN102224703B (zh) * 2009-04-27 2013-11-06 华为技术有限公司 发行许可的方法、装置和系统
EP2348725A1 (en) * 2010-01-26 2011-07-27 Irdeto Access B.V. Computational efficiently obtaining a control word in a receiver using transformations
JP2012043234A (ja) * 2010-08-20 2012-03-01 Hitachi-Lg Data Storage Inc 光ディスク、光ディスク記録方法、光ディスク再生方法、光ディスク装置およびストレージシステム
US9679163B2 (en) * 2012-01-17 2017-06-13 Microsoft Technology Licensing, Llc Installation and management of client extensions
US9449112B2 (en) 2012-01-30 2016-09-20 Microsoft Technology Licensing, Llc Extension activation for related documents
US9256445B2 (en) 2012-01-30 2016-02-09 Microsoft Technology Licensing, Llc Dynamic extension view with multiple levels of expansion
CN104205119A (zh) * 2012-03-09 2014-12-10 索尼公司 信息处理设备、信息存储设备、信息处理系统、信息处理方法和程序
KR20140028342A (ko) * 2012-08-28 2014-03-10 삼성전자주식회사 브로드캐스트 암호화를 위한 키 관리 방법 및 브로드캐스트 암호화를 이용한 메시지 전송 방법
CN110858249B (zh) * 2018-08-24 2021-11-16 中移(杭州)信息技术有限公司 一种数据库文件加密方法、解密方法和相关装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000048076A (ja) * 1998-07-29 2000-02-18 Nec Corp デジタル著作物流通システム及び方法、デジタル著作物再生装置及び方法、並びに記録媒体

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444781A (en) * 1993-08-23 1995-08-22 Apple Computer Inc. Method and apparatus for decryption using cache storage
US5499298A (en) * 1994-03-17 1996-03-12 National University Of Singapore Controlled dissemination of digital information
US5715403A (en) * 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
WO1997025798A1 (en) * 1996-01-11 1997-07-17 Mrj, Inc. System for controlling access and distribution of digital property
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
AU1763600A (en) * 1998-12-22 2000-07-12 John Klayh System and method for directed advertising
AU1763500A (en) * 1998-12-22 2000-07-12 John Klayh Remote establishment of game formulae and parameters, e.g. from an administration terminal
US6820203B1 (en) * 1999-04-07 2004-11-16 Sony Corporation Security unit for use in memory card
JP3873090B2 (ja) * 1999-12-02 2007-01-24 三洋電機株式会社 データ記録装置、データ供給装置およびデータ配信システム
WO2001041359A1 (fr) * 1999-12-03 2001-06-07 Sanyo Electric Co., Ltd Systeme de distribution de donnees et enregistreur a utiliser dans ce systeme
JP2001175606A (ja) * 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
JP2001274785A (ja) * 2000-01-19 2001-10-05 Victor Co Of Japan Ltd コンテンツ情報復号化方法、コンテンツ情報復号化装置
JP2001352321A (ja) * 2000-04-06 2001-12-21 Sony Corp 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
CN1263026C (zh) * 2000-08-16 2006-07-05 皇家菲利浦电子有限公司 用于控制数字作品的发行和使用的方法和装置
US6915425B2 (en) * 2000-12-13 2005-07-05 Aladdin Knowledge Systems, Ltd. System for permitting off-line playback of digital content, and for managing content rights
US20020101990A1 (en) * 2001-02-01 2002-08-01 Harumi Morino Data receiving apparatus and data reproducing apparatus
US7809944B2 (en) * 2001-05-02 2010-10-05 Sony Corporation Method and apparatus for providing information for decrypting content, and program executed on information processor
JP2002353952A (ja) * 2001-05-24 2002-12-06 Sanyo Electric Co Ltd データ端末装置
JP4323745B2 (ja) * 2002-01-15 2009-09-02 三洋電機株式会社 記憶装置
JP2003271457A (ja) * 2002-03-14 2003-09-26 Sanyo Electric Co Ltd データ記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000048076A (ja) * 1998-07-29 2000-02-18 Nec Corp デジタル著作物流通システム及び方法、デジタル著作物再生装置及び方法、並びに記録媒体

Also Published As

Publication number Publication date
US20050044046A1 (en) 2005-02-24
EP1496642A1 (en) 2005-01-12
JP2003309545A (ja) 2003-10-31
KR20040103749A (ko) 2004-12-09
EP1496642B1 (en) 2012-06-13
CN1533646A (zh) 2004-09-29
WO2003088563A1 (fr) 2003-10-23
EP1496642A4 (en) 2007-10-24
JP4326186B2 (ja) 2009-09-02
CN1328873C (zh) 2007-07-25

Similar Documents

Publication Publication Date Title
KR100980899B1 (ko) 정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 이용권 관리 장치 및 방법, 및 기록 매체
KR100983982B1 (ko) 정보 처리 장치 및 정보 처리 방법과 컴퓨터 판독 가능 기록 매체
US7325139B2 (en) Information processing device, method, and program
US7631361B2 (en) Content reproduction system
KR100957899B1 (ko) 정보 처리 장치 및 방법, 프로그램 저장 매체, 및 프로그램
KR100982082B1 (ko) 정보 처리 장치, 및 정보 처리 방법
JP4424465B2 (ja) 情報機器、情報サーバおよび情報処理プログラム
US7861313B2 (en) Information managing apparatus and method, recording medium, and program
US20040025058A1 (en) Information processing apparatus, information processing method, and computer program used therewith
US20090074182A1 (en) Information processing apparatus, information processing method, recording medium, and program
EP1282262A1 (en) Information processing apparatus
KR20060017774A (ko) 정보 서버, 정보 기기, 정보 처리 시스템, 정보 처리 방법및 정보 처리 프로그램
KR20040103750A (ko) 정보 처리 장치 및 방법, 기록 매체, 및 프로그램
JP4479698B2 (ja) コンテンツ提供システム
JP4697152B2 (ja) 情報管理装置、情報管理方法、記録媒体、およびプログラム
JP2002304330A (ja) 通信方法、通信システム、コンテンツ提供システムおよびコンテンツ取得装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee